pengendalian kecepatan putar (rpm) motor dc dengan …

86
PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN METODE PID BERBASIS MIKROKONTROLLER ATMEGA328 MENGGUNAKAN BAHASA PEMROGRAMAN CODE VISION AVR TUGAS AKHIR DONY ARAVENTA SILALAHI 142408061 PROGRAM STUDI D-III FISIKA DEPARTEMEN FISIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA 2017 Universitas Sumatera Utara

Upload: others

Post on 02-Oct-2021

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC

DENGAN METODE PID BERBASIS MIKROKONTROLLER

ATMEGA328 MENGGUNAKAN BAHASA PEMROGRAMAN

CODE VISION AVR

TUGAS AKHIR

DONY ARAVENTA SILALAHI

142408061

PROGRAM STUDI D-III FISIKA

DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

2017

Universitas Sumatera Utara

Page 2: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC

DENGAN METODE PID BERBASIS MIKROKONTROLLER

ATMEGA328 MENGGUNAKAN BAHASA PEMROGRAMAN

CODE VISION AVR

TUGAS AKHIR

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh gelar

Ahli Madya

DONY ARAVENTA SILALAHI

142408061

PROGRAM STUDI D-III FISIKA

DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

2017

Universitas Sumatera Utara

Page 3: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

i

PERSETUJUAN

Judul : Pengendalian Kecepatan Putar (RPM) Motor DC

Dengan Metode PID Berbasis Mikrokontroller

ATmega328 Menggunakan Bahasa Pemrograman

Code Vision AVR

Katagori : Tugas Akhir

Nama : Dony Araventa Silalahi

Nomor Induk Mahasiswa : 142408061

Program Studi : D-III Fisika

Departemen : Fisika

Fakultas : Matematika dan Ilmu Pengetahuan Alam

Disetujui di

Medan, 27 Juli 2017

Disetujui Oleh

Departemen Fisika FMIPA USU Pembimbing

Ketua

Drs. Takdir Tamba,M.Eng.Sc Dr. Susilawati, M.Si.

NIP:196006031986011002 NIP:19741207200122001

Universitas Sumatera Utara

Page 4: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

ii

PERNYATAAN

PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN

METODE PID BERBASIS MIKROKONTROLLER ATMEGA328

MENGGUNAKAN BAHASA PEMROGRAMAN CODE VISION AVR

TUGAS AKHIR

Saya mengakui bahwa Tugas Akhir ini adalah hasil karya sendiri. Kecuali beberapa

kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, 27 Juli 2017

Dony Araventa Silalahi

Universitas Sumatera Utara

Page 5: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

iii

142408061

PENGHARGAAN

Puji dan Syukur penulis panjatkan kepada Tuhan Yang Maha Esa,dengan

dilimpahkan berkat-Nya penyusunan TugasAkhir ini dapat diselesaikan. Adapun

judul Tugas Akhir adalah : Pengendalian Kecepatan Putar (RPM) Motor DC

Dengan Metode PID Berbasis Mikrokontroller ATmega328 Menggunakan Bahasa

Pemrograman Code Vision AVR

Ucapan terima kasih penulis sampaikan Kepada berbagai pihak yang telah

banyak membantu penulis dalam penyelesaikan Laporan Tugas Akhir ini yaitu

Kepada: Bapak Dr. Kerista Sebayang, M.S selaku Dekan Fakultas Matematika

dan IlmuPengetahuan Alam Universitas Sumatra Utara.

Ibu Nursahara Pasaribu, M.Sc selaku Wakil Dekan I Fakultas Matematika dan

Ilmu Pengetahuan Alam Universitas Sumatra Utara .

Bapak Drs. Takdir Tamba, M.Eng. Sc selaku Ketua Program Studi D-III Fisika

Fakultas MIPA Universitas Sumatra Utara.

Ibu Dr. Susilawati, M.Si selaku Pembimbing yang telah membimbing dan

mengarahkan Kepada Penulis dalam menyelesaikan Laporan Tugas Akhir .

Seluruh Staf Pengajar/Pegawai Program Studi Fakultas Matematika dan Ilmu

Pengetahuan Alam Universitas Sumatra Utara .

Ayahanda dan Ibunda tercinta yang telah memberikan bantuan berupa dukungan

moril dan material yang sangat membantu dalam menyelesaikan Laporan Tugas

Akhir.

Ibu L. Br Barus yang telah memberikan dukungan dan motivasi.

Universitas Sumatera Utara

Page 6: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

iv

Bapak Drs. Kurnia Brahmana M.Si. yang telah memberikan bantuan berupa Ilmu

dan Motivasi dalam menyelesaikan Laporan Tugas Akhir ini.

Rekan Fisika Instrumentasi D-III yang memberikan bantuan penulisan untuk

menyelesaikan Laporan.

Penulis menyadari bahwa penyusunan Laporan Tugas Akhir ini masih

terdapat banyak kekurangan dan kelemahan. Untuk itu penulis mengharapkan

kritik dan saran dari semua pihak guna penyempurnaan laporan dimasa yang akan

datang. Akhir kata, semoga Laporan ini dapat bermanfaat bagi rekan-rekan

Mahasiswa dan pembaca sekalian demi menambah pengetahuan tentang Laporan

Tugas Akhir.

Medan, juli 2017

Penulis

Universitas Sumatera Utara

Page 7: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

v

PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC

DENGAN METODE PID BERBASIS MIKROKONTROLLER

ATMEGA328 MENGGUNAKAN BAHASA PEMROGRAMAN

CODE VISION AVR

ABSTRAK

Kecepatan motor DC sering tidak stabil akibat gangguan dari luar maupun

perubahan parameter dari fabrikasinya sehingga perlu dilakukan rancangan

kontroller. Kontroller yang dirancang menggunakan PID yang terdiri dari tiga

jenis pengaturan yang dikombinasikan, yaitu kontrol P (Proportional), I (Integral),

dan D (Derivatif). Perubahan pada kontrol PID yang disetting pada keypad serta

waktu terbaik (Time Sampling) yang diperoleh guna mendapatkan kestabilan dari

kecepatan motor DC yang diinginkan Mikrokontroller ATMega328. Kegunaan

Mikrokontroler ATMega328 adalah untuk penghitungan RPM motor DC

sekaligus pengiriman nilai RPM kepada program CVAVR dan pengiriman sinyal

PWM kepada driver.Untuk pengaturan kecepatan motor DC, dapat menggunakan

driver motor DC atau dengan meggunakan rangkaian transistor. Kecepatan diatur

dengan sudut penyulutan pada driver atau transistor dengan menggunakan pulsa

width modulation (PWM). Dengan demikian tegangan yang masuk ke stator tetap

tegangan nominal motor dengan pencatuan yang berkala. Code Vision AVR

digunakan untuk memprogram mikrokontroler sekarang ini telah umum. Mulai

dari penggunaan untuk kontrol sederhana sampai kontrol yang cukup kompleks,

mikrokontroler dapat berfungsi jika telah diisi sebuah program, pengisian program

ini dapat dilakukan menggunakan compiler yang selanjutnya diprogram ke dalam

mikrokontroler menggunakan fasilitas yang sudah di sediakan oleh program

tersebut.

Universitas Sumatera Utara

Page 8: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

vi

Kata kunci : Code VisionAVR, Mikrokontroler ATMega328, Motor

DC,PWM.

DC ROTATE SPEED CONTROL (RPM) WITH PID METHOD BASED

ON ATMEGA328 MICROCONTROLLER USING CODE VISION AVR

PROGRAMMING LANGUAGE

ABSTRACT

The speed of a DC motor is often unstable due to external interference and

parameter changes from its fabrications so that a controller design is necessary.

The controller is designed using a PID consisting of three types of arrangements

combined, ie P (Proportional), I (Integral), and D (Derivative) controls. Changes

to PID controls that are set on the keypad and the best time (Time Sampling)

obtained to obtain stability of the desired DC motor speed Microcontroller

ATMega328. Usefulness of Microcontroller ATMega328 is to calculate RPM DC

motor as well as sending RPM value to CVAVR program and sending PWM

signal to driver. For setting DC motor speed, can use DC motor driver or by using

transistor circuit. The speed is set by the angle of ignition on the driver or

transistor using pulse width modulation (PWM). Thus the voltage entering the

stator remains the nominal voltage of the motor with a periodic unity. Code

Vision AVR used to program the current microcontroller has been common.

Starting from the use of simple controls to fairly complex controls,

microcontrollers can function if a program has been loaded, this program filling

can be done using the compiler which is then programmed into the

microcontroller using the facilities already provided by the program.

Keywords: Code VisionAVR, ATMega328 Microcontroller, DC Motor,

PWM.

Universitas Sumatera Utara

Page 9: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

vii

DAFTAR ISI

Halaman

PERSETUJUAN i

PERNYATAAN .................................................................................................ii

PENGHARGAAN .............................................................................................iii

ABSTRAK .........................................................................................................v

ABSTRACT .......................................................................................................vi

DAFTAR ISI vii

DAFTAR TABEL .............................................................................................ix

DAFTAR GAMBAR x

BAB 1 PENDAHULUAN

1.1. Latar BelakangMasalah ..............................................................1

1.2. RumusanMasalah ........................................................................3

1.3. Tujuan Penulisan .........................................................................3

1.4. Batasan Masalah ..........................................................................3

1.5. MetodePenulisan ..........................................................................4

1.6. SistematikaPenulisan ...................................................................4

BAB 2 TINJAUAN PUSTAKA

2.1. Mikrokontroller ATMega328 .....................................................6

2.1.1. Fitur-fiturMikrokontroller ATMega328 ........................6

2.1.2. KonstruksiMikrokontroller ATMega328 .......................7

2.1.3. ArsitekturMikrokontroller ATMega328 ........................8

2.1.4. Konfigurasi Pin Mikrokontroller ATMega328 ..............11

2.2. Code Vision AVR .......................................................................12

2.3. Pengertian Motor DC ..................................................................15

2.3.1 PrinsipKerja Motor DC ......................................................17

2.3.2. PrinsiparahPutaran Motor ..............................................21

2.3.3. Jenis – Jenis Motor DC ....................................................21

2.4. PID(Proportional-Integral-Derivativ Controller) ....................23

2.4.1. KontrolProporsional .........................................................26

2.4.2. KontrolIntegratif ..............................................................26

2.4.3. KontrolDerivatif ................................................................28

2.5. LCD ...............................................................................................31

2.6. PWM ............................................................................................36

BAB 3 PERANCANGAN DAN PEMBUATAN

3.1. Diagram Blok Rangkaian ............................................................38

Universitas Sumatera Utara

Page 10: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

viii

3.1.1. Fungsi-fungsi Diagram Blok ...........................................38

3.2. Rangkaian LCD (Liquid Crystal Display ..................................39

3.3. RangkaianMikrokontroler ATMega328 ....................................40

3.4. Rangkaian PID ............................................................................42

3.5. Set Speed .......................................................................................44

3.6. FeedBackSistem 45

3.7. Rangkaian Adaptor .47

3.8. FlowChart Sistem ........................................................................49

BAB 4PENGUJIAN DAN PEMBAHASAN

4.1. PengujianRangkaian LCD .......................................................... 50

4.2. Pengujian Rangkaian Mikrokontroller ATMega328 ............... 51

4.3. PengujianRangkaianKontrol PID .............................................. 54

BAB 5 PENUTUP

5.1. Kesimpulan ...................................................................................70

5.2. Saran .............................................................................................70

DAFTAR PUSTAKA ........................................................................................71

LAMPIRAN

Universitas Sumatera Utara

Page 11: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

ix

DAFTAR TABEL

Tabel 2.1. Efek Pengontrolan PID ...................................................................29

Tabel 2.2.Operasi Dasar LCD ..........................................................................34

Tabel 2.3.Konfigurasi LCD ..............................................................................34

Tabel 2.4.Konfigurasi Pin LCD ......................................................................34

Tabel 3.1 Kontrol PID system rangkaian tertutup ........................................44

Tabel 4.1.HasilPengujianPengendalian Motor DC dengan Metode PID .....69

Universitas Sumatera Utara

Page 12: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

x

DAFTAR GAMBAR

Gambar 2.1. Arsitektur ATmega328 11

Gambar 2.2. Pin Mikrokontroller ATmega328 11

Gambar 2.3. Motor DC 17

Gambar 2.4. Motor DC Ssederhana 18

Gambar 2.5. Medan Magnet Yang Mengelilingi Konduktor 19

Gambar 2.6. Reaksi GarisFluks 19

Gambar 2.7. Diagram Blok PID 24

Gambar 2.8. LCD 32

Gambar 2.9. Konfigurasi Pin LCD 33

Gambar 3.1.Diagram Block Sistem 38

Gambar 3.2. Rangkaian LCD dengan Mikrokontroller ATMega328 .........39

Gambar 3.3. Rangkaian Sistem Minimum Mikrokontroller ATMega328 ..40

Gambar 3.4. Rangkaian Kontroller PID 43

Gambar 3.5. Rangkaian Encoder 45

Gambar 3.6.FeedBack Sistem 47

Gambar 3.7.Kontruksi Dasar Adaptor dengan transformator stepdown ...48

Gambar3.8. Flow Chart Pengatur Motor DC dengan Metode PID 42

Gambar 4.1.Tampilan pada LCD 51

Gambar 4.2.Informasi Signature Mikrokontroller 52

Gambar 4.4.Tampilan 300 RPM Pada LCD ..................................................68

Gambar 4.5.Tampilan 350 RPM Pada LCD ..................................................68

.............................................................................................................................

Universitas Sumatera Utara

Page 13: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

1

BAB I PENDAHULUAN

1.1 Latar Belakang

Kecepatan motor DC sering tidak stabil akibat gangguan dari luar maupun

perubahan parameter dari fabrikasinya sehingga perlu dilakukan rancangan

kontroller.Kontroller yang dirancang menggunakan PID yang terdiri dari tiga jenis

pengaturan yang dikombinasikan, yaitu kontrol P (Proportional), I (Integral), dan

D (Derivatif).Dalam pembahasan ini, kontroller PID yang digunakan pada motor

DC tanpa beban menggunakan kontrol close loop dengan feedback encoder

berbasis mikrokontroller ATMega328 dan input disetting pada keypad. Motor DC

sering digunakan karena kemudahan dalam aplikasinya sehingga dipakai pada

berbagai macam keperluan, mulai dari peralatan industri, rumah tangga.

CodeVision AVR digunakan untuk memprogram mikrokontroler sekarang

ini telah umum. Mulai dari penggunaan untuk kontrol sederhana sampai kontrol

yang cukup kompleks, mikrokontroler dapat berfungsi jika telah diisi sebuah

program, pengisian program ini dapat dilakukan menggunakan compiler yang

selanjutnya diprogram ke dalam mikrokontroler menggunakan fasilitas yang

sudah di sediakan oleh program tersebut. Salah satu compiler program yang

umum digunakan sekarang ini adalah CodeVision AVR yang menggunakan

bahasa pemrograman C.

Sistem pengendalian kecepatan motor DC sekarang ini banyak dilakukan.

Karena dalam pemakaian motor DC sering kali dibutuhkan motor yang dapat

diatur kecepatan putarnya. Dari sistem pengaturan motor terdapat beberapa

Universitas Sumatera Utara

Page 14: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

2

pengaturan, salah satunya adalah dengan mengatur tegangan pada stator.

Pengaturan juga bisa dilakukan dengan menambahkan resistor variabel sebelum

tegangan jala-jala masuk ke stator, dengan ini dapat diatur besar kecilnya

tegangan yang masuk ke stator.

Dari sistem pengaturan ini mempunyai kelemahan yaitu akan menurunkan

unjuk kerja dari motor tersebut karena seiringan dengan menurunnya tegangan

medan magnet yang dihasilkan juga akan menurun dan itu akan mempengaruhi

torsi motor tersebut. Pengaturan arah putar motor DC juga sering dilakukan

misalnya pada kaca mobil, lengan robot, elevator, dll. Pengaturan arah putar

motor DC dapat menggunakan IC driver (PID) motor atau rangkaian transistor.

Dari pengaturan motor DC di atas, dapat dilakukan beberapa inovasi pengaturan.

Kontrol Kecepatan Motor DC dengan Kontrol PID Bebasis

Mikrokontroller ATMega 328 pada mainan anak-anak maupun piranti pendukung

dalam sistem instrumen elektronik. Namun pada kenyataannya, kecepatan putar

motor DC sulit untuk dikendalikan dikarenakan lajunya yang tidak stabil .Untuk

mengatasi hal ini maka diperlukan suatu perancangan sistem kontrol kecepatan

motor DC agar motor DC tersebut bergerak sesuai dengan kecepatan yang

diinginkan. Yakni kontroller Proportional Integral Derivatif (PID) yaitu kontrol

yang terdiri dari konfigurasi standar Kp, Ki, dan Kd yang nilainya ditentukan /

setting agar mendapatkan hasil atau kecepatan yang diinginkan yaitu kecepatan

dengan stabilitas yang baik dengan tingkat eror dan overshoot (melampaui) yang

kecil.

Pembahasan dilakukan dengan mengamati perubahan pada kontrol PID

yang disetting pada keypad serta waktu terbaik (Time Sampling) yang diperoleh

Universitas Sumatera Utara

Page 15: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

3

guna mendapatkan kestabilan dari kecepatan motor DC yang diinginkan

Mikrokontroller ATMega328.Dalam penelitian ini, mikrokontroller yang

digunakan adalah ATMega328 untuk penghitungan RPM motor DC sekaligus

pengiriman nilai RPM kepada program CVAVR dan pengiriman sinyal PWM

kepada driver.

1.2 Rumusan Masalah

Kecepatan putar motor DC sulit untuk dikendalikan dikarenakan lajunya

yang tidak stabil. Kecepatan motor DC sering tidak stabil akibat gangguan dari

luar maupun perubahan parameter dari fabrikasinya sehingga perlu dilakukan

rancangan kontroller.

1.3 Tujuan Penulisan

Tujuan dari pembuatan tugas akhir ini adalah :

1. Mengaplikasikan metode PID berbasis mikrokontroller ATmega328 untuk

pengendalian kecepatan putar motor DC dengan bahasa pemrograman

CodeVisionAVR.

2. Mengetahui kelebihan – kelebihan CodeVisionAVR.

1.4 Batasan Masalah

Batasan masalah yang digunakan dalam laporan tugas akhir ini adalah :

1. Metode yang digunakan untuk mengatur kecepatan putar motor DC adalah

metode PID.

Universitas Sumatera Utara

Page 16: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

4

2. Rangakaian Mikrokontroller yang di gunakan adalah mikrokontroller

ATMega328.

3. Menggunakan bahasa pemrograman Code Vision AVR.

4. Tidak membahas tentang setiap komponen pada rangkaian.

5. Tidak membahas cara mengaploud program ke ATMega328

6. Membahas tentang Software (Program)

1.5 Metode Penulisan

Adapun metode penulisan yang digunakan dalam menyusun dan

menganalisa tugas akhir ini adalah:

1. Studi literatur yang berhubungan dengan perancanangan dan pembuatan

alat ini.

Mempelajari dan mengambil data-data pengetahuan pustaka, pengetahuan

kuliah, serta mengkaji referensi berupa buku, majalah, jurnal, artikel,-

artikel dari internet yang kemudian dianalisis dan ditulis secara sistematis

menjadi sebuah bahan tugas akhir.

2. Perencanaan dan pembuatan alat

Merencanakan peralatan yang telah dirancang secara software.

3. Pengujian alat

Peralatan yang telah dibuat kemudian diuji apakah telah sesuai dengan

yang telah direncanakan.

1.6. Sistematika Penulisan

Sistematika penulisan dalam laporan tugas akhir ini terdiri dari 5 ( lima),

bab yaitu:

Universitas Sumatera Utara

Page 17: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

5

BAB I : PENDAHULUAN

Bab ini berisikan latar belakang masalah, tujuan dan manfaaat penelitian,

identifikasi masalah, pembatasan masalah, rumusan masalah, metode penelitian,

serta sistematika penulisan.

BAB II : TINJAUAN PUSTAKA

Bab ini merupakan landasan teori yang membahas tentang teori-teori yang

mendukung dalam penyelesaian masalah.

BAB III : PERANCANGAN DAN PEMBUATAN

Meliputi metode, bahan alat, perancangan rangkaian dan pengambilan data

penelitian.

BAB IV : PENGUJIAN PROGRAM CODE VISION AVR PADA

RANGKAIAN

Berisi tentang uji coba alat dan hasil analisa dari rangkaian, sistem kerja alat,

penjelasan mengenai rangkaian-rangkaian yang digunakan, penjelasan mengenai

program yang diisikan ke mikrokontroller ATMega328.

BAB V : PENUTUP

Dalam bab ini menjelaskan kesimpulan dan saran dari alat yang dirancang,

kinerja alat dan pengembangan rancangan. Bab ini juga merupakan akhir dari

penulisan tugas akhir ini.

Universitas Sumatera Utara

Page 18: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

6

BAB II TINJAUAN PUSTAKA

2.1 Mikrokontroller ATMega328

Seiring perkembangan elektronika, mikrokontroler dibuat semakin

kompak dengan bahasa pemrograman yang juga ikut berubah. Salah satunya

adalah mikrokontroler AVR (Alf and Vegard’s Risc processor) ATmega328 yang

menggunakan teknologi RISC ( Reduce Instruction Set Computing) dimana

program berjalan lebih cepat karena hanya membutuhkan satu siklus clock untuk

mengeksekusi satu instruksi program. Secara umum, mikrokontroler AVR dapat

dikelompokkan menjadi 4 kelas, yaitu kelas ATtiny, keluarga AT90Sxx, keluarga

ATmega, dan AT86RFxx. Pada dasarnya yang membedakan masing-masing kelas

adalah memori,peripheral, dan fungsinya. Dari segi arsitektur dan instruksi yang

digunakan, mereka bisa dikatakan hampir sama.

Mikrokontroler AVR ATmega328 memiliki fitur yang cukup

lengkap.Mikrokontroler AVR ATMega328 telah dilengkapi dengan ADC internal,

EEPROM internal, Timer/Counter, PWM, analog comparator, dan lain-

lain.Sehingga dengan fasilitas yang lengkap ini memungkinkan kita belajar

mikrokontroler keluarga AVR dengan lebih mudah dan efisien, serta dapat

mengembangkan kreativitas penggunaan mikrokontroler ATMega328.

2.1.1 Fitur-fitur Mikrokontroller ATMega328

1. Saluran Input/Output (I/O) sebanyak 23 buah

2. ADC internal sebanyak 6 saluran

3. Tiga buah Timer/Counter dengan kemampuan pembandingan

Universitas Sumatera Utara

Page 19: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

7

4. CPU yang terdiri atas 32 buah register serbaguna

5. SRAM sebesar 2 kByte

6. Memori Flash sebesar 32 kByte dengan kemampuan Read While Write

7. EEPROM sebesar 1 kByte yang dapat diprogram saat operasi

8. Antarmuka komparator analog

9. Port USART untuk komunikasi serial

10. Port antarmuka SPI

11. Sistem mikroprosesor 8-bit berbasis RISC dengan kecepatan maksimal 16

MHz

12. Lima mode Sleep : Idle, ADC Noise Reduction, Power-save, Power-down,

dan Standby

13. Sumber Interupsi External dan Internal

14. Enam buah channels PWM

2.1.2 Konstruksi Mikrokontroler ATMega328

Mikrokontroler ATMega328 memiliki 3 jenis memori, yaitu memori

program, memori data dan memori EEPROM.Ketiganya memiliki ruang tersendiri

dan terpisah.

a. Memori program

ATMega328 memiliki kapasitas memori program sebesar 32 kByte yang

terpetakan dari alamat 0000h – 3FFFh dimana masing-masing alamat memiliki

lebar data 32 bit.Memori program ini terbagi menjadi 2 bagian yaitu bagian

program boot dan bagian program aplikasi.

Universitas Sumatera Utara

Page 20: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

8

b. Memori data

Memori data ATMega328 terbagi menjadi 3 bagian yaitu register serbaguna,

register I/O dan SRAM. ATMega328 memiliki 32 byte register serbaguna, 64

byte register I/O yang dapat diakses sebagai bagian dari memori RAM

(menggunakan instuksi LD atau ST) atau dapat juga diakses sebagai I/O

(menggunakan instruksi IN atau OUT), dan 2048 byte digunakan

untuk memori data SRAM.

c. Memori EEPROM

ATMega328 memiliki memori EEPROM sebesar 1 kByte yang terpisah dari

memori program maupun memori data. Memori EEPROM ini hanya dapat

diakses dengan menggunakan register-register I/O yaitu register

EEPROM Address, register EEPROM Data, dan registerEEPROM Control.

Untuk mengakses memori EEPROM ini diperlakukan seperti mengakses data

eksternal, sehingga waktu eksekusinya relatif lebih lama bila dibandingkan

dengan mengakses data dari SRAM.

2.1.3 Arsitektur Mikrokontroller Atmega328

Mikrokontroler ATmega328 memiliki arsitektur Harvard, yaitu

memisahkan memori untuk kode program dan memori untuk data sehingga dapat

memaksimalkan kerja dan parallelism.Instruksi-instruksi dalam memori program

dieksekusi dalam satu alur tunggal, dimana pada saat satu instruksi dikerjakan

Universitas Sumatera Utara

Page 21: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

9

instruksi berikutnya sudah diambil dari memori program.Konsep inilah yang

memungkinkan instruksi-instruksi dapat dieksekusi dalam setiap satu siklus clock.

32 x 8-bit register serbaguna digunakan untuk mendukung operasi pada

ALU(Arithmatic Logic Unit) yang dapat dilakukan dalam satu siklus. Enam

dari registerserbaguna ini dapat digunakan sebagai 3 buah register pointer 16-bit

pada mode pengalamatan tak langsung untuk mengambil data pada ruang memori

data. Ketiga register pointer 16-bit ini disebut dengan register X (gabungan R26

dan R27), register Y (gabungan R28 dan R29), danregister Z (gabungan R30 dan

R31).

Hampir semua instruksi AVR memiliki format 16-bit.Setiap alamat

memori program terdiri dari instruksi 16-bit atau 32-bit. Selain register serbaguna

di atas, terdapat register lain yang terpetakan dengan teknik memory mapped I/O

selebar 64 byte. Beberapa register ini digunakan untuk fungsi khusus antara lain

sebagai register control Timer/Counter, Interupsi, ADC, USART, SPI, EEPROM,

dan fungsi I/O lainnya. Register-register ini menempati memori pada alamat 0x20

– 0x5F.ATmega328 merupakan tipe AVR yang telah dilengkapi dengan 6 saluran

ADC internal dengan fidelitas 10-bit. Dalam mode operasinya, ADC ATMega328

dapat dikonfigurasi, baik secara single ended input maupun differential input.

Selain itu, ADC ATMega328 memiliki konfigurasi pewaktuan, tegangan

referensi, mode operasi, dan kemampuan filter derau yang amat fleksibel,

sehingga dengan mudah disesuaikan dengan kebutuhan ADC itu

sendiri. ATMega328 memiliki 3 modul timer yang terdiri dari 2 buah timer/

counter 8-bit dan 1 buah timer /counter 16-bit. Ketiga modul timer/counter ini

dapat diatur dalam mode yang berbeda secara individu dan tidak saling

Universitas Sumatera Utara

Page 22: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

10

mempengaruhi satu sama lain. Selain itu, semua timer/counter juga dapat

difungsikan sebagai sumber interupsi. Masing-masing timer/counter ini

memiliki register tertentu yang digunakan untuk mengatur mode dan cara

kerjanya.

Serial Peripheral Interface (SPI) merupakan salah satu mode komunikasi

serialsyncrhronous kecepatan tinggi yang dimiliki oleh ATMega328. Universal

Syncrhronous and Asyncrhronous Serial Receiver and Transmitter (USART) juga

merupakan salah satu mode komunikasi serial yang dimiliki oleh

ATMega328.USART merupakan komunikasi yang memiliki fleksibilitas tinggi,

yang dapat digunakan untuk melakukan transfer data baik antar mikrokontroler

maupun dengan modul-modul eksternal termasuk PC yang memiliki fitur

UART. USART memungkinkan transmisi data baik secara syncrhronous maupun

asyncrhronous, sehingga dengan memiliki USART pasti kompatibel dengan

UART.

Pada ATMega328, secara umum pengaturan mode syncrhronous maupun

asyncrhronous adalah sama. Perbedaannya hanyalah terletak pada sumber clock

saja.Jika pada mode asyncrhronous masing-masing peripheral memiliki sumber

clock sendiri, maka pada mode syncrhronous hanya ada satu sumber clock yang

digunakan secara bersama-sama. Dengan demikian, secarahardware untuk

mode asyncrhronous hanya membutuhkan 2 pin yaitu TXD dan RXD, sedangkan

untuk mode syncrhronous harus 3 pin yaitu TXD, RXD dan XCK.

Universitas Sumatera Utara

Page 23: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

11

Gambar 2.1 Arsitektur ATMega328

2.1.4 Konfigurasi Pin Mikrokontroler ATMega328

Gambar 2.2Pin Mikrokontroler ATmega328

Konfigurasi pin ATMega328 dengan kemasan 28 pin DIP (Dual Inline

Package) dapat dilihat pada gambar di atas. Dari gambar di atas dapat dijelaskan

fungsi dari masing-masing pin ATMega328 sebagai berikut :

Universitas Sumatera Utara

Page 24: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

12

1. VCC merupakan pin yang berfungsi sebagai masukan catu daya

2. GND merupakan pin Ground

3. AVCC merupakan pin tegangan catu untuk A/D converter

4. AREF merupakan pin tegangan referensi analog untuk ADCPort B

(PortB7…PortB0) merupakan pin input/output dua arah dan pin fungsi

khusus.

2.2 CodeVisionAVR

Code Vision AVR merupakan salah satu software kompiler yang khusus

digunakan untuk mikrokontroler keluarga. Meskipun CodeVision AVR termasuk

software komersial, namun kita tetap dapat menggunakannyan dengan mudah

karena terdapat versi evaluasi yang tersedia secara gratis walaupun dengan

kemampuan yang dibatasi.

CodeVisionAVR pada dasarnya merupakan perangkat lunak pemrograman

mikrokontroller keluarga AVR berbasis bahasa C. Ada tiga komponen penting

yang telah diintegrasikan dalam perangkat lunak ini: Compiler C, IDE dan

Program generator. Berdasarkan spesifikasi yang dikeluarkan oleh perusahaan

pengembangnya, Compiler C yang digunakan hampir mengimplementasikan

semua komponen standar yang ada pada bahasa C standar ANSI (seperti struktur

program, jenis tipe data, jenis operator, dan library fungsi standar-berikut

penamaannya). Tetapi walaupun demikian, dibandingkan bahasa C untuk aplikasi

komputer, compiler C untuk microcontroller ini memiliki sedikit perbedaan yang

disesuaikan dengan arsitektur AVR tempat program C tersebut ditanamkan.

Khusus untuk library fungsi, disamping library standar (seperti fungsi-

fungsi matematik, manipulasi String, pengaksesan memori dan sebagainya),

Universitas Sumatera Utara

Page 25: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

13

CodeVisionAVR juga menyediakan fungsi-fungsi tambahan yang sangat

bermanfaat dalam pemrograman antarmuka AVR dengan perangkat luar yang

umum digunakan dalam aplikasi kontrol. Beberapa fungsi library yang penting

diantaranya adalah fungsi-fungsi untuk pengaksesan LCD, komunikasi I2C, IC

RTC (Real time Clock), sensor suhu LM75, SPI (Serial Peripheral Interface) dan

lain sebagainya.

Untuk memudahkan pengembangan program aplikasi, CodeVisionAVR

juga dilengkapi IDE yang sangat user friendly.Selain menu-menu pilihan yang

umum dijumpai pada setiap perangkat lunak berbasis Windows, CodeVisionAVR

ini telah mengintegrasikan perangkat lunak downloader (in system programmer)

yang dapat digunakan untuk mentransfer kode mesin hasil kompilasi kedalam

sistem memori microcontroller AVR yang sedang diprogram.Untuk memudahkan

pengembangan program aplikasi, CodeVisionAVR juga dilengkapi IDE yang

sangat user friendly.Selain menu-menu pilihan yang umum dijumpai pada setiap

perangkat lunak berbasis Windows, CodeVisionAVR ini telah mengintegrasikan

perangkat lunak downloader (in system programmer) yang dapat digunakan untuk

mentransfer kode mesin hasil kompilasi kedalam sistem memori microcontroller

AVR yang sedang diprogram.

CodeVisionAVR adalah suatu kompiler berbasis bahasa C, yang

terintegrasi untuk memprogram dan sekaligus compiler aplikasi AVR (Alf and

Vegard’s Risc processor) terhadap mikrokontroler dengan sistem berbasis

window.CodeVisionAVR ini dapat mengimplematasikan hampir semua interuksi

bahasa C yang sesuai dengan arsitektur AVR, bahkan terdapat beberapa

Universitas Sumatera Utara

Page 26: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

14

keunggulan tambahan untuk memenuhi keunggulan spesifikasi dari

CodeVisionAVR yaitu hasil kompilasi studio debugger dari ATMEL.

Integrated Development Environtment (IDE) telah diadaptasikan pada

chip AVR yaitu In-System Programmer software, memungkinkan programmer

untuk mentransfer program ke chip mikrokontroler secara otomatis setelah proses

assembly/kompilasi berhasil. In-System Programmer software didesign untuk

bekerja dan dapat berjalan dengan perangkat lunak lain seperti AVR Dragon,

AVRISP, Atmel STK500, dan lain sebagainya.

CodeVision AVR merupakan yang terbaik bila dibandingkan dengan

kompiler – kompiler yang lain karena beberapa kelebihan yang dimiliki oleh

CodeVision AVR antara lain :

Menggunakan IDE (intergrated Development Environment).

Fasilitas yang disediakan lengkap (mengedit program, mengompile program,

mendownload program) serta tampilanya yang terliaht menarik dan mudah

dimengerti. Kita dapat mengatur settingan editor sedemikian rupa sehingga

membantu

memudahkan kita dalam penulisan program.

Mampu membangkitakn kode program secara otomatis dengan menggunakan

fasilitas CodeWizard AVR.

Memiliki faslitas untuk mendownload program langsung dari CodeVision

AVR dengan menggunakan hardware khusus seperti Atmel STK500, Kanda

Sysrem STK200+ / 300 dan beberapa hardsware lain yang telah didefinisikan

oleh CodeVision AVR.

Universitas Sumatera Utara

Page 27: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

15

Memiliki fasilitas debugger sehingga dapat menggunkan software compiler

lain untuk mengecek kode assembler-nya, contohnya AVRStudio.

Memiliki terminal komukasi serial yang terintregasi dalam CodeVision AVR

sehingga dapat digunakan untuk membantu pengecekan program yang telah

dibuat khususnya yang menggunakan fasilitas komunikasi serial UART.

Selain itu, CodeVisionAVR juga menyediakan sebuahtool yang

dinamakan dengan Code Generator atau CodeWizardAVR. CodeWizard AVR

merupakan salah satu fasilitas yang disediakan oleh CodeVisionAVR yang dapat

digunakan untuk mempercepat penulisan listing program . Dengan Code

WizardAVR secara otomatis kita akan dibuatkan kerangka program melalui menu

– menu yang disediakan . Fasilitas ini sangat membantu terutama apabila kita lupa

dengan nama register yang akan dgunakan untuk mengatur mode kerja fitur –

fitur yang ada dalam mikrokontroler.

Jadi menurut penulis fasilitas ini akan mudah dimengerti kalau pengguna

paling tidak sudah pernah mempelajari register – register kontrol

dalam mikrokontroler ATMega328. Atau dengan kata lain fasilitas ini hanya

digunaka untuk membantu mempercepat penulisan program serta mengingat

kembali bagaimana penggunaan register – register apabila kita lupa.

2.3 Pengertian Motor DC

Motor arus searah (motor DC) telah ada selama lebih dari seabad.

Keberadaan motor DC telah membawa perubahan besar sejak dikenalkan motor

induksi, atau terkadang disebut AC Shunt Motor.Motor DC telah memunculkan

kembali Silicon Controller Rectifier yang digunakan untuk memfasilitasi kontrol

Universitas Sumatera Utara

Page 28: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

16

kecepatan pada motor. Mesin listrik dapat berfungsi sebagai motor listrik apabila

didalam motor listrik tersebut terjadi proses konversi dari energi listrik menjadi

energi mekanik. Motor listrik merupakan perangkat elektromagnetis yang

mengubah energi listrik menjadi energi mekanik. Energi mekanik ini digunakan

untuk, misalnya memutar impeller pompa, fan atau blower, menggerakan

kompresor dan mengangkat bahan. Motor listrik digunakan juga di rumah (mixer,

bor listrik, fan angin) dan di industri. Motor listrik terkadang disebut “kuda kerja”

nya industri sebab diperkirakan bahwa motor-motor menggunakan sekitar 70%

beban listrik total di industri.

Sedangkan untuk motor DC itu sendiri memerlukan suplai tegangan yang

searah pada kumparan jangkar dan kumparan medan untuk diubah menjadi energi

mekanik. Pada motor DC kumparan medan disebut stator (bagian yang tidak

berputar) dan kumparan jangkar disebut rotor (bagian yang berputar). Motor DC

sering dimanfaatkan sebagai penggerak pintu geser otomatis dan dalam rangkaian

robot sederhana.

Motor DC memiliki manfaat yang sangat banyak dalam kehidupan sehari-

hari dan dalam dunia industri. Motor DC memudahkan pekerjaan sehingga proses

industri dapat berjalan efisien.Semakin banyak industri yang berkembang, maka

akan semakin banyak mesin yang digunakan. Semakin banyak mesin yang

digunakan, maka semakin banyak penggunaan Motor DC.

Motor DC adalah motor listrik yang memerlukan suplai tegangan arus

searah pada kumparan medan untuk diubah menjadi energi gerak mekanik.

Kumparan medan pada Motor DC disebut stator (bagian yang tidak berputar) dan

kumparan jangkar disebut rotor (bagian yang berputar). Motor arus searah,

Universitas Sumatera Utara

Page 29: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

17

sebagaimana namanya, menggunakan arus langsung yang tidak langsung/direct-

unidirectional. Motor DC memiliki 3 bagian atau komponen utama untuk dapat

berputar sebagai berikut.

Kutub medan. Motor DC sederhana memiliki dua kutub medan: kutub utara

dan kutub selatan. Garis magnetik energi membesar melintasi ruang terbuka

diantara kutub-kutub dari utara ke selatan. Untuk motor yang lebih besar

atau lebih komplek terdapat satu atau lebih elektromagnet.

Current Elektromagnet atau Dinamo. Dinamo yang berbentuk silinder,

dihubungkan ke as penggerak untuk menggerakan beban. Untuk kasus motor

DC yang kecil, dinamo berputar dalam medan magnet yang dibentuk oleh

kutub-kutub, sampai kutub utara dan selatan magnet berganti lokasi.

Commutator. Komponen ini terutama ditemukan dalam motor DC.

Kegunaannya adalah untuk transmisi arus antara dinamo dan sumber daya.

Gambar 2.3.Motor DC

2.3.1 Prinsip Kerja Motor DC

Motor DC memerlukan suplai tegangan yang searah pada kumparan

medan untuk diubah menjadi energi mekanik. Bagian utama motor DC adalah

Universitas Sumatera Utara

Page 30: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

18

statos dan rotor dimana kumparan medan pada motor dc disebut stator (bagian

yang tidak berputar) dan kumparan jangkar disebut rotor (bagian yang berputar).

Bentuk motor paling sederhana memiliki kumparan satu lilitan yang bisa berputar

bebas di antara kutub-kutub magnet permanen. Catu tegangan DC dari baterai

menuju ke lilitan melalui sikat yang menyentuh komutator, dua segmen yang

terhubung dengan dua ujung lilitan.Kumparan satu lilitan pada gambar di atas

disebut angker dinamo. Angker dinamo adalah sebutan untuk komponen yang

berputar di antara medan magnet.

Gambar 2.4 Motor DC sederhana

Jika arus lewat pada suatu konduktor, timbul medan magnet di sekitar

konduktor. Arah medan magnet ditentukan oleh arah aliran arus pada

konduktor.Medan magnet yang membawa arus mengelilingi konduktor dapat

dilihat pada gambar berikut.

Universitas Sumatera Utara

Page 31: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

19

Gambar 2.5 Medan Magnet Yang Membawa Arus Mengelilingi Konduktor

Aturan Genggaman Tangan Kanan bisa dipakai untuk menentukan arah

garis fluks di sekitar konduktor. Genggam konduktor dengan tangan kanan

dengan jempol mengarah pada arah aliran arus, maka jari-jari anda akan

menunjukkan arah garis fluks. Gambar diatas menunjukkan medan magnet yang

terbentuk di sekitar konduktor berubah arah karena bentuk U. Medan magnet

hanya terjadi di sekitar sebuah konduktor jika ada arus mengalir pada konduktor

tersebut. Jika konduktor berbentuk U (angker dinamo) diletakkan di antara kutub

uatara dan selatan yang kuat medan magnet konduktor akan berinteraksi dengan

medan magnet kutub.

2.6 Gambar Reaksi Garis Fluks

Universitas Sumatera Utara

Page 32: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

20

Lingkaran bertanda A dan B merupakan ujung konduktor yang

dilengkungkan (looped conductor). Arus mengalir masuk melalui ujung A dan

keluar melalui ujung B. Medan konduktor A yang searah jarum jam akan

menambah medan pada kutub dan menimbulkan medan yang kuat di bawah

konduktor. Konduktor akan berusaha bergerak ke atas untuk keluar dari medan

kuat ini. Medan konduktor B yang berlawanan arah jarum jam akan menambah

medan pada kutub dan menimbulkan medan yang kuat di atas konduktor.

Konduktor akan berusaha untuk bergerak turun agar keluar dari medan yang kuat

tersebut. Gaya-gaya tersebut akan membuat angker dinamo berputar searah jarum

jam.

Mekanisme kerja untuk seluruh jenis motor secara umum :

Arus listrik dalam medan magnet akan memberikan gaya.

Jika kawat yang membawa arus dibengkokkan menjadi sebuah lingkaran /

loop, maka kedua sisi loop, yaitu pada sudut kanan medan magnet, akan

mendapatkan gaya pada arah yang berlawanan.

Pasangan gaya menghasilkan tenaga putar / torque untuk memutar

kumparan.

Motor-motor memiliki beberapa loop pada dinamonya untuk memberikan

tenaga putaran yang lebih seragam dan medan magnetnya dihasilkan oleh

susunan elektromagnetik yang disebut kumparan medan.

Pada motor dc, daerah kumparan medan yang dialiri arus listrik akan

menghasilkan medan magnet yang melingkupi kumparan jangkar dengan arah

tertentu. Konversi dari energi listrik menjadi energi mekanik (motor) maupun

Universitas Sumatera Utara

Page 33: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

21

sebaliknya berlangsung melalui medan magnet, dengan demikian medan magnet

disini selain berfungsi sebagai tempat untuk menyimpan energi, sekaligus sebagai

tempat berlangsungnya proses perubahan energi.

2.3.2 Prinsip Arah Putaran Motor

Untuk menentukan arah putaran motor digunakan faedah Flamming

tangan kiri. Kutub-kutub magnet akan menghasilkan medan magnet dengan arah

dari kutub utara ke kutub selatan. Jika medan magnet memotong sebuah kawat

penghantar yang dialiri arus searah dengan empat jari, maka akan timbul gerak

searah ibu jari. Gaya ini disebut gaya Lorentz, yang besarnya sama dengan F.

Prinsip motor : aliran arus di dalam penghantar yang berada di dalam pengaruh

medan magnet akan menghasilkan gerakan. Besarnya gaya pada penghantar akan

bertambah besar jika arus yang melalui penghantar bertambah besar.

Keuntungan utama motor DC adalah sebagai pengendali kecepatan, yang

tidak mempengaruhi kualitas pasokan daya. Motor ini dapat dikendalikan dengan

mengatur:

Tegangan dinamo – meningkatkan tegangan dinamo akan meningkatkan

kecepatan

Arus medan – menurunkan arus medan akan meningkatkan kecepatan.

2.3.3 Jenis-Jenis Motor DC

Motor DC sumber daya terpisah/ Separately Excited

Universitas Sumatera Utara

Page 34: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

22

Jika arus medan dipasok dari sumber terpisah maka disebut motor DC

sumber daya terpisah/separately excited.

Motor DC sumber daya sendiri/ Self Excited,

Pada jenis motor DC sumber daya sendiri di bagi menjadi 3 tipe sebagi berikut :

1. Motor DC Tipe Shunt

Pada motor shunt, gulungan medan (medan shunt) disambungkan secara

paralel dengan gulungan dinamo (A). Oleh karena itu total arus dalam jalur

merupakan penjumlahan arus medan dan arus dinamo.Karena gulungan kawat

diparalel dengan armature, maka disebut sebagai shunt winding dan motornya

disebut shunt motor.

Karakter kecepatan Motor DC tipe shunt adalah :

Kecepatan pada prakteknya konstan tidak tergantung pada beban (hingga

torque tertentu setelah kecepatannya berkurang) dan oleh karena itu cocok

untuk penggunaan komersial dengan beban awal yang rendah, seperti

peralatan mesin.

Kecepatan dapat dikendalikan dengan cara memasang tahanan dalam

susunan seri dengan dinamo (kecepatan berkurang) atau dengan memasang

tahanan pada arus medan (kecepatan bertambah).

2. Motor DC Tipe Seri

Dalam motor seri, gulungan medan (medan shunt) dihubungkan secara seri

dengan gulungan dinamo (A). Oleh karena itu, arus medan sama dengan arus

dinamo.

Universitas Sumatera Utara

Page 35: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

23

Karakter kecepatan dari motor DC tipe seri adalah :

Kecepatan dibatasi pada 5000 RPM

Harus dihindarkan menjalankan motor seri tanpa ada beban sebab motor

akan mempercepat tanpa terkendali

3. Motor DC Tipe Kompon/Gabungan

Motor Kompon DC merupakan gabungan motor seri dan shunt. Pada

motor kompon, gulungan medan (medan shunt) dihubungkan secara paralel dan

seri dengan gulungan dinamo (A). Sehingga, motor kompon memiliki torque

penyalaan awal yang bagus dan kecepatan yang stabil.

Karakter dari motor DC tipe kompon/gabungan ini adalah, makin tinggi

persentase penggabungan (yakni persentase gulungan medan yang dihubungkan

secara seri), makin tinggi pula torque penyalaan awal yang dapat ditangani oleh

motor ini.

2.4 PID (Proportional–Integral–Derivative controller)

Intrumentasi dan control industri tentu tidak lepas dari sistem

instrumentasi sebagai pengontrol yang digunakan dalam keperluan pabrik. Sistem

kontrol pada pabrik tidak lagi manual seperti dahulu, tetapi saat sekarang ini telah

dibantu dengan perangkat kontroler sehingga dalam proses produksinya suatu

pabrik bisa lebih efisien dan efektif. Kontroler juga berfungsi untuk memastikan

bahwa setiap proses produksi terjadi dengan baik. PID (Proportional–Integral–

Derivative controller) merupakan kontroler untuk menentukan presisi suatu sistem

Universitas Sumatera Utara

Page 36: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

24

instrumentasi dengan karakteristik adanya umpan balik pada sistem tesebut.

Pengontrol PID adalah pengontrol konvensional yang banyak dipakai dalam dunia

industri.

PID Controler adalah controler yang penting yang sering digunakan dalam

industri. Sistem pengendalian menjadi bagian yang tidak bisa terpisahkan dalam

proses kehidupan ini khususnya dalam bidang rekayasa industri, karena dengan

bantuan sistem pengendalian maka hasil yang diinginkan dapat terwujud. Sistem

pengendalian dibutuhkan untuk memperbaiki tanggapan sistem dinamik agar

didapat sinyal keluaran seperti yang diinginkan. Sistem kendali yang baik

mempunyai tanggapan yang baik terhadap sinyal masukan yang beragam.

Komponen kontrol PID ini terdiri dari tiga jenis yaitu Proportional, Integratif dan

Derivatif. Ketiganya dapat dipakai bersamaan maupun sendiri-sendiri tergantung

dari respon yang kita inginkan terhadap suatu plant. Sistem pengendali PID adalah

suatus pengendalian untuk menentukan presisi suatu system instrumentasi dengan

karakteristik adanya umpan balik pada sistem tersebut.

Gambar 2.7 Diagram Blok PID

Universitas Sumatera Utara

Page 37: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

25

Adapun persamaan Pengontrol PID adalah :

Keterangan :

mv(t) = output dari pengontrol PID atau Manipulated Variable

Kp = konstanta Proporsional

Ti = konstanta Integral

Td = konstanta Detivatif

e(t) = error (selisih antara set point dengan level aktual)

Persamaan Pengontrol PID diatas dapat juga dituliskan sebagai berikut :

dengan :

Universitas Sumatera Utara

Page 38: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

26

2.4.1 Kontrol Proporsional

Penggunaan kontrol P memiliki berbagai keterbatasan karena sifat kontrol

yang tidak dinamik ini. Walaupun demikian dalam aplikasi-aplikasi dasar yang

sederhana kontrol P ini cukup mampu untuk memperbaiki respon transien

khususnya rise time dan settling time. Pengontrol proporsional memiliki keluaran

yang sebanding/proporsional dengan besarnya sinyal kesalahan (selisih antara

besaran yang diinginkan dengan harga aktualnya).

Ciri-ciri pengontrol proporsional :

• Jika nilai Kp kecil, pengontrol proporsional hanya mampu melakukan

koreksi kesalahan yang kecil, sehingga akan menghasilkan respon sistem

yang lambat (menambah rise time).

• Jika nilai Kp dinaikkan, respon/tanggapan sistem akan semakin cepat

mencapai keadaan mantapnya (mengurangi rise time).

• Namun jika nilai Kp diperbesar sehingga mencapai harga yang berlebihan,

akan mengakibatkan sistem bekerja tidak stabil atau respon sistem akan

berosilasi.

• Nilai Kp dapat diset sedemikian sehingga mengurangi steady state error,

tetapi tidak menghilangkannya.

2.4.2 Kontrol Integratif

Pengontrol Integral berfungsi menghasilkan respon sistem yang memiliki

kesalahan keadaan mantap nol (Error Steady State = 0 ). Jika sebuah pengontrol

tidak memiliki unsur integrator, pengontrol proporsional tidak mampu menjamin

Universitas Sumatera Utara

Page 39: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

27

keluaran sistem dengan kesalahan keadaan mantapnya nol. Kontrol I dapat

memperbaiki sekaligus menghilangkan respon steady-state, namun pemilihan Ki

yang tidak tepat dapat menyebabkan respon transien yang tinggi sehingga dapat

menyebabkan ketidakstabilan sistem. Pemilihan Ki yang sangat tinggi justru dapat

menyebabkan output berosilasi karena menambah orde system.

Keluaran pengontrol ini merupakan hasil penjumlahan yang terus menerus

dari perubahan masukannya. Jika sinyal kesalahan tidak mengalami perubahan,

maka keluaran akan menjaga keadaan seperti sebelum terjadinya perubahan

masukan. Sinyal keluaran pengontrol integral merupakan luas bidang yang

dibentuk oleh kurva kesalahan / error.

Ciri-ciri pengontrol integral :

• Keluaran pengontrol integral membutuhkan selang waktu tertentu,

sehingga pengontrol integral cenderung memperlambat respon.

• Ketika sinyal kesalahan berharga nil, keluaran pengontrol akan bertahan

pada nilai sebelumnya.

• Jika sinyal kesalahan tidak berharga nol, keluaran akan menunjukkan

kenaikan atau penurunan yang dipengaruhi oleh besarnya sinyal kesalahan

dan nilai Ki.

• Konstanta integral Ki yang berharga besar akan mempercepat hilangnya

offset. Tetapi semakin besar nilai konstanta Ki akan mengakibatkan

peningkatan osilasi dari sinyal keluaran pengontrol.

Universitas Sumatera Utara

Page 40: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

28

2.4.3 Kontrol Derivatif

Keluaran pengontrol diferensial memiliki sifat seperti halnya suatu operasi

derivatif. Perubahan yang mendadak pada masukan pengontrol akan

mengakibatkan perubahan yang sangat besar dan cepat. Ketika masukannya tidak

mengalami perubahan, keluaran pengontrol juga tidak mengalami perubahan,

sedangkan apabila sinyal masukan berubah mendadak dan menaik (berbentuk

fungsi step), keluaran menghasilkan sinyal berbentuk impuls. Jika sinyal masukan

berubah naik secara perlahan (fungsi ramp), keluarannya justru merupakan fungsi

step yang besar magnitudenya sangat dipengaruhi oleh kecepatan naik dari

fungsi ramp dan factor konstanta Kd. Dengan ini ia dapat digunakan untuk

memperbaiki respon transien dengan memprediksi error yang akan terjadi.

Kontrol Derivative hanya berubah saat ada perubahan error sehingga saat error

statis kontrol ini tidak akan bereaksi, hal ini pula yang menyebabkan kontroler

Derivative tidak dapat dipakai sendiri

Ciri-ciri pengontrol derivatif :

• Pengontrol tidak dapat menghasilkan keluaran jika tidak ada perubahan

pada masukannya (berupa perubahan sinyal kesalahan)

• Jika sinyal kesalahan berubah terhadap waktu, maka keluaran yang

dihasilkan pengontrol tergantung pada nilai Kd dan laju perubahan sinyal

kesalahan.

• Pengontrol diferensial mempunyai suatu karakter untuk mendahului,

sehingga pengontrol ini dapat menghasilkan koreksi yang signifikan

sebelum pembangkit kesalahan menjadi sangat besar. Jadi pengontrol

Universitas Sumatera Utara

Page 41: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

29

diferensial dapat mengantisipasi pembangkit kesalahan, memberikan aksi

yang bersifat korektif dan cenderung meningkatkan stabilitas sistem.

• Dengan meningkatkan nilai Kd, dapat meningkatkan stabilitas sistem dan

mengurangi overshoot.

Berdasarkan karakteristik pengontrol ini, pengontrol diferensial umumnya

dipakai untuk mempercepat respon awal suatu sistem, tetapi tidak memperkecil

kesalahan pada keadaan tunaknya.Kerja pengontrol diferensial hanyalah efektif

pada lingkup yang sempit, yaitu pada periode peralihan.Oleh sebab itu pengontrol

diferensial tidak pernah digunakan tanpa ada kontroler lainnya.

Efek dari setiap pengontrol Proporsional, Integral dan Derivatif pada

sistem lup tertutup disimpulkan pada Tabel 2.1

Tabel 2.1 Efek Pengontrolan PID

Respon

Lup

Tertutup

Rise Time Overshoot Setting Time Steady-State

Error

Proporsio

nal

Menurunkan Meningkatkan Perubahan

Kecil

Menurunkan/Me

nurangi

Integral Menurunkan Meningkatkan Meningkatkan Mengeliminasi

Derivatif Perubahan

Kecil

Menurunkan Menurunkan Perubahan Kecil

Universitas Sumatera Utara

Page 42: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

30

Setiap kekurangan dan kelebihan dari masing-masing pengontrol P, I dan

D dapat saling menutupi dengan menggabungkan ketiganya secara paralel

menjadi pengontrol proporsional plus integral plus diferensial (pengontrol PID).

Elemen-elemen pengontrol P, I dan D masing-masing secara keseluruhan

bertujuan :

• mempercepat reaksi sebuah sistem mencapai set point-nya

• menghilangkan offset

• menghasilkan perubahan awal yang besar dan mengurangi overshoot.

Kita coba ambil contoh dari pengukuran temperatur, setelah terjadinya

pengukuran dan pengukuran kesalahan maka kontroler akan memustuskan

seberapa banyak posisi tap akan bergeser atau berubah. Ketika kontroler

membiarkan valve dalam keadaan terbuka, dan bisa saja kontroler membuka

sebagian dari valve jika hanya dibutuhkan air yang hangat, akan tetapi jika yang

dibutuhkan adalah air panas, maka valve akan terbuka secara penuh. Ini adalah

contoh dari proportional control. Dan jika ternyata dalam prosesnya air panas

yang diharapkan ada datangnya kurang cepat maka controler bisa mempercepat

proses pengiriman air panas dengan membuka valve lebih besar atau menguatkan

pompa, inilah yang disebut dengan intergral kontrol.

Karakteristik pengontrol PID sangat dipengaruhi oleh kontribusi besar dari

ketiga parameter P, I dan D. Penyetelan konstanta Kp, Ki dan Kd akan

mengakibatkan penonjolan sifat dari masing-masing elemen. Satu atau dua dari

ketiga konstanta tersebut dapat disetel lebih menonjol disbanding yang lain.

Universitas Sumatera Utara

Page 43: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

31

Konstanta yang menonjol itulah akan memberikan kontribusi pengaruh pada

respon sistem secara keseluruhan.

Penjelasan atau contohnya Kendali P.I.D sebagai berikut :

Contohnya saja pada lift, fungsi kendali yaitu bagaimana membuat kecepatan lift

ketika dinaiki oleh jumlah orang yang berbeda (secara logika ketika hanya 1 orang

kecepatan tinggi dan ketika byak kecepatan menurun) nah disini fungsi kendali

walau jumlah barapapun kecepatan tetap sama,

Misalnya kita logika dengan kecepatan kereta (analogikan kecepatan konstan 80

km/jam)

Maka :

Kendali P, fungsinya mempercepat start dari kecepatan 0-80 km/jam,

Kendali I, fungsinya menjaga kecepatan ketika mencapai 80 km/jam agar tidak

terjadi kenaikan atau penurunan

Kendali D, fungsinya memnjaga kecepatan 80km/h selama kereta berjalan

2.5 LCD

LCD merupakan salah satu perangkat penampil yang sekarang ini mulai

banyak digunakan.Penampil LCD mulai dirasakan menggantikan fungsi dari

penampil CRT (Cathode Ray Tube), yang sudah berpuluh-puluh tahun digunakan

manusia sebagai penampil gambar/text baik monokrom (hitam dan putih),

Universitas Sumatera Utara

Page 44: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

32

maupun yang berwarna.Teknologi LCD memberikan keuntungan dibandingkan

dengan teknologi CRT, kaena pada dasarnya, CRT adalah tabung triode yang

digunakan sebelum transistor ditemukan.

Beberapa keuntungan LCD dibandingkan dengan CRT adalah konsumsi

daya yang relative kecil, lebih ringan, tampilan yang lebih bagus, dan ketika

berlama-lama di depan monitor, monitor CRT lebih cepat memberikan kejenuhan

pada mata dibandingkan dengan LCD. LCD memanfaatkan silicon atau gallium

dalam bentuk Kristal cair sebagai pemendar cahaya.Pada layar LCD, setiap matrik

adalah susunan dua dimensi piksel yang dibagi dalam baris dan kolom.

Gambar 2.8.LCD

Dengan demikian, setiap pertemuan baris dan kolom adalah sebuah LED

terdapat sebuah bidang latar (backplane), yang merupakan lempengan kaca bagian

belakang dengan sisi dalam yang ditutupi oleh lapisan elektroda trasparan.Dalam

keadaan normal, cairan yang digunakan memiliki warna cerah. Daerah-daerah

tertentu pada cairan akan berubah warnanya menjadi hitam ketika tegangan

diterapkan antara bidang latar dan pola elektroda yang terdapat pad sisi dalam

lempeng kaca bagian depan.

Keunggulan LCD adalah hanya menarik arus yang kecil (beberapa

microampere), sehingga alat atau sistem menjadi portable karena dapat

Universitas Sumatera Utara

Page 45: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

33

menggunakan catu daya yang kecil.Keunggulan lainnya adalah tampilan yang

diperlihatkan dapat dibaca dengan mudah di bawah terang sinar matahari.Di

bawah sinar cahaya yang remang-remang dalam kondisi gelap, sebuah lampu

(berupa LED) harus dipasang dibelakang layar tampilan.

LCD yang digunakan adalah jenis LCD yang mena mpilkan data dengan 2

baris tampilan pada display. Keuntungan dari LCD ini adalah :

1. Dapat menampilkan karakter ASCII, sehingga dapat memudahkan untuk

membuat program tampilan.

2. Mudah dihubungkan dengan port I/O karena hanya mengunakan 8 bit data

dan 3 bit control.

3. Ukuran modul yang proporsional.

4. Daya yang digunakan relative sangat kecil.

LCD 16x2

10

11

12

13

11

12

13

14

D0

D1

D2

D3

D4

D5

D6

D7

2 15

+5VDC

RS

RW

EN

4

5

6

1 3 16

VC

C

V+

BL

GN

D

LC

D D

rvV

-BL

Gambar 2.9. Konfigurasi Pin LCD

Operasi dasar pada LCD terdiri dari empat, yaitu instruksi mengakses

proses internal, instruksi menulis data, instruksi membaca kondisi sibuk, dan

instruksi membaca data. ROM pembangkit sebanyak 192 tipe karakter, tiap

karakter dengan huruf 5x7 dot matrik.Kapasitas pembangkit RAM 8 tipe karakter

Universitas Sumatera Utara

Page 46: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

34

(membaca program), maksimum pembacaan 80x8 bit tampilan data.Perintah

utama LCD adalah Display Clear, Cursor Home, Display ON/OFF, Display

Character Blink, Cursor Shift, dan Display Shift Tabel 2.2.menunjukkan operasi

dasar LCD.

Tabel 2.2. Operasi Dasar LCD

S R/W Operasi

0 0 Input Instruksi ke LCD

0 1 Membaca Status Flag (DB7) dan alamat counter

(DB0 ke DB6)

1 0 Menulis Data

1 1 Membaca Data

Tabel 2.3. Konfigurasi LCD

Pin Bilangan biner Keterangan

RS 0 Inisialisasi

1 Data

RW 0 Tulis LCD / W (write)

1 Baca LCD / R (read)

E 0 Pintu data terbuka

1 Pintu data tertutup

Universitas Sumatera Utara

Page 47: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

35

Tabel 2.4.Konfigurasi Pin LCD

Pin

No.

Keterangan Konfigurasi Hubung

1 GND Ground

2 VCC Tegangan +5VDC

3 VEE Ground

4 RS Kendali RS

5 RW Ground

6 E Kendali E/Enable

7 D0 Bit 0

8 D1 Bit 1

9 D2 Bit 2

10 D3 Bit 3

11 D4 Bit 4

12 D5 Bit 5

13 D6 Bit 6

14 D7 Bit 7

15 A Anoda (+5VDC)

16 K Katoda (Ground)

Lapisan film yang berisis Kristal cair diletakkan di antara dua lempeng

kaca yang telah ditanami elektroda logam transparan. Saat teganga dicatukan pada

beberapa pasang elektroda, molekul – molekul Kristal cair akan menyusun diri

Universitas Sumatera Utara

Page 48: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

36

agar cahaya yang mengenainya akan dipantulkan atau diserap. Dari hasil

pemantulan atau penyerapan cahaya tersebut akan terbentuk pola huruf, angka,

atau gambar sesuai bagian yang di aktifka.

LCD membutuhkan tegangan dan daya yang kecil sehingga sangat popular

untuk aplikasi pada kalkulator, arloji digital, dan instrument elektronika lain

seperti Global Positioning System (GPS), baragraph display dan multimeter

digital. LCD umumnya dikemas dalam bentuk Dual In Line Package (DIP) dan

mempunyai kemampuan untuk menampilkan beberapa kolom dan baris dalam

satu panel. Untuk membentuk pola, baik karakter maupun gambar pada kolom

dan baris secara bersamaan digunakan metode Screening.

Metode screening adalah mengaktifkan daerah perpotongan suatu kolo dan

suatu baris secara bergantian dan cepat sehingga seolah-olah aktif

semua.Penggunaan metode ini dimaksudkan untuk menghemat jalur yang

digunakan untuk mengaktifkan panel LCD. Saat ini telah dikembangkan berbagai

jenis LCD, mulai jenis LCD biasa, Passive Matrix LCD (PMLCD), hingga Thin-

Film Transistor Active Matrix (TFT-AMLCD). Kemampuan LCD juga telah

ditingkatkan daru yang monokrom hingga yang mampu menampilkan ribuan

warna.

2.6.PWM

PWM ( Pulse Width Modulation) adalah salah satu teknik modulasi

dengan mengubah lebar pulsa (duty cylce) dengan nilai amplitudo dan frekuensi

yang tetap. Satu siklus pulsa merupakan kondisi high kemudian berada di zona

transisi ke kondisi low.Lebar pulsa PWM berbanding lurus dengan amplitudo

sinyal asli yang belum termodulasi. Duty Cycle merupakan representasi dari

Universitas Sumatera Utara

Page 49: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

37

kondisi logika high dalam suatu periode sinyal dan di nyatakan dalam bentuk (%)

dengan range 0% sampai 100%, sebagai contoh jika sinyal berada dalam kondisi

high terus menerus artinya memiliki duty cycle sebesar 100%. Jika waktu sinyal

keadaan high sama dengan keadaan low maka sinyal mempunyai duty cycle

sebesar 50%.

Aplikasi penggunaan PWM biasanya ditemui untuk pengaturan kecepatan

motor dc, pengaturan cerah/redup LED, dan pengendalian sudut pada motor

servo. Contoh penggunaan PWM pada pengaturan kecepatan motor dc semakin

besar nilai duty cycle yang diberikan maka akan berpengaruh terhadap cepatnya

putaran motor. Apabila nilai duty cylce-nya kecil maka motor akan bergerak

lambat.

Untuk membandingkannya terhadap tegangan DC, PWM memiliki 3 mode

operasi yaitu :

1. mode inverted

Pada mode inverted ini jika nilai sinyal lebih besar dari pada titik

pembanding (compare level) maka output akan di set high (5v) dan

sebaliknya jika nilai sinyal lebih kecil maka output akan di set low (0v) .

2. Non Inverted Mode

Pada mode non inverted ini output akan bernilai high (5v) jika titik

pembanding (compare level) lebih besar dari pada nilai sinyal dan

sebaliknya jika bernilai low (0v) pada saat titik pembanding lebih kecil

dari nilai sinyal.

3. Toggle Mode

Universitas Sumatera Utara

Page 50: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

38

Pada mode toggle output akan beralih dari nilai high (5v) ke nilai low (0v)

jika titik pembanding sesuai dan sebaliknya beralih dari nilai low ke high.

BAB III PERANCANGAN DAN PEMBUATAN

3.1 Diagram Block Sistem

Gambar 3.1 Diagram Block Sistem

3.1.1.Fungsi-fungsi diagram blok

1. Blok LCD : Sebagai output tampilan

2. Blok Mikrokontroller ATMega328 : Sebagai Pengkonversi data ke LCD

3. Blok Motor Driver Metode PID : Sebagai pengatur/pengendali

kecepatan motor

4. Blok Set Speed : Sebagai Perintah masukan.

5. Blok Motor DC : sebagai Output

Universitas Sumatera Utara

Page 51: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

39

6. FeedBack : Sebagai Umpan Balik

3.2 Rangkaian LCD (Liquid Crystal Display)

Pada alat ini, display yang digunakan adalah LCD (Liquid Crystal

Display) 16 x 2. Untuk blok ini tidak ada komponen tambahan karena

mikrokontroler dapat memberi data langsung ke LCD, pada LCD Hitachi - M1632

sudah terdapat driver untuk mengubah data ASCII output mikrokontroler menjadi

tampilan karakter. Pemasangan potensio sebesar 10 KΩ untuk mengatur kontras

karakter yang tampil. Gambar 3.2 berikut merupakan gambar rangkaian LCD

yang dihubungkan ke mikrokontroler.

Gambar 3.2 Rangkaian LCD dengan Mikrokontroller ATMega328

Universitas Sumatera Utara

Page 52: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

40

Dari Gambar 3.2, rangkaian ini terhubung ke PD4, PD5, PD6, PD7 yang

merupakan pin I/O digital sebanyak 14 pin 6 diantaranya PWM (Pulse Wdith

Modulation) output. Sehingga nilai yang akan tampil pada LCD display akan

dapat dikendalikan oleh Mikrokontroller Atmega328.

3.3. Rangkaian Mikrokontroller ATMega328

Rangkaian sistem minimum mikrokontroler ATMega328 dapat dilihat pada

Gambar 3.3 :

Gambar 3.3 Rangkaian sistem minimum mikrokontroler ATMEGA328

Dari Gambar 3.3, ATMega328 memiliki 3 buah PORT utama yaitu

PORTB, PORTC, dan PORTD dengan total pin input/output sebanyak 28 pin.

PORT tersebut dapat difungsikan sebagai input/output digital atau difungsikan

sebagai periperal lainnya. Mikrokontroller ATmega328 memiliki arsitektur

Harvard, yaitu memisahkan memori untuk kode program dan memori untuk data

sehingga dapat memaksimalkan kerja dan parallelism.

Universitas Sumatera Utara

Page 53: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

41

1. Port B

Port B merupakan jalur data 8 bit yang dapat difungsikan sebagai input/output.

Selain itu PORTB juga dapat memiliki fungsi alternatif seperti di bawah ini.

a. ICP1 (PB0), berfungsi sebagai Timer Counter 1 input capture pin.

b. OC1A (PB1), OC1B (PB2) dan OC2 (PB3) dapat difungsikan sebagai

keluaran PWM (Pulse Width Modulation).

c. MOSI (PB3), MISO (PB4), SCK (PB5), SS (PB2) merupakan jalur

komunikasi SPI.

d. Selain itu pin ini juga berfungsi sebagai jalur pemograman serial (ISP).

e. TOSC1 (PB6) dan TOSC2 (PB7) dapat difungsikan sebagai sumber clock

external untuk timer.

f. XTAL1 (PB6) dan XTAL2 (PB7) merupakan sumber clock utama

mikrokontroler.

2. Port C

Port C merupakan jalur data 7 bit yang dapat difungsikan sebagai input/output

digital. Fungsi alternatif PORTC antara lain sebagai berikut.

a. ADC6 channel (PC0,PC1,PC2,PC3,PC4,PC5) dengan resolusi sebesar 10

bit. ADC dapat kita gunakan untuk mengubah input yang berupa tegangan

analog menjadi data digital

b. I2C (SDA dan SDL) merupakan salah satu fitur yang terdapat pada PORTC.

I2C digunakan untuk komunikasi dengan sensor atau device lain yang

memiliki komunikasi data tipe I2C seperti sensor kompas, accelerometer

nunchuck.

Universitas Sumatera Utara

Page 54: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

42

3. Port D

Port D merupakan jalur data 8 bit yang masing-masing pin-nya juga dapat

difungsikan sebagai input/output. Sama seperti Port B dan Port C, Port D juga

memiliki fungsi alternatif dibawah ini

a. USART (TXD dan RXD) merupakan jalur data komunikasi serial dengan

level sinyal TTL. Pin TXD berfungsi untuk mengirimkan data serial,

sedangkan RXD kebalikannya yaitu sebagai pin yang berfungsi untuk

menerima data serial.

b. Interrupt (INT0 dan INT1) merupakan pin dengan fungsi khusus sebagai

interupsi hardware. Interupsi biasanya digunakan sebagai selaan dari

program, misalkan pada saat program berjalan kemudian terjadi interupsi

hardware/software maka program utama akan berhenti dan akan menjalankan

program interupsi.

c. XCK dapat difungsikan sebagai sumber clock external untuk USART, namun

kita juga dapat

d. memanfaatkanclock dari CPU, sehingga tidak perlu membutuhkan external

clock.

e. T0 dan T1 berfungsi sebagai masukan counter external untuk timer 1 dan

timer 0. AIN0 dan AIN1 keduanya merupakan masukan input untuk analog

komparator.

3.4. Rangkaian PID

Kontroller PID merupakan jumlahan dari keluaran kontroller proportional,

keluaran kontroller integral dan keluaran kontroller derivative. Karakteristik

Universitas Sumatera Utara

Page 55: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

43

kontroller PID sangat dipengaruhi oleh kontribusi besar ketiga parameter dari P,

I dan D. Penyetelan konstanta Kp, Ti, dan Td akan mengakibatkan penonjolan

sifat dari masing – masing elemen . Satu atau dua dari ketiga konstanta tersebut

dapat disetel lebih menonjol dibanding yang lain. Konstanta yang menonjol itulah

akan memberikan kontribusi pengaruh pada respon sistem secara

keseluruhan. Parameter-parameter tersebut tidak bersifat independen, sehingga

pada saat salah satu nilai konstantanya diubah, maka mungkin sistem tidak akan

bereaksi seperti yang diinginkan.

Gambar 3.4.Rangkaian kontroller PID

Dari Gambar 3.4 pada rangkaian Pengendali proporsional Kp akan

memberikan efek mengurangi waktu naik tetapi tidak menghapus

kesalahan keadaan tunak . Pengendali integral Ki akan memberikan efek

menghapus kesalahan keadaan tunak tetapi berakibat memburuknya tanggapan

transient. Pengendali derivatif Kd akan memberikan efek meningkatnya stabilitas

Universitas Sumatera Utara

Page 56: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

44

sistem, mengurangi lewatan maksimum dan menaikkan tanggapan fungsi transfer

. Efek dari setiap pengendali dalam sistem lingkar tertutup dapat dilihat pada

Tabel 3.1 berikut ini :

Tabel 3.1 Kontrol PID Sistem Rangkaian Tertutup

Closed-Loop

Response

Rise Time

(ti)

Overshoot

Setting

Time (td)

SS Errror

Proporsional Decrease Increase Small

Change

Decrease

Integral Decrease Increase Increase Eliminate

Derivatif Small

Change

Decrease Decrease Small

Change

Tabel 3.1 menunjukkan bahwa pengendali proporsional akan mengurangi

waktu naik, meningkatkan persentase lewatan maksimum dan mengurangi

keadaan tunak. Sedangkan pengendali proporsional derivatif mereduksi lewatan

maksimum dan waktu turun. Selain itu, pengendali proporsional integral menurun

pada waktu naik, meningkatkan lewatan maksimum dan waktu turun dan akan

menghilangkan kesalahan keadaan.

3.5 Set Speed

Universitas Sumatera Utara

Page 57: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

45

Pada rangkaian set speed rangkaian yang digunakan adalah rangkaian

encoder yang berfungsi untuk memberikan perintah masukan kepada untuk

mengatur kecepatan putar motor DC yang diinginkan. Encoder adalah suatu

rangkaian logika yang berfungsi untuk mengkonversikan kode yang lebih dikenal

oleh manusia ke dalam kode yang kurang dikenal manusia.Encoder adalah

rangkaian yang memiliki fungsi berkebalikan dengan dekoder. Encoder berfungsi

sebagai rangakain untuk mengkodekan data input menjadi data bilangan dengan

format tertentu.

Gambar 3.5. Rangkaian Encoder

Pada Gambar 3.5 merupakan rangkaian sederhana encoder desimal ke

BCD (Binary Coded Decimal) yaitu rangkaian encoder dengan input 9 line dan

output 4 bit data BCD. Encoder dalam rangkaian digital adalah rangkaian

kombinasi gerbang digital yang memiliki input banyak dalam bentuk line input

dan memiliki output sedikit dalam format bilangan biner.

3.6 FeedBack Sistem

Pengendalian umpan balik merupakan proses mengukur keluaran dari

sistem yang dibandingkan dengan suatu standar tertentu. Bilamana terjadi

Universitas Sumatera Utara

Page 58: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

46

perbedaan - perbedaan atau penyimpangan - penyimpangan akan dikoreksi untuk

memperbaiki masukan sistem selanjudnya. Study teoritis tentang sistem

pengendalian umpan balik disebut dengan cybernetisc. Istilah ini berasal dari

bahasa Yunani yaitu kybernettes yang berarati "orang yang mengatur " penerapan

suatu pengendalian daam suatu sistem.

Sistem pengendalian umpan balik mempunyai 4 komponen dasar, yaitu :

1. Suatu karakteristik atau kondisi yang dikendalikan diukur dari

keluarannya.

2. Suatu sensor (censor) yang mengukur karakteristik atau kondisi tersebut.

3. Suatu unit pengendalian (control unit ) yang membandingkan hasil

ukuran sensor dengan suatu standar.

4. Suatu unit pengatur (activating unit) yang menghasilkan tindakan

penyesuaian untuk masukkan proses selanjudnya.

Sistem pengendalian umpan balik disebut juga dengan istilah negative

feedback, karena hasil balik yang negative akan dikendalikan supaya menjadi

baik untuk masukan proses selanjudnya. Contoh yang paling umum dari sistem

pengendalian umpan balik adalah sistem themostat di dalam alat pendingin. (air

conditioner). Kondisi temperatur yang dihasilkan oleh alat pendingin akan diukur

oleh suatu sensor dan dibandingkan dengan standar temperatur yang tidak

menyebabkan ruangan menjadi lembab. Bila temperatu terlalu dingin, maka

tungku pemanas sebagai pengatur unit pegnatur dalam thermostat akan

dihidupkan. Bila temperatue terlalu panas, maka tungku akan dimatikan dan alat

pendingin akan bekerja kembali. Seandainya alat pendingin tidak mempunyai

Universitas Sumatera Utara

Page 59: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

47

pengendali ini, maka ruangan akan menjadi lemabab dan tujuan dari alat

pendingin tersebut tidak akan tercapai. Sistem akuntansi pertanggung jawaban

merupaka penerapan dari sistesm pengendalian umpan balik dalam sistem

akuntansi.Sistem akuntansi pertanggungjawaban dapat berupa pusat beaya dan

pusat investai. Pada pusat beaya yang dikendalikan bila melebihi anggaran akan

dianalisis peneybabnya dan akan diperbaiki untuk masukan selanjutnya.

Gambar 3.6.FeedBack Sistem

Dari Gambar 3.6 sistem pengendalian umpan balik pengendali akan

mengubah besarnya input, sehingga nilai outputnya akan dipertahankan sesuai

dengan set-pointnya. Sensor akan memonitor dan mengukur output yang dikontrol

dan hasil pengukuran akan dibandingkan nilainya dengan nilai set-point yang

ditetapkan.

3.7 Rangkaian Adaptor

Adaptor merupakan alat atau jembatan untuk menyambungkan suber

tegangan DC.Tegangan DC ini dibutuhkan oleh berbagai macam rangkaian

elektronik untuk dapat dioperasikan. Seperti halnya adaptor/ power supply yang

digunakan pada hiasan lampu akrilik. Rangkaian inti dari adaptor/ power supply

Universitas Sumatera Utara

Page 60: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

48

adalah suatu rangkaian penyearah yaitu rangkaian yang mengubah sinyal bolak-

balik (AC) menjadi sinyal searah (DC).

Proses pengubahan dimulai dari penye-arah oleh diode, penghalusan

tegangan kerut (Ripple Viltage Filter) dengan menggunakan condensator dan

pengaturan (regulasi) oleh rangkaian regulator. Pengaturan meliputi pengubahan

tingkat tegangan atau arus. Pada teknik regulasi pada pembuatan adaptor, kita

mengenal teknik regulasi daya linier dan teknik regulasi switching.

Gambar 3.7 Kontruksi dasar adaptor dengan transformator step down

Pada Gambar 3.7 dapat disimpulkan Sistem rangkaian penyearah ada 4 fungsi

dasar yaitu:

1. Tranformasi (travo) tegangan yang diperlukan untuk menurunkan

tegangan yang diinginkan.

2. Rangkaian penyearah, rangkaian ini untuk mengubah tingkat tegangan

arus bolak balik ke arus searah.

3. Filter (Condesator), merupakan rangkaian untuk memproses fluktuasi

penyearah yang menghasilkan keluaran tegangan DC yang lebih rata.

Universitas Sumatera Utara

Page 61: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

49

4. Regulasi adalah parameter yang sangat penting pada adaptor dan regulator

tegangan dengan bahan bervariasi.

Pada teknologi modern saat ini adaptor/ power supply rata-rata sudah tidak

lagi menggunakan transformator step down, dimana tegangan AC diturunkan

terlebih dahulu melalui sebuah transformator step down keluaran trafo diserahkan

dengan diode dan diratakan dengan kapasitor elekronik (elco).

Universitas Sumatera Utara

Page 62: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

50

3.8 FlowChart Sistem

Pengulangan

Gambar 3.8. Flow Chart Sistem Pengatur Motor DC dengan Metode PID

Mulai

Input setpoin

Error =setpoin -

kecepatan

Error1=Error1+Error

Error2 =Error2 + Error

PWM=PWM+(Error

Kp)+(Error

ki)+(Error Kd)

Baca kecepatan

Kp,Ki,Kd

Perintah

Berhenti

Selesai

Universitas Sumatera Utara

Page 63: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

51

BAB IV PENGUJIAN DAN PEMBAHASAN

4.1 Pengujian Rangkain LCD

Bagian ini hanya terdiri dari sebuah LCD dot matriks 2 x 16 karakter yang

berfungsi sebagai tampilan hasil pengukuran dan tampilan dari beberapa

keterangan. LCD dihubungkan langsung ke Port B dari mikrokontroler yang

berfungsi mengirimkan data hasil pengolahan untuk ditampilkan dalam bentuk

alfabet dan numerik pada LCD.Display karakter pada LCD diatur oleh pin EN,

RS dan RW: Jalur EN dinamakan Enable. Jalur ini digunakan untuk memberitahu

LCD bahwa anda sedang mengirimkan sebuah data. Untuk mengirimkan data ke

LCD, maka melalui program EN harus dibuat logika low “0” dan set ( high ) pada

dua jalur kontrol yang lain RS dan RW. Jalur RW adalah jalur kontrol Read/

Write. Ketika RW berlogika low (0), maka informasi pada bus data akan

dituliskan pada layar LCD. Ketika RW berlogika high ”1”, maka program akan

melakukan pembacaan memori dari LCD. Sedangkan pada aplikasi umum pin

RW selalu diberi logika low ( 0 )

Berdasarkan keterangan di atas maka kita sudah dapat membuat progam

untuk menampilkan karaker pada display LCD. Adapun program yang diisikan ke

mikrokontroller untuk menampilkan karakter pada display LCD adalah sebagai

berikut:

#include <LiquidCrystal.h>

LiquidCrystal lcd(8, 7, 6, 4, 3, 2);

Void setup()

Universitas Sumatera Utara

Page 64: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

52

{lcd.begin(16, 2);}

Void loop()

{

Lcd.setCursor(0,0);

Lcd.putsf(“tes lcd”);

}

Program di atas akan menampilkan kata “Tes LCD” di baris pertama pada display

LCD 2x16 seperti pada Gambar 4.1

Gambar 4.1. Pengujian LCD

4.2 Pengujian Rangkaian Mikrokontroller ATMega328

Pemrograman menggunakan mode ISP (In System Programming)

mikrokontroler harus dapat diprogram langsung pada papan rangkaian dan

rangkaian mikrokontroler harus dapat dikenali oleh program downloader.

Pada pengujian ini berhasil dilakukan dengan dikenalinya jenis mikrokontroler

oleh program downloader yaitu Atmega328 dapat dilihat pada Gambar 4.2.

Gambar 4.2. Informasi Signature Mikrokontroler

Atmega328 menggunakan kristal dengan frekuensi 8 MHz, apabila Chip

Signature sudah dikenali dengan baik dan dalam waktu singkat, bisa dikatakan

rangkaian mikrokontroler bekerja dengan baik dengan mode ISP-nya. Pada

Universitas Sumatera Utara

Page 65: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

53

ATmega328 terdapat 3 port, yaitu port B, port C, port D berikut pengenalan dari

ketiga port tersebut

void main(void)

{

// Declare your local variables here

// Crystal Oscillator division factor: 1

#pragma optsize-

CLKPR=(1<<CLKPCE);

CLKPR=(0<<CLKPCE) | (0<<CLKPS3) | (0<<CLKPS2) | (0<<CLKPS1) |

(0<<CLKPS0);

#ifdef _OPTIMIZE_SIZE_

#pragma optsize+

#endif

// Input/Output Ports initialization

// Port B initialization

// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=Out Bit0=Out

DDRB=(0<<DDB7) | (0<<DDB6) | (0<<DDB5) | (0<<DDB4) | (0<<DDB3) |

(0<<DDB2) | (1<<DDB1) | (1<<DDB0);

// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=0 Bit0=0

PORTB=(0<<PORTB7) | (0<<PORTB6) | (0<<PORTB5) | (0<<PORTB4) |

(0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0);

Universitas Sumatera Utara

Page 66: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

54

// Port C initialization

// Function: Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In

DDRC=(0<<DDC6) | (0<<DDC5) | (0<<DDC4) | (0<<DDC3) | (0<<DDC2) |

(0<<DDC1) | (0<<DDC0);

// State: Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T

PORTC=(0<<PORTC6) | (0<<PORTC5) | (0<<PORTC4) | (0<<PORTC3) |

(0<<PORTC2) | (0<<PORTC1) | (0<<PORTC0);

// Port D initialization

// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In

DDRD=(0<<DDD7) | (0<<DDD6) | (0<<DDD5) | (0<<DDD4) | (0<<DDD3) |

(0<<DDD2) | (0<<DDD1) | (0<<DDD0);

// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T

PORTD=(0<<PORTD7) | (0<<PORTD6) | (0<<PORTD5) | (0<<PORTD4) |

(0<<PORTD3) | (0<<PORTD2) | (0<<PORTD1) | (0<<PORTD0);

}

}

4.4 Pengujian Rangkaian Kontrol PID

Setelah dilakukan pengujian pada rangkaian PID , rangkaiannya bekerja

dengan baik dan dapat memberikan pengaruh yang diinginkan dan kecepatan

putar motor DC telah dipengaruhi oleh kontrtol PID. Pengendali proporsional Kp

memberikan efek mengurangi waktu naik tetapi tidak menghapus

kesalahan keadaan tunak . Pengendali integral Ki akan memberikan efek

Universitas Sumatera Utara

Page 67: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

55

menghapus kesalahan keadaan tunak tetapi berakibat memburuknya tanggapan

transient. Pengendali derivatif Kd akan memberikan efek meningkatnya stabilitas

sistem, mengurangi lewatan maksimum dan menaikkan tanggapan fungsi transfer.

Berikut program untuk menjalankan kontrol PID

#include <mega328p.h>

#include <delay.h>

#include <stdio.h>

Inisialisasi program

#define DRV PORTB.1

Inisialisasi Port

// Alphanumeric LCD functions

#include <alcd.h>

Inisialisasi Lcd

// Declare your global variables here

unsigned char buf[33];

unsigned char dly, dly_h, dly_l, cnt;

unsignedintrpm_in, rpm;

Deklarasi Variabel untuk keperluan pengaturan nilai delay

Universitas Sumatera Utara

Page 68: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

56

// Pin change 16-23 interrupt service routine

interrupt [PC_INT2] void pin_change_isr2(void)

{

// Place your code here

rpm_in ++;

}

Menambahkan nilai RPM jika diperlukan

// External Interrupt 0 service routine

interrupt [EXT_INT0] void ext_int0_isr(void)

{

// Place your code here

}

// External Interrupt 1 service routine

interrupt [EXT_INT1] void ext_int1_isr(void)

{

Universitas Sumatera Utara

Page 69: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

57

// Place your code here

}

// Timer1 overflow interrupt service routine

interrupt [TIM1_OVF] void timer1_ovf_isr(void)

{

// Reinitialize Timer1 value

TCNT1H=0xCF2C >> 8;

TCNT1L=0xCF2C & 0xff;

Nilai awal timer 0,1detik

// Place your code here

cnt++;

if (cnt> 10)

{

rpm = rpm_in;

rpm_in = 0;

Universitas Sumatera Utara

Page 70: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

58

}

}

Delay untuk nilai jalur PID pada program

void main(void)

{

// Declare your local variables here

// Crystal Oscillator division factor: 1

#pragma optsize-

CLKPR=(1<<CLKPCE);

CLKPR=(0<<CLKPCE) | (0<<CLKPS3) | (0<<CLKPS2) | (0<<CLKPS1) |

(0<<CLKPS0);

#ifdef _OPTIMIZE_SIZE_

#pragma optsize+

#endif

Inisialisasi ATMega328

// Input/Output Ports initialization

Universitas Sumatera Utara

Page 71: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

59

// Port B initialization

// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=Out Bit0=Out

DDRB=(0<<DDB7) | (0<<DDB6) | (0<<DDB5) | (0<<DDB4) | (0<<DDB3) |

(0<<DDB2) | (1<<DDB1) | (1<<DDB0);

// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=0 Bit0=0

PORTB=(0<<PORTB7) | (0<<PORTB6) | (0<<PORTB5) | (0<<PORTB4) |

(0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0);

Inisialisasi Port B

// Port C initialization

// Function: Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In

DDRC=(0<<DDC6) | (0<<DDC5) | (0<<DDC4) | (0<<DDC3) | (0<<DDC2) |

(0<<DDC1) | (0<<DDC0);

// State: Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T

PORTC=(0<<PORTC6) | (0<<PORTC5) | (0<<PORTC4) | (0<<PORTC3) |

(0<<PORTC2) | (0<<PORTC1) | (0<<PORTC0);

Inisialisasi Port C

// Port D initialization

// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In

Universitas Sumatera Utara

Page 72: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

60

DDRD=(0<<DDD7) | (0<<DDD6) | (0<<DDD5) | (0<<DDD4) | (0<<DDD3) |

(0<<DDD2) | (0<<DDD1) | (0<<DDD0);

// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T

PORTD=(0<<PORTD7) | (0<<PORTD6) | (0<<PORTD5) | (0<<PORTD4) |

(0<<PORTD3) | (0<<PORTD2) | (0<<PORTD1) | (0<<PORTD0);

Inisialisasi Port D

// Timer/Counter 0 initialization

// Clock source: System Clock

// Clock value: Timer 0 Stopped

// Mode: Normal top=0xFF

// OC0A output: Disconnected

// OC0B output: Disconnected

TCCR0A=(0<<COM0A1) | (0<<COM0A0) | (0<<COM0B1) | (0<<COM0B0) |

(0<<WGM01) | (0<<WGM00);

TCCR0B=(0<<WGM02) | (0<<CS02) | (0<<CS01) | (0<<CS00);

TCNT0=0x9E;

OCR0A=0x00;

OCR0B=0x00;

Universitas Sumatera Utara

Page 73: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

61

// Timer/Counter 1 initialization

// Clock source: System Clock

// Clock value: 125.000 kHz

// Mode: Normal top=0xFFFF

// OC1A output: Disconnected

// OC1B output: Disconnected

// Noise Canceler: Off

// Input Capture on Falling Edge

// Timer Period: 0.1 s

// Timer1 Overflow Interrupt: On

// Input Capture Interrupt: Off

// Compare A Match Interrupt: Off

// Compare B Match Interrupt: Off

TCCR1A=(0<<COM1A1) | (0<<COM1A0) | (0<<COM1B1) | (0<<COM1B0) |

(0<<WGM11) | (0<<WGM10);

TCCR1B=(0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (0<<WGM12) |

(0<<CS12) | (1<<CS11) | (1<<CS10);

Inisialisasi Program timer

TCNT1H=0xCF;

Universitas Sumatera Utara

Page 74: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

62

TCNT1L=0x2C;

ICR1H=0xC3;

ICR1L=0x50;

OCR1AH=0x13;

OCR1AL=0x88;

OCR1BH=0x00;

OCR1BL=0x00;

Timer mulai difungsikan

// Timer/Counter 2 initialization

// Clock source: System Clock

// Clock value: Timer2 Stopped

// Mode: Normal top=0xFF

// OC2A output: Disconnected

// OC2B output: Disconnected

ASSR=(0<<EXCLK) | (0<<AS2);

Clock PID DAN RPM

Universitas Sumatera Utara

Page 75: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

63

TCCR2A=(0<<COM2A1) | (0<<COM2A0) | (0<<COM2B1) | (0<<COM2B0) |

(0<<WGM21) | (0<<WGM20);

TCCR2B=(0<<WGM22) | (0<<CS22) | (0<<CS21) | (0<<CS20);

TCNT2=0x00;

OCR2A=0x00;

OCR2B=0x00;

Inisialisasi untuk multiprossesing

// Timer/Counter 0 Interrupt(s) initialization

TIMSK0=(0<<OCIE0B) | (0<<OCIE0A) | (0<<TOIE0);

// Timer/Counter 1 Interrupt(s) initialization

TIMSK1=(0<<ICIE1) | (0<<OCIE1B) | (0<<OCIE1A) | (1<<TOIE1);

// Timer/Counter 2 Interrupt(s) initialization

TIMSK2=(0<<OCIE2B) | (0<<OCIE2A) | (0<<TOIE2);

// External Interrupt(s) initialization

// INT0: On

Universitas Sumatera Utara

Page 76: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

64

// INT0 Mode: ]Falling Edge

// INT1: On

// INT1 Mode: Falling Edge

// Interrupt on any change on pins PCINT0-7: Off

// Interrupt on any change on pins PCINT8-14: Off

// Interrupt on any change on pins PCINT16-23: On

EICRA=(1<<ISC11) | (0<<ISC10) | (1<<ISC01) | (0<<ISC00);

EIMSK=(1<<INT1) | (1<<INT0);

EIFR=(1<<INTF1) | (1<<INTF0);

PCICR=(1<<PCIE2) | (0<<PCIE1) | (0<<PCIE0);

PCMSK2=(0<<PCINT23) | (0<<PCINT22) | (0<<PCINT21) | (0<<PCINT20) |

(0<<PCINT19) | (0<<PCINT18) | (0<<PCINT17) | (1<<PCINT16);

PCIFR=(1<<PCIF2) | (0<<PCIF1) | (0<<PCIF0);

// USART initialization

// USART disabled

UCSR0B=(0<<RXCIE0) | (0<<TXCIE0) | (0<<UDRIE0) | (0<<RXEN0) |

(0<<TXEN0) | (0<<UCSZ02) | (0<<RXB80) | (0<<TXB80);

Universitas Sumatera Utara

Page 77: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

65

// Analog Comparator initialization

// Analog Comparator: Off

// The Analog Comparator's positive input is

// connected to the AIN0 pin

// The Analog Comparator's negative input is

// connected to the AIN1 pin

ACSR=(1<<ACD) | (0<<ACBG) | (0<<ACO) | (0<<ACI) | (0<<ACIE) |

(0<<ACIC) | (0<<ACIS1) | (0<<ACIS0);

ADCSRB=(0<<ACME);

// Digital input buffer on AIN0: On

// Digital input buffer on AIN1: On

DIDR1=(0<<AIN0D) | (0<<AIN1D);

// ADC initialization

// ADC disabled

ADCSRA=(0<<ADEN) | (0<<ADSC) | (0<<ADATE) | (0<<ADIF) | (0<<ADIE) |

(0<<ADPS2) | (0<<ADPS1) | (0<<ADPS0);

// SPI initialization

Universitas Sumatera Utara

Page 78: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

66

// SPI disabled

SPCR=(0<<SPIE) | (0<<SPE) | (0<<DORD) | (0<<MSTR) | (0<<CPOL) |

(0<<CPHA) | (0<<SPR1) | (0<<SPR0);

// TWI initialization

// TWI disabled

TWCR=(0<<TWEA) | (0<<TWSTA) | (0<<TWSTO) | (0<<TWEN) |

(0<<TWIE);

// Alphanumeric LCD initialization

// Connections are specified in the

// Project|Configure|CCompiler|Libraries|Alphanumeric LCD menu:

// RS - PORTC Bit 0

// RD - PORTC Bit 1

// EN - PORTC Bit 2

// D4 - PORTD Bit 4

// D5 - PORTD Bit 5

// D6 - PORTD Bit 6

// D7 - PORTD Bit 7

Universitas Sumatera Utara

Page 79: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

67

// Characters/line: 16

lcd_init(16);

Pengaktifan LCD

// Global enable interrupts

#asm("sei")

lcd_gotoxy(0,0);

lcd_putsf("RPM - Control");

Kirim info ke LCD

dly = 100;(Kp)

dly_h = 50;(ki)

dly_l = 50;(kd)

rpm = 0;

Nilai aturan pada saat program multi prossesing

while (1)

{

// Place your code here

Universitas Sumatera Utara

Page 80: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

68

DRV = 1;

delay_ms(dly - dly_l);

DRV = 0;

delay_ms(dly - dly_h);

Program Rutin

lcd_gotoxy(0,1);

sprintf(buf,"RPM: %03u cy", rpm);

lcd_puts(buf);

}

}

Nilai sesaat tampil pada LCD

Setelah program dijalankan kontroller PID mempengaruhi kecepatan putar

yang dimasukkan melalui set speed dan motor DC berputar dengan kecepatan

yang dipengaruhi oleh metode PID. Hasil pengujian tersebut ditampilkan pada

LCD seperti pada Gambar 4.4 dan 4.5 berikut :

Gambar 4.3. Tampilan 300 RPM pada LCD

Universitas Sumatera Utara

Page 81: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

69

Gambar 4.4. Tampilan 350 RPM pada LCD

Dari Gambar 4.3.dan 4.4 dapat dilihat bahwa kontroller PID

mempengaruhi kecepatan putar motor DC yang di atur oleh set speed dapat

dipengaruhi oleh kontroller PID dan semakin tinggi kecepatan rmpnya, maka

semakin kecil error yang terjadi. Seperti pada Tabel 4.1

Tabel 4.1. Hasil Pengujian Pengendalian kecepatan putar Motor DC dengan

Metode PID

NO. RPM IN RPM OUT

1. 50 97

2. 100 182

3. 150 259

4. 200 294

5. 250 323

6. 300 340

7. 350 371

8. 400 399

9. 450 457

10. 500 501

Universitas Sumatera Utara

Page 82: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

70

Dari Tabel 4.1 dapat diketahui bahwa control metode PID semakin baik jika

digunakan pada putaran rpm dengan kecepatan 300 rpm keatas karena error yang

terjadi lebih kecil.

BAB V PENUTUP

5.1 Kesimpulan

Setelah melakukan tahap perancangan dan pembuatan sistem yang

kemudian dilanjutkan dengan tahap pengujian maka dapat diambil kesimpulan

sebagai berikut :

1. Pengontrolan dengan metode PID baik digunakan pada kecepatan 300 rpm

keatas, dan error yang terjadi relative kecil. . Karena pengontrolan metode

PID mampu merespon, mengontrol dengan baik dan dapat menjaga

stabilitas system pada kecepatan putar 300 rpm keatas.

2. Pengendalian kecepatan putar motor DC dengan metode PID berbasis

mikrokontroller ATmega328 menggunakan bahasa pemrograman Code

Vision AVR sudah menunjukkan kinerja yang baik karena Kelebihan yang

dimiliki oleh CodeVision AVR antara lain : Menggunakan IDE

(intergrated Development Environment), Mampu membangkitakn kode

program secara otomatis, memiliki faslitas untuk mendownload program

langsung dari CodeVisio AVR dengan menggunakan hardware, memiliki

fasilitas debugger sehingga dapat menggunkan software compiler lain

untuk mengecek kode assembler-nya.

Universitas Sumatera Utara

Page 83: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

71

5.2.Saran

Menggunakan metode lain selain metode PID untuk pengendalian

kecepatan putar motor DC sebagai pengontrol bisa dilakukan tanpa

batasan kecepatan dan error yang ditimbulkan relative kecil.

Menggunakan bahaasa pemrograman yang lain selain CodeVisison AVR

sebagai pembanding.

Universitas Sumatera Utara

Page 84: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

72

DAFTAR PUSTAKA

Roefi’ie, Masdoeki. 1994. Mesin DC Motor. Surabaya: University Press IKIP

Surabaya.

Chairuzzaini dkk,1998.Metode Ziegler Nichols pada Sistem Kontrol Nichols pada

Perancangan kontroler PID.Bandung:ITB

Zuhal.1991.Dasar Tenaga Listrik.Bandung: ITB

Sumanto. 1994. Mesin Arus Searah. Jogjakarta: Penerbit ANDI OFFSET.

Chattopadhyay, D. 1989. Dasar Elektronika. Jakarta: UI-PRESS

Eko Putra, Agfianto. 2002. Belajar Mikrokontroler AT 89C51/52/55 (Teori dan

Aplikasi), Yogyakarta: PT Gava Media

Fitzgerald. A.E. 2010.Dasar- dasar Elektroteknik.Jilid 1. Jakarta. Erlangga.

Putra eko afgianto.2002.Teknik Antar Muka Komputer: Konsep dan Aplikasi

Yogyakarta: Graha ilmu.

Zemansky.M.W. 1962.Fisika untuk Universitas 1. Bandung. Binacipta.

Anonim3. 2011. Aplikasi Motor DC.http://gunadarma.ac.id.

Diakses pada tanggal 26 April2017.

Universitas Sumatera Utara

Page 85: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

73

http://puslit2.petra.ac.id/ejournal

Diakses pada tanggal 22 Mei 2017

http://motordcjogja.blogspot.co.id/2017/01/motor-dc.html

Diakses pada tanggal 22 Mei 2017

Universitas Sumatera Utara

Page 86: PENGENDALIAN KECEPATAN PUTAR (RPM) MOTOR DC DENGAN …

Lampiran 1

RANGKAIAN LENGKAP

Universitas Sumatera Utara