Anda di halaman 1dari 6

ADC 10bit ATMEGA8535 dan LM35 dengan akuisi data Temp.

Penggunaan Analog to-Digital Converter, atau yg lebih dikenal dengan sebutan ADC, banyak sekali aplikasi yang membutuhkan ADC, biasanya untuk pembacaan sensor. kebutuhan Akan ADC bervariasi tergantung sensor yg digunakan, jika ingin lebih akurat bisa menggunakan ADC 10bit atau lebih, dan bisa juga menggunakan ADC 8 bit, ini yg sering sekali digunakan, dan sudah tersedia pada microkontroller berseri ATMega, pada ATMega sudah menyediakan ADC 8 bit dan 10 bit dengan 8 channel input. ADC 8 bit atau 2^8 = 256 artinya data digital yg dihasilkan dari conversi ADC 8 bit adalah 0-255 dan untuk ADC 10bit atau 2^10 =1024 artinya data digital yg dihasilkan dari conversi adalah 0-1023. Untuk yg menggunakan CodeVisionAVR atau disingkat CVAVR bisa langsung menggunakan fasilitas CodeWizard seperti gambar dibawah ini.

Jika ingin menggunakan ADC 8 bit maka tinggal meng-klik saja pada use 8 bit. Volt Ref merupakan sumber pemilihan tegangan referensi ADC, tegangan refrensi yg digunakan untuk pemilihan penggunaan tegangan ref ADC, antara AVCC dan VREF, sedangkan Clock adalah banyaknya frekuensi sampling ADC. Dan Auto Trigger Source merupakan mode ADC yang akan digunakan. Seperti kita tahu bahwa LM35, sensor suhu yg memiliki output yang linear sebesar 10mV/oCelcius. Jadi tiap kenaikkan 10mV, maka suhu bertambah 1 oC. Dengan tingkat akurasi 0.5 oC. Memiliki range pengukuran antara -55 s/d 150 oC. Dengan menggunakan rangkaian dasar, atau yang disebut Basic Centigrade Temperature Sensor, maka si LM35 memiliki range pengukuran 0mV 10mV/oC. Jika dibuatkan

kesetaraaan antara voltage dengan suhu, maka akan terlihat sbb : 0V = 0 oC 10mv = 1 oC 100mV = 10 oC 1000mV = 100 oC 1500mV = 150 oC Jika menggunakan rangkaian Full-Range Centigrade Temperature Sensor, lain lagi range pengukurannya. Dengan melihat karakteristik tersebut, maka dengan teknik ADC (Analog to Digital Convertion) kita bisa melakukan konversi dari tegangan ke suhu. Karena yang didiskusikan kali ini menggunakan mikrokontroler ATMEGA8535. Maka secara internal dia sudah memiliki ADC yang berjumlah 8 channel 10 bit. Range voltage dari 0 s/d volt_max sama dengan nilai 0 s/d 1024 (n10). Secara internal, si uC menggunakan rumus sebagai berikut untuk mengeluarkan output ADC : Hasil Konversi ADC = (Vin * 1024) / Vref Dimana Vin adalah output LM35.

Jika Vref diberi tegangan 5 V (5000 mV). Dan LM35 tidak mengeluarkan tegangan, maka 0 * 1024 / 5000 = 0 Jika LM35 mengeluarkan tegangan sebesar 1 mV, maka uC akan mengeluarkan angka digital: 1 * 1024 / 5000 = 0.2048 => 0 Jika LM35 mengeluarkan tegangan sebesar 10 mV, maka uC akan mengeluarkan angka digital : 10 * 1024 / 5000 = 2.048 => 2 Jika LM35 mengeluarkan tegangan sebesar 1 V (1000 mV), maka uC akan mengeluarkan angka digital 1000 * 1024 / 5000 = 204.8 => 205 Sekarang cara membacanya dibalik. Setiap kita mendapatkan output digital dari uC, berapa hasil konversinya dalam bentuk tegangan?. Dari pertanyaan tersebut dihasilkan kesimpulan, bahwa setiap satu digit LSB yang dikeluarkan ADC uC akan bernilai sebesar :

1 LSB = Vref / (2n 1) Jika Vref adalah 5000 mV, maka : 1 LSB-nya kurang lebih = 4.9 mV (pembulatan) Sehingga rumus konversinya adalah : SUHU = Ouput_ADC * Kenaikan_satu_LSB / Volt_per_Celcius dimana : Output_ADC = adalah hasil pembacaan ADC uC Kenaikan_satu_LSB = 4.9 (jika Vref = 5V) Volt_per_celcius = 10 (karakteristik LM35, 10mV/oC) program bisa di download: source code dengan CVAVR Like Be the first to like this.
This entry was posted on June 7, 2011, 10:10 am and is filed under Knowledge. You can follow any responses to this entry through RSS 2.0. You can leave a response, or trackback from your own site.

Comments ( 13 )

1. #1 by psicozone on June 17, 2011 - 7:00 pm bingung kakak, filenya docx, gk ada yang doc saja kk ya??

2. #2 by yogi permady on June 20, 2011 - 5:24 am kenapa harus bingung2, tinggal pake Office 2007 keatas bisa buka deh docx nya. atau mau saya kirim file doc nya aja, mana alamat emailnya?

3. #3 by Iwan Ryoma on June 26, 2011 - 7:36 am

mas boleh saya tau referensi perhitungan SUHU = Ouput_ADC * Kenaikan_satu_LSB / Volt_per_Celcius dr sumber mana? saya butuh referensi untuk tugas akhir saya. makasih

#4 by momogie on June 28, 2011 - 4:30 am referensi perhitungan didapat dari datasheet LM35. Features n CalibrateddirectlyinCelsius(Centigrade) n Linear+10.0mV/Cscalefactor n 0.5Caccuracyguaranteeable(at+25C) n Ratedforfull55to+150Crange n Suitableforremoteapplications n Lowcostduetowafer-leveltrimming n Operatesfrom4to30volts n Lessthan60Acurrentdrain n Lowself-heating,0.08Cinstillair n Nonlinearityonly 14Ctypical n Lowimpedanceoutput,0.1 for1mAload penjelasan diatas sudah ada mas,

#5 by Iwan Ryoma on August 31, 2011 - 3:02 pm ohh gitu dari datasheet aja ya mas, saya kira ada referensi dari buku-buku mikrokontroler atau dari jurnal2 penelitian ok mas trima kasih

4. #6 by Solihin on November 9, 2011 - 3:57 pm

Salam kenal Kaka bisa minta listing programnya gak . Plus kalau mau aktifin heater ma kipas pada port gimana tambahan programnya. Thanks. K email sy solihinsupriyadi@yahoo.co.id

#7 by momogie on March 19, 2012 - 11:19 am listing programnya bisa di download di bawahnya dibawah postingan ada tulisan seperti ini program bisa di download: source code dengan CVAVR klik aja tulisan source code dengan CVAVR ya klo pake kipas tinggal di ganti aja di outputnya.

5. #8 by saiful on December 21, 2011 - 7:38 am mas mau nanyaklo project diatas dkasih output an sebuah motor DC atau fan butuh penambahan ap lagi y makasih

#9 by momogie on March 19, 2012 - 11:26 am yg pasti butuh tambahan rangkaian relay untuk mengaktifkan kipas atau Fan. dalam program juga bisa ditambahkan output mosal : IF (Temp==40) // seting angka temperatur yg diinginkan, jika temp //menunjukan angka 40 maka kipas akan aktif {

kipas=1; // memanggil define kipas, jika aktif bernilai 1(high) }

6. #10 by Toni Wardiyanto on January 3, 2012 - 11:46 am Kalau Menggunakan Bascom AVR bagaimana contoh list programnya mas ? Help me please,,,

#11 by momogie on March 19, 2012 - 11:27 am klo pake bascom AVR bisa aja tapi programnya agak berbeda, karna yg saya gunakan bahasa C, sedangkan bahasa pemrograman yg ditanyakan adalah bahasa BASIC

7. #12 by lutvi on May 23, 2012 - 3:39 am mas, makasih banget infonya.. sangat membantu..

#13 by momogie on May 23, 2012 - 8:35 am sama2 mas

Leave a Reply

Anda mungkin juga menyukai