徒然なるままにMake:

Fusion360 3Dプリンタ 電子工作 面白そうなモノづくりをやっていくブログ

3Dプリンターでロボット作ってみる 多脚ロボット編 30 遠隔操作編 Eagleで基板製作3 Seeedに基板を発注してみる

 前回

something-make.hatenablog.com

このロボットの3Dデータは下のリンクのものを使用しています

 

 

最初はこの基板をFabLabの3Dルーターで作る予定でしたが、製作当事、基板製作業者のSeeed Studioが基板3枚1$というキャンペーンをやっていたので、Seeed Studioに発注をしてみました。

www.fusionpcb.jp

要はSeed Studioに製造に必要なファイルを送って、Paypalで支払いをすれば、完成品の基板が送られてくるわけです。

 

Eagleから製造用のガーバーデータ(基板の寸法、穴の位置、大きさ、プリントパターン)のデータをまとめたファイルを出力する方法は下のリンクを参考にします。

Eagleからガーバーファイルを出力する方法 – Feedback & Ideas for seeed

このガーバーデータというもの、なかなかのクセモノのようで、プリント基板製造業者によって、データ生成時の設定を変えてやったり、専用の設定ファイルを読み込ませる必要があったりするようです。

これは恐らく業者ごとの設備の差によるものでしょう。

しかし、現在Seeed StduioはEagleのサードパーティ業者として登録されているので、特にこれといった設定をせずにガーバーデータを出力することができます。

 

基板が完成したらCAM Processorをクリックします。

f:id:something-make:20181114202415p:plain

 

下の図のようにプルダウンリストからThird Party -> Seed Fusion -> Seed Fusion 2-Layerを選択します。

f:id:something-make:20181114202414p:plain

 

そのままProcess Jobをクリックすると、ガーバーデータのZIPファイルが生成されます。このファイルをアップロードすれば製造してもらえます。

f:id:something-make:20181114202416p:plain

 

ちなみに、製造時の設定がページ下にありますが、こういった単純な基板なら一番安いやつで問題なく製造してもらえます。

f:id:something-make:20181114204834p:plain

後はpaypalで支払いをすれば製造してもらえます。

 

ちなみに現在100mm×100mmの基板5枚で7.9$のセールをやっています。

これまたかなり安いのでオススメです。

 

3Dプリンターでロボット作ってみる 多脚ロボット編 29 遠隔操作編 Eagleで基板製作2

前回

something-make.hatenablog.com

このロボットの3Dデータは下のリンクのものを使用しています

 

今回は基板のパターンを製作します。

といっても、特別なことはしません。

  1. プリント基板の寸法をロボットに搭載できるように75×58mmにする
  2. 角から4mmのところにネジ用の穴をあける

  3. 部品が干渉したりしないように配置る

  4. Netclassで配線ルールを決める

  5. オートルーターで配線をする。

でこんな基板ができました。

f:id:something-make:20181114184312p:plain

 

配線ルールはこんな感じに設定します。

Edit -> Netclassから配線ルールを決めます。f:id:something-make:20181114185101p:plain

f:id:something-make:20181114184132p:plain

サーボモータに繋がる電源ラインとGNDは大電流が流れるのでpowerと名づけ、太めの1.5mmにします。サーボモータの動作信号や通信用のラインはsignalと名づけて一般的な0.5mm配線にしました。

ちなみに2mmだとオートルーターが配線を決めることができませんでした。太くすれば良いというものでもないようです。

 

配線ルールは次のように適用します。

回路図でinformationのボタンをクリックした後。緑の配線をクリックして、配線のプロパティを表示します。

f:id:something-make:20181114190705p:plain

 

Net Classのタブがあるので、これで配線ルールを設定してやります。

f:id:something-make:20181114190713p:plain

 

これで基板データが完成しました。

これを実際に製作するにはどうするかをやっていきます。

 

3Dプリンターでロボット作ってみる 多脚ロボット編 28 遠隔操作編 Eagleで基板製作1

 前回

something-make.hatenablog.com前回はコントローラーを作りました。

 

このロボットの3Dデータは下のリンクのものを使用しています

 

今回はロボットの基板を製作していきます。

まずは回路図の作成です。

Eagleのライブラリのどこに何があるのかをリストにしているサイトを見つけたので、下にリンクを貼っておきます。

工作-Eagleパーツリスト

さて、このロボットに必要な部品をリストアップしてみます

  1. 電源用ピンヘッダ(3ピン)×1
  2. サーボモータ電源安定用電解コンデンサ1000μF×2
  3. 秋月電子通商低ドロップ三端子レギュレーターセット×1
  4. ArduinoNano互換機×1
  5. 秋月電子XBee変換基板×1
  6. サーボモータ用ピンヘッダ(3ピン)×12
  7. 電源用トグルスイッチ×1

リストアップしてみるととくに数はありません。部品を必要なだけ入れていきます。

 

Eagle部品ライブラリ選択

1.電源用ピンヘッダ

電源のバッテリーを接続するためのピンヘッダです。

pinhead->PINHD-1X3というそのまんまのものがあるのでこれを使います。

f:id:something-make:20181112181709p:plain

 

 

2.サーボモータ電源安定用電解コンデンサ1000μF×2

rcl -> CPOL-EU -> CPOL-EUE5-10.5

右の説明にgrid 5.08 mm, diameter 10.5 mmとあります。

5-10.5は配線間隔5.08mm,直径10.5mmの電解コンデンサという意味だったわけです。

こういった電子部品は一定の規格で作られていることがわかります。

f:id:something-make:20181112195053p:plain

 

3.秋月電子通商低ドロップ三端子レギュレーターセット×1

レギュレータがどこにあるのかわからなかったのでライブラリを自作します。

ライブラリ自作の方法は過去の記事を

something-make.hatenablog.com寸法は秋月電子通商のデータシートから得ます。

akizukidenshi.com20分程て完成しました。

f:id:something-make:20181112212322p:plain

 

 

4.ArduinoNano互換機は

Autodesk Eagle

を検索すると出てきたのでこれを入れます。

 

5.秋月電子XBee変換基板×1

これは以前作ったものをそのまま使用します。

something-make.hatenablog.com

6.サーボモータ用ピンヘッダ(3ピン)×12

これもPINHD-1X3を使用すればいいように思いますが、今回の形式では使用してはいけません。今回、ロボットのサーボモータを接続する関係上、コネクタを横にならべるのですが、PINHD-1X3はPadが横に長いので、並べると干渉します。

左側のPadが重なっている部分が干渉しています。

f:id:something-make:20181112222429p:plain

これはパターンを細くしているので目立ちませんが、パターンを太くすると干渉したりするので、専用の3ピンのライブラリを作りました。

f:id:something-make:20181112222803p:plain

7電源用トグルスイッチ×1

switch ->  320-916が近いのでこれを採用します。

f:id:something-make:20181112230056p:plain

 

回路図

部品を接続して、下の図のような回路を作ります。

f:id:something-make:20181113000728p:plain

 

電源回路

低ドロップの5Vレギュレータを使うことで、バッテリーの6.6VからArduinoを安定して動かす5V電源を作ります。バッテリーをArduinoに直結して、Arduino内臓のレギュレータで電圧を変換しても動くかもしれませんでしたが、Arduinoに搭載しているレギュレータでは6.6Vのバッテリーからでは安定して5Vを作り出せない可能性があり、動作を安定させるためにレギュレータを別に搭載しました。この部分は秋月のキットに書いているものをそのまま使っています。

さらにサーボモータ動作時の大電流で電圧低下が起きないよう、2000μF分の電解コンデンサを搭載しました。

 

f:id:something-make:20181113000817p:plain

 

ピンヘッダ

3ピンのピンヘッダにバッテリーからの電源と、GNDとArduinoのデジタル端子を繋ぎます。数が多くてめんどくさいですが、地道にやっていきます。

f:id:something-make:20181113000838p:plain

 

通信機能

XBee変換基板のVCCに5V電源を接続し、GNDにGNDを接続します。

ArduinoのRX0にXBeeのDOUT

ArduinoのTX1にXBeeのDIN

を接続します。

 これだけでシリアル通信ができるようになるので簡単です。

f:id:something-make:20181113000854p:plain

 これで回路図ができたので、次回はパターンの製作に移ります。

 

3Dプリンターでロボット作ってみる 多脚ロボット編 27 遠隔操作編 XBeeとArduino互換機でコントローラ製作1

前回

XBeearduino同士の通信をしました。

something-make.hatenablog.com

このロボットの3Dデータは下のリンクのものを使用しています

 

XBeeArduino nanoの互換機をユニバーサル基板上に配置してコントローラをつくってみました。

f:id:something-make:20181009234918j:plain

   

このスイッチに

  1. 前進
  2. 後退
  3. 右移動
  4. 左移動
  5. 右旋回
  6. 左旋回

を割り当てることで、ロボットを遠隔操作できるようになります。

ちなみに裏面はこんな風になっています。

f:id:something-make:20181009234921j:plain

タクトスイッチはArduinoのデジタルピンとGNDに繋がっていて、プルアップでタクトスイッチの動作を読み取ることができます。

 

接続を確認したので、これでコントローラは完成です。

これからはロボットの基板の製作に移ります。

3Dプリンターでロボット作ってみる 多脚ロボット編 26 遠隔操作編 XBeeの通信設定2

前回

XBee同士の通信をしました。

something-make.hatenablog.com

このロボットの3Dデータは下のリンクのものを使用しています

 

今日はXBeeArduino同士の通信をやってみます。

 

このページを参考にArduino同士の通信をXBeeの無線通信でやってみます。

www.storange.jp

左のスイッチを押すと、信号が左のArduinoから右のArduino

に伝わり、右のLEDが点灯します。


3Dプリンターでロボット作ってみる 多脚ロボット編 26 遠隔操作編

 

これでXBeeArduinoどうしを通信させる方法がわかりました。

これを使えばロボットを遠隔操作できそうです。

3Dプリンターでロボット作ってみる 多脚ロボット編 25 遠隔操作編 XBeeの通信設定1

前回

EAGLEのライブラリでXbee用のソケットを作りました

something-make.hatenablog.com

このロボットの3Dデータは下のリンクのものを使用しています

 

今日はXBeeで通信をやってみます。

XBeeの設定方法がとてもわかりやすかったサイトを参考にしました。

www.storange.jp

 

 

 

 

用意したもの

XBee2つ

相互通信するので当然2つ必要です。

不具合が無いように型番が同じものを用意したほうがいいと思います。

 

 

XBee USBアダプター2つ

XBeeとPCをUSB接続することができるパーツです。XBeeに合わせて二つ買っておきます。

 

ちなみに私は秋月のXBee USBインターフェースボードキットを使っています。こちらの方が安価です。

akizukidenshi.com

・USB-microBケーブル2本

インターフェースボードをPCに接続するためのUSBケーブルもそろえておきます。

手元にあるのなら当然必要ありません。

必要ならブレッドボードも買っておきましょう。

 

 

PCとの接続

XBeeをUSBインターフェースに取り付け、USBケーブルで両方ともPCに繋ぎます。そのままだとケーブルの曲がりでUSBインターフェースが転がってしまうので、私はブレッドボードに刺しました。

f:id:something-make:20181001231758j:plain

 

PCに接続したらXBee設定ソフトのXCTUをダウンロードしてインストールします。

起動させたら画面左上のDiscover Deviceをクリックして、PCに繋がっているXBeeを探します。

f:id:something-make:20181001232359p:plain

 

すると私の環境ではCOM5COM6に接続されているのがわかりました。

両方を選択してNextをクリックします。

f:id:something-make:20181001232726p:plain

 

次に通信速度等の設定をするのですが、これはデフォルトのままでとくに問題ないと思うのでFinishをクリックした後、ADD SELECT DEVICEをクリックして接続設定が完了します。

f:id:something-make:20181001233443p:plain

f:id:something-make:20181001234241p:plain

 

 

 

XBeeファームウェア設定

XCTUがXBeeを認識したので、それぞれにファームウェアを書き込みます。

f:id:something-make:20181001234343p:plain

XBeeは様々な通信形態に合わせて機能別のファームウェアを書き込むことで、その機能が変わります。

現在3種類の機能があり、

  • コーディネータ
  • ルータ
  • エンドデバイス

と呼ばれます。今回は片方をコーディネータもう片方をルータにするためのファームウェアを書き込みます。

それぞれのXbeeを選択してUpdateボタンを押します。

f:id:something-make:20181001235024p:plain

するとファームウェアの選択画面が出るので、コーディネーターにするために、ZigBee Cordinator ATの最新バージョン(Newest)を選択してUpdateで入力します。

f:id:something-make:20181001235152p:plain

もう片方はルータにするためにAigBee Router ATをUpdateで入力します。

f:id:something-make:20181001235156p:plain

 

ここから、それぞれのXBeeの設定を行います。

設定項目は3つ

  • PANID
  • DH
  • DL

まずPANIDですが、これはルータとコーディネータで同じ数字を入力します。

要は同じグループなら同じ数字なわけです。私は777を入力しました。

 

DHは通信相手のMACアドレスの上8ケタ、DLは通信相手のMACアドレスの下8ケタを入力します。

ルータのDHDLにはコーディネーターのMACアドレスを、

コーディネーターのDHDLにはルータのMACアドレスを入力します。

MACアドレスはそれぞれの左側のXBeeバイスに表示されています。

f:id:something-make:20181001235740p:plain

設定が終わったらWriteボタンを押して書き込みます。

f:id:something-make:20181002001024p:plain

これでファームウェアの設定は完了です。

 

パケット送信

コーディネータとルータの両方に書き込みが終わったら、右上のコンソールボタンを押して、コンソールモードにします。

f:id:something-make:20181002001126p:plain

 

コーディネータとルータのOpenになっているボタンを押して、Closeにして接続します。

f:id:something-make:20181002001317p:plain

 

どちらか片方のXBeeを選択して、Add new packet to the listをクリックして、送信するパケット(メッセージ)を作ります。

f:id:something-make:20181002003904p:plain

 

とりあえず「Hello」というパケットを作ります。

f:id:something-make:20181002004755p:plain

 

パケットを選択して、Send selected packetで送信します。

f:id:something-make:20181002010136p:plain

 

送信に成功するとConsole log青字で表示されます。

f:id:something-make:20181002010227p:plain

 

そして、もう片方のXBeeConsole logに受信結果が赤字表示されます。

f:id:something-make:20181002010243p:plain

 

これでXbee間の通信をすることができました。

割と簡単にできて驚いています。

この機能を使って文字をArduinoからArduinoに送ってやれば、ロボットを遠隔操作することができるはずです。

 

次回は、これをどうやってArduinoに接続するかについてやっていきます。

3Dプリンターでロボット作ってみる 多脚ロボット編 24 遠隔操作編 Eagleで基板製作3

前回

EAGLEでライブラリ作れるようになりました。

something-make.hatenablog.com

このロボットの3Dデータは下のリンクのものを使用しています

 

 今日からはEAGLEで実際にデータを作っていきます。

www.autodesk.co.jp

学習方法はこちらのブログを参考にしました。

akiracing.com

まず無線通信用のXBee変換ソケットを作ります。

 XBeeZigBee規格の無線通信を行うユニットで、XbeeユニットをArduino等のマイコンのTX,RXコネクタに接続することで、マイコン間の低電力相互通信ができるようになります。

 

要はこのユニットをつければ、ロボットに信号を送るだけでなく、ロボットからの信号も受信することができるようになるわけです。

 

今回はこのXBeeを使ってロボットの遠隔操作をします。

 

 

akizukidenshi.com

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を搭載しているかの違いです。

 

 

ちなみに今回ライブラリを作るのは秋月電子通商の変換基板です。

akizukidenshi.com

Arduinoに3.3V電源がついているのにわざわざ変換するのは無駄な気もしますが、

 

スイッチサイエンスよりも安いのでこれを買いました。

 

早速EAGLEでライブラリを作っていきます。

まず足の配置とパーツの外枠を入力します。

f:id:something-make:20180930225929p:plain

 

配置されているピンの情報を入力します。

f:id:something-make:20180930230033p:plain

それぞれのデータを関連付けることで、ライブラリが完成しました。

f:id:something-make:20180930230256p:plain

この調子で他の部品も入力していく予定です。