profile-photo

InsectBot

DFRobot社が販売している昆虫ロボット


ネット上では結構有名な昆虫ロボット。
DFRobot社がキットを販売している。これはそのパクリ。
キットに付属のCPUは「BEETLE」と言うAlduinoの亜種で、モーターのインターフェイスなどが独自のシールドで拡張できるようになっている。
今回はCPUにAtTinyを使ってみた。そのため、Arduino標準のサーボのドライバが使えず、"SoftwareServo"ライブラリを使った。
前方センサーは、シャープの2Y0A21と言う赤外線センサーを使った。このセンサーは有名なセンサーなので説明は不要だろう。コンパクトなので、こう言った小さい機体には便利だ。ただ、ちょっと消費電力が多めなのと、電源電圧に敏感なので、注意は必要かも知れない。

 

001

CPU基板の部品面
デバイスは殆どSMDを使っているので、部品面にはコネクタとスイッチしか無い
片面基板なので、配線しきれなかったルートのジャンパーが何本か飛んでいる。
今回の基板はジャンパーが多めだが、この程度なら両面基板はまだ必要なさそうだ。
と、言うより両面基板にする工程の増加と位置合わせなどの困難さを考えるとジャンパーで対応した方が簡単だ。

002

上の基板の半田面。
適当なものがなかったので、インダクターだけはディスクリートの物を無理矢理付けている。
表面実装部品を多用すると穴開けが無くなるので製作は随分楽になる。
今後はこの方針で進めていきたいと思う。
ただ、SMD部品はサイズが小さいので、CRは大きめの1206(3216…3.2mm×1.6mm)を選んで使っている。老眼の目にはこれが限界だ(^_^;

003

ICもSOP以下はちょっとハンダ付けが辛いので、CPUはAtTiny85-20SURを採用した。
基板はエッチングで製作している。エッチングした後フラックスを掛けているだけなので、思わぬ所にハンダが付いたりする。
UV硬化型のレジストインクが安く手に入るようになってきているので、今後はグリーンマスクも検討したい。

004

虫の顔。
赤外線距離センサーと止めネジが虫らしい表情を作っている。

005

全体像
これも有名な9gの小型サーボモーターを前足と後ろ足それぞれに使っている。
そのため外部デバイスはモーターが2台と赤外線距離センサーの合計3台だ。

006

側面
ステータス表示のLEDは最初部品面にSMDタイプの物を付けていたが、見えなかったので後から交換した。
電源は、400mAHのLi-Poバッテリーなので、3.7V。
サーボモーターはこの電源から直接駆動している。
CPUと赤外線距離センサーは、3.7Vではちょっと辛いので、HT7750の昇圧回路で、5Vに上げて供給している。
そのためにちょっと部品が増えてしまった。

007

再び顔部分の拡大。
足に電線から剥ぎ取ったビニールを被せてあるが、フローリングの上では、スリップする。
頑張って歩く割には前に進まない(^_^;
テーブルクロスならまだマシなのだが、この辺がこの先の課題だ。



ICSP

ICSP(In-Circuit Serial Programming)とは、ブートローダーを使わないで、プログラムを書き込む機能だ。
制御基板の下部中央にはこのICSPのコネクタを実装した。
ICSPの6Pコネクタを付けたために配線が結構複雑になってしまったが、CPUを外せないのでプログラムをロードするには必須の機能だ。
こうしたワンチップの組み込み装置にはICSPのシステムは便利だ。
なお制御基板は上の方1/3程が3.7V→5Vの電源部分になっている。
回路は簡単なので、回路図を見ていただくとすぐに分かると思う。


参考までにハードウェア・ソフトウェアの情報を。ただしこれらは僕の覚えであり、正確に改版を反映していない可能性があります。この通り作って動かないからと、怒らないで欲しい。