FC2ブログ
2018-09-13 10:25 | カテゴリ:PIC応用回路


先日来PID制御のパラメータの設定(自動化も含めて)に悩んでいました。

フライホイールの無い、一般旧車両では、何とか良い印象の走行ができるのですが、フライホイール付きの車両の走行がどうも安定しません。
速度VRを一定にしても、車両の速度が勝手に上下して、波打つ感じです。
恐らくは、各種の係数の設定の問題と思うのですが、なかなかうまくいきません。

(PID8-01)
PID8-01.jpg




これまでの各種のテスト結果から、

1)フライホイール無の車両

モーターの回転の慣性が小さいので、小さな係数で細かく制御できる。

2)フライホイール有の車両

モーターの回転の慣性が大きいの、大きな係数で、強力に制御しないといけない。


と、判断していました。
そこで、フライホイール(FWとします)無のDD51の場合より、FW付きのEF81の係数を、Kp値とKd値は大きくした範囲で初期設定し、「自動係数計測」を行って結果を得ていました。
その結果が、上記の「不安定な波打つ走行」でした。

上手くいきません。


続きは、、、、




悩んだ末に、FW付きの車両に、FW無の設定より小さな係数(Kp)を設定して、自動計測させてみました。
実は、これが正解でした。


今回、最終的に落ち着いた係数では、低速度-中速度では、LED表示は比較的落ち着いています。


(PID8-02)
PID8-02.jpg



この理由を考えてみましたが、

1)FWの慣性で、駆動パルス終了後のBEMFの生成が比較的長く続き、大きなBEMFが計測される。

2)結果、速度変化が小さいと判断されるので、Kpが大きいとオーバーシュートする可能性がある。

3)小さなKp値を補う為に、Ki値を設定する。

4)一方、慣性が大きいので速度修正には大きな瞬発力が必要、Kd値はある程度大きい必要が有るが、過大だとハンチングする。



という理屈を考えました。(正解はわかりませんが)(笑)

暫定的な、良いと思われる係数は、

Kp=80/10,000

Ki=3/10,000,000

Kd=10

となりましたが、KpとKdは微調整が必要で、Kiはもう少し大きな係数でも確認したいです。
上記の走行テストの様子を動画に撮影しました。



(Kp調整以前の走行と現在の走行の動画)07












だいぶ安定した走行になってきましたが、まだ、「重量感」のある走行とは言えません。(笑)
何か見落としていないかと散々考えて、改良するポイントとして気づいたのは、駆動パルスの送出周期(周波数)です。

現状では、速度指定VRをAD変換して、その値に係数を掛けて、駆動パルスの送出周期を得ています。
ここを変更する事で、同じエネルギーをモーターに与える前提で、

1)パルス送出周期を短くする -> 一つのパルスの長さが短くなる -> モーター駆動の力が弱い(制御がし難い)

2)パルス送出周期を長くする -> 一つのパルスの長さが長くなる -> モーター駆動の力が強い(制御がし易い)

そこで、現状の駆動パルスの送出周期の係数を変えて、もう少し長い周期になるようにしてみました。


効果は絶大でした。(思わず「やった~」)


走行の安定性、重量感はもちろん、制御の確実性も向上した感じです。
難点は、若干、走行音(モーターからのジジッとする音)が気になる程度です。

この様な結果になれば、残念ながらもう一度、PIDの各パラメータを再設定しなければならないでしょう。

もう一度各係数を見直して、低速から中高速まで安定した走りを得る事が出来ました。


(パルス長の違いの動画)08




Kp係数を調整しても、もう一つ走行に安定感がなく、LEDライトも細かい点滅を繰り返していましたが
駆動パルスの送出周期をもう少し長い周期(約二倍)にしたところ、安定した、重厚感のある走行にする事が出来ました!!


いやはや、PFM制御を始めて、今回PID制御を加え、何とか当初の目的を達成する事が出来ました。
マニアックな話題に長々お付き合いいただき、ありがとうございました。

これにて一件落着!!

これから、「プロモーション・ビデオ」制作しますので、またご笑覧ださいね。(笑)




関連記事

管理者のみに表示する