mjm Posted May 9, 2012 Posted May 9, 2012 We seem to be having difficulty with the encoder loss detection of a sinusoidal encoder connected to an ACC24E3. The problem is related to velocity. We've verified the signals using an oscilloscope. With loss detection disabled, the servo is fine at velocities above which encoder loss is reported. I've looked for performance information in the ACC24E3 hardware manual, but can find none. Is this data available? Any thoughts would be appreciated. Mick
Sina.Sattari Posted May 9, 2012 Posted May 9, 2012 mjm, Can you post your settings for your encoder loss detection? Regards,
curtwilson Posted May 9, 2012 Posted May 9, 2012 The single-bit EncLoss status bit in the ACC-24E3's ASIC is set if the highest four bits of the "SumOfSquares" magnitude of the sine and cosine signals are all 0. That is, when this magnitude is less than 1/16 of the maximum possible. However, if the most significant bit is ever set, that is an indication that your signal has saturated the ADCs, so the cutoff magnitude is 1/8 of the maximum valid signal. Since this is a square value, you will get the status bit set when the signal magnitude is less than 1/sqrt(8), or 35%, of maximum. It may be possible that your signal is shrinking this much at high velocities. While the effective resolution is reduced when the signal shrinks this much, it can be good enough for high speed operation. If this is all that is going on in your case, you will not want to use the hardware bit for your encoder loss detection. Instead, you may want to write a line of code in a PLC program that sets a bit if all of the (say) 6 highest bits in SumOfSquares are 0 - this would set the bit if the signal magnitude goes below 17% of maximum - and point to this software-generated bit with pEncLoss and EncLossBit.
mjm Posted May 10, 2012 Author Posted May 10, 2012 We've verified the encoder signals using external equipment (as I mentioned in the original post). They aren't attenuating with velocity (within the encoder specification). The motor settings we're using for encoder loss detection are the defaults for a Gate3 device: pEncLoss = Gate3[].Chan[].SosError.a EncLossBit = 31 EncLossLevel = 1 EncLossLimit = 0 The board is a two channel type 604002 with options $41 and $50. The part revision is 7 and part type 1. Is there any filtering on the board that might roll off the signals? Mick
curtwilson Posted May 10, 2012 Posted May 10, 2012 There is light filtering on the analog inputs (there must be some), but less so than most interpolators. How does the value in Gate3.Chan[j].SumOfSquares roll off with velocity? At what signal frequency do you start to see the problem? Does increasing the EncLossLimit parameter help? This would de-glitch the error detection.
Recommended Posts