T1__BAB II Institutional Repository | Satya Wacana Christian University: Trainer Kendali Kecepatan Motor DC Menggunakan Kendali PID dan GUI Matlab T1 BAB II

BAB II
DASAR TEORI

Pada bab ini akan dibahas beberapa teori pendukung yang digunakan sebagai acuan
dalam merealisasikan sistem. Teori-teori yang digunakan dalam pembuatan skripsi ini
terdiri dari mikrokontroler Arduino Uno, Motor DC Pololu with Rotary Encoder ,driver
L298P V1.2., PID controller, dan GUI Matlab.

2.1. Arduino Uno
Arduino UNO adalah sebuah board mikrokontroler yang didasarkan pada
ATmega328, Arduino UNO mempunyai 14 pin digital input/output (6 di antaranya dapat
digunakan sebagai output PWM), 6 input analog, sebuah osilator Kristal 16 MHz, sebuah
koneksi USB, sebuah power jack,dan sebuah tombol reset. Secara lengkap spesifikasi dari
Arduino Uno adalah sebagai berikut.
1.

Microcontroller : ATmega328

2.

Operating Voltage : 5V


3.

Input Voltage (recommended) : 7-12V

4.

Input Voltage (limits) : 6-20V

5.

Digital I/O Pins : 14 (of which 6 provide PWM output)

6.

Analog Input Pins : 6

7.

DC Current per I/O Pin : 40 mA


8.

DC Current for 3.3V Pin : 50 mA

9.

Flash Memory : 32 KB (ATmega328) of which 0.5 KB used by bootloader

10. SRAM

: 2 KB

11. EEPROM : 1 KB
12. Clock Speed : 16 MHz

4

Gambar 2.1 Arduino Uno


2.2. Motor DC Pololu with Rotary Encoder
Motor DC adalah jenis motor listrik yang bekerja menggunakan sumber tegangan
DC. Motor DC memiliki komponen utama seperti kutub medan magnet, kumparan Motor
DC, commutator Motor DC. Berikut merupakan spesifikasi motor yang digunakan:
1. Gear Ratio

: 9.68:1

2. Free-run speed @ 6V

: 385rpm

3. Stall current @ 6V

: 1050mA

4. Stall torque @ 6V

: 11 oz-in


5. Free-run speed @ 12V : 770rpm
6. Free-run current @ 12V : 200mA
7. Stall Current @ 12V

: 2100mA

8. Stall torque @ 12V

: 22 oz-in (1.6 kg-cm)

9. Lead Length

: 8 in

10. Motor Type

: 2.1A stall @ 12V (MP 12V)

11. Encoders


: Yes

5

Gambar 2.2 Motor DC with Encoder
Dari spesifikasi diatas, motor DC yang digunakan membutuhkan tegangan 12V
untuk kecepatan maksimum. Sehingga dibutuhkan driver motor untuk dapat memberikan
tegangan sebesar 12V. Kontroller yang digunakan adalah arduino UNO yang memiliki
alokasi data 8 bit sehingga terdapat nilai pwm berkisar 0-255. Dan hubungan antara motor
dengan pwm adalah sebagai berikut.

Gambar 2.3 Grafik duty cycle pwm

A = Lama waktu on



=

+


��

(1)

B = Lama waktu off
Vs = Tegangan sumber
Vrms = tegangan rata-rata

Dimana Vs merupakan sumber tegangan suplai yang diberikan pada driver motor.

6

Actuator pada sistem kendali biasanya berupa motor DC. Rangkaian elektrik

ekuivalen motor DC dapat digambarkan sebagai berikut:[5]

Gambar 2.4 Rangkaian ekuivalen motor DC
Kita dapat mencari nilai torsi motor dengan menggunakan rumus berikut:
�=




(2)

=



(3)

CEMF(Control Eletromotive Force) dapat kita cari dengan menggunakan rumus berikut:

CEMF dan torsi motor memiliki satuan internasional yang sama, dimana Kt = Ke.
Sehingga kita akan menggunakan variable K untuk mewakili konstanta torsi motor dan
CEMF. Dari gambar diatas kita dapat memperoleh persamaan berdasarkan dari hukum
Newton 2 dan hukum tegangan Kirchoff.
�+ �= �



(4)

+ �� = � − �

(5)

Dengan mengaplikasikan transformasi Laplace, persamaan diatas dapat dituliskan
kedalam bentuk Laplace-nya. Sebagai berikut:
+

+�

Ө

=

(6)

=�




Ө

(7)

Kita samapi pada persamaan transfer function open-loop dengan mengeliminasi I(s) pada
persamaan diatas, yang mana kecepatan putar dianggap sebagai keluaran dan tegangan
armature sebagai masukan.



=

Ө



7


=

+�

+� + 2

(8)

Sensor rotary encoder pada motor ini bekerja sebagai sensor kecepatan putar.
Sensor ini membutuhkan tegangan dari 3.5V hingga 20V dan memiliki 48 counts per
revolution (CPR). Akurasi perhitungan sensor tersebut cukup tinggi dikarenakan terdapat

2 sensor optik yang membaca arah putar dengan sudut yang berbeda, biasanya dinamai
dengan channel A dan channel B. Berikut merupakan keluaran sinyal dari channel A dan
channel B.

Gambar 2.5 Perubahan Pulsa Channel A dan Channel B

2.3. Magnetic Brake
Magnetic brake memiliki dua jenis tipe antara lain dengan gesekan dan tanpa


gesekan. Pada trainer yang akan dibuat, magnetic brake akan berguna sebagai gangguan
kecepatan motor nantinya. Magnetic brake yang digunakan disini tanpa adanya gesekan
atau sering dikenal dengan eddy current brake. Eddy current brake sebenarnya sangatlah
canggih akan tetapi yang akan saya jelaskan prinsip kerjanya sama. Pertama kali
dikenalkan pada abad 19th oleh ahli fisika asal Perancis bernama Jean-Bernard Leon
Foucault. Eddy current brake pada dasarnya terdapat dua jenis yaitu linear dan circular.

Gambar 2.6 Eddy Current Brake Linear [7]

8

Gambar 2.7 Eddy Current Brake Circular [7]
Untuk trainer kali ini yang digunakan adalah jenis eddy current brake circular.
Keuntungan dari penggunaan jenis tersebut yaitu tidak adanya gesekan sehingga tidak
ada zat-zat kimia yang berbahaya bagi lingkungan akibat dari gesekan tersebut. eddy
current brake sudah banyak diaplikasikan terutama pada roller coaster maupun kereta

cepat seperti shinkansen dijepang. Berikut merupakan magnetic brake yang akan
digunakan sebagai gangguan.

Gambar 2.8 Alat Magnetic Brake Circular

Gambar 2.9 Posisi Piringan Terhadap Magnetic Brake

9

Untuk peletakan piringan motor DC terhadap gangguan terlihat pada Gambar 2.6.
Peletakan magnetic brake tidak seperti pada umumnya yang terlihat pada Gambar 2.4.
Hal tersebut diakibatkan dari piringan ataupun poros motor DC yang tidak berputar lurus
dan stabil sehingga menyebabkan pemasangan harus dilakukan diluar celah magnetic
brake.

2.4. Driver 2A Shield for Arduino
Untuk menggerakan motor DC kita membutuhkan driver motor sebagai pengatur
kecepatan motor. Shield arduino tersebut menggunakan IC L298P dapat menerima
inputan dari 7 – 12V DC motor dengan maksimal arus 2A. Shield arduino dapat langsung
dipasang pada arduino UNO sehingga tidak memerlukan jumper. Cara kerja driver ini
terdapat pin power yang diberi tegangan sebesar 12V. Driver ini dapat menggerakan 2
buah motor karena terdapat pin output untuk motor yaitu M1 dan M2. Untuk
menggerakan motor kita perlu memberi nilai inputan pada pin M1 yang mengindisikan
motor pada M1 bekerja. Selain arah gerak motor, driver tersebut dapat mengatur
kecepatan yang kita inginkan dengan memberi nilai pwm pada pin E1.

Gambar 2.10 Shield Motor DC for Arduino.
1. Logic Control Voltage:5V (From Arduino).
2. Motor Driven Voltage : 6.5~12v(VIN Power Supply),4.8~35V
(External Power Source).
3. 2 way motor drive
4. Logic supply current Iss:≤36mA
5. Motor Driven current Io:≤2A

10

6. Maximum power consumption:25W(T=75℃)
7. Up to 2A current each way
8. Pin 4,5,6,7 are used to drive two DC motor
9. Support PWM speed control
10. Support PLL advance speed control
11. Size: 55x55mm (2.2x2.2 in)

2.5.

Sistem Kendali Proportional Integral Derivative(PID)
Kontroler Proporsional-Integral-Derivatif (PID controller) adalah mekanisme

kontrol umpan balik yang biasa digunakan dalam sistem industri. Kontroler PID
menghitung terus nilai error sebagai perbedaan antara proses yang terukur dengan hasil
yang diinginkan. Kontroller ini meminimalkan kesalahan setiap waktunya dengan
penyesuaian variablecontrol. Dengan mv(t) sebagai output maka bentuk dari PID adalah:


=

+



��

+�



(9)

Di mana:
mv(t) = output dari pengontrol PID atau Manipulated Variable
Kp = konstanta Proporsional
Ti = konstanta Integral
Td = konstanta Derivatif
e(t) = error (selisih antara set point dengan level aktual)

Persamaan Pengontrol PID diatas dapat juga dituliskan sebagai berikut :


dengan :

=

�=

Pengendali Proporsional (P)
Kontroler

+



proporsional



×



+


=

��

memiliki

2



(10)

�

parameter,

(11)

pita

proporsional

(Proportional band) dan konstanta proporsional. Daerah kerja kontroler efektif

11

dicerminkan oleh pita proporsional, sedangkan konstanta proporsional menunjukkan
nilai faktor penguatan terhadap sinyal kesalahan, Kp [3].
Penggunaan mode kontrol proporsional harus memperhatikan hal – hal berikut :
1. Jika nilai Kpkecil, mode control proporsional hanya mampu melakukan
koreksi kesalahan yang kecil, sehingga menghasilkan respon sistem yang
lambat.
2. Jika nilai Kpdinaikkan, respon sistem menunjukkan semakin cepat mencapai
keadaan stabilnya.
3. Namun jika nilai Kp diperbesar sehingga mencapai harga yang berlebihan akan
mengakibatkan sistem bekerja tidak stabil, atau respon sistem akan berosilasi.
Kontrol P (Proportional) selalu sebanding dengan besarannya input.

Pengendali Integral (I)
Kontroller integral memiliki karakteristik seperti halnya sebuah integral.
Keluaran kontroller sangat dipengaruhi oleh perubahan yang sebanding dengan nilai
sinyal kesalahan. Keluaran kontroller ini merupakan jumlahan yang terus menerus
dari perubahan masukannya. Kalau sinyal kesalahan tidak mengalami perubahan,
keluaran akan menjaga keadaan seperti sebelum terjadinya perubahan masukan[3].

Kontroler integral mempunyai beberapa karakteristik berikut ini:
1. Keluaran kontroler butuh selang waktu tertentu, sehingga kontroler integral
cenderung memperlambat respon.
2. Ketika sinyal kesalahan berharga nol, keluaran kontroler akan bertahan pada
nilai sebelumnya.
3. Jika sinyal kesalahan tidak berharga nol, keluaran akan menunjukkan
kenaikan atau penurunan yang dipengaruhi oleh besarnya sinyal kesalahan
dan nilai Ki.
4. Konstanta integralKi berharga besar, offset akan cepat hilang. Saatnilai Kibesar
akan berakibat peningkatan osilasi dari sinyal keluaran kontroller.

12

Pegendali Diffrensial (D)
Keluaran kontroller differensial memiliki sifat seperti halnya suatu operasi
derivatif. Perubahan yang mendadak pada masukan kontroller, akan mengakibatkan

perubahan yang sangat besar dan cepat [3].
Karakteristik dari kontroller differensial adalah sebagai berikut:
1. Kontroler ini tidak dapat menghasilkan keluaran bila tidak ada perubahan atau
error sebagai sinyal kesalahan untuk masukannya.

2. Jika sinyal error berubah terhadap waktu, maka keluaran yang dihasilkan
kontroller tergantung pada nilai Td dan laju perubahan sinyal kesalahan.
3. Kontroller differensial mempunyai karakter untuk mendahului, sehingga
kontroller ini dapat menghasilkan koreksi yang signifikan sebelum
pembangkit error menjadi sangat besar. Jadi controller differensia l dapat
mengantisipasi pembangkit error, memberikan aksi yang bersifat korektif, dan
cenderung meningkatkan stabilitas sistem.

2.6. Tanggapan Sistem Settling Time, Rise Time, Maksimal OS, Steady-state error
Dalam trainer tersebut dilengkapi tampilan nilai dari Settling Time, Rise Time,
Maksimal OS, dan Steady-state error. Settling time merupakan nilai ketika motor mulai

di “RUN” hingga kondisi steady state. Dalam trainer ini, dinyatakan dalam kondisi steady
state ketika mencapai 5% dari nilai setpoint. Untuk nilai rise time, pengukuran yang

digunakan mulai dari 10% hingga 90% dari nilai setpoint.
1. Settling time(TS) merupakan nilai yang didapat ketika sistem mencapai kondisi
steady-state. Sistem akan dikatakan dalam kondisi steady-state ketika masuk

2% atau 5% dari nilai setpoint. Pada trainer ini akan digunakan nilai 5%
sebagai kondisi dimana telah masuk steady-state.
2. Rise time(TR) adalah ukuran waktu yang menyatakan keberadaan suatu
respon, Diukur ketika mencapai 5% hingga 95%, ataupun pada nilai 10%
hingga 90% dari nilai setpoint. Pada trainer yang dibuat, digunakan dari 10%
hingga 90%.
3. Maksimal OS adalah nilai tertinggi yang dicapai oleh sistem.
4. Steady-state error merupakan kondisi dimana perbedaan nilai antara setpoint
dengan nilai akhir.
13

Gambar 2.11 Tanggapan sistem yang menunjukan TR, TS, Maksimal OS,
Steady-state.

2.7. Gui Matlab R2015a
Matlab merupakan software komputasi numerik dan visualisasi data. Berbagai
fungsi tersedia untuk keprluan komputasi dibidang teknis, grafis, dan bahkan animasi.
Fungsi-fungsi dalam Matlab memungkinkan kita untuk menyelesaikan berbagai masalah
seperti aljabar linear, pemrosesan sinyal, optimasi, analisis data, desain control,
komunikasi serta aplikasi lainnya. Visualisasi data pada matlab dapat seacara 2D maupun
3D.[5]

14