- DCモーターを制御するためのMATLABグラフィカルユーザーインターフェイスの作成
- ArduinoでDCモーターを制御するためのMATLABコード
- 必要な材料
- 回路図
- MATLABによるDCモーターの制御
このチュートリアルでは、MATLBとArduinoを使用してDCモーターを制御する方法を示します。MATLABを初めて使用する場合は、MATLABを使用した単純なLED点滅プログラムを開始することをお勧めします。
DCモーターを制御するためのMATLABグラフィカルユーザーインターフェイスの作成
Arduino for MATLABでのセットアップが完了したら、DCモーターを制御するためのGUI(グラフィカルユーザーインターフェイス)を構築する必要があります。GUIを起動するには、 コマンドウィンドウに 次のコマンドを 入力します
ガイド
ポップアップウィンドウが開き、下の画像に示すように、新しい 空白のGUI を選択します。
次に、以下に示すように、時計回りの回転、反時計回りの回転、およびSTOPの3つの押しボタンを選択します。
ボタンのサイズを変更したり、ボタンの形状を変更したりするには、ボタンをクリックするだけで、ボタンの角をドラッグできます。押しボタンをダブルクリックすると、その特定のボタンの色、文字列、タグを変更できます。下の写真に示すように、3つのボタンをカスタマイズしました。
あなたはあなたの選択に従ってボタンをカスタマイズすることができます。これを保存すると、MATLABの エディターウィンドウ にコードが生成され ます 。プロジェクトに関連するタスクを実行するためにArduinoをコーディングするには、この生成されたコードを常に編集する必要があります。以下では、MATLABコードを編集しました。
ArduinoでDCモーターを制御するためのMATLABコード
DCモーター制御用に編集した後の完全なMATLABコードは、 このプロジェクトの最後にあります。さらに、ここにダウンロード用のGUIファイル(.fig)とコードファイル(.m)が含まれています。これらを使用して、要件に応じてボタンをカスタマイズできます。以下は、DCモーターを時計回り、反時計回りに回転させ、3つの押しボタンの使用を停止するために行ったいくつかの調整です。
以下のコードをコピーして、行番号に貼り付けます。74 mファイルを実行するたびに、ArduinoがMATLABと通信していることを確認します。
すべてクリア; グローバルa; a = arduino ();
下にスクロールすると、GUIのすべてのボタンに3つの機能があることがわかります。次に、クリック時に実行するタスクに応じて、すべての関数にコードを記述します。
では 時計回りの ボタンの機能、コピー機能の終了括弧が時計回り方向にモーターを回転させる直前に以下のコードを貼り付けます。ここでは、モーターを時計回りに回転させるために、ピン6でHIGH、ピン5でLOWを指定しています。
グローバルa; writeDigitalPin(a、 'D5'、0); writeDigitalPin(a、 'D6'、1); 一時停止(0.5);
今では 反時計回り ボタンの機能、反時計回りの方向にモーターを回転させる機能の終了時にコードの下に貼り付けます。ここでは、モーターを反時計回りに回転させるために、ピン5でHIGH、ピン6でLOWを指定しています。
グローバルa; writeDigitalPin(a、 'D5'、1); writeDigitalPin(a、 'D6'、0); 一時停止(0.5);
最後に STOP ボタンの機能で、最後に以下のコードを貼り付けてモーターの回転を止めます。ここでは、ピン5と6の両方でLOWを与えて、モーターを停止しています。
グローバルa; writeDigitalPin(a、 'D5'、0); writeDigitalPin(a、 'D6'、0); 一時停止(0.5);
必要な材料
- MATLABがインストールされたラップトップ(設定:R2016a以降のバージョン)
- Arduino UNO
- DCモーター
- L293D-モータードライバー
回路図
MATLABによるDCモーターの制御
回路図に従ってハードウェアをセットアップした後、実行ボタンをクリックするだけで、編集したコードを.mファイルで実行できます。
MATLABが応答するまでに数秒かかる場合があります。以下に示すように、画面の左下隅に表示されるBUSY表示が表示されるまで、GUIボタンをクリックしないでください。
すべての準備ができたら、時計回りまたは反時計回りのボタンをクリックしてモーターを回転させます。時計回りのボタンを押すと、ピン6からピン5に電流が流れ、モーターが時計回りに回転します。反時計回りに電流がピン5からピン6に流れ、モーターが時計回りに回転し、時計回りに回転します。DCモーターの回転を停止するには、STOPボタンを押します。同じ方法を使用して、MATLABを使用してサーボモーターを制御できます。それに応じてコードを編集する必要があります。以下のビデオをチェックして、Arduinoを使用したMATLABDCモーター制御の完全なプロセスを理解できます。