simulasi-pemanas-ruang-menggunakan-sensor-ping-dan-lm35
Upcoming SlideShare
Loading in...5
×
 

simulasi-pemanas-ruang-menggunakan-sensor-ping-dan-lm35

on

  • 3,104 views

 

Statistics

Views

Total Views
3,104
Views on SlideShare
3,104
Embed Views
0

Actions

Likes
1
Downloads
225
Comments
0

0 Embeds 0

No embeds

Accessibility

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

simulasi-pemanas-ruang-menggunakan-sensor-ping-dan-lm35 simulasi-pemanas-ruang-menggunakan-sensor-ping-dan-lm35 Document Transcript

  • Perancangan Heater sebagai PemanasRuangan Menggunakan Sensor Jarak Ping Parallax dan Sensor Suhu LM 35 Laporan Tugas Mata Kuliah Komponen Sistem Kontrol oleh Oka D. Saputra L2F008146 JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS DIPONEGORO SEMARANG, 2011 i
  • KATA PENGANTARAlhamdulillah, Segala puji hanya bagi Allah Subhànahu wa Ta’ala, atas segalalimpahan rahmat dan karunia-Nya, sehingga penyusun dapat menyelesaikan laporan“Perancangan Heater sebagai Pemanas Ruangan Menggunakan Sensor JarakPing Parallax dan Sensor Suhu LM 35 ”. Dalam pembuatan dan penyusunan laporan Tugas Akhir, penyusun jugabanyak mendapatkan bantuan dan dukungan dari berbagai pihak. Atas kelancaranselama pelaksanaan Tugas Akhir dan penyusunan laporan ini, maka penyusunmengucapkan banyak terima kasih kepada :1. Bapak Ir. Sudjadi, M.T. selaku Ketua Jurusan Teknik Elektro Fakultas Teknik Universitas Diponegoro2. Bapak Sumardi S.T., M.T. selaku dosen mata kuliah Komponen Sistem Kontrol yang mengarahkan penulis dalam pembuatan Tugas Akhir ini3. Keluargaku tercinta atas segala bentuk dorongan semangat dan dukungannya.4. Saudara Fairus yang membimbing penulis sehingga tugas akhir ini dapat terselesaikan.5. teman-teman yang mengikuti kuliah Komponen Sistem Kontrol.6. Serta semua pihak yang tidak dapat penyusun sebutkan satu-persatu. Penyusun menyadari bahwa masih terdapat beberapa kekurangan dalamlaporan Tugas Akhir ini. Kritik dan saran yang bersifat membangun sangat penyusunharapkan dari semua pihak, sebagai pengalaman dan tambahan pengetahuan bagipenyusun. Akhir kata semoga karya ini tidak menjadi yang pertama sekaligus yangterakhir dan semoga laporan ini dapat bermanfaat bagi mahasiswa Teknik ElektroUniversitas Diponegoro pada khususnya dan masyarakat pada umumnya. Semarang, Desember 2011 Penyusun ii
  • Abstrak Banyak Aplikasi yang dapat kita terapkan ketika kita membahas tentangsistem kontrol. Salah satunya pemanfaatan kemajuan teknologi sensor seperti sensorjarak ping produksi Parallax, sensor suhu LM 35 dari National Semiconductor danjuga actuator Heater (dalam hal ini solder) untuk pengendalian suhu ruangan yangterlalu dingin. Tujuan dari paper ini adalah merancang dan membuat alat yangdapat mengontrol suhu ruangan dan mendeteksi ada tidaknya pengguna didalamruangan tersebut. Dalam perancangan alat, ada beberapa elemen yang menjadiparameter sebagai inputan agar heater aktif, dalam simulasi ini digunakan sebagaijarak terdekat antara pengguna ruangan dengan heater adalah 20 cm sedangkanuntuk jarak terjauh adalah 120 cm sedangkan untuk suhu terpanas yang menjadikanheater off adalah 33ºC.Keywords — Sensor Ping, Sensor LM35, Heater iii
  • DAFTAR ISIHALAMAN JUDUL ……………………………………………………… iKATA PENGANTAR …………………… ………………………………. iiABSTRAK …………………………………………………….................... iiiDAFTAR ISI ……………………………………………………………… ivDAFTAR GAMBAR………………………………………………………. vDAFTAR TABEL …………………………………………………………. vBAB I PENDAHULUAN ………………………………………………. 1 1.1 Latar Belakang …………………………………..………..... 1 1.2 Tujuan Tugas Akhir ……………………………………….. 1 1.3 Pembatasan Masalah …….………………………………..... 1 1.4 Sistematika Penulisan ……………………………………..... 2BAB II DASAR TEORI ……….…………………………..…………….. 3 2.1 Sensor Ping……………………..…………………………… 3 2.2 Sensor LM 35………………………………………………. 4 2.3 Mikrokontroller ATMEGA 128 .……………………………. 5 2.4 LCD ………………………………………………………. 5 2.5 LED…….. .…………………………….…………………… 6 2.6 MOC 3021………………………………………………….. 7 2.7 Triac………………………………………………………… 7 2.8 Solder………………………………………………………. 7BAB III PERANCANGAN ALAT ……………………………..……….. 8 3.1 Perancangan Perangkat Keras …………………….……..… 8 3.2 Perancangan Perangkat Lunak ……………………………… 9BAB IV PENJELASAN SOURCE CODE DAN PENGUJIAN ALAT ….... 11 4.1 Penjelasan Source Code….. ………………………………… 11 4.2 Pengujian Alat ………………………….…………………… 12BAB V PENUTUP …………………………………………………………. 14DAFTAR PUSTAKA iv
  • DAFTAR GAMBARGambar 2.1 Sensor PING Ultrasonik Range Finder ...................................... 3Gambar 2.2 Sensor PING Ultrasonik Range Finder timing diagram............. 3Gambar 2.3 Ilustrasi Sensor Ping .................................................................. 4Gambar 2.4 Sensor LM35 dan Konfigurasi PIN ........................................... 4Gambar 2.5 Konfigurasi Pin Atmega 128...................................................... 5Gambar 2.6 Konfigurasi pin LCD. ................................................................ 6Gambar 2.7 Simbol LED. .............................................................................. 6Gambar 2.8 Konfigurasi MOC 3021………………………………………..7Gambar 2.9 Rangkaian Ekuivalen Triac. ...................................................... .7Gambar 2.10 Solder ………………………………………………………...7Gambar 3.1 Blok diagram hardware .............................................................. 8Gambar 3.2 FSM sistem ................................................................................ 9Gambar 4.1 saat state Off ............................................................................ 12Gambar 4.2 saat state Heater On suhu 29ºC dan jarak 20 cm .................... 12Gambar 4.3 state Heater standBy suhu 35ºC dan jarak 20,70 cm ............... 12 DAFTAR TABELTabel 4.1 Perbandingan Pengukuran Sensor Ping dan Penggaris................ 13 v
  • BAB I PENDAHULUAN1.1 Latar Belakang Pada Akhir-akhir ini teknik kontrol telah menjadi bagian yang sangat pentingdalam kehidupan manusia. Dengan semakin tingginya tingkat kebutuhan maka untukmemenuhi kebutuhan tersebut dibutuhkan suatu perancangan sistem yang mampuberjalan secara otomatis. Pada peper ini dilakukan perancangan control suhu ruanganyang terlalu dingin menggunakan sensor jarak dan sensor suhu. Tujuan dari paper iniadalah merancang dan membuat alat yang dapat mengontrol suhu ruangan danmendeteksi ada tidaknya pengguna didalam ruangan tersebut. Smart Heater adalah suatu alat yang dapat digunakan sebagai pemanasruangan dan juga mendekteksi adanya pengguna dari pemanas ruangan tersebut.Kontrol On Off adalah suatu metode yang mudah dan tepat untuk pengontrolan alatini dengan hanya menggunakan dua logika yaitu logika HIGH (1) dan logikaLOW(0).1.2 Tujuan 1. Merancang Smart Heater yang dapat bekerja sesuai dengan algoritma yang telah dirancang. 2. Mengetahui Prinsip Kerja sistem control khususnya control On-Off, 3. Memenuhi tugas Komponen Sistem Kontrol yang diajarkan di Jurusan Elektro Fakultas Teknik Universitas Diponegoro1.3 Pembatasan Masalah Dalam pembuatan tugas akhir ini penulis membatasi permasalahan sebagaiberikut :1. Sistem Kontrol yang digunakan merupakan kontrol On-Off2. Sensor yang digunakan adalah sensor ultrasonik yang diproduksi oleh Parallax ( Sensor PING Ultrasonik Range Finder). 1
  • 23. Range pendeteksian antara 3 cm – 300 cm.4. Tugas akhir ini tidak membahas mengenai arsitektur mikrokontroller5. Mikrokontroler yang digunakan adalah ATMega128.1.4 Sistematika Penulisan Sistematika penulisan dalam laporan tugas akhir ini adalah sebagai berikut: BAB I PENDAHULUAN Berisi tentang latar belakang masalah, tujuan penulisan, batasan masalah dan sistematika penulisan. BAB II DASAR TEORI Berisi tentang teori-teori yang mendukung dalam perancangan tugas akhir ini, yaitu tentang mikrokontroler atmega128, sensor ping, sensor LM35, LCD, MOC3021, Triac BT139. BAB III PERANCANGAN Berisi tentang perancangan perangkat lunak (software) dan perangkat keras (hardware) dari sistem yang digunakan pada Smart Heater dan indikator led. BAB IV PENGUJIAN DAN ANALISA Berisi tentang pengujian dan analisa terhadap perangkat lunak dan perangkat keras yang telah dibuat serta pengujian sistem secara keseluruhan. BAB V PENUTUP Berisi kesimpulan dan saran.
  • 3 BAB II DASAR TEORI2.1 Sensor Ping Sensor yang digunakan pada pembuatan tugas Komponen ini merupakan [1]sebuah sensor ultrasonik buatan Parallax ( Sensor PING Ultrasonik Range Finder).Rangkaian lengkap sensor ditunjukkan pada Gambar 2.1 Gambar 2.1 Sensor PING Ultrasonik Range Finder.Sensor PING ini secara khusus didesain untuk dapat mengukur jarak sebuah bendapadat (solid).Range jarak yang mampu diukur oleh sensor PING adalah 3 cm sampaidengan 300 cm. Sensor PING mendeteksi jarak objek dengan cara memancarkangelombang ultrasonik (>20kHz) selama waktu pemancaran kemudian mendeteksipantulannya. Gambar 2.2 Sensor PING Ultrasonik Range Finder timing diagram. 3
  • 4Sensor PING memancarkan gelombang ultrasonik sesuai dengan pulsa trigger darimikrokontroler sebagai pengendali.Gambar 2 menunjukkan timing diagram dariSensor PING. Lebar pulsa high (tIN) akan sesuai dengan lama waktu tempuhgelombang ultrasonik untuk 2x jarak ukur dengan objek seperti yang ditunjukkanpada Gambar 3, maka jarak yang diukur dapat dirumuskan sebagai berikut :  t IN sx344m / s    meterJarak=  2  Gambar 2.3 Ilustrasi cara kerja sensor PING2.2 Sensor LM 35 Salah satu sensor suhu adalah sensor LM35 [2]. Berikut gambar sensor LM35. Gambar 2.4 Sensor LM35 dan Konfigurasi PIN Sensor suhu LM35 adalah komponen elektronika yang memiliki fungsi untukmengubah besaran suhu menjadi besaran listrik dalam bentuk tegangan. Sensor SuhuLM35 yang dipakai dalam paper ini berupa komponen elektronika elektronika yangdiproduksi oleh National Semiconductor. Secara prinsip sensor akan melakukanpenginderaan pada saat perubahan suhu setiap suhu 1 ºC akan menunjukan perubahantegangan sebesar 10 mV.
  • 52.3 Mikrokontroller ATMEGA 128Berikut ini konfigurasi Pin pada Atmega 128. Gambar 2.5 Konfigurasi Pin Atmega 128Mikrokontroler ATMEGA128 termasuk dalam mikrokontroler keluarga AVR.Dengan fitur-fitur eksternal clock sampai 16 MHz, 53 Pin/Port yang bias digunakansebagai I/O dan beberapa fungsi khusus seperti pada port F dilengkapi dengan ACD,timer 8 dan 16 bit dan lain sebagainya.2.4 LCD Modul LCD (Liquid Crystal Display) adalah salah satu alat yang digunakansebagai tampilan. Pada dasarnya sistem pengaturan LCD memiliki standar yang samawalaupun sangat banyak macamnya baik ditinjau dariperusahaan pembuat maupundari ukurannya. LCD yang digunakan merupakan modul dot-matrix tampilan kristal cair(LCD) dengan tampilan 16 x 2 baris dengan konsumsi daya rendah. Modul LCD initelah dilengkapi dengan mikrokontroler yang didesain khusus untuk mengendalikan
  • 6LCD, berfungsi sebagai pengatur (system controller) dan penghasil karakter(character generator). Konfigurasi pin dari LCD ditunjukkan pada Gambar 2.6 Gambar 2.6 Konfigurasi pin LCD Modul LCD memiliki karakteristik sebagai berikut: • Terdapat 16 x 2 karakter huruf yang bisa ditampilkan. • Setiap huruf terdiri dari 5x7 dot-matrix cursor. • Terdapat 192 macam karakter. • Terdapat 80 x 8 bit display RAM (maksimal 80 karakter). • Memiliki kemampuan penulisan dengan 8 bit maupun dengan 4 bit. • Dibangun dengan osilator lokal. • Satu sumber tegangan 5 volt. • Otomatis reset saat tegangan dihidupkan. • Bekerja pada suhu 0 0C sampai 55 0C.2.5 LED LED (Light Emitting Diode) atau dioda pancaran cahaya adalah suatu bahanpadat sejenis dioda yang mengkonversi arus listrik menjadi cahaya. Dalampenggunannya digunakan sebagai penanda berupa nyala lampu pijar. Strukturnyajuga sama dengan dioda, elektron yang menerjang sambungan P-N juga melepaskanenergi berupa energi panas dan energi cahaya. Untuk mendapatkan emisi cahaya padasemikonduktor, doping yang dipakai adalah gallium, arsenic, dan phosporus. Jenisdoping yang berbeda menghasilkan warna cahaya yang berbeda pula. Gambar 2.7 Simbol LED
  • 72.6 MOC 3021 Fungsi dari MOC ini adalah sebagai isolator agar bagian DC yang ada padakontrol mikrokontroller tidak langsung terhubung dengan bagian AC yang ada padatriac. Berikut gambar konfigurasi MOC 3021 Gambar 2.8 Konfigurasi MOC 30212.7 TRIAC Untuk pengontrolan pada tegangan AC, umumnya digunakan bidirectionaltriode thyristor atau dikenal dengan triac. Triac dapat bersifat konduktif dalam duaarah. Dalam hal ini dapat dianggap sebagai dua buah tryristor tersambung secaraantiparallel dengan koneksi gerbang seperti gambar berikut[3]. Gambar 2.9 Rangkaian Ekuivalen Triac2.8 Solder Pada perancangan ini untuk mengambarkan sebuah element pemanasmenggunakan solder. Dalam perancangan sistem panas dari solder inilah yang akandi kontrol. Gambar 2.10 Solder
  • 8 BAB III PERANCANGAN3.1 Perancangan Perangkat Keras Perangkat keras dari sistem yang akan dibangun meliputi sistem minimummikrokontroler ATMEGA 128, Push Button, LCD, Power Supply AC dan DC,Indikator LED, Sensor LM 35, Sensor jarak Ping, Triac BT 139, MOC 3021 danHeater. Berikut blok digram dari koneksi komponen tersebut Gambar 3.1 Blok diagram hardware Tiap-tiap bagian dari diagram blok sistem dapat dijelaskan sebagai berikut: 1. Atmega 128 berfungsi sebagai otak dari alat. 2. Sensor Ping berfungsi sebagai masukan data untuk mengetahui adanya pengguna atau tidak. 3. Sensor LM35 berfungsi untuk mengukur nilai suhu dari heater. 4. Regulator a. 220 volt AC berfungsi sebagai tegangan masukkan heater b. 5 volt DC volt berfungsi sebagai supply mikro dan sensor-sensor 5. LCD berfunsi sebagai tampilan untuk state sistem 8
  • 9 6. Push Button berfungsi sebagai inputan untuk menyala dan mematikan sistem 7. MOC 3021 berfungsi sebagai isolator untuk mengamankan antara arus AC dan DC. 8. LED berfungsi sebagai indicator nyala heater. 9. Triac berfungsi sebagai pengontrol nyala dan matinya heater.3.2 Perancangan Perangkat Lunak Bahasa pemrograman yang digunakan dalam pembuatan perangkat lunakmenggunakan bahasa C untuk proses pengontrolan melalui AVR ATmega 128dengan bantuan software CVAVR. Dalam perancangan Software menggunakanmetode Finite State Machine, metode ini dipilih karena lebih mudah dalamimplementasi ke source code. Berikut FSM sistem yang dirancang. Gambar 3.2 FSM sistem Berikut cara kerja dari sistem Heater pemanas ruangan 1. Heater dinyalakan menggunakan tombol. 2. Apabila penggunakan yang menyalakan sistem terdeksi berada didalam ruangan (asumsi jarak terdekat 20cm dan jarak terjauh 120 cm dari heater) maka sistem pemanas dan lampu LED indicator akan menyala.
  • 103. Apabila pengguna berada pada jarak kurang dari 20 cm maka heater akan mati dan sistem akan menyala secara otomatis apabila pengguna terdeteksi berada pada jarak lebih dari 20 cm.4. Apabila pengguna berada pada jarak lebih dari 120 cm dan selama 3 detik tidak kembali kedalam jarak tersebut maka sistem akan mati secara otomatis5. Apabila suhu ruangan lebih dari 33ºC maka sistem akan mati secara otomatis.6. Sistem juga dapat dimatikan secara otomatis menggunakan tombol yang disediakan.
  • 11 BAB IV PENJELASAN SOURCE CODE DAN PENGUJIAN ALAT4.1 Penjelasan Source Code Berikut beberapa source code yang digunakan dalam perancangan sistemyaitu: Blok Fungsi Akses Ping DirSig=1; //Set sebagai output SigOut=1; //Pengiriman sinyal dimulai delay_us(5); SigOut=0; //Pengiriman sinyal selesai DirSig=0; //Set as input SigOut=1; //Pullup activated TCNT1=0; // mereset timer while (SigIn==0) {} TCCR1B=0x02; //mengeset timer dgan frekuensi 2 MHZ while (SigIn==1) {} TCCR1B=0x00; // mematikan timer distance=(TCNT1*0.0086106); // t=n/f // n=jumlah gel // f=frekuensi // s=v*t // v=344.434m/s // v=34443.4cm/s // 2s=v*t >> karena waktu tempuh 2 kali // 2s=34443.4* n /2000.000 >>>> 4MHZ // s= n * 0.0086106 Blok Fungsi Suhu tegangan=read_adc(0); 11
  • 12 tegangan=tegangan*4.89; //tegangan sensor dalam //millivolt 5000mV/1023=4.89mV suhu=tegangan/10; // mengubah nilai tegangan kedalam //suhu dengan membagai bilangan 10 yang merupakan //konstanta kelipatan kenaikan suhu pada LM 354.2 Pengujian AlatPengujian Sistem terlihat pada gambar berikut ini Pada saat sistem berada pada state Heater off Gambar 4.1 saat state Off Pada saat sistem berada pada state Heater On Gambar 4.2 saat state Heater On suhu 29ºC dan jarak 20 cm Pada saat sistem berada pada state heater standBy Gambar 4.3 state Heater standBy suhu 35ºC dan jarak 20,70 cm
  • 13Perbandingan pengukuran jarak antara hasil ukur dengan alat ukur penggaris. Padapengujian ini dilakukan dengan cara menggunakan buku (30x21) cm2 yangdiletakkan diatas penggaris kemudian dilihat hasil pengukuran pada LCD dan letakbuku pada penggaris. Dari cara tersebut diperoleh data di tabel berikut ini.Tabel 4.1 Perbandingan Pengukuran Sensor Ping dan Penggaris Pengukaran Hasil Error No Penggaris Pengukuran (cm) (cm) PING (cm) 1 3.00 3.08 0.08 2 5.00 5.65 0.65 3 8.00 8.07 0.07 4 10.00 10.22 0.22 5 12.00 12.37 0.37 6 15.00 15.15 0.15 7 17.00 16.85 -0.15 8 20.00 19.93 -0.07 9 25.00 24.97 -0.03 10 30.00 30.07 0.07 Rata-Rata Error 0.14Dari tabel 4.1 tersebut terlihat bahwa rata-rata error yang dihasilkan dari pengukuranadalah sebesar 0.14 cm.
  • 14 Bab V Kesimpulan Dari hasil pengujian diperoleh bahwa sistem yang dihasilkan sesuai denganrancangan yaitu sistem hasil pengujian menunjukkan performa yang sesuai denganyang telah dirancang yaitu Perancangan Heater sebagai pemanas ruanganmenggunakan sensor Ping sebagai pendekteksi adanya pengguna (rentang kerja 100cm dari 20 cm sampai 120 cm) dan sensor suhu LM 35 digunakan sebagai input agarsuhu yang dihasilkan tidak terlalu panas yaitu dibawah 33ºC. Kemudian hasilpengkuran menggunakan sensor ping memperlihatkan keluaran yang cukup baikdengan rata-rata error yaitu 0.14 cm. Dengan adanya pembuktian bahwa jarak yangdihasilkan oleh sensor ping hampir mendekati sebenarnya maka sensor ini cocokuntuk diaplikasi dalam perancangan sistem pemanas ruangan dalam hal inimendeteksi adanya keberadaan pengguna. 14
  • Daftar Pustaka[1] --- Sensor Ping Data Sheet , http://www.google.co.id/url?sa=t&rct=j&q=ping%20parallax&source=web&cd=2&ved=0CCcQ FjAB&url=http%3A%2F%2Fwww.parallax.com%2Fdl%2Fdocs%2Fprod%2Facc%2F28015- PING- v1.3.pdf&ei=BYDwTr7MGc7prQeR0LjiDw&usg=AFQjCNHh0CMP8LzfryTUSMxqhpYrvluv8 g Desember 2011[2] --- Sensor LM 35 Data Sheet, www.national.com/ds/LM/LM35.pdf Desember 2011[3] Syahadi, M., Aplikasi Kontrol Proporsional Integral Berbasis Mikrokontroller Atmega 8535 untuk Pengaturan Suhu pada Alat Pengering Kertas , Skripsi S-1, Universitas Diponegoro, Semarang, 2008.
  • BIODATA PENULISOka Danil Saputra, dilahirkan di Jambi, 17 Juli 1990, saat ini menempuh studistrara 1 di Teknik Elektro Undip konsenterasi Kontrol.
  • Lampiran1. Listing Program /***************************************************** This program was produced by the CodeWizardAVR V2.03.4 Standard Automatic Program Generator © Copyright 1998-2008 Pavel Haiduc, HP InfoTech s.r.l. http://www.hpinfotech.com Project : Version : Date : 12/21/2011 Author : Company : Comments: Chip type : ATmega128 Program type : Application Clock frequency : 16.000000 MHz Memory model : Small External RAM size : 0 Data Stack size : 1024 *****************************************************/ enum {start,mati}; #include <mega128.h> #include <delay.h> #include <math.h> #include <stdio.h> #include <stdlib.h> // Alphanumeric LCD Module functions #asm .equ __lcd_port=0x15 ;PORTC #endasm #include <lcd.h> #define LED PORTA.0 #define Heater PORTD.0 #define Pb1 PINE.0 #define On 1
  • #define Off 0//Alokasi Port PING//#define SigOut PORTB.1#define SigIn PINB.1#define DirSig DDRB.1/////////////////////#define ADC_VREF_TYPE 0x40// Read the AD conversion resultunsigned int read_adc(unsigned char adc_input){ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);// Delay needed for the stabilization of the ADC input voltagedelay_us(10);// Start the AD conversionADCSRA|=0x40;// Wait for the AD conversion to completewhile ((ADCSRA & 0x10)==0);ADCSRA|=0x10;return ADCW;}void baca_ping();void baca_suhu();unsigned char suhu,state;unsigned int tegangan;char Baris1[16],Baris2[16];float distance;// Declare your global variables herevoid main(void){// Declare your local variables here// Input/Output Ports initialization// Port A initialization// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=InFunc0=Out
  • // State7=T State6=T State5=T State4=T State3=T State2=T State1=TState0=0PORTA=0x00;DDRA=0x01;// Port B initialization// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=InFunc0=In// State7=T State6=T State5=T State4=T State3=T State2=T State1=TState0=TPORTB=0x00;DDRB=0x00;// Port C initialization// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=InFunc0=In// State7=T State6=T State5=T State4=T State3=T State2=T State1=TState0=TPORTC=0x00;DDRC=0x00;// Port D initialization// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=InFunc0=Out// State7=T State6=T State5=T State4=T State3=T State2=T State1=TState0=0PORTD=0x00;DDRD=0x01;// Port E initialization// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=InFunc0=In// State7=T State6=T State5=T State4=T State3=T State2=T State1=TState0=TPORTE=0xFF;DDRE=0x00;// Port F initialization
  • // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=InFunc0=In// State7=T State6=T State5=T State4=T State3=T State2=T State1=TState0=TPORTF=0x00;DDRF=0x00;// Port G initialization// Func4=In Func3=In Func2=In Func1=In Func0=In// State4=T State3=T State2=T State1=T State0=TPORTG=0x00;DDRG=0x00;// Timer/Counter 0 initialization// Clock source: System Clock// Clock value: Timer 0 Stopped// Mode: Normal top=FFh// OC0 output: DisconnectedASSR=0x00;TCCR0=0x00;TCNT0=0x00;OCR0=0x00;// Timer/Counter 1 initialization// Clock source: System Clock// Clock value: 2000.000 kHz// Mode: Normal top=FFFFh// OC1A output: Discon.// OC1B output: Discon.// OC1C output: Discon.// Noise Canceler: Off// Input Capture on Falling Edge// Timer 1 Overflow Interrupt: Off// Input Capture Interrupt: Off// Compare A Match Interrupt: Off// Compare B Match Interrupt: Off// Compare C Match Interrupt: OffTCCR1A=0x00;TCCR1B=0x02;
  • TCNT1H=0x00;TCNT1L=0x00;ICR1H=0x00;ICR1L=0x00;OCR1AH=0x00;OCR1AL=0x00;OCR1BH=0x00;OCR1BL=0x00;OCR1CH=0x00;OCR1CL=0x00;// Timer/Counter 2 initialization// Clock source: System Clock// Clock value: Timer 2 Stopped// Mode: Normal top=FFh// OC2 output: DisconnectedTCCR2=0x00;TCNT2=0x00;OCR2=0x00;// Timer/Counter 3 initialization// Clock source: System Clock// Clock value: Timer 3 Stopped// Mode: Normal top=FFFFh// Noise Canceler: Off// Input Capture on Falling Edge// OC3A output: Discon.// OC3B output: Discon.// OC3C output: Discon.// Timer 3 Overflow Interrupt: Off// Input Capture Interrupt: Off// Compare A Match Interrupt: Off// Compare B Match Interrupt: Off// Compare C Match Interrupt: OffTCCR3A=0x00;TCCR3B=0x00;TCNT3H=0x00;TCNT3L=0x00;ICR3H=0x00;
  • ICR3L=0x00;OCR3AH=0x00;OCR3AL=0x00;OCR3BH=0x00;OCR3BL=0x00;OCR3CH=0x00;OCR3CL=0x00;// External Interrupt(s) initialization// INT0: Off// INT1: Off// INT2: Off// INT3: Off// INT4: Off// INT5: Off// INT6: Off// INT7: OffEICRA=0x00;EICRB=0x00;EIMSK=0x00;// Timer(s)/Counter(s) Interrupt(s) initializationTIMSK=0x00;ETIMSK=0x00;// Analog Comparator initialization// Analog Comparator: Off// Analog Comparator Input Capture by Timer/Counter 1: OffACSR=0x80;SFIOR=0x00;// ADC initialization// ADC Clock frequency: 250.000 kHz// ADC Voltage Reference: AVCC pinADMUX=ADC_VREF_TYPE & 0xff;ADCSRA=0x86;// LCD module initializationlcd_init(16);
  • lcd_clear(); lcd_putsf("Heater_Off");state=mati;while (1) { // Place your code here if (!Pb1) { if (state==mati) {state=start; delay_ms(200); } else if (state==start) {state=mati; lcd_clear(); lcd_putsf("Heater_Off"); delay_ms(200); //200 } } if (state==start) { lcd_clear(); //LED=1; Heater=1; baca_suhu(); baca_ping(); lcd_gotoxy(0,1);lcd_putsf("Jarak="); ftoa(distance,2,Baris2); lcd_gotoxy(7,1); lcd_puts(Baris2); lcd_putsf(" cm"); if (distance<=20 || distance>=120 || suhu>33) { LED=0; Heater=0; lcd_clear(); sprintf(Baris1,"Suhu =%3d H_SB",suhu); lcd_gotoxy(0,0);lcd_puts(Baris1); lcd_gotoxy(0,1);lcd_putsf("Jarak="); ftoa(distance,2,Baris2); lcd_gotoxy(7,1); lcd_puts(Baris2); lcd_putsf(" cm"); delay_ms(200); //100 baca_ping(); if ( distance>=120) //|| suhu>33 ) { lcd_clear(); lcd_gotoxy(0,0);lcd_putsf("Waiting..."); lcd_gotoxy(0,1);lcd_putsf("3 Detik");
  • delay_ms(3000); // delay waiting baca_ping(); if ( distance>=120 || suhu>33 ) {state=mati; lcd_clear();lcd_putsf("Heater_Off"); } } } else { LED=1; Heater=1; sprintf(Baris1,"Suhu =%3d H_On",suhu); lcd_gotoxy(0,0);lcd_puts(Baris1); } } else if (state==mati) { LED=Off; Heater=Off; } delay_ms(200); // 100 };};void baca_ping(){ DirSig=1; //Set sebagai output SigOut=1; //Pengiriman sinyal dimulai delay_us(5); SigOut=0; //Pengiriman sinyal selesai DirSig=0; //Set as input SigOut=1; //Pullup activated TCNT1=0; // mereset timer while (SigIn==0) {} TCCR1B=0x02; //mengeset timer dgan frekuensi 2 MHZ while (SigIn==1) {} TCCR1B=0x00; // mematikan timer distance=(TCNT1*0.0086106); // t=n/f // n=jumlah gel // f=frekuensi // s=v*t // v=344.434m/s // v=34443.4cm/s // 2s=v*t >> karena waktu tempuh 2 kali // 2s=34443.4* n /2000.000 >>>> 4MHZ // s= n * 0.0086106}
  • void baca_suhu(){ tegangan=read_adc(0); tegangan=tegangan*4.89; //tegangan sensor dalam milivolt suhu=tegangan/10;}
  • 599 Menlo Drive, Suite 100 General: info@parallax.com Rocklin, California 95765, USA Technical: support@parallax.com Office: (916) 624-8333 Web Site: www.parallax.com Fax: (916) 624-8003 Educational: www.stampsinclass.comPING)))™ Ultrasonic Distance Sensor (#28015)The Parallax PING))) ultrasonic distance sensor provides precise, non-contact distance measurementsfrom about 2 cm (0.8 inches) to 3 meters (3.3 yards). It is very easy to connect to BASIC Stamp® orJavelin Stamp microcontrollers, requiring only one I/O pin.The PING))) sensor works by transmitting an ultrasonic (well above human hearing range) burst andproviding an output pulse that corresponds to the time required for the burst echo to return to thesensor. By measuring the echo pulse width the distance to target can easily be calculated.Features • Supply Voltage – 5 VDC • Supply Current – 30 mA typ; 35 mA max • Range – 2 cm to 3 m (0.8 in to 3.3 yrds) • Input Trigger – positive TTL pulse, 2 uS min, 5 µs typ. • Echo Pulse – positive TTL pulse, 115 uS to 18.5 ms • Echo Hold-off – 750 µs from fall of Trigger pulse • Burst Frequency – 40 kHz for 200 µs • Burst Indicator LED shows sensor activity • Delay before next measurement – 200 µs • Size – 22 mm H x 46 mm W x 16 mm D (0.84 in x 1.8 in x 0.6 in)Dimensions© Parallax, Inc. • PING)))TM Ultrasonic Distance Sensor (#28015) • v1.3 6/13/2006 Page 1 of 13
  • Pin Definitions GND Ground (Vss) 5V 5 VDC (Vdd) SIG Signal (I/O pin)The PING))) sensor has a male 3-pin header used to supply power(5 VDC), ground, and signal. The header allows the sensor to beplugged into a solderless breadboard, or to be located remotelythrough the use of a standard servo extender cable (Parallax part#805-00002). Standard connections are show in the diagram tothe right.Quick-Start CircuitThis circuit allows you to quickly connect your PING))) sensor to a BASIC Stamp® 2 via the Board ofEducation® breadboard area. The PING))) module’s GND pin connects to Vss, the 5 V pin connects toVdd, and the SIG pin connects to I/O pin P15. This circuit will work with the example programPing_Demo.BS2 listed on page 7.Servo Cable and Port CautionsIf you want to connect your PING))) sensor to a Board of Educationusing a servo extension cable, follow these steps: 1. When plugging the cable onto the PING))) sensor, connect Black to GND, Red to 5 V, and White to SIG. 2. Check to see if your Board of Education servo ports have a jumper, as shown at right. 3. If your Board of Education servo ports have a jumper, set it to Vdd as shown. 4. If your Board of Education servo ports do not have a jumper, do not use them with the PING))) sensor. These ports only provide Vin, not Vdd, and this may damage your PING))) sensor. Go to the next step. 5. Connect the servo cable directly to the breadboard with a Board of Education Servo Port 3-pin header. Then, use jumper wires to connect Black to Jumper, Set to Vdd Vss, Red to Vdd, and White to I/O pin P15.© Parallax, Inc. • PING)))TM Ultrasonic Distance Sensor (#28015) • v1.3 6/13/2006 Page 2 of 13
  • Theory of OperationThe PING))) sensor detects objects by emitting a short ultrasonic burst and then "listening" for the echo.Under control of a host microcontroller (trigger pulse), the sensor emits a short 40 kHz (ultrasonic) burst.This burst travels through the air at about 1130 feet per second, hits an object and then bounces back tothe sensor. The PING))) sensor provides an output pulse to the host that will terminate when the echois detected, hence the width of this pulse corresponds to the distance to the target.Test DataThe test data on the following pages is based on the PING))) sensor, tested in the Parallax lab, whileconnected to a BASIC Stamp microcontroller module. The test surface was a linoleum floor, so thesensor was elevated to minimize floor reflections in the data. All tests were conducted at roomtemperature, indoors, in a protected environment. The target was always centered at the same elevationas the PING))) sensor.© Parallax, Inc. • PING)))TM Ultrasonic Distance Sensor (#28015) • v1.3 6/13/2006 Page 3 of 13
  • Test 1Sensor Elevation: 40 in. (101.6 cm)Target: 3.5 in. (8.9 cm) diameter cylinder, 4 ft. (121.9 cm) tall – vertical orientation© Parallax, Inc. • PING)))TM Ultrasonic Distance Sensor (#28015) • v1.3 6/13/2006 Page 4 of 13
  • Test 2Sensor Elevation: 40 in. (101.6 cm)Target: 12 in. x 12 in. (30.5 cm x 30.5 cm) cardboard, mounted on 1 in. (2.5 cm) pole ● target positioned parallel to backplane of sensor© Parallax, Inc. • PING)))TM Ultrasonic Distance Sensor (#28015) • v1.3 6/13/2006 Page 5 of 13
  • Program Example: BASIC Stamp 2 MicrocontrollerThe following program demonstrates the use of the PING))) sensor with the BASIC Stamp 2microcontroller. Any model of BASIC Stamp 2 module will work with this program as conditionalcompilation techniques are used to make adjustments based on the module that is connected.The heart of the program is the Get_Sonar subroutine. This routine starts by making the output bit ofthe selected IO pin zero – this will cause the successive PULSOUT to be low-high-low as required fortriggering the PING))) sensor. After the trigger pulse falls the sensor will wait about 200 microsecondsbefore transmitting the ultrasonic burst. This allows the BS2 to load and prepare the next instruction.That instruction, PULSIN, is used to measure the high-going pulse that corresponds to the distance tothe target object.The raw return value from PULSIN must be scaled due to resolution differences between the variousmembers of the BS2 family. After the raw value is converted to microseconds, it is divided by two inorder to remove the "return trip" of the echo pulse. The value now held in rawDist is the distance to thetarget in microseconds.Conversion from microseconds to inches (or centimeters) is now a simple matter of math. The generally-accepted value for the speed-of-sound is 1130 feet per second. This works out to 13,560 inches persecond or one inch in 73.746 microseconds. The question becomes, how do we divide our pulsemeasurement value by the floating-point number 73.746?Another way to divide by 73.746 is to multiply by 0.01356. For new BASIC Stamp users this may seem adilemma but in fact there is a special operator, **, that allows us to do just that. The ** operator hasthe affect of multiplying a value by units of 1/65,536. To find the parameter for ** then, we simplymultiply 0.01356 by 65,536; the result is 888.668 (well round up to 889).Conversion to centimeters uses the same process and the result of the program is shown below:© Parallax, Inc. • PING)))TM Ultrasonic Distance Sensor (#28015) • v1.3 6/13/2006 Page 6 of 13
  • ========================================================================= File....... Ping_Demo.BS2 Purpose.... Demo Code for Parallax PING))) Sonar Sensor Author..... Parallax, Inc. E-mail..... support@parallax.com Started.... Updated.... 08 JUN 2005 {$STAMP BS2} {$PBASIC 2.5} ========================================================================= -----[ Program Description ]--------------------------------------------- This program demonstrates the use of the Parallax PING))) sensor and then converting the raw measurement to English (inches) and Metric (cm) units. Sonar Math: At sea level sound travels through air at 1130 feet per second. This equates to 1 inch in 73.746 uS, or 1 cm in 29.034 uS). Since the PING))) sensor measures the time required for the sound wave to travel from the sensor and back. The result -- after conversion to microseconds for the BASIC Stamp module in use -- is divided by two to remove the return portion of the echo pulse. The final raw result is the duration from the front of the sensor to the target in microseconds. -----[ I/O Definitions ]-------------------------------------------------Ping PIN 15 -----[ Constants ]-------------------------------------------------------#SELECT $STAMP #CASE BS2, BS2E Trigger CON 5 trigger pulse = 10 uS Scale CON $200 raw x 2.00 = uS #CASE BS2SX, BS2P, BS2PX Trigger CON 13 Scale CON $0CD raw x 0.80 = uS #CASE BS2PE Trigger CON 5 Scale CON $1E1 raw x 1.88 = uS#ENDSELECTRawToIn CON 889 1 / 73.746 (with **)RawToCm CON 2257 1 / 29.034 (with **)IsHigh CON 1 for PULSOUTIsLow CON 0© Parallax, Inc. • PING)))TM Ultrasonic Distance Sensor (#28015) • v1.3 6/13/2006 Page 7 of 13
  • -----[ Variables ]-------------------------------------------------------rawDist VAR Word raw measurementinches VAR Wordcm VAR Word -----[ Initialization ]--------------------------------------------------Reset: DEBUG CLS, "Parallax PING))) Sonar", CR, setup report screen "======================", CR, CR, "Time (uS)..... ", CR, "Inches........ ", CR, "Centimeters... " -----[ Program Code ]----------------------------------------------------Main: DO GOSUB Get_Sonar get sensor value inches = rawDist ** RawToIn convert to inches cm = rawDist ** RawToCm convert to centimeters DEBUG CRSRXY, 15, 3, update report screen DEC rawDist, CLREOL, CRSRXY, 15, 4, DEC inches, CLREOL, CRSRXY, 15, 5, DEC cm, CLREOL PAUSE 100 LOOP END -----[ Subroutines ]----------------------------------------------------- This subroutine triggers the PING))) sonar sensor and measures the echo pulse. The raw value from the sensor is converted to microseconds based on the Stamp module in use. This value is divided by two to remove the return trip -- the result value is the distance from the sensor to the target in microseconds.Get_Sonar: Ping = IsLow make trigger 0-1-0 PULSOUT Ping, Trigger activate sensor PULSIN Ping, IsHigh, rawDist measure echo pulse rawDist = rawDist */ Scale convert to uS rawDist = rawDist / 2 remove return trip RETURN© Parallax, Inc. • PING)))TM Ultrasonic Distance Sensor (#28015) • v1.3 6/13/2006 Page 8 of 13
  • Program Example: BASIC Stamp 1 Microcontroller ========================================================================= File....... Ping_Demo.BS1 Purpose.... Demo Code for Parallax PING))) Sonar Sensor Author..... Parallax, Inc. E-mail..... support@parallax.com Started.... Updated.... 06 JUN 2006 {$STAMP BS1} {$PBASIC 1.0} ========================================================================= -----[ Program Description ]--------------------------------------------- This program demonstrates the use of the Parallax PING))) sensor and then converting the raw measurement to English (inches) and Metric (cm) units. Sonar Math: At sea level sound travels through air at 1130 feet per second. This equates to 1 inch in 73.746 uS, or 1 cm in 29.034 uS). Since the PING))) sensor measures the time required for the sound wave to travel from the sensor and back. The result -- after conversion to microseconds for the BASIC Stamp module in use -- is divided by two to remove the return portion of the echo pulse. The final raw result is the duration from the front of the sensor to the target in microseconds. -----[ I/O Definitions ]-------------------------------------------------SYMBOL Ping = 7 -----[ Constants ]-------------------------------------------------------SYMBOL Trigger = 1 10 uS trigger pulseSYMBOL Scale = 10 raw x 10.00 = uSSYMBOL RawToIn = 889 1 / 73.746 (with **)SYMBOL RawToCm = 2257 1 / 29.034 (with **)SYMBOL IsHigh = 1 for PULSOUTSYMBOL IsLow = 0 -----[ Variables ]-------------------------------------------------------SYMBOL rawDist = W1 raw measurementSYMBOL inches = W2SYMBOL cm = W3© Parallax, Inc. • PING)))TM Ultrasonic Distance Sensor (#28015) • v1.3 6/13/2006 Page 9 of 13
  • -----[ Program Code ]----------------------------------------------------Main: GOSUB Get_Sonar get sensor value inches = rawDist ** RawToIn convert to inches cm = rawDist ** RawToCm convert to centimeters DEBUG CLS report DEBUG "Time (uS)..... ", #rawDist, CR DEBUG "Inches........ ", #inches, CR DEBUG "Centimeters... ", #cm PAUSE 500 GOTO Main END -----[ Subroutines ]----------------------------------------------------- This subroutine triggers the PING))) sonar sensor and measures the echo pulse. The raw value from the sensor is converted to microseconds based on the Stamp module in use. This value is divided by two to remove the return trip -- the result value is the distance from the sensor to the target in microseconds.Get_Sonar: LOW Ping make trigger 0-1-0 PULSOUT Ping, Trigger activate sensor PULSIN Ping, IsHigh, rawDist measure echo pulse rawDist = rawDist * Scale convert to uS rawDist = rawDist / 2 remove return trip RETURN© Parallax, Inc. • PING)))TM Ultrasonic Distance Sensor (#28015) • v1.3 6/13/2006 Page 10 of 13
  • Program Example: Javelin Stamp MicrocontrollerThis class file implements several methods for using the PING))) sensor:package stamp.peripheral.sensor;import stamp.core.*;/** * This class provides an interface to the Parallax PING))) ultrasonic * range finder module. * <p> * <i>Usage:</i><br> * <code> * Ping range = new Ping(CPU.pin0); // trigger and echo on P0 * </code> * <p> * Detailed documentation for the PING))) Sensor can be found at: <br> * http://www.parallax.com/detail.asp?product_id=28015 * <p> * * @version 1.0 03 FEB 2005 */public final class Ping { private int ioPin; /** * Creates PING))) range finder object * * @param ioPin PING))) trigger and echo return pin */ public Ping (int ioPin) { this.ioPin = ioPin; } /** * Returns raw distance value from the PING))) sensor. * * @return Raw distance value from PING))) */ public int getRaw() { int echoRaw = 0; CPU.writePin(ioPin, false); // setup for high-going pulse CPU.pulseOut(1, ioPin); // send trigger pulse echoRaw = CPU.pulseIn(2171, ioPin, true); // measure echo return // return echo pulse if in range; zero if out-of-range return (echoRaw < 2131) ? echoRaw : 0; }© Parallax, Inc. • PING)))TM Ultrasonic Distance Sensor (#28015) • v1.3 6/13/2006 Page 11 of 13
  • /* * The PING))) returns a pulse width of 73.746 uS per inch. Since the * Javelin pulseIn() round-trip echo time is in 8.68 uS units, this is the * same as a one-way trip in 4.34 uS units. Dividing 73.746 by 4.34 we * get a time-per-inch conversion factor of 16.9922 (x 0.058851). * * Values to derive conversion factors are selected to prevent roll-over * past the 15-bit positive values of Javelin Stamp integers. */ /** * @return PING))) distance value in inches */ public int getIn() { return (getRaw() * 3 / 51); // raw * 0.058824 } /** * @return PING))) distance value in tenths of inches */ public int getIn10() { return (getRaw() * 3 / 5); // raw / 1.6667 } /* * The PING))) returns a pulse width of 29.033 uS per centimeter. As the * Javelin pulseIn() round-trip echo time is in 8.68 uS units, this is the * same as a one-way trip in 4.34 uS units. Dividing 29.033 by 4.34 we * get a time-per-centimeter conversion factor of 6.6896. * * Values to derive conversion factors are selected to prevent roll-over * past the 15-bit positive values of Javelin Stamp integers. */ /** * @return PING))) distance value in centimeters */ public int getCm() { return (getRaw() * 3 / 20); // raw / 6.6667 } /** * @return PING))) distance value in millimeters */ public int getMm() { return (getRaw() * 3 / 2); // raw / 0.6667 }}This simple demo illustrates the use of the PING))) ultrasonic range finder class with the Javelin Stamp:© Parallax, Inc. • PING)))TM Ultrasonic Distance Sensor (#28015) • v1.3 6/13/2006 Page 12 of 13
  • import stamp.core.*;import stamp.peripheral.sensor.Ping;public class testPing { public static final char HOME = 0x01; public static void main() { Ping range = new Ping(CPU.pin0); StringBuffer msg = new StringBuffer(); int distance; while (true) { // measure distance to target in inches distance = range.getIn(); // create and display measurement message msg.clear(); msg.append(HOME); msg.append(distance); msg.append(" " n"); System.out.print(msg.toString()); // wait 0.5 seconds between readings CPU.delay(5000); } }}© Parallax, Inc. • PING)))TM Ultrasonic Distance Sensor (#28015) • v1.3 6/13/2006 Page 13 of 13
  • Perancangan Heater sebagai PemanasRuangan Menggunakan Sensor Jarak Ping Parallax dan Sensor Suhu LM 35 Laporan Tugas Mata Kuliah Komponen Sistem Kontrol oleh Oka D. Saputra L2F008146 JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS DIPONEGORO SEMARANG, 2011 i
  • KATA PENGANTARAlhamdulillah, Segala puji hanya bagi Allah Subhànahu wa Ta’ala, atas segalalimpahan rahmat dan karunia-Nya, sehingga penyusun dapat menyelesaikan laporan“Perancangan Heater sebagai Pemanas Ruangan Menggunakan Sensor JarakPing Parallax dan Sensor Suhu LM 35 ”. Dalam pembuatan dan penyusunan laporan Tugas Akhir, penyusun jugabanyak mendapatkan bantuan dan dukungan dari berbagai pihak. Atas kelancaranselama pelaksanaan Tugas Akhir dan penyusunan laporan ini, maka penyusunmengucapkan banyak terima kasih kepada :1. Bapak Ir. Sudjadi, M.T. selaku Ketua Jurusan Teknik Elektro Fakultas Teknik Universitas Diponegoro2. Bapak Sumardi S.T., M.T. selaku dosen mata kuliah Komponen Sistem Kontrol yang mengarahkan penulis dalam pembuatan Tugas Akhir ini3. Keluargaku tercinta atas segala bentuk dorongan semangat dan dukungannya.4. Saudara Fairus yang membimbing penulis sehingga tugas akhir ini dapat terselesaikan.5. teman-teman yang mengikuti kuliah Komponen Sistem Kontrol.6. Serta semua pihak yang tidak dapat penyusun sebutkan satu-persatu. Penyusun menyadari bahwa masih terdapat beberapa kekurangan dalamlaporan Tugas Akhir ini. Kritik dan saran yang bersifat membangun sangat penyusunharapkan dari semua pihak, sebagai pengalaman dan tambahan pengetahuan bagipenyusun. Akhir kata semoga karya ini tidak menjadi yang pertama sekaligus yangterakhir dan semoga laporan ini dapat bermanfaat bagi mahasiswa Teknik ElektroUniversitas Diponegoro pada khususnya dan masyarakat pada umumnya. Semarang, Desember 2011 Penyusun ii
  • Abstrak Banyak Aplikasi yang dapat kita terapkan ketika kita membahas tentangsistem kontrol. Salah satunya pemanfaatan kemajuan teknologi sensor seperti sensorjarak ping produksi Parallax, sensor suhu LM 35 dari National Semiconductor danjuga actuator Heater (dalam hal ini solder) untuk pengendalian suhu ruangan yangterlalu dingin. Tujuan dari paper ini adalah merancang dan membuat alat yangdapat mengontrol suhu ruangan dan mendeteksi ada tidaknya pengguna didalamruangan tersebut. Dalam perancangan alat, ada beberapa elemen yang menjadiparameter sebagai inputan agar heater aktif, dalam simulasi ini digunakan sebagaijarak terdekat antara pengguna ruangan dengan heater adalah 20 cm sedangkanuntuk jarak terjauh adalah 120 cm sedangkan untuk suhu terpanas yang menjadikanheater off adalah 33ºC.Keywords — Sensor Ping, Sensor LM35, Heater iii
  • DAFTAR ISIHALAMAN JUDUL ……………………………………………………… iKATA PENGANTAR …………………… ………………………………. iiABSTRAK …………………………………………………….................... iiiDAFTAR ISI ……………………………………………………………… ivDAFTAR GAMBAR………………………………………………………. vDAFTAR TABEL …………………………………………………………. vBAB I PENDAHULUAN ………………………………………………. 1 1.1 Latar Belakang …………………………………..………..... 1 1.2 Tujuan Tugas Akhir ……………………………………….. 1 1.3 Pembatasan Masalah …….………………………………..... 1 1.4 Sistematika Penulisan ……………………………………..... 2BAB II DASAR TEORI ……….…………………………..…………….. 3 2.1 Sensor Ping……………………..…………………………… 3 2.2 Sensor LM 35………………………………………………. 4 2.3 Mikrokontroller ATMEGA 128 .……………………………. 5 2.4 LCD ………………………………………………………. 5 2.5 LED…….. .…………………………….…………………… 6 2.6 MOC 3021………………………………………………….. 7 2.7 Triac………………………………………………………… 7 2.8 Solder………………………………………………………. 7BAB III PERANCANGAN ALAT ……………………………..……….. 8 3.1 Perancangan Perangkat Keras …………………….……..… 8 3.2 Perancangan Perangkat Lunak ……………………………… 9BAB IV PENJELASAN SOURCE CODE DAN PENGUJIAN ALAT ….... 11 4.1 Penjelasan Source Code….. ………………………………… 11 4.2 Pengujian Alat ………………………….…………………… 12BAB V PENUTUP …………………………………………………………. 14DAFTAR PUSTAKA iv
  • DAFTAR GAMBARGambar 2.1 Sensor PING Ultrasonik Range Finder ...................................... 3Gambar 2.2 Sensor PING Ultrasonik Range Finder timing diagram............. 3Gambar 2.3 Ilustrasi Sensor Ping .................................................................. 4Gambar 2.4 Sensor LM35 dan Konfigurasi PIN ........................................... 4Gambar 2.5 Konfigurasi Pin Atmega 128...................................................... 5Gambar 2.6 Konfigurasi pin LCD. ................................................................ 6Gambar 2.7 Simbol LED. .............................................................................. 6Gambar 2.8 Konfigurasi MOC 3021………………………………………..7Gambar 2.9 Rangkaian Ekuivalen Triac. ...................................................... .7Gambar 2.10 Solder ………………………………………………………...7Gambar 3.1 Blok diagram hardware .............................................................. 8Gambar 3.2 FSM sistem ................................................................................ 9Gambar 4.1 saat state Off ............................................................................ 12Gambar 4.2 saat state Heater On suhu 29ºC dan jarak 20 cm .................... 12Gambar 4.3 state Heater standBy suhu 35ºC dan jarak 20,70 cm ............... 12 DAFTAR TABELTabel 4.1 Perbandingan Pengukuran Sensor Ping dan Penggaris................ 13 v
  • BAB I PENDAHULUAN1.1 Latar Belakang Pada Akhir-akhir ini teknik kontrol telah menjadi bagian yang sangat pentingdalam kehidupan manusia. Dengan semakin tingginya tingkat kebutuhan maka untukmemenuhi kebutuhan tersebut dibutuhkan suatu perancangan sistem yang mampuberjalan secara otomatis. Pada peper ini dilakukan perancangan control suhu ruanganyang terlalu dingin menggunakan sensor jarak dan sensor suhu. Tujuan dari paper iniadalah merancang dan membuat alat yang dapat mengontrol suhu ruangan danmendeteksi ada tidaknya pengguna didalam ruangan tersebut. Smart Heater adalah suatu alat yang dapat digunakan sebagai pemanasruangan dan juga mendekteksi adanya pengguna dari pemanas ruangan tersebut.Kontrol On Off adalah suatu metode yang mudah dan tepat untuk pengontrolan alatini dengan hanya menggunakan dua logika yaitu logika HIGH (1) dan logikaLOW(0).1.2 Tujuan 1. Merancang Smart Heater yang dapat bekerja sesuai dengan algoritma yang telah dirancang. 2. Mengetahui Prinsip Kerja sistem control khususnya control On-Off, 3. Memenuhi tugas Komponen Sistem Kontrol yang diajarkan di Jurusan Elektro Fakultas Teknik Universitas Diponegoro1.3 Pembatasan Masalah Dalam pembuatan tugas akhir ini penulis membatasi permasalahan sebagaiberikut :1. Sistem Kontrol yang digunakan merupakan kontrol On-Off2. Sensor yang digunakan adalah sensor ultrasonik yang diproduksi oleh Parallax ( Sensor PING Ultrasonik Range Finder). 1
  • 23. Range pendeteksian antara 3 cm – 300 cm.4. Tugas akhir ini tidak membahas mengenai arsitektur mikrokontroller5. Mikrokontroler yang digunakan adalah ATMega128.1.4 Sistematika Penulisan Sistematika penulisan dalam laporan tugas akhir ini adalah sebagai berikut: BAB I PENDAHULUAN Berisi tentang latar belakang masalah, tujuan penulisan, batasan masalah dan sistematika penulisan. BAB II DASAR TEORI Berisi tentang teori-teori yang mendukung dalam perancangan tugas akhir ini, yaitu tentang mikrokontroler atmega128, sensor ping, sensor LM35, LCD, MOC3021, Triac BT139. BAB III PERANCANGAN Berisi tentang perancangan perangkat lunak (software) dan perangkat keras (hardware) dari sistem yang digunakan pada Smart Heater dan indikator led. BAB IV PENGUJIAN DAN ANALISA Berisi tentang pengujian dan analisa terhadap perangkat lunak dan perangkat keras yang telah dibuat serta pengujian sistem secara keseluruhan. BAB V PENUTUP Berisi kesimpulan dan saran.
  • 3 BAB II DASAR TEORI2.1 Sensor Ping Sensor yang digunakan pada pembuatan tugas Komponen ini merupakan [1]sebuah sensor ultrasonik buatan Parallax ( Sensor PING Ultrasonik Range Finder).Rangkaian lengkap sensor ditunjukkan pada Gambar 2.1 Gambar 2.1 Sensor PING Ultrasonik Range Finder.Sensor PING ini secara khusus didesain untuk dapat mengukur jarak sebuah bendapadat (solid).Range jarak yang mampu diukur oleh sensor PING adalah 3 cm sampaidengan 300 cm. Sensor PING mendeteksi jarak objek dengan cara memancarkangelombang ultrasonik (>20kHz) selama waktu pemancaran kemudian mendeteksipantulannya. Gambar 2.2 Sensor PING Ultrasonik Range Finder timing diagram. 3
  • 4Sensor PING memancarkan gelombang ultrasonik sesuai dengan pulsa trigger darimikrokontroler sebagai pengendali.Gambar 2 menunjukkan timing diagram dariSensor PING. Lebar pulsa high (tIN) akan sesuai dengan lama waktu tempuhgelombang ultrasonik untuk 2x jarak ukur dengan objek seperti yang ditunjukkanpada Gambar 3, maka jarak yang diukur dapat dirumuskan sebagai berikut :  t IN sx344m / s    meterJarak=  2  Gambar 2.3 Ilustrasi cara kerja sensor PING2.2 Sensor LM 35 Salah satu sensor suhu adalah sensor LM35 [2]. Berikut gambar sensor LM35. Gambar 2.4 Sensor LM35 dan Konfigurasi PIN Sensor suhu LM35 adalah komponen elektronika yang memiliki fungsi untukmengubah besaran suhu menjadi besaran listrik dalam bentuk tegangan. Sensor SuhuLM35 yang dipakai dalam paper ini berupa komponen elektronika elektronika yangdiproduksi oleh National Semiconductor. Secara prinsip sensor akan melakukanpenginderaan pada saat perubahan suhu setiap suhu 1 ºC akan menunjukan perubahantegangan sebesar 10 mV.
  • 52.3 Mikrokontroller ATMEGA 128Berikut ini konfigurasi Pin pada Atmega 128. Gambar 2.5 Konfigurasi Pin Atmega 128Mikrokontroler ATMEGA128 termasuk dalam mikrokontroler keluarga AVR.Dengan fitur-fitur eksternal clock sampai 16 MHz, 53 Pin/Port yang bias digunakansebagai I/O dan beberapa fungsi khusus seperti pada port F dilengkapi dengan ACD,timer 8 dan 16 bit dan lain sebagainya.2.4 LCD Modul LCD (Liquid Crystal Display) adalah salah satu alat yang digunakansebagai tampilan. Pada dasarnya sistem pengaturan LCD memiliki standar yang samawalaupun sangat banyak macamnya baik ditinjau dariperusahaan pembuat maupundari ukurannya. LCD yang digunakan merupakan modul dot-matrix tampilan kristal cair(LCD) dengan tampilan 16 x 2 baris dengan konsumsi daya rendah. Modul LCD initelah dilengkapi dengan mikrokontroler yang didesain khusus untuk mengendalikan
  • 6LCD, berfungsi sebagai pengatur (system controller) dan penghasil karakter(character generator). Konfigurasi pin dari LCD ditunjukkan pada Gambar 2.6 Gambar 2.6 Konfigurasi pin LCD Modul LCD memiliki karakteristik sebagai berikut: • Terdapat 16 x 2 karakter huruf yang bisa ditampilkan. • Setiap huruf terdiri dari 5x7 dot-matrix cursor. • Terdapat 192 macam karakter. • Terdapat 80 x 8 bit display RAM (maksimal 80 karakter). • Memiliki kemampuan penulisan dengan 8 bit maupun dengan 4 bit. • Dibangun dengan osilator lokal. • Satu sumber tegangan 5 volt. • Otomatis reset saat tegangan dihidupkan. • Bekerja pada suhu 0 0C sampai 55 0C.2.5 LED LED (Light Emitting Diode) atau dioda pancaran cahaya adalah suatu bahanpadat sejenis dioda yang mengkonversi arus listrik menjadi cahaya. Dalampenggunannya digunakan sebagai penanda berupa nyala lampu pijar. Strukturnyajuga sama dengan dioda, elektron yang menerjang sambungan P-N juga melepaskanenergi berupa energi panas dan energi cahaya. Untuk mendapatkan emisi cahaya padasemikonduktor, doping yang dipakai adalah gallium, arsenic, dan phosporus. Jenisdoping yang berbeda menghasilkan warna cahaya yang berbeda pula. Gambar 2.7 Simbol LED
  • 72.6 MOC 3021 Fungsi dari MOC ini adalah sebagai isolator agar bagian DC yang ada padakontrol mikrokontroller tidak langsung terhubung dengan bagian AC yang ada padatriac. Berikut gambar konfigurasi MOC 3021 Gambar 2.8 Konfigurasi MOC 30212.7 TRIAC Untuk pengontrolan pada tegangan AC, umumnya digunakan bidirectionaltriode thyristor atau dikenal dengan triac. Triac dapat bersifat konduktif dalam duaarah. Dalam hal ini dapat dianggap sebagai dua buah tryristor tersambung secaraantiparallel dengan koneksi gerbang seperti gambar berikut[3]. Gambar 2.9 Rangkaian Ekuivalen Triac2.8 Solder Pada perancangan ini untuk mengambarkan sebuah element pemanasmenggunakan solder. Dalam perancangan sistem panas dari solder inilah yang akandi kontrol. Gambar 2.10 Solder
  • 8 BAB III PERANCANGAN3.1 Perancangan Perangkat Keras Perangkat keras dari sistem yang akan dibangun meliputi sistem minimummikrokontroler ATMEGA 128, Push Button, LCD, Power Supply AC dan DC,Indikator LED, Sensor LM 35, Sensor jarak Ping, Triac BT 139, MOC 3021 danHeater. Berikut blok digram dari koneksi komponen tersebut Gambar 3.1 Blok diagram hardware Tiap-tiap bagian dari diagram blok sistem dapat dijelaskan sebagai berikut: 1. Atmega 128 berfungsi sebagai otak dari alat. 2. Sensor Ping berfungsi sebagai masukan data untuk mengetahui adanya pengguna atau tidak. 3. Sensor LM35 berfungsi untuk mengukur nilai suhu dari heater. 4. Regulator a. 220 volt AC berfungsi sebagai tegangan masukkan heater b. 5 volt DC volt berfungsi sebagai supply mikro dan sensor-sensor 5. LCD berfunsi sebagai tampilan untuk state sistem 8
  • 9 6. Push Button berfungsi sebagai inputan untuk menyala dan mematikan sistem 7. MOC 3021 berfungsi sebagai isolator untuk mengamankan antara arus AC dan DC. 8. LED berfungsi sebagai indicator nyala heater. 9. Triac berfungsi sebagai pengontrol nyala dan matinya heater.3.2 Perancangan Perangkat Lunak Bahasa pemrograman yang digunakan dalam pembuatan perangkat lunakmenggunakan bahasa C untuk proses pengontrolan melalui AVR ATmega 128dengan bantuan software CVAVR. Dalam perancangan Software menggunakanmetode Finite State Machine, metode ini dipilih karena lebih mudah dalamimplementasi ke source code. Berikut FSM sistem yang dirancang. Gambar 3.2 FSM sistem Berikut cara kerja dari sistem Heater pemanas ruangan 1. Heater dinyalakan menggunakan tombol. 2. Apabila penggunakan yang menyalakan sistem terdeksi berada didalam ruangan (asumsi jarak terdekat 20cm dan jarak terjauh 120 cm dari heater) maka sistem pemanas dan lampu LED indicator akan menyala.
  • 103. Apabila pengguna berada pada jarak kurang dari 20 cm maka heater akan mati dan sistem akan menyala secara otomatis apabila pengguna terdeteksi berada pada jarak lebih dari 20 cm.4. Apabila pengguna berada pada jarak lebih dari 120 cm dan selama 3 detik tidak kembali kedalam jarak tersebut maka sistem akan mati secara otomatis5. Apabila suhu ruangan lebih dari 33ºC maka sistem akan mati secara otomatis.6. Sistem juga dapat dimatikan secara otomatis menggunakan tombol yang disediakan.
  • 11 BAB IV PENJELASAN SOURCE CODE DAN PENGUJIAN ALAT4.1 Penjelasan Source Code Berikut beberapa source code yang digunakan dalam perancangan sistemyaitu: Blok Fungsi Akses Ping DirSig=1; //Set sebagai output SigOut=1; //Pengiriman sinyal dimulai delay_us(5); SigOut=0; //Pengiriman sinyal selesai DirSig=0; //Set as input SigOut=1; //Pullup activated TCNT1=0; // mereset timer while (SigIn==0) {} TCCR1B=0x02; //mengeset timer dgan frekuensi 2 MHZ while (SigIn==1) {} TCCR1B=0x00; // mematikan timer distance=(TCNT1*0.0086106); // t=n/f // n=jumlah gel // f=frekuensi // s=v*t // v=344.434m/s // v=34443.4cm/s // 2s=v*t >> karena waktu tempuh 2 kali // 2s=34443.4* n /2000.000 >>>> 4MHZ // s= n * 0.0086106 Blok Fungsi Suhu tegangan=read_adc(0); 11
  • 12 tegangan=tegangan*4.89; //tegangan sensor dalam //millivolt 5000mV/1023=4.89mV suhu=tegangan/10; // mengubah nilai tegangan kedalam //suhu dengan membagai bilangan 10 yang merupakan //konstanta kelipatan kenaikan suhu pada LM 354.2 Pengujian AlatPengujian Sistem terlihat pada gambar berikut ini Pada saat sistem berada pada state Heater off Gambar 4.1 saat state Off Pada saat sistem berada pada state Heater On Gambar 4.2 saat state Heater On suhu 29ºC dan jarak 20 cm Pada saat sistem berada pada state heater standBy Gambar 4.3 state Heater standBy suhu 35ºC dan jarak 20,70 cm
  • 13Perbandingan pengukuran jarak antara hasil ukur dengan alat ukur penggaris. Padapengujian ini dilakukan dengan cara menggunakan buku (30x21) cm2 yangdiletakkan diatas penggaris kemudian dilihat hasil pengukuran pada LCD dan letakbuku pada penggaris. Dari cara tersebut diperoleh data di tabel berikut ini.Tabel 4.1 Perbandingan Pengukuran Sensor Ping dan Penggaris Pengukaran Hasil Error No Penggaris Pengukuran (cm) (cm) PING (cm) 1 3.00 3.08 0.08 2 5.00 5.65 0.65 3 8.00 8.07 0.07 4 10.00 10.22 0.22 5 12.00 12.37 0.37 6 15.00 15.15 0.15 7 17.00 16.85 -0.15 8 20.00 19.93 -0.07 9 25.00 24.97 -0.03 10 30.00 30.07 0.07 Rata-Rata Error 0.14Dari tabel 4.1 tersebut terlihat bahwa rata-rata error yang dihasilkan dari pengukuranadalah sebesar 0.14 cm.
  • 14 Bab V Kesimpulan Dari hasil pengujian diperoleh bahwa sistem yang dihasilkan sesuai denganrancangan yaitu sistem hasil pengujian menunjukkan performa yang sesuai denganyang telah dirancang yaitu Perancangan Heater sebagai pemanas ruanganmenggunakan sensor Ping sebagai pendekteksi adanya pengguna (rentang kerja 100cm dari 20 cm sampai 120 cm) dan sensor suhu LM 35 digunakan sebagai input agarsuhu yang dihasilkan tidak terlalu panas yaitu dibawah 33ºC. Kemudian hasilpengkuran menggunakan sensor ping memperlihatkan keluaran yang cukup baikdengan rata-rata error yaitu 0.14 cm. Dengan adanya pembuktian bahwa jarak yangdihasilkan oleh sensor ping hampir mendekati sebenarnya maka sensor ini cocokuntuk diaplikasi dalam perancangan sistem pemanas ruangan dalam hal inimendeteksi adanya keberadaan pengguna. 14
  • Daftar Pustaka[1] --- Sensor Ping Data Sheet , http://www.google.co.id/url?sa=t&rct=j&q=ping%20parallax&source=web&cd=2&ved=0CCcQ FjAB&url=http%3A%2F%2Fwww.parallax.com%2Fdl%2Fdocs%2Fprod%2Facc%2F28015- PING- v1.3.pdf&ei=BYDwTr7MGc7prQeR0LjiDw&usg=AFQjCNHh0CMP8LzfryTUSMxqhpYrvluv8 g Desember 2011[2] --- Sensor LM 35 Data Sheet, www.national.com/ds/LM/LM35.pdf Desember 2011[3] Syahadi, M., Aplikasi Kontrol Proporsional Integral Berbasis Mikrokontroller Atmega 8535 untuk Pengaturan Suhu pada Alat Pengering Kertas , Skripsi S-1, Universitas Diponegoro, Semarang, 2008.
  • BIODATA PENULISOka Danil Saputra, dilahirkan di Jambi, 17 Juli 1990, saat ini menempuh studistrara 1 di Teknik Elektro Undip konsenterasi Kontrol.
  • Lampiran1. Listing Program /***************************************************** This program was produced by the CodeWizardAVR V2.03.4 Standard Automatic Program Generator © Copyright 1998-2008 Pavel Haiduc, HP InfoTech s.r.l. http://www.hpinfotech.com Project : Version : Date : 12/21/2011 Author : Company : Comments: Chip type : ATmega128 Program type : Application Clock frequency : 16.000000 MHz Memory model : Small External RAM size : 0 Data Stack size : 1024 *****************************************************/ enum {start,mati}; #include <mega128.h> #include <delay.h> #include <math.h> #include <stdio.h> #include <stdlib.h> // Alphanumeric LCD Module functions #asm .equ __lcd_port=0x15 ;PORTC #endasm #include <lcd.h> #define LED PORTA.0 #define Heater PORTD.0 #define Pb1 PINE.0 #define On 1
  • #define Off 0//Alokasi Port PING//#define SigOut PORTB.1#define SigIn PINB.1#define DirSig DDRB.1/////////////////////#define ADC_VREF_TYPE 0x40// Read the AD conversion resultunsigned int read_adc(unsigned char adc_input){ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);// Delay needed for the stabilization of the ADC input voltagedelay_us(10);// Start the AD conversionADCSRA|=0x40;// Wait for the AD conversion to completewhile ((ADCSRA & 0x10)==0);ADCSRA|=0x10;return ADCW;}void baca_ping();void baca_suhu();unsigned char suhu,state;unsigned int tegangan;char Baris1[16],Baris2[16];float distance;// Declare your global variables herevoid main(void){// Declare your local variables here// Input/Output Ports initialization// Port A initialization// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=InFunc0=Out
  • // State7=T State6=T State5=T State4=T State3=T State2=T State1=TState0=0PORTA=0x00;DDRA=0x01;// Port B initialization// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=InFunc0=In// State7=T State6=T State5=T State4=T State3=T State2=T State1=TState0=TPORTB=0x00;DDRB=0x00;// Port C initialization// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=InFunc0=In// State7=T State6=T State5=T State4=T State3=T State2=T State1=TState0=TPORTC=0x00;DDRC=0x00;// Port D initialization// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=InFunc0=Out// State7=T State6=T State5=T State4=T State3=T State2=T State1=TState0=0PORTD=0x00;DDRD=0x01;// Port E initialization// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=InFunc0=In// State7=T State6=T State5=T State4=T State3=T State2=T State1=TState0=TPORTE=0xFF;DDRE=0x00;// Port F initialization
  • // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=InFunc0=In// State7=T State6=T State5=T State4=T State3=T State2=T State1=TState0=TPORTF=0x00;DDRF=0x00;// Port G initialization// Func4=In Func3=In Func2=In Func1=In Func0=In// State4=T State3=T State2=T State1=T State0=TPORTG=0x00;DDRG=0x00;// Timer/Counter 0 initialization// Clock source: System Clock// Clock value: Timer 0 Stopped// Mode: Normal top=FFh// OC0 output: DisconnectedASSR=0x00;TCCR0=0x00;TCNT0=0x00;OCR0=0x00;// Timer/Counter 1 initialization// Clock source: System Clock// Clock value: 2000.000 kHz// Mode: Normal top=FFFFh// OC1A output: Discon.// OC1B output: Discon.// OC1C output: Discon.// Noise Canceler: Off// Input Capture on Falling Edge// Timer 1 Overflow Interrupt: Off// Input Capture Interrupt: Off// Compare A Match Interrupt: Off// Compare B Match Interrupt: Off// Compare C Match Interrupt: OffTCCR1A=0x00;TCCR1B=0x02;
  • TCNT1H=0x00;TCNT1L=0x00;ICR1H=0x00;ICR1L=0x00;OCR1AH=0x00;OCR1AL=0x00;OCR1BH=0x00;OCR1BL=0x00;OCR1CH=0x00;OCR1CL=0x00;// Timer/Counter 2 initialization// Clock source: System Clock// Clock value: Timer 2 Stopped// Mode: Normal top=FFh// OC2 output: DisconnectedTCCR2=0x00;TCNT2=0x00;OCR2=0x00;// Timer/Counter 3 initialization// Clock source: System Clock// Clock value: Timer 3 Stopped// Mode: Normal top=FFFFh// Noise Canceler: Off// Input Capture on Falling Edge// OC3A output: Discon.// OC3B output: Discon.// OC3C output: Discon.// Timer 3 Overflow Interrupt: Off// Input Capture Interrupt: Off// Compare A Match Interrupt: Off// Compare B Match Interrupt: Off// Compare C Match Interrupt: OffTCCR3A=0x00;TCCR3B=0x00;TCNT3H=0x00;TCNT3L=0x00;ICR3H=0x00;
  • ICR3L=0x00;OCR3AH=0x00;OCR3AL=0x00;OCR3BH=0x00;OCR3BL=0x00;OCR3CH=0x00;OCR3CL=0x00;// External Interrupt(s) initialization// INT0: Off// INT1: Off// INT2: Off// INT3: Off// INT4: Off// INT5: Off// INT6: Off// INT7: OffEICRA=0x00;EICRB=0x00;EIMSK=0x00;// Timer(s)/Counter(s) Interrupt(s) initializationTIMSK=0x00;ETIMSK=0x00;// Analog Comparator initialization// Analog Comparator: Off// Analog Comparator Input Capture by Timer/Counter 1: OffACSR=0x80;SFIOR=0x00;// ADC initialization// ADC Clock frequency: 250.000 kHz// ADC Voltage Reference: AVCC pinADMUX=ADC_VREF_TYPE & 0xff;ADCSRA=0x86;// LCD module initializationlcd_init(16);
  • lcd_clear(); lcd_putsf("Heater_Off");state=mati;while (1) { // Place your code here if (!Pb1) { if (state==mati) {state=start; delay_ms(200); } else if (state==start) {state=mati; lcd_clear(); lcd_putsf("Heater_Off"); delay_ms(200); //200 } } if (state==start) { lcd_clear(); //LED=1; Heater=1; baca_suhu(); baca_ping(); lcd_gotoxy(0,1);lcd_putsf("Jarak="); ftoa(distance,2,Baris2); lcd_gotoxy(7,1); lcd_puts(Baris2); lcd_putsf(" cm"); if (distance<=20 || distance>=120 || suhu>33) { LED=0; Heater=0; lcd_clear(); sprintf(Baris1,"Suhu =%3d H_SB",suhu); lcd_gotoxy(0,0);lcd_puts(Baris1); lcd_gotoxy(0,1);lcd_putsf("Jarak="); ftoa(distance,2,Baris2); lcd_gotoxy(7,1); lcd_puts(Baris2); lcd_putsf(" cm"); delay_ms(200); //100 baca_ping(); if ( distance>=120) //|| suhu>33 ) { lcd_clear(); lcd_gotoxy(0,0);lcd_putsf("Waiting..."); lcd_gotoxy(0,1);lcd_putsf("3 Detik");
  • delay_ms(3000); // delay waiting baca_ping(); if ( distance>=120 || suhu>33 ) {state=mati; lcd_clear();lcd_putsf("Heater_Off"); } } } else { LED=1; Heater=1; sprintf(Baris1,"Suhu =%3d H_On",suhu); lcd_gotoxy(0,0);lcd_puts(Baris1); } } else if (state==mati) { LED=Off; Heater=Off; } delay_ms(200); // 100 };};void baca_ping(){ DirSig=1; //Set sebagai output SigOut=1; //Pengiriman sinyal dimulai delay_us(5); SigOut=0; //Pengiriman sinyal selesai DirSig=0; //Set as input SigOut=1; //Pullup activated TCNT1=0; // mereset timer while (SigIn==0) {} TCCR1B=0x02; //mengeset timer dgan frekuensi 2 MHZ while (SigIn==1) {} TCCR1B=0x00; // mematikan timer distance=(TCNT1*0.0086106); // t=n/f // n=jumlah gel // f=frekuensi // s=v*t // v=344.434m/s // v=34443.4cm/s // 2s=v*t >> karena waktu tempuh 2 kali // 2s=34443.4* n /2000.000 >>>> 4MHZ // s= n * 0.0086106}
  • void baca_suhu(){ tegangan=read_adc(0); tegangan=tegangan*4.89; //tegangan sensor dalam milivolt suhu=tegangan/10;}
  • 599 Menlo Drive, Suite 100 General: info@parallax.com Rocklin, California 95765, USA Technical: support@parallax.com Office: (916) 624-8333 Web Site: www.parallax.com Fax: (916) 624-8003 Educational: www.stampsinclass.comPING)))™ Ultrasonic Distance Sensor (#28015)The Parallax PING))) ultrasonic distance sensor provides precise, non-contact distance measurementsfrom about 2 cm (0.8 inches) to 3 meters (3.3 yards). It is very easy to connect to BASIC Stamp® orJavelin Stamp microcontrollers, requiring only one I/O pin.The PING))) sensor works by transmitting an ultrasonic (well above human hearing range) burst andproviding an output pulse that corresponds to the time required for the burst echo to return to thesensor. By measuring the echo pulse width the distance to target can easily be calculated.Features • Supply Voltage – 5 VDC • Supply Current – 30 mA typ; 35 mA max • Range – 2 cm to 3 m (0.8 in to 3.3 yrds) • Input Trigger – positive TTL pulse, 2 uS min, 5 µs typ. • Echo Pulse – positive TTL pulse, 115 uS to 18.5 ms • Echo Hold-off – 750 µs from fall of Trigger pulse • Burst Frequency – 40 kHz for 200 µs • Burst Indicator LED shows sensor activity • Delay before next measurement – 200 µs • Size – 22 mm H x 46 mm W x 16 mm D (0.84 in x 1.8 in x 0.6 in)Dimensions© Parallax, Inc. • PING)))TM Ultrasonic Distance Sensor (#28015) • v1.3 6/13/2006 Page 1 of 13
  • Pin Definitions GND Ground (Vss) 5V 5 VDC (Vdd) SIG Signal (I/O pin)The PING))) sensor has a male 3-pin header used to supply power(5 VDC), ground, and signal. The header allows the sensor to beplugged into a solderless breadboard, or to be located remotelythrough the use of a standard servo extender cable (Parallax part#805-00002). Standard connections are show in the diagram tothe right.Quick-Start CircuitThis circuit allows you to quickly connect your PING))) sensor to a BASIC Stamp® 2 via the Board ofEducation® breadboard area. The PING))) module’s GND pin connects to Vss, the 5 V pin connects toVdd, and the SIG pin connects to I/O pin P15. This circuit will work with the example programPing_Demo.BS2 listed on page 7.Servo Cable and Port CautionsIf you want to connect your PING))) sensor to a Board of Educationusing a servo extension cable, follow these steps: 1. When plugging the cable onto the PING))) sensor, connect Black to GND, Red to 5 V, and White to SIG. 2. Check to see if your Board of Education servo ports have a jumper, as shown at right. 3. If your Board of Education servo ports have a jumper, set it to Vdd as shown. 4. If your Board of Education servo ports do not have a jumper, do not use them with the PING))) sensor. These ports only provide Vin, not Vdd, and this may damage your PING))) sensor. Go to the next step. 5. Connect the servo cable directly to the breadboard with a Board of Education Servo Port 3-pin header. Then, use jumper wires to connect Black to Jumper, Set to Vdd Vss, Red to Vdd, and White to I/O pin P15.© Parallax, Inc. • PING)))TM Ultrasonic Distance Sensor (#28015) • v1.3 6/13/2006 Page 2 of 13
  • Theory of OperationThe PING))) sensor detects objects by emitting a short ultrasonic burst and then "listening" for the echo.Under control of a host microcontroller (trigger pulse), the sensor emits a short 40 kHz (ultrasonic) burst.This burst travels through the air at about 1130 feet per second, hits an object and then bounces back tothe sensor. The PING))) sensor provides an output pulse to the host that will terminate when the echois detected, hence the width of this pulse corresponds to the distance to the target.Test DataThe test data on the following pages is based on the PING))) sensor, tested in the Parallax lab, whileconnected to a BASIC Stamp microcontroller module. The test surface was a linoleum floor, so thesensor was elevated to minimize floor reflections in the data. All tests were conducted at roomtemperature, indoors, in a protected environment. The target was always centered at the same elevationas the PING))) sensor.© Parallax, Inc. • PING)))TM Ultrasonic Distance Sensor (#28015) • v1.3 6/13/2006 Page 3 of 13
  • Test 1Sensor Elevation: 40 in. (101.6 cm)Target: 3.5 in. (8.9 cm) diameter cylinder, 4 ft. (121.9 cm) tall – vertical orientation© Parallax, Inc. • PING)))TM Ultrasonic Distance Sensor (#28015) • v1.3 6/13/2006 Page 4 of 13
  • Test 2Sensor Elevation: 40 in. (101.6 cm)Target: 12 in. x 12 in. (30.5 cm x 30.5 cm) cardboard, mounted on 1 in. (2.5 cm) pole ● target positioned parallel to backplane of sensor© Parallax, Inc. • PING)))TM Ultrasonic Distance Sensor (#28015) • v1.3 6/13/2006 Page 5 of 13
  • Program Example: BASIC Stamp 2 MicrocontrollerThe following program demonstrates the use of the PING))) sensor with the BASIC Stamp 2microcontroller. Any model of BASIC Stamp 2 module will work with this program as conditionalcompilation techniques are used to make adjustments based on the module that is connected.The heart of the program is the Get_Sonar subroutine. This routine starts by making the output bit ofthe selected IO pin zero – this will cause the successive PULSOUT to be low-high-low as required fortriggering the PING))) sensor. After the trigger pulse falls the sensor will wait about 200 microsecondsbefore transmitting the ultrasonic burst. This allows the BS2 to load and prepare the next instruction.That instruction, PULSIN, is used to measure the high-going pulse that corresponds to the distance tothe target object.The raw return value from PULSIN must be scaled due to resolution differences between the variousmembers of the BS2 family. After the raw value is converted to microseconds, it is divided by two inorder to remove the "return trip" of the echo pulse. The value now held in rawDist is the distance to thetarget in microseconds.Conversion from microseconds to inches (or centimeters) is now a simple matter of math. The generally-accepted value for the speed-of-sound is 1130 feet per second. This works out to 13,560 inches persecond or one inch in 73.746 microseconds. The question becomes, how do we divide our pulsemeasurement value by the floating-point number 73.746?Another way to divide by 73.746 is to multiply by 0.01356. For new BASIC Stamp users this may seem adilemma but in fact there is a special operator, **, that allows us to do just that. The ** operator hasthe affect of multiplying a value by units of 1/65,536. To find the parameter for ** then, we simplymultiply 0.01356 by 65,536; the result is 888.668 (well round up to 889).Conversion to centimeters uses the same process and the result of the program is shown below:© Parallax, Inc. • PING)))TM Ultrasonic Distance Sensor (#28015) • v1.3 6/13/2006 Page 6 of 13
  • ========================================================================= File....... Ping_Demo.BS2 Purpose.... Demo Code for Parallax PING))) Sonar Sensor Author..... Parallax, Inc. E-mail..... support@parallax.com Started.... Updated.... 08 JUN 2005 {$STAMP BS2} {$PBASIC 2.5} ========================================================================= -----[ Program Description ]--------------------------------------------- This program demonstrates the use of the Parallax PING))) sensor and then converting the raw measurement to English (inches) and Metric (cm) units. Sonar Math: At sea level sound travels through air at 1130 feet per second. This equates to 1 inch in 73.746 uS, or 1 cm in 29.034 uS). Since the PING))) sensor measures the time required for the sound wave to travel from the sensor and back. The result -- after conversion to microseconds for the BASIC Stamp module in use -- is divided by two to remove the return portion of the echo pulse. The final raw result is the duration from the front of the sensor to the target in microseconds. -----[ I/O Definitions ]-------------------------------------------------Ping PIN 15 -----[ Constants ]-------------------------------------------------------#SELECT $STAMP #CASE BS2, BS2E Trigger CON 5 trigger pulse = 10 uS Scale CON $200 raw x 2.00 = uS #CASE BS2SX, BS2P, BS2PX Trigger CON 13 Scale CON $0CD raw x 0.80 = uS #CASE BS2PE Trigger CON 5 Scale CON $1E1 raw x 1.88 = uS#ENDSELECTRawToIn CON 889 1 / 73.746 (with **)RawToCm CON 2257 1 / 29.034 (with **)IsHigh CON 1 for PULSOUTIsLow CON 0© Parallax, Inc. • PING)))TM Ultrasonic Distance Sensor (#28015) • v1.3 6/13/2006 Page 7 of 13
  • -----[ Variables ]-------------------------------------------------------rawDist VAR Word raw measurementinches VAR Wordcm VAR Word -----[ Initialization ]--------------------------------------------------Reset: DEBUG CLS, "Parallax PING))) Sonar", CR, setup report screen "======================", CR, CR, "Time (uS)..... ", CR, "Inches........ ", CR, "Centimeters... " -----[ Program Code ]----------------------------------------------------Main: DO GOSUB Get_Sonar get sensor value inches = rawDist ** RawToIn convert to inches cm = rawDist ** RawToCm convert to centimeters DEBUG CRSRXY, 15, 3, update report screen DEC rawDist, CLREOL, CRSRXY, 15, 4, DEC inches, CLREOL, CRSRXY, 15, 5, DEC cm, CLREOL PAUSE 100 LOOP END -----[ Subroutines ]----------------------------------------------------- This subroutine triggers the PING))) sonar sensor and measures the echo pulse. The raw value from the sensor is converted to microseconds based on the Stamp module in use. This value is divided by two to remove the return trip -- the result value is the distance from the sensor to the target in microseconds.Get_Sonar: Ping = IsLow make trigger 0-1-0 PULSOUT Ping, Trigger activate sensor PULSIN Ping, IsHigh, rawDist measure echo pulse rawDist = rawDist */ Scale convert to uS rawDist = rawDist / 2 remove return trip RETURN© Parallax, Inc. • PING)))TM Ultrasonic Distance Sensor (#28015) • v1.3 6/13/2006 Page 8 of 13
  • Program Example: BASIC Stamp 1 Microcontroller ========================================================================= File....... Ping_Demo.BS1 Purpose.... Demo Code for Parallax PING))) Sonar Sensor Author..... Parallax, Inc. E-mail..... support@parallax.com Started.... Updated.... 06 JUN 2006 {$STAMP BS1} {$PBASIC 1.0} ========================================================================= -----[ Program Description ]--------------------------------------------- This program demonstrates the use of the Parallax PING))) sensor and then converting the raw measurement to English (inches) and Metric (cm) units. Sonar Math: At sea level sound travels through air at 1130 feet per second. This equates to 1 inch in 73.746 uS, or 1 cm in 29.034 uS). Since the PING))) sensor measures the time required for the sound wave to travel from the sensor and back. The result -- after conversion to microseconds for the BASIC Stamp module in use -- is divided by two to remove the return portion of the echo pulse. The final raw result is the duration from the front of the sensor to the target in microseconds. -----[ I/O Definitions ]-------------------------------------------------SYMBOL Ping = 7 -----[ Constants ]-------------------------------------------------------SYMBOL Trigger = 1 10 uS trigger pulseSYMBOL Scale = 10 raw x 10.00 = uSSYMBOL RawToIn = 889 1 / 73.746 (with **)SYMBOL RawToCm = 2257 1 / 29.034 (with **)SYMBOL IsHigh = 1 for PULSOUTSYMBOL IsLow = 0 -----[ Variables ]-------------------------------------------------------SYMBOL rawDist = W1 raw measurementSYMBOL inches = W2SYMBOL cm = W3© Parallax, Inc. • PING)))TM Ultrasonic Distance Sensor (#28015) • v1.3 6/13/2006 Page 9 of 13
  • -----[ Program Code ]----------------------------------------------------Main: GOSUB Get_Sonar get sensor value inches = rawDist ** RawToIn convert to inches cm = rawDist ** RawToCm convert to centimeters DEBUG CLS report DEBUG "Time (uS)..... ", #rawDist, CR DEBUG "Inches........ ", #inches, CR DEBUG "Centimeters... ", #cm PAUSE 500 GOTO Main END -----[ Subroutines ]----------------------------------------------------- This subroutine triggers the PING))) sonar sensor and measures the echo pulse. The raw value from the sensor is converted to microseconds based on the Stamp module in use. This value is divided by two to remove the return trip -- the result value is the distance from the sensor to the target in microseconds.Get_Sonar: LOW Ping make trigger 0-1-0 PULSOUT Ping, Trigger activate sensor PULSIN Ping, IsHigh, rawDist measure echo pulse rawDist = rawDist * Scale convert to uS rawDist = rawDist / 2 remove return trip RETURN© Parallax, Inc. • PING)))TM Ultrasonic Distance Sensor (#28015) • v1.3 6/13/2006 Page 10 of 13
  • Program Example: Javelin Stamp MicrocontrollerThis class file implements several methods for using the PING))) sensor:package stamp.peripheral.sensor;import stamp.core.*;/** * This class provides an interface to the Parallax PING))) ultrasonic * range finder module. * <p> * <i>Usage:</i><br> * <code> * Ping range = new Ping(CPU.pin0); // trigger and echo on P0 * </code> * <p> * Detailed documentation for the PING))) Sensor can be found at: <br> * http://www.parallax.com/detail.asp?product_id=28015 * <p> * * @version 1.0 03 FEB 2005 */public final class Ping { private int ioPin; /** * Creates PING))) range finder object * * @param ioPin PING))) trigger and echo return pin */ public Ping (int ioPin) { this.ioPin = ioPin; } /** * Returns raw distance value from the PING))) sensor. * * @return Raw distance value from PING))) */ public int getRaw() { int echoRaw = 0; CPU.writePin(ioPin, false); // setup for high-going pulse CPU.pulseOut(1, ioPin); // send trigger pulse echoRaw = CPU.pulseIn(2171, ioPin, true); // measure echo return // return echo pulse if in range; zero if out-of-range return (echoRaw < 2131) ? echoRaw : 0; }© Parallax, Inc. • PING)))TM Ultrasonic Distance Sensor (#28015) • v1.3 6/13/2006 Page 11 of 13
  • /* * The PING))) returns a pulse width of 73.746 uS per inch. Since the * Javelin pulseIn() round-trip echo time is in 8.68 uS units, this is the * same as a one-way trip in 4.34 uS units. Dividing 73.746 by 4.34 we * get a time-per-inch conversion factor of 16.9922 (x 0.058851). * * Values to derive conversion factors are selected to prevent roll-over * past the 15-bit positive values of Javelin Stamp integers. */ /** * @return PING))) distance value in inches */ public int getIn() { return (getRaw() * 3 / 51); // raw * 0.058824 } /** * @return PING))) distance value in tenths of inches */ public int getIn10() { return (getRaw() * 3 / 5); // raw / 1.6667 } /* * The PING))) returns a pulse width of 29.033 uS per centimeter. As the * Javelin pulseIn() round-trip echo time is in 8.68 uS units, this is the * same as a one-way trip in 4.34 uS units. Dividing 29.033 by 4.34 we * get a time-per-centimeter conversion factor of 6.6896. * * Values to derive conversion factors are selected to prevent roll-over * past the 15-bit positive values of Javelin Stamp integers. */ /** * @return PING))) distance value in centimeters */ public int getCm() { return (getRaw() * 3 / 20); // raw / 6.6667 } /** * @return PING))) distance value in millimeters */ public int getMm() { return (getRaw() * 3 / 2); // raw / 0.6667 }}This simple demo illustrates the use of the PING))) ultrasonic range finder class with the Javelin Stamp:© Parallax, Inc. • PING)))TM Ultrasonic Distance Sensor (#28015) • v1.3 6/13/2006 Page 12 of 13
  • import stamp.core.*;import stamp.peripheral.sensor.Ping;public class testPing { public static final char HOME = 0x01; public static void main() { Ping range = new Ping(CPU.pin0); StringBuffer msg = new StringBuffer(); int distance; while (true) { // measure distance to target in inches distance = range.getIn(); // create and display measurement message msg.clear(); msg.append(HOME); msg.append(distance); msg.append(" " n"); System.out.print(msg.toString()); // wait 0.5 seconds between readings CPU.delay(5000); } }}© Parallax, Inc. • PING)))TM Ultrasonic Distance Sensor (#28015) • v1.3 6/13/2006 Page 13 of 13
  • MOTOROLA Order this documentSEMICONDUCTOR TECHNICAL DATA by MOC3020/D MOC3021[IFT = 15 mA Max] MOC3022 GlobalOptoisolator™6-Pin DIP Random-Phase [IFT = 10 mA Max]Optoisolators Triac Driver Output MOC3023 * [IFT = 5 mA Max](400 Volts Peak) *Motorola Preferred Device The MOC3020 Series consists of gallium arsenide infrared emitting diodes,optically coupled to a silicon bilateral switch.• To order devices that are tested and marked per VDE 0884 requirements, the STYLE 6 PLASTIC suffix ”V” must be included at end of part number. VDE 0884 is a test option. They are designed for applications requiring isolated triac triggering.Recommended for 115/240 Vac(rms) Applications: 6• Solenoid/Valve Controls • Static ac Power Switch 1• Lamp Ballasts • Solid State Relays STANDARD THRU HOLE• Interfacing Microprocessors to 115 Vac Peripherals • Incandescent Lamp Dimmers CASE 730A–04• Motor Controls SCHEMATICMAXIMUM RATINGS (TA = 25°C unless otherwise noted) 1 6 Rating Symbol Value UnitINFRARED EMITTING DIODE 2 5 Reverse Voltage VR 3 Volts Forward Current — Continuous IF 60 mA 3 4 Total Power Dissipation @ TA = 25°C PD 100 mW Negligible Power in Triac Driver 1. ANODE Derate above 25°C 1.33 mW/°C 2. CATHODE 3. NCOUTPUT DRIVER 4. MAIN TERMINAL Off–State Output Terminal Voltage VDRM 400 Volts 5. SUBSTRATE 5. DO NOT CONNECT Peak Repetitive Surge Current ITSM 1 A 6. MAIN TERMINAL (PW = 1 ms, 120 pps) Total Power Dissipation @ TA = 25°C PD 300 mW Derate above 25°C 4 mW/°CTOTAL DEVICE Isolation Surge Voltage(1) VISO 7500 Vac(pk) (Peak ac Voltage, 60 Hz, 1 Second Duration) Total Power Dissipation @ TA = 25°C PD 330 mW Derate above 25°C 4.4 mW/°C Junction Temperature Range TJ – 40 to +100 °C Ambient Operating Temperature Range(2) TA – 40 to +85 °C Storage Temperature Range(2) Tstg – 40 to +150 °C Soldering Temperature (10 s) TL 260 °C1. Isolation surge voltage, VISO, is an internal device dielectric breakdown rating.1. For this test, Pins 1 and 2 are common, and Pins 4, 5 and 6 are common.2. Refer to Quality and Reliability Section in Opto Data Book for information on test conditions.Preferred devices are Motorola recommended choices for future use and best overall value.GlobalOptoisolator is a trademark of Motorola, Inc.REV 1 ©MotorolaInc. 1995 Motorola, Optoelectronics Device Data 1
  • MOC3021 MOC3022 MOC3023ELECTRICAL CHARACTERISTICS (TA = 25°C unless otherwise noted) Characteristic Symbol Min Typ Max UnitINPUT LED Reverse Leakage Current IR — 0.05 100 µA (VR = 3 V) Forward Voltage VF — 1.15 1.5 Volts (IF = 10 mA)OUTPUT DETECTOR (IF = 0 unless otherwise noted) Peak Blocking Current, Either Direction IDRM — 10 100 nA (Rated VDRM(1)) Peak On–State Voltage, Either Direction VTM — 1.8 3 Volts (ITM = 100 mA Peak) Critical Rate of Rise of Off–State Voltage (Figure 7, Note 2) dv/dt — 10 — V/µsCOUPLED LED Trigger Current, Current Required to Latch Output IFT mA (Main Terminal Voltage = 3 V(3)) MOC3021 — 8 15 MOC3022 — — 10 MOC3023 — — 5 Holding Current, Either Direction IH — 100 — µA1. Test voltage must be applied within dv/dt rating.2. This is static dv/dt. See Figure 7 for test circuit. Commutating dv/dt is a function of the load–driving thyristor(s) only.3. All devices are guaranteed to trigger at an IF value less than or equal to max IFT. Therefore, recommended operating IF lies between max3. IFT (15 mA for MOC3021, 10 mA for MOC3022, 5 mA for MOC3023) and absolute max IF (60 mA). TYPICAL ELECTRICAL CHARACTERISTICS TA = 25°C 2 +800VF, FORWARD VOLTAGE (VOLTS) ITM , ON-STATE CURRENT (mA) 1.8 PULSE ONLY +400 PULSE OR DC 1.6 0 1.4 TA = –40°C –400 1.2 25°C 1 85°C –800 1 10 100 1000 –3 –2 –1 0 1 2 3 IF, LED FORWARD CURRENT (mA) VTM, ON–STATE VOLTAGE (VOLTS) Figure 1. LED Forward Voltage versus Forward Current Figure 2. On–State Characteristics 2 Motorola Optoelectronics Device Data
  • MOC3021 MOC3022 MOC3023 1.4 25 IFT, NORMALIZED LED TRIGGER CURRENT IFT, TRIGGER CURRENT – NORMALIZED 1.3 NORMALIZED TO: 1.2 20 q PWin 100 µs 1.1 15 1 0.9 10 0.8 5 0.7 0.6 0 –40 –20 0 20 40 60 80 100 1 2 5 10 20 50 100 TA, AMBIENT TEMPERATURE (°C) PWin, LED TRIGGER WIDTH (µs) Figure 3. Trigger Current versus Temperature Figure 4. LED Current Required to Trigger versus LED Pulse Width 12 100 STATIC dv/dt I DRM, LEAKAGE CURRENT (nA) 10 CIRCUIT IN FIGURE 7dv/dt, STATIC (V/ µs) 8 6 10 4 2 0 25 30 40 50 60 70 80 90 100 1 – 40 – 30 – 20 –10 0 10 20 30 40 50 60 70 80 TA, AMBIENT TEMPERATURE (°C) TA, AMBIENT TEMPERATURE (°C) Figure 5. dv/dt versus Temperature Figure 6. Leakage Current, IDRM versus Temperature +400 Vdc RTEST 1. The mercury wetted relay provides a high speed repeated R = 10 kΩ pulse to the D.U.T. 2. 100x scope probes are used, to allow high speeds and voltages. PULSE CTEST 3. The worst–case condition for static dv/dt is established by INPUT MERCURY triggering the D.U.T. with a normal LED input current, then X100 WETTED removing the current. The variable RTEST allows the dv/dt to be SCOPE RELAY D.U.T. gradually increased until the D.U.T. continues to trigger in PROBE response to the applied voltage pulse, even after the LED current has been removed. The dv/dt is then decreased until the D.U.T. stops triggering. tRC is measured at this point and recorded. Vmax = 400 V APPLIED VOLTAGE WAVEFORM 252 V 0 VOLTS ń + 0.63 RCmax + 252 dv dt V RC t t tRC Figure 7. Static dv/dt Test Circuit Motorola Optoelectronics Device Data 3
  • MOC3021 MOC3022 MOC3023 Rin 1 6 360 470 VCC HOT MOC 2 3021/ 5 0.05 µF 39 240 3022/ VAC 3 3023 4 0.01 µF LOAD GROUND* This optoisolator should not be used to drive a load directly. It is in- In this circuit the “hot” side of the line is switched and the tended to be a trigger device only. load connected to the cold or ground side.Additional information on the use of optically coupled triac The 39 ohm resistor and 0.01 µF capacitor are for snub-drivers is available in Application Note AN–780A. bing of the triac, and the 470 ohm resistor and 0.05 µF ca- pacitor are for snubbing the coupler. These components may or may not be necessary depending upon the particu- lar triac and load used. Figure 8. Typical Application Circuit 4 Motorola Optoelectronics Device Data
  • MOC3021 MOC3022 MOC3023 PACKAGE DIMENSIONS –A– NOTES: 6 4 1. DIMENSIONING AND TOLERANCING PER ANSI Y14.5M, 1982. –B– 2. CONTROLLING DIMENSION: INCH. 3. DIMENSION L TO CENTER OF LEAD WHEN 1 3 FORMED PARALLEL. INCHES MILLIMETERS DIM MIN MAX MIN MAX F 4 PL C L A 0.320 0.350 8.13 8.89 N B 0.240 0.260 6.10 6.60 C 0.115 0.200 2.93 5.08 D 0.016 0.020 0.41 0.50 E 0.040 0.070 1.02 1.77 F 0.010 0.014 0.25 0.36 –T– K G 0.100 BSC 2.54 BSC SEATING J 0.008 0.012 0.21 0.30 PLANE G J 6 PL K 0.100 0.150 2.54 3.81 L 0.300 BSC 7.62 BSC M 0.13 (0.005) M T B M A M M 0_ 15 _ 0_ 15 _ E 6 PL N 0.015 0.100 0.38 2.54 D 6 PL 0.13 (0.005) M T A M B M STYLE 6: PIN 1. ANODE 2. CATHODE 3. NC 4. MAIN TERMINAL 5. SUBSTRATE 6. MAIN TERMINAL CASE 730A–04 ISSUE G –A– 6 4 –B– S NOTES: 1. DIMENSIONING AND TOLERANCING PER ANSI 1 3 Y14.5M, 1982. 2. CONTROLLING DIMENSION: INCH. INCHES MILLIMETERS L DIM MIN MAX MIN MAX F 4 PL H A 0.320 0.350 8.13 8.89 B 0.240 0.260 6.10 6.60 C 0.115 0.200 2.93 5.08 C D 0.016 0.020 0.41 0.50 E 0.040 0.070 1.02 1.77 –T– F 0.010 0.014 0.25 0.36 G G 0.100 BSC 2.54 BSC J SEATING H 0.020 0.025 0.51 0.63 PLANE E 6 PL K 6 PL J 0.008 0.012 0.20 0.30 K 0.006 0.035 0.16 0.88 D 6 PL 0.13 (0.005) M T B M A M L 0.320 BSC 8.13 BSC S 0.332 0.390 8.43 9.90 0.13 (0.005) M T A M B M *Consult factory for leadform option availability CASE 730C–04 ISSUE DMotorola Optoelectronics Device Data 5
  • MOC3021 MOC3022 MOC3023 –A– NOTES: 1. DIMENSIONING AND TOLERANCING PER ANSI Y14.5M, 1982. 2. CONTROLLING DIMENSION: INCH. 6 4 3. DIMENSION L TO CENTER OF LEAD WHEN FORMED PARALLEL. –B– 1 3 INCHES MILLIMETERS DIM MIN MAX MIN MAX A 0.320 0.350 8.13 8.89 B 0.240 0.260 6.10 6.60 L C 0.115 0.200 2.93 5.08 F 4 PL N D 0.016 0.020 0.41 0.50 E 0.040 0.070 1.02 1.77 F 0.010 0.014 0.25 0.36 C G 0.100 BSC 2.54 BSC J 0.008 0.012 0.21 0.30 –T– K 0.100 0.150 2.54 3.81 SEATING L 0.400 0.425 10.16 10.80 PLANE G N 0.015 0.040 0.38 1.02 K J D 6 PL E 6 PL 0.13 (0.005) M T A M B M *Consult factory for leadform option availability CASE 730D–05 ISSUE D Motorola reserves the right to make changes without further notice to any products herein. Motorola makes no warranty, representation or guarantee regarding the suitability of its products for any particular purpose, nor does Motorola assume any liability arising out of the application or use of any product or circuit, and specifically disclaims any and all liability, including without limitation consequential or incidental damages. “Typical” parameters can and do vary in different applications. All operating parameters, including “Typicals” must be validated for each customer application by customer’s technical experts. Motorola does not convey any license under its patent rights nor the rights of others. Motorola products are not designed, intended, or authorized for use as components in systems intended for surgical implant into the body, or other applications intended to support or sustain life, or for any other application in which the failure of the Motorola product could create a situation where personal injury or death may occur. Should Buyer purchase or use Motorola products for any such unintended or unauthorized application, Buyer shall indemnify and hold Motorola and its officers, employees, subsidiaries, affiliates, and distributors harmless against all claims, costs, damages, and expenses, and reasonable attorney fees arising out of, directly or indirectly, any claim of personal injury or death associated with such unintended or unauthorized use, even if such claim alleges that Motorola was negligent regarding the design or manufacture of the part. Motorola and are registered trademarks of Motorola, Inc. Motorola, Inc. is an Equal Opportunity/Affirmative Action Employer.How to reach us:USA / EUROPE: Motorola Literature Distribution; JAPAN: Nippon Motorola Ltd.; Tatsumi–SPD–JLDC, Toshikatsu Otsuki,P.O. Box 20912; Phoenix, Arizona 85036. 1–800–441–2447 6F Seibu–Butsuryu–Center, 3–14–2 Tatsumi Koto–Ku, Tokyo 135, Japan. 03–3521–8315MFAX: RMFAX0@email.sps.mot.com – TOUCHTONE (602) 244–6609 HONG KONG: Motorola Semiconductors H.K. Ltd.; 8B Tai Ping Industrial Park,INTERNET: http://Design–NET.com 51 Ting Kok Road, Tai Po, N.T., Hong Kong. 852–26629298 *MOC3020/D* 6 ◊ Motorola OptoelectronicsMOC3020/D Device Data
  • This datasheet has been download from: www.datasheetcatalog.comDatasheets for electronics components.