Why is my DC motor whining at a lower PWM frequency? (2023)

Supplying PWM signals to the DC motor of an actuator is a common method for adjusting travel speed, however, some cases may result in acoustic noise through motor whining. At some point during the testing phase of your project, you may have noticed your same DC motor may generate motor whining at varying loudness when you connect it to different speed controller devices. This may be due to the different PWM frequencies that were set in each speed controller or Arduino program. In this article, we will cover the pros and cons of adjusting PWM frequency and how it affects motor whining.

We offer a wide range of electric linear actuators for any application – click to browse!

BROWSE ACTUATORS

Common and Frequently Asked Questions

Why is my DC motor whining at a lower PWM frequency? (1)

Below is an overview of the common and frequently asked questions we get to help briefly cover the basics of duty cycle, PWM, and what changes to PWM frequency have what effects on DC motors.

  • What is Duty Cycle?

Duty cycle is the ratio of on-time to off-time, usually expressed as a percentage. This means if your actuator extends and retracts for 20 seconds, and then spends another 40 seconds at rest before the process repeats, the “duty cycle” would be expressed as 33%. The time taken for one “full cycle” in this example will be 60 seconds.

Duty Cycle = On time / (On time + Off Time)

  • What does PWM mean?

Pulse width modulation (PWM) is a technique commonly used in motor operation where electric signals are switching between 0% and 100% of the supply voltage being applied to the motor, similar to on and off from duty cycle. This allows for the ability to control the average value of voltage being applied to a motor to adjust the motor speed. Controlling the duty cycle allows for the ability to control the average voltage value to adjust the motor speed.

Duty Cycle * Voltage from source = Average voltage value

  • What is PWM frequency and how does it affect DC motor performance?

The PWM frequency represents how fast a PWM cycle is completed by your motor control device. It is not uncommon for DC motors to experience a whining noise when the motor controller being used was set to lower PWM frequencies.

  • Is it possible to eliminate motor whine entirely, or is some degree of noise to be expected?

This can vary as manufacturers will usually have some built tolerance that causes a range of different motor noises and characteristics. Certain motor designs may have rotors that result in some motor whine regardless of what PWM frequency was used. Setting the PWM frequency as high as practical for DC motors that were in good condition tends to help with motor whine reduction (This will be covered in more detail later).

(Video) Why might PWM cause a whine sound in a DC motor?

  • Can adjusting the PWM frequency to reduce motor whine have any negative effects on the motor or the overall system performance?

An increase in the PWM frequency results in an increase in the power loss on the H-bridge used with your Arduino microcontroller and may cause the motor driver board to overheat. Users will need a method of cooling down their H-bridge or motor driver to prevent the components from getting damaged.

Start programming with Arduino microcontrollers and bring your next project to life!

CLICK HERE

What Causes DC Motors to Whine?

Why is my DC motor whining at a lower PWM frequency? (2)

We will be covering the motor’s acoustic noise which is audible to the human ear and not electrical noise. The equivalent circuit of a running DC motor is seen above. Due to back electromotive force (EMF), voltage in the opposite direction to current flow will result from the motor’s coils moving relative to a magnetic field. At rest or low speeds, the brushed DC motor equivalent circuit has little to no back EMF and is like that of a first-order RL circuit seen below.

Why is my DC motor whining at a lower PWM frequency? (3)

The motor whining noise we hear is caused by the torque ripple that was generated from current (i) ripple. We also know that the upper cutoff frequency for an RL low pass filter has the formula seen below:

Frequency cutoff = 1 / (2π𝜏)

Where:

𝜏 = L / R

L = inductance (H)

(Video) Brushed DC Motor noise, why and how to decrease noise, Arduino change default PWM frequency

R = Resistance (Ω)

𝜏 = time constant (seconds)

The theoretically ideal PWM frequency will depend on the inductance and resistance of a motor circuit but is expected to be greater than or equal to 5 times that of the cutoff frequency. This higher range of PWM frequency will allow the current running through the DC motor to reach 99.3% (close to 100%) of the maximum current value to avoid current ripple and reduce motor whining.

Why is my DC motor whining at a lower PWM frequency? (4)

H-Bridge Power Loss and Heat Dissipation

Why is my DC motor whining at a lower PWM frequency? (5)

As a switch transitions from on and off, the voltage and current are nonzero and result in power being dissipated by the switches. An H-bridge has both voltage and current present as they are switching, so a higher switching frequency from increasing PWM frequency means more heat and power dissipated. Installing heat sinks or fans onto motor driver boards that do not already come included with these cooling devices is recommended to avoid damage and ensure proper operation.

Why is my DC motor whining at a lower PWM frequency? (6)

Our LC-81 MegaMoto GT H-bridge Arduino Shield has a built-in cooling fan and heatsinks to further reduce overheating, making it ideal for high loads of current. For actuators with lower current draw requirements, we also offer the LC-80 MegaMoto Plus H-bridge for Arduino. Both H-bridge can be used with Arduino microcontrollers and have PWM Frequency ratings that go up to 20kHz for DC voltage.

Explore our range of pre-made control modules and speed controllers!

VIEW CONTROL MODULES

How to Reduce DC Motor Whine by Adjusting PWM Frequency with Arduino?

Why is my DC motor whining at a lower PWM frequency? (7)

(Video) Electronics: Noise issues when driving DC motor with PWM

The speed of a counter’s clock determines the output signal’s PWM frequency. For our most popular Arduino Uno, the system clock will be divided by a prescaler value to result in the counter's clock. CS02, CS01, and CS00 are the three least significant bits of the Timer/Counter registers which store the prescaler’s 3-bit value.

Set or clear these three least significant bits in the relevant TCCRnB register found in the void setup() segment of your Arduino code. By altering the timer prescalers through coding, the PWM frequency can be adjusted as seen in this reference video.

Arduino PWM Tutorial #1 - How to Change PWM Frequency:

The average human will usually hear sounds between 20 Hz and 20,000 Hz.

Frequency = cycle/time

1 Hz = 1 cycle/second

20 Hz = 1 cycle / (Time)

20 Hz * (Time) = 1 cycle

Time = 1 cycle/ 20 Hz

Time = 0.05 seconds

Time = 50 ms

For a PWM frequency of 20 Hz, one cycle will happen over a period of 50 milliseconds as seen below.

Why is my DC motor whining at a lower PWM frequency? (8)

(Video) PWM vers Motor Noise & Speed. Adjust LEDs also

At frequencies above 20 kHz, each cycle becomes shorter than an average human’s reaction time and will result in most individuals not being able to hear any motor whining. The PWM frequency range of 16kHz to 20kHz will generally solve most issues of DC motor whining. This range can be used as a starting point for testing before making gradual adjustments to fine-tune for PWM frequency optimization specifically for your motor behavior and characteristics.

Frequency = cycle/time

20 kHz = 1 cycle / (Time)

20000 Hz * (Time) = 1 cycle

Time = 1 cycle/ 20000 Hz

Time = 0.00005 seconds

Time = 50 µs

For a PWM frequency of 20 kHz, one cycle will happen over a period of 50 microseconds as seen below.

Why is my DC motor whining at a lower PWM frequency? (9)

Combine Arduino microcontrollers with motor drivers and relays for even more control options!

LEARN MORE

(Video) Influence of the PWM frequency on the motor noise radiation

IN SUMMARY

Adjusting PWM frequency can help to minimize the unwanted sound of motor whining, however, we need to be aware of the pros and cons of doing so. It is important to find the suitable PWM frequency that has the best balance of motor driver power loss, heat dissipation, and motor whining which works for you.

We hope you found this as informative and interesting as we did, especially if you were looking to know more about DC motor whining at lower PWM frequency. If you have any queries or wish to discuss our products further, please do not hesitate in reaching out to us! We are experts in what we do and will be happy to assist in any way we can.

sales@progressiveautomations.com | 1-800-676-6123

FAQs

What is the optimal PWM frequency for DC motors? ›

PWM frequencies not less than 50 kHz for brushless dc motors are recommended. PWM frequencies of 80 kHz or more would be even more appropriate for motors with a very small electrical time constant.

How do you reduce the noise in a PWM motor? ›

PWM noise, as well as inductive kick, can be reduced or eliminated by slowing the slew rate of the PWM drive signal to the fan. Even a small reduction in slew rate results in a significant reduction of the PWM noise.

What is the effect of PWM frequency on DC motors? ›

A higher frequency will cause a shorter cycle time of the PWM; hence the current will have less time to rise. Portescap recommends using PWM frequencies not less than 50 kHz for brushless DC motors. PWM frequencies of 80 kHz or more would be even more appropriate for motors having very small electrical time constant.

Can PWM damage DC motor? ›

First, the PWM voltage that your motor will see will have high frequency harmonics. These harmonics will introduce losses in your motor that wouldn't be there if you were using DC voltage.

What is normal PWM frequency? ›

PWM Frequency

Typically, a servo motor anticipates an update every 20 ms with a pulse between 1 ms and 2 ms. This equates to a duty cycle of 5% to 10% at 50 Hz.

What is the minimum PWM frequency? ›

What frequency of PWM should I choose? Between 70 and 200 Hz. @starblue "Between 70 and 200 Hz." - 70Hz produces visible flicker to many people, and very visible flicker to virtually everyone if the led (or the observer) moves. Please, use a higher frequency than that.

How do I reduce the noise on my DC power supply? ›

You can use a filter to remove noise from a power supply just like you use filters to remove noise from a signal. Indeed, you can consider the output capacitors part of a filter that reacts against the output impedance of the power-supply circuit. Increasing the value of the output capacitance will reduce noise.

How do you reduce harmonics in PWM? ›

B. Harmonic Reduction By PWM: In the case of single pulse width modulation, the pulse width is adjusted to reduce the harmonics. It has one of the disadvantages of additional commutation per cycle and this leads to more switching losses in the thyristor.

How do I increase the frequency of my PWM? ›

PWM is used by using function like "analog Write". With this function although width of the PWM cycle(Duty Cycle) can be changes but frequency remains constant. We can update this default Arduino PWM frequency to a value as high as 65Khz and as low as 30Hz by using a simple line of code.

How does PWM work with DC motor? ›

PWM (Pulse Width Modulation) One method that is often used for DC motor control using a microcontroller is Pulse Width Modulation (PWM) method. The speed of the electric motor depends on the modulator voltage. The greater the voltage, the faster the rotation of an electric motor.

How to control DC motor using PWM? ›

If such a signal is fed to a DC motor, we can change the speed of the motor by changing the duty cycle of the PWM signal. The change in pulse width is created by increasing the on-time (HIGH value) of the pulse while reducing the off-time (LOW value) by the same amount so that the frequency of the signal is constant.

How does using a PWM signal control the speed of rotation for a DC motor? ›

If we switch the power on and off quickly enough, the motor will run at some speed part way between zero and full speed. This is exactly what a p.w.m. controller does: it switches the motor on in a series of pulses. To control the motor speed it varies (modulates) the width of the pulses – hence Pulse Width Modulation.

What is the main disadvantage of PWM? ›

Stroboscopic effect evident in fast moving environments when the driver frequency is low. Electromagnetic Interference (EMI) issues due to rise and fall of the current in PWM dimming.

What are the problems with PWM? ›

But the PWM system has three major problems: time delay; nonlinearity; and frequency response variation.

Does voltage matter for PWM? ›

PWM does not change the value of voltage or current. It changes the amount of time a voltage is applied which effectively changes average power over time.

What determines PWM frequency? ›

PWM Frequency is the count of PWM interval periods per second, expressed in Hertz (Hz). Mathematically, the frequency is equal to the inverse of the interval period's length (PWM_Frequency = 1 / PWM_Interval_Period).

How does PWM affect motor speed? ›

Motors as a class require very high currents to operate. Being able to vary their speed with PWM increases the efficiency of the total system by quite a bit. PWM is more effective at controlling motor speeds at low RPM than linear methods.

What are the two signals used in PWM? ›

One of the simplest methods of generating a PWM signal is to compare two control signals, a carrier signal and a modulation signal. This is known as carrier-based PWM. The carrier signal is a high frequency (switching frequency) triangular waveform.

What is the frequency of a DC motor? ›

The frequency of direct current (DC) is 0 Hz, as the current only flows in one direction.

What is the minimum fan speed for PWM? ›

With high- frequency PWM, the fan can be run at speeds as low as 10% of full speed, while the same fan may only run at a minimum of 50% of full speed using linear control.

What is the max value for PWM? ›

The maximum value is 255 since the PWM register is 8 bits wide (2 in the power of 8 is 255).

What causes noise in DC motor? ›

The spark is one of the causes of the electrical noise. Especially when the motor starts from its stalled position, comparably higher current, or a stall current, flows into the windings. Higher current usually causes higher noise.

What frequency is DC power supply noise? ›

Usually, the specify noise for DC switching power supply output is 1% of its DC output, for example 5 volts DC output, its output noise should be less than 50mVp-p, for 12 volts DC output, the noise should be below 120mVp-p.

What are the 3 ways to reduce power supply noise? ›

Filtering, bypass, and post-regulation are the three primary ways to reduce power-supply noise, but there are some less-used techniques. One is to use a battery to power your circuitry. Batteries are a very low noise power source compared to switching or even linear converters.

What is ideal frequency in DC? ›

The frequency of direct current (DC) is 0 H z , as the current only flows in one direction.

What is the typical PWM frequency for BLDC motor? ›

The PWM frequency is usually constant at >10 kHz.

What is high frequency for PWM? ›

Pulse width modulation (PWM) has been widely used in power converter control. Most high power level converters operate at switching frequencies up to 500 kHz, while operating frequencies in excess of 1 MHz at high power levels can be achieved using the planar transformer technology.

What is a good frequency for LED PWM? ›

Our recommendation is to utilize LED and DMX dimmers that have sufficiently high PWM frequencies of 25,000 Hz (25 kHz) or above. By utilizing a truly high frequency PWM dimming method, even high frame rate and high shutter speed applications can be operated without any detrimental effects of flicker.

What is the minimum frequency of DC? ›

The frequency of direct current (DC) is 0 Hz, as the current only flows in one direction. Was this answer helpful?

Is there a frequency needed in a DC motor? ›

At minimum, you need to use a frequency so that the motor "sees" the average and doesn't react to individual pulses. That is usually a few 100 Hz.

What is the frequency for DC to DC? ›

DC-DC converters use high frequency conversion circuits to provide regulated DC outputs and input to output isolation where applicable. These frequencies are typically in the range of 50kHz to 500kHz. Depending upon the power supply topology these frequencies are either fixed or variable.

What is the average DC voltage for PWM? ›

The average voltage over time would be halfway between 0 and 5 V (2.5 V). PWM emits a burst of 1s and 0s whose ratio is proportional to the duty value you specify. The proportion of 1s to 0s in PWM is called the duty cycle.

How do you calculate PWM on a motor? ›

So for example if the motor spins at 10,000 rpm on 24 V then with 40% PWM applied it should run at 10,000*0.4 = 4,000 rpm. With 20% PWM it should run at 10,000*0.2 = 2,000 rpm.

Videos

1. Electronics: Criteria behind selecting pwm frequency for speed control of a dc motor?
(Roel Van de Paar)
2. Noise suppression for an electric motor
(4QD Ltd)
3. How To Control Your Dc Motor With A Motor Driver And PWM Signal
(IR DR NORASHIKIN M. THAMRIN)
4. PWM Brushed DC Motor Noise
(Roel Van de Paar)
5. Arduino: How to eliminate noise from PWM controlled 12V fan at low speed? (9 Solutions!!)
(Roel Van de Paar)
6. DC motor noise creating issues with Arduino
(Kaustubh Ponkshe)

References

Top Articles
Latest Posts
Article information

Author: Edwin Metz

Last Updated: 09/19/2023

Views: 5520

Rating: 4.8 / 5 (58 voted)

Reviews: 89% of readers found this page helpful

Author information

Name: Edwin Metz

Birthday: 1997-04-16

Address: 51593 Leanne Light, Kuphalmouth, DE 50012-5183

Phone: +639107620957

Job: Corporate Banking Technician

Hobby: Reading, scrapbook, role-playing games, Fishing, Fishing, Scuba diving, Beekeeping

Introduction: My name is Edwin Metz, I am a fair, energetic, helpful, brave, outstanding, nice, helpful person who loves writing and wants to share my knowledge and understanding with you.