はじめに
本記事では、ステッピングモーターの回転速度とVref(基準電圧)の関係を実験し、脱調が起こる限界を調べました。
V_REF(基準電圧)とは、ステッピングドライバの出力電流を設定するための電圧です。
つまり、V_REFを変更することで、モータ電流を調整することができます。
この記事を読んだら分かること
- ステッピングモーターが脱調を起こす回転速度の限界
- Vref(基準電圧)を上げると、回転速度の限界がどれだけ向上するか
- 脱調を防ぐための具体的な対策方法
実験概要
使用機器
実験方法
(1)回転速度と脱調の検証
⇒ step/s(ステップ毎秒)を500〜6000の範囲で500stepずつ増加させ、
どの速度で脱調が発生するかを確認。
(2)Vrefを変更した際の影響を検証
⇒ ドライバの基準電圧(Vref)を0.7Vと1.2Vの2つの設定で比較し、
回転速度と脱調の関係がどう変化するかを調査。
プログラムコード
下記が使用したArduinoのコードです。
モーターのステップ数は1回転あたり200ステップに設定しています(NEMA17, 1.8°/step)。
const int DIR = 8; // 回転方向ピン(A4988のDIRへ)
const int STEP = 9; // ステップパルスピン(A4988のSTEPへ)
void setup() {
pinMode(DIR, OUTPUT);
pinMode(STEP, OUTPUT);
digitalWrite(DIR, HIGH); // 時計回り
Serial.begin(9600);
}
void loop() {
for (int speed = 500; speed <= 6000; speed += 500) {
int pulse_delay = 1000000 / (speed * 2); // HIGHとLOWで1ステップ
Serial.print("Speed: ");
Serial.print(speed);
Serial.print(" step/s → delay: ");
Serial.print(pulse_delay);
Serial.println(" us");
for (int i = 0; i < 200; i++) {
digitalWrite(STEP, HIGH);
delayMicroseconds(pulse_delay);
digitalWrite(STEP, LOW);
delayMicroseconds(pulse_delay);
}
delay(1000);
}
digitalWrite(DIR, !digitalRead(DIR)); // 逆回転
delay(1000);
}
実験結果(1):回転速度と脱調の検証(Vref = 0.7V)
〜1500 step/s:安定して動作
2000 step/s 以上:脱調が発生し、ステップ飛びが確認された
実験結果(2):Vref(基準電圧)を1.2Vに上げて再テスト
Vrefを0.7Vから1.2Vに変更し、同じ条件で再度テストを実施しました。
- 〜2000 step/s:安定して動作
- 2500 step/s 以上:脱調が発生し、ステップ飛びが確認された
→ 結果として、脱調の限界が1500 step/s → 2000 step/sに向上しました。
Vrefを上げることで、モーターに流れる電流が増加し、トルクが強くなったから向上した
まとめ
- Vref(モータ電流の基準電圧)を上げると、脱調限界速度が向上する
- ただし、Vrefを上げすぎるとモーターやドライバの発熱が増加し、故障の原因になるため注意が必要
脱調対策のポイント
- Vrefを上げてモータ電流を増加させ、トルクを高める ←今回の実験
- 加減速制御
→ 急激な速度変化を避けることで脱調を防止できます。 - モータ駆動回路の改良
→ 駆動電流の最大化やドライバ性能向上により、安定した駆動が可能になります。 - 機械的負荷の軽減
→ 軸の摩擦低減や負荷トルクの軽減が脱調防止に効果的です。
コメント