動画による解説はこちら

ステッピングモータコントローラ DM542を使ってステッピングモータを動作させる方法について解説をしていきます。

 

分解能(ステップ角)について

分解能とは1回のパルス波で何度回転するか、といった指標になります。

これは、ステッピングモータ自身が持っているパラメータで、「基本ステップ角度」と呼びます。モータごとに分解能は変わりますが、2相ステッピングモータで1.8°、5相ステッピングモータで0.72°の基本ステップ角をもつものが多くなっています。

今回使用しているステッピングモータMG42S1は基本ステップ角が1.8°なので、1回転(360°)するには、200ステップ必要ということになります。

ステッピングモータコントーラDM542について

https://rb-station.com/products/%E3%82%B9%E3%83%86%E3%83%83%E3%83%94%E3%83%B3%E3%82%B0%E3%83%A2%E3%83%BC%E3%82%BF%E3%83%BC%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%A9

DM542はステッピングモータコントーラの1つですが、ステップ角を細かく設定できる特長があります。例えば、ステッピングモータ固有なステップ角が1.8°だった場合、このコントローラで設定することにより、0.9°、0.45°など、さらに細かいステップ角に設定することが可能になっています。

分解能(ステップ角)を設定する

横についている1~8までの爪がステップ角を変更できるためのスイッチになっています。ステップ角の変更は5~8のスイッチで行います。

pulse/rev

表面に記載されたPulse/revのテーブルが5~8のスイッチとステップ角の対応を示しています。例えば、400ステップにしたいときは5をOFF、それ以外をONにします。

ステップ角を設定する

上図は5のみをOFF(上に切り替えるとOFF)にした状態、つまり、400ステップの状態になっています。

電源とモータの接続

電源の接続

続いて、駆動電源を接続します。下側のGND/+Vという接続口に、駆動電源の-と+をつなぎます。駆動電源の電圧は、コントローラとモータが対応可能な範囲内で設定をしてください。

モータの接続

ステッピングモータの線を上から順番に赤、緑、黄、青の順番で接続します。

Arduinoを接続する

Arduinoの接続

  • PUL+: パルスを送るピンに接続します(今回の場合は13) 1回ON/OFFを送ると1ステップ回転します。
  • DIR+: 回転方向を設定するピンに接続します(今回の場合は12) ON/OFFを切り替えることで回転方向を切り替えることが可能です。
  • PUL- / DIR-: ArduinoのGNDに接続します。

Arduinoの接続

上図は全てをつなぎ終わったあとの配線です。

Arduinoでモータを制御する

下記はArduinoで制御するときのコード例です。

typedef unsigned char u8;
void setup()
{
  u8 platformCLK=13;
  u8 platformDIR=12;
  pinMode(platformCLK,OUTPUT);
  pinMode(platformDIR,OUTPUT);
}
 
void loop() 
{
  bawlStepper(1,360);
  bawlStepper(0,360);
}
 
void bawlStepper(bool dir,u16 angle)
{
  if(dir) digitalWrite(12,1);
  else digitalWrite(12,0);
  for(u16 i=0;i<angle/0.9;i++)
  {
    digitalWrite(13,HIGH);
    delayMicroseconds(1250);
    digitalWrite(13,LOW);  
    delayMicroseconds(1250);
  }
}

bawlStepperがコントローラへの指示部分で、第1引数が回転の向きになっており、0か1を指定すると、12番ピンをON/OFFすることで方向を切り替えることが可能です。

さらに、angle/0.9の部分は、現在は400 Pulse/rev = 400ステップで、1回のステップ角は0.9度ですので、指定した角度を割ることで何回繰り返すかを計算しています。13番ピンのON/OFFを1250+1250=2500マイクロ秒=2.5msに1度行いますので、1秒間に400回パルスが送られてちょうど1回転します。

loop部分で、360度=1周回転するのを1秒ごとに逆方向で切り替えていくような動作になっています。

ステッピングモータモータコントロール

Related Posts

Arduino Uno Rev3のピン配置
Arduino Uno Rev3のピン配置
Arduino Uno Rev3のピン配置です。 公式ページ: https://content.arduino.cc/assets/Pinout-UNOrev3_latest.pdf 備考 PWM出力が可能なピン:「~」が先頭につ...
Read More
TB6600を使ってステッピングモータをArduinoで動作させる
TB6600を使ってステッピングモータをArduinoで動作させる
概要 TB6600はステッピングモータを制御することができる、ステッピングモータコントローラです。TB6600を用いることで、ステッピングモータの回転速度や回転の粒度、方向などをマイコンから制御できるようになります。本記事ではTB66...
Read More
ACアダプターから得られた電源を回路に組み込む
ACアダプターから得られた電源を回路に組み込む
概要 コンセントから得られる交流の電源を、ACアダプターでDC電源に変換をした上で電子回路に導入したいときの方法について解説をします。 ネジ端子 ACアダプターの端子を+と-に分けてくれるネジ端子がありますので、これを用いることでDC...
Read More