徒然なるままにMake:

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

3Dプリンターでロボット作ってみる 多脚ロボット編 35 コントローラを改良します1

前回 遠隔操作できました!

something-make.hatenablog.com

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

 

前回でロボットの遠隔操作に成功したので、このプロジェクトもほぼ完了なのですが、実際に作ってみて気になることが一つ

 

 

コントローラが使いづらい!

 

もう嫌になるくらい使いづらいんですよ!

問題点を挙げてみると、

  1. 基板が小さくて持ちにくい
  2. 電池がぶらぶらしていて危なっかしい
  3. 基板の裏がショートしそう
  4. スイッチが小さくて押しづらい

とりあえずこのへんの問題をなんとか解決できないもんかと思いました。

そこで、基板にカバーを被せて電池を内臓し、ボタンなんかも大きくしてみたいと思います。

参考にしたのはこれ

www.thingiverse.comこういったケースを3Dプリンターでつくってみようと思います。

 

まずは基板をFusion360モデリングします。

モデリングに使うのは定規とノギスです。

 

これだけあれば、十分なモデルをつくることができます。

XBee基板の角等、少々違うところもありますが、コントローラのカバーを作るにはこれで十分です。

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

 

9V電池のモデルは、世界共通規格なので、探してみるとすぐ見つかりました。

grabcad.comこのCADデータを少々面倒ですが、会員登録してもらってきます。

 

はめあいなんかがどうなるかわからないので、まず作ってみます。

基板をネジで留めて、横に電池とスイッチを配置します

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

 

 

パーツの固定はM3のねじとナットで

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

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

 

こだわったポイントがここです

ネジが干渉するので、基板を差し込んで留めます

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

 

そんなわけでさっそく印刷します。5時間くらいかかりました。

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

 

基板もバッテリーもしっかりとはまりました。

ただ、電源スイッチはキツくて嵌りませんでした。要修正です。

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

 

 基板の差込もしっかりとできました。

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

 

明日からは今回わかった問題点を修正して出力してみます。

3Dプリンターでロボット作ってみる 多脚ロボット編 34 XBeeで遠隔操作できました!

前回 モーション作りました

something-make.hatenablog.com

 

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

 

 前進、後退、右旋回、左旋回のモーションをつくることができたので、ロボットをコントローラーで動かしてみます。

 

まず基本はコレです。

something-make.hatenablog.com各種設定を完了したXBeeArduinoのTXとRXに繋ぐと、シリアル通信をそのまま転送してくれます。

  1. コントローラーからシリアル通信で一文字送る
  2. ロボットでシリアル通信を受信する
  3. switch-case文でモーションを選択して実行
  4. モーション実行中に送られた文字は全て読みこんでなかったことにする
  5. 最新のシリアル通信データを受信する

という以外に簡単なプログラムでできました。

4は動作中に送られたシリアル通信を無視することで、モーション終了時点で最新のシリアル通信データを読み込み、コントローラに対する反応を良くしています。

この機能が無いと、シリアル通信で送られた信号に対応するモーションを片っ端から実行してしまうので、コントローラからの操作にすぐ反応せず、操作が困難になります。

この機能は以前のArduino開発環境ではSerial.flush()関数でしたが、仕様変更によりSerial.flush()関数の機能が変更になったので、Serial.read()関数が-1を返すまでSerial.read()を繰り返すことで代用しています。

 

while( Serial.read() != -1){}

 

実際にコードを書く場合はこのようになります。Serial.read()が-1(データ無し)にならない限り、Serial.read()を実行し続けます。

 

これでコントローラでロボットを自在に動かすことができるようになりました。

youtu.be

3Dプリンターでロボット作ってみる 多脚ロボット編 33 モーション作ります

 

前回

something-make.hatenablog.com

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

 

 

今日はモーションを作ります。

まず歩行のモーションですが、下のリンクを参考にします。

Make: Japan | Arduino搭載四足歩行ロボットのプログラム

 

まあ、このモーションの入力は以前やったので楽勝です。

something-make.hatenablog.com

しっかり歩くようになった際の記事はこれです。

something-make.hatenablog.com

www.youtube.com

 

さて、前進することができたら、後退はこれを逆にするだけなので簡単です。

 

ロボットを自由に動かすために、今度は旋回をプログラミングします。

上のリンクにあるクリープゲイツの応用で旋回させます。

黄色の矢印がロボット本体の向きを示しています。

 

1.まず左側の足を45度ずつ開き、右側の足を側面に平行に出します。

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

 

2.右後ろ足を持ち上げて、ロボットの後方90度に下ろします。

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

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

3.全ての足を左回りに45度回転させて、ロボット本体を右回りに45度回転させます。

 

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

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

4.左後ろ足を持ち上げて、ボディー側面に平行に下ろします。

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

5.左前足を持ち上げて、ロボットの前方90度におろします。

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

 

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

6.全ての足を左回りに45度回転させて、ロボット本体を右回りに45度回転させます

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

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

7.右前足を持ち上げて、ボディー側面に平行に下ろします。

これでロボットが右回りに90度回転しました。

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

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

左旋回は、右と左を逆にすればできます。

 

このモーションをロボットに入力すると、こんなふうに動くようになります。

youtu.be

前進、後退、右旋回、左旋回ができるようになったので、これでモーションの作成は完了です。

 

 

3Dプリンターでロボット作ってみる 多脚ロボット編 32 ちょっとした改良 滑り止めにはグルーガン

前回 基板完成しました

something-make.hatenablog.com

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

 

youtubeをうろついていると、似たようなロボットを作っている動画を見つけました。

 

www.youtube.com

このブログで作っているロボットの作者さんが公開しているデータを使ってロボットを作ってみたという動画です。

 

ちなみにこのロボットのデータは下のリンクにあります。

秋月電子通商でも取り扱っているSG-90を使用しているので作りやすいと思います。

www.thingiverse.com

 

この動画で目を惹いたのは、ホットグルー(ホットボンド)を足先に塗ることで、足先が滑らないようにしていることです。

早速やってみました。

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

 

 

少々形が歪ですが、これで歩かせてみると、明らかに足先の滑りがなくなりました。

 

3Dプリンターでロボット作ってみる 多脚ロボット編 31 遠隔操作編 Eagleで基板製作4 Seeedから基板届きました

前回 基板を製作業者のSeedStduioに注文しました。

something-make.hatenablog.com

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

 

なるべく早く届けて欲しかったのでDHL使いました。送料は15$。

データ送信して届くまで大体2週間くらいでした。

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

ずいぶん大きい袋です。中にさらに紙袋が入っています。

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

 

 

中身がこれです。ちゃんと基板ができています。

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

 

 

早速組み立ててみることにしました。

微妙かもしれなかったスイッチですが、問題無く嵌りました。

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

 

しかしここで大誤算が発生しました。

ピンヘッダが嵌りません!

このピンヘッダは自作したライブラリのものを使っているのですが、穴が小さくて嵌りません。

同じく自作したXBee変換基板は特に問題ありませんでしたが、

変換基板のピンとピンヘッダの太さが違うということに気付いていませんでした。

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

 

ライブラリ製作時の穴径はちゃんとピンの太さを測ってから設定するべきでした。

完全にやらかしました

でも、もう後戻りはできません。

2週間の時間を費やして作ってもらったのですから。

 

とにかくリカバーです。基板を修正します。

ちゃんと組み立てることができて、問題なく動けば問題ありません。

ピンヘッダの対角線が0.8mmなので、0.8mmのピンバイスでゴリゴリと穴を拡げます。

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

持ってて良かったピンバイス

ちなみに穴の数は3pin×サーボモーター12chで36個あります。

卓上ボール盤とか無いので手作業で片っ端から穴をあけます。

 かなり手間ですが、やるしかありません!

 

 

ちなみにこれをやると穴の周囲のパターンがほとんど剥げてしまいます。

これではハンダが付きません。

なので穴に繋がるパターンの保護層をヤスリの先っぽで削ります。

多分これで大丈夫です。

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

 

 

 

 

無事に穴が大きくなったので、ブレッドボードを利用してピンを並べてハンダ付けします。f:id:something-make:20181115124913j:plain

 

一時はどうなるかと思いましたが、無事ハンダ付けすることができました。他は特に問題なくハンダ付けすることができました。

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

 

他の部品もハンダ付けして基板製作は完了です。

これからはモーションの作成と遠隔操作のプログラミングをやります。

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

 

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

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