2016-05-29 5 views
0

私は電源の電圧を制御するために有限状態機械を使用しています。ステートマシンの遅延を使用する

私はプログラム三つの状態ました:出力電圧がある場合、マイクロコントローラは入力を待っている、0Vである:
停止

状態OFF

enter image description here

ON

OFF
を同じ状態にとどまる入力はありません。

オン状態:この状態では、出力電圧は、この値に達すると電源がオフになるようにあるプリセット値に達するまで徐々に増加します。この状態から、適切な信号が受信された場合、電源は停止またはOFFに変更することもできます。

停止:この状態では、最後にON状態に達したときに出力電圧が一定になります。この状態から、電源はONに戻り、出力を増加し続けるか、またはOFFになります。

電圧制限に達するとオン状態になり、状態はすぐには変化せず、出力はdelta_t時間だけ一定に保たれ、その後オフになります。 ON状態でその動作を実装する場合、電圧が上昇していないときにこの遷移のためにこの状態に異なる状態を追加すべきですか?状態内に遅延があるのは正しいですか?この新しい状態は基本的には遅れになります。

enter image description here

編集。

これは、電源がON状態のときに理想的な出力です。これは0から始まり、プリセット値に達するまで増加し、所定の時間この値に留まり、OFF状態になります。

私はこのイメージの代わりに電流を流しましたが、負荷は純粋な抵抗であるため違いはありません。

enter image description here

+0

あなたはPID制御ループをしたい。 – pneumatics

+0

@pneumaticsそうでもありません、電圧はちょうどランプをたどり、遅れて消灯します。私は質問を更新する。私は、電圧限界に達した時を知るためにフィードバックのみを使用しています。 –

答えて

1

電圧プラトーは、意図した動作(つまり、あなたは電圧を超える瞬間コントロールを持って、そしてあなたのステートマシンが意図的に高く、それを保持している)の場合:それはに「ON」状態を分割することに意味を作ることができます'RAMP'と 'HOLD'の状態を分離します。

電圧プラトーが外部ハードウェアの結果である場合(たとえば、状態マシンが 'オン'信号の送信を停止してもシステムの実際の動作が遅くなるまでに遅延がある場合) (遅延の再現性が非常に高い場合)、または閉ループで動作する(たとえば、電圧を測定し、 '0'になっていない状態で 'WAIT'に留まり、次に 'OFF'に移行する)WAIT状態になります。いずれの場合も

システムは電圧ランピングの段階では異なる何かをやっているように、そう別々の状態が理にかなっている、と思われる。

関連する問題