3月~5月にArduinoを使った倒立振子に挑戦しましたが、なかなかうまくいかなかった上に、モーターやモータドライバを子供に回収されてバラバラにされてしまい、そのまま放置していましたが、こちらのサイト(からくり小箱:http://jr1wfhbbs.at.webry.info/)で同じジャイロセンサー(AE-GYRO-SMD)を使ってうまくいっているのを見て再挑戦してみました。
前回からの変更点はロータリーエンコーダを追加して、センサーはジャイロセンサーとロータリーエンコーダの2つとしています。
加速度センサーは子供の夏の自由工作のために取られたので、外しました。
ロータリーエンコーダの円盤部分はプラ板で自作してみました。解像度が低い上に回転方向が認識できませんが、なんとか使えるレベルにはなっています。フォトインタラプタには秋月で売っていたGP1A53HRJ00Fを使用しました。
調整を重ねた結果、ふらふらしながらもなんとか立つことができるようになりました。
【改善のポイント】
①パスコンでモーターからのノイズの影響を抑えることで、ジャイロの精度が上がりました。
②ジャイロの値やロータリーエンコーダの値は移動平均を取り、平滑化しました。また、ジャイロのキャリブレーションの値も動作中に移動平均を取り、ドリフトの影響を抑えます。
動作の様子