Problem voltmeter

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Björne
Inlägg: 19
Blev medlem: 18 april 2008, 19:38:11

Problem voltmeter

Inlägg av Björne »

Har problem med min kod som var tänkt att bli en enkel 0-5V voltmeter.
När jag skriver ut resultatet (ADCValue) på datorn via Usart så får jag ett värde mellan 0 till ca 65535 (2^16) för 0 till 5V. Förstår inte riktigt vad jag gör fel.
Det borde ju bli ett värde mellan 0-1023 för att jag använde 10-bit A/D, eller tänker jag helt fel?
Det är en PIC16f886 och ADCValue är en unsigned int.

Kod: Markera allt

//A/D på porta 3
TRISA3 = 1; //input
ANS3 = 1;	//Analog input
CHS0 = 1;	//AN3
CHS1 = 1;	//AN3
CHS2 = 0;	//AN3
CHS3 = 0;	//AN3
VCFG0 = 0; //VDD
VCFG1 = 0; //VSS
ADCS0 = 0; //Fosc/2
ADCS1 = 0; //Fosc/2
ADFM = 1; // 1=Right justified
DelayMs(1);
ADON = 1; //Start

Kod: Markera allt

for(i= 0;i<100;i++)
{
ADCValue = 0;
ADRESL	=	0;
ADRESH	=	0; 
GODONE = 1;	
while (GODONE);
ADCValue = (ADRESH<<8)|ADRESL; 
printf ("\r   Test: %u \n", ADCValue);
DelayMs(1);
}
tack för hjälpen :)
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Problem voltmeter

Inlägg av sodjan »

Om du gör :

ADCValue = (ADRESH * 256) + ADRESL;

spelar det någon roll ?

Får du hopp med 64 steg i resultatat ?
D.v.s som om det var vänsterjusterat ?
Björne
Inlägg: 19
Blev medlem: 18 april 2008, 19:38:11

Re: Problem voltmeter

Inlägg av Björne »

Tack för snabbt svar.
jag testa med ADCValue = (ADRESH * 256) + ADRESL; men det blev ingen skillnad, testa även med både höger och vänsterjusterat.
Kan tillägga att jag använder HI-TECHs usart kod, om det kan hjälpa.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Problem voltmeter

Inlägg av sodjan »

> testa även med både höger och vänsterjusterat.

Och ?

Tja, då är det väl bara att börja felsöka...
Vad har du gjort för felsökning innan du kastade dig över forumet ?
Björne
Inlägg: 19
Blev medlem: 18 april 2008, 19:38:11

Re: Problem voltmeter

Inlägg av Björne »

Problemet är nu löst.

>Vad har du gjort för felsökning innan du kastade dig över forumet ?
Några timmar med att testa olika koder samt kolla över uppkopplingen.

Men jag stirra mig nog blind igår, för idag hitta jag felet direkt.
Hade glömt att avmarkera en kod bit som ändra tillbaka PORTA 3 till digital igen.

Tack för hjälpen.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Problem voltmeter

Inlägg av sodjan »

Det var inte med något sådant i koden du visade.
Postade du någon annan kod än den du hade problem med ?
Björne
Inlägg: 19
Blev medlem: 18 april 2008, 19:38:11

Re: Problem voltmeter

Inlägg av Björne »

>Postade du någon annan kod än den du hade problem med ?
JA.
Jag posta den koden jag trodde var felaktig, men nu inte var fallet.
Felet var gammal kod som jag hade avmakerad, men missat en rad. Därav tog jag inte med den koden.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Problem voltmeter

Inlägg av sodjan »

OK.
Lärdomen är alltså att vara lite noggrannare med "problemkod" som postas... :-)
Om du hade rensat upp koden (d.v.s plockat bort de rader som du hade kommenterat
inkl den rad som du *trodde* att du hade kommenterat) så hade det ju fungerat
redan innan du postade... :-) Försök alltid att fixa en "reproducer", d.v.s en snutt
som visar exakt det problem man har, men inget mer.
Björne
Inlägg: 19
Blev medlem: 18 april 2008, 19:38:11

Re: Problem voltmeter

Inlägg av Björne »

Tack för det orden.
Ska tänka på detta till nästa gång.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Problem voltmeter

Inlägg av sodjan »

Varsågod, det är ju inte raketvetenskap direkt. :-)
D.v.s att kolla sin kod en extra gång innan man postar...

Och just att inte bygga ett inlägg på "gammal" kod som man har
ändrat fram och tillbaka i flera gånger innan utan att ransa upp
och fixa ett klart och tydligt test-case som visar just det problem
man frågar om, är ju en standardåtgärd i stort sätt. I 9 fall av 10
så hittar man även sitt fel under tiden som man rensar koden... :-)

Kolla gärna även :
http://elektronikforumet.com/forum/view ... =12&t=6057
där det finns lite rent almänna tips vid start av en ny tråd.
Skriv svar