ステッピングモーター(バイポーラ)の使い方 TB6674PG版 [Arduino]
ステッピングモーターは任意の回転角度、回転時間でモーターを回転する事が出来ます。今回はTB6674PGを使用してモーターを操作します。
使用部品・材料
総額で約,1520円です。(Arduino本体の値段を除く)
部品/材料 | 値段 | 備考 |
---|---|---|
サンハヤト SAD-101 ニューブレッドボード | ¥500 | Amazon.com |
バイポーラ ステッピングモーター MDP-35A 48ステップ | ¥200 | 秋月電子の通販コード(P-09438) |
ステッピングモータードライバー(バイポーラ) TB6674PG | ¥200 | 秋月電子の通販コード(I-07408) |
絶縁ラジアルリード型積層セラミックコンデンサー0.1μF50V2.54mm(10個入) | ¥100 | ノイズ除去用 秋月電子の通販コード(P-00090) |
コネクタ付コード(みの虫×ジャンパーワイヤ) | ¥220 | 秋月電子の通販コード(C-08916) |
小型クリップ付コード 5色 | ¥180 | 秋月電子の通販コード(C-04351) |
9V電池(006P) | ¥100 | 100円ショップなど |
バッテリースナップ(電池スナップ・Bスナップ) 縦型 ソフトタイプ | ¥20 | 9V電池用。 秋月電子の通販コード(P-004521) |
「みの虫」と「クリップ」はモーターの端子と接続します。クリップはジャンパワイヤーと組み合わせてください。
配線図
Arduinoの9,11ピンはジャンパワイヤーが刺さっていませんが、Stepperクラスでダミーとして使用しています。他の用途では使用できません。
TB6674PGのピン配置は「U字」の左上が1でそこから反時計周りに「1,2,3...16」となります。
次は公式データシートより引用(TB6674_ja.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); }
実行例(シリアルモニター)
最後に
7,8ピンのセラミックコンデンサ(0.1μF)でモーターのノイズを97%ぐらいカットできています。(取り外すと不快音が増幅)
前回のDRV8835版ではモーターの異音は一切していないので、今回のモータードライバ(TB6674PG)が原因か使用方法を間違えているかも知れません。
このような状況ですのでDRV8835版がおススメです。
掲示板
ArduinoやRaspberry Piなどの電子工作の掲示板を作成しました。質問やわからない事は電子工作 (Arduino・ラズパイ等)でユーザー同士で情報を共有して下さい。