入力/出力負荷治具基板を作った話
概要
初めに
シルバーウィークのタイミングで一念発起し、自作の基板を作成しました。
初基板作成の記念として記事を残そうと思います。
※今回はKicad 9で作業しています。(昔インストールだけして放置していました)
Kicadの操作方法などは素人です。
記事では主に自分がどのような思考プロセスで基板設計していったか、何を確認してどういう判断基準を使ったかを重点的に記載しようと思います。
マイコン無しの単純な電気回路基板なので、物自体は理解しやすく取っつきやすいのではないでしょうか。
この記事の流れ
本記事では下記流れで負荷治具の説明、設計、確認を行います。
何に使うものなのか
⇒回路動作原理解説
⇒作成物の仕様定義
⇒部品選定
⇒回路設計
⇒レイアウト設計
⇒実装/実機確認
何に使う治具?
制御機器では24V電源でデジタル入力/出力信号のやり取りを行うことがあります。→イメージ
実際のデジタル入力機器/出力機器を用意しようするとお高い機器が必要となります。
今回は実機を接続しなくても動作確認ができるように負荷治具基板を製作しました。
入力負荷/出力負荷のイメージ
以下にざっくりとした機器概要を示します。0Vをコモン(信号線の+側と-側があるうちの片方、常に導通状態の線)にした説明になりますが、配線全体をひっくり返して24V電源側を基準にした配線方法も存在します。
出力負荷
まずは出力負荷のイメージです。(赤で塗りつぶした部分が今回作成したい負荷治具部分)
入力負荷よりも出力負荷のほうが単純で分かりやすいです。
構造としては制御機器側から24V信号が出力負荷に供給されます。
制御機器内部のスイッチがON/OFFされることでデジタル出力信号のON/OFFが行われます。
またオマケとして、信号ライン上の電流を計測することで異常な負荷が接続されていないか診断する機能を持っている場合があります。
- 想定より過大な電流が流れる ⇒ 出力負荷の抵抗値が低い ⇒ 短絡検出
- 想定より電流が流れない ⇒ 出力負荷が接続されていない ⇒ 断線検出
入力負荷
次は入力負荷のイメージ図です。(青で塗りつぶした部分が今回作成したい負荷治具部分)
構造としては制御機器側は検出抵抗に電流が流れるのを待っているだけです。
入力負荷は内部のスイッチをON/OFFしてデジタル入力信号をON/OFFします。
このとき通常、内部スイッチはトランジスタなどの電気的なスイッチです。トランジスタを動作させるためには電源を供給してあげる必要があるため、入力信号線以外に電源線/電源基準線が接続されます。
入力負荷に供給される電源は必ずしも制御機器側から供給されるとは限りません。外部に電源が用意される場合もあります。
この場合、入力信号は制御機器のコモン線を基準に入力してあげる必要があります。(制御機器側から電源を供給した場合は電源基準線が自動的にコモン線となります。)
これまたオマケとして出力負荷の時と同様に、制御機器には電源ライン上の電流を計測することで異常な負荷が接続されていないか診断する機能を持っている場合があります。
出力負荷と同じ理屈で短絡検出/断線検出が行われます。
目標の治具
基板構成
目標の回路構成を以下に示します。図は入力/出力1点分を示していますが、コピペして並列化すれば多点対応になります。
出力負荷治具
- 基本はLEDと抵抗で構成し、出力ONによってLEDが光ることで、どこがONしたかわかるようにします。
LEDを並列/双方向にしているのはコモン線が基準0Vの場合と電源24Vの場合の双方に対応できるようにするためです。現在がどっち方向に電流が流れているかわかるようにLEDの色は変えておきます。 - 間にあるスイッチは短絡検出/断線検出機能を確認できるようにするためです。
- コネクタは、制御機器と接続しやすいようなものを実装します。(最悪はんだ付けでケーブルを直接配線できるので、パッドだけでも何とかなります。)
入力負荷治具
- 入力治具はシンプルで、電源を入力に返すだけのスイッチがあるだけです。
- 出力負荷治具と同様に、コモン線が電源24V/基準0Vどちらでも対応できるように上下にスイッチが入っています。
- また、2つのスイッチ両方をONすれば短絡検出機能を、両方をOFFすれば断線検出機能を確認できます。
(記事を書いていて気づきましたが、電源が来ているかを確認できるようにLEDを置けばよかったです...)
目標仕様
下記はその他、負荷以外の回路設計目標です。
- 入力治具と出力治具を一つの基板に収める
- 機器との接続はD-Sub 25ピンとする
- 出力24点、入力16点までを一つの基板で確認出来るようにする
- 外部から電源を入れられるように電源専用コネクタ(ターミナルブロック)を設ける
部品選定
目標仕様から、必要な部品を選定していきます。
必要なものはスイッチ、LED、抵抗、コネクタ、ターミナルブロックです。
基本的に安い部品を一括で探したいので(よく価格の確認に使っている)Mouserを使います。
また、(DIP品はでかくて邪魔なので)部品はなるべく表面実装品を探します。
部品が見つかったらこの時点で部品データをKicadのライブラリに登録しておきましょう。
品番は正しいのか、どんな機能のピンを持っているのか、実装可能な部品なのかなど、部品データを作りながら確認ができます。
スイッチ
スイッチは操作性や見た目にかかわってくるので、まずはどのような種類があるか確認するところからスタートし、部品品番確定まで絞り込んでみます。
-
「スイッチ 表面実装 種類」などでGoogle検索して種類を絞り込みます。
-
そうするとDIPスイッチのタイプが良さそうなので、検索にも引っかかって有名そうなオムロンの型番を調べます。
-
「オムロン DIPスイッチ」でGoogle検索して出てきたサイトをたどっていくとスライドディップスイッチA6E-0101-Nという型番が見つかります。
この品番を元に類似DIPスイッチを探します。 -
MouserのサイトでA6E-0101-Nを検索すると部品の個別ページに辿り着けます。
-
パンくずリストを確認するとMouserでのDIPスイッチは
ホーム > 電子コンポーネント > 電気機械 > スイッチ > DIP スイッチ/SIP スイッチ
に分類されていることがわかります。
-
ここから必要な性能を絞り込んでいきます。
位置数:8 Position (8bit単位での制御が基本なのでスイッチの数も8bitがちょうど良いです)
末端様式:Solder Pin、Solder Terminal、Through Hole以外 (つまりDIPタイプ以外です)
また、すぐ入手できるように在庫ありで絞り込みます。
-
絞り込めた部品達を価格でソートし、使用予定数量でのトータル金額が安いものを探すと最終的に219-8LPSTが見つかります。
-
データシートを確認し、品番と仕様が問題ないかチェックします。
LED
LEDもスイッチと同様に調べてもいいですが、今回はカテゴリから辿ってみます。
- 電子部品の分類から光部品なのでオプトエレクトロニクスを辿ります。
- LED → マルチカラーLEDと見つかったので、絞り込み/ソートをかけます。
- CLMVH-FKA-V3E27C3M2RMG6EB4B3という部品が見つかりました。(単価1.8円とはとんでもなく安いですね)
- データシートを確認し、品番と仕様が問題ないかチェックします。
(データシートを確認したのですが、端子とピンの対応が書かれていません・・・なのでchatGPTに聞いてみました。回答に出てきた類似LED(CLMVC-FKA)のピン配でライブラリ登録、設計してみます。)
抵抗
すでに抵抗ブックがあるので購入は省略します。
使用する部品は1005サイズと2012サイズです。
本来は部品品番毎に部品データを作成して運用すべきですが、時間がなかったため定数決めも含めて省略してしまいました。
抵抗定数は基板ができて実装するときに考えることにします
コネクタ
コネクタは検索窓から探してみます。
-
ホームの検索窓に「D-sub」と入力してみます。
-
絞り込みます
位置数:25 Position
接合部の性別:Pin (Male)
取り付け角度:Right Angle、Verticalを選択 -
上から見ていくとケーブル取付用のソルダカップタイプ、基板取付用でもスルーホールタイプが多いです。
表面実装タイプは単価が¥966.7でちょっと高額なため仕方なくスルーホールタイプで探します。
スルーホールタイプの奴はL717SDB25PA4CH3Rが見つかりましたが単価が¥395でまだ高いです。
もう少し安いソルダカップタイプにも対応できるように穴サイズをソルダカップが入るくらい大きく設計します。
(後で秋月電子で探してみたらソルダカップにはなるものの、単価はなんと¥60...機械部品は秋月で別途購入するのが良いかもしれません)
ターミナルブロック
他の部品と同様に絞り込みます。
最終的に固定端子台、2ピンの在庫品を探すとTB002-500-02BEが見つかります。
回路設計
回路全体
部品の実装/未実装で出力負荷治具、入力負荷治具を切り替えできるようにし、一つの基板に収まるように設計しました。
出力負荷治具として使用する場合、Block Aでコネクタを接続し信号を受け取り、Block BでOUTPUT_LOAD部分のLEDを光らせて動作確認をする構成です。
この時Block C、Dは未実装となります。
入力負荷治具として使用する場合、Block Aで同様にコネクタを接続し、Block Cで電源を受け取り、Block Dで入力信号の切り替えを行い、Block Aに入力信号を返す構成です。
この時Block Bは未実装となります。
Block A:コネクタ
| コネクタピン配列 | 出力治具 | 入力治具 |
|---|---|---|
| 1 | OUT0 | IN0 |
| 14 | OUT1 | IN1 |
| 2 | OUT2 | IN2 |
| 15 | OUT3 | IN3 |
| 3 | OUT4 | IN4 |
| 16 | OUT5 | IN5 |
| 4 | OUT6 | IN6 |
| 17 | OUT7 | IN7 |
| 5 | OUT8 | IN8 |
| 18 | OUT9 | IN9 |
| 6 | OUT10 | IN10 |
| 19 | OUT11 | IN11 |
| 7 | OUT12 | IN12 |
| 20 | OUT13 | IN13 |
| 8 | OUT14 | IN14 |
| 21 | OUT15 | IN15 |
| 9 | OUT16 | 空き端子 |
| 22 | OUT17 | +24V |
| 10 | OUT18 | +24V |
| 23 | OUT19 | +24V |
| 11 | OUT20 | 0V |
| 24 | OUT21 | 0V |
| 12 | OUT22 | 0V |
| 25 | OUT23 | アース |
| 13 | コモン線 | アース |
- コネクタをDIP品にしたため、同じ位置の裏表にコネクタを実装できるようにします。
入力治具の際は裏面に実装するため基板上のピン配は反転させた状態になります。
表面のピン1は裏面のピン13になるので、出力治具のOUT0と入力治具のアース線が同じ配線となります。
Block B:出力負荷
- 手前に断線用スイッチ、短絡用スイッチを置きます。(後の基板レイアウト設計時にスイッチの向きが揃うようにピン配を調整しています。)
- 出力負荷部分に選定したLEDはアノードが共通化されていたため、単純な並列化になっていません。
LEDの負荷抵抗はR5、R6です。
R2/3/4/7/8/9は光らせるLEDを選択するためのジャンパー抵抗です。(各色の負荷電流を調整するために使用することもできます。) - 実際にインジケーターとして使用するLEDはLED1、LED2部分です。
コモン線が0Vで出力線が24Vの時はLED2が、コモン線が24Vで出力線が0Vの時はLED1が光ります。 - LED3、LED4は極性が逆転した際にLEDに逆電圧が加わらないようにするための保護ダイオード代わりです(今回使用するLEDの逆耐圧は10Vなので24V突っ込むと定格オーバー)。一番順方向電圧の低い赤LEDのみ使っています。
極性毎に色を変えず、カソードを全部短絡させておく場合は、LED1/2の並列化だけで済むのでLED3/4は不要になります。
Block C:電源
- 出力信号と入力信号は基本的に部品の実装/未実装で切り離されるため問題ないのですが、入力用電源のように同じ信号が短絡していると切り離しができなくなります。その解決のためにジャンパー抵抗を入れます。
Block D:入力負荷
スイッチを入れるだけですが、裏面に実装した際にコネクタ側から信号が順番に並ぶように配線します。
基板レイアウト
部品配置→表面/裏面の配線→電源線の配線→内層を使っての配線と設計していきました。
表面
きれいに部品を並べるのが大変でした。Kicadの機能が詳しくないため配線の繰り返しなどすべて人力コピペになりました。
内層1
内層1は最後の配線に使いました。適当に配線したため右上はだいぶ汚く、viaもいっぱい使っています。
内層2
内層2は主にコネクタからの信号線を配線するのに使用しました。配線をなるべく迂回させず、かつ16本の線が通せるようなゆとりをもって引こうとすると何回もやり直す羽目になりました。ナンバーリンクを解いている気分になります。
裏面
目視した場合の配置をKicad上に反映させるのが大変でした。
(実際は左右反転して180°回転した状態になります。Kicadでビューを反転はできましたが180°回転は見つからず...)
完成品
届いた生基板
発注はJLCPCBに依頼しました。初回特典クーポンなどなどを合わせて15シート、送料含めて$49.66でした。
9月23日15時前に製造スタート ⇒ 製造完了、9月29日18時にOCSへ集荷 ⇒ 通関完了、10月1日23時ヤマトへ集荷 ⇒ 10月3日15時着荷しました。
国慶節で製造が進んでいないタイミングもあったので通常はもう1日早く到着するのかもしれません。
下記が生基板です。
出来はまあまあですね。レジスト溜りができてたりするのは設計が悪いのかJLCPCBのレベルなのかは経験値が浅いのでわかりませんでした。
部品はんだ付け後
LED ⇒ スイッチ ⇒ 抵抗 ⇒ ジャンパー ⇒ コネクタ の順番ではんだ付けしました。
これだけ実装すると時間がかかるし半田不良も大量に出てしまうのでもうちょっといいやり方を考えたいところです、
抵抗定数を設計段階では決めていませんでしたが、ざっくり2mAくらい流れるように10kΩをつけてみました。
ジャンパー抵抗の部分は半田盛りで短絡させましたがやりづらいのでちゃんと抵抗を準備したほうがいいですね。
出力治具向け実装
入力治具向け実装
動作確認
確認内容
最初の目標治具構成、目標仕様を満たしていることを実機動作確認していきます。
出力治具
- 24Vを印加してLEDがONすること(0Vコモンの時は上のLEDが緑でON、24Vコモンの時はの下のLEDが赤でON)
- D-Sub25ピンケーブルで接続して24点分、思い通りの負荷へ出力ONできること
- スイッチ切り替えで出力毎に短絡検出ができること
- スイッチ切り替えで出力毎に断線検出ができること
入力治具
- スイッチ切り替えで入力16点分がONすること(0Vコモンの時は24V側ONで入力がON、24Vコモンの時は0V側ONで入力がON)
- 24V側と0V側の両スイッチをONしたら短絡検出
- すべてのスイッチをOFFしたら断線検出
- 外部電源を供給できること
確認結果
ここでは出力治具の結果だけ記載します(入力治具は撮影しても地味なので・・・)
24Vを印時のLED確認
LEDの色が全然違いますね・・・1番ピンが共通アノードなのはあっていましたが、色がバラバラでした。
赤が2ピン、緑が3ピン、青が4ピンだったようです。
Chat GPTの類似LEDを信じてはいけなかったということですね。
24点分出力ONできること
各チャンネル出力動作でLED点灯できました。
その他の確認
下記機能の確認もできましたが、動きがなく動画映えしないので省略します。
- 短絡検出
- 断線検出
- 入力治具のON/OFF、断線検出、短絡検出、外部電源供給
(スイッチの定格電流が250mAしかないため短絡を繰り返した際の部品寿命が気になるところです。)
スイッチの切り替えが結構固かったので、もうちょっと小さいスイッチかノブが長いもののほうが良かったかもしれません。
終わりに
LED色が間違っていたりしましたが、なんとか動作しました。
半田が大変だったので効率よくやる方法を模索したいと思います。
何かいいアイデアが浮かべば、また長期休暇のタイミングで記事を作成すると思います。
(記事を書くのも大変ですね...治具ができてから一か月もかかってる...)
Kicadの環境構築も記事にしようと思っていましたが細かい操作を覚えている暇がないため進んでいません。いつかまとめたいところ。
(部品ライブラリの管理や部品プロパティに必要な項目など情報が全然ないですね...もしくは自分のライブラリの考え方が間違っているのか...)


-
Besen
さんが
前の日曜日の10:04
に
編集
をしました。
(メッセージ: 初版)
ログインしてコメントを投稿する