Termometer Digital Dengan Sensor LM35


Aplikasi thermometer digital dilakukan dengan melakukan konversi suhu menjadi data digital sehingga dapat diolah mikrokontroler. Proses konversi pertama kali dilakukan dengan mengubah suhu menjadi tegangan analog dan dilanjutkan dengan konversi tegangan analog menjadi data digital.

Konversi suhu menjadi tegangan analog dilakukan dengan menggunakan sensor suhu tipe LM35 di mana sensor ini dapat beroperasi dengan menggunakan tegangan sumber di antara 4 – 30 volt DC. LM35 adalan sensor temperatur yang paling banyak digunakan untuk praktek karena selain harganya murah, linearitasnya cukup bagus. LM35 tidak membutuhkan kalibrasi eksternal yang menyediakan tingkat akurasi sekitar ¼ oC pada temperatur ruangan dan sekitar ¾ oC pada kisaran -55 sampai +150 oC. Keluaran sensor ini akan naik sebesar 10 mV setiap derajat Celcius sehingga diperoleh persamaan berikut:

VLM35 = Temperatur * 10 mV

Rangkaian penguat

Rangkaian Non Inverting Amplifier pada gambar 2 dengan VR3 sebesar 50K dan R9 = 10K dapat digunakan untuk mengatur agar keluaran dari LM35 lebih besar 5 kali sehingga keluaran amplifier ini dapat menghasilkan kenaikan tegangan sebesar 50 mV untuk setiap Derajat Celcius.

LM358 pada rangkaian amplifier ini menggunakan sumber tegangan sebesar 12 volt sehingga dioda zener D1 (5V1) dan resistor R15 (300 Ohm) digunakan pada keluaran amplifier ini untuk menjaga agar batas maksimum tegangan hanya mencapai 5 Volt saja dan menjaga mikrokontroler ATmega16 dari tegangan input yang berlebih. 

Rangkaian LCD

Keluaran dari penguat merupakan tegangan analog yang harus di konversi ke bentuk digital. Dalam pengkonversian tegangan analog menjadi data digital digunakan ADC internal mikrokontroler Atmega16. Mikrokontroler Atmega16 memiliki 8 chanel ADC internal yaitu ADC0-ADC7 yang bisa mengkonversi kedalam 8bit data digital maupun 10bit data digital. Walaupun terdapat 8 chanel input ADC, dalam proses konversi hanya bisa dilakukan pada 1 chanel input dalam satu waktu karena pengkonversi data analog ke digital didalam mikrokontroler itu sendiri hanya terdapat satu yang dihubungkan dengan 8 chanel input ADC melalui multiplexer sehingga untuk memanfaatkan 8 chanel input ADC dalam prosesnya tidak bisa dilakukan dalam waktu bersamaan tetapi proses konversi dilakukan secara bergantian dari chanel 0-chanel 7

Diagram ADC internal ATmega16

Dalam contoh ini output dari penguat diinputkan pada ADC ch. 0. Proses pengkonversi dan pembacaan data hasil konversi ADC dalam listing program sebagai berikut:

#define ADC_VREF_TYPE 0x20
// Read the 8 most significant bits
// of the AD conversion result
unsigned char adc(unsigned char adc_input)
{
ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
// Start the AD conversion
ADCSRA|=0x40;
// Wait for the AD conversion to complete
while ((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
return ADCH;
}
dt=adc(0); // hasil konversi dipindah dalam variable dt

variabel dt adalah variabel tempat menyimpan data digital hasil konversi dari ADC. Dalam hal ini variabel dt merupakan nilai suhu yang terukur (dengan asumsi tanpa rangkaian penguat dan pada saat suhu 30 oC Vout LM35 =300mV). Jika kita menggunakan penguat maka nilai variabel dt perlu di olah lebih lanjut sesuai berapa besar penguatan yang kita setting (mengatur perbandingan nilai VR3 dengan R9) dan temperatur yang terukur dapat dirumuskan:

Temperatur= dt / tingkat_pengutan

dalam hal ini, besar penguatan dari alat yang saya buat sebesar 2x sehingga nilai temperatur yang sebenarnya adalah

Temperatur= dt / 2

dalam listing program dinyatakan dengan program berikut:

temp=((float)dt*0.5); 

contoh program bisa dilihat di link ini.

  1. makasi masss.ats penjelasannya.
    tapi aku ada masalah mass.saya punya arduino sudah disambun gkan ke LM 35 maw ditampilkan ke seventsegmen tapi yang kurang programnya mass.tolong mass programnya mass..maksi sebelimnya mass

    • untuk menampilkan ke seven segmen bisa mengacu ke tulisan berikut….
      IR Up Counter 0-99 Menggunakan ATmega16
      disitu sudah dilampirkan juga contoh source program untuk menampilkan ke seven segment…

  2. gan itu R3 apa ya?? misal kalau tanpa di kasih “R3” gt gmna?? gk masalah kan??

    • Rangkaian tersebut adalah rangkaian penguat non inverting dengan tingkat penguatan bergantung pada kombinasi nilai dari R3 dan R9. Untuk detail masalah penguatan dan nilai penguatannya bisa merujuk di laman berikut http://www.electroniclab.com/. So jika anda menghilangkan resistor tersebut (dengan kata lain R3 diganti dengan wire short) maka nilai penguatannya hanya 1X (tidak ada penguatan tetapi hanya terjadi penyesuaian impedansi).

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: