https://blog.with2.net/link/?1965529

もうひとつの超小型ステッピングモータ

https://blog.with2.net/link/?1965529

以前に紹介した超小型ステッピングモータよりさらに小型のものをAliexressで手に入れました。本体径10㎜で2個で$1.17でした。今回は倒立振子で使うことを想定して減速機なしを選定しています。
  • 直径: 10ミリメートル
  • 長さ: 9.8ミリメートル
  • 出力軸径: 1.5ミリメートル
  • 抵抗値: 21.5 Ω
  • 5ボルト短絡電流: 0.25A
  • モータステッピング角度: 18 °
  • 2相4線式(1 & 3: a、2 & 4: b)

やっかいなのは写真の端子にリード線をハンダ付けしなければならないことです。かなり脆弱な構造でかつ隣の端子と短絡してしまいそうなので細心の注意が必要です。一個オシャカにしてしまいました。配線を確認にした後に端子部をホットグルーで固めておきます。

・試験回路
早速動かしてみます。
ステッピング角度がかなり大きいのでA4988ドライバのMS1,2,3をHIGHとして1/16ステップモードで駆動しています。
  • VMOTに12VACアダプタよりDCDCコンバータ経由で8Vを接続
  • 1A/1B/2A/2Bはステッピングモーターに接続
  • VDDはPro Microの+5Vに接続
  • STEPはPro MicroのD6に接続
  • DIRはArduino UnoのデジタルI/OポートのD5に接続
  • RESETとSLEEPを短絡
  • MS1,2,3は+5Vに接続
  • ENABLEはPro MicroのD4ポートに接続し、1kΩ抵抗を経由して+5Vを接続

・A4988の電流調整

今回使用するA4988ドライバにはRcsとして0.2Ω(R200のラベル)が実装されているので0.25A/0.625=0.4Vとなるよう半固定抵抗を調整します。

この辺りのことは以下のサイトが詳しいです。

http://oldcyclist.com/2017/07/grbl-shield/

・スケッチ

int x;

void setup() {
pinMode(4,OUTPUT); // Enable
pinMode(6,OUTPUT); // Step
pinMode(5,OUTPUT); // Dir
digitalWrite(4,LOW); // LOWでEnable
}

void loop() {

digitalWrite(5,HIGH); // 回転方向をセット
for(x = 0; x < 2000; x++)
{
digitalWrite(6,HIGH);
delayMicroseconds(500);
digitalWrite(6,LOW);
delayMicroseconds(500);
}
delay(1000);

digitalWrite(5,LOW); // 回転方向を反対方向へセット
for(x = 0; x < 2000; x++)
{
digitalWrite(6,HIGH);
delayMicroseconds(500);
digitalWrite(6,LOW);
delayMicroseconds(500);
}
delay(1000);
}

loop関数内でまず5番ピンをHIGHにしてステッピングモーターの回転方向を決定します。次のforループで2000回、6番ピンからSTEPに対してON/OFF信号を送ります。このときdelay関数でONを0.5ミリ秒、そのあとOFFを0.5ミリ秒の計1ミリ秒でステップ波形を生成しています。

このdelayで設定する時間によりステッピングモーターの回転速度が決まります。

1回のステップで18度回転しますので、軸が一回転するのに20ステップを要します。1回転するのに要する時間は1ミリ秒×20ステップすなわち0.02秒となります。RPM(1分間の回転数)に換算すると3000RPMということになります。今回は1/16ステップモードで駆動していますので187.5RPMになります。

2000ステップですからここまでで6.25回転(2000*18/360/16)します。

次のdelay関数で1秒間の時間を空けて、今度はDIRをLOWにし逆回転とします。先ほどと同様に2000回ステップを送ります。今度は逆に2回転します。そして1秒間待って動作を繰り返します。

delayMicroseconds(t)の時間を変えてステップ波形の幅を変えれば回転数は変化します。

下の動画はt=500の時です。

さてこちらも問題なく動きそうです。回転数も倒立振子に使えそうです。

シェアする

フォローする