A
Adrian Jansen
Guest
Repost - didnt seem to turn up the first time:
I have used mechanical rotary ( quadrature ) encoders for years in various
applications, always the type where the detent position leaves the lines
high, so each detent corresponds to 1 full cycle of lineA high - lineA low -
lineB low - lineA high - line B high, and of course the reverse for rotation
in the other direction. Normally these need about 100 us of debounce on
both lines, which we do with both some RC, and software - keep reading the
lines until we get a stable repeat. Easy, and it always works.
Recently we changed over to one of the Piher 11mm encoders with 30 detents
and 15 cycles per rev. (Piher part number CL11CTV1Y22LFACF). These leave
the lines alternately hi and lo on each detent, which is ok with a minor
software change, but seem to have terrible contact bounce, which is a major
problem. I used the recommended debounce circuit from Piher, 100k pullups
on the lines, 100k series feed to the processor line, and a 1n cap to earth.
But the contact bounce lasts for at least 2 msec, and often you get
disturbance on the *other* line when one does a hi-lo transition. At 2 msec
delay, you can spin the encoder fast enough by hand to miss pulses, which is
a real niusance.
We want to use these where its critical that we never miss a pulse, or get
false extra pulses at low speed, but also where we dont miss too many pulses
at high speed, so scrolling through around 10-50 pulses setting a number
works reasonably well. So far I cannot see how to do this effectively with
these encoders.
Has anyone measured the contact bounce on this type of encoder from other
sources, eg Alps, Tenrod, etc, and also whether there is any difference
between the 30 detent/15 cycle versions and the 20 detent/20 cycle version.
?
Anyone with other experience on these encoders is welcome to comment.
--
Regards,
Adrian Jansen
J & K MicroSystems
Microcomputer solutions for industrial control
--
Regards,
Adrian Jansen
J & K MicroSystems
Microcomputer solutions for industrial control
I have used mechanical rotary ( quadrature ) encoders for years in various
applications, always the type where the detent position leaves the lines
high, so each detent corresponds to 1 full cycle of lineA high - lineA low -
lineB low - lineA high - line B high, and of course the reverse for rotation
in the other direction. Normally these need about 100 us of debounce on
both lines, which we do with both some RC, and software - keep reading the
lines until we get a stable repeat. Easy, and it always works.
Recently we changed over to one of the Piher 11mm encoders with 30 detents
and 15 cycles per rev. (Piher part number CL11CTV1Y22LFACF). These leave
the lines alternately hi and lo on each detent, which is ok with a minor
software change, but seem to have terrible contact bounce, which is a major
problem. I used the recommended debounce circuit from Piher, 100k pullups
on the lines, 100k series feed to the processor line, and a 1n cap to earth.
But the contact bounce lasts for at least 2 msec, and often you get
disturbance on the *other* line when one does a hi-lo transition. At 2 msec
delay, you can spin the encoder fast enough by hand to miss pulses, which is
a real niusance.
We want to use these where its critical that we never miss a pulse, or get
false extra pulses at low speed, but also where we dont miss too many pulses
at high speed, so scrolling through around 10-50 pulses setting a number
works reasonably well. So far I cannot see how to do this effectively with
these encoders.
Has anyone measured the contact bounce on this type of encoder from other
sources, eg Alps, Tenrod, etc, and also whether there is any difference
between the 30 detent/15 cycle versions and the 20 detent/20 cycle version.
?
Anyone with other experience on these encoders is welcome to comment.
--
Regards,
Adrian Jansen
J & K MicroSystems
Microcomputer solutions for industrial control
--
Regards,
Adrian Jansen
J & K MicroSystems
Microcomputer solutions for industrial control