Acasă / Atelier / Masura/Control / Voltmetru simplu cu PIC16F688

Voltmetru simplu cu PIC16F688

Doresc să prezint o schemă minimalistă de voltmetru numeric, folosind un PIC16F688. ADC-ul intern al acestuia este folosit pentru conversia nivelului tensiunii într-o valoare care poate fi afişată. Calibrarea se face din potenţiometrele de la intrare, care împreună cu rezistenţele serie, trebuie să realizeze un raport de divizare 5:1. Adică la tensiunea maximă de la intrare de 25V, la intrarea în PIC, tensiunea să fie de 5V. Se poate afişa una din două tensiuni de intrare, pe AN0 sau AN1. Comutarea între aecstea se face din push-button.

Afişarea se face pe 3 digiţi, şi este de forma ab,c . Pentru reducerea numărului de pini folosiţi, am folosit un demultiplexor din 3 în 8, anume un 74LS138. Multiplexare este mai neobişnuită, anume pe segmente, nu pe digiţi. Adică la un moment dat se poate aprinde cîte un singur segment din fiecare digit.

Avînd un număr redus de componente, montajul se poate integra cu uşurinţă într-o sursă de laborator DIY.

Schema montajului:

schema
Un test al montajului:
img1
Mai jos, sursa de laborator pentru care am făcut voltmetrul:
img2
Programul a fost scris în Mplab şi compilat cu SourceBoost. În arhiva de mai jos găsiţi fişierul sursă şi hex-ul.
CBoost source

Discuta despre acest articol pe FORUM

Atașat acestui articol :

CBoost source
Filename : cboost-source.rar (27 KB)

Despre Cristian Grecu

Mă numesc Cristi, şi uneori sînt student la facultatea de electronică din Bucureşti. Consider electronica un domeniu infinit, cu cît învăţ mai mult, cu atît văd că marginile sale sînt tot mai departe.

6 Comentarii

  1. Care este tensiunea minima citita? Ma gandeam daca merge folosit si ca ampermetru…

    • Cristian Rusu

      73! Fără nici o modificare citeşte minim 0,1V, deci complet inutil ca ampermetru.
      S-ar pune problema ce rezoluţie s-ar obţine pentru tensiuni mici, pe care le obţinem citind tensiunea pe un şunt. Folosind toată rezoluţia de 10 biţi a ADC-ului obţinem un LSB de 5V/1024, deci cam 1mV. Mă gîndesc că cea mai simplă metodă este de a alinia la dreapta biţii de la ieşirea ADCului, deci să citească între 0 şi 256mV, cu rezoluţie de 8 biţi. Mi se pare o valoare admisibilă pentru o tensiune care cade pe şuntul unui ampermetru. Apoi un calcul simplu afişează valoarea în amperi sau miliamperi, după caz.
      Această rezoluţie se poate îmbunătăţi dacă se foloseşte o referinţă externă. Astfel capul de scară să nu fie la 5V, ci mai jos, fapt care micşorează valoarea LSB-ului şi măreşte rezoluţia la aceeaşi cădere de tensiune pe şunt. Nu ştiu pînă la cît s-ar putea micşora referinţa, am citit că la alimentare de 5V n-ar merge mai jos de 3V dar nu sînt sigur.
      Altă metodă, pe care chiar n-am încercat-o, ar fi mărirea rezoluţiei prin citiri repetate şi mediere.
      Sper că m-ai înţeles. Dacă vrei lămuriri suplimentare şi modificarea softului, te rog să-mi zici.

  2. o schema pt cablaj nu ai???ma intereseaza daca merge folosit la auto ca voltmetru … sau daca ai o alta schema cu un voltmetru pt auto cu o schema cat mai simpla e mult mai bine…

  3. voltmetru pt auto…..

    Cel mai simplu este să foloseşti o schemă cu circuitul integrat dedicat(şi devenit între timp tradiţional) C520D + D147D(decodorBCD–7segmente). C520D este echivalent cu CA3162. Se pot găsi scheme în diverse numere mai vechi din revista TEHNIUM. Dă un search şi vezi ce obţii.

    http://www.experimentalistsanonymous.com/diy/Datasheets/CA3162.pdf
    http://www.intersil.com/en/products/other-analog/special-analog/a-d-converters/CA3162.html

  4. cum pot sa scot fishierul cela….nu se primeshte….dar am nevoie urgent

  5. Salut!Ce tip de led 7 segmente folosesti? anod comun sau catod comun?
    C , si C de la 7 segmente vine legat impreuna apoi la tranzistor?

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *