そろそろ梅雨入りということでジメジメした毎日になりそうですね。
個人的には洗濯物が外に干せなくなるのでストレスマックスの季節です。乾燥機付き洗濯機を調べても高額で手が出ない。。ぐぬぬ。
こんにちは、ポニ丸です!
今回ようやくKiCadでの回路設計を行います。
前回、前々回とやってきた設計を見て多くの方は気づいてらっしゃるでしょうが、私はハード設計をした経験がありません(きっぱり)
仕事でもハード仕様が満たされた基板と回路図を見て、ソフト仕様を満たすファームを書くだけ(コーディングに関して)だったので毎度毎度ハード屋さんってすごいなーって思ってました。
組み込みをやるにあたってハードに強いソフト屋になりたいじゃないですか。何ならしっかり設計ができるレベルまで上がれば仕事の幅も広がるじゃないですか。
そういう思いもあって、このプロジェクトでハードも担当することにしたんですよ。
学生時代に電気回路とかも授業でやってたんですが、スーパー苦手で身についてない状態での挑戦かつ初設計による妥協の塊であることをご理解いただきければありがたいです。
さて、ハードルを大きく下げたところでハード仕様を復習&細かい部分決めしていきます。
スマートカーテンデバイス ハード仕様
入出力部
ここまでちゃんと設計していなかった部分の仕様をざっくり詰めていきます。
入力
・スイッチ(3点)
…上入力で「カーテン上昇」、中立で「停止」、下入力で「カーテン下降」させたい
・半固定抵抗
…実環境に合わせたトルク調整をPWMで行うためのつまみとして使用したい
出力
・モータ
…スイッチの入力状態によって回転方向を、半固定抵抗を通したA/D値によってonDutyを制御してモータを回転させる。(=カーテン昇降)
素子選定
これで必要な材料が決まったので、実際に使う素子を決めていきます。
IC
・ESP32-DevKitC-32D
…マイコンチップ。I/Oポート制御やBLE通信を行う。
・DRV8835
…モータドライバIC。回転方向の制御を簡易的にする。
アクチュエータ
・RE-260RA
…モータ。ギアボックスに同梱されてるやつ。
その他
・AE-DC-POWER-JACK-DIP
…ACアダプタがつながるDCジャック。ユニバーサル基板にはんだづけ想定なのでDIP化キットで。
・2MS3-T1-B4-M2-Q-E
…3Pトグルスイッチ。特に説明なし。
・抵抗 10KΩ
…トグルスイッチの接点をプルダウンするための抵抗。
・TSR-3386T-EY5-103TR
…半固定抵抗。0-10kΩ。
KiCadにて回路図設計
本題!KiCadのEeschemaで回路図を作っていきます。
ありがたいことにKiCadでは汎用的な素子やよく使われるICなどがライブラリに登録してあって、基本的にはライブラリから必要なものを配置して結線すれば完成します。
しかーし、中ボスKiCadは私の回路設計を簡単に終わらせてはくれまセーン。
なぜなら、ESP32マイコンとモータドライバICがライブラリに登録されていないからデース!
と、ペガサス・J・クロフォードの口癖を真似ながら、新たにESP32マイコンとモータドライバICをライブラリに追加します。
KiCadのライブラリにIC追加
1.KiCad起動からプロジェクト作成
KiCadを起動し、新規プロジェクト「smart_curtain」を作成しました。
「ファイル」→「新規」→「プロジェクト」から新規プロジェクトが作成できます。
左のプロジェクトツリーに拡張子が.proのプロジェクトファイルと、その中のコンテンツファイルとして.kicad_pcbと.schの2つのファイルが存在しています。
回路図を作るファイルは拡張子が.schの方のファイルなので、ダブルクリックしてEeschemaを開きます。
余談ですが、.kicad_pcbのファイルは回路図を作ったのちに基板データを作るためのファイルだそうです。
2.Eeschemaでの画面確認
先ほどの画面で.schファイルをダブルクリックすると、Eeschemaが起動します。
初回起動時はこんな感じで回路図の枠のみで、当然ながらなにも配置されていません。
3.シンボルを確認
「ツール」→「シンボル ライブラリ エディター」からシンボルエディターを起動します。シンボルというのはさまざまな素子をEeschema上で回路図に配置できるようにしたアイテム的なイメージだと解釈すれば間違いないと思います。
シンボルエディターはこんな画面になってます。
左側にライブラリと書いてますが、これは似通った複数のシンボルをまとめたもので、多くは素子別にライブラリが作られています。
参考までにCPUライブラリのなかにいるZ80CPUを選択して表示してみました。
こんな感じで様々なシンボルがライブラリとして最初から登録されているんですが、今回使用する素子の中でESP32マイコンとモータドライバが登録されていないんです。
ということで、その二つのシンボルが入ったライブラリを作ります。
4.ライブラリ作成
「ファイル」→「新規ライブラリ」からライブラリファイル名を選択し、ライブラリを作ります。このとき以前紹介した超Lチカ団さんの動画を参考にライブラリーを追加するライブラリーテーブルを「プロジェクト」にします。
SmartCurtainというライブラリ名のライブラリを作りました。
5.シンボル作成
作ったライブラリの中にシンボルを作っていきます。
ライブラリ「SmartCurtain」を右クリックして「新規シンボル」を選択することでシンボルの作成が開始できます。
まずはピン数が少ないモータドライバをやっていきます。
シンボル名に型番のDRV8835を入力、デフォルトのリファレンス記号はUにしました。
回路図を見たことない方はピンとこないかもしれないんですが、回路図には素子別に普通アルファベット一文字の記号とインデックス番号がくっついて「U1」みたいな表記が各素子に書かれてるんです。
CPUとかのICチップとかは主にUを使われることが多いので今回はUにしました。
他には抵抗器ならR、LEDならダイオードのD、モータならMみたいな感じである程度決まってるのでその規則に合わせればOKだと思います。
その設定でOKボタンを押すとシンボルエディターの画面にシンボル名とリファレンス記号が重なった状態で表示されています。
最終的にこの2つの表記を素子のそばに置けばOKなので、とりあえず無視で大丈夫です。
右側のアイコン、上から二番目にあるAとか1とか書いてあるやーつを選択し、メイン画面の適当なところでクリックします。
すると、素子のピンについてのプロパティが表示されます。
ピン名、Pin number、Electrical typeは素子のデータシートを見ながら書けばOKです。
個人的に引っかかったのが「向き」なんですけど、正解を言うと丸がついている方が素子のピンの先端として他の素子や配線がつながる方になります。
つまり、向きを右にすると左端がピンが出ているような表現ができる、ということです。
データシートとにらめっこしながらすべてのピンを配置し終わった状態がこんな感じ。
ここから囲いを追加していきます。囲いは上から4つ目のボタンです。
仕上げにシンボル名とリファレンス記号の位置調整、そして錨マークのボタンでアンカー位置をセンターに設定すれば完成です。
大幅カットしますが、同様にESP32マイコンもシンボルを作成しました。
これで配置をしていく準備が完了です!
シンボル配置
Eeschemaに戻りまして、右側のアイコンの上から3番目のものを選択し、画面内をクリックするとライブラリから配置するシンボルを選択できる画面が出てきます。
フィルターに配置したいシンボル名を入れると簡単に検索できます(画像はESPマイコン)
これを繰り返して必要なシンボルを置いたら下図になりました。位置はだいたい。
結線
これらのシンボルに結線をしてー♪シンボル名とかの位置を調整したり抵抗の値を設定したりしてー♪
最後にアノテーションを実行すると、リファレンス記号についてた”?”マークが回路図上にある部品の数によって1から順番にナンバリングされます。これにて完成です!
完成した回路図
smart_curtain_device_200610なんということでしょう!
回路図を書いたことがないポニ丸が、初めての回路図設計でよくみかけそうな回路図を作り上げることができています!
ここまで妥協を挟みつつではありますが、初チャレンジをやってきた成果が一つ形になったなという達成感があります。
プロジェクトとしてはまだまだ途中ですが、この達成感を糧にこれからもゆるゆると頑張っていこうと思います!
ではでは!
コメント