今回は
前回はトラ技の記事を参考にマイコンstm32を使って倒立マシンを作成しました。20cmx25cmとちょいと大き目でした。参考リンクを読んで、再び倒立熱が高まってきたので小型倒立マシンに挑戦したいと思います。さて、倒立するのか。「倒立は一日にして立たず」。
準備
必要なパーツは秋葉原だと秋月と千石を回れば購入できます。最近は通販が主流ですが。今回使用するモーターは非常に小型です(倒立するのか)。モータードライバは、2回路入っていて1回路1.5Aまでドライブ可能です。他でも小型モーターなので大抵は使えると思います。
- 制御用マイコン M5StickC plus (6軸センサー入り)
- DCモータ FM90×2 (DCモーターにギヤが付いてます)
- モータードライバ DRV8835×1
- 電池ボックス 単3×3
- 電池 エネループ単3×3
まずは個別に機能確認
6軸センサー
M5stickC plusには、6軸センサーがI2C接続されていてサンプルコードで簡単に動作確認できます。
制御プログラム
Arduinoで記述します。6軸センサーによって傾きを検知し、傾きの値をPID制御してDCモーターの出力を決定します。このモータードライバーは2入力で回転方向と出力値を決めるので、2入力には傾きから計算した出力値をPWMにより2入力それぞれに出力するようなソフトウェアを参考リンクをお手本に記述します。
モータドライバー
DRV8835のデーターシートを見ながら配線します。DCモーターなのでIN/INモードにします。2回路の入力と出力は1回路にまとめます。これによりDCモーターの最高電流は3AまでOKとなります。そこまでは流れないでしょうけど。
機能確認結果
個別に機能を確認した後、配線確認のためブレッドボードで動きを確認します。DCモーターは片側だけ接続してます。
M5stickC drv8835
回転方向の正回転と逆回転やモーター出力の変更ができていることを確認できました。
今日のまとめ
M5stickCplusを使って倒立ロボットの機能確認をしました。ここまでは問題なく順調に進んでいます。躯体を作成し配線して「倒立」に向けて進めていきたいと思います。