| ??? 02/03/04 11:31 Read: times |
#63917 - RE: Mouse encoders: PS/2 or directly? Responding to: ???'s previous message |
Oleg:
Filter out stuff at 1 msec level? You cannot do that for many many types of applications!! An encoder with 1000 PPR such as Steve bought on eBay will output a pulse at 1KHz rate (1 msec) when the shaft turns at just 1 revolution per second. That is just 60 rev/minute. I have worked with many industrial applications for encoders that are putting out pulses at a frequency of 100 KHz and more. (That would be a 1000 PPR unit turning at a 6000 rev/minute). On top of that there are often encoders used with 2500 PPR specifications and these will output pulses at even higher frequencies. This ability to output frequencies over such a huge range is one of the intrinsic reasons that the encoders have this issue about being stopped right on an edge. The opto-circuit inside the encoder has to have a some hystersis in response from the sensor detecting light->no_light or no_light->light but if the hystersis is too high it limits the output frequency of the encoder. Keep in mind that too much optical sensor hystersis also can translate to a positional accuracy error as well. But as the hystersis of the optical pickup device is made smaller and smaller to be able to increase performance and output accuracy it also brings the ability for the optical circuit to detect finer and finer motion dither in the shaft position. It is this type of detection that is what leads to the issues that we have been talking about, and in particular what Erik has been trying to get across. You cannot legitimately just filter out and ignore these pulses. If you do try to ignore and filter them then you loose real position. This loss of real position is sometimes referred to as "slip". Now some will say, "Oh I won't stop the encoder", but believe it or not this doesn't work either. The reason is becasuse even while the encoder is turning it is possible for mechanical vibration to cause there to be detection changes in direction if the vibration is of magnitude larger than the top end performance characteristics of the encoder. Overall it is thus necessary (to avoid any slip) to use a detection and accumulation circuit on an encoder that is clocked fast enough so that any output changes are tracked. You do not have to worry that the clocking of the detection and accumulation circuit will get too high. There is an absolute upper limit to the output frequency that any given encoder can produce. This frequency is limited by the hystersis designed into the optical pickup circuit, by the rise time of the optical detector and the output driver circuit band width. I have found through practical experience that a digital detection and tracking circuit will operate correctly if clocked at a rate of 8 or 10 MHz. Going above this frequency will generally not be of any advantage because the encoder outputs won't even respond to that rate for the reasons stated in the previous paragraph. A digital filter and accumulator can be very easily built into a small CPLD or there are chips available from Agilent (previously HP) that can peform the function at this 8 or 10 MHz rate. These chips have been mentioned on this forum before. Michael Karas |



