Multimetru Digital

Introducere

Proiectul consta intr-un multimetru digital care masoara:

  • tensiuni
  • curenti
  • rezistente

Realizarea masuratorilor se realizeaza prin determinarea unei tensiuni cu ajutorul convertorului analog digital al microcontroller-ului ATMega16.

Afisajul se realizeaza pe un display de Nokia 1100.

Descriere generală

Schema bloc a multimetrului este:

Modulele care compun multimetrul sunt: modulul de comutare, de masurare si modulul de afisare.

Hardware Design

Lista de componente:

  • stabilizator de tensiune TS 1082
  • display Nokia 1100
  • sonde de multimetru
  • comutator rotativ
  • switch-buttons
  • cablu panglica
  • rezistente de diferite valori
  • condensatoare de 10uF

Modulul de afisare consta intr-un LCD de Nokia 1100. Intial am dorit sa utilizez un LCD de Nokia 3310, dar am renuntat dupa ce am incercat 5 astfel de LCD-uri care s-au dovedit a fi stricate. Problema cu aceste LCD-uri era ca nu au conectorul lipit de ecran si nu se realizeaza contactul cum trebuie. Acest LCD este alimentat pe ambele intrari de alimentare la 3.3 V, tensiune obtinuta printr-un stabilizator de tensiune TS 1082. Pentru pinii de date s-au folosit divizoare de tensiune.

Modulul de comutare a fost realizat prin utilizarea unui intrerupator rotativ care activeaza o serie de pini ai microcontrollerului pentru a-i indica acestuia pe ce canal sa masoare tensiunea. De asemenea acest modul cuprinde si un set de intrerupatoare care au rolul de comuta intrarea pe unul din canalele convertorului analog digital. S-a incercat realizarea comutarii intrarii prin intermediul unui multiplexor, dar acesta conducea la pierdere de precizie in masuratori.

Modulul de masurare cuprinde 3 sub-module:

Modulul tensiune - poate masura tensiuni intre 0 si 20 V. Am ales ca referinta pentru convertorul microcontroller-ului 2.5 V pentru a avea o precizie mai buna. Pentru a putea masura tensiuni intre 0 si 20 V intrarea trece printr-un divizor de tensiune care micsoreaza tensiunea de 8 ori asfel incat sa ajunga in intervalul 0 - 2.5.

Modulul curent - poate masura curenti in intervalele:

  • 0 - 250 mA
  • 250 mA - 2,5 A
  • 2,5 A - 10 A

Pentru a putea determina curentul se masoara caderea de tensiune pe o rezistenta de valoare cunoscuta pusa in paralel cu punctele intre care se doreste aflarea intensitatii curentului. S-au folosit urmatoarele valori pentru rezistente:

  • 10 ohmi pentru a putea masura curenti in intervalul 0 - 250 mA
  • 1 ohm pentru a putea masura curenti in intervalul 250 mA - 2,5 A
  • 0,25 ohmi pentru a putea masura curenti in intervalul 2,5 A - 10 A

Modulul rezistenta - poate masura rezistente in intervalele:

  • 0 - 100 ohmi
  • 100 ohmi - 10K
  • 10K - 1M

Pentru a putea masura rezistenta s-au folosit niste divizoare de tensiune. Astfel, rezistenta masurata face parte dintr-un divizor de tensiune care este alimentat la 5V. Pentru a putea masura rezistente in intevalele specificate s-au folosit rezistente de marime cunoscuta cu urmatoarele valori:

  • 100 ohmi pentru a putea masura rezistente in intervalul 0 - 100 ohmi
  • 10K pentru a putea masura rezistente in intervalul 100 ohmi - 10K
  • 1M pentru a putea masura rezistente in intervalul 10K - 10M

Se masoara caderea de tensiune pe rezistenta de valoare necunoscuta. Aceasta cadere de tensiune are o valoare egala cu R / (R + Ri) * 5 V unde, R este rezistenta masurata, iar Ri este rezistenta de valoare cunoscuta. Astfel valoarea rezistentei masurate este (U * Ri) / (5 - U), unde U este caderea de tensiune masurata.

Software Design

Mediul de dezvoltare folosit este AVR Studio 4. Programarea microcontroller-ului s-a realizat prin ISP deoarece driverul pentru bootloader nu este disponibil pentru Windows 7 pe 64 de biti. Pentru afisarea pe LCD s-a folosit un driver gasit pe Internet care dispune de urmatoarele primitive:

  • void Lcd_Clear(void); - stergere ecran
  • void Lcd_Init(void); - initializare display
  • void Gotoxy(char x,char y); - pozitionare in punctul de coordonate(x, y)
  • void print_char(char c); - afisare caracter
  • void print_string(char * message); - afisare sir de caractere

Rezultate Obţinute

Proiectul a fost implementat atat software, cat si hardware si este functional.

Imagini

Concluzii

  • LCD-urile de Nokia 3310 sunt foarte sensibile
  • Proiectul nu a fost unul dificil, cea mai mare parte a timpului consumat fiind ocupata cu interfatarea LCD-urilor de Nokia 3310, la care s-a renuntat

Download

Bibliografie/Resurse

pm/prj2011/dloghin/multimetru.txt · Last modified: 2021/04/14 17:07 (external edit)
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0