Pengujian Rangkaian Sistem Minimum Mikrokontroler

4.6 Pengujian ADC

Pengujian ADC ini bertujuan untuk mengetahui tegangan keluaran sensor yang dikonversi oleh ADC mikrokontroler sudah sesuai atau belum. Pengujian dilakukan dengan membuat program untuk mengkonversi nilai tegangan analog menjadi data digital, kemudian menampilkan hasil konversi ke LCD character dan men- download program tersebut pada mikrokontroler AVR ATMega8535. Nilai tegangan analog berasal dari potensiometer 250 K Ω yang diukur menggunakan multimeter digital dan dihubungkan ke ADC channel 0 PORTA.0. LCD character dihubungkan ke PORTB. Rangkaian pengujian ADC ditunjukkan pada Gambar 4.21. Gambar 4.21 Rangkaian Pengujian ADC Program yang dituliskan pada software dengan bahasa C adalah sebagai berikut: unsigned int sensor; char lcd_buffer[33] ; float vin; Alphanumeric LCD Module functions asm .equ __lcd_port= 0x18 ;PORTB endasm include lcd.h define ADC_VREF_TYPE 0x00 Read the AD conversion result unsigned int read_adcunsigned char adc_input { ADMUX= adc_input | ADC_VREF_TYPE 0xff; Delay needed for the stabilization of the ADC input voltage delay_us10; Start the AD conversion ADCSRA|= 0x40; Wait for the AD conversion to complete while ADCSRA 0x10= = 0; ADCSRA|= 0x10; return ADCW; } Declare your global variables here void mainvoid { ADC initialization ADC Clock frequency: 750,000 kHz ADC Voltage Reference: AREF pin ADMUX= ADC_VREF_TYPE 0xff; ADCSRA= 0x84; LCD module initialization lcd_init16; while 1 { Place your code here sensor= read_adc0; sprintflcd_buffer,ADC : 4i,sensor;lcd_gotoxy0,0;lcd_putslcd_buffer; delay_ms500; }; } Kemudian hasil konversi nilai ADC dibandingkan dengan perhitungan manual. Perhitungan nilai ADC secara manual menggunakan persamaan 2.7 dengan tegangan referensi sebesar +4,93 volt. Nilai error yang terjadi dihitung dengan persamaan 4.7. Hasil pengujian ADC ditunjukkan pada tabel 4.13. Tabel 4.13 Hasil pengujian ADC No. Tegangan masukan ADC V Hasil konversi ADC Error hasil konversi ADC Pengujian Perhitungan 1 0,50 103 104 0,96 2 1,00 207 208 0,48 3 2,00 415 415 4 3,00 624 623 0,16 5 4,00 830 831 0,12 Berdasarkan hasil pengujian, data nilai error yang terdapat pada Tabel 4.11 cukup kecil dan jika dirata-rata menggunakan persamaan 2.20, error yang didapatkan sebesar 0,344, sehingga dapat disimpulkan bahwa tegangan keluaran sensor yang dikonversi oleh ADC mikrokontroler sudah sesuai.

4.7 Pengujian

Software Pengujian software ini bertujuan untuk memastikan program untuk mengaktifkan pengukuran larutan kunyit yang telah dibuat dapat bekerja sesuai dengan yang telah direncanakan pada bab III. Selain itu, karena adanya tambahan tombol pengulangan, flowchart program juga mengalami penambahan. Setelah persentase kadar kurkumin tertampil di LCD character terdapat pengujian penekanan tombol pengulangan. Proses pengukuran kadar kurkumin akan kembali ke awal proses pengukuran lagi jika tombol pengulangan ditekan. Sebaliknya, jika tombol pengulangan tidak ditekan, maka proses pengukuran kadar kurkumin akan menuju ke bagian akhir program.

4.7.1 Pengujian Program untuk Mengaktifkan Pengukuran Larutan Kunyit

Program untuk mengaktifkan pengukuran larutan kunyit berisi program untuk memberitahu user memasukkan larutan kunyit dan melakukan penekanan tombol push-on yang disediakan untuk user pada perancangan ini. Tampilan setiap proses awal pengukuran akan ditampilkan di LCD character. Gambar tampilan proses mengaktifkan larutan kunyit ditunjukkan pada Gambar 4.22. Program di bawah adalah program untuk mengaktifkan pengukuran larutan kunyit: define PD0 PIND.0 setiap kemunculan PD0 akan diganti dengan PIND.0 Alphanumeric LCD Module functions asm .equ __lcd_port= 0x18 ;PORTB endasm include lcd.h Declare your global variables here aksivoid proses awal pengukuran kedua { { lcd_gotoxy 1,0; lcd_putsfMasukkan kuvet; lcd_gotoxy 1,1; lcd_putsflarutan kunyit; delay_ms1500; lcd_clear; lcd_gotoxy 2,0; lcd_putsfSetelah itu;