U ovom ćemo projektu izraditi ampermetar niskog dometa pomoću mikrokontrolera ATMEGA8. U ATMEGA8 ćemo za to koristiti značajku 10-bitnog ADC-a (analogna u digitalnu konverziju). Iako imamo nekoliko drugih načina za dobivanje trenutnog parametra iz kruga, koristit ćemo metodu otpornog ispuštanja, jer je to najlakši i najjednostavniji način za dobivanje trenutnog parametra.
U ovoj ćemo metodi struju koju je trebalo izmjeriti prenijeti na mali otpor, čime ćemo dobiti pad preko tog otpora koji je povezan sa strujom koja kroz nju teče. Ovaj napon na otporu dovodi se na ATMEGA8 za ADC pretvorbu. Uz to ćemo imati struju u digitalnoj vrijednosti koja će biti prikazana na LCD-u 16x2.
Za to ćemo koristiti krug djelitelja napona. Hranit ćemo struju kroz kompletnu granu otpora. Srednja točka grane uzima se za mjerenje. Kada se trenutne promjene promijene, doći će do promjene pada otpora koji je linearni prema njemu. Dakle, s ovim imamo napon koji se mijenja linearno.
Ovdje je važno napomenuti da je ulazni signal regulatora za ADC konverziju nizak od 50µAmp. Ovaj učinak opterećenja djelitelja napona zasnovan na otporu važan je jer struja povučena iz Vout napona-djelitelja povećava postotak pogreške i povećava se za sada ne moramo brinuti o učinku opterećenja.
Komponente potrebne
Hardver: ATMEGA8, napajanje (5v), AVR-ISP PROGRAMER, JHD_162ALCD (16 * 2LCD), kondenzator 100uF, kondenzator 100nF (4 komada), otpor 100Ω (7 komada) ili 2,5Ω (2 komada), otpornik 100KΩ.
Softver: Atmel studio 6.1, progisp ili flash magic.
Kružni dijagram i radno objašnjenje

Napon na R2 i R4 nije potpuno linearan; bit će bučna. Da bi filtrirali buku, kondenzatori se postavljaju preko svakog otpora u djeliteljskom krugu, kao što je prikazano na slici.
U ATMEGA8 možemo dati analogni ulaz na bilo koji od ČETIRI kanala PORTC-a, nije važno koji ćemo kanal odabrati jer su svi isti. Izabrat ćemo kanal 0 ili PIN0 PORTC-a. U ATMEGA8, ADC je 10-bitne razlučivosti, tako da regulator može otkriti minimalnu promjenu Vref / 2 ^ 10, pa ako je referentni napon 5V, dobit ćemo digitalni priraštaj izlaza za svakih 5/2 ^ 10 = 5mV. Dakle, za svakih 5mV prirasta na ulazu imat ćemo priraštaj od jednog na digitalnom izlazu.
Sada moramo postaviti registar ADC-a na temelju sljedećih pojmova:
1. Prije svega moramo omogućiti značajku ADC u ADC-u.
2. Ovdje ćemo dobiti maksimalni ulazni napon za ADC pretvorbu od + 5V. Tako možemo postaviti maksimalnu vrijednost ili referencu ADC-a na 5V.
3. Kontroler ima značajku pretvorbe okidača što znači da se pretvorba ADC-a odvija samo nakon vanjskog okidača, jer ne želimo da moramo postaviti registre da ADC radi u kontinuiranom slobodnom načinu rada.
4. Za bilo koji ADC, učestalost pretvorbe (analogna vrijednost u digitalnu vrijednost) i točnost digitalnog izlaza su obrnuto proporcionalne. Stoga za bolju točnost digitalnog izlaza moramo odabrati manju frekvenciju. Za normalni ADC sat postavljamo pretprodaju ADC-a na maksimalnu vrijednost (2). Budući da koristimo interni takt od 1 MHz, ADC će biti (1000000/2).
To su jedine četiri stvari koje moramo znati da bismo započeli s ADC-om.
Sve gore navedene četiri značajke postavljaju dva registra,


CRVENA (ADEN): Ovaj bit mora biti postavljen za omogućavanje ADC značajke ATMEGA-e.
PLAVO (REFS1, REFS0): Ova dva bita koriste se za postavljanje referentnog napona (ili maksimalnog ulaznog napona koji ćemo dati). Budući da želimo imati referentni napon 5V, treba postaviti tablicu REFS0.

ŽUTI (ADFR): Ovaj bit mora biti postavljen da bi se ADC neprekidno izvodio (način slobodnog rada).
PINK (MUX0-MUX3): Ova četiri bita služe za prepoznavanje ulaznog kanala. Budući da ćemo koristiti ADC0 ili PIN0, ne trebamo postavljati nikakve bitove kao u tablici.

SMEĐE (ADPS0-ADPS2): ova tri bita služe za podešavanje predskalara za ADC. Budući da koristimo pretkalar 2, moramo postaviti jedan bit.

TAMNO ZELENO (ADSC): ovaj bit postavljen za ADC da započne pretvorbu. Taj se bit može onemogućiti u programu kada moramo zaustaviti pretvorbu.
