Skip to main content Improve Brushed DC Motor Performance PWM Frequency
Overview
Introduction
PWM and Brushed DC Motors
Duty Cycle
Decay Mode
PWM Frequency
Choosing Decay Mode and PWM Frequency
CircuitPython Code Examples
Measuring Motor Performance
Motor Performance Charts
A Motor Testing Appliance
References
Single page
Feedback? Corrections?
Text View
Featured Products view all
Adafruit CRICKIT FeatherWing for any Feather $29.95 Add to Cart
Adafruit CRICKIT for Circuit Playground Express $29.95 Add to Cart
Assembled DC Motor + Stepper FeatherWing Add-on $21.50 Add to Cart
Adafruit Motor/Stepper/Servo Shield for Arduino v2 Kit $19.95 Add to Cart
Adafruit DRV8871 DC Motor Driver Breakout Board - 3.6A Max $7.50 Add to Cart
Your browser does not support the video tag. Adafruit DRV8833 DC/Stepper Motor Driver Breakout Board $5.95 Add to Cart
Your browser does not support the video tag. Adafruit TB6612 1.2A DC/Stepper Motor Driver Breakout Board $6.95 Add to Cart
Dual H-Bridge Motor Driver for DC or Steppers - 600mA - L293D $8.95 Add to Cart
28 Intermediate Project guide
PWM Frequency
Coils of Wire in the Motor's Rotor 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).
When calculating the PWM Equivalent Voltage, we generally assume that the motor will operate ideally and respond as if it was connected to a non-PWM power source providing the voltage. But that's not the case. For example, a Yellow-TT motor will easily spin if a single 1.5-volt battery is connected, but will not turn until the PWM Equivalent Voltage coming from a Motor FeatherWing reaches 2.0 volts when operating in fast decay mode. And when it does start, it suddenly rotates at 4000 RPM. Why is that?
Since a brushed DC motor’s internal rotor consists of two or more coils of wire wound around laminated magnetic core material, the motor acts like an inductor. Depending on size of the rotor coil, it may take a few milliseconds for the energy to build sufficiently to turn the shaft.
Inductors are electromagnetic components that capture energy from the incremental buildup of the magnetic field created by an electrical current passing through a wire coil.
Rotor coil inductance becomes an important factor to consider when using PWM for motor speed control. The motor coil works best when the applied voltage is relatively steady since it needs time for its magnetic field to reach the needed strength. At higher PWM frequencies, the pulses from the motor controller board change too quickly to provide enough energy to spin the motor until the equivalent voltage reaches 2.0 volts, although switching to using slow decay mode can help.
When the PWM frequency is lowered, the motor’s coils extract more energy from the pulsed PWM signal. That means that the motor will start spinning at a lower equivalent voltage and will operate with improved torque at low speeds. The following graphs compare the Yellow-TT motor's speed response when the default PWM frequency of 1600Hz is changed to 25Hz.
The spin threshold at 25Hz starts at 0.5 volts or less depending on the decay mode selection, increasing the useable motor speed range to as low as 100 RPM. The Yellow-TT gearbox reduces the motor’s RPM by a factor of 48, so the attached wheel will be turning at 2 RPM or about 0.7 cm/sec. A velocity like that will make it much easier for your robot to sneak up on the cat.
So now that we know about current decay mode and PWM frequency, how do we go about choosing the best configuration of the two parameters for our robot’s motors?
Page last edited March 08, 2024
Text editor powered by tinymce.
Decay Mode Choosing Decay Mode and PWM Frequency Related Guides Current Limiting Stepper Driver with DRV8871 By Bill Earl beginner All About Stepper Motors By Bill Earl beginner Your browser does not support the video tag. This links to the guide Paper Airplane Launcher. Paper Airplane Launcher By Dano Wall beginner Adding an Accelerometer to your FeatherWing Crickit By Dave Astels intermediate Cardboard Fundamentals By John Park beginner Your browser does not support the video tag. This links to the guide Stumble-Bot. Stumble-Bot By Dano Wall beginner Your browser does not support the video tag. This links to the guide Mini Smart Home with Huzzah, HASSio and Crickit. Mini Smart Home with Huzzah, HASSio and Crickit By Richard Albritton intermediate Your browser does not support the video tag. This links to the guide Crickit Collapsible House with MakeCode. Crickit Collapsible House with MakeCode By Dano Wall beginner Your browser does not support the video tag. This links to the guide Open Sesame! A SMS-controlled door lock. Open Sesame! A SMS-controlled door lock By lady ada intermediate Circuit Playground + CircuitPython Quickstart Guide By Collin Cunningham beginner Introducing Adafruit Crickit #MakeRobotFriend By lady ada beginner Your browser does not support the video tag. This links to the guide Sparky the Blue Smoke Monster Automaton. Sparky the Blue Smoke Monster Automaton By Dano Wall beginner Your browser does not support the video tag. This links to the guide Crickit Powered Mini Chair Swing Ride!. Crickit Powered Mini Chair Swing Ride! By Isaac Wellish beginner Your browser does not support the video tag. This links to the guide CRICKIT Exhibit Demo Board. CRICKIT Exhibit Demo Board By Dano Wall beginner Your browser does not support the video tag. This links to the guide Bluefruit Ouija Board. Bluefruit Ouija Board By John Park intermediate