Is there a way to get reading from rotary encoder without microcotroller?
just simple circuit that count and increment, like op amp or 555 timer or logic gate . anything that u can help me .
Best Answer
Is there a way to get readings from rotary encoder without micro controller?
Yes
BUT, the encoder DOES NOT COUNT it only provides arc position counts. For example the optical type encoder you show might produce anything from 128 to 1000 pulses per revolution on two channels (A and B).
Assuming you want an up/down counter that tracks the angular change pulses in the encoder (and you show an optical encoder), all you need are TTL or CMOS counters.
You need logic to perform:
Pulse production derived from the leading edge of the sensor output channels. The encoder signals are a quadrature output where the phase relationship tells you the direction.
Something like this:
This circuit can do x1, and x4 (I leave you to discover what this means for quadrature encoders) and produces a clock and Up/Down signal to drive a counter chain of however many digits you need. This schematic does have an error (from the comments) and is onoly shown as an example of what might be done. The newer device (LS7184) does x1, x2 and x4, but is pin compatible to this older chip design.
A counter chain to hold your required count resolution. Search for counters using the 74LS192BCD counter to see examples. You would need one counter chip per digit of resolution required.
A BCD to 7 segment LED driver and the associated LED digits. Search for 74LS47 BCD decoders for examples of a display digit. You'd need one chip and one 7 segment common anode LED display digit.
It's a lot of work!!!
I'd suggest that you gain/learn absolutely nothing by building a solution like this.
Your time would be much better spent using a small MCU such as the ATTiny85 or an Arduino Nano (ATMega328) to do the encoder interface and the up down counting. You can get either of these for under $3 online.
you can also buy an 8 digit display module based on the MAX7219 that provides the display driving and 7 segment LED modules for under $2. This is a serial display and does not do counting (that is done in the MCU).
The skills you gain implementing this sort of solution with an MCU will definitely help you in the future. Learn to code!!
"Do you know a dedicated IC that has only the count (in both direction) features"?
You may be surprised to learn that a few simple, cheap, generic logic chips are sufficient to decode a rotary encoder -- it doesn't require some special chip specifically customized for rotary decoders.
The Codewheel Generator Page
has a few relatively simple circuits that decode the 2 rotary quadrature outputs into a "direction" and "count" outputs.
Those outputs can be wired into the "direction" and "clock" inputs of any up/down counter -- such as, for example, the CD4029, the CD4516, the CD40193, 74HC193, etc.
"is it possible to make à simple one with an attiny"?
Yes, you can make a simple quadrature encoder with an ATtiny.
Some tips for connecting a quadrature encoder to a Atmel chip and decoding it in software are at:
If you have relatively few pulses-per-second, you might be able to run the 2 signals from each encoder directly into your main ATmega and use the above techniques to do it all in software, without any external conversion hardware.
Detents are slight "clicks" the encoder will make when you turn it. Think of what it feels like when you scroll your mouse wheel (hopefully mouse wheels you've used have detents :P). They provide some sort of feedback (audible/touch) mechanism for the user to what a discrete step in the encoder is.
Best Answer
Yes
BUT, the encoder DOES NOT COUNT it only provides arc position counts. For example the optical type encoder you show might produce anything from 128 to 1000 pulses per revolution on two channels (A and B).
Assuming you want an up/down counter that tracks the angular change pulses in the encoder (and you show an optical encoder), all you need are TTL or CMOS counters.
You need logic to perform:
Something like this:
This circuit can do x1, and x4 (I leave you to discover what this means for quadrature encoders) and produces a clock and Up/Down signal to drive a counter chain of however many digits you need. This schematic does have an error (from the comments) and is onoly shown as an example of what might be done. The newer device (LS7184) does x1, x2 and x4, but is pin compatible to this older chip design.
A counter chain to hold your required count resolution. Search for counters using the 74LS192BCD counter to see examples. You would need one counter chip per digit of resolution required.
A BCD to 7 segment LED driver and the associated LED digits. Search for 74LS47 BCD decoders for examples of a display digit. You'd need one chip and one 7 segment common anode LED display digit.
It's a lot of work!!!
I'd suggest that you gain/learn absolutely nothing by building a solution like this.
Your time would be much better spent using a small MCU such as the ATTiny85 or an Arduino Nano (ATMega328) to do the encoder interface and the up down counting. You can get either of these for under $3 online.
you can also buy an 8 digit display module based on the MAX7219 that provides the display driving and 7 segment LED modules for under $2. This is a serial display and does not do counting (that is done in the MCU).
The skills you gain implementing this sort of solution with an MCU will definitely help you in the future. Learn to code!!