Anda di halaman 1dari 35

KENDALI KECEPATAN MOTOR DC DENGAN METODE PID

BERBASIS ARDUINO UNO

OLEH :

1. GILANG FATHUL WILDANI (20010007)


2. MUHAMMAD KHAIRUL RIZAL (20010021)

D3 TEKNIK ELEKTRONIKA

POLITEKNIK HARAPAN BERSAMA

KOTA TEGAL

2022
BAB I PENDAHULUAN

1.1. Latar Belakang

Motor DC merupakan motor yang mudah untuk diaplikasikan. Karena


kemudahanya, motor DC sering digunakan untuk berbagai macam keperluan,
seperti peralatan industri maupun rumah tangga. Namun dalam
pengaplikasiannya kecepatan motor DC sering terjadi penurunan akibat dari
beban yang ada, sehingga kecepatanya menjadi tidak konstan.Dalam dunia
industri, pengendalian kecepatan motor DC sangat penting. Misalnya pada
industri plastik. Pada proses penggulungan plastik, kecepatan penggulungan
plastik harus disesuaikan dengan kecepatan mesin pengirim plastik dan juga
disesuaikan dengan jari-jari gulungan. Jika tidak maka hasil gulungan plastik
tidak rapi atau kusut[1].

Pada robotika pengendalian kecepatan motor DC juga sangat penting misalnya


dalam Kontes Robot Indonesia (KRI) dan Kontes Robot Cerdas Indonesia (KRCI).
Robot harus dapat bergerak cepat dan tepat, meskipun terdapat berbagai
halangan ataupun gangguan. Berdasarkan hal tersebut pergerakan robot
memerlukan pengaturan kecepatan motor yang baik agar tujuan yang diinginkan
dapat tercapai[2].

Motor DC memiliki respon yang cepat, namun masih memiliki error steady state.
Oleh karena itu dibutuhkan suatu kontroler yang tepat dan sesuai dengan plant
sistem. Salah satu kontroler yang digunakann adalah PID ( Proporsional Integral
Diferensial). PID adalah kontrol aksi yang memiliki respon cepat, sehingga
kontrol aksi ini sesuai jika digunakan untuk mengontrol kecepatan motor DC[3].

Pengendali PID merupakan pengendali yang umum digunakan dalam berbagai


macam proses industri. Popularitas pengendali PID disebabkan khususnya karena
performansinya yang baik dalam jangkauan yang lebar dari berbagai kondisi
operasi dan khususnya dalam kesederhanaan fungsi PID, yang memungkinkan
engineer untuk mengoperasikannya secara simpel dan langsung. Untuk
mengimplementasikan pengendali PID, tiga parameter harus ditentukan pada
proses yang dikendalikan yang meliputi proportional gain, integral gain, dan
derivative gain[2].

1.2. Tujuan Penelitian

Adapun tujuan penelitian pembuatan tugas akhir ini adalah :

1. Merancang kendali kecepatan motor DC menggunakan metode PID.

2. Mengimplementasikan pengendali PID untuk kendali kecepatan motor DC.

3. Merealisasikan kendali kecepatan motor dengan metode PID.

1.3. Batasan Masalah

1. Membuat dan merakit kendali kecepatan motor DC.

2. Menggunakan software Arduino IDE sebagai masukan dan tampilan grafik.

3. Menggunakan metode PID sebagai kendali kecepatan motor DC.


BAB II

LANDASAN TEORI

2.1 Tinjauan Pustaka

1. Rosalina; Qosim Ibnu; Mujirudin Mohammad. Analisis Pengaturan


Kecepatan Motor DC Menggunakan Kontrol PID (Proportional Integral
Derivative).

Motor DC merupakan motor yang saai ini banyak digunakan untuk proses
produksi dalam industri,karena mudah untuk diaplikasikan. Motor DC sering
digunakan pada pemakaian yang memerlukan rentang kecepatan yang lebar.
Selain itu, motor DC juga mempunyai kekurangan yaitu dalam hal pengaturan
kecepatan dan besarnya saat putaran awal. Oleh karena itu untuk menekan
tingginya overshot pada putaran awal motor perlu dilakukan pengaturan
sehingga kecepatan motor sesuai dengan set poin yang diinginkan dengan
risetime yang tinggi dan overshot yang lebih kecil.

PID (Proportional Integral Derivative) merupakan salah satu kontroler untuk


mengatur kecepatan motor. Kontrol PID mempunyai kelebihan – kelebihan
tertentu untuk mengatur putaran motor yaitu kontrol proporsional mempunyai
kelebihan risetime yang cepat, kontrol integral mempunyai kelebihan untuk
memperkecil error , dan kontrol derivative mempunyai kelebihan untuk meredam
overshot / undershot. Untuk itu, agar dapat menghasilkan output dengan
risetime yang tinggi dan error yang kecil kita dapat menggabungkan ketiga
kontrol tersebut.

2. Hidayati Qory. Pengaturan Kecepatan Motor DC dengan Menggunakan


Mikrokontroler Atmega 8535.

Pengaturan adalah suatu kegiatan yang sering dilakukan untuk mengendalikan


nilai suatu variable. Pengaturan dapat dilakukan dengan berbagai macam cara
dari open loop hingga close loop. Pada laporan ini menyajikan perkembangan
sistem kendali open loop untuk pengendalian kecepatan motor DC dengan
berbasis mikrokontroler Atmega 8535. Sistem yang dikendalikan adalah sebuah
motor DC dan yang dikendalikan adalah mengatur kecepatan motor DC dengan
teknik Pulse Width Modulation (PWM). Penelitian ini menggunakan PC untuk
memberikan perintah ke mikrokontroler yang berfungsi untuk menaikkan atau
menurunkan putaran motor DC, sehingga mikrokontroler mengeluarkan sinyal
Pulse Width Modulation (PWM) ke driver untuk menguatkan arus. Sinyal PWM
yang sudah dikuatkan arusnya digunakan untuk menggerakkan motor DC.

2.2 Sistem Kendali

Pada suatu sistem kendali harus ada “sesuatu” yang dikendalikan. Dalam bidang
teknik, “sesuatu” yang dimaksud adalah suatu sistem fisis yang merupakan
sekumpulan peralatan mekanik, elektrik, kimiawi dan sebagainya. Selanjutnya,
sistem fisis yang dikendalikan disebut KENDALIAN.

Besaran fisis yang dihasilkan oleh kendalian disebut OUTPUT atau lebih khusus
lagi adalah output dari plant. Bentuk output dapat dipilih sembarang sesuai
dengan keperluan yang diinginkan.

Variabel atau besaran yang memberikan suatu aksi/pengaruh terhadap


kendalian, disebut INPUT. Hal ini dapat digambarkan dalam bentuk diagram blok
Gambar 2.1, dimana output merupakan besaran variabel yang diatur dari suatu
kendalian dan digerakan oleh input tertentu. Kita dapat memilih input dengan
dimensi sembarang, dan dimensi output yang dihasilkan tidaklah selalu harus
sama dengan dimensi input, tergantung peralatan yang dipakai sebagai plant.
Jadi output tidak berhubungan langsung dengan input[12].
2.3 Kendali kecepatan motor DC

Pengendalian fluksi medan magnet atau mengatur tahanan geser medan yang
dihubungkan secara seri dengan medan shunt. Dengan menaikkan tahanan
dalam rangkaian medan akan menyebabkan fluksi medan mengecil (menurun)
sehingga kecepatan bertambah. Biasanya digunakan untuk motor shunt atau
motor kompon. Pengendalian tahanan resistansi jangkar yang dihubungkan seri
dengan jangkar. Dengan tahanan seri dinaikkan, tegangan pada jangkar motor
berkurang dan kecepatan motor turun. Biasanya digunakan untuk motor seri.
Pengendalian tegangan terminal, dengan memberikan tegangan variabel pada
rangkaian jangkar, akan menyebabkan kecepatan pada motor berubah-ubah[4].

2.4 Kontrol PID

Sistem kontrol PID (Proportional-Integral-Derivative) merupakan sistem kontrol


untuk menentukan presisi suatu sistem instrumentasi dengan karakteristik
adanya umpan balik pada sistem tersebut. Parameter kontrol PID terdiri atas
kontrol proportional, integral dan derivative. Dinama penggunaannya bisa hanya
digunakan kontrol P atau PI atau PID, tergantung respon yang kita inginkan
terhadap suatu plant.Masukan sistem (set point) adalah r(t), dengan nilai
keluaran atau output dilambangkan dengan m(t), sedangkan e(t) merupakan
nilai error yang dihasilkan sistem dengan besarnya dapat dihitung dari r(t) –
m(t). Nilai error inilah yang nantinya akan diproses oleh kontrol PID agar
mengasilkan output sesuai keinginan[4].

Beberapa terminologi dasar untuk mempermudah memahami PID Controller :


a. Error : Merupakan jumlah perangkat yang tidak melakukan sesuatu dengan
benar.
b. Proportional (P) : Istilah proporsional berbanding lurus dengan kesalahan
saat ini, pengendali proporsional juga bertindak sebagai penguat yang
mampu mengubah output dari sistem secara proporsional tanpa memberikan
efek dinamik pada kinerja pengendali tersebut.
c. Integral (I) : Istilah Integral bergantung pada kesalahan kumulatif yang
dibuat selama jangka waktu (t), pengendali integral merupakan pengendali
yang berfungsi untuk memeperbaiki respon tunak/steady state dari sistem
sehingga pengendali ini mampu memperkecil error sistem.
d. Derivative (D) : Istilah turunan tergantung laju perubahan kesalahan.
Pengendali ini merupakan suatu pengendali yang berfungsi untuk
memperbaiki respon transien dari sistem.
e. Constant (factor) : Setiap istilah P, I, D dimasukkan dalam kode dengan
mengalikannya terhadap konstanta masing-masing.
● P-faktor (Kp) : Nilai konstan yang digunakan untuk menambah atau
mengurangi dampak proporsional.
● D-faktor (Kd) : Nilai konstan yang digunakan untuk menambah atau
mengurangi dampak dari derivatif.
● I-faktor (Ki) : Nilai konstan yang digunakan untuk menambah atau
mengurangi dampak dari integral [6].
Kontroler PID merupakan kombinasi dari tiga pengendali, yaitu pengendali
Proporsional disingkat P, pengendali Integral disingkat I dan pengendali
Diferensial disingkat D. Ketiga jenis pengendali ini memberikan respon yang
berbeda-beda pada proses orde satu, proses orde dua, proses orde banyak.
Ketiga jenis pengendali ini masing-masing mempunyai kelebihan dan
kekurangan. Pengendali proporsional masih meningkat offset, hal ini disebabkan
oleh sifat dasar pengendali Proporsional yang masih tetap membentuk error
untuk menghasilkan output. Oleh karena itu untuk menghilangkan offset
diperlukan pengendali lain yang dapat menghasilkan output walaupun sudah
tidak ada input, sifat unik inilah yang hanya dimiliki oleh pengendali integral.
Tetapi kemampuan pengendali integral menghilangkan offset tidak disertai
kemampuan bereaksi secara cepat. Untuk mempercepat kemampuan bereaksi
maka diperlukan pengendali derivatif, sehingga kekurangan yang ada pada
pengendali integral dapat ditutupi. Keluaran kontroler PID merupakan jumlah
dari keluaran kontroler proporsional. Keluaran kontroler integral dan keluaran
kontroler diferensial.
Pengaruh nilai Kp, Ti, Td pada respon sistem adalah:
1. Kp yang kecil akan membuat pengendali menjadi sensitif dan cenderung
membawa loop berosilasi. Sedangkan Kp yang besar akan meningkatkan
offset yang besar juga.
2. Ti yang kecil bermanfaat untuk menghilangkan offsett, tetapi juga cenderung
membawa sistem menjadi lebih sensitif dan lebih mudah berisolasi.
Sedangkan Ti yang besar belum tentu efektif menghilangkan offset dan juga
cenderung membuat respon menjadi lambat.
3. Td yang besar akan membawa unsur D menjadi lebih menonjol sehingga
respon cenderung cepat. Sedangkan Td yang kecil kurang memberi nilai
ekstra disaat-saat awal [7].

Ada beberapa representasi fungsi transfer PID kontroler:


a. Fungsi transfer PID kontroler dalam domain s dapat dinyatakan sebagai
berikut:

Dengan Kp, Ki, Kd masing-masing adalah gain-gain proporsional, integral, dan


derivatif. Bentuk persamaan 2.1 dapat pula dituliskan dengan bentuk lain yang
ekuivalen sebagai berikut:
U(s)=Kp [1 + 1/(Tis) + Td s] (2.2)
Dengan bentuk ini dikenakan Ti=Kp/Ki, sebagai konstanta waktu integral, dan
Td=Kd/Kp sebagai konstanta waktu derivetif.
b. Bila dinyatakan dalam bentuk domain waktu t, PID kontroler dapat dituliskan
dalam bentuk seperti:

Dimana:
U(t) : sinyal kontrol
e(t) : sinyal error yang merupakan perbedaan antara set point dan output proses
(e(t)=Sp-y(t))
Kp : gain, Kp=100% / PB, (PB=Proporsional Band)
Ti : waktu integral (integral time). (det)
Td : waktu derivatif (derivative time), (det)
Jika PID kontroler direpresentasikan dalam bentuk persamaan waktu dapat
dinyatakan dalam dua cara:
1. Bentuk Posisi

Jika dinyatakan dalam bentuk persamaan beda :


2. Bentuk Kecepatan
Didapat dengan menurunkan satu kali persamaan:

2.4.1 Cara mentuning manual parameter PID

Tabel 2. 1 Tabel parameter PID

2.4.2 Metode ziegler-nichols


Salah satu mencari parameter-parameter PID adalah dengan metode
zieglernichols. Metode ini memili 2 tipe yaitu, tipe 1 open loop dan tipe 2 close
loop.
1. Tipe 1 open loop
Dalam metode ini digunakan sistem open loop. Sistem diberi input step
sehingga respon open loop terbentuk.
Dari respon open loop yang dihasilkan, parameter-paraneter ZN tipe 1 (L dan T)
dapat didapatkan. Proses desain menentukan parameter L dan T ditunjukkan
pada
Gambar 2.3.

Setelah nilai L dan T ditemukan, selanjutnya nilai parameter Kp, Ki, Kd dapat
dicari dengan menggunakan rumus-rumus parameter PID untuk metode ZN tipe
1[11]. Rumus menentukan parameter PID dapat dilihat pada Tabel 2.2 .

Tabel 2.2 Rumus parameter PID untuk ZN tipe 1

2.5 Motor DC
Motor DC merupakan salah satu penggerak utama yang banyak digunakan di
industri masa kini. Pada tahun-tahun lalu kebanyakan motor servo kecil yang
digunakan untuk tujuan kendali merupakan jenis Alternating Current (AC). Pada
kenyataannya, motor AC lebih sulit untuk dikendalikan, khususnya untuk kendali
posisi, dan karakteristiknya cukup nonlinier, yang membuat tugas analitis lebih
sulit. Sedangkan motor Direct Current (DC) lebih mahal, karena sikat dan
komutatornya, dan motor DC dengan fluks berubah hanya sesui untuk aplikasi
kendali jenis tertentu. Sebelum teknologi magnet berkembang pesat, torsi per
satuan volume atau bobot dari suatu motor DC dengan medan magnet
permanen
sangat jauh dari yang diinginkan. Sekarang, dengan perkembangan magnet
lapisan
bumi dimungkinkan untuk mendapatkan motor DC permanen torsi ke volume
yang sangat tinggi dengan biaya terjangkau. Lebih dari itu, kemajuan-kemajuan
yang dibuat pada teknologi sikat dan komutator telah membuat sikat dan
komutator dapat digunakan dengan bebas perawatan. Kemajuan yang dibuat
pada
elektronika daya telah menjadikan motor DC tanpa sikat cukup terkenal pada
sistem kendali dengan performansi tinggi. Teknik manufaktur yang maju juga
telah menghasilkan motor DC dengan rotor tanpa besi yang mempunyai inersia
yang sangat kecil, sehingga mencapai suatu rasio torsi-inersia yang sangat
tinggi,
dan sifat konstanta waktu yang kecil telah membuka aplikasi baru untuk motor
DC pada perlengkapan komputer seperti penggerak pita, printer, disk drive, dan
pengolah kata, seperti pada industri otomasi dan perkakas mesin[3]. Seperti
yang
ditunjukkan pada Gambar 2.4.

Konstruksi motor DC secara umum terdiri dari :


1. Stator
11
Stator merupakan bagian yang diam pada motor DC, di bagian stator terdapat
magnet permanen yang menghasilkan medan magnet untuk memutar rotor yang
berada diantara kedua kutub magnet, pada bagan stator ini diberi catu DC pada
kumparan medan (field windings) sehingga muncul medan magnet konstan, oleh
karena itu, stator pada mesin DC disebut sebagai penghasil medan magnet
utama[6]. Seperti yang ditunjukkan pada Gambar 2.5.

2. Rotor/jangkar motor DC
Rotor merupakan bagian yang bergerak pada motor DC, rotor terdiri dari inti besi
yang dililitkan kumparan. Kumparan pada rotor ini disebut sebagai kumparan
jangkar dimana GGL induksi dihasilkan. Rotor ini yang menggerakan roda pada
robot sehingga perputarannya dapat membantu pergerakan pada lintasan,
kecepatan putaran rotor ini tergantung dari tegangan yang masuk dan gaya
medan
magnet yang dihasilkan, semakin besar tegangan yang masuk, maka
perputarannya semakin cepat [6]. Seperti yang ditunjukkan pada Gambar 2.6.

3. Air gap/celah udara


Air gap merupakan suatu celah udara yang memisahkan antara rotor dan stator,
adanya celah udara ini penting supaya motor dapat berputar, tanpa celah udara
ini
rotor dan stator akan bersinggungan sehingga perputaran tidak dapat dihasilkan
[6].

4. Komutator
Komutator terdiri dari batangan tembaga yang dikeraskan dan diisolasi dengan
sejenis mika. Komutator berfungsi mengumpulkan arus induksi dari konduktor
jangkar dan mengkonversinya menjadi arus searah melalu brushes [6]. Seperti
yang ditunjukkan pada Gambar 2.7.

5. Brushes
Brushes pada umumya terletak pada sisi komutator untuk menyuplai listik ke
motor. Brushes pada umumnya terbuat dari karbon, logam graphite atau
campuran karbon dan grafit yang dilengkapi dengan pegas penekan dan kontak
sikatnya, karbon pada brush diusahakan memiliki konduktivitas yang tinggi untuk
mengurangi rugi-rugi listik dan koefisien gesekan yang rendah untuk mengurangi
keausan (excessive wear) [6].
2.6 Driver motor L298N
Driver motor digunakan sebagai penghubung antara mikrokontroler ke motor
DC . Driver motor ini digunakan karena arus yang keluar dari mikrokontroler
tidak mampu mencukupi kebutuhan dari motor DC. IC L298N dapat digunakan
untuk menggerakan motor DC half-bridge sebanyak empat buah atau dua motor
DC fullbridge. IC ini mempunyai 4 pin input yang bersesuaian dengan 4 pin
outputnya. Selain itu juga terdapat 2 pin enable untuk pin output 1,2 dan pin
output 3,4[6]. Seperti yang ditunjukkan pada Gambar 2.8.
2.7 LCD (Liquid Crystal Display)
Display LCD sebuah liquid crystal atau perangkat elektronik yang dapat
digunakan untuk menampilkan angka atau teks. Ada dua jenis utama layar LCD
yang dapat menampilkan numerik (digunakan dalam jam tangan, kalkulator dan
lain-lain) dan menampilkan teks alfanumerik (sering digunakan pada mesin foto
kopi dan telepon genggam).
Dalam menampilkan numerik ini kristal yang dibentuk menjadi bar, dan dalam
menampilkan alfanumerik kristal hanya diatur kedalam pola titik. Setiap kristal
memiliki sambungan listrik individu sehingga dapat dikontrol secara independen.
Ketika kristal off' (yakni tidak ada arus yang melalui kristal) cahaya kristal terlihat
sama dengan bahan latar belakangnya, sehingga kristal tidak dapat terlihat.
Namun ketika arus listrik melewati kristal, itu akan merubah bentuk dan
menyerap lebih banyak cahaya. Hal ini membuat kristal terlihat lebih gelap dari
penglihatan mata manusia sehingga bentuk titik atau bar dapat dilihat dari
perbedaan latar belakang.
Sebuah LED display (sering digunakan dalam radio jam) terdiri dari sejumlah
LED yang benar-benar mengeluarkan cahaya dan dapat dilihat dalam gelap.
Sebuah layar LCD hanya mencerminkan cahaya, sehingga tidak dapat dilihat
dalam gelap. LMB162A adalah modul LCD matrix dengan konfigurasi 16
karakter dan 2 baris dengan setiap karakternya dibentuk oleh 8 baris pixel dan 5
kolom pixel 1 baris terakhir adalah kursor [10]. Seperti yang ditunjukkan pada
Gambar 2.9.
2.8 Arduino Uno
Arduino Uno adalah arduino board yang menggunakan mikrokontroler
ATmega328. Arduino Uno memiliki 14 pin digital (6 pin dapat digunakan sebagai
output PWM), 6 input analog, sebuah 16 MHz osilator kristal, sebuah koneksi
USB, sebuah konektor sumber tegangan, sebuah header ICSP, dan sebuah
tombol
26 reset. Arduino Uno memuat segala hal yang dibutuhkan untuk mendukung
sebuah mikrokontroler. Hanya dengan menhubungkannya ke sebuah komputer
melalui USB atau memberikan tegangan DC dari baterai atau adaptor AC ke DC
sudah dapat membuanya bekerja. Arduino Uno menggunakan ATmega16U2
yang
diprogram sebagai USB-to-serial converter untuk komunikasi serial ke computer
melalui port USB. Tampak atas dari arduino uno dapat dilihat pada Gambar
2.10[8].
Adapun data teknis board Arduino UNO adalah sebagai berikut :
1. Mikrokontroler : ATmega328
2. Tegangan Operasi : 5V
3. Tegangan Input (recommended) : 7 - 12 V
4. Tegangan Input (limit) : 6-20 V
5. Pin digital I/O : 14 (6 diantaranya pin PWM)
6. Pin Analog input : 6
7. Arus DC per pin I/O : 40 mA
8. Arus DC untuk pin 3.3 V : 150 mA
9. Flash Memory : 32 KB dengan 0.5 KB digunakan untuk bootloader
10. SRAM : 2 KB
11. EEPROM : 1 KB
12. Kecepatan Pewaktuan : 16 Mhz
2.9 Arduino IDE
Arduino adalah pengendali mikro single-board yang bersifat open-source,
diturunkan dari Wiring platform, dirancang untuk memudahkan penggunaan
elektronik dalam berbagai bidang. Hardwarenya memiliki prosesor Atmel AVR
dan softwarenya memiliki bahasa pemrograman sendiri.
Arduino juga merupakan platform hardware terbuka yang ditujukan kepada siapa
saja yang ingin membuat purwarupa peralatan elektronik interaktif berdasarkan
hardware dan software yang fleksibel dan mudah digunakan. Mikrokontroler
diprogram menggunakan bahasa pemrograman arduino yang memiliki
kemiripan syntax dengan bahasa pemrograman C. Karena sifatnya yang terbuka
maka siapa saja dapat mengunduh skema hardware arduino dan membangunnya
[9].
Adapun bagian-bagian Arduino IDE sebagai berikut:
Bahasa pemrograman arduino, arduino merupakan bahasa pemrograman dengan
bahasa C. Berikut adalah penjelasan singkat mengenai karakter bahasa C.
1. Struktur
a) Void setup ( ) { }
Semua kode didalam kurung jurawal akan dijalankan hanya satu kali ketika
program arduino dijalankan untuk pertama kalinya.
b) Void loop ( ) { }
Fungsi ini akan dijalankan setelah setup (fungsi void setup) selesai. Setelah
dijalankan satu kali fungsi ini akan dijalankan lagi dan secara terus menerus
sampai catu daya dilepaskan.
2. Syntax
a) // (komentar satu baris)
Syntax ini digunakan untuk menuliskan catatan satu baris, tanda //
mengakibatkan catatan dibelakangnya tidak tereksekusi oleh program.
b) /* */ (komentar banyak baris)
Syntax ini digunakan ketika mempunyai banyak catatan yang dimasukan pada
program, dengan menuliskan catatan diantara tanda /* */.
c) { } (kurung karawal)
Mendefinisikan kapan blok program mulai dan berakhir (digunakan juga pada
fungsi dan pengulangan).
d) ; (titik koma)
Program arduino pada setiap baris kode harus diakhiri dengan tanda titik koma
(jika ada titik koma yang hilang maka program tidak akan bisa dijalankan).
3. Variabel
a) Int (integer)
Digunakan untuk menyimpan angka dalam 2 byte (16 bit). Variabel ini tidak
mempunyai angka desimal dan menyimpan nilai dari -32,768 dan 32,767.
b) Long (long)
Variabel integer tidak mencukupi lagi, maka alternatif lain meggunakan long,
variabel ini memakai 4 byte (32 bit) dari memori (RAM) dan mempunyai
rentang dari -2,147, 483, 648 dan 2,147, 483, 647.
c) Boolean (boolean)
Variabel sederhana yang digunakan untuk menyimpan nilai true (benar) atau
false (salah), sangat berguna karena hanya menggunakan 1 bit dari RAM.
d) Float (float)
Variabel ini digunakan untuk angka desimal (floating point), memakai 4 byte
(32 bit) dari RAM dan mempunyai rentang dari -3,4028235E+38 dan
3,4028235E+38.
e) Char (character)
Variabel ini mempunyai 1 karakter menggunakan kode ASCII (misalnya
‘A’=65). Hanya memakai 1 byte (8 bit) dari RAM.
4. Operasi matematika
a) =
Membuat sesuatu menjadi sama dengan nilai yang lain.
b) %
Menghasilkan sisa dari hasil pembagian suatu angka dengan angka yang lain.
c) +
Operator “+” digunakan untuk penjumlahan.
d) -
Operator “-” digunakan untuk pengurangan.
e) *
Operator “*” digunakan untuk perkalian.
f) /
Operator “/” digunakan untuk pembagian.
5. Operator pembanding
Digunakan untuk membandingkan nilai logika.
a) =
Sama dengan (misalnya: 12=10 adalah false (salah) atau 12 = 12 adalah true
(benar).
b) !=
Tidak sama dengan (misalnya: 12 != 10 adalah true (benar) atau 12 != 12
adalah false (salah).
c) <
Lebih kecil dari (misalnya: 12<10 adalah false (salah) atau 12<12 adalah false
(salah) atau 12<14 adalah true (benar).
d) >
Lebih besar dari (misalnya 12>10 adalah true (benar) atau 12>12 adalah false
(salah) atau 12>14 adalah false (salah).

6. Struktur pengaturan
Program sangat tergantung pada pengaturan apa yang akan dijalankan
berikutnya,
berikut ini adalah elemen dasar pengaturan.
a) if..else, dengan format seperti berikut ini:
if (kondisi) { }
else if (kondisi) { }
else { }
Struktur seperti diatas akan menjalankan kode yang ada di dalam kurung
kurawal
jika kondisinya true, dan jika tidak (false) maka akan diperiksa apakah kondisi
pada else if dan jika kondisinya false maka kode pada else yang akan dijalankan.
b) for, dengan format seperti berikut ini:
for (int i=0;i<#pengulangan;i++) { }
Penggunaannya apabila ingin melakukan pengulangan kode di dalam kurung
kurawal beberapa kali, ganti #pengulangan dengan jumlah pengulangan jumlah
yang diinginkan. Melakukan perhitungan ke atas dengan i++ atau ke bawah
dengan i--.
7. Digital
a) pinMode (pin, mode)
pin adalah nomor pin yang akan digunakan dari 0-19 (pin analog 0-5 adalah
14-19). Mode yang digunakan adalah input atau output.
b) digitalWrite (pin, value)
Pin pada arduino ditetapkan sebagai output, pin tersebut dapat dijadikan high
(ditarik menjadi 5 volt) atau low (diturunkan menjadi ground).
c) digitalRead (pin)
Pin pada arduino ditetapkan sebagai input, maka dapat menggunakan kode ini
untuk mendapatkan nilai pin tersebut apakah HIGH (ditarik menjadi 5 volt)
atau low (diturunkan menjadi ground).
8. Analog
a) analogWrite (pin,value)
Pin pada arduino mendukung PWM (pulse width modulation) yaitu pin
3,5,6,9,10,11, ini dapat merubah pin hidup (on) atau mati (off) dengan sangat
cepat sehingga membuatnya dapat berfungsi layaknya keluaran analog. Value
(nilai) pada format kode tersebut adalah angka antara 0 (0% duty cycle - 0V)
dan 255 (100% duty cycle - 5V).
b) analogRead (pin)
Pin analog ditetapkan sebagai input, maka dapat membaca keluaran
tegangannya, keluarannya berupa angka antara 0 (untuk 0 volts) dan 1024
(untuk 5 volts) [6].
BAB III
METODE PENELITIAN

3.1 Proses penelitian

Pada pelaksanaan penelitian, digunakan metode-metode yang bertujuan untuk


menyelesaikan masalah dalam penelitian. Adapun metode yang akan dilakukan
dalam penelitian:
1. Studi Literatur
Mengumpulkan dan mempelajari berbagai bahan literatur terkait dengan PID,
Arduino, driver motor, motor DC, LCD 2x16 , tata cara pemrograman, serta
melakukan berbagai pencarian referensi dan sumber-sumber relevan lain
sebagai acuan dalam pembuatan Tugas Akhir.
2. Perancangan
Merancang perangkat keras dan perangkat lunak, berupa prototype dengan
mempertimbangkan kebutuhan dan permasalahan. Perancangan perangkat
lunak berupa program program yang akan diatur untuk menggerakan perangkat
keras.
3. Alat dan bahan
Menuliskan komponen yang dibutuhkan pada punyusunan tugas akhir dan
penelitian besertra spesifikasi komponen.
4. Pengujian dan Analisis
Melakukan pengujian sistem secara keseluruhan baik perangkat keras maupun
perangkat lunak dengan cara mengoprasikan dan mengkomunikasikan
perangkat lunak di masing-masing bagian, kemudian menjalankan perangkat
keras sesuai dengan perintah perangkat lunak dan data dari sensor.
3.2 Perancangan Sistem
Perancangan sistem secara blok diagram yaitu untuk mempermudah dalam
menganalisa rangkaian secara keseluruhan. Adapun blok diagram secara garis
besar ditunjukkan pada Gambar 3.2.

Pada Gambar 3.2 set point direalisasikan dengan menggunakan potensiometer


untuk mengatur set point dan kecepatan motor. Selanjutnya akan diproses
arduino
dan dikirimkan ke motor DC. Pada penelitian yang dilakukan, kontroller
menggunakan arduino uno yang berfungsi memproses data yang dikirimkan oleh
feddback dan diproses agar sama seperti setpoint. Selanjutnya pergerakan motor
DC dengan pengontrol motor menggunakan driver motor L298N. Feedback pada
sistem menggunakan motor DC yang di coupling dan salah satu keluaran motor
DC yang akan bekerja sebagai feedback.
Pada Gambar 3.3 menunjukkan cara kerja alat pada kecepatan motor. Dengan
memulai dengan masukan berupa kecepatan dari potensiometer, lalu motor akan
berputar sesuai setpoin yang dimasukkan. Selanjutnya saat motor beputar,
apakah
respon mengikuti setpoin jika tidak maka akan diproses oleh PID dan masuk
kembali ke setpoint sampai respon mengikuti setpoint yang diinginkan. Jika ya
maka motor akan berputar dan respon akan sesuai dengan setpoint yang
diinginkan, maka proses selesai..
3.3 Perancangan Hardware
Perancangan hardware merupakan perencanaan hardware dan spesifikasinya
serta
pembuatan skematik diagram,perancangan hardware yang digunakan sebagai
berikut :
1. Kontroller merupakan perangkat utama yang digunakan. Pada tugas akhir
mikrokontroller yang digunakan adalah Atmega328 yang terintegrasi dengan
komponen penunjang lainnya secara board Arduino Uno dengan spesifikasi
terlihat pada Tabel 3.1.
2. Akuator
Motor DC merupakan akuator yang digunakan, spesifikasi motor DC
ditunjukan pada Tabel 3.2.

3. Driver Motor
Driver motor L298N adalah komponen elektronik yang digunakan untuk
mengontrol kecepatan serta arah putaran motor DC. Satu buah L298N bisa
dipergunakan untuk mengontrol dua buah motor DC.
4. LCD 2x16
LCD yang digunakan berukuran 2x16 berfungsi sebagai indikator
menampilkan set point yang diatur oleh potensiometer. Spesifikasi ditunjukkan
pada Tabel 3.4
3.3.1 Wiring motor DC to driver motor L298N
Perancanggan motor DC yang digunakan adalah blushehs motor DC sebagai
akuator, skematik ditunjukkan pada Gambar 3.5.
Keterangan :
Merah : positif
Hitam : negatif
3.3.2 Wiring driver motor L298N to Arduino
Perancangan driver motor yang digunakan adalah L298N yang berfungsi untuk
menggerakan motor DC, skematik ditunjukkan pada Gambar 3.6.

Keterangan :
Hijau : VCC
Biru : GND
Hitam : ENA
Abu : IN1
Oren : IN2
3.3.3 Wiring LCD i2c to Arduino
Perancangan LCD i2c yang digunakan adalah 16x2 yang berfungsi sebagai
indikator tampilan dari setpoint skematik ditunjukkan pada Gambar 3.7.

Keterangan :
Kuning : enable
Oren : read
Merah : VCC
Hitam : GND
3.3.4 Wiring rangkaian keseluruhan
Perancangan keseluruhan, menggabungkan antara perancangan arduino, motor
dc, driver motor L298n, dan LCD i2c . Skematik keseluruhan ditunjukkan pada
Gambar 3.8.
3.4 Perancangan Software
Perancangan perangkat lunak digunakan untuk mengintegrasikan seluruh
perangkat keras dan menjadi pusat kendali dari alat. Mikrokontroler perlu di
program terlebih dahulu agar dapat bekerja sesuai dengan kebutuhan. Program
yang dibuat bertujuan mempermudah pengguna dalam menggunakan alat.
Perangkat lunak dirancang menggunakan software Arduino IDE.
Aplikasi yang dibutuhkan adalah aplikasi Arduino IDE Integrated Development
Environtment) karena aplikasi ini mudah dalam membuat fungsi-fungsi logika
dasar dan mudah di mengerti karena menggunakan Bahasa C, selain software
Arduino IDE untuk memasukkan program ke dalam Arduino, dibutuhkan driver
USB, dan Arduino board nya sendiri agar program yang telah dibuat dapat
Berjalan.
1. Buka software Arduino IDE
2. Inisialisasi Program
Untuk melakukan pemrograman langkah pertama adalah memasukan perintah
yang akan dieksekusi oleh Arduino.

a. Pembuatan Project Baru


Buka software Arduino IDE kemudian akan muncul tampilan layer untuk
menuliskan Source Program.
b. Pengecekan Program
Setelah Source Program ditulis semua, langkah selanjutnya adalah proses
kompilasi untuk mengecek apakah Source Program terdapat kesalahan atau
tidak, pilih menu Verify/Compile pada Tab Sketch.
c. Penentuan Koneksi Port
Pada pemrograman ini perlu diperhatikan untuk koneksi port-nya, karena pada
pengalamatan port inilah mikrokontroler dapat berkomunikasi dengan PC atau
laptop melalui komunikasi serial.
d. Save Program
Setelah selesai menuliskan listing program klik Save as terlebih dahulu,
kemudian program perlu disesuaikan dengan board yang digunakan, pilih
menu pilih Tools – Board yang sesuai dengan board Arduino.
e. Upload Program
Tahapan terakhir memasukan program ke dalam mikrokontroler, klik menu
Upload ke dalam board Arduino
DAFTAR PUSTAKA
[1] Rosalina, Ibnu Qosim, Mohammad Mujirudin. Analisis Pengaturan Kecepatan
Motor DC Menggunakan Kontrol PID (Proportional Integral Derivative),
Jakarta Timur : Universitas Muhammadiyah Prof. DR. HAMKA, 2017.
[2] Tantra, Raga. Sistem Kendali Motor DC, Bandung : Politeknik Negeri
Bandung, 2017.
[3] Arif, Muhamad Faishol. Sistem Kontrol Kecepatan Motor DC D-6759
Berbasis Arduino Mega 2560.
[4] Tjahja Odinanto, Bambang Suprijono, Winda Andrianta Widya Natasari.
Perancangan Pengendali Kecepatan Motor Arus Searah 1 HP 220 Volt Dengan
Metode PID Berbasis Mikrokontroller, Surabaya : Universitas ITATS, 2015.
[5] I Made Mareta Mahardiana, Erwin Susanto, Agung Surya Wibowo. Desain
Dan Implementasi Sistem Kontrol Sudut Kemiringan Plat Dengan
Menggunakan Metode PI, Yogyakarta : Universitas PGRI Yogyakarta.
[6] Fatoni, Rinal Achma, Sistem Navigasi Robot Beroda Berbasis Teknik Kendali
PID Menggunakan Mikrokontroller Arduino Mega2560. Cimahi : UNJANI,
2017.
[7] Lestari, Isa, Optimasi Kontrol PID Pneumatik Control Valve Pada High
Pressure Heater PLTU Pelabuhan Ratu Berbasis DCS MAXDNA. Cimahi :
UNJANI, 2016.
[8] Utomo, Joko, Rancang Bangun Pengendali Dan Monitoring. Bandar
Lampung :FAKULTAS TEKNIK UNIVERSITAS LAMPUNG, 2016.

Anda mungkin juga menyukai