わかりましたので、すべてのハードウェアは既に完了していますか?
システムには現在のレベルのアンペア(ソフトウェアでは倍精度浮動小数点数で指定)のコマンド入力があり、コントローラの出力は電流を引き込むハードウェアを制御する電圧です。は回路で、フィードバックはおそらくあなたのA/Dに応じて符号付きか符号なしかの8,10または16ビットの数字です。
だからあなたのシステムが次のようになります。
alt text http://steves-wiki.wikispaces.com/file/view/control_diagram.jpg/64043668
あなたの最も迅速かつ汚いアプローチはおそらく、PID制御です。あなたはthis Wikipedia articleで基本をブラッシュアップすることができ、このembedded.com articleに実装に関するヒントがあります。
あなたの例では、現在のコマンド - 現在のフィードバックであるシステムのエラーを計算します。すべてが同じ単位で、うまくいけばアンペアであることを確認してください。次に、エラーを計算した後、コマンドで修正する必要があります。あなたのシステムでは、電圧制御された電流源に対する電圧コマンドです。 PIDでは、誤差、誤差の積分、および誤差の微分にゲインを掛けて結果を合計することによって、コマンドが計算されます。利益は難しい部分です。その他の難しい部分は、ユニットが一貫していること、タイミングが適切であること、正確な積分/派生計算を確実にすることです。
システムでは、エラーはAmps、コマンドはAmpsになり、現在の使用量はAmpsで、Voltsとして報告され、符号付きまたは符号なし整数に変換されます。エラーを適切にするためにアンペアに縮小してください。多くの変数があり、それぞれにどのような物理的単位が当てはまるかを把握できることを確認してください。
制御アルゴリズムはハードリアルタイムであり、専用レートで実行する必要があります。私は少なくとも100Hz(10msごとの計算)をお勧めします。電子回路は素早く動く。電気機械システムに似ているわけではない。あなたは物事の上にとどまるために高いレートを必要とするかもしれません。しかし、それはリアルタイムでは難しくなければなりません。つまり、一貫性があります。あなたはソフトウェアタイマーで逃げることさえできないかもしれません。
統合と微分の計算は難しいですが、それほど多くの方法があります。最も基本的なアルゴリズムは長方形ルールです - それはダムですが、おそらく動作します。より正確に台形ルールを使用する必要がある場合。アルゴリズムがhereであることを確認してください。ほとんどの場合、デリバティブコントロールは使用されません。ほとんどのシステムで不安定になりがちです。積分+比例制御でうまくいくはずです。
落とし穴がたくさんありますが、これが始まるはずです。あなたが制御理論の背景を持っていれば、それはすべてあなたに戻ってくるはずです。フレームワークが整備されたら、比例的かつ積分的な利益を調整するのに多くの時間を費やします。それは仕事の肉です。これはまだあなたのためにあまりにも多くの数学のように見える場合は、よく、ごめんなさい - これはコントロールのために取得するほど簡単です。
良い要約。 あなたが言ったように、しかし:D用語をスクラップします。温度コントローラー以外はほとんど使用しません。 –
偉大な応答!ちょっとした問題ですが、テキストの半分がブラウザの広告で覆われてしまいます。しかし、他に感謝して、私はPIDを見ていたが、用語で少し失われていた、あなたのダイアグラムは、多くの助けになります。再度、感謝します! – Richard
ああ、ハードウェアはすでに設定されています。 – Richard