EnsekiTT Blog

EnsekiTTが書くブログです。

若松通商で買ったちっこいステッピングモータをぶん回まわす話【2日目】

つまりなにしたの?

若松通商で買ったちっこいステッピングモータを積んであったのでせっかくだからぶん回してみたい。
の2日目(モータドライバを組み立てて回す)
f:id:ensekitt:20170919012731j:plain

今日は何するの?

モータドライバを組み立てて、ESP-WROOM-32のGPIOで信号を出して、実際にステッピングモータを回す。
wakamatsu.mobi

前回はこちら

ensekitt.hatenablog.com

モータドライバ(前回買ったやつ)を組み立てる

秋月の丁寧な説明書を読みながらはんだ付け(ピンだけ)
f:id:ensekitt:20170919012746j:plain

ステッピングモータのコネクタを付け替える

もとのコネクタだと実験がしにくいので2.45ピッチのコネクタに付け替える
(ユニバーサル基板で使いたいから)
f:id:ensekitt:20170919012755j:plain
サイズの合ったカシメ工具がなくて泣いてた

配線する

GPIO2をA-PHASE
GPIO4をA-ENABLE
GPIO16をB-PHASE
GPIO17をB-ENABLE
として、
モータドライバのロジック電源はESP-WROOM-32から
モータドライバのドライブ電源は前回作ったDCDCコンバータから
f:id:ensekitt:20170919012825j:plain
こんな感じで繋げばいいってドライバの説明書の裏面に書いてあった。

コードを書く

int APHASE = 2;
int AENBL = 4;
int BPHASE = 16;
int BENBL = 17;
int dl = 15;

void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);
  pinMode(APHASE, OUTPUT);
  pinMode(AENBL, OUTPUT);
  pinMode(BPHASE, OUTPUT);
  pinMode(BENBL, OUTPUT);
  digitalWrite(AENBL, HIGH);
  digitalWrite(BENBL, HIGH);
}


void loop() {
  // put your main code here, to run repeatedly:
  Serial.println("ROTATION");
  digitalWrite(APHASE, HIGH);
  delay(dl);
  digitalWrite(BPHASE, HIGH);
  delay(dl);
  digitalWrite(APHASE, LOW);
  delay(dl);
  digitalWrite(BPHASE, LOW);
  delay(dl);
}

とりあえず回ることを確認するためのコードなので、ほんとに回す以外のことにも使えなくなる。

動作確認する(Lちか)

A-PHASE、B-PHASEは点滅する
A-ENABLE、B-ENABLEは常時点灯する
ことを確認する

回ることも確認する(ぶん回った)

f:id:ensekitt:20170919012628g:plain