Back-EMF speed detection in motors

I'm working on a project that involves replacing some existing electronics with some that I've designed. It's controlling the speed of
DC brushed motors. Since the original equipment uses a knowledge of the applied voltage and the motor current to infer back EMF and therefor motor speed, that's what I've done, too.
My problem is that my equipment is consistently sensing the speed as being faster than it really is, by a constant amount -- except when the motor is stalled, when the reading is correctly zero. So I end up servoing the motor speed to a figure that's a 20-30 RPM higher than desired.
It's not just a mis-calibration of the motor torque constant or the resistance -- if that were the case, then the motor speed error would depend on the command speed or the applied torque. I can easily calibrate out any dependence on torque (by adjusting the calibrated motor resistance) and I can get a 1:1 correspondence between increments in the commanded speed and increments in the actual speed. But I'm left with this @#$% offset.
Has anyone seen this? Anyone care to hazard a guess at what's going on?
Thanks.
--
My liberal friends think I'm a conservative kook.
My conservative friends think I'm a liberal kook.
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
wrote:

Brush noise trashing an opamp?
--

John Larkin Highland Technology, Inc

jlarkin at highlandtechnology dot com
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
wrote:

How, specifically, are you "inferring" the back EMF from the applied voltage and the current?          ...Jim Thompson
--
| James E.Thompson | mens |
| Analog Innovations | et |
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
On Fri, 22 Mar 2013 11:03:23 -0700, Jim Thompson wrote:

Back EMF = voltage - current * R
where R is the calibrated armature resistance (and yes, it changes discernibly when the motor heats -- that's not my immediate problem).
--
My liberal friends think I'm a conservative kook.
My conservative friends think I'm a liberal kook.
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
On 22/03/2013 19:29, Tim Wescott wrote:

I was once told by my lecturer many, many years ago, that the gap between brushes and the commutator require a small voltage to produce a plasma to carry the commutator current.
Have you worked out this "offset" voltage?
--
Mike Perkins
Video Solutions Ltd
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
On 3/22/2013 2:29 PM, Tim Wescott wrote:

Stray inductance.
Vladimir Vassilevsky DSP and Mixed Signal Designs www.abvolt.com
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Seconded, although on gut feeling. Not sure I can explain it.
Would that not contribute to an effective R? Perhaps the "offset" (which isn't a true offset -- it's still zero at zero!) is a polynomial correction instead (leakage's offset being proportional to RPM)?
Tim
--
Deep Friar: a very philosophical monk.
Website: http://seventransistorlabs.com
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
wrote:

The idea of computing back EMF, and using that to improve speed regulation, is pretty much equivalent to driving the armature from a power supply with a negative output resistance.
That can get unstable, with intertial issues, so it sometimes makes sense to tweak the dynamics of that negative resistance.
--

John Larkin Highland Technology, Inc

jlarkin at highlandtechnology dot com
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Tim - is the voltage supplied from a pulse width modulated source? If so, is it measured or calculated?
Hul

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
On Fri, 22 Mar 2013 21:22:19 +0000, dbr wrote:

Calculated from PWM. But verified on an O-scope and it looks pretty good.
--
Tim Wescott
Control system and signal processing consulting
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
On Fri, 22 Mar 2013 21:42:14 -0500, Tim Wescott

How calculated from PWM?
Flyback diode? Or full H-bridge?          ...Jim Thompson
--
| James E.Thompson | mens |
| Analog Innovations | et |
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
On Fri, 22 Mar 2013 19:52:54 -0700, Jim Thompson wrote:

Full H-bridge. There'd be no way of knowing with flyback diodes -- you'd have to measure.
--
Tim Wescott
Control system and signal processing consulting
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
On Sat, 23 Mar 2013 16:37:10 -0500, Tim Wescott

The motor needs to reverse?
See my other posts, I'm no longer certain that a flyback diode hurts you calculation in the slightest.          ...Jim Thompson
--
| James E.Thompson | mens |
| Analog Innovations | et |
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
On Sat, 23 Mar 2013 16:38:24 -0700, Jim Thompson wrote:

Yes, it needs to work in both directions.
I think a flyback diode could easily be included in the calculations. Discontinuous mode would pretty much kill off any chance of being able to figure things out without direct measurement -- fortunately I don't have to worry about that in the least.
--
My liberal friends think I'm a conservative kook.
My conservative friends think I'm a liberal kook.
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
wrote:

The flyback diode does NOT effect the calculations. There's a subtlety there that _even_I_ overlooked at first ;-)
Could you share your schematic? Privately to me if you prefer.          ...Jim Thompson
--
| James E.Thompson | mens |
| Analog Innovations | et |
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
wrote:

Hi, Tim:-
To control a brushed PM DC motor using IR compensation, you apply a voltage proportional to the desired speed, plus a compensation term equal to the product of the motor (and series wiring) resistance and the measured armature current.
To get a fixed RPM error implies to me that either your current sensor or your voltage DAC (or whatever) has a DC offset.
Picking some numbers out of the air:- If the motor is a 24V motor that goes 5000 RPM at full voltage Say maximum operating current is 1A, and resistance is 2.4 ohm (LRA of 10A)
Voltage error for 25 RPM is 120mV
Current error for 25 RPM is 0.12/2.4 = 50mA
--sp
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
"Tim Wescott" wrote in message

Here is something that might help, although they use a PWM drive and measure the back EMF during the OFF period: http://ww1.microchip.com/downloads/en/DeviceDoc/chapter%205.pdf
The following seems to use an encoder, but may have some helpful info: http://ww1.microchip.com/downloads/en/AppNotes/00532c.pdf
More info: http://ww1.microchip.com/downloads/en/devicedoc/41233A.pdf
And this: http://ww1.microchip.com/downloads/en/AppNotes/00905a.pdf
I have heard that it may be possible to sense the change in current and/or voltage caused by the commutation but it tends to be noisy and dependent on things like brush and commutator condition.
Paul
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Tip 7? That only works if there's no current in the shunt diode, which has nasty implications.
--

John Larkin Highland Technology Inc
www.highlandtechnology.com jlarkin at highlandtechnology dot com
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Tim Wescott wrote:

Hmm, I had to scroll up there to see what type of motor you are using..
If that is a shunt/PM style motor, I don't quite understand how that will work? Maybe I am missing something.
I have a pretty good understanding of DC brushed motors and I just don't see it happening that way.
Dynamic(R) = Varm / Iarm.
Now since the motor has some DC R in it, this must be treated like a series R with an ideal motor.
Most drive electronics knows the size of the motor and knows ~ what the DC R should be, along with the expected dynamic current from the motor. The drive will advance the arm voltage above the set point when current is building to calculate for this offset. When monitoring feedback for an external reference for example, this offset should be removed. Many high end drives have the ability to adjust this.
So, output arm voltage must be offset (increased) as current increases, to over come the DC R. much like satisfying a voltage need at a divider node, the motor being the point of the dropping R and DC R in the motor being the series R.
I've played around with lots of small motor drive circuits and that is how I've done it. The feed back circuit uses the current to scale the voltage reading back so that output voltage will raise above set point to satisfy the offset requirements. This will make the motor spin a little faster and match your readings.
That's my blog for the day, and long winded as it is. Most likely nothing you can use. :)
P.S. Flux density in the field is going to effect your speed at specific arm voltages, just incase you didn't think of that.
Have a good day..
Jamie
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Tim Wescott wrote:

I assume you are using a PWM drive scheme? Can you arrange to sample the back EMF during the PWM off-time? That would get rid of the R factor to a large extent, depending on filtering.
Jon
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Polytechforum.com is a website by engineers for engineers. It is not affiliated with any of manufacturers or vendors discussed here. All logos and trade names are the property of their respective owners.