次は制御部

次は制御部である。メインCPUはLPC1114FN28でmbedで作ることにした。mbed(LPC114)はArduinoに互角の能力を持っている。Arduinoは昨年製作したArduio版の倒立振子ロボットのソフト製作がかったるくイマイチのりきれなかった。そしてArduinoに供給する電圧が9Vとか必要で電源部を設計するのが邪魔くさかったからだ。かつて元祖mbed(LPC1768)で倒立振子ロボットを作ったのだが消費電力が大きいため乾電池での長時間駆動ができなかったので、乾電池での長時間駆動を期待してより省電力なLPC1114FN28を選択した。

回路とボード図

何体も倒立振子ロボットを作っているので必要な機能が分かってくる。回路を書いてみるとこんな感じになってしまった。

制御部の回路図

制御部の回路図

制御部が制御するIC

制御するICはざっとこれだけ、モリモリである。

  • 加速度・ジャイロセンサMPU6050
  • モータ制御用5TB6612FNG
  • モータ回転速度計用のフォトインタラプタCNZ1023
  • 通信用のHC-05
  • パラメータ保存用I2C EEPROM 24LC64
  • RaspberryPIの周辺デバイスとして使えるようにSPI端子を準備

目一杯の制御部の基板

8×7センチ四方の基板では目一杯で、配線より配置第一でなんとか収めた。
回路図の斜めの赤線はプリント基板で配線できないところだ、ここはワイヤで配線する必要がある。

制御部のボード図

制御部のボード図

実際の制御部の基板

そして実際の配線。ごちゃごちゃしてるが何とか完成である。

制御部

制御部

駆動部の回路図とボード図

ちなみに駆動部の回路図とボード図は以下の通り、回路は簡単だがモータ回転計の工作は難しい。

駆動部の回路図

駆動部の回路図

駆動部のボード図

駆動部のボード図

完成した筐体

これが完成した筐体である。材料はダイソーの2mmのアクリル板。しかも再利用品である。

完成した筐体

完成した筐体

トラブルのHC-05

Arduinoで使用していたHC-05を利用したところ、どういう訳か認識しなくなってた。しかたないので買い置き品からもうひとつモジュールを作った。無論これは認識した。

トラブルのHC-05

トラブルのHC-05

トラブルの原因が判明

新たにモジュールを作った時に、念の為にトラブったHC-05を再ハンダしたら復活した。どうもArduinoのシールドから取り外した時にハンダが外れたようなのだ。

5秒ほど立った

いつもならさくっとソフトを書くのだが、今回は乗りきれなくズルズルと間延びしてきたので、とりあえず動かせるレベルの簡単なカルマンフィルタ&PID制御のソフトを書いて載せてみたところ5秒ほど立った!! 😀

DCモータの反応もトルクも十分なようで、作りこめば非常に安定した倒立振子ロボットになりそうだ。