小型軽量のものを動かしてみたくてステッピングモーターを使ってみた。配線等は下記サイトがわかりやすくて参考にさせてもらった。
Arduino と A4988 でステッピングモーターを制御する方法
Akozonステッパー ドライバー モジュール A4988ステッピング ステッパー ステッピング ステップ モーター ドライバー モジュール 可変出力 クロス電流保護 過電流3Dプリンター部品
で、簡単なプログラムを作って動かしてみた。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
#define DIR PB6 #define STEP PB2 void setup() { DDRB = _BV(STEP) | _BV(DIR); } void test(uint32_t ms) { uint32_t t = millis(); while (millis() - t < ms) { PINB = _BV(STEP); delayMicroseconds(600); } } void loop() { test(300); PINB = _BV(DIR); } |
モーターの配線は説明がなかったが...配線が間違ってても動かないか逆回転するだけなので気にせず適当に配線すれば良い。(-_-;)
ステッパーモータースクリュー、リニアスライド付きモーターDC 12V DIYレーザー彫刻機用リニアスクリューレールナットスライダー
モーターが小さいのでトルクはあまりないが、それでも軽く手で押さえたぐらいでは脱調しないので、まあまあ使えそうな感じ。ただ、かなり発熱するため長時間動作は無理っぽい。せいぜい数十秒程度にしておいたほうが良いかも...
ステッピングモーター ミニリニアリードスクリューナット スライダー2‑フェーズ 4‑ワイヤードライバーボード モーター スピードコントローラー DIY小型スライダー用20mm
これは本気で押さえないと脱調しないくらいのトルクがあるし構造的にも頑丈そうだ。発熱はするもののある程度の連続可動も十分行けそうな感じ。
どちらも駆動パルスを800Hz~1KHz程度で調整すると音と振動が少なくなりいい感じに回ってくれる。それ以上では脱調するし、あまり低いと振動と音が凄くなる。モーター電圧9Vのとき駆動電流は500mA前後だった。
ステッピングモーターは久しぶりに使ってみたが大きなモーターだといきなり最高速で回そうとしても脱調して全然回らなかったり回転数が機械構造的な共振周波数と重なったときに突然脱調したりしてその対策に苦労した覚えがあるが、こういう小さいものは駆動周波数だけ気を付けるだけでいいので扱いは楽だ。