個人的基板設計テク

基板設計テクや、設計時注意すべきことについて列挙してみた。

自分が基板設計する時に抜け漏れがないか確認するために書こうと思ったんだけども、公共性が高そうなのでインターネットに流しておくことにした

 あくまでも趣味開発基板ではこうしたほうが良かったってだけの話なので、量産設計でやると怒られそうなテクニックも多いかもしれない

  

f:id:chikuwa3777:20210801061659j:plain
 

 

マイコンは裏面に実装する

表面にマイコンを実装しているのをよく見るが、コネクタ、LED、スイッチなど"表面に配置しなければならない部品"のほうが多いので裏面より表面のほうが有効実装面積が少ない。

他に理由がなければマイコンは裏面に実装したほうが有利。

↓裏面にマイコンを実装することで高密度設計を実現している基板(これは攻めすぎ)

f:id:chikuwa3777:20210801052644p:plain

f:id:chikuwa3777:20210801052648p:plain

 

非実装やはんだジャンパを活用する

例えば信号出力コネクタが1個しかないけど、CANで出すか、I2Cで出すか、RS485で出すかが設計段階で決めきれない場合、回路図上はCANトランシーバ、RS485トランシーバ、ジャンパ挟んだI2C出力を全部コネクタに繋いでおいて、実装する段階になってからCANトランシーバを実装するか、RS485トランシーバを実装するか、I2Cジャンパをつなぐかで切り分けることができる。(上の画像の基板はこのインターフェイス切り替えに加えて、コネクタorピンヘッダ出力を選択できるようになっている)

よく使う手としては、センサー用コネクタの電源出力を3.3Vか5Vか決めかねている時にジャンパでどちらも選択できるようにしておくと、あとから気軽に切り替えられて重宝する。3.3V出力のつもりで5V側にジャンパしてある基板に繋いじゃうと悲しいことになったりする

 

基板を小型化したい場合はさっさとフットプリントをいじるor自作する

KiCADの場合、そうと書かれていなくてもパッドが大きな手ハンダ用のフットプリントになっていることが多い。

データシートの推奨フットプリント寸法を見ながら自作するなり改造するなりすると、意外と小型化できる。

 

マイコンペリフェラルのピンアサインをExcelにまとめて管理しつつ、アサイン→基板設計→アサイン修正→基板設計・・・を繰り返す

クソほど面倒だけど基板を小さくするためにはこうするしかない

↓こういう感じのピンアサイン一覧Excelを作ってる(これはSTM32F103

f:id:chikuwa3777:20210801050159p:plain

 

電源LEDは基板単位ではなく電源ラインごとに全部つける

なんか動かないと思ったら電源がショートしてました!みたいなことってあるので、電源LEDはつけておくべき

異常な動作で電圧が不安定になっている場合もLEDの瞬きで発見できることもなくはないのでまあまあ重要。あと電源LEDが一つもないとそもそも給電されているのかどうかわからずテスターで確認することになるので、当然ながらひと目で確認できる電源LEDは必須

 

ユーザーLEDやユーザースイッチなど、つけられるものは全部つけておく

実装が面倒だったら実装しなければいいだけの話なので、設計上は全部つけておく。

パッドに出しておいたほうがGPIOデバッグもやりやすい。

ユーザーLEDが無い基板の開発は苦行。

 

テストピンはパッドではなくピンヘッダで出しておく

どう考えてもピンヘッダで出しておいたほうが使いやすいと思うよ

ピンヘッダ実装しなくても穴があるだけただのパッドよりは10倍使いやすい。スルーホールで裏面も場所を取られるのは厄介なので、主に試作基板向けのテクニックかも

 

電源の引き回しは最初に考えておく

電源先に引けって言われがちだけど、電源の引き回しは信号線よりも単純なので、信号線引きながらこのへん通したいな、みたいなこと考えていれば良い気がする。だから最初に引く、ではなく、電源の引き回しは最初に考えておく。

 

コネクタは基板端面に並べる

かっこいいから

配線的には基板内側にコネクタを置いたほうが有利だったりするけど、端面にコネクタがならんでいたほうがかっこいい。(これは本当に見た目だけの理由)

固定穴近くにコネクタを置いたほうが挿抜時のたわみが少なくてクラックが出にくいので、そういう意味では端面に並べるのは悪くないはず・・・

 

レジスト抜きをうまいこと使う

レジスト抜き文字とかレジスト抜きロゴとか入れるとかっこいいのでみんなもやろう!

↓これはレジスト抜きのしくわしか持ってねぇ

f:id:chikuwa3777:20210801061659j:plain

これで16x23mmぐらいなので、シルクより細かい表現ができることがわかる。

 

銅線貼り付けをする時ははんだ付け時の銅の加熱による伸縮を考慮する

銅線貼り付けをすると、はんだ付け時に銅が加熱されて伸びる。伸びたまま銅線が基板にはんだ付けされると、常温になった時銅が縮んで基板をたわませてしまう。

これは基板の固定時に問題になったり、クラックやパターン剥がれの原因になるので、1.銅線貼り付けは銅線全体をはんだ付けせず、伸縮に対する遊びをもたせる(Z字にするとか)

2.両端から半田づけすることで、そもそもはんだ付け時の伸びを抑える

の2つの対策をとっている(距離が短い場合はやっていない場合もある)。

テスラのボディコントローラも銅線(と言うよりは銅棒)貼り付けをしていたけど、短いものを交互に配置することで対策しているっぽかった。

 

リファレンスではなく定数をプロットする

量産する場合は知らないけど手半田する場合は絶対に定数をプロットしたほうがいい

実装する時にガーバーや回路図とにらめっこしなくてすむのでみんなやったほうがいい

でもやってる人全然見たことないので実はものすごい致命的な問題があるのかもしれない、しらんけど

最近のKiCADはなんかバグってて定数プロットができないので辛い。 

 

コネクタのピンアサインを全部シルクに書く

これも毎回ガーバーや回路図とにらめっこするのが時間の無駄だから

たまにピンアサインのシルクミスって痛い目を見る(悲しい)

 

書ける情報はなんでもシルクに書く

基板の入力電圧範囲とかADCチャンネルとか固定穴間距離とか設計日付とかあって損しないものは片っ端から書き込みまくる

あって損しない情報なので当然ながらあって損しない

 

基板の角は丸くする

丸くしたほうが高級感?が出る。あと手が痛くないのでやっておいて損はない。

基板角の端面から3mmの位置に固定穴を開けてR3でフィレットつけると良い感じになる。

 

3Dビューワで基板とベタを非表示にしてパターンを3次元的にチェックする

やらなくてもいいけど、やっぱり2次元では気付かなかったことに気付きやすいので高密度な設計をする時はたまに3Dビューワで眺めるといいことあるかも

↓パターン(+部品)だけ表示するとこんな感じ。

f:id:chikuwa3777:20210801053831p:plain

静止画だとゴチャついていてわかりにくいけど3Dでグリグリ回すともう少し把握しやすい。

 

ガーバーデータを実寸大で紙に印刷してチェックする

紙に実寸大で印刷するとフットプリントのサイズ指定ミスを激的に減らせる。

これはよく言われていることでもあるけど、人間はディスプレイで見るより紙で見たほうが間違いに気付きやすいのでやはり紙に印刷するべき。設計画面/ガーバービューワーだと重なっているところがわかりにくいが、印刷した紙を窓に押し当てて光で透かすとわかりやすい。

 

発注する前に一晩寝かせる

一晩冷暗所で熟成させることで発酵が進んでより柔らかくジューシーになる

 

再発注前提でひたすら高速に試作を繰り返してトライアンドエラーのサイクルを回しまくる

トライアンドエラーを回しまくるのには2つ理由があって、一つめはただ単純にその基板の設計の質を高めるため。二つめは自分が経験値を積むため。

とりあえず動けばヨシ!系だと結構使えるテクニック(?)だけど、ちゃんと設計しないといけない場合は順当にやったほうが良さそう。まあちゃんと設計したところで失敗するときは失敗するので、最低でも1回は再発注するものと構えておくのが良さそう。

手堅くミスの少ない基板を設計することで得られる知識・経験と、失敗を許容してトライアンドエラーを繰り返しまくることで得られる知識・経験は別物であることに注意

あと、電子部品はデータシート上の寸法がガバガバな上にKiCADの3Dデータも使う部品そのものの寸法ではない上に雰囲気それっぽいだけどなんか違う寸法になっているので、実装してみないと干渉するのか余裕があるのかわからないことが多く、とりあえず一発実装してどれぐらい部品間距離攻められるか確認するのも大事

 

 

まとめ

基板設計している時間 < その基板でデバッグしている時間

なので、デバッグのことを考えた設計を心がけるのが、何より重要である

あとかっこいい基板のほうがアガるのでかっこいい基板を作ろう