ちなみにユニポーラ駆動です。
バイポーラ編はこちら→Arduinoでステッピングモータ(バイポーラ編)
用意するもの
・Arduino UNO R3
・ステッピングモーター ST-42BYG020
・モータードライバ MP4401
・9V電池 006P
配線とスケッチ
ST-42BYG020の線は
青→赤→黄→緑→青→…
の順番になるように並べて繋げれば回ります。
(逆にするともちろん逆回転しますが、それはプログラム次第で。)
冒頭でも言った通りこれはユニポーラ駆動での話なので、そもそもユニポーラとかバイポーラとかについてはこちらで分かり易く説明されています。バイファイラ巻きでユニポーラ駆動、モノファイラ巻きでバイポーラ駆動ってややこしいですね。
「MP4401」
pin
1 - Arduino digital 10
2 - ステッピングモーター (青)
3 - 9V
4 - ステッピングモーター (黄)
5 - Arduino digital 12
6 - GND
7 - GND
8 - Arduino digital 13
9 - ステッピングモーター (緑)
10 - 9V
11 - ステッピングモーター (赤)
12 - Arduino digital 11
配線はこのようにして、あとはスケッチを書きます。
とりあえず、ずっと回転し続けるものを励磁方法別に3つ。
1相励磁
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | int pin[4] = {10,11,12,13}; void setup() { for ( int i=0; i<4; i++) { pinMode(pin[i], OUTPUT); } } void loop() { for ( int i=0; i<4; i++) { int prev = i-1; if (prev == -1) prev =3; digitalWrite(pin[prev], LOW); digitalWrite(pin[i], HIGH); delay(2); } } |
2相励磁
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | int pin[4] = {10,11,12,13}; void setup() { for ( int i=0; i<4; i++) { pinMode(pin[i], OUTPUT); } } void loop() { for ( int i=0; i<4; i++) { int prev = i-1; int next = i+1; if (prev == -1) prev =3; if (next == 4) next = 0; digitalWrite(pin[prev], LOW); digitalWrite(pin[i], HIGH); digitalWrite(pin[next], HIGH); delay(2); } } |
1-2相励磁
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | int pin[4] = {10,11,12,13}; void setup() { for ( int i=0; i<4; i++) { pinMode(pin[i], OUTPUT); } } void loop() { for ( int i=0; i<4; i++) { int prev = i-1; int next = i+1; if (prev == -1) prev =3; if (next == 4) next = 0; digitalWrite(pin[prev], LOW); digitalWrite(pin[i], HIGH); digitalWrite(pin[next], LOW); delay(2); digitalWrite(pin[next], HIGH); delay(2); } } |
結果
特に問題なくステッピングモーターを回転させることができました。
脱調?なのかどうかわかりませんが、delay(1);とすると回らなくなってしまったのでdelay(2);が1番速いと思います。ただ、うまく回転する周波数とかいろいろあるので速ければいいというわけでもなく…。そこら辺は必要なトルクとかに応じて励磁方法も変えたり何やかんやしてください。
参考サイト↓
http://eleclog.quitsq.com/2012/06/mp4401-spg20-332.html
どうぞ教えて下さい!
返信削除spsを回しながら、toneで音を出したいのですが、同じLoop
に入れるのは無理なのでしょうか?
追記 Arduinoです。
返信削除追記 Arduinoです。
返信削除このコメントは投稿者によって削除されました。
返信削除