PWM Frequency And DC Motor Speed - Arduino Forum

PWM frequency and DC motor speed Other Hardware Motors, Mechanics, Power and CNC January 28, 2015, 3:19am 1

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.

January 28, 2015, 4:46am 2

I'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.

January 28, 2015, 2:44pm 3

PWM 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?

January 28, 2015, 3:20pm 4

You 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?]

January 28, 2015, 7:42pm 5

I 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?

January 28, 2015, 7:47pm 6

Higher frequency often used to move the noise out of the human audible range. 4 KHz not that high tho.

January 28, 2015, 10:07pm 7

No, the noise is much worse at 4kHz than at the Arduino 490Hz.

January 30, 2015, 6:29am 8

No, 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.

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
Unfortunately, your browser is unsupported. Please switch to a supported browser to view rich content, log in and reply.

Tag » Arduino Pwm Motor Control Frequency