BLDC Actuator Stutters at Low Duty Cycle
A 48 V battery-powered traction actuator uses a three-phase BLDC motor with 8 pole pairs and a maximum speed of 3000 rpm. The controller uses 20 kHz PWM, 1 µs dead time, and a low-side 1 mΩ shunt with a gain-of-50 current-sense amplifier feeding a 12-bit ADC with a 3.3 V reference. The current limit is set to 25 A. At low duty cycles below about 8 %, the actuator stutters and the measured current is 6 A while a calibrated clamp meter shows 18 A. At high duty the readings agree within 0.5 A. The gate driver has no synchronous rectification enabled, and the current is sampled once per PWM period at the end of the off-time. The motor phase resistance is 0.012 Ω and inductance is 180 µH. The engineering team wants to raise the current limit to improve low-speed torque.
1. Calculate the electrical frequency at 3000 rpm, the six-step commutation update interval, and the current-sense LSB in amps.
Read the worked answer
Electrical frequency = mechanical revolutions per second × pole pairs = (3000 / 60) × 8 = 50 × 8 = 400 Hz.
In six-step commutation there are six commutation events per electrical cycle, so the update rate is 6 × 400 = 2400 events/s. The interval between commutations is 1 / 2400 = 417 µs.
Current-sense chain: at 1 A, the shunt drops 1 mV, and the amplifier output changes by 50 mV. The ADC LSB is 3.3 V / 4096 = 0.806 mV. Therefore one current LSB is 0.806 mV / 50 mV/A = 0.0161 A, or about 16 mA. At the 25 A limit the shunt produces 25 mV and the amplifier output is 1.25 V, well inside the ADC range.
So the current measurement has ample resolution; the low-duty error is not an ADC-resolution problem.
2. Explain why the clamp meter reads 18 A while the controller reads 6 A at low duty. Quantify the dead-time duty error and relate it to the 8 % duty condition.
Read the worked answer
At low duty the low-side on-time is short and the off-time is long. With synchronous rectification disabled, the phase current freewheels through the low-side diode or the body diode, and the 1 mΩ shunt may conduct only during part of the cycle or may see a different current path. Sampling once at the end of the off-time can catch the current after it has decayed, or during ringing, so the controller underestimates the average phase current. The clamp meter measures the true phase current, including the freewheel interval.
Dead time also distorts the voltage. The dead-time fraction is t_d / T_pwm = 1 µs / 50 µs = 0.02, or 2 % of the PWM period. At 48 V this is an average voltage error of 48 × 0.02 = 0.96 V per switching event. At 8 % duty the commanded average voltage is only 0.08 × 48 = 3.84 V, so a 0.96 V error is about 25 % of the commanded voltage. At high duty the same absolute error is a much smaller fraction, which is why the readings agree there.
The combination of distorted voltage, short low-side conduction and poor sampling instant causes low-speed torque ripple, stuttering and a falsely low current indication. Raising the current limit would not correct the measurement and could overheat the motor because the controller is already near 18 A actual.
3. Evaluate the proposal to raise the current limit and recommend specific hardware and software fixes, including a thermal check.
Read the worked answer
Do not raise the current limit first. The clamp meter shows 18 A actual against a 25 A limit, so the controller is not necessarily current-limited; it is measuring wrongly and producing poor low-duty voltage. Raising the limit would increase copper loss and risk overheating without fixing the stutter.
Recommended fixes:
- Enable synchronous rectification so the low-side switch conducts during freewheel and the shunt sees a more representative current.
- Sample phase current at the centre of the PWM on-time, or use a phase shunt with a current-sense amplifier that can measure both directions. Avoid sampling at the end of the off-time.
- Add dead-time compensation based on current direction, or use adaptive dead time in the gate driver.
- Set a minimum pulse width and blanking time so very small duties are not swallowed by dead time and ringing.
- Check gate resistors and layout to reduce ringing, and verify that the shunt Kelvin connections are clean.
Thermal check: with 18 A RMS and two phases conducting, copper loss is approximately 2 × 18^2 × 0.012 = 7.8 W, plus switching loss. At 25 A it would be 2 × 25^2 × 0.012 = 15 W. Estimate junction temperature from the motor and MOSFET thermal resistances and verify with a thermocouple under stall and low-speed lugging. Only raise the limit after the measurement and thermal margin are proven.