Background: I understand how the standard 50 Hz PWM protocol for hobby electronics works: varying the on-time from about 0.5 ms to 2.5 ms will throttle an actuator from roughly 0% to 100% thanks to embedded controllers inside the servos or electronic speed controllers (ESC) connected in series to a motor.

In the context of a BLDC motor, I understand that the ESC generates a trapezoidal voltage to 2/3 phases of the motor. The ESC looks for the zero-crossing point of the back EMF on the third phase to energize the next pair of phases with a built-in lead (30 degrees IIRC).

I don't understand how the electronic speed controller (ESC) acts upon these throttle commands.

My questions:

  1. Does changing the throttle change the duration of the trapezoids? Using a standard multimeter, I measured the RMS voltage and current between an ESC/motor running at ~50% and ~75% throttle. I know the meter probably isn't rated for such high frequencies, but I trust the fact that RMS readings increased from 50% to 75% throttle. This suggests the ESC is modulating the duration of the input voltage trapezoid to the motor since the peak voltage value is fixed by the battery (unless the ESC also somehow modulates that?). Note, I just realized I can test for this with an oscilloscope. I will do this tomorrow!

  2. How does the ESC maintain unity power factor? Does/how does it also control current? I'm assuming it aims for PF = 1 since this maximizes torque.

  3. Does changing the throttle setting below a certain point change the \$k_{t}\$ of a motor? The second plot linked below compares changing input voltage at 100% throttle to changing throttle at constant voltage. I understand that decreasing input voltage (input RMS voltage would be correct, yes?) shifts the torque-speed curve down and to the left, but why does the torque-speed response also start "drooping" at lower throttle settings? Re-arranging the DC-equivalent model for torque as a function of speed, \$T = [Vk_{t} - {k_{t}}^2\omega]/R\$, the only way slope can change is if \$k_{t}\$ or R change.

  4. Slightly unrelated to hobby BLDC motors, but do the similar sinusoidally-driven BLACs (aka PMSM?) energize all 3 phases at once? If so, then one cannot not sinusoidally drive a BLAC motor with sensorless control based on back-EMF measurements, correct?

voltage vs throttle effects

Plots from ARL technical report 6389.


3 Answers 3


Does changing the throttle change the duration of the trapezoids?

Not directly. The duration of the 'trapezoids' is determined by commutation, which is synchronized to the rotor position. The motor will rotate at the speed it wants to, determined by the applied voltage and torque load. The controller must respond to this by commutating at the same speed and phase.

The throttle controls effective motor voltage by applying high frequency 0-100% PWM, so you could say that it indirectly affects commutation timing because motor speed is proportional to applied voltage. However motor speed is also affected by loading, which may vary independently of throttle level.

How does the ESC maintain unity power factor?

The ESC may adjust commutation timing to compensate for the lagging current caused by winding inductance. Some ESCs do it automatically, others have fixed timing advance settings. With fixed timing unity power factor is rarely achieved, and the best setting is usually a compromise between power and efficiency.

Does changing the throttle setting below a certain point change the kt of a motor?

The controller relies on winding inductance to smooth out the current. However in most ESCs the PWM frequency is barely high enough to maintain continuous current flow. As the throttle is lowered (and PWM ratio reduced) current ripple increases until the current waveform becomes a discontinuous sawtooth. Since torque is proportional to average current this lowers the effective torque constant. At higher loading the current becomes smoother so the effective torque constant increases, causing the torque/rpm curve to become nonlinear.

do the similar sinusoidally-driven BLACs (aka PMSM?) energize all 3 phases at once?

Yes, or no - depending on the controller. There is no fundamental difference between BLDC and PMSM. It is possible to power a BLDC motor with 3 phase AC, but with all 3 phases continuously powered you can't extract back-emf for zero-crossing detection. However the PWM can be modulated to shape the trapezoid waveforms into a 'saddle' profile, which becomes a sine wave when the two driven phases are combined.

How to Sinusoidally Control Three-Phase Brushless DC Motors

  • \$\begingroup\$ Could you check my latest comment to jms in regards to my first question? Re: power factor, this is the PF between applied Vdc and motor I, yes? The PF between back EMF (E) and I is 0 deg, right? Or is the ESC balancing between 0 deg E/I PF and Vdc/I? I seem to recall 0 PF of Vdc/I yields non-zero PF of E/I which reduces output power. \$\endgroup\$
    – techSultan
    Feb 9, 2018 at 0:32
  • \$\begingroup\$ Regarding ESCs and kt: I think I understand it! In the 2 plots I originally posted, lowering the voltage (ESC input voltage? RMS ESC output to motor? unclear from paper) at 100% throttle yielded more linear performance than decreasing throttle at constant voltage. This is because decreasing throttle shortens T-ON for high freq pulses which make up the apparent "flat-top" of the trapezoidal voltage as seen by the motor phase. This shorter T-ON causes discontinuous current which degrades motor performance. decreasing Vdc at 100% throttle actually lowers Vp of the ESC's output pulses/trapezoid \$\endgroup\$
    – techSultan
    Feb 9, 2018 at 0:43
  • \$\begingroup\$ Also, could you solve this problem of discont. current by placing a buck converter (whose duty ratio = throttle ratio) before an ESC running at 100% throttle? That way, decreasing throttle would decrease the average voltage entering the ESC and therefore maintain cont. current into the load (motor). \$\endgroup\$
    – techSultan
    Feb 9, 2018 at 0:48
  • \$\begingroup\$ "could you solve this problem of discont. current by placing a buck converter (whose duty ratio = throttle ratio) before an ESC running at 100% throttle?" - Yes, sort of. It moves the problem to the buck converter, where it might be easier to deal with. However the buck converter has to handle the full motor power with high efficiency, so it may be larger and have more components than the BLDC controller itself. In typical 'hobby' applications size, weight and cost are more important than achieving the highest possible efficiency at low throttle. \$\endgroup\$ Feb 9, 2018 at 5:10
  • \$\begingroup\$ Okay, that makes sense. I'm curious where the break-even point is if you need high efficiency at low throttle (or if it even exists). Is my understanding of your previous answer correct though? \$\endgroup\$
    – techSultan
    Feb 9, 2018 at 5:37

In a standard sensorless ESC, changing the throttle command to it changes its output PWM duty cycle, and so the mean voltage, delivered to the motor. Typically, 1mS corresponds to 0% or zero voltage, and 2mS corresponds to 100% or full voltage.

The ESC continues to automatically commutate the motor as it turns, using zero voltage sensing on the un-energised phase. Obviously sensing this while PWM'ing the other two phases requires care, to avoid being upset by the switching transients.

As the mean voltage varies, so the speed varies. The motor draws as much current as it needs from the ESC in order to maintain its speed.

  • \$\begingroup\$ "In a standard sensorless ESC, changing the throttle command to it changes its output PWM duty cycle, and so the mean voltage, delivered to the motor." Does that mean the ESC is varying the duration of the trapezoidal pulses? \$\endgroup\$
    – techSultan
    Feb 5, 2018 at 8:23
  • 1
    \$\begingroup\$ @techSultan No, that quote doesn't imply that. It means that when the ESC is driving a given phase, it doesn't apply the full battery voltage to it. Instead, it applies an average voltage proportional to the commanded throttle input by rapidly switching that phase between ground and the positive supply rail (PWM). While which phase is getting driven at any given time out of the three ("the duration of the trapezoidal pulses") is also commanded by the ESC, that's done on the basis of the sensed position of the rotor and has nothing to do with the throttle signal. \$\endgroup\$
    – jms
    Feb 5, 2018 at 14:10
  • \$\begingroup\$ @jms Ok, I understand that the phase energization timing is purely a function of the position. I think I misunderstand the shape of the applied voltage. Does an ESC apply a PWM square-wave voltage or a trapezoidal voltage? \$\endgroup\$
    – techSultan
    Feb 5, 2018 at 22:45
  • \$\begingroup\$ @jms I think I get it. The ESC drives a motor phase using trapezoidal voltage of varying "mean-peak" value as seen by the phase: the trapezoid (in the hundreds of Hz based on motor speed) is actually a sequence of pulses (in the kHz?) of varying duty ratio (see here). Given a higher throttle setting, the ESC will "ramp" up to a higher duty ratio for the flat-top of the trapezoid. For example, seeking 100% throttle will yield trapezoids with a peak flat-top value of Vdc as seen by the motor (who isn't seeing the tinier pulses within the trapezoid). yes? \$\endgroup\$
    – techSultan
    Feb 9, 2018 at 0:24

Separation of functions.
1) The ESC sees the incoming servo pulses, and decodes their width to a value describing the desired speed (usually 0 to 100%).

2) This is translated to a desired PWM duty cycle (0 to 100%) at the PWM rate, which is unrelated to the trapezoidal motor drive waveforms, and usually much faster.

3) The details will vary between sensored and sensorless and how soft starting works, but when running, the ESC monitors rotor position (either via sensors or back EMF) and generates the trapezoidal pulses following that position indication NOT the PWM pulse width.

Thus, as you increase the throttle, the mean voltage delivered to the motor increases (by increasing PWM %) but the trapezoidal pulses don't change. If that voltage allows the motor and its load to accelerate, only then will the position sensing change the trapezoidal pulse timings.

So the answer is - yes, the trapezoidal pulses will change, but not directly or immediately following an input change.

  • \$\begingroup\$ I think I understand the subtle difference between the 2 PWM signals interacting with the ESC (see my last comments in each of the previous answers). My question for you is, what is the frequency of the ESC's output PWM? 10 kHz? 40 kHz? I've seen numbers all over the place on Hobby sites. \$\endgroup\$
    – techSultan
    Feb 9, 2018 at 0:45
  • 1
    \$\begingroup\$ It's whatever they make it, it just has to be much faster than the commutation frequency. \$\endgroup\$
    – user16324
    Feb 9, 2018 at 12:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.