Electronic – Controlling a DC Motor 48v with a 63v power supply

lipomotor

I have a 1000w 48v DC motor and some Lipo batteries 15s (one 6s and three 3s). My batteries full-charged has 63v (4.2v * 13s).

If I control the speed of my motor through a PWM (using my arduino), I guess I can set the max duty cycle to never reach a tension higher than 48v.

Is that the best way to do it? Thanks!

Best Answer

If I control the speed of my motor through a PWM (using my arduino), I guess I can set the max duty cycle to never reach a tension higher than 48v.

You can use PWM to reduce the effective voltage to 48V, but the motor will still be getting pulses of 63V. If the PWM frequency is high enough then current will be relatively smooth despite the voltage pulsing. This occurs because the inductance of the motor windings prevents the current from changing instantaneously.

However the Arduino's stock PWM frequency is only 480Hz which is much too low. At this frequency the motor current will go up and down with the voltage and peak at a higher value than it would on 63VDC, causing the motor to run hotter than normal. Most motors need at least 3kHz to get useful current smoothing, and commercial controllers often run 8kHz or higher.