AccurateMovements Posted December 19, 2013 Posted December 19, 2013 Greetings DeltaTau, My co-workers have quoted to me, more than once, that there is a known issue with the Encoder Loss bit on the ACC24E3 card for sinusoidal encoders (Gate3.Chan[j].SosError) and that I should discontinue use of it (!?). Of the multiple sinusoidal encoders on my machine, I have only experienced difficultly on one of them (as it relates to the EncLoss bit). Is there a white paper, release note, or known special circumstance that I should be aware of with ACC24E3s and the EncLoss bit? It seems more plausible to me that I have an issue with my scale...(?) Did I not 'get the memo'? Hoping to put this line of argument to rest. Thanks, AM Motor[1].EncType = 6; //Gate 3, sinusoidal enc. arctan extension Motor[1].pEncStatus = Gate3[0].Chan[0].Status.a; Motor[1].pEnc = EncTable[1].a; Motor[1].pEnc2 = EncTable[1].a; Motor[1].pEncLoss = Gate3[0].Chan[0].Status.a; Motor[1].EncLossBit = 31; Motor[1].EncLossLevel = 1; // Value of 1 is fault Motor[1].EncLossLimit = 10; // max accumulated # of faults
curtwilson Posted December 19, 2013 Posted December 19, 2013 Since these are analog signals, there is no one perfect threshold that could reliably indicate loss for all encoders without false trips. The threshold we chose (all 4 of the highest bits of the sum-of-squares value = 0) was an attempt to find a good compromise between false positives and false negatives. It looks good for a lot of encoders. However, at high frequencies, the magnitude of a lot of encoders starts reducing, and each one in a different pattern. There are also magnitude reductions from the filtering in our analog input circuitry. If you are getting false trips on an encoder that you believe is still working properly, but you still want to protect against true encoder loss, you will probably want to monitor the sum-of-squares value (Gate3.Chan[j].SumOfSquares) and set your own lower threshold for tripping.
Recommended Posts