• Tidak ada hasil yang ditemukan

TUGAS AKHIR SISTEM PENGENDALI MOTOR DC DENGAN PWM

N/A
N/A
Protected

Academic year: 2021

Membagikan "TUGAS AKHIR SISTEM PENGENDALI MOTOR DC DENGAN PWM"

Copied!
52
0
0

Teks penuh

(1)

SISTEM PENGENDALI MOTOR DC DENGAN PWM

Diajukan Untuk Memenuhi Salah Satu Syarat Untuk Menyelesaikan Pendidikan Program Stara Satu ( S1 )

Disusun oleh :

Nama : MOHAMMAD SYAIFUL

NIM : 0140311-069

Jurusan

: Teknik Elektro

Peminatan

: Elektronika

Pembimbing

:

Ir. Eko Ihsanto M,Eng.

PROGRAM STUDI TEKNIK ELEKTRO

FAKULTAS TEKNOLOGI INDUSTRI

UNIVERSITAS MERCU BUANA

JAKARTA

(2)

SISTEM PENGENDALI MOTOR DC DENGAN PWM

Diajukan Untuk Memenuhi Salah Satu Syarat Untuk Menyelesaikan Pendidikan Program Stara Satu ( S1 )

Disusun oleh :

Nama : MOHAMMAD SYAIFUL

NIM : 0140311-069 Program Studi : Teknik Elektro Peminatan : Elektronika

Telah diperiksa dan Disetujui oleh : Pembimbing

Ir. Eko Ihsanto M,Eng.

Mengetahui

Koordinator Tugas Akhir Teknik Elektro Ketua Program Studi Teknik Elektro

(3)

iv

Dua masalah umum dalam mengendalikan motor DC adalah mengendalikan arah putar dan mengendalikan kecepatan putar. Untuk mengendalikan arah putar dapat menggunakan saklar manual yang mengubah arah arus masuk ke motor DC. Sedangkan untuk mengendalikan kecepatan, ada beberapa metode yang bisa digunakan.

Metode yang umum digunakan untuk mengendalikan kecepatan motor dc adalah Pulse-Width Modulation (PWM) karena ketahanannya terhadap gangguan/derau. Pembangkit sinyal PWM dapat diwujudkan dengan sistem digital yang dilengkapi mikrokontroler. Selain efisien, cara ini juga cukup mudah dan terbukti efektif. Tujuan tugas akhir ini penulis mencoba membuat suatu rancangan sistem pengendali motor DC dengan PWM ( Pulse Width Modulation ) berbasis mikrokontroler AT89S52.

Alat ini mampu mengendalikan kecepatan putar motor DC sesuai keinginan yang diatur melalui 2 tombol tack switch (naik & turun) dengan periode 1ms dan duty cycle berkisar antara 5% sampai 95% dengan resolusi 1%. Dan untuk mengatur arah putar motor DC diatur dengan menekan 2 tombol tack switch secara bersamaan selama minimal 30 ms. Kecepatan motor DC dapat diukur dengan resolusi 1 rpm, hasilnya dapat dilihat pada tampilan tulisan LCD 2x16 karakter. Sesuai dengan kemampuan motor, kecepatan putar maksimum 2400 rpm.

(4)

vii

LEMBAR JUDUL……… i

LEMBAR PERNYATAAN KEASLIAN………..………. ii

LEMBAR PENGESAHAN………...…...………... iii

ABSTRAK………...…………...……….. iv

KATA PENGANTAR ……...……….……... v

DAFTAR ISI …..………... vii

DAFTAR TABEL…...………. ix DAFTAR GAMBAR…..………. x BAB I PENDAHULUAN 1.1 Latar Belakang………...……… 1 1.2 Tujuan Penulisan……….... 1 1.3 Pokok Pembahasan……...………. 2 1.4 Metode Penulisan...…...………. 2 1.5 Sistematika penulisan…...………... 2

BAB II LANDASAN TEORI 2.1 Motor DC………...………....……...… 4

2.1.1 Prinsip Kerja Motor DC…...………...….. 4

2.1.2 Jenis-jenis Motor DC……...…………... 5

2.1.3 Kecepatan Motor DC………...………... 5

2.2 Teknik Pengaturan PWM……...…………...… 7

2.3 Teknik Pengukuran Kecepatan Putar…...…….. 9

2.4 Mikrokontroler AT89S52….………. 10

2.4.1 Karakteristik Mikrokontroler AT89S52... 10

2.4.2 Konfigurasi Mikrokontroler AT89S52…. 12 2.4.3 Timer atau Counter……… 17

(5)

viii

3.1 Block Diagram Sistem……..…...….………... 23

3.2 Motor Driver………...… 26

3.3 LCD 2x16 Karakter………...………. 27

3.4 Rotary Encoder..………...…...….. 28

3.5 Rangkaian Keseluruhan..………...……. 31

3.5.1 Proses pengukuran kecepatan putar…..… 31

3.5.2 Pengolahan Sinyal PWM……...……… 31

3.6 Perancangan Perangkat Lunak…………..……. 32

BAB IV UJI COBA ALAT 4.1 Bentuk Fisik………...………. 34

4.2 Pengujian System Pengendali Motor DC...…. 35

4.2.1 Pengujian Cara pengisian Program dengan ISP………..……….. 35

4.2.2 Pengujian motor DC ON / OFF dan Arah putar motor DC..……….. 39

4.2.3 Pengujian LCD dan Tampilan Tulisan… 39 4.2.4 Pengujian Rotary Encoder……….... 40

4.2.5 Pengujian Total dengan Tack Switch…... 41

BAB V PENUTUP 5.1 Kesimpulan………..….…. 43

5.2 Saran-saran Pengembangan……… 43

DAFTAR PUSTAKA……… 44 LAMPIRAN LIST PROGRAM

LAMPIRAN DATA SHEET LEMBAR ASISTENSI

(6)

ix

Tabel 2.1 Fungsi port 1 pada AT89S52…………...……….. 15

Tabel 2.2 Fungsi port 3 pada AT89S52……...…..……….. 16

Tabel 2.3 Susunan bit dalam register TCON …...……….. 18

Tabel 2.4 Susunan bit dalam register TMOD ....…..……….. 18

Tabel 2.5 Mode Operasi Timer/Counter.………..…….. 19

Tabel 2.6 LCD 2x16 Karakter ……….….………...……….. 21

Tabel 3.1 Tabel Fungsi Motor Driver ..……….…..……….. 25

Tabel 4.1 Tabel Hasil Pengujian Putaran Motor DC Arah putar ke kanan………..….……….. 41

Tabel 4.2 Tabel Hasil Pengujian Putaran Motor DC Arah putar ke kiri………..….……….. 42

(7)

x

Gambar 2.1 Bagian-bagian dari motor DC……… 4

Gambar 2.2 Duty cycle……….………..………….…….. 8

Gambar 2.3 Sinyal PWM untuk mengatur kecepatan motor DC….. 9

Gambar 2.4 Diagram blok AT89S52……….….….….. 12

Gambar 2.5 Konfigurasi Kaki Mikrokomputer AT89S52...……….. 12

Gambar 2.6 Blok Diagram IC L293D.……….…..………... 20

Gambar 2.7 Arsitektur dan Konfigurasi pin IC L293D……..……... 20

Gambar 2.8 Schematic Modul LCD ………..……... 22

Gambar 3.1 Blok diagram sistem pengendali motor DC …………. 24

Gambar 3.2 Wiring Parallel Port ……….. 24

Gambar 3.3 Rangkaian Motor Driver L293D………... 26

Gambar 3.4 Rangkaian LCD 2x16 Karakter ……… 27

Gambar 3.5 Rangkaian Encoder ..………. 28

Gambar 3.6 Bentuk Gelombang Pulsa pada Encoder ……...……… 29

Gambar 3.7 Incremental Rotary Encoder …..……… 30

Gambar 3.8 (a) Encoder Disk (b) Connection Encoder ……… 30

Gambar 3.9 Rangkaian Lengkap Pengendali Motor DC ……..…… 31

Gambar 3.10 Timer Kecepatan motor DC ……….……...…..… 32

Gambar 3.11 Flowchart Program System Pengendali Motor DC ... 33

Gambar 4.1 Bentuk Fisik Pengendali motor DC..…….……… 34

Gambar 4.2 Layout LCD… ……….……….……… 35

Gambar 4.3 M-IDE Studio ………..……….…… 35

Gambar 4.4 File baru dengan halaman kosong ………….………… 36

Gambar 4.5 Menu penyimpanan file..…..……..…...….………….. 36

Gambar 4.6 Kompilasi file ………..……..…….….………….. 37

Gambar 4.7 Debug file ...……….……. …….….………..… 37

(8)

xi

(9)

1 1.1 LATAR BELAKANG

Salah satu cara pengendalian motor dc yang sering digunakan adalah PWM. Pengendalian dilakukan untuk mengatur tegangan terminal yang terterap ke motor DC dengan cara mengatur duty cycle. Hubungan antara kecepatan motor dengan tegangan terminal adalah berbanding lurus, sehingga semakin kecil tegangan maka kecepatan akan menurun. Keuntungan pengendalian kecepatan motor DC dengan PWM adalah praktis dan ekonomis dalam penerapannya.

Mikrokontroler ini dapat diprogram dengan ISP (In-System Programming) dimana mengembangkan aplikasinya tanpa memindahkan mikrokontroler. Sistem ISP mikrokontroler masukan akan diproses guna mendapatkan duty cycle sinyal PWM yang diperlukan untuk mengendalikan kecepatan motor dc. Penurunan nilai duty cycle mampu menurunkan kecepatan motor dc dengan halus. Di samping itu pembangkit sinyal PWM secara digital akan memberikan hasil memuaskan kerena lebih kebal terhadap derau. Duty cycle ini digunakan sebagai acuan pembangkit PWM.

Dari uraian diatas tersebut, penulis mencoba merancang sebuah alat system pengendali motor DC dengan PWM memanfaatkan mikrokontroler AT89S52 sebagai pengendalinya. Mikrokontroler AT89S52 dapat diprogram dengan ISP (In-System Programming) dimana mengembangkan aplikasinya tanpa memindahkan mikrokontroler. Memilih mikrokontroler karena sebagai hardware PWM.

1.2 TUJUAN PENULISAN

Tujuan tugas akhir ini adalah merancang system pengendali motor dengan PWM berbasis mikrokontroler AT89S52.

(10)

1.3

POKOK PEMBAHASAN

Pada penyusunan tugas akhir ini akan dibahas tentang teori dasar serta teori penunjang motor DC, rangakaian penggerak motor, rangkaian pengukur kecepatan motor dan komponen-komponen pendukung. Pembahasannya akan lebih banyak pada perancangan sistem kendali motor DC dan penggunaan teknik modulasi lebar pulsa ( PWM ) untuk mengendalikan putaran motor DC.

1.4 METODE PENULISAN

Metode penulisan tugas akhir ini dilakukan dengan beberapa cara yaitu: 1. Studi kepustakaan

Yaitu dengan cara mencari referensi-referensi penunjang dari buku milik pribadi, perpustakaan dan juga internet yang digunakan sebagai acuan perancangan alat.

2. Metode Eksperimen

Yaitu dengan cara melakukan pengujian secara langsung terhadap alat yang telah dibuat. Selain itu juga menggunakan program simulasi sebagai bahan perbandingan.

1.5 SISTEMATIKA PENULISAN

Sistematika penulisan laporan tugas akhir ini dibagi dalam lima bab, dengan masing-masing bab diuraikan sebagai berikut :

BAB I : PENDAHULUAN

Berisikan hal-hal yang mendasari pengerjaan tugas akhir ini. Terdiri dari latar belakang, batasan masalah, tujuan penulisan, metode penulisan dan sistematika penulisan.

BAB II : LANDASAN TEORI

Berisikan tentang teori-teori yang menunjang dalam pengerjaan tugas akhir ini. Yang mencakup tentang rangkaian penunjang dan komponen yang digunakan dalam pembuatan alat.

BAB III : PERANCANGAN SISTEM

(11)

BAB IV : UJI COBA ALAT

Melakukan pengujian terhadap sistem dan menjelaskan hasil pengujian. Pengujian ini juga dengan perbandingan hasil pengukuran dengan alat yang asli.

BAB V : PENUTUP

Bab ini berisikan kesimpulan dari pembahasan hasil pengujian yang telah dilakukan pada alat yang dibuat.

(12)

4

Pada bab ini akan dibahas beberapa teori dasar antara lain uraian singkat motor DC, teknik pengaturan PWM, pengukuran kecepatan putar motor, mikrokontroler AT89S52, Quadruple Half-H drivers dan LCD.

2.1 MOTOR DC

Motor adalah mesin yang mengubah energi listrik menjadi mekanik. Untuk lebih jelasnya dibawah ini menjelaskan prinsip kerja motor DC, jenis-jenis motor DC, kecepatan motor DC.

2.1.1 Prinsip Kerja Motor DC

Prinsip kerja motor DC pada penghantar yang membawa arus listrik yang ditempatkan dalam suatu medan magnet akibatnya penghantar tersebut akan mengalami gaya.

Gaya menimbulkan torsi yang akan menghasilkan rotasi mekanik, sehingga rotor akan berputar. Torsi yang dihasilkan pada batang rotor berbanding lurus dengan fluks medan dan arus jangkar. Suatu konduktor pembawa arus dibentuk pada medan magnet dengan fluks Ф dan konduktor ditempatkan pada suatu jarak r dari pusat rotasi.

(13)

2.1.2 Jenis-jenis Motor DC

Menurut pembentukan medan magnetnya motor DC terbagi menjadi beberapa jenis :

1. Motor DC berpenguatan bebas, medan magnet dibentuk dan dapat diatur besarnya oleh kumparan yang dialiri arus dengan mengatur sumber tegangan pada kumparan yang terpisah dengan sumber tegangan kumparan jangkar (rotor).

2. Motor DC berpenguatan sendiri, medan magnet dibentuk oleh kumparan yang dialiri arus dimana sumber tegangan kumparan didapat dari tegangan catu yang dikenakan pada kumparan jangkar itu sendiri.

Berdasarkan kontruksi kumparan medan motor DC jenis terdiri atas :

a. Motor DC seri (kumparan medan seri) b. Motor DC shunt (kumparan medan parallel)

c. Mtor DC kumparan gabungan (kompon panjang dan kompon pendek)

3. Motor DC magnet permanent, medan magnet dibentuk dari bahan magnet permanent dapat berupa barium-ferrite Aleino

2.1.3 Kecepatan Motor DC

Pada motor DC dihasilkan GGL (Gaya Gerak Listrik) yaitu gaya yang dihasilkan karena adanya induksi elektromagnetik, dinyatakan dengan :

E = . ……… (2.1)

E = K .Φ.n ……… (2.2)

dimana:

Z = jumlah penghantar aktif pada jangkar a = jumlah dari kutub medan

Φ = fluks perkutub, dinyatakan dalam weber (Wb)

n = kecepatan putaran jangkar dalam putaran permenit (rpm) 60 a

(14)

K = Konstanta [0.1173/108][P.Z/a]

Elemen utama dari motor DC adalah kumparan jangkar (pada rotor) dan kumparan medan (pada stator) yang menghasilkan fluksi. Arus listrik mengalir melalui kedua kumparan ini dan torsi dihasilkan 2 kumparan ini. Dalam motor DC yang dipakai kumparan medan diganti dengan magnet permanent.

Magnet permanen menghasilkan fluksi magnet yang tetap, sehingga kecepatan putar motor ditentukan hanya dari tegangan yang diberikan kelilitan jangkar.

Dalam operasi sebuah motor, torsi yang dihasilkan oleh jangkar menyangga beban yang dihubungkan keporos dari motor, dan GGL balik bangkitkan dalam penghantar jangkar pada motor DC akibat putaran jangkar di dalam medan magnetiknya (yang dikenal sebagai back emf). GGL balik ini berlawanan dengan tegangan yang diberikan. Dapat kita nyatakan bahwa tegangan masuk pada motor adalah :

Vt = Ea + Ia . Ra …...……… (2.3)

Sehingga dari dua persamaan diatas kita dapat menghitung kecepatan motor, dinyatakan dalam persamaan :

n = ……… (2.4) dimana :

n = kecepatan putaran motor (rpm) Vt = tegangan terminal (volt) Ia = arus masuk (ampere)

Ra = tahanan dari kumparan jangkar (ohm) KI =

Φ = Fluks

Secara umum motor DC berlaku persamaan EMF (GGL) lawan yang ada hubungannya dengan kecepatan, torsi, fluks medan dan tegangan motor sebagai berikut : Eb = K.Φ.n ……..……… (2.5) atau : n = ……….……… (2.6) KI.Φ Vt – Ia . Ra (60.a) Zp K.Φ Eb

(15)

T = K.Φ.Ia ……..……… (2.7)

dimana:

n = kecepatan motor (rpm)

Eb = EMF (GGL) lawan yang dibangkitkan oleh jangkar (volt) Φ = Fluks / kutub dalam weber (Wb)

K = Konstanta [0.1173/108][P.Z/a] . T = Torsi / Torque

Ia = arus masuk (ampere)

Keuntungan utama motor DC adalah sebagai pengendali kecepatan, yang tidak mempengaruhi kualitas pasokan daya. Motor ini dapat dikendalikan dengan mengatur:

1. Tegangan motor DC – meningkatkan tegangan motor DC akan meningkatkan kecepatan

2. Arus medan – menurunkan arus medan akan meningkatkan kecepatan.

Motor DC tersedia dalam banyak ukuran, namun penggunaannya pada umumnya dibatasi untuk beberapa penggunaan berkecepatan rendah, penggunaan daya rendah hingga sedang seperti peralatan mesin dan rolling mills, sebab sering terjadi masalah dengan perubahan arah arus listrik mekanis pada ukuran yang lebih besar. Juga, motor tersebut dibatasi hanya untuk penggunaan di area yang bersih dan tidak berbahaya sebab resiko percikan api pada sikatnya.

2.2 TEKNIK PENGATURAN PWM

Teknik pengaturan kecepatan motor DC dengan mengatur tegangan yang masuk. Maksimal tegangan Motor DC pada alat ini adalah 12 VDC, dimana kecepatan putar motor DC sebesar 2400 rpm. Hubungan antara kecepatan motor dengan tegangan terminal adalah berbanding lurus, sehingga semakin kecil tegangan maka kecepatan akan menurun, berarti kecepatan motor DC ini berpengaruh besar terhadap tegangan yang masuk.

Mikrokontroler adalah sebagai hardware PWM, mikrokontroler akan diproses guna mendapatkan duty cycle sinyal PWM yang diperlukan untuk

(16)

mengendalikan kecepatan motor DC. PWM pada dasarnya adalah menyalakan (ON) dan mematikan (OFF) motor DC dengan cepat. Kuncinya adalah mengatur berapa lama waktu ON dan OFF. Duty cycle merupakan rasio waktu ON terhadap waktu total (waktu total = ON + OFF). Duty cycle umumnya dinyatakan dalam persen (%).

Gambar 2.2 Duty Cycle

Periode pada PWM ini sebesar 1ms dengan dengan ON sebesar 500µs dan OFF sebesar 500µs dengan tegangan 12 V, maka tegangan linier ekivalennya dan duty cyclenya sebesar :

Vrata2 = = = = 6 Volt ……… (2.7)

Duty cycle = = = 50% ……… (2.8)

Dan dengan periode sebesar 1ms dengan ON sebesar 10µs dan OFF sebesar 990µs maka tegangan linier ekivalennya dan duty cyclenya sebesar :

Vrata2 = = = 0.12 Volt ……… (2.9)

Duty cycle = = = 1% ……… (2.10)

Pada alat ini terdapat 2 tombol tack switch, dimana berfungsi sebagai pengendali kecepatan putar motor DC, jika tombol penambahan duty cycle dan pengurangan duty cycle ditekan maka ada perubahan sebesar 1% . Berikut gambar sinyal PWM dan tegangan linier ekivalennya.

12 . 10µs Vt . TON 1ms 500µs 12 . 500µs 1ms Vt . TON T TON T 1ms 10µs 1ms T TON T

(17)

Gambar 2.3 Sinyal PWM untuk mengatur kecepatan motor DC

Teknik ini dikenal dengan Pulse Width Modulation (PWM). Keuntungan lain dari pengaturan ini adalah mendapatkan momen awal yang optimal, karena juga pada saat pulsa ON yang singkat diperoleh tegangan yang penuh.

2.3 TEKNIK PENGUKURAN KECEPATAN PUTAR

Untuk mengukur kecepatan putar motor terdapat dua kemungkinan, yaitu dengan sebuah generator tacho dan dengan encoder. Cara pertama generator tacho dihubungkan langsung dengan poros motor dan membangkitkan tegangan yang sebanding dengan kecepatan motor. Cara kedua yaitu encoder atau piringan bercelah terdiri atas piringan bulat yang dipasang pada poros motor.

Mesin yang bergerak dan berputar pada umumnya memerlukan pengukuran gerakan. Saat ini, komponen yang banyak digunakan untuk pengukuran gerak adalah encoder.

Encoder secara umum dapat dikategorikan kedalam optical (photoelectric), magnetic encoder, dan tipe kontak mekanik. Photoelectric encoder memiliki tingkat akurasi yang tinggi, handal, dan relative murah, mudah dalam aplikasinya.

Ada dua tipe encoder yaitu rotary dan linier. Secara teknis, pada dasarnya sama, yang membedakan pada umumnya diaplikasinya.

(18)

2.4 MIKROKONTROLER AT89S52

Meskipun sudah termasuk tua, keluarga mikrokontroller MCS51 adalah jenis mikrokontroller yang masih banyak digunakan sampai saat ini. Jenis ini diawali oleh intel yang menggunakan IC mikrokontroller tipe 8051 pada awal tahun 1980-an. Sampai saat ini sudah banyak IC seperti ini yang dibuat berdasarkan turunan 8051, sehingga terbentuklah sebuah varian yang disebut MCS51. saat ini perusahaan pembuat IC Atmel telah menambah jenis IC MCS51. Produksi mikrokontroller MCS51 atmel dibagi dalam dua macam, yaitu yang berkaki 40 dan berkaki 20. untuk yang berkaki 40 adalah setara dengan 8051 asli buatan intel. Bedanya adalah mikrokontroller Atmel berisi flash PEROM dengan kapasitas yang berlainan. AT89C51 mempunyai flash PEROM dengan kapasitas 4 kilobyte, AT89C52 dengan kapasitas 4 kilobyte, AT89C53 dengan kapasitas 12 kilobyte, AT89C55 dengan kapasitas 20 kilobyte dan AT89C8252 berisikan 8 kilobyte falsh PEROM dan 2 kilobyte EEPEROM.

Mikrokontroler AT89S52 ialah mikrokomputer CMOS 8-bit dengan 8 KB In-System Programmable (ISP) Flash program and Erasable Read Only Memory (PEROM). Dengan menggunakan flash chip ini, mengijinkan program memori dapat diprogram ulang dalam sistem dan dengan kemampuan 1000 kali baca atau tulis. Sehingga mikrokontroler ini tidak membutuhkan mikrokontroler lain sebagai master untuk proses download program. Mikrokontroler berteknologi memori non-volatile berkecepatan tinggi dari Atmel ini kompetibel dengan mikrokontroler MCS-51 yang telah menjadi standard industri.

2.4.1 Karakteristik Mikrokontroler AT89S52

Mikrokontroler AT89S52 merupakan salah satu turunan keluarga MCS51 dan karakteristiknya sama dengan IC keluaran intel 8051, meskipun banyak sekali versi dari keluarga MCS51 namun cara kerja dan teknik pemrogramannya masih sama dengan IC aslinya yaitu intel 8051.

IC Mikrokontroller AT89S52 merupakan komponen IC produksi Atmel yang berorientasi pada kontrol. Mikrokontroler yang merupakan salah satu keluarga dari keluarga AT89 ini oleh Atmel dimasukkan kedalam kelompok

(19)

programmer controller. Sebagai IC mikrokontroler yang compatible dengan keluarga MCS51 ini, AT89C51 mempunyai karakteristik sebagai berikut :

 In-System Programmable (ISP) Flash Memory sebesar 8 kByte. Dengan menggunakan flash chip ini, mengijinkan program memori dapat diprogram ulang dalam sistem. Sehingga mikrokontroler ini tidak membutuhkan mikrokontroler lain sebagai master untuk proses download program.

 Terdapat memori flash yang terintegrasi dalam sistem. Dapat ditulis ulang hingga 1000 kali.

 Tegangan kerja 4-5.0V

 Beroperasi pada frekuensi 0 sampai 24MHz.

 Memiliki Random Access Memory (RAM) sebesar 256 x 8 bit.

 32 jalur atau bit input dan output yang terbagi menjadi 4, yaitu P0, P1, P2, P3.

 Memiliki Watchdog timer.

 Memiliki 3 buah timer dan counter 16 bit

 Memiliki Full duplex serial port (UART) sehingga memungkinkan pengiriman dan penerimaan data secara serial dapat berlangsung bersamaan.

 8 sumber interrupt

 Memiliki 2 buah data pointer.

(20)

Dibawah ini adalah gambar blok diagram dari Mikrokontroller AT89S52

Gambar 2.4 Diagram blok AT89S52

2.4.2 Konfigurasi Mikrokontroller AT89S52

Mikrokontroller keluarga MCS 51 memiliki port-port yang lebih banyak (40 port I/O) dengan fungsi yang bisa saling menggantikan sehingga mikrokontroller jenis ini menjadi sangat digemari karena hanya dalam sebuah chip sudah bisa mengkafer untuk banyak kebutuhan. Mikrokontroller AT89S52 mempunyai 40 kaki, 32 kaki di antaranya adalah untuk keperluan port parallel. Satu port parallel terdiri dari 8 kaki. Dengan demikian 32 kaki tersebut membentuk 4 buah port parallel yang masing – masing dikenal dengan sebutan port 0, port 1, port 2, port 3.

(21)

Nomor dari masing-masing jalur (kaki) dari port parallel mulai dari angka 0 sampai 7. Misalkan pada port 0, jalur pertama di sebut juga P0.0 dan jalur terakhirnya di sebut P0.7. Konfigurasi dan Deskripsi kaki-kaki mikrokomputer AT89S52 adalah sebagai berikut:

Gambar 2.5 Konfigurasi Kaki Mikrokomputer AT89S52.

Perhatikan gambar ke-4 buah port yang digunakan untuk hubungan keluar dan kedalam chip AT89C51. ke-4 port tersebut terdiri dari :

1. Port 0

port dua arah masukan/keluaran 8-bit saluran terbuka dan bertipe open drain bidirectional. Sebagai port keluaran, masing–masing kaki dapat menyerap arus (sink) delapan masukan TTL (sekitar 3,8 mA). Ketika logika 1 dimasukkan ke kaki-kaki port 0, kaki-kaki dapat digunakan sebagai masukan impedansi tinggi. Port 0 juga dapat diatur sebagai bus alamat/data saat mengakses program dan data dari memori luar. Pada mode ini port 0 memiliki pull-up internal. Port 0 juga menerima byte-byte kode saat pemprograman Flash dan mengeluarkan byte-byte kode saat verifikasi. Pull-up eksternal diperlukan saat memverifikasi program. 2. Port 1

port dua arah masukan/keluaran 8-bit dengan pull-up internal. Penyangga keluaran Port 1 mampu memberikan/menyerap arus empat

(22)

masukan TTL (sekitar 1,6 mA). Jika '1'dituliskan ke kaki–kaki Port 1, maka masing–masing kaki akan di-pulled high dengan pullup internal sehingga dapat digunakan sebagai masukan. Sebagai masukan, jika kaki–kaki Port 1 dihubungkan ke ground (di-low pulled), maka masing–masing kaki akan memberikan arus (source) karena di-pulled high secara internal. Sebagai tambahan, P1.0 dan P1.1 dapat diatur sebagai pewaktu/ pencacah-2 eksternal masukan pencacah (P1.0/T2) dan pewaktu/pencacah-2 masukan pemicu (P1.1/T2EX). Port 1 juga menerima alamat bagian rendah (low byte) selama pemrograman dan verifikasi flash.

3. Port 2

port masukan/keluaran dua arah 8-bit dengan internal pull-up. Penyangga keluaran port 1 mampu memberikan/menyerap arus empat masukan TTL (sekitar 1,6 mA). Jika '1' dituliskan ke kaki–kaki Port 2, maka masing–masing kaki akan di-pulled high dengan pullup internal sehingga dapat digunakan sebagai masukan. Sebagai masukan, jika kaki–kaki Port 2 dihubungkan ke ground (di-pulled low), maka masing–masing kaki akan memberikan arus (source) karena di-pulled high secara internal. Port 2 akan memberikan byte alamat bagian tinggi (high byte) selama pengambilan instruksi dari memori program eksternal dan selama pengaksesan memori data eksternal yang menggunakan perintah dengan alamat 16-bit. Dalam aplikasi ini, jika ingin mengirimkan '1', maka digunakan pullup internal yang sudah disediakan. Selama pengaksesan memori data eksternal yang menggunakan perintah dengan alamat 8-bit, Port 2 akan mengirimkan isi dari SFR P2. Port 2 juga menerima alamat bagian tinggi selama pemrograman dan verifikasi flash.

4. Port 3

port masukan/keluaran dua arah 8-bit dengan internal pull-up. Penyangga keluaran Port 3 mampu memberikan/menyerap arus empat masukan TTL (sekitar 1,6 mA). Jika '1' dituliskan ke kaki–kaki port 3,

(23)

maka masing–masing kaki akan di-pulled high dengan pullup internal sehingga dapat digunakan sebagai masukan. Sebagai masukan, jika kaki–kaki port 3 dihubungkan ke ground (di-pulled low), maka masing–masing kaki akan memberikan arus (source) karena di-pulled high secara internal. Port 3, sebagaimana Port 1, memiliki fungsi– fungsi alternatif antara lain menerima sinyal–sinyal kontrol (P3.6 dan P3.7), bersama–sama dengan port 2 (P2.6 dan P2.7) selama pemrograman dan verifikasi flash.

Keempat port pada mikrokontroler bersifat dwi-arah dan masing-masing memiliki sebuah pengancing (latch), yang diacu dalam program sebagai Register Fungsi Khusus (RFK atau SFR) sebagai P0, P1, P2 dan P3. Selain itu juga memiliki sebuah penggerak keluaran (output driver) dan sebuah penyangga masukan (input buffer) pada masing-masing kaki port.

Penggerak–penggerak keluaran Port 0 dan 2 serta penyangga masukan dari Port 0 digunakan dalam pengaksesan memori eksternal. Pada aplikasi semacam ini, Port 0 mengeluarkan byte rendah alamat memori eksternal, dimultipleks secara waktu dengan byte yang akan dituliskan atau dibaca (ke/dari memori eksternal). Port 2 mengeluarkan byte tinggi dari alamat memori eksternal jika lebar alamatnya 16-bit, selain itu kaki–kaki Port 2 tetap meneruskan menghasilkan isi SFR dari P2. Berikut ini akan dijelaskan masing–masing port pada mikrokontroler.

Port 1 ada beberapa fungsi khususnya yaitu seperti pada tabel 2.1 dibawah ini :

(24)

Port 3 ada beberapa fungsi khususnya yaitu seperti pada tabel 2.2 dibawah ini :

Tabel 2.2 Fungsi port 3 pada AT89S52

Selain itu fungsi dari pin yang lainnya pada AT89S52 adalah sebagai berikut : 1. Vcc

Berfungsi sebagai masukan sumber tegangan 5V. 2. GND

Berfungsi sebagai ground atau pentanahan. 3. RST

Berfungsi sebagai masukan reset. Kondisi ‘1’selama 2 siklus mesin selama osilator bekerja akan mereset mikrokontroller yang bersangkutan.

4. ALE/PROG

Keluaran ALE atau Adreess Latch Enable menghasilkan pulsa–pulsa untuk mengancing byte rendah (low byte) alamat selama mengakses memori eksternal. Kaki ini juga berfungsi sebagai masukan pulsa program (the program pulse input) atau PROG selama pemrograman flash . Pada operasi normal, ALE akan berpulsa dengan laju 1/6 dari frekuensi kristal dan dapat digunakan sebagai pewaktuan (timing) atau pendetakan (clocking) rangkaian eksternal. Catatan, ada satu pulsa yang dilompati selama selama pengaksesan memori data eksternal. Jika dikehendaki, operasi ALE bisa dimatikan dengan cara mengatur bit 0 dari SFR lokasi 8Eh. Jika isinya '1', ALE hanya akan aktif selama dijumpai instruksi MOVX atau MOVC. Selain itu, kaki ini akan secara

(25)

lemah di-pulled high . Mematikan bit ALE tidak akan ada efeknya jika mikrokontroler mengeksekusi program secara eksternal.

5. PSEN

Program Storage Enable, merupakan sinyal baca untuk memori program eksternal. Saat mikrokontroler menjalankan program dari memori eksternal, PSEN akan diaktifkan dua kali per siklus mesin, kecuali dua aktivasi PSEN dilompati (diabaikan) saat mengakses memori data eksternal.

6. EA/Vpp

Eksternal Access Enable, EA harus selalu dihubungkan ke ground, jika controller akan digunakan untuk mengeksekusi program dari memori eksternal lokasi 0000h hingga FFFFh. Selain itu juga harus dihubungkan ke Vcc bila controller akan mengakses program internal, yaitu pada lokasi 0000h sampai 1FFFh sedangkan lokasi 2000h sampai FFFFh pada memori eksternal. Kaki ini juga berfungsi menerima tegangan 12 Volt (VPP) selama pemrograman flash, khususnya untuk tipe mikrokontroler 12 Volt VPP.

2.4.3 Timer atau Counter

Keluarga mikrokontroler MCS51 dilengkapi dengan tiga perangkat Timer/Counter, masing-masing dinamakan sebagai Timer/Counter 0, Timer/Counter 1, dan Timer 2.

Untuk mengakses Timer/Counter tersebut digunakan register khusus yang tersimpan dalam Special Function Register (SFR). Pencacah biner Timer 0 diakses melalui register TL0 (Timer 0 Low Byte , memori internal alamat 6Ah) dan register TH0 (Timer 0 High Byte , memori internal alamat 6Ch). Pencacah biner Timer 1 diakses melalui register TL1 (Timer 1 Low Byte , memori internal alamat 6Bh) dan register TH1 (Timer 1 High Byte , memori internal alamat 6Dh).

Pencacah biner Timer/Counter pada MCS51 merupakan pencacah biner 16 bit naik (count up binary counter) yang mencacah 0000h sampai FFFFh, saat

(26)

kondisi pencacah berubah dari FFFFh kembali ke 0000h akan timbul sinyal berlebihan (overflow ).

Untuk mengatur kerja Timer/Counter tersebut digunakan 2 register tambahan, yaitu register TCON (Timer Control Register), memori data internal alamat 88h, bisa diberi alamat per bit). Dan register TMOD (Timer Mode Register , memori data internal alamat 89h, tidak bisa diberi alamat per bit).

Tabel 2.3 Susunan bit dalam register TCON

1. TF1 : overflow flag Timer 1/Counter 1 (1 = overflow) 2. TR1 : Enable Timer 1/Counter 1

3. TF0 : overflow flag Timer 0/Counter 0 (1 = overflow) 4. TR0 : Enable Timer 0/Counter 0

5. IE1 : External Interrupt 1 edge flag

6. IT1 : Interrupt 1 type control bit . Set/clear oleh program untuk menspesifikasi sisi turun/level rendah trigger dari interupsi eksternal. 7. IE0 : External Interrupt 0 edge flag

IT0 : Interrupt 0 type control bit . Set/clear oleh program untuk menspesifikasi sisi turun/level rendah trigger dari interupsi eksternal.

Tabel 2.4 Susunan bit dalam register TMOD

1. GATE : merupakan bit pengatur sinyal detak. Jika GATE = 0, Timer/Counter akan berjalan saat TR0 atau TR1 pada register TCON (TRx) = 1. Jika GATE = 1, Timer/Counter akan berjalan saat TRx = 1 atau INT1 untuk Timer 1 dan INT0 untuk Timer 0 (INTx) = 1.

2. C/T : dipakai untuk mengatur sumber sinyal detak yang diberikan kepada pencacah biner. Jika C/T = 0, maka Timer akan aktif dengan sinyal detak diperoleh dari osilator kristal yang frekuensinya sudah

(27)

dibagi 12. Jika C/T = 1, maka Counter akan aktif dengan sinyal detak diperoleh dari kaki T0 (untuk Timer 0) dan kaki T1 (untuk Timer 1). 3. M0 dan M1 : dipakai untuk menentukan Mode Timer/Counter.

Tabel 2.5. Mode Operasi Timer/Counter

M1 M0 Mode Operasi

0 0 0 Timer / Counter 13 bit 0 1 1 Timer / Counter 16 bit 1 0 2 Timer auto reload 8 bit

1 1 3 TL0 adalah timer / Counter 8 bit yang dikontrol oleh kontrol bit Timer 0 (TF0).

TH0 adalah Timer / Counter 8 bit yang dikontrol oleh kontrol bit Timer 1 (TF1).

Untuk menghitung clock frequency adalah menggunakan perhitungan berikut :

1

T = 1/12 x frequensi osilator

Sehingga, dengan menggunakan Mode 1 dapat dihitung waktu tunda yang diperlukan dengan perhitungan berikut :

Delay = ( 65536 - n ) x T

Dengan n adalah nilai desimal dari nilai heksadesimal THxTLx

2.5 QUADRUPLE HALF-H DRIVERS (L293D)

L293D merupakan IC yang berfungsi sebagai Quadruple high-current half-H drivers. L293D didesain untuk menyediakan driver arus bidirectional sampai 600mA pada tegangan 4.5 volt sampai 36 volt. L293D dirancang untuk driver beban induktif seperti motor stepper, motor dc dan solenoid, seperti halnya high-current/high-voltage lainnya dalam aplikasi positive-supply. Semua input pada IC ini berupa input TTL yakni 4 volt sampai 5 volt. IC L293D dapat beroperasi pada temperature 0oC sampai 70oC. Blok diagram IC L293D ditunjukan pada gambar dibawah ini:

(28)

Keterangan: Dioda yang digambarkan pada blok diagram sudah berada di dalam IC

Gambar 2.6 Blok Diagram IC L293D

Masing-Masing keluaran dilengkapi dengan circuit pengendali totem-pole, dengan Darlington transistor sink dan pseudo-Darlington. Dengan data input yang tepat, masing-masing pengendali membentuk suatu full-H Bridge (jembatan-H). Pengendali dapat dibalik yang pantas untuk aplikasi motor atau solenoid.

(29)

Keterangan-keterangan pin-pin diatas adalah sebagai berikut :

1. Pin 1 adalah enable output 1. Pin ini merupakan input TTL yang digunakan untuk mengaktifkan output 1 dalam hal ini motor DC.

2. Pin 2 dan pin 7 adalah input TTL untuk output 1.

3. Pin 3 dan pin 6 adalah output 1. Pin ini merupakan output yang dapat dihubungkan ke motor DC.

4. Pin 4, pin 5, pin 12 dan pin 13 adalah common analog ground. 5. Pin 8 dan pin 16 adalah input supply tegangan ke kolektor.

6. Pin 9 adalah enable output 2. Pin ini merupakan input TTL yang digunakan untuk mengaktifkan output 2.

7. Pin 10 dan pin 15 adalah input TTL untuk output 2.

2.6 MODUL LCD

Modul LCD digunakan sebagai display. Pada modul ini digunakan LCD 2x16 karakter. LCD mempunyai 16 pin dengan fungsi masing-masing pin adalah sebagai berikut :

Tabel 2.6. LCD 2x16 Karakter

Sebagaimana terlihat pada kolom detail, interface LCD merupakan sebuah parallel bus, dimana hal ini sangat memudahkan dan sangat cepat dalam pembacaan dan penulisan data dari atau ke LCD. LCD bertipe ini memungkinkan pemrogram untuk mengoperasikan komunikasi data secara 8 bit atau 4 bit. Jika menggunakan jalur data 4 bit akan ada 7 jalur data (3 untuk jalur kontrol & 4 untuk jalur data). Jika menggunakan jalur data 8 bit maka akan ada 11 jalur data (3 untuk jalur kontrol & 8 untuk jalur data). Tiga jalur kontrol ke LCD ini adalah EN (Enable), RS (Register Select) dan R/W (Read/Write).

Untuk membuat sebuah aplikasi interface LCD, menentukan mode operasi merupakan hal yang paling penting. Mode 8 bit sangat baik digunakan ketika kecepatan menjadi keutamaan dalam sebuah aplikasi dan setidaknya minimal tersedia 11 pin I/O (3 pin untuk kontrol, 8 pin untuk data). Sedangkan mode 4 bit

(30)

minimal hanya membutuhkan 7 bit (3 pin untuk kontrol, 4 untuk data). Bit “RS†digunakan untuk memilih apakah data atau instruksi yang akan ditransfer antara mikrokontroller dan LCD. Jika bit ini di set (RS = 1), maka byte pada posisi kursor LCD saat itu dapat dibaca atau ditulis. Jika bit ini di reset (RS = 0), bisa merupakan instruksi yang dikirim ke LCD atau status eksekusi dari instruksi terakhir yang dibaca.

R/W E

Gambar 2.6 Schematic Modul LCD

Ground Ground Pin 1 P2.0 ~ P2.7 Data Bus Pin 7~14 P0.2 LCD_Enable Pin 6 P0.1 LCD_R/W Pin 5 P0.0 LCD_RS Pin 4 GND atau 5 Volt Contrast Pin 3 Vcc 5 Volt Vdd Pin 2 Spesifikasi modul LCD Ground Ground Pin 1 P2.0 ~ P2.7 Data Bus Pin 7~14 P0.2 LCD_Enable Pin 6 P0.1 LCD_R/W Pin 5 P0.0 LCD_RS Pin 4 GND atau 5 Volt Contrast Pin 3 Vcc 5 Volt Vdd Pin 2 Spesifikasi modul LCD

(31)

23

Pada bab sebelumnya telah disajikan rancangan umum sistem dan teori dasar sistem. Sedangkan pada bab ini pembahasan ditekankan pada perancangan perangkat keras dan perancangan pemrograman perangkat lunak

3.1 BLOCK DIAGRAM SISTEM

Pembuatan alat ini menggunakan mikrokontroler AT89S52 yang berfungsi sebagai hardware PWM, mikrokontroler ini dapat diprogram dengan ISP (In-System Programming). Mikrokontroler AT89S52 diprogram secara langsung pada board tanpa harus melepas mikrokontroler tersebut dari soketnya. ISP program menggunakan parallel port.

Mikrokontroler masukan akan diproses guna mendapatkan duty cycle sinyal PWM. Proses pengukuran kecepatan putaran motor menggunakan encoder dan pengendali motor menggunakan motor driver L293D.

Sebagai tampilannya digunakan penampil LCD yang mampu menampilkan teks atau menampilkan menu pada aplikasi mikrokontroler. LCD yang digunakan merupakan modul LCD dengan tampilan 2x16 karakter dengan konsumsi daya rendah.

Secara garis besar cara kerja alat terbagi menjadi dua, yaitu proses pengukuran kecepatan putar motor dan proses untuk pembangkit sinyal PWM yang dimodulasikan pada motor driver.

(32)

Dibawah ini adalah diagram blok dari rancangan alat :

Gambar 3.1 Blok diagram sistem pengendali motor DC Cara kerja rangkaian :

 Mikrokontroler AT89S52 sebagai hardware PWM dihubungkan ke parallel port sebagai In-system programming dengan menggunakan komputer. Port yang terkoneksi dengan parallel port adalah port P1.5 (MOSI), port P1.6 (MISO), port P1.7 (SCK) , Reset, dan Ground

Gambar 3.2 Wiring Parallel Port

 Sistem pemograman menggunakan M-IDE51 dan Aec_ISP, setelah diprogram alat dapat dijalankan maka reset harus dalam posisi “low” dengan begitu koneksi antara komputer dengan perancangan alat

MOTOR DRIVER ROTARY ENCODER LCD ISP MIKROKONTROLER AT89S52 M TACK SWITCH GND 25 GND 24 GND 23 GND 22 GND 21 GND 20 GND 19 GND 18 10 ACK 9 D7 8 D6 7 D5 6 D4 5 D3 4 D2 3 D1 2 D0 1 STROBE AT89S52 P1.5 < MOSI > P1.6 < MISO > P1.7 < SCK > RESET GND

Use twisted pair cable

(33)

(hardware PWM) terputus dan jika ingin mengisi program kembali maka reset harus dalam keadaan “high”.

 Untuk mengontrol motor dc maka digunakan motor driver L293D karena dapat menyediakan drive arus bidirectional sebesar 600mA pada tegangan 4,5V sampai 36 V.

 Keluaran dari mikrokontroler AT89S52 port P1.0 terhubung ke motor driver L293D pin 1 (1,2EN) dalam keadaan “high” dan port P1.1 terhubung langsung ke motor driver L293D pin 7 (2A) dalam keaadaan “high” dan port P1.1 terhubung ke inverter dan terhubung ke motor driver pin 2 (1A) dalam keadaan “low” maka output pada motor driver L293D pin 3 (1Y) dalam keaadaan “low” dan pin 6 (2Y) dalam keaadaan “high” dan motor DC akan berputar. Untuk lebih detailnya dibawah ini ada table fungsi :

Tabel 3.1 Tabel Fungsi Motor Driver

 Untuk mengendalikan putaran dan mengatur kecepatan motor DC menggunakan mikrokontroler yang dikendalikan dengan menekan tack switch yang terhubung P3.0 dan port P3.1.

 Untuk mengukur kecepatan putar maka digunakan Encoder dihubungkan langsung dengan poros motor dc dan membangkitkan tegangan yang sebanding dengan kecepatan motor dc. Encoder diberi tegangan 5 Volt , phase A dihubungkan ke port P3.2(INTO) dan phase B dihubungkan ke port P3.4(TO). Dengan keluaran phase A&B berbentuk gelombang pulsa-pulsa digital.

(34)

 Untuk menampilkan hasil pengukuran kecepatan motor dc maka digunakan LCD 2x16 karakter, jalur data yang digunakan 8 bit maka akan ada 11 jalur data (3 untuk jalur kontrol & 8 untuk jalur data). Tiga jalur kontrol ke LCD ini adalah RS (Register Select) dihubungkan ke port P0.0, R/W (Read/Write) dihubungkan ke port P1.1 dan EN (Enable) dihubungkan ke port P0.2. Untuk data bus I/O DB0 ~ DB7

dihubungkan ke port P2.0 ~ P2.7.

3.2 MOTOR DRIVER

Rangkaian pengendali motor DC memerlukan sebuah IC driver L293D yang dapat memberikan arus sampai 600mA. Arus yang ada dapat mengaktifkan motor DC. Driver motor DC enable sepasang, yaitu driver 1 yaitu pin2 dan driver 2 yaitu pin7 enable oleh 1,2EN yaitu pin1. Pengendali dihubungkan dalam keadaan enable, dan output L293D pin 3 & 7 akan active dan di dalam phase input, jika pengendali dalam keadaan disable, maka output L293D pin 3 & 7 akan off dan dalam high-impedance state.

Sumber tegangan yang diberikan pada VCC 5 Volt untuk mengaktifkan IC L293D dan VDD 12 Volt untuk mengaktifkan motor DC, dimana IC L293D beroperasi pada temperatur 0°C sampai 70°C. Gambar rangkaian motor driver L293D adalah sebagai berikut :

(35)

3.3 LCD 2x16 KARAKTER

Untuk menampilkan hasil dari pengolahan data mikrokontroler yang dalam hal ini adalah kecepatan motor, maka digunakan sebuah LCD 2x16 karakter. Penggunaan LCD 2x16 karakter sudah dianggap cukup untuk menampilkan hasil kecepatan motor dan juga menu-menu bantu yang digunakan untuk mempermudah pengoperasian peralatan ini. Pemilihan LCD ini dikarenakan untuk mempermudah dalam hal pemograman dan tampilannya lebih bagus bila dibandingkan dengan seven segment. Gambar rangkaian LCD seperti gambar dibawah ini :

Gambar 3.4 Rangkaian LCD 2x16 Karakter

Keluaran dari mikrokontroler AT89S52 port P0 memerlukan Pull-up eksternal untuk masukan control LCD (RS, R/W dan EN) dengan nilai 10K ohm karena diperlukan saat memverifikasi program.

Jalur kontrol EN digunakan untuk memberitahu LCD bahwa mikrokontroller mengirimkan data ke LCD. Untuk mengirim data ke LCD program harus menset EN ke kondisi high (1) dan kemudian menset dua jalur kontrol lainnya (RS dan R/W) atau juga mengirimkan data ke jalur data bus. Saat jalur lainnya sudah siap, EN harus diset ke 0 dan tunggu beberapa saat (tergantung pada datasheet LCD), dan set EN kembali ke high (1). Ketika jalur RS berada dalam kondisi low (0), data yang dikirimkan ke LCD dianggap sebagai sebuah perintah atau instruksi khusus (seperti bersihkan layar, posisi kursor dll).

(36)

Ketika RS dalam kondisi high atau 1, data yang dikirimkan adalah data ASCII yang akan ditampilkan dilayar. Misal, untuk menampilkan huruf “A†pada layar maka RS harus diset ke 1. Jalur kontrol R/W harus berada dalam kondisi low (0) saat informasi pada data bus akan dituliskan ke LCD. Apabila R/W berada dalam kondisi high (1), maka program akan melakukan query (pembacaan) data dari LCD. Instruksi pembacaan hanya satu, yaitu Get LCD status (membaca status LCD), lainnya merupakan instruksi penulisan. Jadi hampir setiap aplikasi yang menggunakan LCD, R/W selalu diset ke 0. Jalur data dapat terdiri 4 atau 8 jalur (tergantung mode yang dipilih pengguna), mereka dinamakan DB0, DB1, DB2, DB3, DB4, DB5, DB6 dan DB7. Mengirim data secara parallel 8 bit merupakan 2 mode operasi primer.

3.4 ROTARY ENCODER

Rotary encoder, atau disebut juga Shagt encoder, merupakan perangkat elektro-mekanikal yang digunakan untuk mengkonversi posisi anguler (sudut) dari shaft (lubang) atau roda ke dalam kode digital, menjadikannya semacam tranduser. Terdapat dua tipe utama rotary encoder, yaitu tipe absolute dan tipe relative, dan untuk perancangan alat ini menggunkan rotary encoder bertipe relative .

(37)

Rotary encoder digunakan sebagai penghitung kecepatan motor DC yang menjadi masukan umpan balik bagi pengendali. Rotary encoder yang digunakan tipe E6B-CWZ3E dengan resolusi 2000 pulsa.

Gambar 3.6 Bentuk Gelombang Pulsa pada Encoder

Output dari encoder (phase A & B) masuk pada mikrokontroler AT89S52 port P3.2(INTO) untuk phase A dan port P3.4 (TO) untuk phase B dan bentuk gelombang pada phase bisa dilihat pada Gambar 3.8 (Bentuk Gelombang Pulsa pada Encoder).

Rotary Encoder relative sering disebut Incremental Encoder digunakan ketika metode pengkodean, Metode ini juga menggunakan piringan yang dipasang pada poros. Sebuah saklar optic, seperti photodiode, menghasilkan pulsa listrik, kemudian rangkaian control mengitung pulsa untuk menerjemahkan sudut putar dari poros. Tipe encoder ini dikenal dengan Quadrature Encoder.

Hasil pulsa listrik ke kecepatan angular (rpm) dari rotary encoder dapat dihitung secara secara matematis, yaitu:

n = ……… (3.1)

dimana:

n = kecepatan angular (rpm) Tw = periode penampungan pulsa (s) P = jumlah pulsa yang ditampung N = jumlah pulsa / gigi pada cakram

maka nilai aktual dari rotary encoder type E6B-CWZ3E adalah sebagai berikut : n = ……… (3.2) P = ……… (3.3) Tw.N 60 P Tw.2.000 60 P Tw.2.000 60 P

(38)

Tw = ……… (3.4)

Tw = ……… (3.5) Jadi periode penampung pulsa 30 mS menghasilkan 1 rpm dengan jumlah 1 pulsa.

Gambar 3.7 Incremental Rotary Encoder

Gambar 3.8 (a) Encoder Disk (b) Connection Encoder

Motor DC (a) (b) 2.000 60 S 30 mS

(39)

3.5 RANGKAIAN KESELURUHAN

Di bawah ini adalah gambar rangkaian keseluruhan berdasarkan dari diagram blok yang ada :

Gambar 3.9 Rangkaian Lengkap Pengendali Motor DC

3.5.1 Proses pengukuran kecepatan putaran

Rotary encoder berfungsi untuk mengkonversi gerak linier dan rotasi menjadi pulsa-pulsa digital. Rotary encoder memonitor gerak rotasi dari motor DC. Rotary encoder yang digunakan bertipe relative atau yang lebih dikenal dengan incremental. Pulsa-pulsa yang keluar menjadi masukan pada mikrokontroler yang kemudian dicacah oleh mikrokontroler, kemudian keluaran dari mikrokontroler diolah oleh module LCD2x16 karakter untuk menampilkan hasil pengukuran putaran motor DC pada rotary encoder.

3.5.2 Pengolahan Sinyal PWM

Sinyal detak PWM dibangun oleh sebuah kapasitor kristal 11.0592 MHz yang terpasang pada mikrokontroler, dan kemudian diolah pada bagian timer dengan cara memvariasikan frekuensi yang masuk. Sehingga keluaran sinyal

(40)

PWM dapat diubah-ubah perbandingan lebar pulsa dan kosongnya hanya dengan memberikan kata kendali 8 bit ke salah satu jalan masuk 8 bit.

PWM pada dasarnya adalah menyalakan (ON) dan mematikan (OFF) motor DC dengan cepat. Kuncinya adalah mengatur berapa lama waktu ON dan OFF. Kecepatan putar Motor DC diatur dengan mengatur duty cycle yang masuk (Vrata2). Berikut Gambar timer kecepatan motor DC..

Gambar 3.10 Timer Kecepatan Motor DC

3.6 PERANCANGAN PERANGKAT LUNAK

AT89S52 Mempunyai kemampuan serial downloading atau lebih dikenal dengan istilah In System Programming (ISP) sehingga mikrokontroler langsung dapat diprogram pada rangkaiannya tanpa harus mencabut IC untuk diprogram, Programmer ISP dapat dibuat menggunakan paralel port komputer sehingga bagi mereka yang belum memiliki programmer dapat tetap berkesperimen menggunakan mikrokontroller ini dengan biaya yang murah.

Pemrogramman AT89S52 menggunakan bahasa C sehingga pemrograman akan lebih mudah dibandingkan penggunaan bahasa assembly.

Pada perancangan program pengendali motor DC ini kita menggunakan beberapa parameter yang diperlukan dalam pengendalian motor DC, termasuk didalamnya pengaturan PWM.

(41)

Untuk menentukan alur kerja program terlebih dahulu harus dirancang diagram alir program (flowchart). Dengan rancangan tersebut akan lebih mudah untuk menentukan instruksi apa yang harus digunakan pada tiap-tiap langkahnya.

(42)

34

Pengujian dilakukan dengan pengukuran pada masing-masing bagian, antara lain: bentuk fisik, pengujian cara pengisian program ISP (In-System Programming), pengujian motor DC ON/OFF & arah putar motor DC, pengujian LCD & tampilan tulisan, pengujian rotary encoder dan pengecekan total dengan tack switch. Pengukuran dilakukan dengan cara memprogram langsung secara In-System Programming (ISP) pada PC langsung ke alat uji system pengendali motor DC dengan PWM.

4.1 BENTUK FISIK

Model sistem pengendali motor DC dengan PWM yang dirancang mempunyai bentuk fisik dan layout seperti pada Gambar 4.1 dan Gamabr 4.2 sebagai berikut :

(43)

Gambar 4.2 Layout PCB

4.2 PENGUJIAN SYSTEM PENGENDALI MOTOR DC

Tujuan dan pengujian sistem pengendali motor DC adalah untuk mengetahui apakah setiap alat dalam pengendali motor DC ini dapat bekerja baik dan sesuai dengan keinginan.

4.2.1 Pengujian cara pengisian program dengan In-System Programming M-IDE Studio adalah salah satu cara yang digunakan untuk menjalankan kompilasi untuk divais MCS-51. M-IDE Studio mempunyai beberapa fitur yang dapat digunakan untuk edit, compil, dan debug file. The M-IDE Studio juga dapat digunakan untuk menulis program dalam bahasa C. Dengan menggunakan software ini, maka kita dapat melihat error pada report file LST. Tampilan M-IDE Studio dapat dilihat pada Gambar 4.3 sebagai berikut :

(44)

Bila diperhatikan pada menu toolbar dan menu pilihan, tampak disable. Hal ini karena file belum dibuat. Untuk membuat sebuah file, lakukan langkah-langkah berikut:

1. Membuat File

Untuk membuat file baru, klik pada menu File atau short cut seperti yang ditunjukkan pada Gambar 4.4, sehingga akan tampak halaman kosong.

Gambar 4.4 File baru dengan halaman kosong 2. Menulis sebuah program

Tulis program assembly pada halaman kosong, dan lakukan penyimpanan file. Bila file telah tersimpan maka akan tampak teks instruksi yang berwarna-warni. Sebagaimana yang ditunjukan pada Gambar 4.5.

Gambar 4.5 Menu menyimpanan file 3. Kompilasi

Agar file dengan ekstensi ASM tersebut dapat diloadkan ke mikrokontroller, maka perlu dilakukan kompilasi dari file ASM ke HEX, sebagaimana ditunjukan pada Gambar 4.6 :

(45)

Gambar 4.6 Kompilasi file 4. Debug

Debug dapat dilihat pada Gambar 4.7 sebagai berikut:

Gambar 4.7 Debug file

Setelah membuat file program dan untuk memasukkan file tersebut ke dalam mikrokontroler AT89S52, maka lakukan langkah-langkah berikut:

1. Debug dan Burn

Agar file dengan ekstensi ASM tersebut dapat diloadkan ke mikrokontroller, maka perlu dilakukan kompilasi dari file ASM ke HEX

Burn adalah untuk pengisian file HEX ke dalam mikrokontroler, memerlukan program file tambahan yaitu Aec_isp.exe, Gambar 4.8 di bawah ini menunjukan kompilasi dan burn:

Gambar 4.8 Kompilasi dan Burn to compile and burn file

(46)

2. File HEX

Setelah melakukan kompilasi dan burn maka akan menampilkan display file HEX, dan setelah itu press any key to continue, setelah itu tampilan akan seperti Gambar 4.9 Aec_isp.exe dibawah ini :

Gambar 4.9 Aec_isp.exe 3. Setup

Kemudian lakukan Setup dengan menekan tombol J, dan setting seperti gambar 4.10 dibawah ini:

a. Device ………. AT89S52

b. Lock protect bit 1 …..……… No c. Lock protect bit 2 …..……… No d. Lock protect bit 3 …..……… No e. Program EEPROM memory ……….. No f. Verify EEPROM memory ……….. No g. Save setup

(47)

4. Program

Untuk pengisian atau memasukan program dari PC ke mikrokontroler AT89S52, maka tekan tombol E.

5. Reset

Tombol I untuk melakukan Reset mikrokontroller, hal ini penting karena jika program yang telah dimasukan dan akan dijalankan maka reset harus dalam posisi “low” dan jika ingin mengisi program kembali maka reset harus dalam keadaan “high”.

4.2.2 Pengujian motor DC ON / OFF dan Arah putar motor DC

Pengujian ini dilakukan untuk mengetahui apakah koneksi motor DC dari mikrokontroler AT89S52 ke motor driver lalu ke motor DC bekerja dengan baik, caranya dengan memasukkan program dari PC ke mikrokontroler AT89S52 secara In-system programming setelah itu reset dirubah dari “high” menjadi “low”, maka Motor DC berputar kekanan selama 50ms, berhenti selama 50ms dan kembali berputar terbalik kekiri selama 50ms, berhenti selama 50ms dan begitu seterusnya

Arah putar motor DC sesuai dengan program yang dibuat dan dimasukkan ke dalam mikrokontroler AT89S52 secara ISP, dan putarannya kekanan dan kekiri selama 50ms tanpa kita menekan 2 tombol tack switch.

4.2.3 Pengujian LCD dan Tampilan tulisan

Pengujian ini dilakukan untuk mengetahui apakah tampilan LCD dapat menampilkan hasil dari pengolahan data mikrokontroler. Kontrol LCD (RS, R/W dan EN) dapat masukkan dari port P0 mikrokontroler AT89S52, maka dibutuhkan pull-up (Resistor 10KΩ) untuk menghidupkan tampilan LCD.

Caranya dengan memasukkan program dari PC ke mikrokontroler AT89S52 secara In-system programming setelah itu reset dirubah dari “high” menjadi “low”, maka hasil didapatkan bahwa pada pengujian ini tampilan tulisan LCD bisa dilihat pada Gambar 4.11 di bawah ini:

(48)

Gambar 4.11 Tampilan tulisan LCD

4.2.4 Pengujian Rotary Encoder

Pengujian ini dilakukan untuk mengetahui kecepatan putar motor DC yang bisa dilihat pada tampilan tulisan LCD, dimana motor DC berputar dan putarannya tersebut diukur oleh rotary encoder, output dari rotary encoder berupa pulsa yang dikirim ke mikrokontroler AT89S52 dan keluarannya akan ditampilkan ke LCD.

Caranya dengan memasukkan program dari PC ke mikrokontroler AT89S52 secara In-system programming setelah itu reset dirubah dari “high” menjadi “low”, maka motor DC berputar dan tampilan tulisan pada LCD bertulisan “302 rpm”selama 30ms dan putaran motor DC ditahan perlahan dengan jari dan tampilan pada LCD berubah sesuai dengan putaran motor, hingga putaran motor dc berhenti dan tampilan tulisan pada LCD ikut sesuai putaran motor DC yaitu “000 rpm”, dan tampilan tulisan putaran motor DC dapat dilihat pada Gambar 4.12 di bawah ini:

(49)

4.2.5 Pengujian Total dengan Tack Switch

Pengujian ini dilakukan untuk mengetahui putaran motor DC yang dikendalikan dengan tack switch, dimana terdapat 2 tack switch pada alat ini.

Caranya dengan memasukkan program dari PC ke mikrokontroler AT89S52 secara In-system programming setelah itu reset dirubah dari “high” menjadi “low”, maka motor DC berputar dengan periode 1ms, dan jika salah satu tombol tack switch ditekan, maka duty cycle bertambah dan berkurang 1% dengan periode 10µs. Tekan 2 tombol tack switch selama 30 ms, maka putaran motor DC akan berbalik arah. Tabel hasil pengukuran putaran motor DC dapat dilihat pada table 4.1 di bawah ini:

Tabel 4.1 Tabel Hasil Pengukuran Putaran Motor DC Arah putar ke kanan

No S/W DOWN (P3.0) Kecepatan Terukur (RPM) Duty Cycle (%) Vrata2 (volt) S/W UP (P3.1) Kecepatan Terukur (RPM) Duty Cycle (%) Vrata2 (volt) 1 - 1% ± 325 95% 10,8 + 1% ± 160 5% 3,4 2 - 1% ± 325 94% 10,8 + 1% ± 250 6% 4,4 3 - 1% ± 325 93% 10,8 + 1% ± 250 7% 4,4 4 - 1% ± 325 92% 10,8 + 1% ± 270 8% 5 5 - 1% ± 325 91% 10,8 + 1% ± 290 9% 5,8 6 - 1% ± 325 90% 10,8 + 1% ± 290 10% 5,8 7 - 1% ± 325 80% 10,4 + 1% ± 320 20% 7,4 8 - 1% ± 325 70% 9,8 + 1% ± 325 30% 8,2 9 - 1% ± 325 60% 9,8 + 1% ± 325 40% 8,8 10 - 1% ± 325 50% 9,2 + 1% ± 325 50% 9,2 11 - 1% ± 325 40% 8,8 + 1% ± 325 60% 9,8 12 - 1% ± 325 30% 8,2 + 1% ± 325 70% 9,8 13 - 1% ± 320 20% 7,4 + 1% ± 325 80% 10,4 14 - 1% ± 295 10% 5,8 + 1% ± 325 90% 10,8

(50)

Tabel 4.2 Tabel Hasil Pengukuran Putaran Motor DC Arah putar ke kiri No S/W DOWN (P3.0) Kecepatan Terukur (RPM) Duty Cycle (%) Vrata2 (volt) S/W UP (P3.1) Kecepatan Terukur (RPM) Duty Cycle (%) Vrata2 (volt) 1 - 1% ± (-605) 95% 9,8 + 1% ± (-060) 5% 1,8 2 - 1% ± (-605) 94% 9,8 + 1% ± (-130) 6% 2,6 3 - 1% ± (-600) 93% 9,6 + 1% ± (-130) 7% 2,6 4 - 1% ± (-600) 92% 9,6 + 1% ± (-130) 8% 2,6 5 - 1% ± (-595) 91% 9,4 + 1% ± (-170) 9% 3,4 6 - 1% ± (-595) 90% 9,4 + 1% ± (-170) 10% 3,4 7 - 1% ± (-570) 80% 9,2 + 1% ± (-290) 20% 4,8 8 - 1% ± (-530) 70% 8,4 + 1% ± (-355) 30% 6 9 - 1% ± (-490) 60% 8 + 1% ± (-395) 40% 6,6 10 - 1% ± (-445) 50% 7,2 + 1% ± (-445) 50% 7,2 11 - 1% ± (-395) 40% 6,6 + 1% ± (-490) 60% 8 12 - 1% ± (-355) 30% 6 + 1% ± (-530) 70% 8,4 13 - 1% ± (-290) 20% 4,8 + 1% ± (-570) 80% 9,2 14 - 1% ± (-170) 10% 3,4 + 1% ± (-595) 90% 9,4

Perbedaan pada pengukuran pada arah putar motor DC disebabkan: • Karakteristik motor DC (EG-530AD-2B)

• Sifat transmisi seperti pulley dan belt tidak konsisten • Timing untuk duty cycle kurang presisi

(51)

43

BAB V

PENUTUP

5.1 KESIMPULAN

Dari hasil perancangan dan pembuatan alat sistem pengendali dan pengukur kecepatan putar motor DC dengan PWM berbasis mikrokontroler AT89S52 serta telah dilakukan pengujian, maka diperoleh kesimpulan sebagai berikut :

1. Kecepatan putar motor DC dapat diatur dengan tombol tack switch naik turun, dengan periode 1 ms dan duty cycle berkisar antara 5% sampai 95% dengan resolusi 1%. Dan arah putar motor DC diatur dengan menekan 2 tombol tack switch secara bersamaan selama minimal 30 ms.

2. Hasil pengukuran motor DC secara manual dengan encoder dapat dilihat pada tampilan tulisan LCD dengan cara putaran motor DC ditahan perlahan dengan jari dan tampilan pada LCD berubah sesuai dengan putaran motor DC.

3. Untuk menampilkan tampilan tulisan pada LCD dari mikrokontroler AT89S52 port P.0 maka dibutuh pull-up eksternal sebesar 10KΩ.

5.2 SARAN-SARAN PENGEMBANGAN

1. Untuk pengembangan lebih lanjut dapat digunakan remote control yang menggantikan peran tombol.

2. Untuk pengembangkan lebih lanjut dapat ditambah duty cycle berkisar 0% sampai 100% dengan resolusi 1%.

(52)

44 ATMEL Corporation. Data sheet AT89S52.

Creagan, Dan. A Simple DC Motor Controller

http://www.seattlerobotics.org/encoder/200001/simplemotor.

Dairin. Programer Mikrokontroler Atmel AT89S52 Dairin Computer, Yogyakarta, 2004.

Gedex. Kemudahan Memprogram LCD

http://gedex.web.id/archives/2006/12/21/kemudahan-memprogram-lcd/

Omron. Data sheet E6B2-C

Philips Semiconductors. 2003 Jul 23. Data sheet 74HCT04.

Sigit, Riyanto. 2007. Robotika, Sensor & Aktuator

Edisi Pertama, Graha Ilmu-Yogyakarta, 2007.

Triwiyanto. Pelatihan Mikrokontroler.

http://www.mytutorialcafe.com/mikrokontroller

Gambar

Gambar 2.1 Bagian-bagian dari motor DC
Gambar 2.2 Duty Cycle
Gambar 2.3 Sinyal PWM untuk mengatur kecepatan motor DC
Gambar 2.4 Diagram blok AT89S52
+7

Referensi

Garis besar

Dokumen terkait

Dari sisi Bank Indonesia, dengan memandang bahwa pengelolaan ekonomi makro kedepan masih harus berhadapan dengan risiko global dan kompleksitas permasalahan domestik

Rekomendasi untuk tumpahan di darat dan tumpahan di perairan ini didasarkan pada skenario tumpahan yang paling mungkin terjadi untuk material ini; namun, kondisi geografi, angin,

Monitoring dan evaluasi pelaksanaan koordinasi fasilitator ekonomi dengan PT BRI setempat Sesuai dengan kebijakan dari PMU P2KP, saat ini sudah dimobilisasi 59 fasilitator

URAIAN INDIKATOR KINERJA SATUAN RENCANA TINGKAT CAPAIAN REALISASI RANCANA TINGKAT CAPAIAN NO KEGIATAN PROGRAM outcome: (1) Jumlah judul penelitian dosen yang diterima dengan

Menurut

Motivasi konsumen memiliki pengaruh paling besar terhadap keputusan pembelian oleh konsumen diantara variabel bebas lainnnya yang diteliti yaitu sebesar 0,403 Hal

Di antara enam tipe nomina takrif tersebut, pronomina persona dan nama diri merupakan tipe nomina takrif yang dapat berdiri sendiri tanpa unsur lain untuk dapat menjadi