Measuring a motor's back EMF

Thread Starter

cmartinez

Joined Jan 17, 2007
8,727
Question, is there a method for measuring an electric motor's back EMF without having to technically switch it off? For instance, a common technique when applying PWM to a universal (brushed) motor is to measure the voltage across its terminals while the PWM cycle is in its off state.

But is there another way of doing this? Is there a way of measuring it while the motor is being powered 100% of the time?
 

WBahn

Joined Mar 31, 2012
32,714
What would you do differently is you wanted to, instead, measure the voltage being applied to the motor?

Seems like you are going to need to make it so that the voltage applied to the motor and the back emf of the motor are at two different points. That means putting something between the power source and the motor. Then, isn't there the issue that the back emf probably only has solid meaning when the current is zero?
 

Thread Starter

cmartinez

Joined Jan 17, 2007
8,727
What would you do differently is you wanted to, instead, measure the voltage being applied to the motor?

Seems like you are going to need to make it so that the voltage applied to the motor and the back emf of the motor are at two different points. That means putting something between the power source and the motor. Then, isn't there the issue that the back emf probably only has solid meaning when the current is zero?
Maybe you already know where my question is aiming at... I want to be able to measure a motor's RPM's without adding any external components. And the truth is that I'm not particularly fond of the back-EMF-while-the-PWM-is-low technique... the noise being produced by the brushes' commutation is too large for an accurate reading (I think)... Of course, I'd very much like it if I were to be proven wrong. But I'm just a half-baked noob, and I have to ask more knowledgeable people to make sure that I have a through understanding of the problem.
 

WBahn

Joined Mar 31, 2012
32,714
But aren't those brushes going to be commutating anytime the motor is turning? How are you planning to get around that?

You MIGHT be able USE that noise to get the speed. The dominant frequency in the noise should be at the motor RPM times the number of coils. Whether or not that is good enough to lock onto and get your measurement is a different matter. But the circuitry to do that is likely more than the effort to just rig up an optical tach.
 

Thread Starter

cmartinez

Joined Jan 17, 2007
8,727
You MIGHT be able USE that noise to get the speed.
And you might be on to something... but now that I think of it, maybe I'm being too demanding since I want to control the motor's speed to very low RPM's ... say, if a motor is rated at 1,200 rpm (unloaded), I'd like to be able to run it all the way down to 30 ... and I doubt that the back EMF would be strong enough and clean enough to be able to do something with it ... so maybe for this application a medium resolution encoder would be the way to go.
 

GopherT

Joined Nov 23, 2012
8,009
And you might be on to something... but now that I think of it, maybe I'm being too demanding since I want to control the motor's speed to very low RPM's ... say, if a motor is rated at 1,200 rpm (unloaded), I'd like to be able to run it all the way down to 30 ... and I doubt that the back EMF would be strong enough and clean enough to be able to do something with it ... so maybe for this application a medium resolution encoder would be the way to go.
It is much easier and accurate than you seem to think. An ADC can be read in a very short time. If you are using 8000 Hz PWM frequency and you are running 90% duty cycle, you have 1/80000 second to take a reading. Just about right for old PICs, and can have several data points on newer PICs.

Otherwise, IR rotary encoders and Hall sensors work too.
 

Thread Starter

cmartinez

Joined Jan 17, 2007
8,727
It is much easier and accurate than you seem to think. An ADC can be read in a very short time. If you are using 8000 Hz PWM frequency and you are running 90% duty cycle, you have 1/80000 second to take a reading. Just about right for old PICs, and can have several data points on newer PICs.

Otherwise, IR rotary encoders and Hall sensors work too.
Yeah, maybe it's worth a try. What I'm going to do is set a simple, open-loop circuit, and see if I can get usable readings while running the motor at very low RPM's

Many thanks to all
 

Janis59

Joined Aug 21, 2017
1,894
The most discussed circ for this aim (the PWM+synchrone detection) is :
www.chipmaker.ru/uploads/post/monthly_2015_02/post-89041-087815100%201422945399_thumb.jpg
however there are some mistakes in it.
first, the upper switching key must have its complementary pair mosfet in the detection section in lower right part of picture. Otherhow the switching timing inaccuracies are making too large impact. Thus the best alternative is IRF9540 with IRF540. Other trouble is max voltage about 30V or if to use the Vcc stabilizer for TL494 then about 40V. Yet most cases one may need 65...110 V what demands a optron to steer this system.
Other comments - circuit is VERY accurate about rpm stabilizing and works unbelievable well.

Principle of work: when PWM of TL494 opens a IRF9540 key to feed the motor, and later closes it for the short, then lower IRF540 detects a motor EMF and provides it to lead N1 of TL494. This changes the next cycle of PWM key, thus providing a stabilizing effect.
 

kubeek

Joined Sep 20, 2005
5,796
If you know your motor, then you know its internal resistance. You can measure the voltage and current apllied to the motor, and subtract the I*R from the voltage applied, and voila you get your back EMF. Average values of voltage and current should work just fine IIRC.
 

Thread Starter

cmartinez

Joined Jan 17, 2007
8,727
If you know your motor, then you know its internal resistance. You can measure the voltage and current apllied to the motor, and subtract the I*R from the voltage applied, and voila you get your back EMF. Average values of voltage and current should work just fine IIRC.
That's very interesting... two things:

  • As the motor warms up, its internal resistance will change, how serious an issue will that be?
  • This being an inductive load, does your logic still apply, regardless?
 

kubeek

Joined Sep 20, 2005
5,796
Yes the temperature could be an issue, you could try measuring the case temperature and corellating that to temperature inside and thus change in internal resistance.
The inductance should not matter as long as it is run on DC, but I am not entirely sure if it holds for self-excited motors, but it should definitely work for permanent magnet motors.
 

GopherT

Joined Nov 23, 2012
8,009
That's very interesting... two things:

  • As the motor warms up, its internal resistance will change, how serious an issue will that be?
  • This being an inductive load, does your logic still apply, regardless?
Don't over think it, what fraction of an RPM are you looking to achieve?
 
Top