[ mimi @ 06.09.2011. 02:35 ] @
Poceo sam malo da se igram sa mikroBasic.Nista ozbiljno, vise nesto kao hobi.Imam mikroBasic PRO for PiC i EasyPIC5.
Uz ovaj kompajler ne dolazi nikakvo uputstvo na srpskom (niti postoji neka knjiga na srpskom), a kako engleski ne znam, (a ulozio sam u domacu pamet) jedina mi je nada u razumevanju ovog kompajlera (i uopste nacin pisanja programa) ovaj forum i ova tema.

Dakle da pocnem.
Trenutno proucavam ADC Library i koriscenje A/D konvertora na PIC16F887.

Pokusavam da napisem program koji prati napon LiPo 3S baterije (sl.1) .Napon na svakoj celiji (ima ih 3) nesme da padne ispod 3v (to je granica na mom punjacu).
Zadatak je da uC prati napon svake celije, i kada napon bilo koje celije padne ispod 3.30v, treba da se oglasi alarm.

Kako sam to zamislio?
Kada se pojavi interapt, uC izvrsava neku funkciju (nebitno), dok stalno u petlji uC meri napon na pinu AN0, zatim na AN1 i na kraju na AN2.
Posle merenja proverava dali je neki od napona jednak ili manji od vrednosti 675, i ako jeste ukljucuje alarm.Verovatno se mozda ovako ne pisu programi ali ja sam ovako to zamislio i ovo radi.Radi, ali ne bas precizno.

Problemi su:
- Kao izvor referentnog napona koristim napon napajanja uC, dakle Vdd (od 7805) koji nije stabilan, pa otud i razlicita ocitavanja vrednosti.Mislio sam da koristim Vref+ i REF02 (Digital to Analog Calculator ).
- Otpornici su SMD od 1% , na slici (sl.1) prikazane su vrednosti napona (* max, ** min napon) koje su izracunate ali te vrednosti nisu bas u praksi indenticne.Na slici (sl.2) vide se naponi koji su ocitani prilikom testiranja.

Pitanje glasi.
Kako biste Vi izvrsili merenje svake celije, znajuci da se svaka celija ne prazni podjednako (mada bi trebalo)?


Slika 1.


Slika 2.

[Ovu poruku je menjao mimi dana 06.09.2011. u 03:48 GMT+1]

[Ovu poruku je menjao mimi dana 06.09.2011. u 03:49 GMT+1]
[ micromatic @ 06.09.2011. 06:48 ] @
Važno je primjetiti da AN1 i AN2 ne mjere napon čelije 2 i 3 već AN1= 0,5*(U1+U2) a AN2=0,33*(U1+U2+U3) gdje su U1, U2 i U3 naponi čelija.
[ milanmeh @ 19.09.2011. 01:41 ] @
Obavezno povecaj vrednosti otpora na razdelnicima. Ove sitne vrednosti ce posisati baterije kao od sale. Takodje ako imas na raspolaganju p kanalni mosfet za male signale (Rds(on) da bude reda 100ak mΩ), povezi ga tako da mosfet spaja celije sa naponskim razdelnicima (i onu direktnu liniju na AN0) kad treba. Kad hoces da ocitas baterije ukljuci mosfete jednim pinom PIC-a i odradi konverzije. Ovako ces imati curenje struje kroz R1 i R3 samo dok radis AD konverziju. Ako budes koristio varijantu sa mosfetima vrednosti otpora treba balansirati kako bi imao dovoljno brzo vreme smirivanja. 10x vrednosti koje si naveo trebale bi da budu OK. Za varijantu bez mosfeta trebalo bi staviti jos vece vrednosti otpora kako bi smanjio curenje, reda 100ak puta od ovog sto imas.

Sto se tice merenja napona ovo je OK konfiguracija. Napon Celiji 1 je AN0, napon na Celiji 2 je AN1-AN0 dok je napon na Celiji 3 AN2-(AN0+AN1). Naravno ne zaboravi da uracunas i naponske razdelnike.

[Ovu poruku je menjao milanmeh dana 19.09.2011. u 03:17 GMT+1]