- Dunia Analog dengan Elektronik digital
- Apa itu ADC dan bagaimana menggunakannya?
- Resolusi (bit) dan saluran dalam ADC
- Voltan Rujukan untuk ADC
- Contohnya
- Jenis ADC dan berfungsi
- Beberapa soalan yang sering timbul mengenai ADC
Dunia Analog dengan Elektronik digital
Beberapa tahun yang lalu seluruh peranti elektronik yang kita gunakan sekarang seperti telefon, komputer, Televisyen dan lain-lain bersifat analog. Kemudian perlahan-lahan telefon darat digantikan oleh telefon bimbit moden, Televisyen CRT dan monitor digantikan dengan paparan LED, komputer dengan tiub vakum berkembang menjadi lebih kuat dengan mikropemproses dan mikrokontroler di dalamnya dan seterusnya..
Pada zaman digital sekarang ini kita semua dikelilingi oleh alat elektronik digital yang canggih, ini mungkin menipu kita untuk berfikir bahawa segala sesuatu di sekeliling kita bersifat digital, yang tidak benar. Dunia selalu bersifat analog, misalnya semua yang kita rasakan dan alami seperti kelajuan, suhu, halaju udara, cahaya matahari, suara dan lain-lain adalah sifat semula jadi. Tetapi peranti elektronik kami yang berjalan pada mikrokontroler dan mikropemproses tidak dapat membaca / mentafsirkan nilai analog ini secara langsung kerana hanya berjalan pada 0 dan 1. Oleh itu, kita memerlukan sesuatu yang akan mengubah semua nilai analog ini menjadi 0 dan 1 supaya mikrokontroler dan mikropemproses kita dapat memahaminya. Ringkasnya ini disebut Analog to Digital Converter atau ADC. Dalam artikel ini kita akan belajarsegala-galanya mengenai ADC dan cara menggunakannya.
Apa itu ADC dan bagaimana menggunakannya?
Seperti yang dinyatakan sebelumnya ADC bermaksud Analog ke penukaran digital dan ia digunakan untuk menukar nilai analog dari dunia nyata menjadi nilai digital seperti 1 dan 0. Oleh itu, apakah nilai analog ini? Inilah yang kita lihat dalam kehidupan kita sehari-hari seperti suhu, kelajuan, kecerahan dll. Tapi tunggu !! Bolehkah ADC menukar suhu dan kelajuan secara langsung menjadi nilai digital seperti 0 dan 1?
Tidak menantang tidak. ADC hanya boleh menukar nilai voltan analog menjadi nilai digital. Oleh itu, parameter mana yang ingin kita ukur, ia harus ditukar menjadi voltan terlebih dahulu, penukaran ini dapat dilakukan dengan bantuan sensor. Sebagai contoh untuk menukar nilai suhu menjadi voltan kita boleh menggunakan Thermistor sama untuk menukar kecerahan menjadi voltan kita boleh menggunakan LDR. Sebaik sahaja ia ditukar kepada voltan, kita dapat membacanya dengan bantuan ADC.
Untuk mengetahui bagaimana menggunakan ADC, kita harus terlebih dahulu membiasakan diri dengan beberapa istilah asas seperti, penyelesaian saluran, julat, voltan rujukan dll.
Resolusi (bit) dan saluran dalam ADC
Apabila anda membaca spesifikasi mana-mana Mikrokontroler atau ADC IC, perincian ADC akan diberikan menggunakan saluran syarat dan Resolusi (bit). Contohnya , Arduino UNO ATmega328 mempunyai ADC 10-bit 8-saluran. Tidak setiap pin pada mikrokontroler dapat membaca voltan Analog, istilah 8-saluran bermaksud bahawa terdapat 8 pin pada mikrokontroler ATmega328 ini yang dapat membaca voltan Analog dan setiap pin dapat membaca voltan dengan resolusi 10-bit. Ini akan berbeza untuk pelbagai jenis Pengawal Mikro.
Mari kita anggap bahawa julat ADC kami adalah dari 0V hingga 5V dan kami mempunyai ADC 10-bit ini bermaksud voltan input kami 0-5 Volt akan dipecah menjadi 1024 tahap nilai analog diskrit (2 10 = 1024). Bermakna 1024 adalah resolusi untuk ADC 10-bit, sama 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 voltan masukan sebenar adalah 0V maka ADC MCU akan membacanya sebagai 0 dan jika 5V, MCU akan membaca 1024 dan jika di suatu tempat antara 2.5V maka MCU akan membaca 512. Kita boleh menggunakan formula di bawah untuk mengira nilai digital yang akan dibaca oleh MCU berdasarkan Resolusi voltan ADC dan Operasi.
(Resolusi ADC / Voltan Operasi) = (Nilai Digital ADC / Nilai Voltan Sebenar)
Voltan Rujukan untuk ADC
Istilah penting lain yang harus anda ketahui ialah voltan rujukan. Semasa penukaran ADC nilai voltan tidak diketahui dijumpai dengan membandingkannya dengan voltan yang diketahui, voltan yang diketahui ini disebut sebagai voltan Rujukan. Biasanya semua MCU mempunyai pilihan untuk menetapkan voltan rujukan dalaman, yang bermaksud anda boleh menetapkan voltan ini secara dalaman ke beberapa nilai yang tersedia menggunakan perisian (program). Dalam papan Arduino UNO voltan rujukan ditetapkan ke 5V secara lalai secara dalaman, jika diperlukan pengguna dapat menetapkan voltan rujukan ini secara luaran melalui pin Vref juga setelah melakukan perubahan yang diperlukan dalam perisian.
Sentiasa ingat bahawa nilai voltan analog yang diukur harus selalu lebih kecil daripada nilai voltan rujukan dan nilai voltan rujukan harus selalu lebih rendah daripada nilai voltan operasi mikrokontroler.
Contohnya
Di sini kita mengambil contoh ADC yang mempunyai resolusi 3 bit dan voltan rujukan 2V. Oleh itu, ia dapat memetakan voltan analog 0-2v dengan 8 (2 3) tahap yang berbeza, seperti yang ditunjukkan dalam gambar di bawah:
Oleh itu, jika voltan analog ialah 0.25 maka nilai digital akan menjadi 1 dalam perpuluhan dan 001 dalam perduaan. Begitu juga jika voltan analog 0,5 maka nilai digital akan menjadi 2 dalam perpuluhan dan 010 dalam binari.
Beberapa mikrokontroler telah membina ADC seperti Arduino, MSP430, PIC16F877A tetapi sebilangan mikrokontroler tidak memilikinya seperti 8051, Raspberry Pi dll dan kita harus menggunakan beberapa IC penukar analog ke digital seperti ADC0804, ADC0808.
Di bawah ini anda dapat menemui pelbagai contoh ADC dengan pengawal mikro yang berbeza:
- Bagaimana Menggunakan ADC di Arduino Uno?
- Tutorial ADP Raspberry Pi
- Memadankan ADC0808 dengan Mikrokontroler 8051
- 0-25V Digital Voltmeter menggunakan AVR Microcontroller
- Cara menggunakan ADC di STM32F103C8
- Cara menggunakan ADC dalam MSP430G2
Jenis ADC dan berfungsi
Terdapat banyak jenis ADC, yang paling sering digunakan adalah Flash ADC, Dual Slope ADC, Successive προσέγγισης dan Dual Slope ADC. Untuk menerangkan bagaimana setiap karya ADC ini dan perbezaan di antara keduanya tidak dapat digunakan untuk artikel ini kerana mereka agak rumit. Tetapi untuk memberi idea kasar ADC mempunyai kapasitor dalaman yang akan dikenakan oleh voltan analog yang akan diukur. Kemudian kami mengukur nilai voltan dengan melepaskan kapasitor dalam jangka masa tertentu.
Beberapa soalan yang sering timbul mengenai ADC
Bagaimana mengukur lebih daripada 5V menggunakan ADC saya?
Seperti yang dibincangkan sebelumnya, modul ADC tidak dapat mengukur nilai voltan lebih tinggi daripada voltan operasi mikrokontroler. Mikrokontroler 5V hanya boleh mengukur maksimum 5V dengan pin ADCnya. Sekiranya anda ingin mengukur apa-apa lebih daripada yang dinyatakan, anda mahu mengukur 0-12V maka anda dapat memetakan 0-12V menjadi 0-5V dengan menggunakan pembahagi potensial atau rangkaian pembahagi voltan. Litar ini akan menggunakan sepasang perintang untuk memetakan nilai untuk MCU, anda boleh mengetahui lebih lanjut mengenai litar pembahagi voltan menggunakan pautan. Untuk contoh di atas kita harus menggunakan perintang 1K dan perintang 720 ohm secara bersiri ke sumber voltan dan mengukur voltan di antara perintang seperti yang dibincangkan dalam pautan di atas.
Bagaimana cara menukar Nilai Digital dari ADC menjadi Nilai Voltan sebenar?
Semasa menggunakan penukar ADC untuk mengukur voltan analog, hasil yang diperoleh oleh MCU akan dalam bentuk digital. Sebagai contoh dalam mikrokontroler 5-bit 10-bit apabila voltan sebenar yang hendak diukur ialah 4V, MCU akan membacanya sebagai 820, kita dapat sekali lagi menggunakan formula yang dibincangkan di atas untuk menukar 820 ke 4V sehingga kita dapat menggunakannya di pengiraan. Mari semak sama.
(Resolusi ADC / Voltan Operasi) = (Nilai Digital ADC / Nilai Voltan Sebenar) Nilai Voltan Sebenar = Nilai Digital ADC * (Voltan Operasi / Resolusi ADC) = 820 * (5/1023) = 4.007 = ~ 4V
Harap anda mendapat idea ADC yang adil dan cara menggunakannya untuk aplikasi anda. Sekiranya anda mempunyai masalah dalam memahami konsep, hantarkan komen anda di bawah atau tuliskan di forum kami.