動画による解説はこちら

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

 

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

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

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

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

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

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秒ごとに逆方向で切り替えていくような動作になっています。

購入はこちら

 

概要 ステップ角が1.8°のステッピングモータです。 仕様 出力軸直径:5mm MG42S1 (レギュラーサイズ) 電圧 12-25.2 V 電流/相 1.68A 抵抗/相 1.65© インダクタンス 3.2mH 静止トルク 3.6kg-cm (0.35N-m) 質量 292.1g モータ長(出力軸除く) 40.3mm モータ長(出力軸含) 56.6mm ステップ角 1.8°   MG42L1(ロングサイズ) 電圧 12-25.2 V 電流/相 1.5A 抵抗/相 1.8© インダクタンス 7mH 静止トルク 8kg-cm (0.78N-m) 質量 483g モータ長(出力軸除く) 60mm モータ長(出力軸含) 80mm ステップ
概要 ステッピングモータの制御をすることが可能なコントローラモジュールです。 ステップ角を細かく設定できる特長があります。例えば、ステッピングモータ固有なステップ角が1.8°だった場合、このコントローラで設定することにより、0.9°、0.45°など、さらに細かいステップ角に設定することが可能になっています。 仕様 ロジック電源電圧 5V ロジック電源電流 0-36mA 駆動電圧 5-35V 駆動電流(最大値) 2A 最大電力 25W 動作温度 -25℃ ~ 135  ℃ 外形寸法 43mm x 43mm x 27mm 電流テーブル ピーク電流 S1 S2 S3 00A ON ON ON 46A OFF ON ON 91A ON OF

Related Posts

ROSで使われる単位について
ROSで使われる単位について
ROS(Robot Operation System)はオープンソースのロボット開発プラットフォームで、様々な技術要素をライブラリとして使えるため、非常に簡単にロボットシステムを構築することができます。 ROSで使われる距離・重...
Read More
[ROS melodic] Intel RealSense D435iで/scanと/imuのトピックを発行する
[ROS melodic] Intel RealSense D435iで/scanと/imuのトピックを発行する
ROS melodicにおいて、小型の深度センサーである、Intel RealSense D435iを用いて、マップ生成や自己位置推定などに必要な/scanと/imuのトピックを発行したいと思います。RealSenseにはD435とD...
Read More
NVIDIA Jetson Nanoにケースと冷却ファンを取り付ける
NVIDIA Jetson Nanoにケースと冷却ファンを取り付ける
NVIDIA Jetson Nanoを動かす際、アクリルケースに入れておくことと、冷却ファン(扇風機)を取り付けておくことをおすすめします。 アクリルケースは、マイコンに埃が溜まってしまったり、誤って傷つけたりショートさせて壊して...
Read More

サイトについて

RoboStationは誰でも手軽にロボットを製作できるようにすることを目的としたEC・ハウツーサイトです。