Hallo allen,
Ik ben op dit moment bezig met het digitaal uitlezen van mijn labvoeding (van deze site).
Opzich werkt het goed, maar ik krijg de PIC niet goed ingesteld.
Dit is de situatie:
code:
------|--------26.6V
|
|
---- 5V Naar port A.0
| | |
| | |
100K | |<----
Pot | |
| |
----
|
|
|
--------------GND
De refspanning gebruik ik van de voeding van de PIC. Deze is exact 5V, net als de 5V van de potmeter.
De GND van de uitgaande spanning is met doorverbonden met de GND van het IC.
Het Probleem is dat ik met de onderstaande code de uitgelezen spanning niet helemaal precies krijg.
Bij 26.6V krijg ik een uitgelezen spanning van 26,9 en bij 10V een uitgelezen spanning van 9.6V.
pic basic code:
DEVICE 16F877A ;We gebruiken een 16F877A type
CONFIG WDT_OFF, PWRTE_ON, LVP_OFF, HS_OSC
XTAL 20
ALL_DIGITAL TRUE ;Alle ingangen digitaal
PORTB_PULLUPS ON ;Alle pullup weerstanden voor de B poorten +5V (aan)
DECLARE LCD_ENPIN = PORTB.2
DECLARE LCD_RSPIN = PORTB.1
CLEAR
ADIN_RES = 10
ADIN_TAD = FRC
ADIN_STIME = 50
DIM RAWvolts AS WORD
DIM VOLTS AS FLOAT
DIM RAWstroom AS WORD
DIM STROOM AS FLOAT
DIM UITspanning AS BYTE
TRISA = %00000011
ADCON1 = %11000000
DELAYMS 500
CLS
WHILE 1 = 1
RAWvolts = ADIN 0
VOLTS = RAWvolts / 38,45865
PRINT AT 1,1, DEC1 VOLTS, "V ", DEC4 RAWvolts
WEND
END
Hoe kan ik dit verhelpen?
Ik denk zelf dat het met de instelling van
pic basic code:
VOLTS = RAWvolts / 38,45865
te maken heeft, maar ik weet niet hoe ik dit in moet stellen.
Iemand ideeën?
Alvast heel erg bedankt.