Interesting. The back-emf (modeled as a voltage source proportional to speed) is not equivalent to an inductance that depends on speed. Furthermore, there is no possible L(w) you can come up with that will make that assertion true.

I will describe a simple experiment, but in essence I'll be saying that they can't be equivalent because upon a motor load change, an inductor dependent on speed *L(w)* will not affect the stationary state current (torque after all transients have died down, becoming a contradiction), while a voltage source dependent on speed *v(w)* will (which makes sense).

Assuming a DC motor, a simple proof is to imagine that the load on the motor gets reduced. Because there is less load, the motor speeds up. Also imagine we wait for some time so that all transients go away (t=inf.). Now let's see what happens with both models:

With the back-emf modeled as a voltage source, its voltage increases because speed increased. This means that the current decreases, because the difference between the power voltage source and the back-emf voltage got smaller. This means torque decreased, which makes sense because we reduced the load on the motor.

On the other hand, no matter what inductance value you give to the "back-emf inductor", the current on the motor would remain the same, because inductors are short-circuits in dc. But this does not make sense, because torque is proportional to current and if the current remains the same, torque remains the same, but we started this analysis saying that we reduced the load on the motor.

In addition to the links supplied by @suha in the answer to the question linked by @Scott Winder, as well as my own excellent answer to the same question (shameless self plug), the following Freescale paper is also worth reading as it specifically references position sensing:

AN1913 3-phase BLDC Motor Control with Sensorless Back-EMF ADC Zero Crossing Detection using 56F80x

In a nutshell, it comes down to counting the number of zero-crossings and measuring the timing between them. For a 3-phase BLDC motor, one phase will be high voltage, one phase will be low voltage and one phase will be off. You will know which is which because you will be providing it. You will also know how many poles the motor has. Combining this information with your measurement of when the off phase crosses the mid-point between the high and low phases (the zero crossing), you can determine speed and position.

By looking at each phase state, you can determine what your electrical angle is:

You can then convert the electrical angle to a mechanical angle by taking into account the number poles using the following equation:

$$\theta_{electrical} = \dfrac{p}{2}\theta_{mechanical}$$

Where: \$p= \text{number of poles}\$

Then, by timing and counting the number of zero crossings, you can determine how long it takes to complete 360° of mechanical rotation which can then be converted into a speed in RPM.

## Best Answer

One way to do this is to briefly stop driving the motor, long enough to let any residual current from the driving voltage die down, and then simply measure the voltage. The time it takes the current to settle will depend on the inductance of the windings. This is simple to understand, and the undriven interval can be made quite short, but this has obvious disadvantages.

Another method involves a clever use of Ohm's law. A motor can be modeled as a series circuit of an inductor, a resistor, and a voltage source. The inductor represents the inductance of the motor's windings. The resistor is the resistance of that wire. The voltage source represents the back-EMF, and it is directly proportional to the speed of the motor.

If we can know the resistance of the motor, and we can measure the current in the motor, we can infer what the back-EMF must be

while the motor is being driven! Here's how:We can ignore \$L_m\$ so long as the current through the motor is not changing much, because the voltage across an inductor proportional to the rate of change of current. No change in current means no voltage across the inductor.

If we are driving the motor with PWM, then the inductor serves to keep the current in the motor relatively constant. All we care about then, is really the average voltage of \$V_{drv}\$, which is just the supply voltage multiplied by the duty cycle.

So, we have an effective voltage we are applying to the motor, which we are modeling as a resistor and a voltage source in series. We also know the current in the motor, and the current in the resistor of our model must be the same because it is a series circuit. We can use Ohm's law to calculate what the voltage across this resistor must be, and the difference between the voltage drop over the resistor and our applied voltage must be the back-EMF.

Example:

motor winding resistance \$ = R_m = 1.5\:\Omega\$

measured motor current \$= I = 2\:\mathrm A \$

supply voltage \$= V_{cc} = 24\:\mathrm V \$

duty cycle \$ = d = 80\% \$

Calculation:

24V at an 80% duty cycle is effectively applying 19.2V to the motor:

$$ \overline{V_{drv}} = dV_{cc} = 80\% \cdot 24\:\mathrm V = 19.2\:\mathrm V $$

The voltage drop over the winding resistance is found by Ohm's law, the product of the current and winding resistance:

$$ V_{R_m} = IR_m = 2\:\mathrm A \cdot 1.5\:\Omega = 3\:\mathrm V $$

The back-EMF is the effective driving voltage, less voltage across the winding resistance:

$$ V_m = \overline{V_{drv}} - V_{R_m} = 19.2\:\mathrm V - 3\:\mathrm V = 16.2\:\mathrm V $$

Putting it all together into one equation:

$$ V_m = dV_{cc} - R_m I $$