Electric motor intuition

As someone who’s been working with electric motors for a long time, I’ve seen a lot of newcomers get confused about things like kV, internal resistance, motor size, magnet strength, and how all the various aspects of the motor design actually impact the motor’s performance in different situations.

A note, this page is only going into brushless DC permanent magnet (BLDC-PM) motors, and even then particularly as they pertain to the 10W - 1000W, weight and efficiency sensitive applications, such as multirotor and fixed wing drones. A lot of the intuition carries over into other areas, and maybe I’ll do a follow up on that, but for now, permanent magnet brushless motors are the focus.

The different parts of the motor

The stator

This is typically a bunch of thin iron sheets sandwiched together. They are iron, because iron is good at conducting magnetic fields, effectively making the magnetic field more focused, and thus making more torque. (Note: you also get coreless motors which don’t have an iron stator. These typically have lower torque, but run at much higher speed, and can in some cases be more efficient.) The iron is in sheets, rather than solid, because this prevents eddy currents being induced in them by the passing permanent magnets. The sheets need to be insulated from each other to prevent the eddy currents between the sheets from forming, otherwise the stator might as well be one big thick sheet. Eddy currents cause losses and heat as the motor spins faster.

The rotor

In a permanent magnet brushless motor, the rotor is where the magnets are. Having stronger magnets has a similar effect to having an iron stator - the stronger the magnets, the more torque you get from the motor, all else equal. You can also get a stronger magnetic effect by reducing the gap between the stator and the rotor - often curved magnets are used to get really close, since two circles can get a more even gap than a polygon around a circle. There is a way to order the magnets, rather than just naive NSNS ordering, instead you can put some at 90 degree angles, which helps direct the magnetic field to be stronger where it interacts with the stator. There is also the technique of putting a ‘flux ring’ around the permanent magnets, which is some iron material designed to do the same thing, redirect the magnetic field to the stator instead of somewhere else. (Inrunner motors don’t have this issue with the rotor, but they typically use a flux ring for the stator instead.) Stronger permanent magnets are also a tradeoff. Typically the strongest magnets are very sensitive to overheating: if they overheat even once, they may lose their stength. If you can guarantee they will stay cold, you can spec the highest stength magnets and get more torque, but usually it’s better to go for a lower strength magnet that you know can handle the heat of real-world operating conditions.

The windings

These are the wires that wrap around the stator in coil patterns. In a BLDC-PM design the voltage and current through these wires is driven directly by the controller, and is constantly being turned on in carefully timed alternating directions so that the electromagnetic fields from the stator push or pull against the permanent magnets in the rotor. There are typically 3 distinct ‘sets’ of windings around the stator, known as phases, making it a 3-phase motor.

There is then also the choice of how to link these windings together. Since each set of windings has 2 ends, and there are 3, there are 6 endings. However, the controller only has 3 wires, so these windings need to be ‘terminated’ in a way to reduce the number of connections the controller has to deal with down to 3, matching the phases and the power lines coming from the motor. There are 2 popular termination patterns: delta, and wye (Y, also known as “star”). The delta results in a faster spinning motor by a factor of sqrt(3) = 1.732..., with proportionally less torque and internal resistance. Wye results a slower motor, but also in needing one extra solder joint, so often delta is chosen for practical manufacturing reasons. Note that delta can be more sensitive to something known as ‘circulating currents’ due to the inductance of the coils, and some motor controllers have problems controlling delta terminated motors.

If the electricity needs to follow lots of loops around the stator, you end up with a motor with more torque. However to get this you might need to use thinner wire to get enough turns, which reduces the amount of current the wire can carry. Typically, for maximum efficiency, you should put as many turns as will fit, and if you want more turns drop to a thinner wire. This ensures miminal losses due to the wire resistance itself.

Bearings

The rotor needs to spin on something. Some small and cheap motors just use bushings, these should be oiled and kept clean, and also wear out fairly quickly. Bearings come in a variety of types - ball bearings are probably best for electric motors. One exception is if you know you have very high axial thrust on the motor, eg. due to a propeller or driveshaft. In this case adding a thrust bearing, or replacing one of the ball bearings with a tapered roller bearing may be benificial.

What is kV

kV is actually pretty simple, and lends itself well to intuition. Remember, BLDC-PM motors are generators if you spin them - this voltage caused by the back-EMF of the magnets going past the coils. The kV is simply how fast you need to spin the motor to generate a RMS 1V output. If a motor has low kV, this means it generates lots of back-EMF, and will get you to 1V output even at low speeds. If it has high kV, it means it doesn’t make very much back-EMF, so you have to spin it fast to get it to 1V. The back-EMF is important, because it is what prevents the motors from drawing tons of power when very little load is on it.

How much current will a motor draw?

This depends on a few factors:

  • How fast the motor is spinning
  • What the kV of the motor is
  • What the internal resistance of the motor is
  • And finally, how much voltage you’re (actually, not theoretically) driving it with

The faster the motor is spinning, the less power it will draw. In fact if you drive it so fast that the back-EMF is stronger than the current that the input voltage can generate, it will generate power back into your system. Conversely, the slower it is spinning, the more current it will draw. If the motor is completely stopped, the equation simplifies into I = V / R, with V being the voltage you are driving it will, and R being the internal resistance. Since you want the internal resistance of the motor to be low for efficiency and heat reasons, this is typically a very large number, and not recommended for any extended period of time beyond a few milliseconds.

The higher the kV, the lower the back-EMF, so all else equal the motor will draw more current. However, if the motor is unloaded, this extra current will spin it up faster to where it draws the same as the lower kV motors (things like bearing friction and air resistance ignored).

Higher internal resistance of the motor generally just makes the motor less efficient. The startup current will be lower, but all power lost to internal resistance goes straight to heat. This then needs to be dissipated, otherwise it will do nasty things like destroy the permanent magnets, melt the insulation off of the windings, or burn the poor unsuspecting human who touches the motor. Minimizing the internal resistance is one of the best ways to improve a motor’s performance, for the same kV.

The slightly more complicated formula for how much current your motor will draw is:

I = (V_bat * throttle_fraction - RPM * kV) / R_internal

Note that V_bat has its own drop from the theoretical cell voltages that it will do due to the internal resistance of the battery itself.

Poles

Higher pole count motors generate more torque but spin slower. Doubling the poles is pretty similar to running a 2:1 reduction gearbox. One thing to take into account is that high pole counts require fast switching from your ESC. The motor RPM multiplied by the pole count is referred to as the electrical RPM, or eRPM. Cheaper ESCs typically have an eRPM limit due to their processing power limits.

The winding patterns also affect how well the poles work. The ‘classic’ way of winding the same motor would be simply (for phases A, B, and C, lower case opposite direction) ABCABCABCABC. Of interest, the Split Phase Sector (SPS, or LRK) winding pattern has shown a lot of success. Typically this is used with a 12-pole stator and 14-pole rotor, with a winding pattern of the stator being AaBbCcAaBbCc, and the rotor just doing a normal NSNSNS... the whole way around. There are also techniques such as winding only the alternating poles of the stator and using the return flux path to drive the magnetic field on the adjacent stator poles automatically. This can reduce manufacturing costs.

Cogging

If the number of poles of the rotor and stator have certain points in the rotation where they have higher or lower overlap, this can result in high ‘cogging’, where the motor wants to stick at certain points in the motion. While this may give strong apparent force to turn manually, in practice the motor accelerates into each ‘cog’ as quickly as it slows down on the way out, so motors with high cogging are not less efficient. However, high cogging can introduce torque ripples and vibrations, so generally motors are designed to minimize the cogging effect. For motors with gearboxes, cogging can also cause increased gear wear, often only on specific teeth.

Power output and limits

Typically 2 things will limit the power output of your motor:

  1. Thermal limits and heat dissipation. If you can get more cooling for your windings, or reduce the internal resistance, it will be capable of more sustained power output. Even very small motors can output a lot of power continuously if they have good cooling.
  2. Stator saturation. The iron core of the magnetic field works by aligning the magnetic field of each individual atom in the direction of the magnetic field, effectively focusing the field strength. However, at some point all of the iron is completely aligned, and adding more current in the coils doesn’t produce a proportionally stronger magnetic field. It will still increase very slightly, but much less than earlier in the range. In effect, the motor starts behaving like a much higher kV motor, and will rapidly draw much more current since the back-EMF doesn’t increase to compensate. This is a common way to burn out motors if they are over torqued, since the power consumption is not a linear extrapolation.

Dynamic power output vs. Static power output

Dynamic power of the motor determines how quickly it will change speed based on the motor controller. For brief moments during the change in speed the current (and thus power) consumption of the motor may exceed the steady state power by a large margin. In general, a lower internal resistance will cause the motor to ‘track’ the controller inputs closer, causing higher peak power, but better control response. However, in these peaks you are also likely to saturate the iron core of the stator for brief moments. This can cause higher than expected current spikes during controller changes, causing things like battery voltage sag, extra strain on connectors and controller electronics burning out. Large decoupling capacitors close to the controller, plus short wires between controller and motor, are highly recommended in order to get the most benefits from low internal resistance motors.

Controller methodologies

The ‘golden child’ of BLDC-PM is Field Oriented Control (FOC). This can give smooth control, without any external sensors on the motor, all the way from position hold up to high speed operations. However FOC usually requires extensive tuning to work with a specific model (or even individual unit) of motor. FOC also has high computational requirements, which may limit the eRPM which it can effectively operate at. However, when correctly tuned and in its operational domain, FOC holds the crown for smoothness, efficiency, control precision etc.

The cheapest BLDC-PM motors (eg. computer fans) work with hall sensors to detect the magnetic position of the rotor. This can then directly drive (via a simple 6-step logic table) the current in the windings. Sensored brushless motors are typically used in cases where the environment is strongly controlled, since it is easy to damage the sensors, which can then (in high power situations) lead to the misdriving of the motor and instantly burning out both motor windings and controller. They are also used in cases where absolute position control is required, since even FOC doesn’t know where the motor was (in an absolute sense) when it was turned on. There are also other sensor types, although they are more often used in position control rather than speed control: inductance sensors, optical sensors, capacitive sensors, all of which are often used with a notched plate to detect when the motor moves past certain points.

Somewhere in the middle is the ‘sensorless’ 6-step motor controllers. These controllers drive 2 of the phases and then infer the motor position based on the point where the back-EMF voltage changes from positive to negative on the undriven phase, and use this to correctly time the different commutation steps to the motor windings. While a lot of development time has gone into this motor control method ironing out issues with correctly detecting the step changes, it is at this point robust and can operate (without any custom retuning) across a wide variety of motors with different size, pole-count, kV, RPM range, etc. This method is the most widely used for most hobby motor controllers.

One thing which affects efficiency is whether the waveform that drives the motor is the same as the back-EMF waveform. Every motor has a slightly different back-EMF waveform, and while many closely approximate a sine wave, some are explicitly designed to have close to a square-wave back-EMF, by careful shaping of the stator and magnets. This affects the efficiency, because even if the ‘average’ back-EMF matches the driving voltage, and at steady unloaded state the ‘average’ current may be very low, at different parts of the phase the controller will either be pushing or pulling current from the motor as the driving voltage exceeds or undershoots the back-EMF. This increased current causes additional resistive losses in the internal resistance of both the motor and the controller. FOC typically expects a sine-wave already, but there are potential effiency improvements by measuring the actual waveform and calibrating the controller’s voltage output waveform against this instead of the theoretical outputs.

Note that driving the motor with a mismatched waveform will not only cause reduced efficiency due to higher IIR losses, but will also lead to a torque ripple. This can cause vibration which may affect gyro/accelerometer readings, and also can increase system vibration which increases audible noise, as well as things like increased servo loads, camera vibrations etc. Since most motors are close to sinusoidal back-EMF, if your controller is a normal ‘sensorless’ 6-step controller and has a mode which can set the controller’s output waveform to a sine-wave, it will probably be more efficient than naive square wave 6-step control, as well as quieter and with less vibration.

The overall engineering tradeoffs and design flow

Generally when designing a motor you have a goal RPM. First thing to choose is your kV vs. your input voltage; kV is pretty flexible, so this is more based on what your controller can handle. Note that if you are planning to have a high kV and just throttle down a lot, you will actually have much higher current in the motor than at the battery due to the controller acting like a Buck regulator, so make sure your controller can handle the motor current, not just the battery current.

Next, you probably want to optimize for size, weight, cost, efficiency and robustness, not necessarily in that order.

In general, to get highest efficiency (and lowest internal resistance) with the smallest possible motor, you should fill the stator with as many windings as can fit. If you need more windings to hit the kV you want, use thinner strands. If you need in-between wire sizes, consider using double-strands of a wire with half the cross sectional area. Also note that different wires have insulation for different voltages and temperature ratings. Using extra high strength magnets can also shrink the required motor size, although may be more expensive and also susceptible to heat damage if you can’t provide enough cooling. A thinner air gap between magnets and stator increases torque, but make it too small and dust/sand/vibration/handling may cause rubbing which can be catastrophic to the motor.

Thinner stator sheets mean less eddy current losses from the induced field of the rotor passing by. However, if you make the sheets too thin, you end up with more insulating material between the sheets than you do iron itself, reducing the torque the motor can produce for a given size. Note that the eddy current losses are proportional to the rotor magnet strength and the RPM, so if you run at low RPMs you might care more about the torque than the eddy currents.

A motor with a heavy, unbalanced load directly on it probably needs space for large bearings. Note that different bearing types have different optimal load orientations and RPM ranges, and choose accordingly.

If you have large, frequent power fluctuations on the motor in may make sense to overprovision the stator size of the motor so that you don’t magnetically saturate the stator core during power spikes. This will keep your power consumption more constant, and particularly for interaction with PID systems the linearity will be benificial for controller stability.

Depending on your specific tradeoffs of size, power etc., it may make sense to go with a much smaller motor that spins faster to achieve the same power. Since the torque is limited by the stator magnetic saturation plus the magnet strength, by spinning the same motor faster you can get more power (P ~= T * RPM). This is where a gearbox plus motor may make more sense, since even a combined gearbox + smaller motor may have higher power, torque etc at the same weight than a larger motor by itself which is tuned to try to achieve the same torque without a gearbox. Note that a gearbox introduces extra inefficiencies, noise and typically higher maintenence burden than direct drive motors, so gearboxes aren’t necessarily just a benefit.