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

(2014.8.1 作成)

(2016.2.20 更新)

 ステッピングモーターを動かすためのモータードライバについて紹介したいと思います。

 ステッピングモーター自体については多くのサイトで紹介されていますので、ここではモータードライバーについて紹介したいと思います。モータードライバーとは写真の右奥にある赤い基板でステッピングモーターのパルス制御と電力の供給を行います。

ただ単にモーターを回すだけであればドライバーをつけなくてもマイコンのGPIOとFETなどの部品だけでも作れるのですが、ドライバーを使用することで、

  • 部品を組み立てる手間が省ける。
  • 最小GPIOで2ピンだけで動かせる。
  • ややこしい制御を考えないですむ。

などなどメリットがあります。しかも写真のドライバーだと単価300円以下で購入できるので、正直に言ってモーターを使用するときはモータードライバーを使用すべきだと思います。

 ただ単にステッピングモーターを動かすだけであればモータードライバーのSTEPピンを定期的に上下させるだけでいいのですが、ここで公開しているステッピングモータ制御プログラムは以下のような特徴があります。

  • 台形駆動をサポートします。図の青線で表されている通常言われている台形駆動と、さらになだらかに変化させるオレンジ色の台形駆動をサポートしています。
  • 台形駆動だけでなく、右図のように一定速度での駆動からなだらかに加速・減速を行えます。
  • 複数個のステッピングモーターを同時に制御可能です。
  • モータードライバーとしてEasyDriverを使用する場合は最高速度を見て1/1ステップから1/8マイクロステップまで自動で変化させます。
  • IStepperMotorクラスを継承したクラスを作成すれば多くのモータードライバーに対応可能だと思います。未確認ですが、、、
  • 特定の原点を持たないので台形駆動の場合は相対値だけを指示します。原点を持たないので速度を設定すれば永遠に回し続けることもできます。

ここでのプログラムはAccelStepper Libraryから啓示を受けていますが、コードはほぼ0から管理人が作成したものです。