最近、ステッピングモーターにはまってます。
前回は、L293Dを使ったシールドでステッピングモーターを回しました。
今回は、A4988 を使ったモジュールを使用してみます。
A4988モジュール、Arduino UNO、ステッピングモーターの接続は以下のとおり。
DIR は Arduino D4 へ。
STEP は Arduino D5 へ。
ENABLE は Ardino D6 へ。
RESET と SLEEP は短絡。
MS1、MS2、MS3は GND でモードは[フルステップ]です。
モーター電圧は8V~10Vで実験してみました。
実際に動作させてみた様子。
Arduino でステッピングモータを回す #2
可変抵抗でモーター回転数を簡単に変更できるようにしてみました。
スケッチは以下のとおり。
int x;
void setup() {
Serial.begin(9600);
pinMode(6,OUTPUT); //ピンモードの設定
pinMode(5,OUTPUT); //ピンモードの設定
pinMode(4,OUTPUT); //ピンモードの設定
digitalWrite(6,LOW); //動作ENABLE
digitalWrite(4,HIGH); //回転方向
}
void loop() {
int Value = analogRead(A0);//アナログ値取得
Value = map(Value,0,1023,50,1000);取得したアナログ値を50~1000の間でマッピング
Serial.println(Value);
for(x = 0; x < 500; x++) //500パルスごとに区切る
{
digitalWrite(5,HIGH);
delayMicroseconds(Value);
digitalWrite(5,LOW);
delayMicroseconds(Value);
}
}
スケッチの delayMicroseconds(Value) の値が180位で脱調して急停止(^^;)
モーター電圧をあげることで停止する回転数を上げられることを確認できました。