- Dunia Analog dengan Elektronik digital
- Apa itu ADC dan bagaimana cara menggunakannya?
- Resolusi (bit) dan saluran di ADC
- Tegangan Referensi untuk ADC
- Contoh
- Jenis ADC dan cara kerjanya
- Beberapa pertanyaan yang sering muncul tentang ADC
Dunia Analog dengan Elektronik digital
Beberapa tahun yang lalu seluruh perangkat elektronik yang kita gunakan saat ini seperti telepon, komputer, Televisi dll adalah analog. Kemudian perlahan-lahan telepon rumah digantikan oleh telepon seluler modern, Televisi dan monitor CRT diganti dengan layar LED, komputer dengan tabung vakum berevolusi menjadi lebih bertenaga dengan mikroprosesor dan mikrokontroler di dalamnya dan sebagainya..
Di era digital sekarang ini kita semua dikelilingi oleh perangkat elektronik digital yang canggih, ini mungkin menipu kita untuk berpikir bahwa segala sesuatu di sekitar kita bersifat digital, yang tidak benar. Dunia selalu bersifat analog, misalnya segala sesuatu yang kita rasakan dan alami seperti kecepatan, suhu, kecepatan udara, sinar matahari, suara, dll adalah analog. Tetapi perangkat elektronik kami yang berjalan pada mikrokontroler dan mikroprosesor tidak dapat membaca / menafsirkan nilai analog ini secara langsung karena hanya berjalan pada 0 dan 1. Jadi kita membutuhkan sesuatu yang akan mengubah semua nilai analog ini menjadi 0 dan 1 sehingga mikrokontroler dan mikroprosesor kita dapat memahaminya. Sesuatu ini disebut Analog to Digital Converters atau ADC singkatnya. Pada artikel ini kita akan belajarsegala sesuatu tentang ADC dan cara menggunakannya.
Apa itu ADC dan bagaimana cara menggunakannya?
Seperti yang dikatakan sebelumnya ADC adalah singkatan dari Analog to digital conversion dan digunakan untuk mengubah nilai analog dari dunia nyata menjadi nilai digital seperti 1 dan 0. Jadi apakah nilai analog ini? Inilah yang kita lihat dalam kehidupan kita sehari-hari seperti suhu, kecepatan, kecerahan, dll. Tapi tunggu !! Dapatkah ADC mengubah suhu dan kecepatan secara langsung menjadi nilai digital seperti 0 dan 1?
Tidak, tentu tidak. ADC hanya dapat mengubah nilai tegangan analog menjadi nilai digital. Jadi parameter mana saja yang ingin kita ukur, harus diubah menjadi tegangan terlebih dahulu, konversi ini dapat dilakukan dengan bantuan sensor. Misalnya untuk mengubah nilai suhu menjadi tegangan kita dapat menggunakan Thermistor seperti halnya untuk mengubah kecerahan menjadi tegangan kita dapat menggunakan LDR. Setelah diubah menjadi tegangan, kita dapat membacanya dengan bantuan ADC.
Untuk mengetahui cara menggunakan ADC, pertama-tama kita harus memahami beberapa istilah dasar seperti, resolusi saluran, jangkauan, tegangan referensi, dll.
Resolusi (bit) dan saluran di ADC
Ketika Anda membaca spesifikasi Mikrokontroler atau IC ADC, rincian ADC akan diberikan menggunakan istilah saluran dan Resolusi (bit). Misalnya ATmega328 Arduino UNO memiliki ADC 8-saluran 10-bit. Tidak setiap pin pada mikrokontroler dapat membaca tegangan Analog, istilah 8 channel artinya terdapat 8 pin pada mikrokontroler ATmega328 ini yang dapat membaca tegangan Analog dan setiap pin dapat membaca tegangan dengan resolusi 10-bit. Ini akan bervariasi untuk berbagai jenis Mikrokontroler.
Mari kita asumsikan bahwa rentang ADC kita adalah dari 0V hingga 5V dan kita memiliki ADC 10-bit, ini berarti tegangan input kita 0-5 Volt akan dibagi menjadi 1024 level nilai analog diskrit (2 10 = 1024). Artinya 1024 adalah resolusi untuk ADC 10-bit, demikian pula untuk resolusi ADC 8-bit akan menjadi 512 (2 8) dan untuk resolusi ADC 16-bit akan menjadi 65.536 (2 16).
Dengan ini jika tegangan input sebenarnya adalah 0V maka ADC MCU akan membacanya sebagai 0 dan jika 5V MCU akan membaca 1024 dan jika di suatu tempat di antara seperti 2.5V maka MCU akan membaca 512. Kita dapat menggunakan rumus di bawah ini untuk menghitung nilai digital yang akan dibaca oleh MCU berdasarkan Resolusi ADC dan tegangan Operasi.
(Resolusi ADC / Tegangan Operasi) = (Nilai Digital ADC / Nilai Tegangan Aktual)
Tegangan Referensi untuk ADC
Istilah penting lainnya yang harus Anda ketahui adalah tegangan referensi. Selama konversi ADC nilai tegangan yang tidak diketahui ditemukan dengan membandingkannya dengan tegangan yang diketahui, tegangan yang dikenal ini disebut tegangan Referensi. Biasanya semua MCU memiliki opsi untuk mengatur tegangan referensi internal, artinya Anda dapat mengatur tegangan ini secara internal ke beberapa nilai yang tersedia menggunakan perangkat lunak (program). Dalam papan Arduino UNO tegangan referensi diatur ke 5V secara default secara internal, jika diperlukan pengguna dapat mengatur tegangan referensi ini secara eksternal melalui pin Vref juga setelah membuat perubahan yang diperlukan dalam perangkat lunak.
Ingatlah selalu bahwa nilai tegangan analog yang diukur harus selalu lebih kecil dari nilai tegangan referensi dan nilai tegangan referensi harus selalu lebih kecil dari nilai tegangan operasi mikrokontroler.
Contoh
Di sini kita mengambil contoh ADC yang memiliki resolusi 3 bit dan tegangan referensi 2V. Sehingga dapat memetakan tegangan analog 0-2v dengan 8 (2 3) level yang berbeda, seperti terlihat pada gambar dibawah ini:
Jadi jika tegangan analog 0,25 maka nilai digital akan menjadi 1 dalam desimal dan 001 dalam biner. Begitu juga jika tegangan analog 0,5 maka nilai digital akan menjadi 2 dalam desimal dan 010 dalam biner.
Beberapa mikrokontroler memiliki ADC bawaan seperti Arduino, MSP430, PIC16F877A tetapi beberapa mikrokontroler tidak memiliki seperti 8051, Raspberry Pi dll dan kita harus menggunakan beberapa IC converter Analog ke digital eksternal seperti ADC0804, ADC0808.
Di bawah ini Anda dapat menemukan berbagai contoh ADC dengan mikrokontroler berbeda:
- Bagaimana cara menggunakan ADC di Arduino Uno?
- Tutorial ADC Raspberry Pi
- Menghubungkan ADC0808 dengan Mikrokontroler 8051
- Voltmeter Digital 0-25V menggunakan Mikrokontroler AVR
- Cara menggunakan ADC di STM32F103C8
- Cara menggunakan ADC di MSP430G2
Jenis ADC dan cara kerjanya
Ada banyak jenis ADC, yang paling umum digunakan adalah Flash ADC, Dual Slope ADC, Successive aproksimasi dan Dual Slope ADC. Untuk menjelaskan bagaimana masing-masing ADC ini bekerja dan perbedaannya akan berada di luar cakupan artikel ini karena mereka cukup kompleks. Tetapi untuk memberikan gambaran kasar ADC memiliki kapasitor internal yang akan diisi oleh tegangan analog yang akan diukur. Kemudian kami mengukur nilai tegangan dengan melepaskan kapasitor selama periode waktu tertentu.
Beberapa pertanyaan yang sering muncul tentang ADC
Bagaimana mengukur lebih dari 5V menggunakan ADC saya?
Seperti yang telah dibahas sebelumnya, modul ADC tidak dapat mengukur nilai tegangan lebih dari tegangan operasi mikrokontroler. Artinya mikrokontroler 5V hanya bisa mengukur maksimal 5V dengan pin ADC nya. Jika Anda ingin mengukur lebih dari itu, Anda ingin mengukur 0-12V maka Anda dapat memetakan 0-12V menjadi 0-5V dengan menggunakan pembagi potensial atau rangkaian pembagi tegangan. Rangkaian ini akan menggunakan sepasang resistor untuk memetakan nilai MCU, anda dapat mengetahui lebih banyak tentang rangkaian pembagi tegangan menggunakan link. Untuk contoh kami di atas, kami harus menggunakan resistor 1K dan resistor 720 ohm secara seri ke sumber tegangan dan mengukur tegangan di antara resistor seperti yang dibahas pada tautan di atas.
Bagaimana cara mengubah Nilai Digital dari ADC menjadi Nilai Tegangan sebenarnya?
Saat menggunakan konverter ADC untuk mengukur tegangan analog, hasil yang diperoleh MCU akan dalam bentuk digital. Misalnya dalam mikrokontroler 10-bit 5V ketika tegangan sebenarnya yang akan diukur adalah 4V MCU akan membacanya sebagai 820, kita dapat menggunakan lagi rumus yang dibahas di atas untuk mengubah 820 menjadi 4V sehingga kita dapat menggunakannya di perhitungan. Mari kita periksa kembali.
(Resolusi ADC / Tegangan Operasi) = (Nilai Digital ADC / Nilai Tegangan Aktual) Nilai Tegangan Aktual = Nilai Digital ADC * (Tegangan Operasi / Resolusi ADC) = 820 * (5/1023) = 4,007 = ~ 4V
Semoga Anda mendapatkan gambaran yang baik tentang ADC dan cara menggunakannya untuk aplikasi Anda. Jika Anda memiliki masalah dalam memahami konsep, jangan ragu untuk mengirim komentar Anda di bawah atau menuliskannya di forum kami.