とりあえずのPID制御に成功。

Posted at 05/11/08

とりあえずPID制御ができるようになったみたいです。思っていたよりも簡単にできてしまったのでちょっと拍子抜けしていますが、最適なパラメータを見つけるのはかなり苦労しそうです。

制御周期はRB995と同じ1.4ms程度で実験中です。確認方法としてはサーボのポテンショメータとは別の可変抵抗をAD変換してその電圧に応じた角度に合わせるようにサーボを制御するという方法をとっています。

はまったのはPWMをOFFするときの動作です。モータにかかる電圧を見ていると中途半端な中間電位が発生しているので、なぜかと思ってバイブルである宮田さんの資料P.24を見ると答えがありました。

PWMをOFFするときにはすべてのFETをOFFにするのではなくPchのみONにしてモータにたまっている電流を逃がしてやる必要があります。これでちょっとはまりました。私が最初書いていたソースではOFFにするときにすべてのポートをOFFしてしまっていました。

それから、最初制御をP制御のみで行おうとしていましたがこれだと0-60度くらいしか振れませんでした。I制御をわずかに加えることで格段によくなり、制御範囲も0-180度振れるようになりました。D制御の与え方が微妙で、現状では常にプルプルしてしまっています。

何はともあれPID制御できるようになってしまったようです。今後はパラメータをいろいろと合わせこんでノーマルのRB995同等の性能が出るくらいまではもっていきたいと思います。

スポンサードリンク