0

私は現在analog pin 3、Arduino Unoで0から5Vの電圧を送信するために使用しています。その電圧を使用してモーターを制御していますが、現在は次の関数を使用しています。

analogWrite(pin, PWM_PULSE);

5V用と2.5V255 pwm用を使用しています。問題は、PWM が 255pwm(5V) でフル サイクルを送信していることですが、127V ではサイクルが 50% であり、モーターが少し痙攣します。127

どうすればこれを解決できますか? 低電圧でも完全な PWM サイクルを送信する方法を探しています。出来ますか?

4

1 に答える 1

3

まず、A3 には PWM が存在しないため、A3 ではなく D3 を意味していると思います。サーボやステッパーのようなものではなく、DCモーターを駆動していると仮定します

2 つの問題があります。

1位。平滑コンデンサが必要かもしれません。式はどこにある F=L*C analogWrite は F=490Hz を使用することに注意してください。概念は単純です。要するに、キャップはデューティサイクルに基づいて、PWM の高低を平均化します。また、必要な静電容量は、周波数とインピーダンスに基づいています。これにより、アナログ電圧が提供されます。

2番目。さらに大きな問題は、Arduino の出力がモーターを正しく駆動するのに十分な電流を供給できないことです。約 20ma で最大になり、モーターにはさらに多くの電流が必要になる可能性があります。そのため、低速では、弱いパルスが低い期間に失速します。

PWM出力でトランジスタを駆動する必要があります。トランジスタは、電源から直接モーターをオン/オフします。これで、モーターの慣性が十分になり、キャップが不要になります。

adafruit-arduino-lesson-13-dc-motors/breadboard-layoutを参照してください

ここに画像の説明を入力

スムージング キャップについての説明はこちら

于 2014-01-06T22:44:46.053 に答える