【回路図】
PDF: http://licheng.sakura.ne.jp/myeongwol/MyeongWol_rev3.pdf
BSchデータ: http://licheng.sakura.ne.jp/myeongwol/MyeongWol_rev3.CE3
http://licheng.sakura.ne.jp/myeongwol/IC.LB3 (部品ライブラリ)
たいした回路ではないけど、いちおう簡単に解説。
(1) 電源系
まず第一に電源の設計から。使用する各コンポーネントに必要な電源電圧は、GR-SAKURAが5V(要安定化)、ステッピングモータ(KH39FM2-801)が6V、ラジコンサーボのSX-101Zが6V、NES-371が4.8V。ということで、電源はニッケル水素電池5セル(6V)とする。GR-SAKURAには、低ドロップ3端子レギュレータで5Vを作って供給する。また、NES-371も定格が4.8Vで6V駆動はちょっと可哀想なので、同じく低ドロップ3端子レギュレータで5Vを作って供給。NES-371は負荷によっては200mA以上の電流を食い、これを5個駆動するのに1A出力のレギュレータ1個では厳しそうなので、2個使用する。 ダイオード2本を直列にかまして電池1セルぶん程度の電圧を落とす。また、全てのラジコンサーボはまとめて脱力できるように、電源を1個のPチャネルMOSFETでスイッチすることにした。GR-SAKURAのシールド(サンハヤトのArduino用ユニバーサル基板UB-ARD01を使用)に載せるとスペース的にかなりツメツメだが、3端子レギュレータは電解コンデンサを省くと発振のためか電圧がまるで安定しないので注意。
(2) ラジコンサーボ
ラジコンサーボはパルス信号ひとつで角度制御できるとても便利なパーツだが、問題はGR-SAKURAのI/Oは3.3Vロジックだということ。サーボの電源電圧に比べるとずいぶん低い。まあ、3.3Vでも動くのかもしれないけど(ラジコン用のパーツなので詳細な電気的仕様はよくわからん)、いちおう5Vロジックに変換する。バッファの定番、74*245を使用するわけだが、ここで要注意。CMOSロジックである74HC*は、Vcc=5Vのとき、Vih=3.5V。つまり、3.3Vの入力ではHighと認めてくれない恐れがある。いっぽう、TTLロジックである74LS*は、Vcc=5Vのとき、Vih=2V なので3.3Vロジックの入力は差し支えないが、CMOSと異なり、TTLはVcc=5VでもVoh=3.5V程度しか出ない。これでは全く意味が無い。そこで、入力はTTLレベルのVih=2Vで出力はCMOSレベルのVoh≒5Vという74HCT245を使う。CMOSなのでラッチアップしないように未使用の入力ピンはGNDかVccに固定すること。
まあ、ほんとうはレベル変換IC(http://akizukidenshi.com/catalog/g/gM-04522/ とか)を使うほうが真っ当な設計かもしれんけど、東芝のサイトにも上記のようなことが書かれてるし、ここはひとつ。(http://www.semicon.toshiba.co.jp/product/logic/faq/answer21.html)
また、前述のサーボの元栓スイッチ用PチャネルMOSFETは、3.3Vロジックで6V電源をスイッチするために前段にnpn型のデジトラ(ベース抵抗とプルダウン抵抗を内蔵した便利なトランジスタ)をかませている。
(3) ステッピングモータドライバ
使用するステッピングモータはKH39FM2-801という、ごく一般的な2相ユニポーラ式のモータで、今回はこれをハーフステップ駆動(1−2相励磁)する。ステッピングモータはいろんな種類といろんな駆動方法があるけど、自分は2相ユニポーラのフルステップ駆動(2相励磁)とハーフステップ駆動(1−2相励磁)以外の方式をやったことがない。パワー重視のフルステップ、滑らかさ重視のハーフステップと思っとけばいいだろう。
ステッピングモータドライバICには、SLA7052Mなどの定電流チョッパ式のものもあるが、これは高速回転のためにモータの定格の数倍の高い電源電圧を用いる方式であり、たとえばSLA7052Mの場合、Vs=10〜44Vとなっている。今回は電源電圧が6Vであるからこの方式は使えない。定電流チョッパ式でない簡単なドライバ回路なら74ロジックとトランジスタで組んでも良いが、それだと部品点数が多くなってしまうので、今回はTB6615PGというICを使用する。
TB6615PGは2相ステッピングモータ用ユニポーラ駆動のICで、方向信号とクロック信号で制御できる。TB6615PGの出力は、1相あたり最大400mAまで駆動することができる。しかし、KH39FM2-801は6V電源のとき1相あたりの電流が400mAを超えるのでTB6615PGでは直接駆動できない。そこでトランジスタアレイTD62308APGを終段に設ける。TD62308APGは、入力ローアクティブ、出力1.5A npn型ダーリントントランジスタの4個入りアレイで、TB6615PGの後段として格好の仕様だ。TB6615PGの出力(npnのオープンコレクタ)を4.7kΩでプルアップしてTD62308APGの入力へ。プルアップには4個入りの抵抗アレイが便利だ。
気になる電源電圧と信号レベルだが、TB6615PGはVcc=3.3V/5Vどちらでも可だが、TD62308APGはVcc=5Vでないと使えない。そこでVcc=5Vとする。さいわい、TB6615PGは入力がTTLレベルなのでVcc=5Vであっても、3.3Vロジックを直接入力してOKだ。
(4) Bluetoothモジュール
Bluetoothモジュールは、ずいぶん以前に購入した浅草ギ研のBlueMaster( http://www.robotsfx.com/robot/BlueMaster.html )。べつにシリアルインターフェースのBluetoothモジュールなら何でも良かったのだけど、日本の技適とってて、かつ小型のものを選んだ。今考えるとちょっと高い。次はBlueGigaのやつ使うことも検討しよう。
このBlueMasterは3.3V動作なので、GR-SAKURAのシリアルI/Oと直結できる。なので特筆することは無し。
以上が、回路設計のときに考えたことのあらましだ。こんな簡単なインターフェース基板でも、いざ設計するとなるといろいろ注意すべきことがあるものである。