In ancient times, DC servo motors usually had small generators attached (today, we use encoders) whose output is proportional to rpm. These antediluvian devices suffer from commutator ripple, which can have nasty effects on feedback loops. For servos that don't run over very wide ranges of speed, the ripple is easily dealt with. Commutators almost always have an odd number of segments, so the number of cycles of ripple per turn is double the number of segments. A 17-segment commutator's ripple frequency if 34 times the angular frequency of the motor, and it's easily filtered without excessive delay /at any one speed/. There's a rub. The filter needed to smooth the ripple at 1 rpm introduces enough delay at 1000 rpm to have a noticeable -- possibly unacceptable -- effect on stability. The simple solution lets the speed wobblulate at low speeds and hope nobody notices or wonders where the sound comes from. An adaptive filter seems to be in order. Just changing coefficients in a fixed structure doesn't seem to be the best way. We want a lowpass filter whose cutoff and group delay track the motor speed. Moreover, a prompt (close to minimum phase) filter preserves stability best. Is there a known structure for this, or is an invention (or motor replacement) in order? Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
Filtering a tachometer generator
Started by ●January 6, 2006
Reply by ●January 6, 20062006-01-06
Jerry Avins wrote:> In ancient times, DC servo motors usually had small generators attached > (today, we use encoders) whose output is proportional to rpm. These > antediluvian devices suffer from commutator ripple, which can have nasty > effects on feedback loops. For servos that don't run over very wide > ranges of speed, the ripple is easily dealt with. Commutators almost > always have an odd number of segments, so the number of cycles of ripple > per turn is double the number of segments. A 17-segment commutator's > ripple frequency if 34 times the angular frequency of the motor, and > it's easily filtered without excessive delay /at any one speed/. > > There's a rub. The filter needed to smooth the ripple at 1 rpm > introduces enough delay at 1000 rpm to have a noticeable -- possibly > unacceptable -- effect on stability. The simple solution lets the speed > wobblulate at low speeds and hope nobody notices or wonders where the > sound comes from. > > An adaptive filter seems to be in order. Just changing coefficients in a > fixed structure doesn't seem to be the best way. We want a lowpass > filter whose cutoff and group delay track the motor speed. Moreover, a > prompt (close to minimum phase) filter preserves stability best. Is > there a known structure for this, or is an invention (or motor > replacement) in order? > > JerryYou could use the magnitude of the tacho signal to give you an idea of the required filter parameters -- low voltage means low bandwidth, high voltage means high bandwidth. Unfortunately as you tune this filter you're going to have to tune the whole control loop to match, which would be a pain. If the wobbulation (wobblulation? is either of those a real word?) is really unacceptable at low speed I think an encoder is probably in order. I always subjected this sort of thing to a simple test: If I could go out and personally buy the parts and swap them out on each of the affected pieces, and save my employer money over the amount of design time that I would have to spend, then a swap is in order. -- Tim Wescott Wescott Design Services http://www.wescottdesign.com
Reply by ●January 6, 20062006-01-06
Jerry Avins wrote:> In ancient times, DC servo motors usually had small generators attached > (today, we use encoders) whose output is proportional to rpm. These > antediluvian devices suffer from commutator ripple, which can have nasty > effects on feedback loops. For servos that don't run over very wide > ranges of speed, the ripple is easily dealt with. Commutators almost > always have an odd number of segments, so the number of cycles of ripple > per turn is double the number of segments. A 17-segment commutator's > ripple frequency if 34 times the angular frequency of the motor, and > it's easily filtered without excessive delay /at any one speed/. > > There's a rub. The filter needed to smooth the ripple at 1 rpm > introduces enough delay at 1000 rpm to have a noticeable -- possibly > unacceptable -- effect on stability. The simple solution lets the speed > wobblulate at low speeds and hope nobody notices or wonders where the > sound comes from. > > An adaptive filter seems to be in order. Just changing coefficients in a > fixed structure doesn't seem to be the best way. We want a lowpass > filter whose cutoff and group delay track the motor speed. Moreover, a > prompt (close to minimum phase) filter preserves stability best. Is > there a known structure for this, or is an invention (or motor > replacement) in order?Whose time and/or money is at risk here? Is this a hobby project of yours or are other people involved? I am sure the guys here will be happy to join in on any of your hobby projects. If this is some device that actually is important to somebody, I think I would have gone for a COTS solution. Not so much because I don't think you can come up with something that works (I have every confidence that you can), but whoever takes up responsibility when you eventually have to give up follow-up and maintenance, may not be able to fill your shoes. It's one of those "corporate memory" things. Rune
Reply by ●January 6, 20062006-01-06
Jerry Avins wrote:> In ancient times, DC servo motors usually had small generators attached > (today, we use encoders) whose output is proportional to rpm. These > antediluvian devices suffer from commutator ripple, which can have nasty > effects on feedback loops. For servos that don't run over very wide > ranges of speed, the ripple is easily dealt with. Commutators almost > always have an odd number of segments, so the number of cycles of ripple > per turn is double the number of segments. A 17-segment commutator's > ripple frequency if 34 times the angular frequency of the motor, and > it's easily filtered without excessive delay /at any one speed/. > > There's a rub. The filter needed to smooth the ripple at 1 rpm > introduces enough delay at 1000 rpm to have a noticeable -- possibly > unacceptable -- effect on stability. The simple solution lets the speed > wobblulate at low speeds and hope nobody notices or wonders where the > sound comes from. > > An adaptive filter seems to be in order. Just changing coefficients in a > fixed structure doesn't seem to be the best way. We want a lowpass > filter whose cutoff and group delay track the motor speed. Moreover, a > prompt (close to minimum phase) filter preserves stability best. Is > there a known structure for this, or is an invention (or motor > replacement) in order?I have every bit of confidence that you, if you set your mind to it, will be able to make something yourself, that works. I am just wondering if this is something that other people at some time will be asked to maintain or oversee. If so, it may be better to use some COTS device. Rune
Reply by ●January 6, 20062006-01-06
"Jerry Avins" <jya@ieee.org> wrote in message news:HvWdnWawJYaOKyPeRVn-ug@rcn.net...> In ancient times, DC servo motors usually had small generators attached > (today, we use encoders) whose output is proportional to rpm. These > antediluvian devices suffer from commutator ripple, which can have nasty > effects on feedback loops. For servos that don't run over very wide > ranges of speed, the ripple is easily dealt with. Commutators almost > always have an odd number of segments, so the number of cycles of ripple > per turn is double the number of segments. A 17-segment commutator's > ripple frequency if 34 times the angular frequency of the motor, and > it's easily filtered without excessive delay /at any one speed/. > > There's a rub. The filter needed to smooth the ripple at 1 rpm > introduces enough delay at 1000 rpm to have a noticeable -- possibly > unacceptable -- effect on stability. The simple solution lets the speed > wobblulate at low speeds and hope nobody notices or wonders where the > sound comes from. > > An adaptive filter seems to be in order. Just changing coefficients in a > fixed structure doesn't seem to be the best way. We want a lowpass > filter whose cutoff and group delay track the motor speed. Moreover, a > prompt (close to minimum phase) filter preserves stability best. Is > there a known structure for this, or is an invention (or motor > replacement) in order? >It's an invention! Tam
Reply by ●January 6, 20062006-01-06
Jerry Avins ha scritto:> In ancient times, DC servo motors usually had small generators attached > (today, we use encoders) whose output is proportional to rpm. These > antediluvian devices suffer from commutator ripple, which can have nasty > effects on feedback loops. For servos that don't run over very wide > ranges of speed, the ripple is easily dealt with. Commutators almost > always have an odd number of segments, so the number of cycles of ripple > per turn is double the number of segments. A 17-segment commutator's > ripple frequency if 34 times the angular frequency of the motor, and > it's easily filtered without excessive delay /at any one speed/. > > There's a rub. The filter needed to smooth the ripple at 1 rpm > introduces enough delay at 1000 rpm to have a noticeable -- possibly > unacceptable -- effect on stability. The simple solution lets the speed > wobblulate at low speeds and hope nobody notices or wonders where the > sound comes from. >Hi Jerry, this seems a good starting point .... Y. X. Su, C. H. Zheng, Dong Sun, Member, IEEE, and B. Y. Duan "A Simple Nonlinear Velocity Estimator for High-Performance Motion Control" IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, VOL. 52, NO. 4, AUGUST 2005 Abstract-Based on the fact that numerical integration can provide more stable and accurate results than numerical differentiation in the presence of noise, a constructive nonlinear velocity estimator (NVE) with simple computation is developed for high-quality instantaneous velocity estimation, based on the position measurement only. The attraction of the new velocity estimator is that it is very effective as well in the low-velocity ranges, it has high robustness against noise and design parameters, and it is easy to implement. Furthermore, the developed approach is model free. Both simulation and experimental tests have been run to verify its effectiveness and efficiency. The proposed new simple NVE has built a solid base for high-performance control of servo systems. I got copy of the article in pdf format. as ieee member I'm sure you can easily get it too. if you need it I can send it to you by e-mail Bye Jack
Reply by ●January 6, 20062006-01-06
Tim Wescott wrote:> You could use the magnitude of the tacho signal to give you an idea of > the required filter parameters -- low voltage means low bandwidth, high > voltage means high bandwidth.The magnitude of the tach output and the frequency of its ripple are both directly and inherently proportional to speed.> Unfortunately as you tune this filter you're going to have to tune the > whole control loop to match, which would be a pain.I don't think so. A cutoff at 30 times the motor frequency isn't likely to upset the loop. The waveform of the ripple looks like the output of a polyphase rectifier because that's what it really is, so although the dips are cusps, the peaks are rather broad.> If the wobbulation (wobblulation? is either of those a real word?)No.> is really unacceptable at low speed I think an encoder is probably in > order. I always subjected this sort of thing to a simple test: If I > could go out and personally buy the parts and swap them out on each of > the affected pieces, and save my employer money over the amount of > design time that I would have to spend, then a swap is in order.Changing the motor may mean making a new mount. Maybe I can mount an encoder someplace else. Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
Reply by ●January 6, 20062006-01-06
Oh Evil One wrote: ...> It's an invention! > > TamIn the analog world, a simple R-C rolloff is usually fine. An alpha; (1 - alpha) IIR, where alpha is a function of tach voltage, should be good enough also. I'll work out what function. If the best solution is a LUT, 8 entries to cover the range should be overkill. Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
Reply by ●January 6, 20062006-01-06
"Jerry Avins" <jya@ieee.org> wrote in message news:HvWdnWawJYaOKyPeRVn-ug@rcn.net...> In ancient times, DC servo motors usually had small > generators attached (today, we use encoders) whose output > is proportional to rpm. These antediluvian devices suffer > from commutator ripple, which can have nasty effects on > feedback loops. For servos that don't run over very wide > ranges of speed, the ripple is easily dealt with. > Commutators almost always have an odd number of segments, > so the number of cycles of ripple per turn is double the > number of segments. A 17-segment commutator's ripple > frequency if 34 times the angular frequency of the motor, > and it's easily filtered without excessive delay /at any > one speed/. > > There's a rub. The filter needed to smooth the ripple at 1 > rpm introduces enough delay at 1000 rpm to have a > noticeable -- possibly unacceptable -- effect on > stability. The simple solution lets the speed wobblulate > at low speeds and hope nobody notices or wonders where the > sound comes from. > > An adaptive filter seems to be in order. Just changing > coefficients in a fixed structure doesn't seem to be the > best way. We want a lowpass filter whose cutoff and group > delay track the motor speed. Moreover, a prompt (close to > minimum phase) filter preserves stability best. Is there a > known structure for this, or is an invention (or motor > replacement) in order? > > JerryHere's an alternative idea that might solve your problem: phase-lock the AC from the tach to a stable VCO. Start with a stable VCO. Put the AC from the tach and the VCO output into a phase detector and integrate the phase difference. Use the result to control the power to the servo motor. The servo speed will be controlled by the input to the VCO. The system dynamics will not change markedly with speed so filtering the phase detector should be simpler than filtering the AC out of the tach signal. The bigger downside I see to all this is getting the servo motor to run smoothly at 1 RPM without sticking, jumping, etc. Seems like inertia might be your friend in this case.
Reply by ●January 6, 20062006-01-06
John E. Hadstate wrote:> "Jerry Avins" <jya@ieee.org> wrote in message > news:HvWdnWawJYaOKyPeRVn-ug@rcn.net... > >>In ancient times, DC servo motors usually had small >>generators attached (today, we use encoders) whose output >>is proportional to rpm. These antediluvian devices suffer >>from commutator ripple, which can have nasty effects on >>feedback loops. For servos that don't run over very wide >>ranges of speed, the ripple is easily dealt with. >>Commutators almost always have an odd number of segments, >>so the number of cycles of ripple per turn is double the >>number of segments. A 17-segment commutator's ripple >>frequency if 34 times the angular frequency of the motor, >>and it's easily filtered without excessive delay /at any >>one speed/. >> >>There's a rub. The filter needed to smooth the ripple at 1 >>rpm introduces enough delay at 1000 rpm to have a >>noticeable -- possibly unacceptable -- effect on >>stability. The simple solution lets the speed wobblulate >>at low speeds and hope nobody notices or wonders where the >>sound comes from. >> >>An adaptive filter seems to be in order. Just changing >>coefficients in a fixed structure doesn't seem to be the >>best way. We want a lowpass filter whose cutoff and group >>delay track the motor speed. Moreover, a prompt (close to >>minimum phase) filter preserves stability best. Is there a >>known structure for this, or is an invention (or motor >>replacement) in order? >> >>Jerry > > > Here's an alternative idea that might solve your problem: > phase-lock the AC from the tach to a stable VCO. > > Start with a stable VCO. Put the AC from the tach and the > VCO output into a phase detector and integrate the phase > difference. Use the result to control the power to the > servo motor. > > The servo speed will be controlled by the input to the VCO. > The system dynamics will not change markedly with speed so > filtering the phase detector should be simpler than > filtering the AC out of the tach signal. > > The bigger downside I see to all this is getting the servo > motor to run smoothly at 1 RPM without sticking, jumping, > etc. Seems like inertia might be your friend in this case.It's food for thought, but it doesn't appeal at first, anyway. I haven't looked, but commutator ripple is seldom more than 1% of the DC. This particular tach has a constant of 3 mv/rpm. Locking to the frequency and ignoring the actual voltage doesn't seem right. I haven't determined the number of commutator segments -- inspection through a brush holder would establish it -- but if there as few as 11 segments, the minimum/peak would be cos(360/44), or .9898. Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������






