FC2ブログ
2018-12-07 13:48 | カテゴリ:PIC応用回路


テスト走行の様子をよく見ると、大きなカーブを走行する際に、ラインの位置が常にセンサーの端を捉えていて、なかなか中央部でとらえていないことがわかります。
恐らくこれは、Kpの値が不足しているか、あるいは、まだ設定していない「積分の誤差を補正するKi値が指定されていない」からかもしれません。

ここで、Ki値をちょっと模索してみます。
係数のKiは、積分で作用するので、小さな値でよさそうです。

(LT1001)



SD=14

続きは、、、、



いろいろ係数を試行錯誤しました。

(LT1002)



最小SD=13
Kp=0.065 Ki=0.0015 Kd=0.6
スムースさは、最良ではない



(LT1003)



SD=17最良スムース
SDは最良ではない
Kp=0.065 Ki=0.0017 Kd=0.45



どうもまだまだぎくしゃく。
SD値が最良でなくても、見た感じのぎくしゃく感が少なく、スムースに見える場合もあれば、SD値が最良でもぎくしゃく感が大きい印象の場合もありました。
急にコースを修正して、SD値を上げても、そのためにかえってぎくしゃく感が出ている気がします。

そんな折、WEBを見ていたら、デジタルフィルターなるものを知ることに。


「なんでも独り言」さんのサイト
なんでも独り言さん
https://ehbtj.com/electronics/sensor-digital-filter/
から引用。

係数を90%(前回の値)+10%(今回の値)の場合の波形例


(LT1004)

LT1004_LPF.jpg


従来のPID制御に加えて、デジタルのローパスフィルター(LPF)を導入しているサイトがありました。
デジタルでLPFをする方法(プログラミング)も紹介されていましたが、要するに、現在のセンサーの検出値をそのまま使用するのではなく、直前のセンサーの値の80-90%と新たなセンサーの値の20-10%を混ぜて使用するというものです。
なるほど、なるほど!
これなら急なセンサー値の変化に大きく振られる事も少なくなりそうです。

結果、見た感じはスムースに、よくなりましたが、係数を変化させたときの実際の反応が遅くなり、再調整が必要です。
過去の計測値を80-90%を引きずっているわけなので、係数の「効き」が鈍くなるのもわかります。

幸か不幸か、またまた係数も再度一から調整に!(泣)

(LT1005)



Kp = 0.05;
Ki = 0.001;
Kd = 0.4;
Pa = 8;
Pb = 2;

同じPID係数ではないので一概に比較できませんが、左右の振れが滑らかになった気がします。(笑)


いろいろ走行テストをしているうちに、Nicd電池の電圧が低下してきました。
そうすると速度が低下して係数も変わってきます。
これでは電池の電圧が変化するたびに、係数が変わって、ある意味使い物になりません。(ヒェ~!)

ならば、5Vの電源ICを使用するためには、Nicdの電池の本数を増やして6V以上を作るか、ほかの電池を検討するしかありません。

何かないかと考えていると、昔の携帯のリチィウム電池がありました。
ちょうど同じ規格の物が二個ありこれを使用することに。

電源モジュールの製作にあいなりました。(つづく、、、)

関連記事

管理者のみに表示する