NX11の製作

NX11 M5StickCで作る倒立振子の製作

NX11の製作

アジェンダ

 1. 概要
 2. 構成
 3. M5StickCについて
 4. DRV8830について
 5. 3Dプリント部品
 6. PID制御
 7. Blynkでコントロール
 8. スケッチ
 9. 動作確認

1. 概要

ネットを見ていると、M5StickCで作る倒立振子が流行っているようなので自分でも作ってみました。
NX11 Picture

2. 構成

1.M5StickC
2)DRV8830 x2 (秋月製I2C接続のモータドライバ基板)
3)DAGU DG01D MINI DC GearBox x2
4)タミヤ スリムタイヤ55mm x2
5)ミニブレッドボード
6)電池 単4x3 スイッチ付きの電池ボックス

3. M5StickCについて

M5StickCについてはブログの方で書きましたので、こちらを参照してください。

4.DRV8830について

DRV8830はI2C接続のモータードライバで今回は秋月の基板を使用しました。
drv8830

結線は以下のようにしています。
Connection

I2CのSDA,SCLは電源の4.5Vに2.2kΩでプルアップしました。
A0,A1でI2Cアドレスを設定します。今回は下記としました。
  右側用DRV8830のA0,A1をLow(GNDと接続)→ 0x60
  左側用DRV8830のA0,A1をオープン→ 0x64
DRV8830のISENCEは電流制限を抵抗R1,R2で設定します。
  R=200mV/Ilimit
DRV8830の定格電流が1Aなので0.2Ωとしました。
バッテリーは定電圧エラーの閾値2.75V以上に常になるようしないといけません。
3V程度だと、負荷を受けた時に2.75V以下になってFAULTになる可能性があります。
今回はアルカリ電池1.5Vx3=4.5Vとしています。

5.3Dプリント部品

2個のギアボックスとM5StickCをつなげる部品はFusion360で設計して3Dプリントしました。
NX11_02 NX11_03

またホイールはタミヤのスリムタイヤセットの55mmのものを使用しましたが、DAGUのギアボックスと合わないのでフランジは3Dプリントしました。
Wheel_01 Wheel_02

あと、今回は試行錯誤の結果、重りを付けて重心位置を下げています。
本来ならば高い位置に重心を置いた方が安定するはずですが、DRV8830で駆動するモータが追いつかないため
あまり高い位置に置けないことが分かりました。あえて重心を下げました。
NX11_04

6.PID制御

PID制御は以下のサイトが参考になります。
「PID制御について宇宙一わかりやすく解説してみる」

7.Blynkでコントロール

PIDゲインはiPhoneからちょこちょこ変更できるようにBlynkを使って調整できるようにしました。
Blynkについてはブログに書いたので参考してください。

8.スケッチ

基本的に以下のサイトのスケッチを参考にして作成しました。
  M5StickC で倒立振子 PID制御編 ー倒立振子への道 3ー
  M5StickC で倒立振子 Blynk でコントロール ー倒立振子への道 4ー
  全60Stepで超超簡単M5StickC 倒立振子

詳細のスケッチはブログを参照してください。

9.動作確認

PIDゲインを調整してかなり安定するようになりました。
5分以上自立することができます。

PIDゲインは各環境で変わると思いますが、以下のように設定しました。
NX11_05

更新履歴

  • 2020.4.4NX11 M5StickCで作る倒立振子の製作のページを作成。NEW 

inserted by FC2 system