電子回路を作るちゃんとしたCADソフトを初めて使いました。KiCad EDAというソフトウェア(macOS版)です。これで、ESP32に赤外線LED, 赤外線受信モジュール、温度・湿度センサを取り付けた回路図とプリント基板レイアウトを作りました。
プリント基板はファブレスの時代
以前の記事では、ESP32に赤外線LEDを取り付けて、スマートリモコンを作りHomeKitから動作させました。
このとき、ハードウェア部分は、以下のようにユニバーサル基板で作りました。
スマートリモコンは部屋単位でしか使えないので、あといくつか欲しいところです。でもこれくらいの回路でも2~3枚作るとなると面倒です。なのでプリント基板で増産することを考えました。昔みたいにエッチングしようかと思ったのですが、今はファブレスの時代のようです。10枚頼んで5ドル、送料16ドルくらいが相場のようです。アマチュアでも基板屋さんに発注したほうがコスパが良いみたいでした。
macOSで回路設計CADする
外注するには業界標準の設計データを作る必要があります。今までお手軽なMac版Fritzingを使っていました。これは、エッチングに使えそうなパターンは出力してくれますが、外注のために必要なファイルは作れないようです。
調べてみると、基板を発注できるレベルで配線パターンを設計するには、EagleとかKiCadというソフトがおすすめのようです。Eagleは古くからあるソフトなので知ってました。今はAutodeskが開発・販売しているようです。教育機関向けや、非営利の個人利用ならば無料で使えるようです。
もう一つのおすすめのKiCadで、今はこちらがアツい、と色々なところに書かれてました。KiCadはオープンソースプログラムで、自由度が高いです。ということでKiCadを使うことにしました。
実を言うと、Eagleのような回路設計ソフトは、Windowsユーザの人が回路を作る時に使う道具だと思い込んでました。なので、Windowsマシンを引っ張り出して嫌々使う覚悟でした。でもKiCadはなんと、macOSにも対応してました。
他に(Windowsはもちろん)Ubuntuなどの各種LinuxディストリビューションやRaspberry Piにも対応してます。もしやと思いEagleのダウンロードページも確認したら、
なんとこちらもMac/Linuxにも対応してました。良い時代になったものです。俄然モチベーションが上がりました。
KiCad回路図エディター
早速KiCadをダウンロードして起動します。メニューバーの設定・言語設定から日本語メニューへも切り替えられます。ファイル・新規プロジェクトから、新しいプロジェクトを指定すれば、関連したファイルが1箇所にまとめられるようです。いくつかのツールがあるのですが、最初は回路図を作ることを目指します。「回路図エディター」を開きます。真っ白な回路図ウィンドウが開きます。
右端にあるオペアンプみたいなアイコンが、部品追加アイコンです。「シンボルを追加」という説明が現れます。部品を回路図に追加するという意味のようです。
クリックすると部品表が現れます。多数の部品(シンボル)が登録されています。例えば今回、赤外線LEDをドライブするために使用しているFETの2N7000もありました。
OKを押すと、回路図に追加できます。
位置の移動は一旦クリックしてからドラッグします。もしくは、クリックしてからMキーを押します。普通のグラフィックソフトと色々操作が違うので最初は迷いました。
ズームはトラックパッドのピンチで行えます。また、適当な場所で2本指タッチすると、その場所が中央に来るようにスクロールします。
接続点にポインターを近づけると配線ができます。もしくは右のアイコンからワイヤーを追加を選びます。これもWキーでも行えます。キーボードショートカットは慣れてくると便利です。
KiCadシンボルエディター
抵抗、FET、LED、コネクタなどの部品は豊富ですが、それでも足りないです。足りないシンボル(部品)の自作は必須です。部品を作るには、シンボルエディターを使います。最初のページにも選択メニューがありますし、
回路図エディターのアイコンからも起動できます。
ファイル・新規ライブラリーを選んでプロジェクト用のライブラリを作り、
新規シンボルを選びます。ここではI2C通信の温度・湿度センサーであるDHT20のシンボルを作ります。足りない部品は、大体はICみたいに足がたくさんあって本体が箱の形をしたシンボルです。なので、作成は簡単です。右端からピンを選んで
1番ピンから必要なだけのピンを追加します。DHT20は4ピンなので4本追加します。その後、箱を書けば完成です。
ESP32も、本体は多数登録されていますが、開発キットの登録はありませんでした。本気で回路設計する人は、開発キットなどを使用しないのかもしれません。それでESP32開発キット(今回は30ピン版を使いました)も作成しました。
回路図を完成させて接続チェック
回路図エディタに戻って、こららを組み合わせると、以下のように回路図が完成しました。前回記事の時の回路は、赤外線LED, 確認用可視光LED, 温度湿度センサーを装備してました。今回はそれらに加えて、赤外線受信モジュールも取り付けてました。これで赤外線パターンの取得にも対応できると考えました。
左端にある、PWR_FLAGがGNDに接続する配線は、回路チェックに合格させるために必要らしいです。また使用しないピンは、未接続マークを(右端のアイコンにある、罰点マークです)つけておきます。これも明示しておかないと次の配線チェックでエラーを指摘されます。
回路図ができたら、接続チェックをします。上のアイコンに、回路チェックのアイコンがあります。
回路チェックを実施すると、接続が完成していることを確認できます。
部品のフットプリント割り当て
ここからはいよいよプリント基板の設計をします。まずは、個々の回路図部品が、プリント基板の上でどのような形になるのか、その足跡(フットプリント)を決めます。部品によっては、上記のMOS FET 2N7000の例のように、すでにフットプリントが登録されているものもあります。また、抵抗などは、縦に設置するか、横にするか、また横にしても両足の長さを幾つにするかなど、設置に自由度があります。なので、このような部品には複数のフットプリントが用意されています。部品に対応するフットプリントを指定するためには、回路図エディター上のアイコンから、鎖のマークのあるフットプリント割り当てツールを実行します。
すると、使用したパーツに、登録されているフットプリントを割り当てることができます。真ん中のウィンドウでパーツを選び、右のフットプリント一覧から合致するフットプリントを選び、ダブルクリックすると割り当てられます。フットプリントを選んで、右ボタンで閲覧することもできます。
KiCadフットプリントエディター
適当なフットプリントが無い場合は自作します。例えばESP32devユニットは、二列の足があるDIP ICみたいですが、サイズが特殊なので、自作しました。また、温度センサーDHT20に関しては、I2CタイプではないDHT11のフットプリントがありましたが、横置きにしたかったので、これに手を加えて変更しました。
フットプリントの編集には、フットプリントエディターを選択します。
これも右側アイコンにあるパッドを追加を使って、足を並べます。
プリント基板上で配線するためには、足の配置さえ決まれば十分です。ただ、他の部品との干渉をチェックするために、部品が占有するなエリアも指定します。定規やノギスを使って部品のサイズを実測し、その数値に合わせて占有エリアを四角ツールなどで確保します。ESP32の上部にはアンテナがあり、その周辺には導体を設置したくないところです。なのでそのエリアがわかりやすいように模様を追加しました。
KiCad PCBエディター
回路が完成して、フットプリントの割り当てが全て終了したら、いよいよ基板エディターを開きます。基板エディターは、回路図エディターのアイコンからも開けますが、KiCadのメインメニューから開いたほうが先の手順が楽でした。
何もない真っ黒な設計図が開きます。ウィンドウ上にある「回路図で行われた変更で基板を更新」というアイコンをクリックします。
この先、回路図エディターで結線を変更した場合などにも、この操作を行うとPCBエディターの結線情報が更新されます。最初はごちゃごちゃと集まった状態で部品が現れます。細い線で結線情報が表示されています。
まずは、結線ができるだけ絡み合わないように位置移動と回転操作で調整します。次に、配線ツールで配線していきます。xキーとESCキーで配線と選択が切り替わります。
基板の四隅に、ネジ止め用の穴を用意しました。ネジ穴は「ピア」を使います。
GNDでベタ塗りするツールもあります。ベタ塗りと配線の間隔なども設定できます。
部品や配線を配置するグリッド間隔は、ピン間の2.54mmの半分の1.27mmにしておくと良いです。ただ、グリッドを設定しておいても、部品がグリッドからほんの少しズレる場合がありました。これはバグなのではないかと思います。対処法は、部品を離れた場所に一旦配置して、戻すと直るようです。部品がグリッドからズレていると、配線の折れ曲がり部分に、コブのような不連続な形状が現れます。
部品がグリッドに正しく合わせてあれば、曲がりの部分はきれいに仕上がります。
部品の接続が全部終了したら、ウィンドウ上部のアイコンから配線チェックできます。配線を忘れていたり、繋がっているつもりが接続できていなかったりする場合にエラーが表示されるので対応します。また部品が重なっていたり、シルクスクリーン印刷がはみ出しているなどの場合にも、エラーで教えてくれます。
プリント基板パターンが完成
ということで以下のように基板パターンが完成しました。頑張って片面で配線しました。でも、後になって基板作成サービスの価格表を見たら、片面も両面も制作費用は同額でした。
温度センサー(右下)はESP32や他の部品からできるだけ離して、熱の影響を極力受けないように配慮しました。ESP32(左)の端にはWiFi/Bluetoothのアンテナ部分があります。電波状況に影響を与えないように、ここでの配線やGNDベタ塗りを避けました。
3Dビューワーを使うと完成予想を確認できます。3Dデータは使い回しなので、温度センサが立って装着されていたり、抵抗の長さが違ったりしてます。
このまま普通のプリンタでパターンを印刷することもできます。感光基板を使えばエッチングできそうです。印刷することで、より実物に近い状態を確認できるところがありがたいです。印刷した紙に部品を当てて確認したら、ESP32開発キットの足幅が違っていたことなどに気づいて、慌てて修正したりしました。
まとめ
KiCadというソフトを使って、ESP32で作ったスマートリモコンの回路のプリント基板情報を作りました。KiCadも、老舗のEagleも、今はMacやLinuxでも動くようです。次回は、このデータを使って、ネット上の基板屋さんに発注します。続きはこちらです。
基板設計ってパズルみたいで楽しく、つい完璧を目指したくなって際限ないです。プログラミングに似てる気がします。趣味で没頭するには面白いですが、仕事にしたら大変そうです。コンピュータが自動で配線してくれるソフトウェアもあるらしいですので、それに任せて、深入りしないことも大事なのかもしれません。
コメント