創るたのしみを応援

高機能DCモータコントローラ Pololu Jrk G2 21v3

ポジションメータによるフィードバック制御

Pololu Jrkは、TargetとFeedbackの2つの変数が内部にあり、2つの変数によりPID制御を行っています。Feedback変数はセンサのフィードバック信号により変化し、アナログ入力と周波数入力の2種類に対応しています。

アナログ入力を使った、ポジションメータ(可変抵抗)によるフィードバック制御をしていきます。

Jrk G2アナログフィードバック制御概要

ポジションメータの配線

ポジションメータを次のように接続します。

  • FBA: アナログ入力
  • AUX: 5V出力
  • POT-/GND: GND

フィードバックモードの設定

Jrk G2 Configuration Utilityで「Feedback」タブを開き、「Feedback mode」を「Analog voltage」に設定します。また、「Detect disconnect with power pin(AUX)」のチェックボックスにチェックを入れます。

次に「Errors」タブを開き、「Feedback disconnect」の「Enabled and latched」を選択し、右下の「Apply settings」をクリックして設定を適用します。

ポジションメータの設定

ポジションメータの最大と最小のときの電圧を、Pololu Jrkに設定する必要があります。この作業をしないと、ポジションメータの限界を超えてモータを回転させる危険があるため、必ず行ってください。

「Feedback」タブを開き、「Scaling」ボックスの「Feedback setup wizard…」をクリックします。

すると、Feedback setup wizardが開始するので「Next」をクリックします。

次の画面ではモータの正転方向を確認、変更できます。「Speed limit」を上げて(30%程度でほとんどのモータが回転します)「Drive forward」をクリックすると、クリックしている間はモータが回転します。回転時にフィードバックスライダが右に動くようにモータの正転方向を選択します。左側に動く場合は正転方向を入れ替えてください。作業が完了したら、「Next」をクリックしてください。

次の画面では、モータの方向ではなくポジションメータの方向を変更して正の方向を決定します。前の画面でモータの方向を変えて正の方向を決定したので、ここで設定を変更する必要はありません。「Standard feedback direction」にチェックがついていることを確認し、「Next」をクリックしてください。

次の画面は、ポジションメータの範囲を設定できます。ポジションメータを最大角度にして、「maximum value」横の「sample」をクリックしてください。また、最小角度にして「minimum value」横の「sample」をクリックしてください。作業が完了したら「Next」をクリックしてください。

次の画面では設定した値の範囲を確認、編集できます。「Finish and apply settings」をクリックすればポジションメータの設定は完了です。

フィードバックのテスト

「PID」タブを開き、「Propotional coefficient」を1に、他のパラメータは0にし、右下の「Apply settings」をクリックして設定を適用します。

「Manually set target」のスライドバーを動かします。青いスライダが操作しているバーで、赤い点がポジションメータからフィードバックされた値です。スライダを動かすと赤い点が追従しようとします。モータを止める場合は左下の「Stop motor」をクリックします。

青いスライダが目的位置を指定していて、操作するとモータを回転させポジションメータの値を確認しながら目的位置へ移動させます。逆に、ポジションメータの値が変わる(モータが外からの力で回転する)と、目的位置へ戻そうと制御が働きモータを回転させます。

ここで設定したPIDパラメータはP制御のみの簡単なテスト用です。パラメータを適切に設定すれば追従性はさらに良くなります。

  1. Pololu Jrkシリーズ概要
  2. 専用ソフトウェアのインストールとモータ制御
  3. ポジションメータによるフィードバック制御
  4. 1相ロータリーエンコーダによるフィードバック制御
  5. Arduinoでの制御
  6. mbedでの制御
  7. Raspberry Piでの制御
  8. ライブラリの使い方と関数一覧

SNSでフォローする