ステッピングモーター SPG20-1332 を DRV8835 で回してみる
以前、ステッピングモーター 28BYJ-48 の制御レポートについて書きましたが、実はモーター SPG20-1332 も購入していました。
モーターにタイヤを装着して、移動の制御も考えていたのですが、28BYJ-48 は仕様に「2相励磁で無負荷の最高回転数は4秒で1回転」と書かれていました。遅すぎる。。。
そんな訳で、SPG20-1332 を追加購入していたので、こちらのモーターの制御も試してみます。
SPG20-1332 について
SPG20-1332 は、28BYJ と同じく「ユニポーラステッピングモーター」です。
各コイルの真ん中に接続される端子 (φ1C と φ2C) が独立しているので、モーターには全部で6本の端子があります。
SPG20 も「バイポーラステッピングモーター」として使用したいため、黒 (φ1c) と青 (φ2C) の2本は使用しないようにしました。
SPG20 と DRV8835 の接続
モーターとドライバ間の接続も、28BYJ と同じにしました。
DRV8835 | SPG20-1332 |
AOUT1 (2) | φ1 白 |
AOUT2 (3) | /φ1 黄 |
BOUT1 (4) | φ2 赤 |
BOUT2 (5) | /φ2 緑 |
1相励磁でモータを回してみる
使用するソースは、28BYJ の時に使用したものを流用です。
ただし、SPG20 は軸1回転が 480 ステップなので、for ループの回数だけ 120 (=480÷4) に変更しました。
# インターバルを 5ミリ秒とする。 intval = 0.005 for i in range(0, 120): # 以下の4ステップを 120回 (= 480÷4) まわす。 : (あとは同じ)
1周回すのに、約 3.2 秒かかりました。
もっと速く回せないかとインターバル値を小さくしてみましたが、限界は 4ms で 2.8秒。
インターバル値をそれ以上小さくすると、今度は脱調してモーターが回らなくなりました。
2相励磁でモータを回してみる
今度は 2相励磁で回してみます。
1周回すのに、約 3.2 秒かかりました。
インターバル値を小さくしてみると、今度は 2ミリ秒まで脱調せずに回りました。
トルクがかかるとどうなるか分かりませんが、インターバル値 2ms で 約1.6秒で1周回すことができました。
1-2相励磁でモータを回してみる
最後に 1-2相励磁で回してみます。
1周回すのに、約 5.9 秒かかりました。
インターバル値を小さくしていくと、限界は 2ms で1周2.9 秒でした。