21 May 2012     05:30:02

Site menu:

Nieuws:

17-11-2011
TEA5767

Lees meer »

Nieuws:

05-09-2011
Tda2030a

Lees meer »

Nieuws:

11-07-2011
Zonnecellen

Lees meer »

Nieuws:

06-12-2010
Winamp besturing

Lees meer »

Digitale Potmeter

Met de MCP42xxx van Microchip (Datasheet) Is het gemakkelijk icm met een microcontroller een digitale potmeter te maken. Ik gebruik de MCP42010 die 2 kanalen heeft en een weerstand (max) van 10kΩ. De potmeter kan 256 "stappen" maken dus +- 39 Ω per stap. Het programma is geschreven in basic en voor de Microcontroller van Microchip de 16F628a. Hieronder de code:

DEVICE 16F628A     ;gebruikt een pic 16f628a
CONFIG INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON, LVP_OFF, MCLRE_OFF
ALL_DIGITAL TRUE     ;Alle ingangen digitaal
symbol hoog = 1
symbol laag = 0
symbol cs = porta.0
symbol si = porta.1
symbol sclk = porta.2
dim waarde0 as byte
dim waarde1 as byte
TRISA = %11111000     ;porta.0 &.1 &.2 uitgangen
PORTB_PULLUPS ON
clear
waarde0 = 50     ;Maak de waarde voor potmeter0 50
waarde1 = 50     ;Maak de waarde voor potmeter1 50


mcp42010:
cs = laag
delayms 1
shout si, sclk, msbfirst, [%00010001,waarde0]     ;Waarde0 naar pot0 sturen
cs = hoog
delayms 1
cs = laag
shout si, sclk, msbfirst, [%00010010,waarde1]     ;Waarde1 naar pot1 sturen
cs=hoog
delayms 200
goto mcp42010
End

Het gaat vooral om de regels:
shout si, sclk, msbfirst, [%00010001,waarde0]
shout si, sclk, msbfirst, [%00010010,waarde1]
De laatste 2 bits selecteren de potmeter; 01 voor potmeter 0 en 10 voor potmeter 1. Waarde 0&1 geven de stand aan waar de potmeter in moet komen te staan ( 0 T/M 255 ).

De pinouts van de MCP4XXXX

En hoe aan te sluiten: