« prime(プライム) | トップページ | 2回目の会社説明会 »

2008年3月28日

モータ制御プログラムのデバッグ

ネガティブフィードバック制御をプログラムで実現する場合、個々の演算モジュール毎の動作確認をして、それらをループに構成したとたん、デバッグが難しくなる。過去の情報がグルグル蓄積されて、現在の状況があるという事態になる。

とくに、CPUバスが外部ピンとして出ていない場合、核心を直接観測できないので、非常にもどかしい。この場合、状態を観測するために

1、内部データを通信で、長時間ロギングして、エクセル等で解析

2、DAコンバータで、アナログ連続波形としてオシコスコープで解析

という方法がある。

1、の場合、データ蓄積用の内部RAM空き容量が必要。UART(SCI)でデータをアップロードして、解析に時間がかかる。

2、の場合、SPIポートが空いていれば、そこにシリアル入力のDAコンバータがつながる。

2、を薦める。可能ならば16ビットDAが2チャンネル欲しい。DAコンバータチェンネル1に疑わしい演算モジュールの演算「前」のデータを出力、演算「後」のデータをもう1つのチャンネルへ出力する。そうすると、どちらが先に問題となる値を出したか、前後関係が明確になる。

このほかに、PWM出力ポートが空いていたら、PWM信号+CRフィルタで、速度等の低速信号アナログモニタを用意しておくとよい。

|

« prime(プライム) | トップページ | 2回目の会社説明会 »

技術」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック


この記事へのトラックバック一覧です: モータ制御プログラムのデバッグ:

« prime(プライム) | トップページ | 2回目の会社説明会 »