AI

The **ENC1O-B20-R00064** is a specific part number from the **Bourns ENC series**. It is a high-quality, optical contact-less rotary encoder designed for applications requiring long cycle life and high reliability.
### 1. Technical Specifications
| Parameter | Specification |
| :--- | :--- |
| **Manufacturer** | Bourns |
| **Technology** | Optical (Non-contacting) |
| **Output Type** | 2-bit Quadrature (Incremental) |
| **Resolution** | 64 Pulses per Revolution (PPR) |
| **Input Voltage** | 5.0 VDC |
| **Supply Current** | 26 mA (Maximum) |
| **Rotational Life** | Up to 10,000,000 cycles |
| **Operating Temperature** | -40°C to +70°C |
| **Mounting Type** | Panel Mount |
---
### 2. Key Electronic Components & Working Principle
The internal electronics of this part differ significantly from standard mechanical encoders:
* **LED Emitter:** An internal Light Emitting Diode provides a constant light source.
* **Photodetector Array:** A sensor receives the light.
* **Coded Disk:** A small disk rotates between the LED and the detector. As it rotates, it breaks the light beam according to the 64 PPR pattern.
* **Signal Processing:** Internal circuitry converts the light pulses into two square wave signals (Channel A and Channel B).
### 3. Pin Configuration
Typically, these optical encoders use a 5-pin connection interface:
| Pin Number | Function | Description |
| :--- | :--- | :--- |
| **1** | Ground | Common reference |
| **2** | Channel A | Quadrature output signal A |
| **3** | VCC | +5V Power Supply |
| **4** | Channel B | Quadrature output signal B |
| **5** | N/C or Index | Not connected / Index pulse (model dependent) |
---
### 4. Implementation Details
#### Output Logic
The device provides a **CMOS-compatible** output. Because it is an optical sensor, it does not suffer from "contact bounce." This means you do not need to implement complex hardware or software debouncing circuits, which are mandatory for mechanical encoders.
#### Code Example (Arduino/C++ Concept)
```cpp
// Example of reading the ENC1O quadrature output
const int pinA = 2;
const int pinB = 3;
volatile int encoderPos = 0;
void setup() {
pinMode(pinA, INPUT);
pinMode(pinB, INPUT);
attachInterrupt(digitalPinToInterrupt(pinA), updateEncoder, RISING);
}
void updateEncoder() {
if (digitalRead(pinB) == LOW) {
encoderPos++;
} else {
encoderPos--;
}
}
```
---
### 5. Common Applications
* **Medical Equipment:** High-precision adjustment knobs.
* **Audio/Studio Gear:** Digital consoles where smooth, infinite rotation is required.
* **Industrial Controls:** Human-Machine Interfaces (HMI) requiring high durability in harsh environments.
- ⤷
What is the difference between this optical encoder and a standard mechanical encoder?
- ⤷ How do I calculate the angular resolution per pulse for this 64 PPR model?
- ⤷ Can this encoder operate at voltages higher than 5V?