DreamerDreamのブログ

夢想家の夢です。〜揚げたてのモヤっとしたものをラフレシアと共に〜

RapberryPiでステッピングモーターを制御する ③接続

 前回は部品選択でした。

dreamerdream.hateblo.jp

 

今回は部品の繋ぎ方です。

 

まずは、ラズパイから制御できるようGPIOのポートをチェックしましょう。 

ステッピングモータードライバーを制御するには、最低DIRとSTEPとGNDが必用になります。

今回はピン番号9,11,13のGND、GPIO17,GPIO27を利用することにします。

https://www.bigmessowires.com/wp-content/uploads/2018/05/Raspberry-GPIO.jpg

 

 モータードライバーのピンアサインは最近ではこの配置に定着しつつあるようです。

http://image.itmedia.co.jp/mn/articles/1609/09/hi_mo03.jpg

A4988データシート

 

VMOT:ステッピングモータ用電源(8V-35V)
GND:ステッピングモータ用電源GND
2A/2B:1A/1B:ステッピングモータ接続端子
VDD:制御ボード用電源(3.3Vまたは5V)
GND:制御ボード用電源GND
DIR:モータの回転方向(High・Low)
STEP:回転制御パルス(1.8度/1stepのモーターでFull stepに設定したとき200stepで一回転する)
SLEEPーRESET:短絡しておく
MS1~MS3:マイクロステップ設定用端子

(各PinのHigh・Lowでマイクロステップを設定できる)

MS1 MS2 MS3 Microstep
Lo Lo Lo Full (1/1)
Hi Lo Lo Half (1/2)
Lo Hi Lo Quarter (1/4)
Hi Hi Lo Eighth (1/8)
Hi Hi Hi Sixteenth (1/16)

 

つまり1ステップごとに制御出来る回転角がモードによって違い、1.8度角のステッピングモーターの場合、

・Fullの場合は、1step信号ごとに1.8度単位(360度回転に200step)

・Halfでは、1step信号ごとに0.9度単位(360度回転に400step)

・Quarterでは、1step信号ごとに0.45度単位(360度回転に800step)

・Eighthでは、1step信号ごとに0.225度単位(360度回転に1600step)

・Sixteenthでは、1step信号ごとに0.1125度単位(360度回転に3200step)

となる。
ENA:Enable端子。ドライバの動作と停止を制御できる。Loで動作する。

 

必用に応じて使用する端子を選ぶのだけど、基本的に細かい設定は最初からプルアッププルダウンしてあるみたいなので

VMOT/GND:モーター用電源12V

VDD/GND:制御回路用電源5V

DIR:正転/逆転

STEP:ステップ信号

1A/1B:ステッピングモータ1相コイル

2A/2B:ステッピングモータ2相コイル

を繋げばFullStepモードとして動作する。

ということです。

 

実際に実験で接続した写真です

黒線:GNDー共用

灰色:GPIO17ーSTEP

白色:GPIO27ーDIR

青線:5Vですが、今回は別電源から取ったので繋いでいません

f:id:DreamerDream:20181205154059p:plain

モータードライバーの

緑、赤、黄、白は実際にモーターのコイルへ伸びている線

ピンクはモーター用電源+12V電源

赤色は5V電源

GNDは共用(12V、5V、ラズパイ共に)

あと、RESETとSLEEPを直結しています。

 

もし、この状態でなにもしていないのにモーターがガリガリ音を立てて回転するようならSTEPからノイズ信号が入っています。

これは、ポートがHiでもLoでもないどっちつかずのフラフラした状態で自然界の電磁ノイズ(商用周波数とか)を拾っているためです。GPIO制御時には必ずHiまたはLoになるので安定しますが、気になる場合はSTEPに10kΩ程度の抵抗を入れてGNDに繋ぐ事で回避できます(プルダウン)

 

次回はこの回路でモーターを動かします。

dreamerdream.hateblo.jp