スポンサーサイト

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

PID制御の改良

今日はPID制御のD項に手を加える.
Dゲインを上げると収束が速くなるが,前々からディジタル制御特有のノイズ(キンキン音)が気になっていた.
そこでD項の計算方法を従来の位置偏差の時間微分からM/T法による速度偏差に置き換えて高精度化を狙う.

PID制御でモータをCosカーブに沿って動かしたときのPID各項の推移:




改善前の緑線,改善後の茶線に見られるように,D項の振幅が小さく押さえられていることが分かる.
これは位置偏差の微分を行う際に,エンコーダパルス間隔を一定周期でサンプリングする誤差が減ったことによるものである.
位置・速度の追従精度自体はまったく同等.しかし,聴感上はけっこう差があり,独特のかん高い音が減って滑らかになった気がする.

動作音の聞き比べ用動画:


前半は改良版のほうがやや静かに聞こえないでもない.一方後半のほうは違いがよく分からない.
とくに低速や等速で回した際に改善効果が大きいようだ.
スポンサーサイト

マイコンパラダイス

今日もダラダラとデバッグ中・・・



このように作業机の上は試作ボードとデバッグ器機が占拠している.
この机にPCは置けないためとなりにあるジグソー盤に置いてある.
前方の手の届く棚の上にはオシロスコープとDC電源があり,L字型をした作業スペースになっている.

私の場合,手の届く範囲に必ずメモ用紙を置くようにしている.キーを叩くよりも遙かに速くイメージがメモれるからだ.
デバッグ中もナイスなアルゴリズムやイケてる回路のアイデアが出ることがあり,忘れないようにすぐにメモを取るようにしている.
メモる時は良さげなアイデアだけでなく,ハシボウだったアイデアも残すようにしている.
「・・・を試したがダメだった」というアイデアのメモが,別のことをやっているうちに補強されて再び魅力的になってくる場合があるからだ.

はんだテラピー

今日ははんだの煙を吸って気持ちを落ち着かせる.
無心無想でラッピング基板を作っていると,いつかは涅槃の境地に達するのはまず間違いない.
しかし,そこに達するには長く険しい鍛錬が必要だ.

ふと壁を見たら焼けたDIP-ICがびっしりと貼り付いている・・・そういう悪夢を見たことがある.
「おまえが線を逆につないだせいで!おれはこうなったんだ!」って.

はんだの煙は,彼らを成仏させるためのお香とも取れる.
作業前にスポンジに水を含ませるのだって,あれはお供えの水である.
いつも「合掌」の心で基板を作らなければいけないな.

通信三昧

今日も短時間ながら作業を行う.
タイミングにムラがない高精度の同期通信とタイムアウト付き割り込みを使ったロバストな通信を両立させようとしているが,なかなかうまくいかない.2歩進んでは3歩戻る感じで,先が見えない.

 それはそうと,最近買ったRXマイコン用の E1デバッガ がここのところ大活躍している.
最も基本的な,任意のタイミングでブレイクして変数をウォッチできる機能がとても助かるのだ.
 通信が止まってしまった場合,分岐が多いとどこでスタックしているのか突き止めるのに時間がかかるが,デバッガがあればSTOPボタンを押すだけで停止したソース行を指示してくれる.
 実行サイクル数を計算してくれる機能なんかもあって,タイミングがシビアな高速割り込み内のコード最適化に役立っている.
 また,ターゲットのスイッチやハーネスを一切触らなくてもプログラムの書き換えがPC操作で完結できるのも地味に強力で,今までFDTを使って毎回Flashに書いて,シリアル通信やLEDにダンプしていたあのまどろっこさは何だったのかと思うほどだ.

しかしいくら良いツールがあっても,結局は自分のコード作成の腕が無ければ宝の持ち腐れになってしまう.
毎日精進あるのみだ.

通信プログラム作成中

ブログの更新にかなり間が開いてしまった.
通信プログラムに行く前にData-Flashをいじったり色々と寄り道をしていたが,このほどようやく通信プログラムを書き始めている.
前回まではSPIを無理やり差動化して使っていたが,通信線が多く,RS485のような数珠つなぎができないというトポロジーの問題もあった.

RXマイコンの最大通信速度はUARTで3Mbps程度.これをdsPIC33FでバッファしてSH4AとSPIで接続する.
RS485では片側通行なので通信速度が犠牲になるが,HUBマイコンを置くことで解決の見込みが立ってきた.
HUBマイコンは同期制御にも活躍する.HUBが通信タイミングを調整することでマスタ側に厳密な通信タイミングを要求しなくて良くなる.
しかし,HUBマイコンの実装はかなりシビアだ.
48kHzのPWMキャリアの合間に送受信データをパケットとして埋め込むという処理を行って,スレーブ側のジッタフリーを目指している.
RXの高速割り込みはなかなか優秀だが,CISCのせいか最適化をかけるほど実行速度の揺らぎも大きくなる.一方dsPIC33Fはコードによらず実行速度は常に一定になる.
通信機能の使いやすさではdsPIC33Fが一歩上か.
プロフィール

もやね

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

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