120x90 spot

 
 

Home Projects MCU Rotary Encoder Digital Potentiometer

 
 

DigiPot - Rotary Encoder Digital Potentiometer
author: Small Room Labs - Kuala Lumpur, Malaysia



 

DigiPot is a digital potentiometer using a rotary encoder as input along with a 7 segment display that show the current pot value.




Description


The "potentiometer" is actually a rotary encoder (TW-700198) connected to a microcontroller that reads the signal from it and convert it to a value that is displayed on 7-segment displays. The value also is sent via i2c/spi/serial/usb to the host. Also 3 LED and included for status indication.

The board is planned to either be operated in an autonomous mode where the display is updated by the board itself or in a host mode where the host is telling the board what to display.

.: source code isn't available yet :.

A "Rotary Encoder" aka "Quadrature Encoder" is sending pulses to the microcontroller that will determine how the user is turnin the knob and calculating a current value for it. This value will be digitally sent to the host via i2c or another serial protocol. At the same time an analogue voltage will be generated and be presented at a output.

Possibly also the value could be sent to a digital potentiometer chip like a MCP4551 as well to set a resistive value.

An ATmega8/168/328 is selected as the microcontroller since it has enough i/o for this project. I also choose to use a ISPtouch connector for as the programming interface. http://dangerousprototypes.com/?p=62605

Specifications:

- Three digits display with movable decimal point.
- Three status leds.
- Quadrature encoder with button-functionality.
- Communicate with host via i2c/serial-ttl.
- Multiple units can be chained.
- The value can be output as an analogue voltage with 12 bit resolution.

Parts description

Starting from top there's 4 n-fet transistors for muxing the cathodes of the displays and leds. Then there are 8 anode resisors. The atmega with C3/C4/C5 decoupling caps. The crystal with C1/C2 load caps is followed by R10/C7/C6 that is a filter for the supply to the mcp4821 12 bit dac.

Below the atmega there are some jumper for selecting if the units is to communicate with serial uart or i2c. The two 4 pin headers can be used to chain multiple units either by i2c as a bus, or a daisy-chain with serial, if serial the last unit in the chain must be looped.

R9/R11/R12 is pullups for i2c and reset. The 2-pin header is analogue voltage out and is filtered by C8. The 5 pads on the bottom is the programming header.


 Schematic





click on schematic for full resolution



 PCB Design


PCB top layer

 

PCB bottom layout

 

 

3D PCB rendering

manufactured PCB

assembled PCB


Downloads


Download Project files (Cadsoft Eagle)

Download PCB Gerber files



 
 

 
120x90 spot

 

 

Search Site | Advertising | Contact Us
Elektrotekno.com | Free Schematics Search Engine | Electronic Kits