Dalam projek ini kita akan membuat ammeter jarak rendah menggunakan mikrokontroler ATMEGA8. Di ATMEGA8, kita akan menggunakan ciri ADC 10bit (Analog ke Digital Conversion) untuk melakukan ini. Walaupun kita mempunyai beberapa cara lain untuk mendapatkan parameter semasa dari rangkaian, kita akan menggunakan kaedah penurunan resistif, kerana ini adalah kaedah termudah dan termudah untuk mendapatkan parameter semasa.
Dalam kaedah ini kita akan melewati arus yang perlu diukur ke rintangan kecil, dengan ini kita mendapat penurunan di rintangan yang berkaitan dengan arus yang mengalir melaluinya. Voltan merintang ini disalurkan ke ATMEGA8 untuk penukaran ADC. Dengan itu kita akan mempunyai nilai digital semasa yang akan dipaparkan pada LCD 16x2.
Untuk itu kita akan menggunakan rangkaian pembahagi voltan. Kami akan menyalurkan arus melalui cabang rintangan lengkap. Titik tengah cabang dibawa ke pengukuran. Apabila arus berubah, akan ada perubahan penurunan pada rintangan yang sejajar dengannya. Jadi dengan ini kita mempunyai voltan yang berubah dengan linear.
Perkara penting yang perlu diberi perhatian di sini ialah, input yang diambil oleh pengawal untuk penukaran ADC serendah 50µAmp. Kesan pemuatan pembahagi voltan berdasarkan rintangan ini penting kerana arus yang diambil dari Vout pembahagi voltan meningkatkan peratusan ralat meningkat, buat masa ini kita tidak perlu bimbang tentang kesan pemuatan.
Komponen Diperlukan
Perkakasan: ATMEGA8, bekalan kuasa (5v), AVR-ISP PROGRAMMER, JHD_162ALCD (16 * 2LCD), kapasitor 100uF, kapasitor 100nF (4 keping), perintang 100Ω (7 keping) atau 2.5Ω (2 keping), perintang 100KΩ.
Perisian: Atmel studio 6.1, progisp atau flash magic.
Diagram Litar dan Penjelasan Kerja
Voltan merentasi R2 dan R4 tidak linear sepenuhnya; ia akan menjadi bising. Untuk menyaring kebisingan, kapasitor ditempatkan di setiap perintang di litar pembahagi seperti yang ditunjukkan dalam gambar.
Di ATMEGA8, kita dapat memberikan input Analog ke mana-mana EMPAT saluran PORTC, tidak kira saluran mana yang kita pilih kerana semuanya sama. Kami akan memilih saluran 0 atau PIN0 PORTC. Di ATMEGA8, ADC beresolusi 10 bit, jadi pengawal dapat mengesan perubahan minimum Vref / 2 ^ 10, jadi jika voltan rujukan adalah 5V, kita mendapat kenaikan output digital untuk setiap 5/2 ^ 10 = 5mV. Oleh itu, untuk setiap kenaikan 5mV input, kita akan mendapat kenaikan satu pada output digital.
Sekarang kita perlu menetapkan daftar ADC berdasarkan syarat berikut:
1. Pertama sekali kita perlu mengaktifkan ciri ADC di ADC.
2. Berikut akan mendapat voltan input maksimum untuk penukaran ADC ialah + 5V. Oleh itu, kita boleh menetapkan nilai maksimum atau rujukan ADC hingga 5V.
3. Pengawal mempunyai ciri penukaran pemicu yang bermaksud penukaran ADC hanya berlaku setelah pemicu luaran, kerana kita tidak mahu bahawa kita perlu menetapkan daftar agar ADC dapat dijalankan dalam mod berjalan bebas berterusan.
4. Untuk mana-mana ADC, kekerapan penukaran (Nilai analog ke nilai Digital) dan ketepatan output digital berkadar songsang. Oleh itu, untuk ketepatan output digital yang lebih baik, kita harus memilih frekuensi yang lebih rendah. Untuk jam ADC biasa, kita menetapkan prale penjualan ADC ke nilai maksimum (2) Oleh kerana kita menggunakan jam dalaman 1MHZ, jam ADC akan menjadi (1000000/2).
Ini adalah satu-satunya empat perkara yang perlu kita ketahui untuk memulakan ADC.
Keempat ciri di atas ditetapkan oleh dua daftar,
MERAH (ADEN): Bit ini harus ditetapkan untuk mengaktifkan ciri ADC ATMEGA.
BLUE (REFS1, REFS0): Kedua-dua bit ini digunakan untuk menetapkan voltan rujukan (atau voltan masukan maksimum yang akan kita berikan). Oleh kerana kita ingin mempunyai voltan rujukan 5V, REFS0 harus ditetapkan, mengikut jadual.
KUNING (ADFR): Bit ini mesti ditetapkan agar ADC dapat dijalankan secara berterusan (mod berjalan bebas).
PINK (MUX0-MUX3): Keempat bit ini adalah untuk memberitahu saluran input. Oleh kerana kita akan menggunakan ADC0 atau PIN0, kita tidak perlu menetapkan bit seperti pada jadual.
BROWN (ADPS0-ADPS2): ketiga-tiga bit ini adalah untuk menetapkan preskalar untuk ADC. Oleh kerana kita menggunakan prescalar 2, kita harus menetapkan satu bit.
DARK GREEN (ADSC): bit ini ditetapkan untuk ADC memulakan penukaran. Bit ini boleh dilumpuhkan dalam program apabila kita perlu menghentikan penukaran.