さて、第一段階はステッピングモーターです。参考にするB-ROBOTにはNEMA17という米国規格のモーターが使われています。NEMA17モーター相当の製品は日本では秋月電子にてSM-42BYG011が入手できます。オリジナルマインドというところで日本電産製のKH42HM-801という製品が比較的安価で入手できます。今回は安いKH42HM(680円)を使ってみます。
ドライバーは定番のA4988を選択します。こちらはAliexpressで5個で約7$(送料込)で購入。
これで部品は揃いましたのでブレッドボード上に配線します。A4988の結線はこちらのサイトを参考にさせていただきました。http://blog.goo.ne.jp/snagai4500/e/ca8bbfca4c6c7f1c772d129ea5ea4e65
MS1,2,3の役割は各PinのHIGH,LOWによってステップサイズを変更できるようです。B-ROBOTの回路図では3ポートに5Vを接続すなわちHIGH状態で16ステップにしているようなので取りあえずはそのように配線してみます。
電源には本番予定の3.7V電池を接続します。作動限界電圧を測定しておきたいのでDCDCコンバータをいれてあります。これで3.7V以上で電圧調整が可能です。
スケッチは以下のようにしました。
int x;
void setup() {
pinMode(4,OUTPUT); // Enable → Arduinoの4番ピンへ
pinMode(6,OUTPUT); // Step → Arduinoの6番ピンへ
pinMode(5,OUTPUT); // Dir → Arduinoの5番ピンへ
digitalWrite(4,HIGH); // Set Enable low → Low状態でEnable
}
void loop() {
delay(3000);
digitalWrite(4,LOW);
digitalWrite(5,HIGH); // Set Dir High → 回転方向をセット
for(x = 0; x < 200; x++) // 括弧内を200回実行
{
digitalWrite(6,HIGH);
delayMicroseconds(2000);
digitalWrite(6,LOW);
delayMicroseconds(500);
}
delay(1000);
digitalWrite(5,LOW); // Set Dir Low → 回転方向を反対方向へセット
for(x = 0; x < 200; x++) // 括弧内を200回実行
{
digitalWrite(6,HIGH);
delayMicroseconds(2000);
digitalWrite(6,LOW);
delayMicroseconds(500);
}
delay(1000);
}
問題なく作動しています。DCDCコンバーターを調整して作動限界の電源電圧を測定してみると6.1V付近でした。本番では6.5V以下では機体を停止させるようにすれば良いでしょう。B-ROBOTの回路図を解読していると、バッテリーチェック回路がありました。電源電圧を抵抗分圧して係数0.4をかけてA5ポートに接続している部分です。
本番では電池2本で7.4Vとするつもりですが、モーターへの供給電圧は安定させたほうが良いかもしれませんのでDCDCコンバーターは採用することにします。どうせ余っている部品ですし、スペースもありそうなので。
これでモーター回路の試験は終了です。
予定の回路図です。
次回はWiFi回路の試験をやってみる予定です。
ここまでは順調です。
(2015年10月)