GPIO、ADC および DAC 接続をもつマイクロコントローラー
この例では、マイクロコントローラー ユニット (MCU) と物理システムの間のインターフェイスをモデル化する方法を示します。ここでは、マイクロコントローラーの GPIO、ADC、および DAC 接続を使用して、角運動が限定された DC モーターと接続負荷を制御します。ポテンショメーターのセンサーを介して、負荷角度を測定します。この測定値のキャリブレーションを行うため、最初に、フォトダイオードが LED からのゼロ角度の光パルスを検出するまで回転子の位置を上昇させます。キャリブレーションが完了したら、MCU は 0.1 Hz、45 度振幅の正弦波の生成を命令します。
モデル

コントローラー サブシステム

GPIO 1 サブシステム

Motor Driver サブシステム

Photodiode サブシステム

Potentiometer サブシステム

Simscape ログからのシミュレーション結果
以下のプロットは、モーター制御システムのパフォーマンスを示しています。シミュレーションの開始時に、コントローラーは、モーター シャフトの既知の位置 (0 度) が見つかるまでモーターを回転させます。その後、コントローラーが基準信号を追跡します。

リアルタイム シミュレーションの結果
この例は、以下のプラットフォームでテストされました。
Intel® 3.5 GHz i7 マルチコア CPU と 4 GB の RAM を搭載した Speedgoat™ Performance リアルタイム ターゲット マシン。
3.5 GHz の Intel® Core XEON E3-1275v3 と 4 GB の RAM を搭載した dSPACE® SCALEXIO LabBox。
Simscape のローカル ソルバーを使用することで、このモデルを 300 マイクロ秒のステップ サイズでリアルタイム実行できます。サンプル レートが小さい場合、コールド キャッシュが原因で、最初のタスク実行中にタスク オーバーランが発生する可能性があります。このオーバーランを回避するには、選択したプラットフォームがこれらのオプションをサポートしている場合、タスク オーバーランの数を制限するか、リアルタイム アプリケーションの起動フェーズにおいてタスクのオーバーラン許容回数を制限するか、周期タスクのサンプル時間を延長することで、起動時の動作を緩和できます。
参考
Controlled PWM Voltage | H-Bridge | DC Motor | Photodiode