catalin004 Postat Noiembrie 20, 2017 Autor Partajează Postat Noiembrie 20, 2017 Da...acum am vazut...am facut montajul, insa am pus pe alt PIC, 876A de data aceasta( sa nu il busesc pe cel de la PICKIT2). Acum o sa ma uit in datashet dupa PCF sa vad ce trebuie modificat...revin Link spre comentariu
catalin004 Postat Noiembrie 20, 2017 Autor Partajează Postat Noiembrie 20, 2017 REGISTER 13-1: CVRCON CONTROL REGISTER (ADDRESS 9Dh) R/W-0 R/W-0 R/W-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 CVREN CVROE CVRR — CVR3 CVR2 CVR1 CVR0 bit 7 bit 0 bit 7 CVREN: Comparator Voltage Reference Enable bit 1 = CVREF circuit powered on 0 = CVREF circuit powered down bit 6 CVROE: Comparator VREF Output Enable bit 1 = CVREF voltage level is output on RA2/AN2/VREF-/CVREF pin 0 = CVREF voltage level is disconnected from RA2/AN2/VREF-/CVREF pin bit 5 CVRR: Comparator VREF Range Selection bit 1 = 0 to 0.75 CVRSRC, with CVRSRC/24 step size 0 = 0.25 CVRSRC to 0.75 CVRSRC, with CVRSRC/32 step size bit 4 Unimplemented: Read as ‘0’ bit 3-0 CVR3:CVR0: Comparator VREF Value Selection bits 0 ≤ VR3:VR0 ≤ 15 When CVRR = 1: CVREF = (VR<3:0>/ 24) • (CVRSRC) When CVRR = 0: CVREF = 1/4 • (CVRSRC) + (VR3:VR0/ 32) • (CVRSRC) Legend: R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’ -n = Value at POR ‘1’ = Bit is set ‘0’ = Bit is cleared x = Bit is unknown Din ce am citit aici trebuie modificat...insa nu stiu cum sa-i spun ca are 2.5V pe vref Link spre comentariu
tic5 Postat Noiembrie 20, 2017 Partajează Postat Noiembrie 20, 2017 Salut, Ptr. ADC in registrul ADCON1 ai configurarea bitilor (3-0) ptr. PCFG3:PCFG0. ( DS pag 130, la ADC) Ptr. orice valoare a Vref intre aprox 2v-5v, microcontrolorul stie sa citeasca singur valoarea. Succes! Link spre comentariu
catalin004 Postat Noiembrie 20, 2017 Autor Partajează Postat Noiembrie 20, 2017 Cerd ca referinta se face intre Vref si Vss, nu Vdd?Gresesc? Link spre comentariu
Bandi Szasz Postat Noiembrie 20, 2017 Partajează Postat Noiembrie 20, 2017 (editat) Corect, conectati 2.5V pe pinul vref+ (AN3) si pe pagina 130 aveti o tabela cu configurarea PCFG3:PCFG0 din care la al 2 lea rand aveti exact ce va trebuie Vref+ conectat la pin AN3, deci valoarea pentru registrii este "0001". Dupa care recalculati functia de ADC_Read pt 2.5V sau cat obtineti din divizor. Editat Noiembrie 20, 2017 de Bandi Szasz Link spre comentariu
catalin004 Postat Noiembrie 20, 2017 Autor Partajează Postat Noiembrie 20, 2017 (editat) PCFG3:PCFG0 = 0001; Am scris ca mai sus si imi da eroare...am scris si 0x001; si la fel...2,49V Si cred ca trebuie optiunea 5, adica raportul 2:1...cred Am scris ADCON1=00000101;//am 12 grade....si ar trebui sa fie dublu Editat Noiembrie 20, 2017 de catalin004 Link spre comentariu
tic5 Postat Noiembrie 20, 2017 Partajează Postat Noiembrie 20, 2017 Ai tinut cont ca in formula ADC ai ref=2,5V si nu 5V? Link spre comentariu
catalin004 Postat Noiembrie 20, 2017 Autor Partajează Postat Noiembrie 20, 2017 Nu inteleg ce vrea sa spuna pe ultima coloana C/R.... Link spre comentariu
Bandi Szasz Postat Noiembrie 20, 2017 Partajează Postat Noiembrie 20, 2017 Da, ori trebuie scris complet registrul ADCON1 cum ati scris, ori trebuie setat separat fiecare bit ADCON1.F0=.. , ADCON1.F1=.., ADCON1 .F2=.. , cu coloana aia C/R nici eu nu prea vad care e treaba nu am mai intalnit pana acuma asa o configuratie. Incercati sa apelati in functia main() ADC_Init(), si in loc de ADC_Read() sa puneti ADC_Get_Sample(); ADC_Read o sa configureze din nou de fiecare data modulul ADC inainte de citire, este specificat in documentatia librariei si foarte posibil sa rescrie Vref-ul la VDD. Link spre comentariu
catalin004 Postat Noiembrie 20, 2017 Autor Partajează Postat Noiembrie 20, 2017 Am inteles...maine o sa incerc...ma asteptam ca si colegul mars sa dea o mana de ajutor... Link spre comentariu
mars01 Postat Noiembrie 20, 2017 Partajează Postat Noiembrie 20, 2017 Nu are sens sa ma implic, colegul Bandi te ajuta intr-un mod calificat. Link spre comentariu
catalin004 Postat Noiembrie 21, 2017 Autor Partajează Postat Noiembrie 21, 2017 Da.... Link spre comentariu
tic5 Postat Noiembrie 23, 2017 Partajează Postat Noiembrie 23, 2017 C/R inseamna nr. intrari cu semnal analogic / nr. intrari ptr tensiune referinta externa (max. 2) adica Vref+ si Vref-. Din ceeace am citit pe net, nu se recomanda folosirea Vref-. Link spre comentariu
catalin004 Postat Noiembrie 24, 2017 Autor Partajează Postat Noiembrie 24, 2017 Vref- o sa fie Vdd... Link spre comentariu
tic5 Postat Noiembrie 24, 2017 Partajează Postat Noiembrie 24, 2017 (editat) Pentru PI16F876A (cf. DS) ai: Vref+ pe pinul 5 al picului, Vref- la Vss( pinul8 + pinul 19) Vref+ si Vref- se folosesc numai cand sursele de ref. sunt externe. Vss inseamna masa integratului.(sau 0V) Tu treb. sa conectezi plusul iesirii sursei de referinta externa la Vref+, iar masa tensiunii de referinta la Vss(masa montajului) si nu la Vdd, asa cum ai scris. La Vdd se conecteaza plusul(+) tensiunii de alimentare a microprocesorului iar la Vss, masa. Conectarea concomitenta la Vref+ si Vref- o faci NUMAI cand ai 2 surse de referinta EXTERNE distincte. In acest caz rezultatul tensiunii de ref. = Uref+ - Uref- Editat Noiembrie 24, 2017 de tic5 Link spre comentariu
Postări Recomandate
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 contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum