fum125’s diary

IT全般に関する技術メモなど

ステッピングモーター SPG20-1332 を DRV8835 で回してみる

以前、ステッピングモーター 28BYJ-48 の制御レポートについて書きましたが、実はモーター SPG20-1332 も購入していました。
モーターにタイヤを装着して、移動の制御も考えていたのですが、28BYJ-48 は仕様に「2相励磁で無負荷の最高回転数は4秒で1回転」と書かれていました。遅すぎる。。。

そんな訳で、SPG20-1332 を追加購入していたので、こちらのモーターの制御も試してみます。

SPG20-1332 について

SPG20-1332 は、28BYJ と同じく「ユニポーラステッピングモーター」です。
各コイルの真ん中に接続される端子 (φ1C と φ2C) が独立しているので、モーターには全部で6本の端子があります。

f:id:fum125:20180715204524p:plain

f:id:fum125:20180715204551p:plain

SPG20 も「バイポーラステッピングモーター」として使用したいため、黒 (φ1c) と青 (φ2C) の2本は使用しないようにしました。

SPG20 と DRV8835 の接続

モーターとドライバ間の接続も、28BYJ と同じにしました。

f:id:fum125:20180715205535p:plain

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 秒でした。