Description
A rotary encoder is a type of position sensor which is used for determining the angular position of a rotating shaft. It generates an electrical signal, either analog or digital, according to the rotational movement.
Orange 1024 PPR Incremental Optical Rotary Encoder is hi-resolution optical encoder with quadrature outputs for increment counting. It will give 4096 transitions per rotation between outputs A and B. whereas Z phase will produce one transition per rotation. A quadrature decoder is required to convert the pulses to an up count. The Encoder is build to Industrial grade.
The Encoder comes with Standard 2 meter long cable which can be extended with extra cable if needed.
Note:
- Consider Adding Pull up resistor to All A-B-Z phase of the encoder output to avoid the effect of interference in output and get the precise logical output value from encoder
- Also adding pull up resistor to all phase output line protects the open collector output-triode from damage due to direct Vcc supply short circuit.
Power and Input Terminal Assignments:
Terminal Name | Wire Color | Description |
Phase A | White | Quadrature encoded output A |
Phase B | Green | Quadrature encoded output B |
Phase Z | Yellow | Quadrature encoded output Z |
VCC | Red | VCC should be connected to +ve 5V of supply |
GND | Black | Ground should be connected to negative of supply |
Shield | Golden | Shield should be connected to GND |
Shielding is important. At a minimum, the cable should be protected either by a foil jacket with a drain wire or by a braided-wire shield that is grounded. For very sensitive applications or high-EMI environments, foil jacketed wires in combination with an overall braided-wire shield around the cable should be used to avoid the interference and precise encoder output.
Output: NPN open collector
Features :
- High cost-efficient advantages.
- Incremental rotary encoder internal adopts ASIC devices
- High reliability, long life
- Anti-jamming performance
- Small size, lightweight, compact structure
- Easy installation
- Stainless steel shaft, High resolution, High quality, line interface with waterproof protection
Tutorial Code:
//these pins can not be changed 2/3 are special pins int encoderPin1 = 2; int encoderPin2 = 3; volatile int lastEncoded = 0; volatile long encoderValue = 0; long lastencoderValue = 0; int lastMSB = 0; int lastLSB = 0; void setup() { Serial.begin (9600); pinMode(encoderPin1, INPUT); pinMode(encoderPin2, INPUT); digitalWrite(encoderPin1, HIGH); //turn pullup resistor on digitalWrite(encoderPin2, HIGH); //turn pullup resistor on //call updateEncoder() when any high/low changed seen //on interrupt 0 (pin 2), or interrupt 1 (pin 3) attachInterrupt(0, updateEncoder, CHANGE); attachInterrupt(1, updateEncoder, CHANGE); } void loop(){ //Do stuff here Serial.println(encoderValue); delay(1000); //just here to slow down the output, and show it will work even during a delay } void updateEncoder(){ int MSB = digitalRead(encoderPin1); //MSB = most significant bit int LSB = digitalRead(encoderPin2); //LSB = least significant bit int encoded = (MSB << 1) |LSB; //converting the 2 pin value to single number int sum = (lastEncoded << 2) | encoded; //adding it to the previous encoded value if(sum == 0b1101 || sum == 0b0100 || sum == 0b0010 || sum == 0b1011) encoderValue ++; if(sum == 0b1110 || sum == 0b0111 || sum == 0b0001 || sum == 0b1000) encoderValue --; lastEncoded = encoded; //store this value for next time }
Package Includes :
1 x Orange 1024 PPR ABZ 3-Phase Incremental Optical Rotary Encoder
4 x 4.7KΩ Resistors for pull-ups
1 x Mounting Screw Set
Reviews
There are no reviews yet.