ホーム > カテゴリ > ロボット・電子工作・マイコン >

ステッピングモーター(バイポーラ)の使い方 DRV8835版 [Arduino]

ステッピングモーターは任意の回転角度、回転時間でモーターを回転する事が出来ます。今回はDRV8835を使用してモーターを操作します。

次の実行例は「1秒に60度回転」するので6秒で1回転します。

使用部品・材料

総額で約1,520円です。(Arduino本体の値段を除く)

部品/材料値段備考
サンハヤト SAD-101 ニューブレッドボード¥500Amazon.com
バイポーラ ステッピングモーター MDP-35A 48ステップ¥200秋月電子の通販コード(P-09438)
DRV8835使用ステッピング&DCモータドライバモジュール¥300秋月電子の通販コード(K-09848)
コネクタ付コード(みの虫×ジャンパーワイヤ)¥220秋月電子の通販コード(C-08916)
小型クリップ付コード 5色¥180秋月電子の通販コード(C-04351)
9V電池(006P)¥100100円ショップなど
バッテリースナップ(電池スナップ・Bスナップ) 縦型 ソフトタイプ¥209V電池用。

秋月電子の通販コード(P-004521)

「みの虫」と「クリップ」はモーターの端子と接続します。クリップはジャンパワイヤーと組み合わせてください。

他のステッピングモーターを使用する場合はスケッチの先頭にある「1回転(360度)するステップ数」を変更すれば動作します。

配線図

次はDRV8835の公式データシートより引用(AE-DRV8835-Ss.pdf)

次はMDP-35Aの公式データシートより引用(MDP-35A_a.pdf)

駆動電圧

駆動電圧は12Vでコイル抵抗は40Ω(1相)です。

スケッチ(プログラム)

ステッピングモーターを1秒で60度回転させます。時間、角度は任意に設定可能です。また、設定内容はシリアルモニターへ表示されます。

#include <Stepper.h>

// 1回転(360度)するステップ数
// ※MDP-35Aの場合は常に48です。
// ※モーターが異なる場合は変更して下さい。
const float turnSteps = 48;

// [変更可能]毎分の回転数(rpm)
// ※回転時間の計算はloop()内のコードを参照
float rpm = 10;
// [変更可能]このステップ数分のモータを回転する(マイナスも設定可能)
// ※この例では「8 / 48 * 360」で60度回転します。
float Steps = 8; 

Stepper myStepper(turnSteps, 8,9,10,11);

void setup() {
  Serial.begin(9600);
  myStepper.setSpeed(rpm) ;
}

void loop() {
  Serial.print("ステップ数:"); 
  Serial.print(Steps,0);
  Serial.print(" 回転角度:");   
  Serial.print(Steps / turnSteps * 360,0); 
  Serial.print("度");    
  float times = (Steps / turnSteps) * (60 / rpm);
  Serial.print(" 回転時間:");
  Serial.print(abs(times));  
  Serial.println("秒");    
  
  myStepper.step(Steps);
  
  Serial.println("delay(1000);" );
  delay(1000);
}

実行例(シリアルモニター)





掲示板

ArduinoやRaspberry Piなどの電子工作の掲示板を作成しました。質問やわからない事は電子工作 (Arduino・ラズパイ等)でユーザー同士で情報を共有して下さい。

関連記事



公開日:2017年07月25日 最終更新日:2017年07月26日
記事NO:02494