# Why does my BLDC motor change behavior at high speed?

## Background

I've recorded torque vs speed performance of a small sub 50 gram hobby BLDC motor, the KDE 2304XF-2350.

I power the motor at different fixed voltages to the ESC (electronic commutator) and at different throttle settings for the ESC. The throttle of the ESC essentially steps down the fixed voltage. I measure the "quasi-multiphase" AC electric power entering the motor using a 3-phase wattmeter. I say quasi-multiphase because only a single phase of current flows through 2 motor windings at any point in time.

I load the motor using an eddy-current brake: an aluminum disk is connected to the rotor, and the motor/disk are suspended above two electromagnets. Increasing power to the electromagnets induces larger eddy-currents into the spinning disk which generates a larger torque. I measure steady-state torque and speed at different load-currents using an in-line torque cell and a hall sensor.

Here is my data at 8V, 50-100% throttle. Each dotted experimental set has a corresponding solid prediction based a simple DC motor model and KDE's specs.

$$V = dV_{DC}$$ $$V = IR + E$$ $$V = \frac{T}{k_t}R + k_t\omega$$ $$T = \frac{Vk_t - {k_t}^{2}\omega}{R}$$

Where

• $d$ is the duty ratio of throttle setting
• $V_{DC}$ is fixed voltage entering the ESC
• $R$ (182 mΩ) is the winding-to-winding resistance of a motor (KDE provides the per-winding resistance of 91 mΩ) because that is the total resistance seen by a voltage applied instantaneously to the motor terminals
• $k_t$ (0.0041 Nm/A) is as provided online

## Problem

I simply do not understand why the experimental data diverges from my model at high speeds - specially at low throttle.

I initially though this was some sort of "accidental" field-weakening. The divergence stems from a change in slope, and the slope of a DC motor curve is only a function of $k_t$ and $R$. At high speed/low current, $R$ won't change (low current = low temps), but $k_t$ might change due to an increase in inductance.

The experimental slope becomes less negative as if the $k_t$ has been decreased to achieve more speed, yet the motor still maintains higher torque than if $k_t$ had remained the same.

For example, at 70% throttle and 10 kRPM, my model predicts ~ 20 mN-m of torque, but the "field-weakened" motor produces 25 mN-m of torque. What gives??

1. Is this field-weakening of a BLDC? If so, why doesn't torque suffer?
2. If this is not field-weakening, what else could cause the torque-speed curve slope to change with speed?

What also confuses me about this high-speed divergence is that the experimental motor efficiency improves with FW.

As I understand FW for PMSMs, some of the stator current (Id?) is spent "fighting" the armature field rather than generating torque (Iq), so you actually lose some efficiency.

However, my motor's experimental efficiency does not drop as precipitously as my model since the motor is producing more speed (relative to the model) at the same torque.

As Neil_UK mentioned, the ESC may be playing some sort trick with the phase angle at the armature. How can I measure the phase angle at the armature?

I am already measuring the total phase angle at the motor terminals via my wattmeter (Φ = acos(∑P/∑S) across all 3 phases), but this phase angle includes current lag from speed-increasing inductance and harmonic distortion from noisy switching.

## Hypothesis

Torque doesn't suffer at accidental FW region because the BLDC motor continues to draw more power at FW unlike PMSMs that pull "constant" power during FW (ignoring inefficiencies). I will check data now!

• What does 'throttle' mean. I don't mean 'it controls the motor speed', but what does it mean electrically, to the ESC, and how does that enter your model. I think what I'm seeing is 'as the revs rise, I'd expect the torque to fall, but it doesn't fall as much as I'd expect, at lower throttle settings'. If I had a brushed motor running on different battery voltages, that would surprise me greatly. However, with a brushless, there are several opportunities for the ESC to 'do something clever' as the timing changes. Is it doing that? How do you know what 'throttle' is telling it to do? Jul 4, 2018 at 6:05
• How did you derive your model? What assumptions are built-in to it? It seems like the most obvious explanation is that the speed controller does not follow the assumptions built into your model. What does the speed controller actually do in response to different throttle settings? Probably not what you think it does. Jul 4, 2018 at 6:10
• Basically, what is happening is that the motor is running faster than you expect under light load conditions. I think the controller can tell that the motor is not loaded and is using phase advance or something like that to implement field-weakening under those conditions. When the motor is heavily loaded (torque is high) then the experimental data converge with your model. Jul 4, 2018 at 6:23
• I'd suggest that your ESC is a non-sinusoidal drive, so whatever algorithms are being used will be different to any model using sinusoidal drive, They appear to have significantly improved torque in the middle range Jul 4, 2018 at 15:10
• @DmitryGrigoryev I'm using a torque cell rated for 700 mN-m (100 oz-in). The same phenomenon happened to even smaller BLDCs tested by the Army using a commercial dynamometer (report). I calibrated it with known weights hung at a known distance. My theoretical and experimental slopes match at low speeds, so I don't think there is measurement error. Jul 5, 2018 at 16:43