LESSON 010 011
モータドライバ でDCモータを動かす ②
モータを制御するためには、4種類の方法があります
① トランジスタ
② リレー
③ モータドライバ L293D
モータドライバ TA7291P
④ モータドライブ シールド
① トランジスタ
② リレー
③ モータドライバ L293D
モータドライバ TA7291P
④ モータドライブ シールド
① トランジスタ と ② リレー は 前回説明した様に ON・OFF(0% or 100%) 制御 でした。単純に動くか、停止するかの制御でしたが、モータドライバを使用すればモーターの回転数を細かく設定できます。また、モーター・ドライバは過電流保護機能や過熱保護機能などの保護機能があります。
LESSON 010 L293D でモータを動かす
LESSON 011 TA7291P でモータを動かす
#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);
}
LESSON 011
TA7291P でモータを動かす
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を参考に作っていますが、私なりに噛み砕いて書いているつもりですが、判らない点がありましたら連絡下さい。