3Dプリンターでロボット作ってみる 多脚ロボット編 30 遠隔操作編 Eagleで基板製作3 Seeedに基板を発注してみる
前回
このロボットの3Dデータは下のリンクのものを使用しています
最初はこの基板をFabLabの3Dルーターで作る予定でしたが、製作当事、基板製作業者のSeeed Studioが基板3枚1$というキャンペーンをやっていたので、Seeed Studioに発注をしてみました。
要はSeed Studioに製造に必要なファイルを送って、Paypalで支払いをすれば、完成品の基板が送られてくるわけです。
Eagleから製造用のガーバーデータ(基板の寸法、穴の位置、大きさ、プリントパターン)のデータをまとめたファイルを出力する方法は下のリンクを参考にします。
Eagleからガーバーファイルを出力する方法 – Feedback & Ideas for seeed
このガーバーデータというもの、なかなかのクセモノのようで、プリント基板製造業者によって、データ生成時の設定を変えてやったり、専用の設定ファイルを読み込ませる必要があったりするようです。
これは恐らく業者ごとの設備の差によるものでしょう。
しかし、現在Seeed StduioはEagleのサードパーティ業者として登録されているので、特にこれといった設定をせずにガーバーデータを出力することができます。
基板が完成したらCAM Processorをクリックします。
下の図のようにプルダウンリストからThird Party -> Seed Fusion -> Seed Fusion 2-Layerを選択します。
そのままProcess Jobをクリックすると、ガーバーデータのZIPファイルが生成されます。このファイルをアップロードすれば製造してもらえます。
ちなみに、製造時の設定がページ下にありますが、こういった単純な基板なら一番安いやつで問題なく製造してもらえます。
後はpaypalで支払いをすれば製造してもらえます。
ちなみに現在100mm×100mmの基板5枚で7.9$のセールをやっています。
これまたかなり安いのでオススメです。
3Dプリンターでロボット作ってみる 多脚ロボット編 29 遠隔操作編 Eagleで基板製作2
前回
このロボットの3Dデータは下のリンクのものを使用しています
今回は基板のパターンを製作します。
といっても、特別なことはしません。
- プリント基板の寸法をロボットに搭載できるように75×58mmにする
-
角から4mmのところにネジ用の穴をあける
-
部品が干渉したりしないように配置る
-
Netclassで配線ルールを決める
-
オートルーターで配線をする。
でこんな基板ができました。
配線ルールはこんな感じに設定します。
Edit -> Netclassから配線ルールを決めます。
サーボモータに繋がる電源ラインとGNDは大電流が流れるのでpowerと名づけ、太めの1.5mmにします。サーボモータの動作信号や通信用のラインはsignalと名づけて一般的な0.5mm配線にしました。
ちなみに2mmだとオートルーターが配線を決めることができませんでした。太くすれば良いというものでもないようです。
配線ルールは次のように適用します。
回路図でinformationのボタンをクリックした後。緑の配線をクリックして、配線のプロパティを表示します。
Net Classのタブがあるので、これで配線ルールを設定してやります。
これで基板データが完成しました。
これを実際に製作するにはどうするかをやっていきます。
3Dプリンターでロボット作ってみる 多脚ロボット編 28 遠隔操作編 Eagleで基板製作1
前回
something-make.hatenablog.com前回はコントローラーを作りました。
このロボットの3Dデータは下のリンクのものを使用しています
今回はロボットの基板を製作していきます。
まずは回路図の作成です。
Eagleのライブラリのどこに何があるのかをリストにしているサイトを見つけたので、下にリンクを貼っておきます。
さて、このロボットに必要な部品をリストアップしてみます
- 電源用ピンヘッダ(3ピン)×1
- サーボモータ電源安定用電解コンデンサ1000μF×2
- 秋月電子通商低ドロップ三端子レギュレーターセット×1
- ArduinoNano互換機×1
- 秋月電子XBee変換基板×1
- サーボモータ用ピンヘッダ(3ピン)×12
- 電源用トグルスイッチ×1
リストアップしてみるととくに数はありません。部品を必要なだけ入れていきます。
Eagle部品ライブラリ選択
1.電源用ピンヘッダ
電源のバッテリーを接続するためのピンヘッダです。
pinhead->PINHD-1X3というそのまんまのものがあるのでこれを使います。
rcl -> CPOL-EU -> CPOL-EUE5-10.5
右の説明にgrid 5.08 mm, diameter 10.5 mmとあります。
5-10.5は配線間隔5.08mm,直径10.5mmの電解コンデンサという意味だったわけです。
こういった電子部品は一定の規格で作られていることがわかります。
3.秋月電子通商低ドロップ三端子レギュレーターセット×1
レギュレータがどこにあるのかわからなかったのでライブラリを自作します。
ライブラリ自作の方法は過去の記事を
something-make.hatenablog.com寸法は秋月電子通商のデータシートから得ます。
akizukidenshi.com20分程て完成しました。
4.ArduinoNano互換機は
を検索すると出てきたのでこれを入れます。
これは以前作ったものをそのまま使用します。
6.サーボモータ用ピンヘッダ(3ピン)×12
これもPINHD-1X3を使用すればいいように思いますが、今回の形式では使用してはいけません。今回、ロボットのサーボモータを接続する関係上、コネクタを横にならべるのですが、PINHD-1X3はPadが横に長いので、並べると干渉します。
左側のPadが重なっている部分が干渉しています。
これはパターンを細くしているので目立ちませんが、パターンを太くすると干渉したりするので、専用の3ピンのライブラリを作りました。
7電源用トグルスイッチ×1
switch -> 320-916が近いのでこれを採用します。
回路図
部品を接続して、下の図のような回路を作ります。
電源回路
低ドロップの5Vレギュレータを使うことで、バッテリーの6.6VからArduinoを安定して動かす5V電源を作ります。バッテリーをArduinoに直結して、Arduino内臓のレギュレータで電圧を変換しても動くかもしれませんでしたが、Arduinoに搭載しているレギュレータでは6.6Vのバッテリーからでは安定して5Vを作り出せない可能性があり、動作を安定させるためにレギュレータを別に搭載しました。この部分は秋月のキットに書いているものをそのまま使っています。
さらにサーボモータ動作時の大電流で電圧低下が起きないよう、2000μF分の電解コンデンサを搭載しました。
ピンヘッダ
3ピンのピンヘッダにバッテリーからの電源と、GNDとArduinoのデジタル端子を繋ぎます。数が多くてめんどくさいですが、地道にやっていきます。
通信機能
XBee変換基板のVCCに5V電源を接続し、GNDにGNDを接続します。
を接続します。
これだけでシリアル通信ができるようになるので簡単です。
これで回路図ができたので、次回はパターンの製作に移ります。
3Dプリンターでロボット作ってみる 多脚ロボット編 27 遠隔操作編 XBeeとArduino互換機でコントローラ製作1
3Dプリンターでロボット作ってみる 多脚ロボット編 26 遠隔操作編 XBeeの通信設定2
3Dプリンターでロボット作ってみる 多脚ロボット編 25 遠隔操作編 XBeeの通信設定1
前回
EAGLEのライブラリでXbee用のソケットを作りました
このロボットの3Dデータは下のリンクのものを使用しています
今日はXBeeで通信をやってみます。
XBeeの設定方法がとてもわかりやすかったサイトを参考にしました。
用意したもの
・XBee2つ
相互通信するので当然2つ必要です。
不具合が無いように型番が同じものを用意したほうがいいと思います。
・XBee USBアダプター2つ
XBeeとPCをUSB接続することができるパーツです。XBeeに合わせて二つ買っておきます。
ちなみに私は秋月のXBee USBインターフェースボードキットを使っています。こちらの方が安価です。
・USB-microBケーブル2本
インターフェースボードをPCに接続するためのUSBケーブルもそろえておきます。
手元にあるのなら当然必要ありません。
必要ならブレッドボードも買っておきましょう。
PCとの接続
XBeeをUSBインターフェースに取り付け、USBケーブルで両方ともPCに繋ぎます。そのままだとケーブルの曲がりでUSBインターフェースが転がってしまうので、私はブレッドボードに刺しました。
PCに接続したらXBee設定ソフトのXCTUをダウンロードしてインストールします。
起動させたら画面左上のDiscover Deviceをクリックして、PCに繋がっているXBeeを探します。
すると私の環境ではCOM5とCOM6に接続されているのがわかりました。
両方を選択してNextをクリックします。
次に通信速度等の設定をするのですが、これはデフォルトのままでとくに問題ないと思うのでFinishをクリックした後、ADD SELECT DEVICEをクリックして接続設定が完了します。
XBeeのファームウェア設定
XCTUがXBeeを認識したので、それぞれにファームウェアを書き込みます。
XBeeは様々な通信形態に合わせて機能別のファームウェアを書き込むことで、その機能が変わります。
現在3種類の機能があり、
- コーディネータ
- ルータ
- エンドデバイス
と呼ばれます。今回は片方をコーディネータ、もう片方をルータにするためのファームウェアを書き込みます。
それぞれのXbeeを選択してUpdateボタンを押します。
するとファームウェアの選択画面が出るので、コーディネーターにするために、ZigBee Cordinator ATの最新バージョン(Newest)を選択してUpdateで入力します。
もう片方はルータにするためにAigBee Router ATをUpdateで入力します。
ここから、それぞれのXBeeの設定を行います。
設定項目は3つ
- PANID
- DH
- DL
まずPANIDですが、これはルータとコーディネータで同じ数字を入力します。
要は同じグループなら同じ数字なわけです。私は777を入力しました。
DHは通信相手のMACアドレスの上8ケタ、DLは通信相手のMACアドレスの下8ケタを入力します。
ルータのDHDLにはコーディネーターのMACアドレスを、
コーディネーターのDHDLにはルータのMACアドレスを入力します。
MACアドレスはそれぞれの左側のXBeeデバイスに表示されています。
設定が終わったらWriteボタンを押して書き込みます。
これでファームウェアの設定は完了です。
パケット送信
コーディネータとルータの両方に書き込みが終わったら、右上のコンソールボタンを押して、コンソールモードにします。
コーディネータとルータのOpenになっているボタンを押して、Closeにして接続します。
どちらか片方のXBeeを選択して、Add new packet to the listをクリックして、送信するパケット(メッセージ)を作ります。
とりあえず「Hello」というパケットを作ります。
パケットを選択して、Send selected packetで送信します。
送信に成功するとConsole logに青字で表示されます。
そして、もう片方のXBeeのConsole logに受信結果が赤字で表示されます。
これでXbee間の通信をすることができました。
割と簡単にできて驚いています。
この機能を使って文字をArduinoからArduinoに送ってやれば、ロボットを遠隔操作することができるはずです。
次回は、これをどうやってArduinoに接続するかについてやっていきます。
3Dプリンターでロボット作ってみる 多脚ロボット編 24 遠隔操作編 Eagleで基板製作3
前回
EAGLEでライブラリ作れるようになりました。
このロボットの3Dデータは下のリンクのものを使用しています
今日からはEAGLEで実際にデータを作っていきます。
学習方法はこちらのブログを参考にしました。
まず無線通信用のXBee変換ソケットを作ります。
XBeeはZigBee規格の無線通信を行うユニットで、XbeeユニットをArduino等のマイコンのTX,RXコネクタに接続することで、マイコン間の低電力相互通信ができるようになります。
要はこのユニットをつければ、ロボットに信号を送るだけでなく、ロボットからの信号も受信することができるようになるわけです。
今回はこのXBeeを使ってロボットの遠隔操作をします。
XBeeは基板の規格が一般的なピン間隔2.54mmではなくピン間隔2mmだったり、電源と信号がArduinoの5V規格と違って3.3V規格なので変換基板を使うのが一般的です。
まあ、何より重要なのは変換基板を使えば工作用の電子部品として比較的高価なXBeeユニットを使いまわせることです。
基板を自作するので、直接基板に2mm間隔の穴をあけて半田づけすれば機能としては問題ありませんし、Arduinoには3.3Vの電源も標準でついていますが、2500円もするXBeeユニットを基板につけっぱなしというのはちょっと勿体無いわけです。毎回毎回ハンダ吸い取り線や吸い取り機を使って20箇所のハンダを剥がすのも面倒ですしユニットが痛みます。
ちなみにこういったXbee変換ソケットは似たようなものがいくつかありますが、大体は電源と信号の変換機能の有無で区別されます。電源を5V→3Vに変換するレギュレーターや入力される信号と出力される信号を5V→3.3V 3.3V→5Vに変換してくれるレベル変換ICを搭載しているかの違いです。
ちなみに今回ライブラリを作るのは秋月電子通商の変換基板です。
Arduinoに3.3V電源がついているのにわざわざ変換するのは無駄な気もしますが、
スイッチサイエンスよりも安いのでこれを買いました。
早速EAGLEでライブラリを作っていきます。
まず足の配置とパーツの外枠を入力します。
配置されているピンの情報を入力します。
それぞれのデータを関連付けることで、ライブラリが完成しました。
この調子で他の部品も入力していく予定です。