Wolfram言語

DCモーターの閉ループ速度制御

閉ループ制御では,コントローラは,基本的に,関心がある変数の希望する値と実際の値を比較して,実際の値が希望する値と一致するように制御努力を調整する.

完全なWolfram言語入力を表示する

この例では,Arduino Unoマイクロコントローラボードに速度コントローラを配備する.モーターの実際の速度はエンコーダで測定する.希望する速度はポテンショメータで設定する.モーターの電力源はモーターシールドである.最後に,基準速度と実際の速度はデバイスのスレームワークを使って読み取られるシリアルRS-232バスで送信される.

DCモーターのモデル.

サンプリング周期が0.25秒のPIDコントローラを設計する.

エンコーダは1回転あたり12カウントを出し,モーターのギアボックスは9.86のギア比を持つ.エンコーダの読取り値をrpmで取得するモデルを作成する.

基準は0Vから5Vまでのポテンショメータで設定される.0rpmから500rpmまでを読み取るようにスケールし直す.

基準速度と実際のエンコーダの速度を比較する比較器.

モーターに対するマイクロコントローラの出力はPWM信号のデューティ比に基づいている.モーターの実際の電圧は,モーターシールドからきている.次は,測定されたデータの区分フィットに基づく電圧とデューティ比の関係である.

電圧をデューティ比にマップするシールドの逆モデル.

Arduino,シールド,モーター,入出力のブロック図.

これからArduinoに配備されるコントローラには2つの入力と3つの出力がある.

最初の入力はポテンショメータの値によって設定された基準速度である.2番目の入力はエンコーダによって測定された実際の速度である.

最初の出力はモーターを駆動するPWM信号のデューティ比である.他の2つの出力は,シリアルRS-232接続によって送信された基準速度と実際の速度である.

コードを配備する.

ターゲットへのシリアル接続を開く.

0.25秒ごとに値を読むようにスケジュールされたタスクを設定する.

完全なWolfram言語入力を表示する

設定基準値と外乱に対する応答を示す結果をプロットする.

タスクを削除してデバイスの接続を閉じる.

関連する例

de en es fr ko pt-br zh