Jump to content
ELFORUM - Forumul electronistilor
Ticu

Contor Ah cu PIC 12F675

Recommended Posts

Ma intereseaza un soft pentru contor pentru (mili)amperixora cu PIC 12F675.Cateva cerinte, daca sunt realizabile:Intrare 0...5V corespunzatori la un curent de 1024 mA printr-un sunt de 4,89 ohmi. Prin introducerea unui amplificator de tensiune de 10x sau 100x se va putea micsora valoarea suntului de 10 sau 100 de ori. Registre serie/paralel CD4094 pentru afisare cu 4 cifre LED catod comun. Afisare a valorii curente (in Ah)si - alternativ - a timpului scurs (de exemplu 24,00 ore), pe acelasi afisaj, prin apasarea unui cu buton. Masuratori la intervale de aprox. 1 minut. Resetare la intreruperea alimentarii controlerului (simultan pentru timp si Ah), sau -daca mai ramane un pin liber- cu buton.

Link to comment
Share on other sites

CD4094 nu prea se preteaza pt comanda led-urilor, are curent prea mic pe iesire; mai potrivit ar fi 74HC595.Ar trebui stabilite mai intai niste limite/intervale :1.curentul maxim masurat cu aparatul2.valoarea maxima inregistrata in mAh/Ah3.rezolutia dorita in mAh/Ah4.timp maxim de inregistrare(poate fi calculat pe baza valorilor de la 2. si 3. sau poate fi limitat mai jos)

Link to comment
Share on other sites

Salut. Am mai folosit CD4096 la un voltmetru, dupa un site fratuzesc, mi-a scos circa 4mA/segment (suficient pentru interior) si am un modulul de afisare cu 4 cifre gata facut...Eu facusem urmatoarele socoteli, dar nu-mi dau seama daca pot fi aplicate sau mai trebuie reduse:Intrare 0...5V corespunzatoare unui curent de 0...1024 mA. Registre de deplasare seriale de 8 biti cu latch-uri CD4094 pentru afisare cu 4 cifre LED catod comun. Afisare a valorii curente (de exemplu 02,37 Ah), precum si a timpului scurs (de exemplu 13,70 ore), pe acelasi afisaj, la cerere, cu buton. Afisajul cu 4 cifre suporta 99,99 ore adica peste 4 zile de monitorizare (96 ore).Masuratori la intervale de aprox. 1 minut se pot obtine prin divizarea frecventei de 4MHz cu 2^28 (sau 16^7) care duce la intervale de 67,108864 secunde.Un factor de corectie 0,01864135 trebuie aplicat valorilor de curent (mA) masurate la intervale de 67,...s pentru a afisa valori in mAh.Valorile masurate sunt insumate. Suma maxima realizabila intr-o zi este 1024 (valoare maxima masurata) x 1288 masuratori = 1318359. Dupa aplicarea factorului de corectie rezulta 24576 mAh din care se afiseaza primele 4 cifre cu virgula intre ele, adica 24,57 Ah. Afisajul cu 4 cifre suporta 99,99 Ah adica peste 4 zile de monitorizare cu curent maxim (98,30 Ah).Resetare la intreruperea alimentarii controlerului (simultan pentru timp si Ah), sau -daca mai ramane un pin liber- cu buton.O frecventa de ceas pentru registre poate fi aprox. 8kHz (4MHz divizat cu 16^2 apoi cu 2). Pinii la 12F675 ar fi urmatorii:1. Intrare analogica2. Buton selectie afisaj (Ah sau timp)3. Iesire date serial (cate 8 biti, din care 7 pt. segmentele de afisaj, transmise incepand cu digitul cel mai putin semnificativ)4. Iesire strobe pentru registre5. Iesire clock pt. registre 6 (?). Buton reset, daca mai este pin liber Afisarea timpului ar putea fi facuta in "minute aproximative" adica intervale de 67 s, sau am putea renunta total la ea daca nu mai este loc.

Link to comment
Share on other sites

Am facut o schema cu 2 x 74HC595. Mi se pare o idee mai buna. Foloseste mai putini pini decat 4094 si debiteaza un curent de aproape 9 mA / pin (asta in cel mai rau caz, cand sunt toate segmentele aprinse).Rezistente prea precise sunt dificil de facut (sau combinat). Asa ca trebuie etalonat din P1, folosind o sarcina cunoscuta.Editat: Acum vad ca ai scris ca ai un modul gata facut. Cum e, cu un 4094 sau doua? Se poate face o schema si pentru ala, numai ca va manca un pin in plus.

post-39383-139829295385_thumb.gif

Link to comment
Share on other sites

Multumiri la toata lumea pentru interesul acordat. Sper sa ajungem la un rezultat (sau doua...). Sigur ca o amplificare/reglare a tensiunii de intrare e utila; o lasasem pentru sfarsit. INA122 are o aplicatie tipica pentru sunt (atasata). Dar deocamdata sa vedem ce se poate face pe partea digitala.Varianta mea cu CD4094 arata ca in atas.

post-29403-139829295392_thumb.jpg

post-29403-139829295396_thumb.jpg

Link to comment
Share on other sites

INA122 e 18.2 RON la TME. Nu ar fi prea scump, daca ar fi singura alternativa (mai ales ca e o optiune excelenta pentru sunt), dar eu am o gramada de opamp-uri din recuperari, unele chiar bune.Fiecare poate sa faca altfel partea analogica, oricum softul nu face diferenta.Eu voi face astfel: pornesc cu o sursa de 9v, din care un regulator LDO va stabili masa la 4.5v. Intre masa si 9v va sta toata hardughia, exceptie facand opamp-ul, care va sta intre -4.5v si +4.5v (0v - 9v).

Link to comment
Share on other sites

@10vid Cam in acelasi mod am gandit si eu schema, cu mici diferente:-74HC595 poate comanda singur catozii la 7-segment, nu e nevoie de tranzistori-al 3-lea digit de la stanga la dreapta va fi montat invers a.i. sa se formeze cele doua puncte de la ceas; cand se afiseaza consumul inregistrat este aprins doar punctul zecimal(de la digitul 2), iar cand se afiseaza timpul scurs se aprind ambele puncte zecimale - in acest mod nu mai sunt necesare alte leduri pt indicatie.-este necesar un cristal de quart, stabilitatea si precizia oscilatorului intern nu sunt suficiente pt contorizarea [email protected] Nu trebuie neaparat amplif de instrumentatie, se poate si cu un opamp rail-to-rail input, ex. MCP6001, sau si mai bine cu opamp obisnuit si metoda de alimentare propusa de 10vid, cu mentiunea ca merge si regulator normal, nu trebuie LDO.Compensarea pt valoarea suntului se poate face si din soft, cu ajutorul butoanelor, accesand un meniu special -unde este afisat curentul. Se leaga sursa de putere la un consumator , inseriat cu un ampermetru , si bineinteles suntul din montaj. Din butoane se ajusteaza valoarea suntului(folosita pt calcule in soft) pana cand indicatia de pe display este egala cu cea de pe ampermetru. Acea valoare a suntului va fi memorata si folosita pe mai departe in calcule.

post-11022-139829295402_thumb.jpg

Link to comment
Share on other sites

Cu registrele nu am ce face, ma supun majoritatii si renunt la CD4094, desi o sa am pe constiinta bunatate de placa pregatita (atas).Chestia cu reglarea din butoane a factorului de calibrare m-a lasat perplex si ma face sa zic si eu ca pare imposibil sa mai fie loc si pentru asta... Amplificatorul o sa-l fac cu alimentare simpla si intrare intre masa si IN+. Motivul e masa comuna a montajului si a intrarii, care in anumite situatii va permite alimentarea chiar din sursa monitorizata. Am gasit prin sertar un LTC1051 care alimentat la 5V are excursia la iesire liniara intre 0...4V. Eventual mai pun o sursa in 3 puncte de 6V si se extinde domeniul la 0...5V cat accepta PIC-ul.

post-29403-139829295599_thumb.jpg

Link to comment
Share on other sites

Nu ai de ce sa renunti la placa cu 4094, o sa se faca si pentru ea ceva cod. 595 sau 4094 nu e mare diferenta. Dar uitandu-ma la poza aia, vad doua module a cate 2 digiti, nu cumva iti trebuie 4 module simple? Astea duble au de obicei segmentele comune.

Link to comment
Share on other sites

Sunt doua variante de incapsulare pt. afisaje cu 2 digiti: pentru multiplexare (7 segmente comune, punct comun, 2 catozi, 2 pini neconectati = total 12 pini) si separati - ca ai mei - (2x7 segmente, 2xpunct, 2 catozi = 18 pini). Segmentele separate necesita curenti mai mici fiindca stau tot timpul aprinse; la multiplexare fiecare segment primeste curent o fractiune din timp.La voltmetrul dupa care am dat schema, dupa fiecare citire se "turnau" datele de comanda a segmentelor incepand cu digitul cel mai putin semnificativ (8x4 biti in cazul nostru) in registre (transfer pe frontul crescator al clockului), dupa care se trecea Strobe in HI pentru transferul simultan al tuturor datelor in latchurile de iesire. Urma o pauza pana la citirea urmatoare. Frecventa de clock apreciata cu osciloscopul - aprox. 5kHz.

Link to comment
Share on other sites

Am facut un cod (preliminar) pentru 4094, care nu face altceva decat sa afiseze valoarea venita de la ADC.Frecventa CLOCK in jur de 11kHz. Transmisia dureaza cam 14.4ms.Citirea ADC si afisajul au o rata de improspatare de 2.8 Hz. Eu zic ca e suficient. O citire o data la 0.36s ca sa am la o ora 10000 citiri. Asa ca pot taia vreo 5 zerouri ca sa afisez curentul in Ah. Am uitat sa zic, intern lucreaza cu cifre BCD.

contor_Ah_v1.zip

Link to comment
Share on other sites

Multumiri pentru cod. La inceput nu afisa bine cifrele. Am separat firul Strobe de Clock si am intarziat semnalul aplicat la Strobe cu un circuit RC. In felul asta se transfera bine datele din registre in latchuri, adica putin dupa ce s-a facut deplasarea datelor intre registre pe fiecare front crescator al clockului.Din pacate se vad aprinderi scurte ale LED-urilor inactive la fiecare transfer de date. Problema persista si la 595. Se "vad" pentru scurt timp toate datele care curg prin registre pana la incarcarea intregului sir de date. Cauza este frontul crescator al Strobe-ului care se repeta dupa fiecare Clock. Pentru eliminarea efectului ar fi util un semnal Strobe generat separat, ca in varianta @francezu si cum am gasit eu in schema frantuzeasca.In atas am schitat oscilogramele pe Varianta 1 (sus) si pe schema frantuzeasca. Schema lor mai face o pauza de 1 impuls de clock intre digiti, poate pentru schimbarea in siguranta a adresei de unde ia controlerul datele (ideea mea, nu stiu daca e corecta).Revenind la Varianta 1:- Afisarea este corecta 0...1023 pentru 0...5V intrare. - Intr-adevar transmisia datelor dureaza in jur de 2,88 s.- Dar atentie, frecventa de improspatare este putin peste 6 Hz (cam 160 ms intre citiri), mai mare decat ati estimat in mesaj.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.Terms of Use si Guidelines