pengendalian kecepatan putar (rpm) motor dc dengan …
TRANSCRIPT
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Lampiran 1
RANGKAIAN LENGKAP
Universitas Sumatera Utara