Arduino-dc-motor
Arduino-DCモーター
この章では、さまざまなタイプのモーターをArduinoボード(UNO)に接続し、モーターを接続してボードから駆動する方法を示します。
モーターには3つの異なるタイプがあります-
- DCモーター
- サーボモーター
- ステッピングモーター
DCモーター(直流モーター)は、最も一般的なタイプのモーターです。 DCモーターには通常、プラスとマイナスの2本のリードしかありません。 これら2本の導線をバッテリーに直接接続すると、モーターが回転します。 リード線を切り替えると、モーターは反対方向に回転します。
警告-Arduinoボードのピンから直接モーターを駆動しないでください。 これにより、ボードが損傷する可能性があります。 ドライバ回路またはICを使用してください。
この章を3つの部分に分けます-
- モーターを回転させるだけ
- モーター速度の制御
- DCモーターのスピンの方向を制御する
必要なコンポーネント
次のコンポーネントが必要になります-
- 1x Arduino UNOボード
- PN2222トランジスターx 1
- 1x小型6V DCモーター
- 1N1400ダイオードx 1
- 270Ω抵抗1個
手順
回路図に従って、以下の画像に示すように接続します。
注意事項
接続中は、次の予防措置を講じてください。
- まず、トランジスタが正しい方法で接続されていることを確認してください。 配置のように、トランジスタの平らな面をArduinoボードに向ける必要があります。
- 次に、ダイオードのストライプ状の端は、画像に示されている配置に従って、+ 5Vの電力線に向かっている必要があります。
スピン制御Arduinoコード
注意すべきコード
トランジスタはスイッチのように機能し、モーターへの電力を制御します。 Arduinoピン3は、トランジスタのオンとオフを切り替えるために使用され、スケッチでは「motorPin」という名前が付けられています。
結果
Arduinoのピン番号3が高くなると、モーターはフルスピードで回転します。
モーター速度制御
以下は、Arduinoボードに接続されたDCモーターの概略図です。
Arduinoコード
注意すべきコード
トランジスタはスイッチのように機能し、モーターの電力を制御します。 Arduinoピン3は、トランジスタのオンとオフを切り替えるために使用され、スケッチでは「motorPin」という名前が付けられています。
プログラムが起動すると、モーターの速度を制御する値を指定するように求められます。 シリアルモニターに0〜255の値を入力する必要があります。
「ループ」機能では、コマンド「Serial.parseInt」を使用して、シリアルモニターにテキストとして入力された番号を読み取り、それを「int」に変換します。 ここに任意の番号を入力できます。 次の行の「if」ステートメントは、番号が0〜255の場合、この番号でアナログ書き込みを行います。
結果
DCモーターは、シリアルポート経由で受信した値(0〜250)に応じて異なる速度で回転します。
スピン方向制御
リード線を交換せずにDCモーターのスピンの方向を制御するには、* Hブリッジ*と呼ばれる回路を使用できます。 Hブリッジは、モーターを両方向に駆動できる電子回路です。 Hブリッジは多くの異なるアプリケーションで使用されます。 最も一般的なアプリケーションの1つは、ロボットのモーターを制御することです。 回路図が「H」に見えるように接続された4つのトランジスタを使用するため、Hブリッジと呼ばれます。
ここでは、L298 HブリッジICを使用します。 L298は、DCモーターとステッピングモーターの速度と方向を制御でき、2つのモーターを同時に制御できます。 その電流定格は、各モーターで2Aです。 ただし、これらの電流では、ヒートシンクを使用する必要があります。
必要なコンポーネント
次のコンポーネントが必要になります-
- 1×L298ブリッジIC
- 1×DCモーター
- 1×Arduino UNO
- 1×ブレッドボード
- 10×ジャンパー線
手順
以下は、Arduino UnoボードへのDCモーターインターフェイスの概略図です。
上の図は、L298 ICを接続して2つのモーターを制御する方法を示しています。 各モーターには3つの入力ピンがあり、Motor1にはInput1(IN1)、Input2(IN2)、Enable1(EN1)、Motor2にはInput3、Input4、Enable2があります。
この例では1つのモーターのみを制御するため、ArduinoをL298 ICのIN1(ピン5)、IN2(ピン7)、およびEnable1(ピン6)に接続します。 ピン5と7はデジタルです。 ONまたはOFF入力。ピン6は、モーター速度を制御するためにパルス幅変調(PWM)信号を必要とします。
次の表は、IN1とIN2のデジタル値に基づいてモーターが回転する方向を示しています。
IN1 | IN2 | Motor Behavior |
---|---|---|
BRAKE | ||
1 | FORWARD | |
1 | BACKWARD | |
1 | 1 | BRAKE |
IC L298のピンIN1はArduinoのピン8に接続され、IN2はピン9に接続されます。 Arduinoのこれら2つのデジタルピンは、モーターの方向を制御します。 ICのEN Aピンは、ArduinoのPWMピン2に接続されています。 これにより、モーターの速度が制御されます。
Arduinoピン8および9の値を設定するには、digitalWrite()関数を使用し、ピン2の値を設定するには、analogWrite()関数を使用する必要があります。
接続手順
- 5VとICのグランドをそれぞれ5VとArduinoのグランドに接続します。
- モーターをICのピン2および3に接続します。
- ICのIN1をArduinoのピン8に接続します。
- ICのIN2をArduinoのピン9に接続します。
- ICのEN1をArduinoのピン2に接続します。
- ICのSENS Aピンをグランドに接続します。
- Arduino USBケーブルを使用してArduinoを接続し、Arduino IDEソフトウェアを使用してプログラムをArduinoにアップロードします。
- 電源、バッテリー、またはUSBケーブルを使用してArduinoボードに電力を供給します。
Arduinoコード
結果
モーターは最初に3秒間時計回り(CW)方向に作動し、次に3秒間反時計回り(CCW)に作動します。