Sari la conținut
ELFORUM - Forumul electronistilor

PIC12F675- Potentiometru de 10k-ADC


lama

Postări Recomandate

Salut

Am un montaj cu PIC12F675. Am pus un potentiometru de 10k legat la GP0. Trimit ce am citit pe GP2(serial pe 2400). Configurarea este urmatoarea.

 

ANSEL = 0x11; // Analogue input on GP0 and Fosc/8 rate

TRISIO = (1<<5) | (1<<1) | (1<<0); // set as output except bits 5,1 GP5=i/p, GP1=i/p and zero (ANO)

ADCON0 = 0 | (1<<7) | (1<<0);// Vdd reference //Channel 00 (AN0), A/D converter ON

// bit 6 trecut in 1 se face fata de Vref pin / cu 0 se face fata de VDD

 

Citind obtin valori intre 0-5 pina la un maxim de 844. Poate sa imi explice cineva cum e cu ADC-ul?

Ca as avea tensiunea de ref (5.03v) de impartit la 1023. si obtin 4.88mV.

De aici rezulta ca 4.88mV * 844 = 4.12V. Ma asteptam sa obtin totusi 5V .

Ce parere aveti?

Link spre comentariu
  • Răspunsuri 10
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • lama

    6

  • Liviu M

    5

Zile populare

Top autori în acest subiect

Hm, tot e cam mare diferenta.Astepti suficient inainte sa pornesti masuratoarea?Daca masori de mai multe ori, se mentin valoriloe citite?Esti sigur ca "aduni" cum trebuie cei 2 registrii cu rezultatele ADC?Cum e setat ADCON1?A propos, la tine ADCON0= 10000001, adica Fosc/32 sau Fosc/64 (in functie de cum e setat ADCON1). In principiu nu e nici o problema, da' trebuie sa astepti mai mult pana sa citesti datele; daca testezi bitul GO/DONE, atunci nu e nici o problema.

Link spre comentariu

Hm, tot e cam mare diferenta.

Astepti suficient inainte sa pornesti masuratoarea?

Da, am un delay de 100ms intre

Daca masori de mai multe ori, se mentin valoriloe citite?

Mici variatii

 

Esti sigur ca "aduni" cum trebuie cei 2 registrii cu rezultatele ADC?

Cum e setat ADCON1?

ADCON1? nu cred ca are.

A propos, la tine ADCON0= 10000001, adica Fosc/32 sau Fosc/64 (in functie de cum e setat ADCON1).

Pai nu in ANSEL se face setarea de Fosc? Ca asa scrie in manual. Nu ANSEL si TRISC determina functionarea?

In principiu nu e nici o problema, da' trebuie sa astepti mai mult pana sa citesti datele; daca testezi bitul GO/DONE, atunci nu e nici o problema.

Codul de loop

 

while(1){ //looping

GODONE = 1; //Start Conversion

while(GODONE){} //Wait for conversion complete

ADC_Value = ( ADRESH << 8) + ADRESL; // citire valoare conversie , shiftare la stanga cu 8 biti

itoa(buf, ADC_Value, 10);

_Soft_USART_Println(&buf);

__delay_ms(100);

 

}

Link spre comentariu

Sorry, m-am uitat unde stiam eu mai bine - 16f877. :jytuiyu M-am uitat in data-sheetul care trebuie si pare OK, asa ca n-am idee de unde vine.Ar fi interesant sa vezi cumva continutul registrilor ADRESH & ADRESL, ca nu cumva sa ai probleme cu conversia (itoa) sau la transmisie.Chiar, transmisia ai testat-o? Daca trimiti un caracter cunoscut, il receptionezi cum trebuie?

Link spre comentariu

Sorry, m-am uitat unde stiam eu mai bine - 16f877. :jytuiyu M-am uitat in data-sheetul care trebuie si pare OK, asa ca n-am idee de unde vine.Ar fi interesant sa vezi cumva continutul registrilor ADRESH & ADRESL, ca nu cumva sa ai probleme cu conversia (itoa) sau la transmisie.Chiar, transmisia ai testat-o? Daca trimiti un caracter cunoscut, il receptionezi cum trebuie?

Seriala am testat-o in gol(cu siruri cunoscute). Dupa ce am intrebat pe aici pe forum am facut eu o fctie de transmitere si merge. O sa afisez ADRESH & ADRESL sa le vad cum arata. Am verificat si tensiunea de alimentare e 4.72(o ia din clona de PicKit2)
Link spre comentariu

4.72V sunt masurati cu voltmetrul pe pin (AN0), nu ti-o zice pickit2 prin vreo fereastra de calculator, da?

El in fereastra zice 4,8V.Si cred ca stiu de unde vine eroarea(noroc ca mi-ai zis sa masor). Eu urmeza sa pun un LM35 dar nu a venit inca si am zis sa testez cu un potentiometru. Doar ca ptr LM35 e pusa o rezistenta de 1k de la AN0 la pinul 2 al lui LM35. Asa ca la un maxim de 4,72V am pe AN0 3.91V.Urmatorul proiect o sa il fac cu DS18B20(sunt pe drum ) ca sa scap de aceste probleme.
Link spre comentariu

Era mai facil accesul pe potentiometru. Si am uitat de rezistenta aia(ca doar eu am pus-o dar .... deh batranetile astea ).Sa vad ce intrebari am cand pun LM35-ul...

Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări