PROJECT AKHIR SEMESTER 5 MIKROCONTROLLER
SIMULASI PROGRAM “AUTOMATIC FAN” MENGGUNAKAN SENSOR
SUHU LM35
Tujuan
Pada tugas akhir semester 5 mikrocontroller simulasi
program automatic fan menggunakan sensor suhu LM35 bertujuan untuk:
1.
Melengkapi tugas
project akhir semester 5 mata kuliah Mikrocontroller.
2.
Mahasiswa dapat memahami
aplikasi microcontroller arduino.
3.
Mahasiswa dapat
memahami pembacaan sensor suhu LM35 melalui LCD.
4.
Mahasiswa dapat
memahami pangaturan PWM melalui sensor suhu LM35.
Latar Belakang
Penghematan energi listrik merupakan hal yang sangat
diperlukan. Dampak dari kota metropolitan salah satunya adalah kebutuhan
listrik yang kian meningkat akibat banyaknya kaum urban untuk menuntut ilmu dan
mencari nafkah. Untuk itu perlu adanya solusi alternatif peralatan listrik yang
dapat menghemat energy.
Penggunaan peralatan listrik yang sering ditemui dalam
keadaan boros pemakaian adalah kipas angin. Kerap kali sekelompok manusia
melakukan aktivitas seperti belajar, rapat, dan mengadakan pertemuan di dalam
ruangan selalu menyalakan kipas angin guna memperoleh kenyamanan karena suhu
yang tinggi. Namun suhu di sekitar kita tidak selalu memiliki nilai yang
konstan. Terkadang suhu menjadi tinggi, terkadang suhu menjadi turun. Akibat
dari itu, tidak mungkin seorang manusia menyalakan dan mematikan kipas angin
yang sesuai dengan suhu saat itu.
Dari
masalah diatas pada tugas akhir ini, dirancang sebuah simulator yang dapat
menyalakan motor dc sebagai kipas angin secara otomatis sekaligus mengatur
level kecepatan putaran dari kipas angin tersebut. Alat ini dibuat menggunakan
sensor LM35 sebagai pendeteksi suhu dimana nilai suhu yang terbaca akan
ditampilkan pada display LCD, dan nilai tersebut adalah nilai yang terbaca dari
sensor tersebut. Berdasarkan hasil pengujian dan analisa data yang telah
dilakukan, didapatkan hasil dimana sistem bekerja secara baik dengan rata-rata
persentase error yang diperoleh adalah sebesar 1,74%.
Rumusan Masalah
Adapun rumusan
masalah pada tugas akhir semester 5 mikrocontroller
simulasi program automatic fan menggunakan sensor suhu LM35 adalah:
1.
Bagaimana membuat rangkaian pengendali motor dengan
sensor suhu LM35 dalam simulasi proteus?
2.
Bagaimana membuat program arduino yang menjalankan
rangkaian pengendali motor dengan sensor suhu LM35 dalam simulasi proteus?
Batasan Masalah
Adapun
batasan masalah pada tugas akhir semester 5 mikrocontroller
simulasi program automatic fan menggunakan sensor suhu LM35 adalah:
1.
Rangkaian di buat dalam bentuk simulasi di ISIS proteus.
2.
Bahasa pemrograman yang menjalankan rangkaian ini adalah
Arduino.
Dasar Teori
Penggunaan motor DC dewasa ini sudah sangatlah
umum, salah satu kelebihan motor DC adalah relatif gampang didapat dan mudah
diatur kecepatan putarnya. Secara umum pengaturan kecepatan motor DC adalah
dengan menggunakan cara analog. Dalam hal ini, kecepatan motor DC akan diatur
dengan pembacaan sensor suhu LM35.
A. Sensor
Suhu LM35
1. Pengertian
Sensor
suhu LM35 adalah komponen elektronika yang memiliki fungsi untuk mengubah
besaran suhu menjadi besaran listrik dalam bentuk tegangan. Sensor Suhu LM35
yang dipakai dalam penelitian ini berupa komponen elektronika elektronika yang
diproduksi oleh National Semiconductor. LM35 memiliki
keakuratan tinggi dan kemudahan perancangan jika dibandingkan dengan sensor
suhu yang lain, LM35 juga mempunyai keluaran impedansi yang rendah dan
linieritas yang tinggi sehingga dapat dengan mudah dihubungkan dengan rangkaian
kendali khusus serta tidak memerlukan penyetelan lanjutan.
Meskipun tegangan sensor ini dapat mencapai 30 volt akan
tetapi yang diberikan kesensor adalah sebesar 5 volt, sehingga dapat digunakan
dengan catu daya tunggal dengan ketentuan bahwa LM35 hanya membutuhkan arus
sebesar 60 µA hal ini berarti LM35 mempunyai kemampuan menghasilkan panas (self-heating)
dari sensor yang dapat menyebabkan kesalahan pembacaan yang rendah yaitu kurang
dari 0,5 ºC pada suhu 25 ºC .
2.
Struktur Sensor LM35
Gambar 1. Sensor Suhu LM35
Gambar diatas menunjukan bentuk
dari LM35 tampak depan dan tampak bawah. 3 pin LM35 menujukan fungsi
masing-masing pin diantaranya, pin 1 berfungsi sebagai sumber tegangan kerja
dari LM35, pin 2 atau tengah digunakan sebagai tegangan keluaran atau Vout
dengan jangkauan kerja dari 0 Volt sampai dengan 1,5 Volt dengan tegangan
operasi sensor LM35 yang dapat digunakan antar 4 Volt sampai 30 Volt. Keluaran
sensor ini akan naik sebesar 10 mV setiap derajad celcius sehingga
diperoleh persamaan sebagai berikut :
VLM35 = Suhu*
10 mV
Gambar 2. Skematik Rangkaian Dasar Sensor
Gambar diatas kanan adalah gambar skematik rangkaian
dasar sensor suhu LM35-DZ. Rangkaian ini sangat sedeCrhana dan praktis. Vout
adalah tegangan keluaran sensor yang terskala linear terhadap suhu terukur,
yakni 10 milivolt per 1 derajad celcius. Jadi jika Vout
= 530mV, maka suhu terukur adalah 53 derajad Celcius.Dan
jika Vout = 320mV, maka suhu terukur adalah 32 derajad
Celcius. Tegangan keluaran ini bisa langsung diumpankan sebagai
masukan ke rangkaian pengkondisi sinyal seperti rangkaian penguat operasional
dan rangkaian filter, atau rangkaian lain seperti rangkaian pembanding tegangan
dan rangkaian Analog-to-Digital Converter.
Rangkaian
dasar tersebut cukup untuk sekedar bereksperimen atau untuk
aplikasi yang tidak memerlukan akurasi pengukuran yang sempurna. Akan tetapi
tidak untuk aplikasi yang sesungguhnya. Terbukti dari eksperimen yang telah
saya lakukan, tegangan keluaran sensor belumlah stabil. Pada
kondisi suhu yang relatif sama, jika tegangan suplai saya ubah-ubah (saya
naikkan atau turunkan), maka Vout juga ikut berubah. Memang secara
logika hal ini sepertinya benar, tapi untuk instrumentasi hal ini tidaklah
diperkenankan. Dibandingkan dengan tingkat kepresisian, maka tingkat akurasi
alat ukur lebih utama karena alat ukur seyogyanya dapat dijadikan patokan bagi
penggunanya. Jika nilainya berubah-ubah untuk kondisi yang relatif tidak ada
perubahan, maka alat ukur yang demikian ini tidak dapat digunakan.
3. Karakteristik
Sensor LM35.
Adapun
karakterisrik dari sensor LM35:
1.
Memiliki sensitivitas suhu, dengan faktor skala linier
antara tegangan dan suhu 10 mVolt/ºC, sehingga dapat dikalibrasi langsung dalam
celcius.
2.
Memiliki ketepatan atau akurasi kalibrasi yaitu 0,5ºC
pada suhu 25 ºC seperti terlihat pada gambar 2.2.
3.
Memiliki jangkauan maksimal operasi suhu antara -55 ºC
sampai +150 ºC.
4.
Bekerja pada tegangan 4 sampai 30 volt.
5.
Memiliki arus rendah yaitu kurang dari 60 µA.
6.
Memiliki pemanasan sendiri yang rendah (low-heating)
yaitu kurang dari 0,1 ºC pada udara diam.
7.
Memiliki impedansi keluaran yang rendah yaitu 0,1 W
untuk beban 1 mA.
8.
Memiliki ketidaklinieran hanya sekitar ± ¼ ºC.
Gambar 3. Grafik akurasi LM35 terhadap suhu
Sensor LM35 bekerja dengan mengubah besaran suhu menjadi
besaran tegangan. Tegangan ideal yang keluar dari LM35 mempunyai perbandingan
100°C setara dengan 1 volt. Sensor ini mempunyai pemanasan diri (self heating)
kurang dari 0,1°C, dapat dioperasikan dengan menggunakan power supply tunggal
dan dapat dihubungkan antar muka (interface) rangkaian control yang sangat
mudah.
IC LM 35 sebagai sensor suhu yang teliti dan
terkemas dalam bentuk Integrated Circuit (IC), dimana output tegangan keluaran
sangat linear terhadap perubahan suhu. Sensor ini berfungsi sebagai pegubah
dari besaran fisis suhu ke besaran tegangan yang memiliki koefisien sebesar 10
mV /°C yang berarti bahwa kenaikan suhu 1° C maka akan terjadi kenaikan
tegangan sebesar 10 mV.
Gambar 4. Rangkaian Sensor LM35
IC
LM 35 ini tidak memerlukan pengkalibrasian atau penyetelan dari luar karena ketelitiannya
sampai lebih kurang seperempat derajat celcius pada temperature ruang. Jangka
sensor mulai dari – 55°C sampai dengan 150°C, IC LM35 penggunaannya sangat
mudah, difungsikan sebagai kontrol dari indicator tampilan catu daya terbelah.
IC LM 35 dapat dialiri arus 60 μ A dari supplay sehingga panas yang ditimbulkan
sendiri sangat rendah kurang dari 0 ° C di dalam suhu ruangan.
Untuk
mendeteksi suhu digunakan sebuah sensor suhu LM35 yang dapat dikalibrasikan
langsung dalam C (celcius), LM35 ini difungsikan sebagai basic temperature
sensor.
Adapun
keistimewaan dari IC LM 35 adalah :
·
Kalibrasi dalam satuan derajat celcius.
·
Lineritas +10 mV/ º C.
·
Akurasi 0,5 º C pada suhu ruang.
·
Range +2 º C – 150 º C.
·
Dioperasikan pada catu daya 4 V – 30 V.
·
Arus yang mengalir kurang dari 60 μA
3.
Prinsip Kerja Sensor LM35
Secara prinsip sensor akan
melakukan penginderaan pada saat perubahan suhu setiap suhu 1 ºC akan menunjukan tegangan sebesar
10 mV. Pada penempatannya LM35 dapat ditempelkan dengan perekat atau dapat pula
disemen pada permukaan akan tetapi suhunya akan sedikit berkurang sekitar 0,01
ºC karena terserap pada suhu permukaan tersebut.
Dengan cara seperti ini diharapkan selisih antara suhu udara dan suhu permukaan
dapat dideteksi oleh sensor LM35 sama dengan suhu disekitarnya, jika suhu udara
disekitarnya jauh lebih tinggi atau jauh lebih rendah dari suhu permukaan, maka
LM35 berada pada suhu permukaan dan suhu udara disekitarnya .
Jarak yang jauh diperlukan
penghubung yang tidak terpengaruh oleh interferensi dari luar, dengan demikian
digunakan kabel selubung yang ditanahkan sehingga dapat bertindak sebagai suatu
antenna penerima dan simpangan didalamnya, juga dapat bertindak sebagai perata
arus yang mengkoreksi pada kasus yang sedemikian, dengan mengunakan metode bypass
kapasitor dari Vin untuk ditanahkan.
Maka dapat disimpulkan prinsip
kerja sensor LM35 sebagai berikut:
•
Suhu lingkungan di deteksi menggunakan bagian IC
yang peka terhadap suhu
•
Suhu lingkungan ini diubah menjadi tegangan
listrik oleh rangkaian di dalam IC, dimana perubahan suhu berbanding lurus
dengan perubahan tegangan output.
•
Pada seri LM35
Vout=10
mV/oC
Tiap perubahan 1oC akan menghasilkan perubahan
tegangan output sebesar 10mV
4.
Kelebihan dan Kelemahan Sensors LM35
•
Kelebihan:
a. Rentang
suhu yang jauh, antara -55 sampai +150 oC
b. Low
self-heating, sebesar 0.08 oC
c. Beroperasi
pada tegangan 4 sampai 30 V
d. Rangkaian
tidak rumit
e. Tidak
memerlukan pengkondisian sinyal
•
Kekurangan:
a.
Membutuhkan sumber tegangan untuk beroperasi
5.
Pembacaan
sensor suhu dalam program arduino:
Tegangan yang masuk dikonversi terlebih
dahulu menjadi data digital. Arduino yang digunakan adalah Arduino UNO. Pin
analog Arduino dapat menerima nilai hingga 10 bit sehingga dapat mengkonversi
data analog menjadi 1024 keadaan (210= 1024). Artinya nilai 0
merepresentasikan tegangan 0 volt dan nilai 1023 merepresentasikan tegangan 5
volt. Data yang sebelumnya analog dikonversi menjadi data digital. Proses
konversi dari nilai analog menjadi digital ini disebut proses ADC (Analog to
Digital Conversion). Bagaimana jika tegangan 5 volt dikonversi menjadi data
digital 10 bit?
Artinya setiap 1 angka desimal mewakili
tegangan sebesar 0,004887585 volt. Kemudian untuk besar tegangan yang diwakili
angka 512 dapat dihitung dengan cara
C. Driver Motor DC
Pada dasarnya beberapa
aplikasi yang menggunakan motor DC harus dapat mengatur kecepatan dan arah
putar dari motor DC itu sendiri. Untuk dapat melakukan pengaturan kecepatan
motor DC dapat menggunakan metode PWM (Pulse Width Modulation) sedangkan untuk
mengatur arah putarannya dapat menggunakan rangkaian H-bridge yang tersusun
dari 4 buah transistor. Tetapi dipasaran telah disediakan IC L293D sebagai
driver motor DC yang dapat mengatur arah putar dan disediakan pin untuk input
yang berasal dari PWM untuk mengatur kecepatan motor DC.
Jika diinginkan sebuah
motor DC yang dapat diatur kecepatannya tanpa dapat mengatur arah putarnya,
maka kita dapat menggunakan sebuah transistor sebagai driver. Untuk mengatur
kecepatan putar motor DC digunakan PWM yang dibangkitkan melalui fitur Timer
pada mikrokontroler. Sebagian besar power supply untuk motor DC adalah sebesar
12 V, sedangkan output PWM dari mikrokontroler maksimal sebesar 5 V. Oleh
karena itu digunakan transistor sebagai penguat tegangan. Dibawah ini adalah
gambar driver motor DC menggunakan transistor.
Gambar 5.
Driver Motor DC menggunakan Transistor
|
Sedangkan
jika diinginkan sebuah motor DC yang dapat diatur kecepatan atau arah putarnya
maka digunakanlah rangkaian H-brigde yang tersusun dari 4 buah transistor.
|
Gambar 6.
Rangkaian H-Bridge
|
Dari
gambar diatas jika diinginkan motor DC
berputar searah jarum jam maka harus mengaktifkan transistor1 dan transistor4
dengan cara memberikan logika high pada kaki Basis transistor tersebut.
Sedangkan untuk berputar berlawanan arah jarum jam maka harus mengaktifkan
transistor2 dan transistor 3 dengan cara memberikan logika high pada kaki Basis
transistor tersebut. Untuk lebih jelasnya perhatikan gambar dibawah ini.
|
Gambar 7.
Rangkaian penentuan arah putar
|
Dari
gambar diatas terlihat jelas bahwa dengan mengaktifkan transistor1 dan
transistor4 akan menyebabkan motor DC berputar searah jarum jam. Dimana arus listrik akan mengalir dari power
supply (12 V) melalui transistor1, lalu ke motor DC, lalu ke transistor4 dan
akan berakhir di ground. Begitu juga sebaliknya untuk putaran berlawanan arah
jarum jam.
Sedangkan
untuk pengaturan kecepatannya anda dapat menghubungkan output PWM ke kaki basis
transistor1 untuk putaran searah jarum jam. Dan untuk putaran berlawanan arah
jarum jam, output PWM dapat dihubungkan kekaki basis transistor2.
Software yang diperlukan
Adapun software yang dibutuhkan untuk membuat
simulasi program automatic fan menggunakan sensor suhu LM35
adalah:
1.
ISIS Proteus
7 Profesional beserta library arduino
2.
Arduino
beserta library LCD
Langkah Percobaan
1.
Install
Software ISIS
Proteus Pro dan masukkan library arduino.
2.
Install
Software Arduino
dan masukkan library LCD.
3.
Buka
ISIS Proteus dengan cara Startàall programàproteus 7 profesionalàIsis 7
profesional
|
Gambar 8. Membuka ISIS Proteus
|
4.
Setelah
itu rangkai lah seperti gambar dibawah ini
Gambar 9.
Rangkaian di proteus
|
5.
Kemudian
buka software arduino untuk menuliskan program nya.
|
Gambar 10.
Tampilan Arduino
|
6.
Tulis
program yang ada di bawah ini
#include
"LiquidCrystal.h";
LiquidCrystal
lcd(2, 3, 4, 5, 6, 7);
float
tempC;
int
tempPin =A0, hasil;
char
a[16];
int
pwm=10;
int
Tr1=1;
int
Tr2=8;
int
Tr3=0;
int
Tr4=9;
void
setup() {
pinMode(13,OUTPUT);
pinMode(Tr1,OUTPUT);
pinMode(Tr2,OUTPUT);
pinMode(Tr3,OUTPUT);
pinMode(Tr4,OUTPUT);
pinMode(pwm,OUTPUT);
Serial.begin(9600);
lcd.begin(16, 2);
lcd.print("Temperatur:");
}
void
loop() {
lcd.setCursor(0, 1);
tempC = analogRead(tempPin);
tempC = (5.0 * tempC * 100.0)/1024.0;
hasil=(int)tempC;
sprintf(a,"Suhu=%d",hasil);
lcd.print(a);
// Serial.println(tempC);
if(hasil>24 && hasil<31){
analogWrite(pwm,128);
analogWrite(Tr1,128);
digitalWrite(Tr2,LOW);
digitalWrite(Tr3,LOW);
analogWrite(Tr4,252);
digitalWrite(13,LOW);
}
else if(hasil>30){
digitalWrite(Tr1,HIGH);
digitalWrite(Tr2,LOW);
digitalWrite(Tr3,LOW);
digitalWrite(Tr4,HIGH);
digitalWrite(13,LOW);
}
else
{
digitalWrite(13,HIGH);
delay(500);
digitalWrite(13,LOW);
delay(500);
digitalWrite(Tr1,LOW);
digitalWrite(Tr2,LOW);
digitalWrite(Tr3,LOW);
digitalWrite(Tr4,LOW);
}
}
7.
Compile
program dan coppy alamat file yang formatnya hex
8.
Buka
lagi proteus yang sudah ada rangkaian sebelumnya dan paste alamat file yang
formatnya hex hasil compile program ke dalam component arduino yang ada di
proteus.
9.
Run
rangkaian yang ada di proteus, amati kecepatan motor ketika suhu dinaikkan
maupun diturunkan.
Hasil Percobaan
Adapun hasil percobaan ketika rangkaian di
jalankan:
Tabel 1. Hasil Percobaan
No.
|
Suhu (C)
|
Kecepatan
Motor
|
Kondisi LED
|
1
|
20
|
Tidak Berputar
|
Berkedip
|
2
|
22
|
Tidak Berputar
|
Berkedip
|
3
|
24
|
Tidak Berputar
|
Berkedip
|
4
|
26
|
Berputar lambat
|
Padam
|
5
|
28
|
Berputar lambat
|
Padam
|
6
|
30
|
Berputar lambat
|
Padam
|
7
|
32
|
Berputar cepat
|
Padam
|
8
|
34
|
Berputar cepat
|
Padam
|
9
|
36
|
Berputar cepat
|
Padam
|
10
|
40
|
Berputar cepat
|
Padam
|
Nb. Sesuai dengan program arduino
Mohon ijin untuk mencopy materi projectnya...
BalasHapusgk bisa gan!! kipasnya gk muter sama lednya gk nyala!! kasih hidayah dong mama ??
BalasHapusdibajak!! sry gan..
Hapusijin copy seluruh materi ya gan. thanks before sangat membantu.
BalasHapusijin copy gan,
BalasHapustapi program di arduino x ngg' bisa di save dengan format hex. gmn thu gan?
komponennya apa aja gan ?
BalasHapusijin copy materinya ya gan. terima kasih
BalasHapusTerima kasih sudah berkunjung di blog saya.
BalasHapusbuat @Ruzi Diatul Amri mungkin ini sedikit membantu
http://duwiarsana.com/cara-mendapatkan-file-hex-dari-arduino/
coba diteliti rangkaian nya
BalasHapusudah teliti gan, tetap nggak bsa
BalasHapusMaaf gan numpang nanya..
BalasHapusAda nggak contoh tugas akhir yang bagis dan simpel..
Saya sangat membutuhkan judul gan..
Maaf gan numpang nanya..
BalasHapusAda nggak contoh tugas akhir yang bagis dan simpel..
Saya sangat membutuhkan judul gan..
Bantu dong buat judul skripsi yg inovatif tapi ga ribet buat anak TI..dengan java netbeans
BalasHapusTerima Kasih buat ilmunya,,
BalasHapusijin copy ya gan...
gan ini pake atmega nya seri apa ya ??
BalasHapusGan ada 2 error nih "Internal Exception: access violation in module 'ROTOR.DLL' [000011C7]." sama "Real Time Simulation failed to start." Cara mengatasinya gimana?
BalasHapusKipasnya ngak muter gan... :'(
HapusGimana kRPM dijadiin RPM gan?
HapusDia Muter tapi pelan banget...
Hapusprogram nya kok eror ya gan> bisa kirim e-mail tidak program nya makasih >? email : masridho128@gmail.com
BalasHapuskomponen yang di sebelah kananya lcd itu namanya apa gan?
BalasHapusgan ada kontak yang bisa dihubungin nggak?
BalasHapusGan mau nanya kalau ane ganti itu motor dc langsung pake fan ngaruh apa engga? apa harus make motor DC? atau bisa diganti make servo soalnya ini materi berhubungan sama PI ane hampir mirip soalnya , minta responnya ya thx
BalasHapusMain nanya kenapa format Hex gak ada ya pdhl udh done compling
BalasHapus