KITEKTRO: Jurnal Online Teknik Elektro
e-ISSN: 2252-7036 Vol.2 No.2 2017: 15-23
Rancang Bangun Robot Self Balancing Berbasis Mikrokontroler ATmega328P Dengan Kendali PID Andri Novandri#1, Roslidar*2, Aulia Rahman#3 #
Teknik Elektro dan Komputer, Universitas Syiah Kuala Jalan Tengku Syech Abdur Rauf No. 7, Darussalam, Banda Aceh, Indonesia
[email protected] [email protected] [email protected]
kontrol serta algoritma pemograman pada robot. Salah satunya adalah robot self balancing.. Robot self balancing (penyeimbang diri) merupakan robot mobile dengan dua buah roda yang ditempatkan pada sisi kiri dan kanannya. Robot tidak akan seimbang apabila tidak adanya controller. Robot balancing ini merupakan pengembangan dari model pendulum terbalik (inverted pendulum) yang diletakkan diatas kereta beroda. Konsep robot ini telah digunakan sebagai alat transportasi yang bernama segway [1]. Robot penyeimbang ini bekerja dengan cara membaca sudut kemiringan. Robot ini menggunakan sensor gyroscope dan sensor accelerometer sebagai input, mikrokontroler ATmega328P sebagai pengontrol, motor DC sebagai penggerak dan penambahan kendali PID sebagai metode kontrolnya. Robot self balancing telah banyak diciptakan, namun tanpa menggunakan metode kontrol PID. Namun ada beberapa yang telah menggunakan metode kontrol yang lain, seperti complementary filter, low pass filter, dan kalman filter. Pada penelitian ini, robot akan ditambahkan metode kontrol menggunakan PID. Sistem kerja robot ini dapat diaplikasikan menjadi alat transportasi seperti scooter, segway, dan lain-lain.
Abstrakβ Robot self balancing merupakan robot yang memiliki dua buah roda yang dapat berdiri dengan stabil. Kestabilan pada robot dikendalikan dengan metode kendali PID, yang merupakan sistem pengendali yang berfungsi untuk mencari nilai kestabilan sehingga respon sistem yang diperoleh dapat mencapai setpoint. Maka dari itu diperlukan sistem penyeimbang yang dapat membaca sudut kemiringan pada robot. Pembacaan sudut tersebut akan menjadi acuan putaran pada roda. Sensor yang digunakan adalah gyroscope & accelerometer. Gyroscope berfungsi untuk membaca pergerakan sudut, sedangkan accelerometer berfungsi untuk membaca percepatan objek. Kedua sensor tersebut disatukan dalam modul MPU-6050. Roda robot menggunakan motor DC dan encoder dengan motor driver berupa Monster Moto Shield. Setpoint yang ditentukan sebesar 0o terhadap gaya normal robot. Motor akan berputar saat pembacaan sudut tidak sama dengan setpoint. Motor akan melakukan putaran CW dan CCW untuk mencapai kestabilan. Besarnya kecepatan motor yang diberikan berdasarkan besarnya nilai error yang terjadi antara setpoint dan input. Nilai error tersebut dapat diperkecil dengan pengendali PID. Berdasarkan pengujian yang telah dilakukan, respon sistem yang diperoleh underdamped response. Sistem masih dianggap stabil karena nilai overshoot yang terjadi masih kecil. Hasil pengujian yang dapat disimpulkan yaitu robot dapat bertahan pada range sudut antara -3,90 sampai 3,90. Nilai π²π = ππ , π²π = ππ , dan π²π
= π, π merupakan nilai konstanta PID yang digunakan pada robot.
II. DASAR TEORI A. Fungsi Transfer Fungsi alih (transfer function) adalah perbandingan antara keluaran suatu sistem pengendalian terhadap masukannya. Fungsi transfer memiliki besaran yang diperlukan untuk menghubungkan input dan output. Tetapi tidak memberikan informasi tentang struktur fisik dari suatu sistem. Fungsi transfer dapat sama (identik) dari bentuk fisik yang berbeda. Fungsi transfer memberikan deskripsi menyeluruh mengenai karakteristik dinamik suatu sistem [2]. Fungsi transfer dapat ditulis dalam bentuk:
Kata Kunciβ Robot self balancing, Gyroscope, Accelerometer, Motor Driver, PID.
I. PENDAHULUAN Robot merupakan sebuah elektromekanik yang dapat dikendalikan secara remote ataupun menggunakan kecerdasan buatan sehingga sistem dapat bergerak. Penggunaan robot ini sangat berpengaruh dalam peningkatkan kualitas dan kuantitas produksi. Teknologi robotika juga telah menjangkau hingga sisi pendidikan. Salah satunya dengan menambah tingkat kecerdasan pada robot. Peningkatan kecerdasan meliputi penambahan sensor, metode
Vol.2 No.2 2017
ππΉ(π ) =
πΆ(π ) π
(π )
(1)
dimana: C(s) adalah keluaran sistem pengendalian. R(s) merupakan masukannya.
15
@2017 kitektro
KITEKTRO: Jurnal Online Teknik Elektro
e-ISSN: 2252-7036 Vol.2 No.2 2017: 15-23
Gambar 1 Diagram alir PID β
πΉ(π ) = β {π(π‘)} = β«0β π βπ π‘ π(π‘) ππ‘
Untuk mencari fungsi alih suatu sistem pengendalian ada beberapa hal perlu dipahami yaitu masalah diagram blok (block diagram) dan operasi operasinya serta diagram aliran sinyal (signal flow diagram).
(3)
D. Respon Sistem Respon sistem adalah perubahan perilaku output terhadap perubahan sinyal input. Respon sistem ditampilkan dalam bentuk kurva yang akan menjadi dasar untuk menganalisa karakteristik sistem selain menggunakan persamaan/model matematika. Respon sistem yang biasa digunakan adalah transient response, dimana karakterisktik respon dapat dianalisis dari bentuk kurvanya. Pada transient response terdapat tiga jenis sinyal respon berdasarkan bentuk kurva yang terdapat pada Gambar 2. 1) Underdamped Response: Memiliki karakteristik sinyal output yang melesat naik untuk mencapai input, lalu kemudian turun dari nilai yang kemudian berhenti pada kisaran nilai input. 2) Critically-damped response: Memiliki karakteristik sinyal output tidak melewati nilai input tapi butuh waktu lama untuk mencapai sinyal input. 3) Overdamped response: Memiliki karakteristik sinyal respon yang dapat mencapai nilai input dengan cepat dan tidak melewati batas input, tanpa overshoot dan settling time yang cepat.
B. Pengendali PID Sistem kendali PID merupakan sistem kendali umpan balik yang menghitung nilai kesalahan secara kontinyu sebagai beda antara setpoint yang diinginkan dan variabel proses terukur. Kontroler mencoba untuk meminimalkan nilai kesalahan setiap waktu dengan penyetelan variabel kontrol. Nilai error didapat dari hasil pengurangan antara nilai dari sensor dengan nilai setpoint. Ketiga parameter PID memiliki fungsinya masing-masing, yaitu sebagai berikut: ο· P bertanggung jawab untuk nilai kesalahan saat ini. ο· I bertanggung jawab untuk nilai kesalahan sebelumnya. ο· D bertanggung jawab untuk kemungkinan nilai kesalahan mendatang, berdasarkan rata-rata tiap waktu. Kontroler PID hanya mengandalkan variabel proses terukur, maka dari itu ketiga parameter dapat disesuaikan (tuning) untuk menghasilkan hasil respon sistem yang dibutuhkan. Hasil tuning berpengaruh terhadap overshoot, rise time, setlling time, dan steady state error [3]. Berdasarkan Gambar 1, ketiga parameter dapat dijumlahkan sehingga persamaan kendali PID didapat sebagai berikut [3]. π‘ ππ(π‘) π’(π‘) = πΎπ π(π‘) + πΎπ β«0 π(π‘) ππ‘ + πΎπ (2) ππ‘
C. Transformasi Laplace Transformasi Laplace adalah suatu teknik untuk menyederhanakan permasalahan dalam suatu sistem yang mengandung masukan dan keluaran, dengan melakukan transformasi dari suatu domain pengamatan ke domain pengamatan yang lain. Transformasi Laplace digunakan untuk penyelesain sistem waktu kontinyu. Transformasi Laplace dari tanggapan impuls sistem π(π‘) akan menghasilkan πΉ(π‘) yang dikenal sebagai transfer function atau fungsi alih sistem. Fungsi πΉ(π‘), dapat didefinisikan sebagai berikut [4].
Vol.2 No.2 2017
Gambar 2 Sinyal transient response [5]
16
@2017 kitektro
KITEKTRO: Jurnal Online Teknik Elektro
e-ISSN: 2252-7036 Vol.2 No.2 2017: 15-23
Gambar 3 Diagram proses
Besaran ini adalah analog rotasi daripada massa. Rumus untuk mencari momen inersia dari batang silinder, poros melalui ujung, dapat dilihat pada persamaan berikut [6].
E. Sistem Mekanika Robot 1) Gaya Vertikal pada Robot (Gaya Normal): Gaya vertikal merupakan gaya bekerja ke bawah yang menuju pusat bumi atau disebut gaya normal. Gaya ini dipengaruhi oleh percepatan gravitasi, dimana percepatan gravitasi bumi bernilai 9,807m/s2 atau dibulatkan menjadi 9,8m/s2 Perhitungan gaya normal dapat menggunakan Persamaan (4) sebagai berikut [6]. πΉπ£ = π. π (4)
1
πΌ = ππ 2 3
III. METODE PENELITIAN A. Prosedur Penelitian Pada awal penelitian, dilakukan perancangan desain pada sistem robot self balancing, mulai dari gambaran prinsip kerja robot, sistem wiring, sampai bentuk akhir dari robot. Proses perancangan desain, ini digambar menggunakan software Corel Draw. Setelah mendapatkan rencana rancangan, maka akan dilanjutkan dengan tahap pembuatan sistem. Sistem ini menggunakan mikrokontroler ATmega328P, yang terdapat pada board Arduino uno, sebagai pengolah data dan penyimpan program, Sensor accelerometer dan gyroscope MPU-6050 sebagai manipulated variable (MV), dan motor DC sebagai process variable (PV). Mikrokontroler ATmega328P menerima input dari sensor MPU-6050 yang berfungsi sebagai pembaca kemiringan. Sensor ini diletakkan tepat di titik berat dari robot. Tujuannya agar didapat pembacaan yang sesuai dengan keadaan aslinya. Hasil pembacaan dari MPU-6050 kemudian dikirim ke mikrokontroler ATmega328P. Output dari mikrokontroler berupa sinyal digital yang nantinya menjadi input ke Monster Moto Shield yang merupakan driver motor. Driver motor ini berfungsi sebangai pengendali putaran motor DC yang ditambahkan encoder motor agar dapat mengetahui putaran motor clockwise atau counterclockwise. Diagram proses dari robot self balancing dapat dilihat pada Gambar 3.
2) Gaya Horizontal pada Robot (Gaya Dorong): Gaya horizontal merupakan gaya yang bekerja ke samping atau disebut gaya dorong. Gaya ini yang dipengaruhi oleh percepatan dari objek. Perhitungan gaya dorong dapat menggunakan Persamaan (5) sebagai berikut [6]. πΉβ = π. π
(8)
(5)
3) Gaya Hambat (Gerak Rotasi): Gaya hambat atau hambatan fluida adalah gaya yang menghambat pergerakan sebuah benda padat melalui sebuah fluida (cairan dan gas). Gaya hambat ini merupakan gaya gesek yang terjadi terhadap fluida, sehingga menghambat pergerakan. Berbeda jenis fluida, berbeda pula koefisien hambatnya. Koefisien hambat pada udara bernilai 0,018 N s/m2. Perhitungan gaya hambat dapat dilihat pada Persamaan (6) sebagai berikut [6]. πΉπ = βπ. π (6) 4) Momen Gaya (Torsi): Momen gaya atau torsi adalah sebuah gaya yang bekerja saat benda melakukan gerak rotasi. Semakin besar torsi, maka gaya yang diperlukan semakin kecil, begitu juga sebaliknya. Pada gerak translasi, faktor penyebab terjadinya gerak adalah Gaya (F), sedangkan pada gerak rotasi, selain Gaya (F), terdapat faktor lain yang menyebabkan benda itu bergerak, yaitu Lengan Gaya atau Inersia (I). Pengertian inersia adalah kecenderungan benda fisik untuk menolak perubahan terhadap geraknya. Perhitungan torsi dapat dilihat pada Persamaan (7) sebagai berikut [6]. π = πΌ. πΌ (7)
B. Perancangan Sistem Rangkaian wiring pada rangkaian robot dapat dilihat pada Gambar 4, sedangkan untuk konfigurasi pin Arduino dapat
5) Momen Inersia: Momen inersia adalah ukuran kelembaman suatu benda untuk berotasi terhadap porosnya.
Vol.2 No.2 2017
17
@2017 kitektro
KITEKTRO: Jurnal Online Teknik Elektro
e-ISSN: 2252-7036 Vol.2 No.2 2017: 15-23
Gambar 6 Diagram blok sistem
dilihat pada Tabel 1. Selanjutnya pin output Monster Moto Shield dihubungkan ke motor.
Gambar 5 Arah putaran moto
Hasil dari putaran motor akan menjadi feedback ke modul MPU-6050. Jika pembacaan sudut belum mencapai setpoint 0o, maka motor akan berputar maju mundur untuk mencapai setpoint. Kesimpulannya adalah robot akan berdiri tegak lurus jika tanpa adanya gangguan. Namun jika diberi gangguan, robot akan berusaha menyeimbangkan diri dengan cara bergerak maju mundur secara berulang-ulang. Hal tersebut akan mengakibatkan robot kehilangan keseimbangan dan terjatuh. Nilai overshoot yang tidak bisa diredam yang menjadi kendalanya. Maka dari itu, ditambahkan metode kendali PID. Kendali PID akan mengurangi nilai overshoot dan rise time sehingga pergerakan robot lebih halus dan respon yang cepat.
Gambar 4 Rangkaian wiring sistem TABLE I KONFIGURASI PIN ARDUINO
No.
Pin Arduino
1. 2. 3.
Pin A5 Pin A4 Pin 2
4. 5. 6. 7. 8. 9.
Pin 10 Pin 3 Pin 4 3,3 V 5V Ground
Keterangan SCL MPU-6050 SDA MPU-6050 INT MPU-6050 dan OUT B Encoder Motor Kanan OUT A Encoder Motor Kanan OUT B Encoder Motor Kiri OUT A Encoder Motor Kiri VCC MPU-6050 VCC Encoder Motor Semua pin ground
C. Diagram Blok Sistem Diagram blok sistem ditunjukkan pada Gambar 6, dimana sudut sebagai input dan gaya dorong π’(π‘) sebagai output. Gambar tersebut menggunakan sistem kendali loop tertutup yang hanya mengandalkan feedback sebagai pengendali sedangkan pada Gambar 7, menunjukkan sistem yang menggunakan sistem kendali PID. Penambahan kendali PID pada sistem dapat berfungsi untuk meningkatkan stabilitas sistem dengan cara mengurangi nilai error sekecil mungkin.
Ilustrasi sistem kerja robot diperlihatkan pada Gambar 5. zJika pembacaan sudut kecil dari 0o, maka diberikan putaran counterclockwise pada motor DC. Sedangkan untuk pembacaan sudut besar dari 0o, maka diberikan putaran clockwise pada motor.
Gambar 7 Diagram blok sistem dengan kendali PID
Vol.2 No.2 2017
18
@2017 kitektro
KITEKTRO: Jurnal Online Teknik Elektro
e-ISSN: 2252-7036 Vol.2 No.2 2017: 15-23
IV. HASIL DAN PEMBAHASAN
Badan robot dibuat menggunakan bahan acrylic yaitu bahan plastik yang menyerupai kaca. Acrylic dibuat berbentuk persegi panjang dengan panjang 16 cm dan lebar 7 cm. Acrylic dibagi menjadi 2 lembar, yang mana pada lembaran dipasang board Arduino uno dan Monster Moto Shield. Pada kedua lembaran acrylic tersebut juga dipasang baterai, masingmasing 4 buah. Kedua lebar tadi kemudian disatukan dengan spacer dengan jarak antar keduanya yaitu 2 cm. Pada bagian bawahnya terdapat encoder motor yang disambung dengan badan robot dengan spacer 2 cm. Total massa robot seberat 0,8 kg.
A. Hasil Rancangan Hasil dari rancangan sistem yaitu sebuah robot self balancing yang dapat berdiri tegak dengan dua buah roda. Gambaran desain rancangan dari robot self balancing yang akan dibuat, dapat dilihat pada Gambar 8.
(a)
(b)
Gambar 8 Desain robot (a) Tampak depan, (b) Tampak samping
Robot menggunakan Arduino uno dan Monster Moto Shield yang diletakkan di posisi atas. Hal itu dilakukan karena kedua komponen itu lebih ringan, sehingga nantinya motor tidak bekerja terlalu berat untuk mempertahankan posisinya. Sumber daya yang digunakan berupa baterai 12 volt yang terdiri 8 buah dari baterai AA 1,5 volt yang dirangkai secara seri dan disusun secara paralel. Baterai merupakan komponen paling berat. Maka dari itu baterai diletakkan bagian bawah robot. Hal ini dilakukan agar titik berat robot berada lebih dekat dengan pusat gravitasi, sehingga dapat membantu robot lebih seimbang. Sensor MPU-6050 sendiri diletakkan di atas robot, agar pembacaan sensor lebih akurat. Hal ini dilakukan karena bagian atas lebih sering terjadinya pergerakan sehingga sensor lebih aktif dalam membaca pergerakan sudut. Hasil akhir dari perancangan robot dapat dilihat pada Gambar 9, sedangkan untuk keterangan komponen pada robot dapat dilihat pada Gambar 10.
Gambar 10 Keterangan komponen pada robot
B. Menghitung Fungsi Transfer Pada Gambar 11 merupakan bentuk dari robot self balancing secara matematis. Gaya diberikan kepada robot sehingga robot menjadi miring. Motor kemudian akan memberikan gaya yang sesuai sehingga robot tetap dalam keadaan tegak. Tanpa adanya gaya yang sesuai, robot akan jatuh.
Gambar 11 Robot self balancing secara matematis
(a)
(b) Berdasarkan Gambar 11, bisa perubahan posisi sebagai berikut:
Gambar 9 Hasil rancangan robot (a) Tampak depan, (b) Tampak samping
π₯πΊ = π₯ + π sin π
Vol.2 No.2 2017
19
didapat
persamaan (9)
@2017 kitektro
KITEKTRO: Jurnal Online Teknik Elektro
π¦πΊ = π cos π
e-ISSN: 2252-7036 Vol.2 No.2 2017: 15-23
π(π₯) = cos(π₯)
(10) maka
Berikut akan diturunkan model matematis dari sistem robot self balancing. Setelah didapat model matematis, kemudian ditransformasikan dalam bentuk Laplace untuk memperoleh fungsi transfer dari sistem.
π(0) = 1 π β² (0) = 0 π β²β² (0) = β1
1) Gerak Rotasi Robot: Dengan menggunakan Hukum I Newton, maka didapat persamaan berikut.
π β²β²β² (0) = 0
π β πΉπ = πΉπ£ . π sin π β πΉβ . π cos π
Berdasarkan Persamaan (12), didapat fungsi sebagai berikut.
πΌ. πΌ + π. π = πΉπ£ . π sin π β πΉβ . π cos π πΌ.
(β1) 0 0 (π β 0) + (π β 0)2 + (π β 0)3 1! 2! 3! +β― π2 π(π) = 1 β +β― 2! cos π β 1 Berdasarkan linearisasi dengan deret Maclaurin diatas, maka dapat diasumsikan bahwa nilai sin π dan cos π merupakan nilai suku pertamanya.
π2π ππ + π. = πΉπ£ . π sin π β πΉβ . π cos π 2 ππ‘ ππ‘ πΌ. πΜ + π. πΜ = πΉπ£ . π sin π β πΉβ . π cos π
π(π) = 1 +
(11)
Model sistem yang diberikan pada Persamaan (11) adalah sistem non-linier. Sistem non-linier merupakan sistem yang tidak tetap sehingga sulit untuk dikendalikan. Diperlukan linearisasi untuk mendapatkan sistem linier dari Persamaan (11). Linearisasi dilakukan dengan mengasumsikan sudut = 0o (representasi sudut terkecil) [12]. Linearisasi ini menggunakan deret Maclaurin dengan fungsi persamaan sebagai berikut: π(π) = π(0) +
π β²(0) 1!
(π β 0) + π (π) (0) π!
π β²β²(0) 2!
sin π β π cos π β 1
Persamaan (13) dapat diasumsikan pada Persamaan (11).
(π β 0)2 + β― +
(π β 0)π
πΌ. πΜ + π. πΜ = πΉπ£ . π π β πΉβ . π (14) 2) Gaya yang Bekerja pada Sumbu X: Gaya yang ada pada sumbu X merupakan gaya horizontal (gaya dorong). Berdasarkan Hukum II Newton, gaya tersebut dibuat ke dalam persamaan berikut. πΉβ = π. π π 2 π₯πΊ πΉβ = π. ππ‘ 2 π 2 (π₯ + π sin π) πΉβ = π. ππ‘ 2 π 2 (π₯ + π π) πΉβ = π. ππ‘ 2 π2π₯ + π2π π πΉβ = π. ππ‘ 2 πΉβ = π. (π₯Μ + π πΜ) (15)
(12)
Melalui Persamaan (4.4), deret fungsi sin(π₯) bisa diperoleh dengan cara sebagai berikut. π(π₯) = sin(π₯) maka π(0) = 0 πβ²(0) = 1 πβ²β²(0) = 0 π β²β²β² (0) = β1 Berdasarkan Persamaan (12), didapat fungsi sebagai berikut. π(π) = 0 +
3) Gaya yang Bekerja pada Sumbu Y:Gaya yang ada pada sumbu Y merupakan gaya vertikal (gaya normal). Gaya tersebut dibuat ke dalam persamaan berikut. πΉπ£ = π. π + π. π
1 0 (β1) (π β 0) + (π β 0)2 + (π β 0)3 1! 2! 3! +β― π3 π(π) = π β +β― 3!
πΉπ£ = π. πΉπ£ = π.
sin π β π Sedangkan untuk deret fungsi cos(π₯), bisa didapat dengan cara sebagai berikut.
Vol.2 No.2 2017
(13)
π 2 π¦πΊ + π. π ππ‘ 2
π 2 (π cos π) + π. π ππ‘ 2
πΉπ£ = 0 + π. π
20
@2017 kitektro
KITEKTRO: Jurnal Online Teknik Elektro
e-ISSN: 2252-7036 Vol.2 No.2 2017: 15-23
πΉπ£ = π. π
maka:
(16)
1 (πΌ + ππ 2 )π 2 β π. π. π + π. π π(π ) [ ]= [ π(π ) π βπ. π. π 2
4) Gaya Gerak pada Robot: Berdasarkan Hukum II Newton, dapat diperoleh persamaan sistem sebagai berikut, dimana u adalah gaya input yang diberikan pada robot. πΉβ = π’ (17)
[
5) Fungsi Transfer pada Robot: Sebelumnya mentransformasikan ke dalam bentuk Laplace, substitusikan terlebih dahulu Persamaan (15) ke Persamaan (17) sebagai berikut. π. (π₯Μ + π πΜ) = π’ π. π₯Μ + π. π πΜ = π’
1 (πΌ + ππ 2 )π 2 β π. π. π + π. π π(π ) ]= [ ] π(π ) π(π ) π βπ. π. π 2
Sehingga bisa didapat fungsi transfer dari robot self balancing sebagai berikut: π(π ) (π + ππ 2 )π 2 β π. π. π + π. π = π(π ) π
(18)
π(π ) π(π )
Lalu Persamaan (15) dan Persamaan (16) disubstitusikan ke Persamaan (14) sebagai berikut.
=
π(π )
πΌ. πΜ + π. πΜ = π. π. π π β π. π. π₯Μ β π. π 2 πΜ (πΌ + π. π
= π. π. π π β π. π. π₯Μ β π. πΜ
π(π )
(19)
(20)
(πΌ + π. π 2 )π 2 π(π ) = π. π. π π(π ) β π. π. π 2 π(π ) β π. π π(π ) (πΌ + π. π 2 )π 2 π(π ) = π. π. π π(π ) β π. π. π 2 π(π ) β π. π π(π ) (πΌ + π. π 2 )π 2 π(π ) β π. π. π π(π ) + π. π π(π ) + π. π. π 2 π(π ) = 0 (21)
π. π [ π. π. π 2
=
βπ.π.π 2 π.πΌ.π 4 +π.π.π 3 βπ2 .π.π.π 2
=
Persamaan (20) dan Persamaan (21) direpresentasikan ke dalam bentuk matriks dengan π(π ) sebagai input, sedangkan π(π ) dan π(π ) sebagai output. 2
π.πΌ.π 4 +π.π.π 3 βπ2 .π.π.π 2
(23)
(24)
C. Menghitung Fungsi Transfer Respon sistem yang akan dihitung adalah fungsi transfer dengan output rotasi. Hal itu karena robot hanya berkerja secara statis (tidak berpindah), hanya bergerak maju dan mundur untuk mencapai kestabilan, sehingga konstanta PID yang digunakan merupakan output rotasi. Berdasarkan fungsi transfer pada Persamaan (24) yang merupakan fungsi rotasi, maka dapat diperoleh nilai konstanta PID melalui perhitungan fungsi transfer sebagai berikut. Diketahui π = 0,8 ππ dan π = 0,26 π 1 πΌ = ππ 2 3
Persamaan gerak untuk robot self balancing telah didapat pada Persamaan (18) dan Persamaan (19). Persamaan tersebut lalu diubah menggunakan transformasi Laplace. Kedua persamaan tersebut ditransformasikan terhadap π₯, π, dan π’ sebagai berikut. π. π 2 π(π ) + π. π. π 2 π(π ) = π(π )
(πΌ+ππ 2 )π 2 βπ.π.π+π.π π(π ) βπ. π. π 2 = π(π ) π
πΌ. πΜ + π. πΜ = π. π. π π β π. (π₯Μ + π πΜ). π
2 )πΜ
βπ. π. π 2 π(π ) ][ ] 0 π. π 2
1 0,8 . 0,262 3 =
0,054 3
= 0,018 πππ2
2
π(π ) π. π. π π(π ) ][ ]=[ ] (πΌ + ππ 2 )π 2 β π. π. π + π. π π(π ) 0
π(π ) π. π 2 [ ]=[ π(π ) π. π. π 2
2
β1
π. π. π ] (πΌ + ππ 2 )π 2 β π. π. π + π. π
maka, π(π ) βπ. π. π 2 = π(π ) π. πΌ. π 4 + π. π. π 3 β π2 . π. π. π 2
π(π ) [ ] 0
π(π ) β0,8 . 0,26 π 2 = π(π ) 0,8 . 0,018π 4 + 0,018 β 0,82 . 9,8 . 0,26π 2
Misalkan: π = π. π 2 ((πΌ + π. π 2 )π 2 β π. π. π + π. π ) β π2 . π 2 . π 4 π = π. π
2 (πΌ. 2
2
2
2
π + π. π. π β π. π. π + π. π ) β π . π . π
π(π )
4
π(π )
π = π. πΌ. π 4 + π2 . π 2 . π 4 β π2 . π. π. π 2 + π. π. π 3 β π2 . π 2 . π 4 π = π. πΌ. π 4 + π. π. π 3 β π2 . π. π. π 2
Vol.2 No.2 2017
=
β0,208 π 2 0,0144π 4 +0,0144π 4 β1,63π 2
(25)
Kedua numerator dan denumerator diinput ke dalam Matlab untuk dilakukan tuning. Hal ini bertujuan untuk mendapatkan konstanta PID dengan respon yang stabil.
(22)
21
@2017 kitektro
KITEKTRO: Jurnal Online Teknik Elektro
e-ISSN: 2252-7036 Vol.2 No.2 2017: 15-23
Respon sistem yang dihasilkan dapat dilihat pada Gambar 12, dimana sinyal respon berkarakteristik underdamped response, walaupun hanya mengalami sedikit overshoot sebesar 20,4%. Parameter PID pada Tabel 2 menunjukkan nilai konstanta integral menjadi nilai terbesar dari ketiga konstanta, karena konstanta integral berfungsi untuk meredam overshoot. Kontanta proportional berfungsi untuk menaikkan nilai rise time dan overshoot, dan konstanta derivatif berfungsi untuk menjaga sistem agar tetap berada di setpoint. Sistem dianggap stabil karena tidak terlalu banyak osilasi dan output mencapai nilai setpoint.
dalam sekali putaran. Dibandingkan dengan roda berdiameter kecil, robot yang dapat mencapai jarak terjauh dengan satu putaran roda adalah robot dengan roda berdiameter besar.
Gambar 13 Kurva pergerakan robot tiap millisecond
2) Pengujian Nilai PID: Pengujian ini dilakukan dengan memberikan nilai πΎπ, πΎπ, dan πΎπ yang berbeda-beda untuk melihat respon pergerakan robot yang terjadi. Pada pengujian pertama, digunakan nilai πΎπ = 15, πΎπ = 90, dan πΎπ = 0,8 dengan mengupload program yang telah berisi konstanta tersebut.
Gambar 12 Sinyal respon untuk output rotasi TABLE III KONSTANTA PID UNTUK OUTPUT ROTASI
No. 1. 2. 3.
Konstanta Kp Ki Kd
Nilai 135,8 812,7 5,7
Gambar 14 Kurva pergerakan robot pada pengujian pertama
Berdasarkan Gambar 14, pergerakan robot berada pada maximum range antara -30 sampai 10. Terlihat pada kurva, bahwa robot lebih sering bergerak pada bagian negatif, hal ini terjadi karena sisi depan robot lebih berat daripada sisi belakangnya. Ini yang menyebabkan robot miring kebelakang agar sisi depan dan belakang dapat seimbang. Pada kondisi ini, robot mengalami osilasi dan frekuensi yang kecil. Pergerakan robot juga terlihat konstan pada tiap waktu. Melakukan maju dan mundur untuk mencapai setpoint. Pada saat kurva naik ke positif, berarti robot sedang melakukan pergerakan maju, sedangkan pada saat kurva turun ke nagatif, robot melakukan pergerakan mundur. Pada pengujian kedua, digunakan nilai πΎπ = 12, πΎπ = 100, dan πΎπ = 1. Maka didapat bentuk kurva pergerakan robot seperti ditunjukkan pada Gambar 20.
TABLE IIIII PERFORMA SISTEM UNTUK OUTPUT ROTASI
No. 1. 2. 3. 4.
Parameter Rise Time Settling Time Overshoot Peak
Nilai 0,0169 detik 0,19 detik 20,4% 1,2
Berdasarkan Tabel 3, nilai overshoot dapat diperkecil lagi dengan men-tuning ulang sehingga nilai konstanta yang didapat juga berubah. Walaupun overshoot yang didapat sebesar 20,4%, tetapi sistem masih dianggap stabil karena nilai tersebut tidak membesar dan sistem mencapai setpoint dalam waktu 0,19 detik. D. Menguji Kinerja Robot 1) Batasan Sudut: Pengujian ini dilakukan dengan menjalankan robot sambil memberikan gangguan untuk memperoleh batasan sudut yang bisa dicapai. Kurva pergerakan robot dapat dilihat pada Gambar 13. Berdasarkan hasil pengujian, sudut yang dapat ditahan oleh robot antara range -3,90 sampai 3,90, selebihnya robot akan kehilangan keseimbangan. Nilai tersebut dapat ditoleransi hingga 0,50, dengan syarat kecepatan rotasi robot tidak membesar. Nilai range tersebut dapat diperbesar dengan memperbesar diameter roda, dengan begitu keliling roda menjadi lebih besar sehingga jarak yang dicapai robot bisa lebih besar hanya
Vol.2 No.2 2017
Gambar 15 Kurva pergerakan robot pada pengujian kedua
Berdasarkan Gambar 15, pergerakan robot berada pada maximum range antara -4,30 sampai 3,40. Pada pengujian ini, robot sedikit melakukan pergerakan tapi memiliki osilasi yang
22
@2017 kitektro
KITEKTRO: Jurnal Online Teknik Elektro
e-ISSN: 2252-7036 Vol.2 No.2 2017: 15-23 [5]
besar. Robot juga melakukan pergerakan yang tidak konstan tiap waktu. Ini menjadikan pergerakan robot menjadi acak. Hal tersebut terjadi karena konstanta πΎπ terlalu besar sehingga nilai overshoot menjadi besar. Pada pengujian ketiga, digunakan nilai πΎπ = 135,8, πΎπ = 812,7 dan πΎπ = 5,7. Maka didapat bentuk kurva pergerakan robot yang ditunjukkan pada Gambar 16.
[6] [7] [8] [9] [10] [11]
[12]
Gambar 16 Kurva pergerakan robot pada pengujian ketiga
H. D. Laksono, "Wordpress," Maret 2011. [Online]. Available: https://herudibyolaksono.files.wordpress.com/2011/03/kestabilansistem-kendali.pdf. [Accessed 3 April 2017]. M. Abdullah, Fisika Dasar 1, Bandung: Institut Teknologi Bandung, 2016. B. Kendall, Getting Started with Arduino a Beginner's Guide, Makeuseof, 2013. "Arduino," 2016. [Online]. Available: https://www.arduino.cc/. [Accessed 19 Agustus 2016]. A. Kadir, Arduino: Panduan Mempelajari Aneka Proyek Berbasis Mikrokontroler, Andi, 2015. "Zona Elektro," 21 Oktober 2014. [Online]. Available: http://zonaelektro.net/motor-dc/. [Accessed 4 April 2017]. "Electronics Hub," 18 Februari 2016. [Online]. Available: http://www.electronicshub.org/arduino-rotary-encoder/. [Accessed 4 April 2017]. A. H. Bin Abd Malik, Sistem Pengawal Inverted Pendulum: Perbandingan Diantara Pengawal PID Dan Pengawal State Feedback, Malaka: Universiti Teknikal Malaysia Melaka, 2008.
Berdasarkan Gambar 16, pergerakan robot berada pada maximum range antara -3,90 sampai 2,60. Pada kondisi ini, frekuensi pergerakan robot lebih besar sehingga menjadikan robot lebih banyak melakukan pergerakan. Walupun keadaan robot dapat berdiri, tetapi osilasi yang terjadi terlalu besar. Hal ini akan menyebabkan robot tidak dapat berdiri lebih lama. V. KESIMPULAN Penelitian ini menggunakan sensor gyroscope dan accelerometer. Sumbu yang digunakan hanya sumbu Y, karena robot hanya berotasi pada sumbu tersebut. Peletakan sensor mempengaruhi pembacaannya. Pada penelitian ini, sensor diletakkan di bagian atas robot. Hal ini karena pada bagian atas merupakan tempat yang lebih akurat dalam pembacaan dan mudah dilakukan kalibrasi tanpa harus melepaskan sensor dari robot. Nilai tegangan yang masuk ke motor harus stabil dan tidak terlalu tinggi. Jika tegangan terlalu tinggi, maka putaran motor menjadi cepat, sehingga robot akan mengalami osilasi. Nilai tegangan yang digunakan adalah 7,5 volt. Diameter roda mempengaruhi batas range sudut. Semakin besar diameter roda, maka semakin besar pula range sudutnya. Semakin kecil diameter roda, maka semakin kecil pula range sudutnya. Berdasarkan pengujian yang telah dilakukan, robot hanya dapat bertahan pada range sudut antara -3,90 sampai 3,90 dengan toleransi 0,50, dengan syarat kecepatan rotasi robot tidak bertambah. Osilasi yang paling kecil dengan pergerakan yang konstan terjadi pada nilai πΎπ = 15, πΎπ = 90, dan πΎπ = 0,8. REFERENSI [1]
[2]
[3]
[4]
A. Laksana, I. Setiawan and S. , Balancing Robot Beroda Dua Menggunakan Metode Kendali Proporsional Integral, Semarang: Universitas Diponegoro, 2011. N. Ginanto, "Wordpress," 26 10 2011. [Online]. Available: https://novikaginanto.wordpress.com/2011/10/26/mencari-transferfunction-fungsi-alih-berdasarkan-data-output-dari-sebuah-sistem/. [Accessed 25 April 2017]. A. Dharmawan and S. Pramudita, Penerapan Sistem Kendali PID untuk Kestabilan Twin-Tiltrotor dengan Metode DCM, Yogyakarta: Universitas Gajah Mada, 2015. "Wikipedia," 25 Maret 2017. [Online]. Available: https://id.wikipedia.org/wiki/Transformasi_Laplace. [Accessed 3 April 2017].
Vol.2 No.2 2017
23
@2017 kitektro