BluePink BluePink
XHost
Oferim servicii de instalare, configurare si monitorizare servere linux (router, firewall, dns, web, email, baze de date, aplicatii, server de backup, domain controller, share de retea) de la 50 eur / instalare. Pentru detalii accesati site-ul BluePink.

 

     Voltmetru Numeric

 

 

Home 
Despre 
Software 
Hardware 
Contacts 

 

 

Pentru realizarea voltmetrului vom folosi convertorul analogic-digital al microprocesorului. Pentru ca acest convertor sa functioneze, trebuie folosita tensiunea de referinta. Aceasta reprezinta o valoare maxima care poate fi masurata de microcontroler. Am ales drept referinta valoarea de 2,56 volti, intrucat este mai stabila decat tensiunea de 5 volti de la alimentare.Folosirea acestei tensiuni usureaza reprezentarea valorilor  ca numere binare in microcontroler, deoarece 2.56 reprezinta puterea lui 2.

Convertorul analog-digital oferitde Atmega16 are urmatoarele caracteristici:

  • rezolutie de 10 biti
  • precizie de ±2 LSB
  • timp de conversie intre 13-260μs
  • 8 canale de intrare multiplexate
  • posibilitatea de ajustare stanga a rezultatului din registrul ADC
  • excursia de tensiune 0-VCC
  • moduri "Free-Running" sau conversie unica
  • intrerupere la terminarea unei conversii

În cazul convertorului A/D de 10 biti, rezolutia trebuie sa fie de Vref/2n =2,5 mV /bit. Apoi fiecare semnal prezent la intrare va fi exprimat ca o fractie din tensiunea de referinta.

Acesta primeste pe intrarea ADC1 o  tensiune Vin(0..2,56V) si este alimentat la tensiunea de 5V data de stabilizator(pinul 30 AVcc).Pentru folosirea tensiunii de referinta interna este necesara conectarea unui candensator de 100nF intre pinul Aref si Gnd.,pentru prevenirea zgomotului.Pentru a preveni introducerea unei tensiuni mai mari de 2,56 V am folosit 4 diode conectate intre intrare si masa care tin intrarea la un potential de maxin 4x0,6v=2,4V.

Conversia ADC-ului este simpla.Daca rezolutia este setata la 10 biti ,atunci vom avea 1024 de valori.La un moment dat valoarea amplitudinii este preluata si transmisa la intrarea ADC, unde valoare convertita este stocata in registrii ADCH si ADCL.La urmatorul ciclu de ceas alta valoare este convertita. Deci va trebui sa luam  valorile convertite intre doua conversii ,sau valoarea convertita va fi scrisa cu o noua valoare.

Tensiunea de intrare este calculata cu formula:

                     Vin[V]=(ADCH·256+ADCL)·Vref[V]/1024

Tensiunea este afisata pe un display 2x16 conectat la portul C al microcontrolerului.Pentru modificarea contrastului am folosit un semireglabil de 500ohmi situat intre vcc si masa,iar cursorul la pinul 3 al lcd-ului (pinul de contrast).

 

269X194.GIF

 

Codevisionul permite citirea succesiva a registrilor ADCH si ADCL prin registrul ADCW

Initial am activat convertorul, dar am observat ca aveam pe intrare un zgomot foarte mare .Pentru a rezolva aceasta problema am conectat pe intrare un filtru trece jos format dintr-o rezistenta de 100K si un condensator de 100nF.Dupa multe nopti pierdute, am reusit sa afisem tensiunea pe display, care parea ca seamana cu cea masurata de un voltmetru adevarat.

 

269X194.GIF

 

In saptamanile urmatoare a urmat marirea scalii de masura de la 0-2V la 0-20 V.Pentru acest lucru am folosit un divizor de tensiune 1/10 format dintr-o rezistenta de 100 k si una de 900k.

Pentru schimbarea scalei de masura am folosit un comutator dublu, deoarece trebuia sa ne schimbe atat fizic  scala, cat si in soft. Pentru ultima varianta am setat 1 logic pe un pin si am citit aceasta valoare. Daca valoarea este 1 se pastreaza scala 0-2 V,iar dc este 0(prin punerea la masa a pinul A.5 cu ajutorul comutatorului) trece la scala 0-20V.

 

269X194.GIF

 

Pentru a atentiona utilizatorul asupra depasirii scalei am atasat un led care se aprinde in momentul depasirii scalei, cat si un mesaj care apare pe display. 

 

269X194.GIF

 

Schema electrica finala:

Pentru mai multe detalii contactati:  marisel1986@yahoo.com

                        

Probleme aparute:

  1. La conectarea unui condesator intre pinii 1 si 3 ai C.I max232 am facut un scurt si nu  aveam tensiunea de 8-10V intre pinii 2,6 si masa
  2. Zgomot prea mare pe intrare ,care s-a remediat cu conectarea unui filtru pe intrare
  3. Setarea in meniul Codevisionului a functiei sprintf de tip float(deoarece daca lasam pe tip intreg tensiunea de intrare impartita la 1024, apareau valori care nu erau intregi si drept urmare nu afisa nimic pe display)
  4. Am schimbat 2 surse deoarece le-am ars din greseala.

 

Pagina: 1 [2]

 

[Home][Despre][Software][Hardware][Contacts]

Copyright (c) 2008 Faculatea de Electronica,Telecomunicatii si Tehnologia Informatiei, Bucuresti. Toate drepturile rezervate.

     Voltmetru cu afisaj pe display LCD Top66 Statistici  Anunturi gratuite - Roportal