PWM Frequency And DC Motor Speed - Arduino Forum
Maybe your like
I am experimenting with powering DC motors, and am seeing something I don't understand.
I am running 24 volt motors. I just did a test with several different PWM frequencies. With all frequencies, I sent the motors 9v (verified on a voltmeter). I am using "phase correct" or "dual slope" PWM.
At 31kHz PWM frequency, the motors didn't move. At 3.9kHz, they moved at a moderately slow speed. At 490Hz, they spun very quickly!
I verified all frequencies with a voltmeter.
Also, running the motors at 3.9 kHz with a non-Arduino controller (I didn't build the other controller, but was able to verify the PWM frequency with my oscilloscope) - the motors spun much faster than they do with my Arduino sending them the 3.9 kHz, but not nearly as fast as when I send them 490Hz.
What would explain this?
If it matters, I am controlling them with the Pololu DRV8801 motor controller.
JimboZA January 28, 2015, 4:46am 2I'm no expert, but intuitively that seems correct to me. A motor surely needs time to react to the high part of the pulse to start moving, and if that high time's too short the motor won't react.
I assume there's a reason the Arduino frequencies are 490 and 980Hz: presumably those work well enough for most purposes.
MorganS January 28, 2015, 2:44pm 3PWM frequency should not change the average power output. analogWrite(128) should give you the same power (motor speed) for any frequency.
Are there any analog components such as a capacitor or inductor in the PWM output path?
MarkT January 28, 2015, 3:20pm 4You were using slow darlington motor driver then?!
What size are these motors? Winding inductance?
[Ah, a MOSFET driver - I would have expected better behaviour then as its fast enough. Which decay mode are you using?]
dptdpt January 28, 2015, 7:42pm 5I think I found an explanation here.
The inductance of the windings affects the current draw at higher PWM frequencies. Based on what I'm seeing, I don't understand why the machine's original controller was built with such a high (4kHz) PWM frequency. The whine is louder than the 500Hz frequency I'm using, which also gives higher current. Is there any other reason why someone would choose to use a higher PWM frequency?
CrossRoads January 28, 2015, 7:47pm 6Higher frequency often used to move the noise out of the human audible range. 4 KHz not that high tho.
dptdpt January 28, 2015, 10:07pm 7No, the noise is much worse at 4kHz than at the Arduino 490Hz.
zoomkat January 30, 2015, 6:29am 8No, the noise is much worse at 4kHz than at the Arduino 490Hz.
You might check the audio frequency range of the human ear. Also, the mechanical method of how the audio sound is being generated from the electrical device might be important as to how/why the sound is being generated.
Related topics
| Topic | Replies | Views | Activity |
|---|---|---|---|
| The Different of Generating PWM Frequency in Arduino Board Motors, Mechanics, Power and CNC | 14 | 22068 | August 3, 2024 |
| Question, How to control frequency speed in PWM ports? Programming | 9 | 124 | October 13, 2025 |
| Operation of Motor driver (Pololu DRV8835) with PWM signals. General Electronics | 6 | 1537 | May 6, 2021 |
| A query regarding motor pwm using l298n driver and Pico/Arduino General Guidance | 10 | 78 | July 18, 2025 |
| Increasing PWM frequency causes jittery movement Classic Nano | 13 | 1411 | October 31, 2022 |
Tag » Arduino Pwm Motor Control Frequency
-
Speed Control Of 12V DC Motor, PWM Frequency - Arduino Forum
-
Optimal PWM Frequency To Control A DC Motor? - Arduino Forum
-
Optimum Frequency For DC Motor Control - Arduino Forum
-
Secrets Of Arduino PWM | Arduino Documentation
-
How Do I Send "appropriate" PWM Signals To Control A DC Motor?
-
Controlling Speed Of DC Motors Using Arduino : 4 Steps - Instructables
-
Control Large DC Gearmotors With PWM & Arduino
-
Frequency Changing Of Pwm Pins Of Arduino Uno - ElectronicWings
-
Control Large Gearmotors With PWM & Arduino - YouTube
-
DC Motor Control Using PWM Signals - Arduino - Robo India || Tutorials
-
Improve Brushed DC Motor Performance - Adafruit Learning System
-
PWM Frequency | Improve Brushed DC Motor Performance
-
ESP32 With DC Motor - Control Speed And Direction
-
Arduino PWM : Generate Fix And Variable Frequency Duty Cycle ...