検索
連載

バイポーラ型ステッピングモーターの制御Arduinoで学ぶ基礎からのモーター制御(8)(4/5 ページ)

精密制御に欠かせないステッピングモーター。今回はバイポーラ型ステッピングモーターについて、その制御をマイコン(Arduino)から行います。

Share
Tweet
LINE
Hatena

 次の図を見てください。

 赤の波形がAコイル、青の波形がBコイルとします。波形が山の部分でコイルのA-1からA-2に電流が流れ、波形の谷の部分ではA-2からA-1に電流が流れるとします。Bコイルも同様です。この図を参考に、AコイルとBコイルの山谷が交互に来るよう、プログラムを書き換えてみました。

void setup() {
  pinMode(2, OUTPUT);
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
}
 
void loop() {
  digitalWrite(3,LOW);
  digitalWrite(2, HIGH);  
  delay(5);
 digitalWrite(5,LOW); 
 digitalWrite(4, HIGH);                 
 delay(5);
 digitalWrite(2, LOW);
 digitalWrite(3, HIGH);        
 delay(5);              
 digitalWrite(4, LOW);              
 digitalWrite(5,HIGH);
 delay(5);       
}
List2

 いかがですか。よりスムーズに回転するようになったと思います。

 ただ、このプログラムではモーターが回転し続けるだけなので、筆者のように直動装置を駆動している場合は、移動するテーブルが端まで行きつくと強制的にモーターを停止させて、モーターについているノブを回してまた元の位置まで戻してやる必要があります。

 これでは何度も実験したり、調整する場合などは大変です。そこでスイッチを1つ追加して、スイッチを押しているときは逆回転、またスイッチを押していないときには正回転するようにプログラムを改造してみます。スイッチはGPIOの6番ピンに付けることにします。スイッチが閉じるとGPIOの6番がグランドに落ちるように配線します。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る