Arduinoで遊ぶページ

Arduinoで遊んだ結果を残すページです。
garretlab
ステッピングモータドライバの実験(ESP-WROOM-32)

概要

Arduino core for the ESP32を使った、ステッピングモータドライバの実験です。バイポーラ駆動のステッピングモータを動かしました。

あくまで、実験ベースです。長時間の動作はさせていないので、注意してください。

Arduino core for the ESP32のインストールのページはこちら

実験

TB6674PGというステッピングモータドライバをESP-WROOM-32で動かしてみました。

ステッピングモータドライバ

TB6674PGというドライバを利用しました。このドライバは16ピンのICで、データシートによると各ピンの意味は以下の通りです。

端子番号 端子記号 端子説明
1 VS2 A 低電圧電源端子
2 VCC 制御電源端子
3 IN A A-ch 正転/逆転信号入力
4 GND グランド
5 GND グランド
6 IN B B-ch 正転/逆転信号入力
7 PS パワーセーブ信号入力
8 VS2 B スタンバイ信号入力
9 VS1 B 高電圧電源端子
10 φB B出力
11 ΦB B出力
12 GND グランド
13 GND グランド
14 ΦA A出力
15 φA A出力
16 VS1 A 高電圧電源端子

IN A/IN BとφAΦA/φBΦBの関係は以下の通りです。INをLにすると、φがL、ΦがH、INをHにすると、その逆が出力されます。このため、Arduino側は2つの出力で、ステッピングモータを制御することができます。また、PSがLのときは、高電圧電源が、Hのときは定電圧電源が出力されます。

入力 出力
PS IN φ Φ
L L L H ENABLE VS1
L H H L ENABLE VS1
H L L H ENABLE VS2(パワーセーブ)
H H H L ENABLE VS2(パワーセーブ)

動作条件は以下の通りです。VIN Hの最小電圧が2.0Vとなっているので、ESP-WROOM-32でも操作することが可能です。

項目 記号 最小 標準 最大 単位
電源電圧 VCC 4.5 - 5.5 V
VS1 8.0 - 22.0
VS2A 2.7 - 5.5
入力電圧 VIN 0 - VCC
入力電圧 High VIN H 2.0 - VCC
Low VIN L -0.2 - 0.8

接続

Arduino(ESP-WROOM-32開発キット)とモータドライバ、ステッピングモータを以下のように接続しました。全ての電源のGND同士も接続します。モータドライバの高電圧電源・低電圧電源はそれなりの電流が要求されるので、外部電源を利用します。その他、各電源には電源平滑化コンデンサを接続します。

Arduino モータドライバ ステッピングモータ 備考
1 5Vを供給
2 5Vを供給
16 3
4 GND
5 GND
17 6
7 GND(パワーセーブ使わず)
8 5V(Hでオペレーション)
9 12Vを供給
10 φB
11 ΦB
12 GND
13 GND
14 ΦA
15 φA
16 12Vを供給

スケッチ例

Stepperライブラリを利用すると簡単に動作しました。

今回使用したステッピングモータは、480ステップで1回転するものです。このため、3行目のStepper()の第1引数は480としました。あとは、setSpeed()で速度を設定し、step()でモータを回すだけです。step()の引数をマイナスにすると逆回転します。

下のスケッチは、正回転1周・1秒停止・逆回転1周・1秒停止を繰り返します。

#include <Stepper.h>

Stepper m1 = Stepper(480, 16, 17);

void setup() {
  // put your setup code here, to run once:
  m1.setSpeed(100);
}

void loop() {
  // put your main code here, to run repeatedly:
  m1.step(480);
  delay(1000);
  m1.step(-480);
  delay(1000);
}

バージョン

Arduino 1.8.8/Arduino core for the ESP32/ESP-WROOM-32



メニューを表示するためにJavaScriptを有効にしてください。

Arduinoで遊ぶページ
Copyright © 2018 garretlab all rights reserved.
inserted by FC2 system