- 記事公開日
[Arduino]ステッピングモーターがうまく動かないときの対処法
今回は、Arduinoを使った制御において、ステッピングモーターがうまく動かないときの原因・対処法を紹介します。
「モーター本体から変な音はするけど、動かない」
「最初は動くけど、すぐに回転が止まってしまう」
「パワーが弱すぎる気がする」
といったトラブルでお困りの方、ぜひ参考にしてみて下さい。
目次
「ガガガガガ」「ヴ―」「ガッガッガッ」と低い異音がして動かない
配線を間違えている可能性が高いです。
一番間違いやすいのは、ステッピングモーターとモータードライバーを繋げる色のついた配線です。
参考にしている回路図やプログラムも疑ってみてください。
「ピー」「キー」と高い音がして動かない
ステッピングモーターが脱調(負荷が大きすぎてモーターが止まってしまうこと)している可能性が高いです。
ステッピングモーターは、回転速度を下げるほどトルクが強くなります。
一度、モーターに掛かっている負荷を取り除き、回転速度・ステップ数を小さくしたプログラムに書き換えてみてください。
また、配線ミスにより、モーターを動かすために必要な電流が十分供給できていない可能性も考えられます。
モーターが途中で止まってしまう
モーターを動かすために必要な電流が十分供給できていない可能性が高いです。
下記のいずれかに該当している場合、別にモーター用の電源を用意してください。
- 同じ電源を使ってArduinoとモーターを動かしている
- PCとUSBケーブルで接続して電源を確保している
- 乾電池やバッテリーを電源にしている
モーター用の電流は、モータードライバのVINピンに入力して、モーターへと供給します。
詳しくは、下記の記事を参考にしてください↓
- 12Vバッテリーから電源供給 ⇒ Arduinoで12Vステッピングモーターを動かす (SM-42BYG011/DRV8835)
- コンセントから電源供給 ⇒[Arduino]Stepper.hライブラリを使わずにステッピングモーターを制御するステッピングモーターを制御する
トルクが弱い
ステッピングモーターは、回転速度を下げるほどトルクが強くなり、回転速度を上げるほどトルクが弱くなります。
「速いなぁ」と思うくらいのスピードで動かしたときは、軽く指を添えた程度でモーターは止まってしまいます。
「遅いなぁ」と思うくらいのスピードで動かしたときは、指で止めるのは難しいくらい馬力があります。
もし、あまりにもパワーが無いと感じる場合は、モーターを動かすために十分な電流を供給できていない可能性が高いです。
「モーターが途中で止まってしまう」の項目を参考にして、もし該当する場合は、モーター用に別の電源を用意してください。
発熱が関係?
ステッピングモーターは、元々発熱するものです。
よって、発熱と動かないこととの関連性は低いです。
ステッピングモーターは、その位置を保つために、静止状態でも常に電流が流れています。
しかし、ずっと静止が状態が続くと、モーター本体はかなりの熱を持ち、手で触れないくらい熱くなります。
ただ、発熱があるという事は、モーター自体に電流は供給できてます。
よって、回路以外の部分に問題がある可能性が高いです。
- ステッピングモーターの故障
- モータードライバの不良
- プログラムの間違い
いずれかの問題を疑ってみてください。
モーターの発熱を避けたい場合
モーターが回転しない時は、電源を切り離す回路を組みます。
下記の記事の回路図を参考にしてみてください↓
[Arduino]Stepper.hライブラリを使わずにステッピングモーターを制御するステッピングモーターを制御する
スイッチを離すと電源が切り離され、モータードライバに電源が供給されない回路になっています。
ただし、これだとステッピングモーターの特徴でもある止める力が働きません。
回転物によっては、停止後に惰性で少し移動してしまいます。