ステッピングモータードライバが最大電流まで出しきれない

Arduinoなどのマイコンからステッピングモーターをドライブするとき、 L6470えばとても簡単にステッピングモーターを制御することができます。Arduinoのサンプルスケッチがあるので、実装そのものは簡単です。回転スピード、方向、回転角度指定もコマンドの組み合わせで出来ていしまいます。

ステッピングモーターとL6470基板

高トルクが必要な装置のためにAmazonで購入可能な最も大きなすステッピングモーター Nema 23 ステッピングモーター 57x112mm 片軸 2.8N.mを使ってみました。写真には写っていませんがL6470基板の反対側にはArduinoが構えています。モーターの定格電流は3A、一方ドライバICの最大駆動電流3A(ピーク7A)となっています。このドライバICを使うことでモーターの定格いっぱいまで使うことが出来ると考えました。

さて実際に使ってみましょう。今回、モーターの回転によって駆動する負荷は一定ではありません。不規則に負荷が変動します。プログラムでICの設定が変更できますので、回転速度や最大電流値を調整し、できるだけモーターが止まらない設定値を見つけようとしましたが、負荷が大きなときにはどうしてもモーターが停止してしまいました。そこでモーターの動作を表すステータスを随時モニタリングすることにしました。するとモーターが停止するときは、ICの温度リミットに引っかかって停止していることがわかりました。

使用しているドライバIC基板にはヒートシンクがありません。強制的に冷却するために小型DCファン(12V駆動)をつけ基板ごと空冷することにします。(残念ながら写真を残していませんでした。)すると、これまで負荷がたかくなってモーターが停止していたのが、ファンを付けることで停止せずにモーターが回り続けることが出来るようになりました。空調の効いた室内での使用でしたのでこのような制御で十分でしたが、屋外環境でクリティカルな使用に関しては排熱設計も考慮するほうが良さそうです。