【Arduino】 DCモータを動かす ②

LESSON 010  011

  モータドライバ でDCモータを動かす ②

 モータを制御するためには、4種類の方法があります
         ①​ トランジスタ
         ② リレー​  
         ③​ モータドライバ   L293D
           モータドライバ    TA7291P
         ④ モータドライブ シールド
    ①​ トランジスタ と ② リレー​ は 前回説明した様に ON・OFF(0% or 100%) 制御  でした。単純に動くか、停止するかの制御でしたが、モータドライバを使用すればモーターの回転数を細かく設定できます。また、モーター・ドライバは過電流保護機能や過熱保護機能などの保護機能があります。

LESSON 010
  L293Dでモータを動かす

構成部品

マイコンボード  Arduino
USBケーブル
モータ
モータドライバ   L293D
電源モジュール  5.0V使用
ジャンパーケーブル
ブレッドボード
配線図

   
 
 
 
スケッチ《 test008 》
#define ENABLE 12
#define MA 11
#define MB 10
void setup() {
//---set pin direction
pinMode(ENABLE,OUTPUT);
pinMode(MA,OUTPUT);
pinMode(MB,OUTPUT);
}
void loop() {
digitalWrite(ENABLE,HIGH); 
digitalWrite(MA,HIGH); 
digitalWrite(MB,LOW);
delay(2000); 
digitalWrite(MA,LOW); 
digitalWrite(MB,HIGH); 
delay(2000); 
for(int i=0;i<255;i++){
analogWrite(MA,i);  
analogWrite(MRB,0);
delay(20); } 
delay(2000); 
}
〇 解説

  • モータドライバ   L293D は 一方向の回転 の場合 モータ 4個
                 正転逆転 場合    モータ 2個 の制御出来ます。
       
    ENABLE 1/2 に信号を流すと モータ 1 2 が使えます。反対側の モータ 3 4 を使うならENABLE 3/4を ON にして下さい。
      
    正転逆転は下記の表で替えられます。   

    MA MB
    正転 digitalWrite HIGH LOW
    analogWrite 1 ~ 255 0
    逆転 digitalWrite LOW HIGH
    analogWrite 0 1 ~ 255

      

実行

LESSON 011 

TA7291P でモータを動かす

構成部品

マイコンボード  Arduino
USBケーブル
モータ
モータドライバ  TA7291P
電源モジュール  5.0V使用
ジャンパーケーブル
ブレッドボード
配線図
 

     
 
スケッチ《 test009 》

const int MA = 9;
const int MB = 10;
const int rot = 11;
void setup() {
  pinMode(MA,OUTPUT);
  pinMode(MB,OUTPUT);
}
void loop() {
 digitalWrite(rot,HIGH);
 digitalWrite(MA,HIGH);
 digitalWrite(MB,LOW);
 delay(1000);
 digitalWrite(MA,LOW);
 digitalWrite(MB,LOW);
 delay(1000);
 analogWrite(rot,80);
 digitalWrite(MA,HIGH);
 digitalWrite(MB,LOW);
 delay(1000);
 analogWrite(rot,0);
 delay(1000);
}

〇 解説
  
 モータドライバ  TA7291Pは 一方向の回転 の場合 モータ 2個
               正転逆転 場合    モータ 1個 の制御出来ます。 
    
  回転数 を変えるには、 
   digitalWrite(変数,HIGH); 停止 LOW  起動 HIGH
   analogWrite(変数,255); 0 ~ 255 可変  
  
 回転方向

  MA MB
正転 HIGH LOW
逆転 LOW HIGH

  
実行

まとめ

 
○ モータドライブの2種類を説明しましたが、2個のモータを正転逆転で動かす場合は問題はありませんが、4個のモータを全てを回転数を変えったければ、 L293D は可能ですが、TA7291Pは1つのICで2個のモータは起動できますが一つ一つのモータの回転数は変えらません。
  
〇 モータドライブをパッケージしたものをモータドライブ シールドと言います。
  Arduino の上に乗るタイプです。

    ※ モータドライブ シールド はセンサを説明してから解説します。

  
○ Arduino を 学ぶ上で書籍やWebpageを参考に作っていますが、私なりに噛み砕いて書いているつもりですが、判らない点がありましたら連絡下さい。

目次