スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

通信の改良など

また長らく更新が止まってしまったが,ここしばらくはサーボ駆動アルゴリズムの改良などをやっていた.
オブザーバによる瞬時値や時間遅れ補正されたパラメータを制御に使う中で,
制御周期の高速化や周期の振れ(ジッタ)を減らすことで更に制御性能向上が望めることが分かってきたためだ.

 今まで大部分をCPUで処理していた通信処理をDMAを使ってバックグラウンド動作させ,さらにデータの送受タイミングや割り込みを工夫して配置することで通信時間を大幅に圧縮した.
これにより捻出したCPUリソースを制御アルゴリズムに割り当てることで,従来に比べジッタを大幅に減らし,
制御周期もトルク制御50kHz,位置・速度制御10kHzが可能になった.
8000rpmまで回して15000deg回し,また元の位置に戻す指令値での実験結果が以下.






従来はゲイン調整しても位置誤差が±1.5deg程度はあったものが,改良後は±0.2deg程度に抑えられている.
このモータのエンコーダは512pprなので4逓倍の1パルス角度が0.18degに相当する.
つまりスタートから停止までの全軌道でほぼエンコーダの限界分解能である±1pulse以内の追従精度が得られていることになる(ただし,動き出しと停止直前は除く).
単純にエンコーダパルスをディジタル値としてカウントしただけでは±1pulse以下の分解能では制御はできないが,モデルベース制御とオーバサンプリングによってそれ以上の制御が可能になる.
摩擦,慣性などのフィードフォワード項をうまくチューニングできれば,単一イナーシャの負荷では誤差±1pulse以下の完全追従が実現できることがこの実験で確かめられた.

次に2軸プロッタを動かしより実機に近い条件で駆動実験を行った.
軌道サンプルは以下の2種類.
だいたい3分程度の駆動を行い,追従角度誤差の平均値,最大値をアルゴリズムの改良あり・なしで比較した.





こちらも追従精度が全体で約30%UPした.
とくに高速で精度向上が顕著になり,これまでは5000rpm以上で回すとエンコーダ補正の積和演算が10kHzの1周期に終わらず,制御周期が乱れて耳障りなキンキン音がしていたのが,きれいさっぱり無くなった.
追従精度については,もうやることがなくなってきた.
あとやるとしたら適応フィルタによる制振制御だが,もうCPUに全く余裕がない.さてどうするか・・・
スポンサーサイト

この記事へのコメント

トラックバック

URL :

プロフィール

もやね

Author:もやね
長野県在住の会社員(メカニカル・エンジニア).
ロボットは完全な趣味としてやってます.
E-mail:
mo_ya_ne[a]yahoo.co.jp
[a]⇒@

最近の記事
最近のコメント
最近のトラックバック
月別アーカイブ
カテゴリー
FC2カウンター
ブログ内検索
RSSフィード
リンク
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。