Mircea Postat Octombrie 2, 2013 Partajează Postat Octombrie 2, 2013 Vezi exemplul din Help pentru ADC. Timpul de rulare al programului complet (inclusa afisarea LCD) este probabil de 10-15ms sau un pic mai mult, suficient sa faci o noua afisare de curent folosing simplu current = ADC_Read(x) in loc de curent = noa_citire_curent*0.1 + curent_anterior*0.9 si sa nu ai flickering pe LCD la update. O metoda buna este sa faci citirea si sa afisezi numai daca este diferita de cea precedenta. Utilizarea lui INA este ca sa faci citirea mai elegant (si precis, zic eu). Link spre comentariu
suirammarius Postat Octombrie 2, 2013 Autor Partajează Postat Octombrie 2, 2013 (...) current = ADC_Read(x) (...) (...) Daca fac asa, valoarea afisata e foarte instabila; oricat ai incerca, un oarecare zgomot tot e (4mV/unitate la o referinta de 5V). Metoda implementata de mine iti schimba valoarea afisata (sau returnata de functie) cu doar 1% la fiecare citire. La mine a dat rezultate foarte bune in citirea temperaturilor, mai ales in medii foarte zgomotoase (viteza de afisare e muuult superioara vitezei variatiei de temperatura, citita cu un NTC).Utilizarea lui INA este ca sa faci citirea mai elegant (si precis, zic eu).Mda, am citit datasheet-ul si parea interesant dar, nu e foarte usor de gasit. Asa ca daca Dr.L zice ca merge la fel de bine si cu un TL081, cum e simplu de gasit, am sa-l folosesc. Link spre comentariu
Mircea Postat Octombrie 2, 2013 Partajează Postat Octombrie 2, 2013 Marius, uite codul meu (in Basic) pe care il folosesc. Sursa e simetrica, deci masor 3 tensiuni (vezi mai jos Iset) si 2 curenti, afisez numai o ramura (cea pozitiva). Am niste conditionari IF (ventilatorul porneste daca oricare dintre curenti > 1A, afisez simbolul ala in linia 2 character 16), si taie alimentarea daca oricare dintre curentii masurati depaseste valoarea setata (Iset este un potentiometru care seteaza limita de curent). Am pus intarzierile de 100ms pentru flickering pentru ca nu vreau sa fac alte comparari de valori. Nu misca nimic, valorile sunt fixe indiferent de cum variez sarcina. In poza atasata o sarcina din rezistente de putere. ' Voltage positive' Measure adc_rd0 = ADC_read(0) tlong0 = adc_rd0 * 5000 * 4.25 tlong0 = tlong0 >> 10 adc_rd0 = integer(tlong0) ch0 = adc_rd0 div 10000 if ch0 = 0 then Lcd_Out(1, 1," ") else Lcd_Chr(1, 1, 48+ch0) end if ch0 = (adc_rd0 div 1000) mod 10 Lcd_Chr(1, 2, 48+ch0) Lcd_Chr(1, 3, ".") ch0 = (adc_rd0 div 100) mod 10 Lcd_Chr(1, 4, 48+ch0) Lcd_Out(1, 5,"V") Delay_ms(100)' Current positive' Measure adc_rd1 = ADC_read(1) tlong1 = adc_rd1 * 5000 * 1 tlong1 = tlong1 >> 10 adc_rd1 = integer(tlong1) ch1 = (adc_rd1 div 1000) mod 10 Lcd_Chr(1, 7, 48+ch1) Lcd_Chr(1, 8, ".") ch1 = (adc_rd1 div 100) mod 10 Lcd_Chr(1, 9, 48+ch1) ch1 = (adc_rd1 div 10) mod 10 Lcd_Chr(1, 10, 48+ch1) ch1 = (adc_rd1 div 1) mod 10 Lcd_Chr(1, 11, 48+ch1) Lcd_Out(1, 12,"A") Delay_ms(100) ' Positive branch power P1 = adc_rd0 * adc_rd1 / 1000000 P11 = ceil(P1) BytetoStr(P11, txtP1) Lcd_Chr(1, 14, txtP1[1]) Lcd_Chr(1, 15, txtP1[2]) Lcd_Out(1, 16, "W") Link spre comentariu
suirammarius Postat Octombrie 2, 2013 Autor Partajează Postat Octombrie 2, 2013 Poti sa-mi dai si mie, te rog, un link cu schema ta?La tine nu oscileaza nici a III-a zecimala de la curent?? Link spre comentariu
Mircea Postat Octombrie 2, 2013 Partajează Postat Octombrie 2, 2013 Schema de curent este cu INA210, din datasheet. Iti pot pune film sa vezi ca nu joaca deloc la sarcina rezistiva. Este adevarat, am pastrat a 3-a zecimala ca sa umplu LCD-ul . Este inutila, pentru ca, asa cum zicea cineva, la curenti f mici nu iti zice nimica. Am un rail-to-rail repetor dupa INA si nu vad curenti sub 25-30mA. In atas: INA139 este inlocuit cu INA210, LM324 cu MCP6L04. Nu gasesc acuma fisierul original pentru schema lui INA210 (difera un pic pinii, vezi Ref). Headerele alea sunt pentru aranjarea tip stack a PCB-urilor (module). PCB de curent pe PCB de Interfata (OPAMPS), PIC si LCD pe acelasi PCB de Interfata. "IN" in "OUT", "PIC" cuplata cu placa PIC (asta are PIC-ul, un pot de LCD si header de LCD). LE: for your record - interfata an refacut-o de 2 ori, partea de curent doar o data D-asta-i bine sa fie modular! Link video: sch.pdf Link spre comentariu
suirammarius Postat Octombrie 2, 2013 Autor Partajează Postat Octombrie 2, 2013 Multumesc! Eu incerc sa refac doar partea de forta. O montez si daca tot nu-mi place, o sa refac si pe cea de control. Desi... nu cred ca o sa fie nevoie (SPER). Am sa alimentez vent. asa cum ai zis, din celalalt traf si asa cum mi-a recomandat Dr.L. Vedem ce iese. 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