You are on page 1of 55

PROYEK AKHIR

RANCANG BANGUN ROLLING DOOR MENGGUNAKAN CONTROL REMOTE (SOFTWARE)

Oleh : DENI ARIYONO NRP 7305 030 032

Dosen Pembimbing : Ir. HENDIK EKO HADI SUHARYANTO, MT NIP 131 651 430 RUSIANA, ST NIP 131 884 955

JURUSAN TEKNIK ELEKTO INDUSTRI POLITEKNIK ELEKTRONIKA NEGERI SURABAYA INSTITUT TEKNOLOGI SEPULUH NOPEMBER SURABAYA PENS ITS 2008

PROYEK AKHIR

RANCANG BANGUN ROLLING DOOR MENGGUNAKAN CONTROL REMOTE ( SOFTWARE )

Oleh : DENI ARIYONO NRP 7305 030 032

Dosen Pembimbing : Ir. HENDIK EKO HADI SUHARYANTO, MT NIP 131 651 430 RUSIANA, ST NIP 131 884 955

JURUSAN TEKNIK ELEKTO INDUSTRI POLITEKNIK ELEKTRONIKA NEGERI SURABAYA INSTITUT TEKNOLOGI SEPULUH NOPEMBER SURABAYA PENS ITS 2008

ABSTRAK Baru-baru ini, systim alat bantu memiliki berbagai teknologi yang sering dikenal dengan sistem cerdas. Salah satu di antaranya adalah Rolling Door Remote, metode yang umum digunakan untuk mengendalikan kecepatan motor dc adalah PulseWidth Modulation (PWM). Pembangkitan sinyal PWM dengan menggunakan microcontroler memiliki beberapa keuntungan, seperti teknik pemrograman yang sederhana dan rangkaian listrik menjadi sederhana.Tujuan tugas akhir ini adalah merancang sistem pengaturan putaran untuk motor dc menggunakan Remote Control berbasis microcontroler Atmega16 Dengan menggunakan microcontroller mendapat masukan dari remote akan diproses guna mendapatkan nilai duty cycle sinyal PWM, nilai inilah yang digunakan sebagai acuan pembangkit PWM.

Kata kunci : Remote Control Microcontroller, pwm

ABSTRACT

Recently, appliance systim assist to have various technology which often recognized with smart system. One of the among others is Rolling Door Remote, method used occasionally to control speed of motor dc is Pulse- Width Modulation ( PWM) .Evocation of PWM sinyal with microcontroler have some advantage, like technique of pemrograman simple and electrics network become simplely. Target of this final duty is design system arrangement of rotation for the motor of dc use Remote Control base on Atmega16 mcrocontroler. By using microcontroller get input of remote will be processed to utilize to get value of duty PWM sinyal cycle, used as this value of reference generating of PWM.

Keyword : Remote Control , Microcontroller, PWM

RANCANG BANGUN ROLLING DOOR MENGGUNAKAN CONTROL REMOTE ( SOFTWARE ) Oleh : DENI ARIYONO NRP 7305 030 32 Proyek Akhir Ini Digunakan Sebagai Salah Satu Syarat Untuk Mendapatkan Gelar Ahli Madya (A.Md) Di Politeknik Elektronika Negeri Surabaya Institut Teknologi Sepuluh Nopember Surabaya Disetujui Oleh : Tim Penguji Proyek Akhir : Dosen Pembimbing :

1.

Endro Wahjono, S.ST NIP. 131 960 381

1.

Ir. Hendik Eko. HS, MT

NIP 131 651 430

2.

Epyk Sunarno, S.ST NIP. 131 964 955

3.

2.

Rusiana, ST NIP. 131 884 995

3.

Reny Rachmawati NIP. 132 233 200 Mengetahui : Ketua Jurusan Elektro Industri

Ainur Rofiq Nansur, ST, MT NIP 131 859 915

KATA PENGANTAR

Bismillahirrohmaanirrohiim, Alhamdulillah, haya dengan perkenan ,rahmat dan hidayahnya dari Allah SWT, sehingga saya dapat menyelesaikan Tugas Akhir yang yang berjudul: RANCANG BANGUN ROLLING DOOR MENGGUNAKAN CONTROL REMOTE Tugas akhir ini disusun untuk memenuhi sebagian persyaratan dalam menyelesaikan pendidikan gelar diploma 3 Teknik Elektro Industri pada Politeknik Elektronika Negeri Surabaya. Tugas akhir ini dirancang berdasarkan teori dan praktikum yang diperoleh selama masa perkuliahan dan berbagai literature penunjangnya. Penulis berharap kiranya Tugas Akhir ini dapat memberikan manfaat yang positif bagi perkembangan ilmu pengetahuan dan teknologi.

Surabaya,28 juli 2008

Penulis

UCAPAN TERIMA KASIH


Puji Syukur ke hadirat Tuhan Yang Maha Esa,karena atas limpahan RahmatNya, proyek akhir ini dapat terselesaikan dengan baik sesuai dengan jadwal yang telah ditentukan. Dan tanpa menghilangkan rasa hormat yang mendalam penulis mengucapkan terima kasih yang sebesar-besarnya kepada pihak-pihak yang telah membantu penulis untuk menyelesaikan Proyek akhir ini, terutama kepada : 1. Allah SWT, atas semua limpahan rahmat dan perlindungan-NYA, serta nikmat yang telah kau berikan selama ini kepadaku 2. Ibu dan Bapak tercinta yang telah memberi restu, nasehat, doa dan dorongan semangat dalam setiap langkahku, semoga Allah selalu melindungi mereka semua 3. Bapak Dr. Ir. Titon Dutono M.Eng. selaku direktur Politeknik Elektronika Negeri Surabaya 4. Bapak H. Ainur Rofiq Nansur, ST.MT. selaku kepala jurusan Teknik Elektro Industri, Politeknik Elektronika Negeri Surabaya 5. Bapak Ir. Hendik Eko Hadi Suharyanto, MT. dan Ibu Rusiana, ST. selaku dosen pembimbing yang telah banyak memberi pengarahan dan bimbingan kepada kami untuk menyelesaikan Proyek akhir ini 6. Bapak Endro Wahjono, S.ST, Bapak Epyk Sunarno, S.ST, dan Ibu Renny Rakmawati, ST.MT. Selaku dosen penguji 7. Seluruh keluargaku yang telah memberi dukungan, doa, semangat yang sangat kubutuhkan. Thanks..aku bisa seperti sekarang karena kalian... 8. Partner TA-ku, VAVAN COOL yang telah membantu mengerjakan TA ini sehingga selesai dengan baik

9. DJ POO terima kasih atas masukan masukan yang telah diberikan 10.Pati Coy Steven Coy atas Job-Jobannya yang selalu membuat pikiran saya frezz terussss 11. My Cweety Love yang memberi banyak support baik secara moril maupun materil 12. Bapak Mugiarto dan seluruh warga GDS yang telah membantu memberikan ide briliant untuk terciptanya alat ini 13. Seluruh warga ELIN 05 JOSSS atas kekompakan, persaudaraan dan bantuannya
14. Dan semua pihak yang telah memberikan motivasi, inovasi yang tidak dapat ditulis disini satu persatu

DAFTAR ISI JUDUL LEMBAR PENGESAHAN ABSTRAK............................................................................. i ABSTRACT.......................................................................... ii KATA PENGANTAR.......................................................... iii UCAPAN TERIMA KASIH..................................................iv DAFTAR ISI.......vii DAFTAR GAMBAR.....viii DAFTAR TABEL....ix BAB I PENDAHULUAN 1.1. Latar Belakang .......................................................1 1.2. Tujuan....................................................................1 1.3. Permasalahan .........................................................1 1.4. Batasan Masalah ....................................................2 1.5. Ruang Lingkup ......................................................2 1.6. Metodologi.............................................................2 1.7. Sistematika.............................................................2 1.8. Tinjauan Pustaka ....................................................3 BAB II TEORI PENUNJANG 2.1.Umum.....................................................................4 2.2.Mikrokontroller ......................................................4 i. Bagian Dari Mikrokontroller......4 ii. Central Processing Unit.....................4 iii. Random Access Memory...5 iv. Read Only Memory....5 v. Input Output Unit...5 2.3.Mikrokontroller AVR ATMEGA 16.....6 2.3.1.Konfigurasi Pin-Pin ATMEGA 16..8 2.3.2.Download Program ......................................10 2.3.3.Code Vision AVR ........................................10

BAB III PERANCANGAN DAN PEMBUATAN ALAT 3.1.Konfigurasi System.................16 3.2.Flowchart.........17 3.3.Perancangan Mikrokontroller ................................18 vi. Perancangan ATMEGA 16...18 vii. Perancangan Minimum System.....18 BAB IV PENGUJIAN DAN HASIL 4.1. Tujuan.....20 4.2. Pengujian Remote Control....................................20 4.3. Pengujian PWM......21 4.4. Pengujian Minimum Sistem...................................23 4.5. Pengujian Sensor Rotary Encoder..25 4.6. Pengujian Driver.....27 BAB V PENUTUP 5.1. Kesimpulan.....28 5.2. Saran...29 DAFTAR PUSTAKA..30 LAMPIRAN

DAFTAR GAMBAR

Gambar 2. 1. Blok diagram ATMEGA 16..............................7 Gambar 2. 2. Pin ATMEGA 16 kemasan 40 PIN...................8 Gambar 2. 3. Alur interface Atmega......................................10 Gambar 2. 4. Code Vision AVR.............................................11 Gambar 2. 5. Blok Penginisialisasian Program......................12 Gambar 2. 6. Bagian Penulisan Program...............................12 Gambar 2. 7. Software Code Vision AVR.............................13 Gambar2. 8. Create Project Baru........................13 Gambar 2. 9. Pilihan untuk menggunakan Code Wizard.......14 Gambar 2. 10. Mensetting chip, Input/Output....14 Gambar 2. 11. Menghasilkan kode program...........................15 Gambar 3. 1. Konfigurasi system............................................16 Gambar 3. 2. Flowchart program utama.................................17 Gambar 3. 3. Rangkaian System............................................19 Gambar 4. 2. Tampilan PWM dengan Mikrokontroller.....22 Gambar 4. 3. Rangkaian uji Minimum Sistem.......................24 Gambar 4. 4. Flowchart Counter............................................26

DAFTAR TABEL Tabel 2.1 Bagian Umum Mikrokontroller.................................4 Tabel 4.1 Input Output Remote Control..................................20 Tabel 4.2 Data Pengujian PWM............................................23

BAB I PENDAHULUAN 1.1. LATAR BELAKANG


Baru-baru ini, systim alat bantu memiliki berbagai teknologi yang sering dikenal dengan sistem cerdas. Salah satu di antaranya adalah Rolling Door Remote, metode yang umum digunakan untuk mengendalikan kecepatan motor dc adalah Pulse- Width Modulation (PWM). Pembangkitan sinyal PWM dengan microcontroler memiliki beberapa keuntungan, seperti teknik pemrograman yang sederhana dan rangkaian listrik menjadi sederhana. Tujuan tugas akhir ini adalah merancang sistem pengaturan putaran untuk motor dc menggunakan Remote Control berbasis microcontroler Atmega16. Dengan menggunakan Mikrokontroller mendapat masukan dari remote akan diproses guna mendapatkan nilai duty cycle sinyal PWM, nilai inilah yang digunakan sebagai acuan pembangkit PWM.

1.2. TUJUAN Tujuan utama dari pembuatan rancang bangun Rolling Door menggunakan control remote ini dalam perencanaan perangkat lunak adalah mendapatkan tingkat kepresisian dan ketepatan dalam menggulung, sehingga Rolling Door dapat membuka atau menutup sesuai setting melalui penekanan pada tombol remote. Sedangkan tujuan khusus dari pembuaatan proyek akhir ini adalah untuk memenuhi syarat kelulusan dari Politeknik Elektronika Negeri Surabaya. 1.3. PERMASALAHAN Permasalahan yang akan dibahas didalam proyek akhir ini adalah pemrograman mikrokontroller sebagai proses otomatisasi dari Alat

Rancang Bangun Rolling Door menggunakan control remote Secara Otomatis. Data yang dimasukkan (diinputkan) dan diproses kedalam Mikrokontroller akan menghasilkan tingkat ketelitian yang lebih baik daripada proses manual. 1.4. BATASAN MASALAH Pada proyek akhir yang berjudul rancang bangun Roling Door menggunakan remote, kami hanya menekankan pada: 1. Motor DC mendapatkan supply sesuai nilai tegangan nominal. 2. Proses pemberhentian motor, apabila jumlah setting counter telah sama seperti yang telah diinputkan. 3. Penekanan pada remote menentukan arah putaran motor . 1.5. RUANG LINGKUP Pada proyek akhir yang berjudul Rancang Bangun Rolling Door menggunakan control remote, diperlukan teori penunjang yang meliputi: 1. Rancang bangun sensor 2. Mesin listrik dc Sedangkan untuk software diperlukan teori penunjang yang meliputi: 1. Mikrokontroller 2. Pemrograman bahasa C 1.6. METODOLOGI Metodologi yang digunakan dalam penyelesaian proyek akhir ini antara lain sebagai berikut : 1. Study Literatur 2. Perencanaan alat 3. Penyediaan komponen 4. Pembuatan alat 5. Pembuatan software 6. Pengujian alat 7. Pengambilan data 8. Penyusunan laporan

1.7. SISTEMATIKA LAPORAN Pembahasan pada buku dan laporan proyek akhir ini dibagi dalam lima bab yang meliputi: BAB I : PENDAHULUAN Berisi latarbelakang, batasan masalah, permasalahan maksud dan tujuan, ruang lingkup, metodologi, dan sistematika laporan. BAB II : TEORI PENUNJANG Berisi tentang teori-teori yang melandasi dalam pembuatan proyek akhir ini. Antara lain meliputi tentang arsitektur Mikrokontroller, codevision AVR, dan piranti output yang ada didalamnya. BAB II : PERENCANAAN DAN PEMBUATAN ALAT Berisi tentang uaraian mengenai proses perencanaan dai system yang akan digunakan serta proses pembuatan perangkat keras dan perangkat lunak dari system yang telah direncanakan. BAB IV:PENGUJIAN DAN ANALISA Berisi tentang pengujian alat yang dilakukan dengan cara mengambil data melalui percobaan yang dilakukan dengan metode yang akan digunakan BAB V : KESIMPULAN DAN SARAN Berisi kesimpulan-kesimpulan dari hasil pengujian dan saran untuk pengembangan selanjutnya. 1.8. TINJAUAN PUSTAKA Tinjauan pustaka pada proyek akhir ini mengacu pada buku yang berjudul C&AVR dan AT MEGA 16 yang berisi tentang bab pengaturan PWM dengan berbagai kombinasi frekwensi dan Duty Cycle. Sedangkan dalam study pustaka Sartrio Hanindhito, pembangkitan PWM menggunakan setting secara manual melalui pengaturan 2 pin. Sedangkan pada proyek akhir ini mengacu pada buku karya Andik Tri Susanto yang berjudul Kursi Roda Elektrik yang juga menggunakan setting internal mikrokontroller dalam

pembangkitan PWM. Berbeda dengan buku Karya Satrio Hanindhito yang pembangkitan PWM menggunakan perbandingan time high pin 1 dengan time low pin 2. Dengan menggunakan perbandingan 2 pin ini maka perhitungannya lebih rumit dalam penentuan duty cycle karena harus mensetting 2 pin terlebih dahulu. Sedangkan pada proyek akhir yang kami buat untuk pembangkitan PWM menggunakan langsung setting dari internal pada mikrokontroller. Dengan adanya langsung setting internal akan lebih mudah dan praktis dalam menentukan nilai duty cycle. Tingkat akurasi pada pengaturan duty cycle lebih tinggi karena hanya menggunakan perbandingan angka dari angka 256 untuk setting PWM.

BAB II TEORI PENUNJANG 2.1. UMUM


Pada bab ini akan dibahas mengenai teori-teori yang akan digunakan untuk mengerjakan proyek akhir ini. Adapun dasar-dasar teori ini diambil dari beberapa buku pendukung yang memang didalamya mencakup mengenai teori yang sesui dengan proyek akhir ini.

2.2. MIKROKONTROLLER
Mikrokontroller adalah suatu komponen yang dapat mengolah data-data digital, dan dapat digunakan sebagai alat untuk mengontrol suatu sistem. Mikrokontroller merupakan terobosan baru dalam bidang semikonduktor dengan kandungan transistor yang lebih banyak namun dapat dikemas dalam bentuk yang kecil yaitu sebuah chip IC.

2.2.1. Bagian dari Mikrokontroller


Bagian-bagian dari Mikrokontroller secara umum dapat dilihat dari block diagram di bawah ini: Tabel 2.1 Bagian Umum Mikrokontroller

Untuk masing-masing bagian dari Mikrokontroller akan dibahas pada sub bab berikut ini.

2.2.2. Central Processing Unit


CPU (Unit Pengolah Utama) merupakan bagian utama dari mikrokontroller karena berfungsi untuk mengatur semua aktivitas yang ada pada Mikrokontroller. Adapun bagian ini terdiri atas dua bagian, yaitu unit pengendali (CU), serta unit aritmatika dan logika (ALU). Unit pengendali berfungsi untuk mengambil, mengkodekan, dan melaksanakan instruksi sebuah program yang tersimpan dalam memori. Sedangkan unit aritmatika dan logika berfungsi untuk mengenali dan menyimpan operasi-operasi aritmatika dan logika-logika boolean yang dituliskan dalam program untuk disimpan dalam memori program.

2.2.3. Random Access Memory


RAM adalah jenis memori utama yang dapat dibaca maupun ditulisi, artinya dapat dirubah data atau program yang telah dituliskan di dalamnya. RAM ini hanya digunakan sebagai tempat penyimpanan program yang bersifat sementara saja, sebab program akan terhapus atau hilang bila catu daya dihilangkan.

2.2.4. Read Only Memory


ROM adalah jenis memory yang bisa dibaca saja data atau programnya. Data atau program yang telah disimpan pada ROM tidak akan hilang, meskipun catu daya dihilangkan. Untuk itu semua program utama sebaiknya disimpan pada ROM karena data yang disimpan tidak mudah hilang (bersifat non volatile).

2.2.5. Input/Output Unit


Input/Output unit merupakan bagian dari Mikrokontroller yang dapat menerima maupun mengeluarkan data yang telah diproses oleh CPU. Adapun fungsinya adalah menghubungkan Mikrokontroller dengan piranti luar. Unit input/output ada dua bagian yaitu: 1. Serial input/output (UART) yaitu piranti input/output yang dapat mengirim dan menerima data tak serempak

(bit per bit). Adapun cara kerjaya adalah mengubah data masukan paralel menjadi serial. 2. Paralel input/output (PIO) yaitu piranti input/output yang dapat mengirim dan menerima data serempak (parallel). PIO ini dapat menyediakan perantara masukan dan keluaran dasar untuk data paralel 8 bit.

2.3. MIKROKONTROLLER AVR ATMEGA 16


AVR merupakan seri microcontroler CMOS 8-bit buatan Atmel, berbasis arsitektur RISC (Reduced Instruction Set Computer). Hampir semua instruksi dieksekusi dalam satu siklus clock. AVR mempunyai 32 register general-purpose, timer/counter fleksibel dengan mode compare, interrupt internal dan eksternal, serial UART, programmable Watchdog Timer, dan mode power saving. Beberapa diantaranya mempunyai ADC dan PWM internal. AVR juga mempunyai In-Sistem Programmable Flash on-chip yang mengijinkan memori program untuk diprogram ulang dalam sistem menggunakan hubungan serial SPI. Chip AVR yang digunakan untuk kontrol motor servo adalah ATMEGA16. ATMEGA16 adalah microcontroler CMOS 8-bit daya-rendah berbasis arsitektur RISC yang ditingkatkan. Kebanyakan instruksi dikerjakan pada satu siklus clock, Atmega16 mempunyai throughput mendekati 1 MIPS per MHz membuat disainer sistem untuk mengoptimasi komsumsi daya versus kecepatan proses. Beberapa keistimewaan dari AVR ATMEGA 16 antara lain:

Advanced RISC Architecture a)130 Powerful Instructions Most Single Clock Cycle
Execution b) 32 x 8 General Purpose Working Registers c) Fully Static Operation

d) Up to 16 MIPS Throughput at 16 MHz e) On-chip 2-cycle Multiplier Dengan semua keistimewaan yang dimiliki di atas, maka pembuatan alat dengan menggunakan Mikrokontroller ATMEGA16 menjadi sangat sederhana, karena tidak memerlukan IC pendukung yang lebih banyak block diagram Mikrokontroller ATMEGA 16 dapat dilihat pada gambar 2.2. :

Gambar 2.2 Block diagram ATMEGA 16

2.3.1.

Konfigurasi Pin-Pin Mikrokontroller ATMEGA 16

Gambar 2. 3 Pin ATMEGA 16 kemasan 40-pin Diskripsi pin ATMEGA 16 sebagai berikut: VCC : Supply tegangan digital. GND : Ground PORTA : Menjalankan analog input ke A/D converter. Port A juga berfungsi sebagai 8 bit directional I/O port jika A/D converter tidak digunakan. Ketika pin PA0-PA7 digunakan input dan secara eksternal pull -low , mereka seperti sumber arus jika internal pull- up resistor diaktifkan. Pin port A adalah tri-states ketika kondisi sebuah reset menjadi aktif, sekalipun clocknya tidak jalan. PORTB : Port B adalah 8 bit bi-directional I/O port dengan Internal pull-up resistor. Buffer output port B ini mempunyai karakteristik symmetrical drive dengan kapabilitas source dan sink yang tinggi.Sebagai input, pin port B adalah

eksternal pull-low seperti sumber arus jika pull-up resistor aktif. Pin port B adalah tri-states ketika kondisi sebuah reset menjadi aktif, sekalipun clocknya tidak jalan. PORTC : Port C adalah 8 bit bi-directional I/O port dengan Internal pull-up resistor. Buffer output port B ini mempunyai karakteristik symmetrical drive dengan kapabilitas source dan sink yang tinggi.Sebagai input, pin port B adalah eksternal pull-low seperti sumber arus jika pull-up resistor aktif. Pin port B adalah tri-states ketika kondisi sebuah reset menjadi aktif, sekalipun clocknya tidak jalan.Jika interface JTAG enable, pull up resistor di pin PC5(TDI), PC3(TMS), dan PC2(TCK) akan aktif sekalipun reset terjadi PORTD : Port D adalah 8 bit bi-directional I/O port dengan Internal pull-up resistor .Buffer output port D ini mempunyai karakteristik symmetrical drive dengan kapabilitas source dan sink yang tinggi.Sebagai input, pin port D adalah eksternal pull-low seperti sumber arus jika pull-up resistor aktif. Pin port D adalah tri-states ketika kondisi sebuah reset menjadi aktif, sekalipun clocknya tidak jalan. RESET : Sebuah low level pada pin akan lebih lama daripada lebar pulsa minimum akan menghasilkan reset meskipun clock tidak berjalan. XTAL1 : Input inverting penguat Oscilator dan input internal clock operasi rangkaian. XTAL2 : Output dari inverting penguat Oscilator. AVCC : Pin supply tegangan untuk PortA dan A/D converter .Sebaiknya eksternalnya

dihubungkan ke VCC meskipun ADC tidak digunakan. Jika ADC digunakan seharusnya dihubungkan ke VCC melalui low pas filter. AREF : yaitu pin referensi analog untuk A/D konverter.

2.3.2.

Download Program

Pengujian Rangkaian Mikrokontroller AVR ATmega16 dengan menghubungkan DB 25 ke personal komputer agar program yang telah terbuat dapat diaplikasikan pada sistem yang telah dirancang

Gambar 2.4 Alur interface Atmega16 2.3.3. Code Vision AVR Merupakan suatu software yang digunakan dalam penulisan program yang nantinya akan di download pada Mikrokontroller ATMEGA 16. Dapat dilihat seperti pada struktur program dibawah ini :

Gambar 2.5 Code Vision AVR Dalam penggunaan Mikrokontroller AVR menggunakan software CodeVision AVR. Seperti umumnya Mikrokontroller, program untuk Mikrokontroller AVR ditulis menggunakan bahasa assembly. CodeVision AVR merupakan software Ccross compiler, dimana program dapat ditulis menggunakan bahasa-C. dengan menggunakan pemrograman bahasa-C diharapkan waktu desain (developing time) akan menjadi lebih singkat. Setelah program dalam bahasa-C ditulis dan dilakukan kompilasi tidak terdapat kesalahan (error) maka proses download dapat dilakukan. Mikrokontroller AVR mendukung Sistem download secara ISP (In-Sistem Programming) Dalam menggunakan program ini terlebih dahulu diperlukan inisialisasi chip yang digunakan, clock, I/O port, dan segala hal diperlukan dalam mendesain suatu pemrograman pada umumnya. Blok inisialisasi dapat dilihat pada gambar 2.6 di bawah ini:

Gambar 2.6 Blok Penginisialisasian Program Setelah penginisialisasian chip maka selanjutnya Generate, Save and Exit. Selanjutnya yaitu penulusan program pada blok bagian yang telah tersedia, seperti ditunjukkan pada gambar 2.6 berikut:

Gambar 2.7 Bagian Penulisan Program

Langkah-langkahPemrograman AVR dengan C compiler

CodeVision

Dalam pemrogran CodeVision AVC C compiler kita dilengkapi dengan bermacam macam fitur fitur untuk penyetingan pada pemrograman. Misalkan dalam menentukan Pin Input/Output, untuk setting LCD, Timer/Counter, komunikasi serial, seting chip yang digunakan. Langkah-langkan dalam memulai project baru dengan CodeVision C compiler adalah sebagai berikut: 1) Jalankan software CodeVision AVR

Gambar 2.8 Software Code Vision AVR 2) Buatlah project baru Pilih File New, Pilih project lalu tekan tombol OK

Gambar 2.9 Create Project Baru 3) Kemudian muncul dialog apakah pengguna akan membut project baru. pilih yes

Gambar 2.10 Pilihan untuk menggunakan Code Wizard 4) Pilih crystal yang digunakan, Port Input/Output yang digunakan, Timer dan lainlain sesuai dengan kebutuhan dalam pemrograman

Gambar 2.11 Mensetting chip, Input/Output

5) Kemudian pilih File, Generate, save, exit

Gambar 2.12 Menghasilkan kode program 6) Kemudian lanjut pemrograman pada compiler dengan penulisan layar CodeVision C

BAB III PERENCANAAN DAN PEMBUATAN ALAT

3.1. KONFIGURASI SISTEM


Micro Receiver Remote Controll

Optocoupler

Jala jala Rectifi er Buck Convert DRIVER Motor DC

Sensor Posisi

Load

. Gambar 3.1. Konfigurasi Sistem

Perancangan Sistem
Pada sistem ini hanya menggunakan 1 buah moicrocontroller, yaitu Atmega 16. Optocoupler akan menghitung setiap kali motor berputar. Apabila nilai yang diinputkan melalui Remote telah sama dengan jumlah putaran motor, maka secara mekanis dan otomatis akan berhenti. Hal ini disebabkan karena adanya sensor Rotary Encoder yang terpasang pada as motor, dan difungsikan sebagai counter penerima sinyal melalui infra merah.

3.2. FLOWCHART
Flowchart rancangan pembuatan perangkat lunak :
Start

InisialisasiI / O

Input tombol remote

PC.0 PB.0 ON T PC.1 PB.1 ON T

Pembangkitan PWM PWM di PD.7,PC.0=1 PD.7,PD.0=1

PutarKanan 1/2

Pembangkitan PWM PWM di PD.7,PC.0=1 PD.7,PD.0=1

Putar Kananfull

Y PC.2 PB.2 ON T PC.3 PB.3 ON Y

Pembangkitan PWM PWM di PD.7,PC.1=1 PD.7,PD.1=1

Putar Kiri 1/2

PembangkitanPWM PWM di PD.7,PC.1=1 PD.7,PD.1=1

PutarKiri full

Out put sensor posisi sebagaiinterupt interupt

Motor Off

END

Gambar 3.2 Flowchart program utama

Gambar 3.2 menunjukan rencana flowchart yang akan dibuat. Sistem dapat diatur besar tegangan dan besar frekuensi kerja sesuai yang diinginkan. Penentuan dari besar tegangan dan frekuensi kerja diinputkan melalui penekanan tombol pada remote. Penginisialisasian I/O (input output) berupa interupt timer, port input dan output. Pada kondisi awal motor dalam keadaan Off, sebelum ada masukan dari remote. Setelah ada masukan dari remote, mikro akan mengaktifkan salah satu dari port input 0-7, maka pembangkitan PWM akan dikeluarkan pada port output Pin D.7. Pada keadaan ini port output ke rangkaian Driver on, dengan demikian motor berputar ke kanan atau ke kiri. Setelah inputan pada interupt sesuai set point, maka motor berhenti dan semua sistem akan stand by menunggu inputan selanjutnya.

3.3. PERANCANGAN MIKROKONTROLLER Sistem Mikrokontroller AVR Atmega 16 pada sistem pengaturan disini dimaksudkan untuk mendapatkan sistem Mikrokontroller yang sesuai dengan kebutuhan dan menghubungkan Mikrokontroller yang berisi algoritma dengan peralatan lain yang berfungsi untuk membaca data dari set point maupun dari optocoupler. Sehingga proses penggulungan ulang Rolling Door atau putaran motor akan sama dengan setpointnya 3.3.1. Perancangan Mikrokontroller AVR Atmega 16. Dalam proyek akhir ini digunakannya Mikrokontroller AVR Atmega 16 dengan ketentuan pinpin yang digunakan adalah sebagai berikut : Mikrokontroller AVR ATMEGA 16 8 bit, memory SRAM 512 bytes, EEPROM 52 bytes, 8 Kb ISP. Clock yang digunakan 11.0594 Mhz 32 Programmable I/O lines Tegangan operasi 4.5 V 5.5 V

Grade kecepatan 0 - 16 Mhz 3.3.2.


Perancangan minimum Sistem Minimum sistem merupakan pengontrol kerja dari keseluruhan Sistem. Pada proyek akhir ini minimum sistem yang digunakan berbasis microcontroler ATmega16, digunakannya ATmega16 karena bahasa pemrogramannya menggunakan bahasa C yaitu bahasa pemrograman tingkat menengah, sehingga lebih mudah untuk membuat atau menerapkan suatu algoritma program. Kelebihan lainnya adalah setiap pin dalam satu port dapat kita tentukan sebagai input atau output secara mudah karena didalamnya sudah dilengkapi fasilitas tersendiri untuk inisialisasi. Rangkaian I/O dari Mikrokontroller mempunyai kontrol direksi yang tiap bitnya dapat dikonfigurasikan secara individual, maka dalam pengkonfigurasikan I/O yang digunakan ada yang berupa operasi port ada pula yang dikonfigurasikan tiap bit I/O. berikut ini akan diberikan konfigurasi dari I/O Mikrokontroller tiap bit yang ada pada masing-masing port yang terdapat pada Mikrokontroller.

Gambar 3.3. Rangkain Minimum Sistem

BAB IV PENGUJIAN HASIL 4.1. TUJUAN


Tujuan utama dari pengujian perangkat lunak ini adalah untuk mengetahui hasil atau keberhasilan dari program-program yang telah direncanakan. Dari program pengujian yang telah dibuat umumnya dilakukan per blok setiap sub program. Karena dengan pengujian program, dapat diketahui kekurangan yang terdapat dalam setiap bloknya dengan pemeriksaan kesalahan yang lebih mudah dibandingkan pengecekan keseluruhan program yang telah dibuat. Pada pengujian perangkat lunak ini terbagi menjadi tiga pengujian: 1. 2. 3. 4. 5. Pengujian Remote Control Pengujian Minimum Sistem Pengujian PWM Pengujian Input Sensor Rotary Encoder Pengujian Driver Motor

4.2. PENGUJIAN REMOTE CONTROL


Pengujian Remote Control ini dimaksudkan untuk mengetahui respon sistem terhadap masukan dari Remote. Berikut pada gambar menunjukkan Tabel Input Output : Gambar 4.1. Tabel Input Output Remote Control.

No. 1. 2. 3. 4.

Output

Vout

Input Mikrokontroller

Pin 7 Pin 8 Pin 9 Pin 10

5 Volt 5 Volt 5 Volt 5 Volt

Port C.0 Port C.1 Port C.2 Port C.3

Analisa pengujian Remote Control : Pengujian integrasi ini dilakukan melalui penekanan tombol Pin 7 pada Remote Control, Output pada receiver sebesar 5 Volt sebagai input dari Mikrokontroller. Dalam hal ini input Mikrokontroller disetting dalam kondisi High. Berikut adalah penginisialisasiannya :

// Port C initialization // Func7=In Func6=In Func5=In Func2=In Func1=In Func0=In Func4=In Func3=In

// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTC=0xFF; DDRC=0x00;

Pada saat tidak ada penekanan pada tombol Remote maka Receiver tidak akan mengeluarkan tegangna sebesar 5Volt, sehingga Mikrokontroller tidak mendapatkan Input dari Receiver. Maka Sistem tidak bekerja.

4.3. PENGUJIAN PWM


Pengujian ini dilakukan untuk menentukan besarnya frekuensi yang dikeluarkan oleh Mikrokontroller melalui setting internal.

List programnya sebagai berikut : // Timer/Counter 2 initialization // Clock source: Sistem Clock // Clock value: Timer 2 Stopped // Mode: Normal top=FFh // OC2 output: Disconnected ASSR=0x00; TCCR2=0x61; TCNT2=0x00; OCR2=0x00; Pada minimum Sistem menggunakan Crystal 11.0594 MHz, sehingga Output frekuensi PWM sebesar 21 KHz.

Gambar 4.2 Tampilan PWM Dengan Mikrokontroller Pada Gambar 4.2 menggunakan Volt/Div 2 Volt dan T/Div 20 us. Maka nilai frekuensi yang dihasilkannya :

1 T 1 1 20.83KHz 2,4 x 20s 4.8s f


Vpp = 2.5 x 2 V =5V Cara untuk menentukan Duty Cycle dari Mikrokontroller menggunakan rumus :

x x100% 256 x misal : 75% x100% 256 D


X = 192. Tabel 4.2 Data pengujian PWM

Duty Cycle (%) 50 60 65

Vout Pengukuran

Vout Teori

Error(%)

17,4 V 18,8V 20,5V

18

3,3 2,08 1.14

19,2 V 20,8 V

70 75 80 85 90

22 V 23,2V 26 V 27 V 29 V

22,4 V 24 V

1,7 3.3 1.5 2,9 0,06

25,6 V 27,2 V 28,8 V

Dari data diatas tegangan keluaran buck converter memiliki persen error rata-rata sebesar 1,99%.

Berikut adalah list program dari Duty Cycle 75 % : void naik1(void) //MOTOR NAIK KEATAS 1/2 { while(1) { //MOTOR NAIK KEATAS 1/2 OCR2=192; PORTD.0=1; PORTD.1=0; PORTD.2=0;

4.4. PENGUJIAN MINIMUM SISTEM


Untuk memgetahui apakah modul Mikrokontroller ATmega16 bekerja dengan baik, untuk itu dilakukan pengujian pada jalurportport yang dimiliki oleh Mikrokontroller ATmega16. Cara pengujiannya yaitu terlebih dahulu program dicompile dengan software Code Wizard AVR V1.24.0 Standard untuk mengetahui apakah program masih terdapat error atau tidak. Setelah dicompile didapatkan

program tersebut tidak terdapat error. Untuk running program, caranya hubungkan langsung antara PC dan Mikrokontroller melalui kabel serial PC dan rangkaian dwonloader kemudian lakukan Down Load program. Peralatan yang digunakan untuk pengujian Minimum Sistem : 1.DC power supply +5V. 2.Modul mikrokontroler ATmega16. 3.Modul simulasi LED. 4.Kabel secukupnya. 5.Seperangkat PC. 6.Software CodeWizardAVR V1.24.0 Standard. Rangkaian yang digunakan untuk melakukan pengujian Sistem minimum adalah sebagai berikut :

Gambar 4.3 Rangkain Minimum Sistem

X_tall .= 11,0592 MHz C1 = 10 F C = 30 Pf R = 10 K

Gambar 4.4. Rangkaian Pengujian Minimum Sistem Pada pengujian ini digunakan LED sebagai simulasi dari pin Output Microconttroller, dan menggunakan push button sebagai simulasi dari pin Input. Pengujian dilakukan pada masingmasing pin yang ada pada pin Mikrokontroller, jika pada saat ada penekanan tombol push button pada input Mikrokontroller maka LED akan menyala sebagai indikator bahwa pin tersebut masih berfungsi dengan baik. Berikut list program pegujian Minimum Sistem : void nyala1(void) //lampu 1 nyala { while(1) { //lampu 1 nyala PORTD.0=1; PORTD.1=0; PORTD.2=0;

if(PINB.0==0) { while(1) { if(PINB.0==1) { i=i+1; if(i==5)berhenti1();//lampu 1 mati else nyala(); } } };

4.5. PENGUJIAN SENSOR ROTARY ENCODER


Untuk memgetahui apakah Sensor Rotary Encoder bekerja dengan baik, untuk itu dilakukan pengujian pada jalur portport yang dimiliki oleh Mikrokontroller ATmega16, tepatnya pada port B.0. Pada Mikrokontroller setting pembacaan sensor Rotary Encoder pada aktif low. Cara pengujiannya yaitu pada saat infra merah tidak terhalang maka sensor Royary Encoder akan mengeluarkan tegangan 0 Volt, pada saat ini

Mikrokontroller mulai melakukan counter. Jika sesuai setting yang diinginkan maka counter tidak bekerja, dan kembali ke menu utama menunggu inputan selanjutnya. Pada Rancang Bangun Rolling Door kali ini counter di setting untuk membuka dan menutup rolling Door sesuai posisi yang diinginkan. Pada posisi tengah counter yang dibutuhkan sejumlah 6 counter, sedangkan untuk posisi full counter yang dibutuhkan sejumlah 12. Berikut gambar flowchart Counter :

Start

Output Motor

Pin B.0=0

i=i+1

Y i=5

End

Gambar 4.4 Flowchart Counter

Berikut list programnya : if(PINB.0==0) {

while(1) { if(PINB.0==1) { i=i+1; if(i==5)berhenti1();//MOTOR OFF SETELAH 1/2 else naik1(); } } };

4.6. PENGUJIAN DRIVER


Driver pada motor DC digunakan untuk mengatur arah putaran motor DC kekanan atau kekiri. Untuk mengatur arah putaran motor DC memerlukan penyulutan pada mosfet untuk rangkaian driver motor. Penyulutan pada mosfet dilakukan melalui Mikrokontroller yang dioutputkan pada Pin D.0 dan Pin D.1. Pada pengaturan putar kanan pada Pin D.0 benilai high dan Pin D.1 bernilai low, begitu juga sebaliknya pada pengaturan putar kiri pada Pin D.0 bernilai low dan Pin D.1 bernilai high. Berikut list pogram : void naik1(void) //MOTOR putar kanan { while(1) { OCR2=0xC0; PORTD.0=1; PORTD.1=0; } } void naik1(void) //Motor putar kiri { while(1) {

OCR2=0xC0; PORTD.0=0; PORTD.1=1; } }

BAB V PENUTUP 5.1. KESIMPULAN


Setelah melakukan perencanaan dan pembuatan sistem kemudian dilakukan pengujian serta tahap uji coba terakhir dari Sistem yang telah di buat pada proyek akhir ini maka dapat ditarik kesimpulan sebagai berikut: 1. Untuk pengujian software, hasil data yang didapat cukup baik, akan tetapi pulsa PWM yang dikeluarkan Mikrokontroller tidak sama dengan pengukuran Output Buck secara teori. Rata-rata Memiliki error 1.99 %. Berikut salah satu data yang kami peroleh dari praktek maupun teori beserta % errornya : Data pada Buck Konverter : Vout = 23,2 V. Data secara teori : Vout = D x Vin = 75% x 32 V = 24 V.

% error =

Teori Pengukuran x100% Teori 24 23.2 x100% 24

= 3.3 %

2. 3.

4.

Rotary Encoder setting pada Mikrokontroller menyesuaikan dengan mekanik. Untuk koneksi antara hardware perlu diperhatikan, karena apabila salah koneksi dapat menyebabkan error (kesalahan). Penentuan Duty Cycle pada Mikrokontroller menggunakan nilai integer, dan penentuan nilai Duty Cycle dapat diatur langsung melalui program.

5.2. SARAN
Dengan memperhatikan beberapa kelemahan dan kekurangan dari proyek akhir ini secara keseluruhan dan untuk setting kecepatan pada khususnya, diberikan saran untuk sekiranya proyek akhir ini dapat dikembangkan pada masa yang akan datang agar lebih sempurna dan dapat langsung diaplikasikan dalam keseharian guna membantu dalam pekerjaan. Adapun beberapa saran tersebut yaitu: 1. Pada saat proses penggulungan harus diperhatikan rantai pada ger yang terpasang pada As motor DC dengan Rolling Door tidak boleh kendor. 2. Pada alat ini proses otomatis hanya pada proses pemberhentian putaran motor. Setting sensor Rotary Encoder pada pemberhentian motor menyesuaikan dengan mekanik. Jika sewaktu-waktu terjadi error atau kerusakan pada sensor Rotary Encoder, maka Rolling Door akan terus membuka ataupun menutup mengikuti motor tanpa terdeteksi oleh sensor. Hal ini tentu dapat merusak pintu maupun motor, oleh sebab itu untuk sekiranya proyek akhir ini dapat dikembangkan pada masa yang akan datang haruslah dipasang limit swicth pada batas atas maupun batas bawah. Hal ini dikarenakan untuk mengantisipasi apabila terjadi error pada sensor maka motor akan tetap berhenti pada batas-batas yang sesuai pada settingan awal.

DAFTAR PUSTAKA
1. 2. 3. 4. 5. CodeVisionAVR. www.hpinfotech.com Data sheet ATMEL AVR ATMEGA 16 Mikrokontroller. www.atmel.com www.delta-electronic.com www.innovativeelectronic.com Modul praktikum Pembangkitan Pulsa PWM , Elin Pens ITS Surabaya. Hussein Ali A, ST, MEng, Pengantar Mikrokontroller , Politeknik Elektronika Negri Surabaya, 2007 Sartrio Hanindhito, Pengaturan Kecepatan Motor DC Pada Miniatur Crane untuk Akselerasi Dinamis (Driver), Politeknik Elektronika Negri Surabaya, 2007

6.

7.

LAMPIRAN : /************************************************ ***** This program was produced by the CodeWizardAVR V1.25.7a Standard Automatic Program Generator Copyright 1998-2007 Pavel Haiduc, HP InfoTech s.r.l. http://www.hpinfotech.com Project : Version : Date : 7/25/2008 Author : DENNI Company : DENNI Corp Comments:

Chip type : ATmega16L Program type : Application Clock frequency : 4.000000 MHz Memory model : Small External SRAM size : 0 Data Stack size : 256 ************************************************ *****/ #include <mega16.h> #include <stdio.h> #include <math.h> #include <delay.h> unsigned int i; void naik1(void); void UTAMA(void); void naik2(void); void turun1(void); void turun2(void); void berhenti1(void); // Declare your global variables here

void 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=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTA=0x00; DDRA=0x00; // Port B initialization // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTB=0xFF; DDRB=0x00; // Port C initialization // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTC=0x00; DDRC=0x00; // Port D initialization // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTD=0x00; DDRD=0xFF; // Timer/Counter 0 initialization

// Clock source: System Clock // Clock value: Timer 0 Stopped // Mode: Normal top=FFh // OC0 output: Disconnected TCCR0=0x00; TCNT0=0x00; OCR0=0x00; // Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer 1 Stopped // Mode: Normal top=FFFFh // OC1A output: Discon. // OC1B 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 TCCR1A=0x00; TCCR1B=0x00; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; // Timer/Counter 2 initialization // Clock source: System Clock // Clock value: Timer 2 Stopped // Mode: Normal top=FFh // OC2 output: Disconnected ASSR=0x00; TCCR2=0x61; TCNT2=0x00;

OCR2=0x00; // External Interrupt(s) initialization // INT0: Off // INT1: Off // INT2: Off MCUCR=0x00; MCUCSR=0x00; // Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x00; // Analog Comparator initialization // Analog Comparator: Off // Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80; SFIOR=0x00; PORTD.2=1; while (1) { UTAMA(); }; } void UTAMA(void) { while(1) { PORTD.2=1; i=0; if(PINC.0==1) { naik1(); } if(PINC.1==1) { naik2(); }; if(PINC.2==1)

{ turun1(); }; if(PINC.3==1) { turun2(); } }; } void naik1(void) //MOTOR NAIK KEATAS 1/2 { while(1) { //MOTOR NAIK KEATAS 1/2 OCR2=0xC0; PORTD.0=1; PORTD.1=0; PORTD.2=0; if(PINB.0==0) { while(1) { if(PINB.0==1) { i=i+1; if(i==6)berhenti1();//MOTOR OFF SETELAH 1/2 else naik1(); } } } }; } void turun1(void) { while(1) { //MOTOR TURUN 1/2 OCR2=0xC0;

PORTD.0=0; PORTD.1=1; PORTD.2=0; if(PINB.0==0) { while(1) { if(PINB.0==1) { i=i+1; if(i==6)berhenti1();//MOTOR OFF SETELAH 1/2 else turun1(); } } } }; } void naik2(void) { while(1) { //MOTOR NAIK KEATAS FULL OCR2=0xC0; PORTD.0=1; PORTD.1=0; PORTD.2=0; if(PINB.0==0) { while(1) { if(PINB.0==1) { i=i+1; if(i==12)berhenti1();//MOTOR NAIK KEATAS FULL else naik2(); }

} } }; } void turun2(void) { while(1) { //MOTOR TURUN FULL OCR2=0xC0; PORTD.0=0; PORTD.1=1; PORTD.2=0; if(PINB.0==0) { while(1) { if(PINB.0==1) { i=i+1; if(i==12)berhenti1();//MOTOR TURUN FULL else turun2(); } } } }; } void berhenti1(void) { while(1) { OCR2=0x00; PORTD.0=0; PORTD.1=0; PORTD.2=1; //REM BEKERJA OCR2=0; i=0; delay_ms(10);

UTAMA(); }; }

You might also like