# Optimasi Kendali PID pada Palang Parkir Menggunakan Motor DC
## Nama Kelompok
* Danny Hamtar Pangestu / 1103210037
* Arya Fridayana Gastiadi / 1103210082
* Afdzuliah Nuranti / 1103210050
* Andhika Yudha Pradana / 1103210063
## Daftar Isi
[TOC]
**[CLO 4]** Memiliki kemampuan untuk menganalisis sistem kendali loop tertutup pada kondisi transien dan steady state untuk melihat performasinya.
**[CLO 5]** Memiliki kemampuan merancang sistem kendali motor DC.
## Pendahuluan
Parkir adalah suatu kegiatan lalu lintas berhenti yang ditinggal pengemudi saat mencapai suatu tempat tujuan dengan jangka waktu tertentu. Perpakiran harus dikelola dengan baik, jika tidak dikhawatirkan terjadi kemacetan dan kedisiplinan antar kendaraan yang ada di sekitar area parkir tidak dapat dihindari. Maka dari itu sistem palang parkir diperlukan untuk mengatasi hal tersebut. Fungsi dari palang pintu parkir atau palang parkir ini adalah sebagai tanda diperbolehkannya sebuah kendaraan memasuki atau keluar dari lahan parkir, setelah melalui pos penjaga parkir.
Palang pintu parkir biasa dioperasikan dengan mempergunakan listrik searah DC atau AC, tergantung dari kebutuhan dan tingkat harga yang disesuaikan dengan kondisi lapangan, Kecepatan palang pintu parkir membuka, adalah salah satu point. Pintu akan terbuka otomatis ketika motion sensor mendeteksi adanya gerakan mendekati palang pintu. Sehingga diharapkan dengan pengaplikasian sistem otomatis palang pintu tersebut, maka dapat memberikan kemudahan kepada pengguna pintu, kendaraan yang ingin melewati pintu akan diketahui oleh petugas dan mengurangi antrian kendaraan untuk memasuki lokasi perusahaan.
Namun sistem palang parkir yang sering digunakan dapat mengakibatkan respon terhadap motor penggerak menjadi kurang optimal. Untuk mengatasi hal tersebut diperlukan optimasi sistem palang parkir terhadap kontrol penggerak. Optimasi pada palang pintu parkir ini dilakukan dengan menambahkan teknik kontrol PID pada motor penggeraknya yaitu motor DC.
Tujuan dari projek implementasi PID dalam pembuatan sistem palang parkir otomatis ini yaitu, untuk memberikan sebuah inovasi terhadap sistem yang sudah ada menjadi lebih stabil. Lalu, memastikan pemahaman yang mendalam terhadap prinsip dasar PID, yang mencakup komponen-komponen utamanya, yaitu Proporsional (P), Integral(I), dan Derivatif(D). Projek ini juga bertujuan untuk mengobservasi respons sistem palang parkir otomatis terhadap perubahan setpoint atau adanya gangguan eksternal.
## Rancangan Sistem Kendali Loop Tertutup PID
**Dasar Teori**
**A. Kontrol PID**
PID (Proportional Integral Derivative) merupakan teknik kontrol yang sering digunakan dalam rekayasa kontrol, dimana kendali PID ini terdiri dari tiga macam kendali yang dikombinasikan antara lain (Proportional, Integral dan Derivative) dimana parameter tersebut dapat menentukan kualitas respon dari suatu kontrol. Pada penelitian sebelumnya penggunaan teknik kontrol PID banyak diterapkan dengan berbagai metode salah satunya yaitu perancangan sistem palang parkir otomatis yang menghasilkan kendali PID sesuai spesifikasi yang diinginkan dan juga stabil.

Kontrol PID dapat bekerja dengan mekanisme umpan balik untuk mengoreksi kesalahan antara nilai kesalahan suatu pengukuran dengan nilai penyimpangannya. Pada umumnya sistem kontrol PID dapat digunakan secara bersama atau berpisah karena setiap kontrol memiliki keunggulan tersendiri diantaranya kontrol proporsional dapat mempercepat rise time, kontrol integral dapat memperkecil kesalahan (error) serta kontrol derivatif dapat mengurangi overshoot atau undershoot.
* 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).

* Kontrol Integral
Pengontrol Integral berfungsi menghasilkan respon sistem yang memiliki kesalahan keadaan mantap nol (Error Steady State = 0 ). 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 sistem.

* Kontrol Derivative
Kontrol derivative merupakan suatu kontrol yang memiliki sifat seperti diferensial sehingga kontrol ini dapat memprediksi nilai error yang akan terjadi berdasarkan nilai error sebelumnya sehingga menghasilkan nilai output yang stabil. Dengan sifat 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

**B. Motor DC**
Motor DC atau biasa disebut dengan motor listrik arus searah adalah suatu perangkat yang bisa mengubah energi listrik searah DC (direct current) menjadi energi kinetik. Motor DC ini membutuhkan arus listrik searah pada kumparan medan untuk dikonversikan menjadi energi kinetik.
**C. Arduino Uno R3**
Arduino Uno merupakan salah satu papan kontroler mikro (mikrokontroler) berbasis datasheet Atmega328. Papan kontroler ini bersifat sumber terbuka yang paling populer karena dirancang untuk memudahkan pengendalian elektronik di segala bidang.
**D. Driver Motor L298N**
Driver motor L298N berfungsi sebagai pengendali yang memberikan umpan balik dan untuk menentukan presisi pada motor DC. IC L298N Merupakan IC dengan tipe H-bridge yang memiliki kemampuan untuk mengatur beban-beban induktif, seperti relay, solenoid, motor DC, dan motor stepper. Salah satu kelebihan dari modul driver motor L298N adalah kemampuannya dalam mengendalikan motor dengan presisi sehingga memudahkan dalam pengendalian motor.
**E. Potensiometer**
Potensiometer memiliki fungsi sebagai resistor variabel yang dapat mengatur resistansi atau tahanan dalam sebuah rangkaian. Potensiometer biasanya terdiri dari tiga terminal, yaitu terminal input, terminal output, dan terminal sentuh atau penggeser. Poros pada potensiometer dapat diputar atau digeser untuk mengubah posisi terminal sentuh, yang pada gilirannya mengubah nilai resistansi yang diberikan oleh potensiometer.Potensiometer juga berfungsi untuk mengendalikan kecepatan motor DC sesuai dengan kebutuhan.
**Gambar Close Loop System**

**Sensor dan Aktuator**
* **Sensor (Encoder)**
Encoder adalah perangkat atau sistem yang digunakan untuk mengonversi suatu input atau sinyal menjadi format yang dapat diproses oleh sistem lain. Dalam konteks sensor, encoder berfungsi sebagai perangkat yang mengubah informasi fisik atau perubahan dalam lingkungan menjadi sinyal yang dapat diukur atau dipahami oleh sistem pengolahan data atau kontrol.
* **Aktuator (Motor DC dan L298N Motor Driver)**
Motor DC sebagai aktuator utama, dikendalikan oleh L298N Motor Driver. Kontroler PID mengirimkan sinyal kontrol ke L298N Motor Driver untuk mengatur kecepatan dan arah putaran motor. L298 adalah IC yang dapat digunakan sebagai driver motor DC. IC ini menggunakan prinsip kerja H-Bridge. Tiap H-Bridge dikontrol menggunakan level tegangan TTL yang berasal dari output mikrokontroler.
**Hubungan Antar Komponen**
* Encoder terhubung ke poros motor DC untuk mendeteksi putaran atau perubahan posisi. Data dari encoder dikirim ke mikrokontroler sebagai umpan balik. Mikrokontroler kemudian menggunakan informasi dari encoder untuk mengatur motor DC melalui motor driver L298N. Dengan demikian, sistem dapat mengendalikan palang parkir berdasarkan posisi yang diinginkan atau mengatasi gangguan eksternal.
## Mekanik Motor DC
**A. Fungsi Transfer Motor DC**
* Motor DC adalah salah satu jenis motor listrik yang umum digunakan dalam sistem otomatisasi sepeti pada palang parkir otomatis. Fungsi transfer motor DC menggambarkan hubungan matematis antara input dan output dari motor DC dalam domain Laplace. Pada dasarnya, motor DC mengonversi energi listrik menjadi energi mekanis melalui perputaran rotor.
* Parameter fungsi transfer melibatkan konstanta motor seperti torsi konstan k, hambatan internal R , konstanta waktu L, dan momen inersia J.
* Fungsi transfer dapat direpresentasikan sebagai berikut:
G(s) = w(s)/V(s), yang dimana G merupakan Fungsi Transfer, W(s) merupakan kecepatan output, dan V(s) merupakan tegangan input
**B. Mekanisme Daya Motor DC**
* Motor DC memiliki dua komponen utama: rotor (kumparan) dan stator (medan magnet). Rotor adalah bagian yang berputar dan terdiri dari kumparan yang membawa arus listrik. Stator adalah bagian yang diam dan menyediakan medan magnet yang melibatkan magnet permanen atau elektromagnet.
* Ketika tegangan diberikan pada kumparan motor DC, arus listrik mengalir melalui kumparan tersebut. Arus ini menciptakan medan magnet pada kumparan, yang berinteraksi dengan medan magnet pada stator.
* Hukum Lorentz menyatakan bahwa sebuah konduktor yang membawa arus listrik yang ditempatkan dalam medan magnet akan mengalami gaya. Dalam motor DC, gaya ini menyebabkan rotor (kumparan) untuk berputar.
* Interaksi antara medan magnet pada rotor dan stator menyebabkan rotor untuk berputar. Ketika rotor berputar, energi listrik yang diberikan pada motor diubah menjadi energi mekanis yang memutar poros motor.
**C. Bentuk Mekanik Type**
* Pilihan mekanisme sangat tergantung pada desain spesifik sistem palang parkir, kebutuhan kecepatan, dan torsi yang diperlukan untuk mengatasi hambatan gerakan pintu.
* Mekanisme harus dirancang sedemikian rupa sehingga dapat mentransmisikan daya secara efisien dari motor DC ke palang parkir, serta memberikan kestabilan dan ketahanan yang diperlukan terhadap kondisi lingkungan seperti beban angin atau tahanan gesek.
## Analisis Transient Respon
**Analisis**
Pada analisis transient respon ini, digunakan aplikasi serial plot untuk memvisualisasikan perubahan variabel-variabel kunci dengan selang waktu. Analisis ini juga bertujuan untuk memahami bagaimana sistem merespons terhadap perubahan set point. Respon sistem ini berhasil mendapatkan titik yang mendekati nilai set point ketika sistem sudah diberikan kontrol PID.
```
#include <PinChangeInt.h>
#include <PID_v1.h>
#define encodPinA1 2 // Quadrature encoder A pin
#define encodPinB1 8 // Quadrature encoder B pin
#define M1 9 // PWM outputs to L298N H-Bridge motor driver module
#define M2 10
double kp = 4.41, ki = 3.5, kd = 1.3; // modify for optimal performance
double input = 0, output = 0, setpoint = 0;
long temp;
volatile long encoderPos = 0;
PID myPID(&input, &output, &setpoint, kp, ki, kd, DIRECT); // if motor will only run at full speed try 'REVERSE' instead of 'DIRECT'
void setup() {
pinMode(encodPinA1, INPUT_PULLUP); // quadrature encoder input A
pinMode(encodPinB1, INPUT_PULLUP); // quadrature encoder input B
attachInterrupt(0, encoder, FALLING); // update encoder position
TCCR1B = TCCR1B & 0b11111000 | 1; // set 31KHz PWM to prevent motor noise
myPID.SetMode(AUTOMATIC);
myPID.SetSampleTime(1);
myPID.SetOutputLimits(-255, 255);
Serial.begin(115200); // for debugging
}
void loop() {
setpoint = analogRead(0) * 5; // modify to fit motor and encoder characteristics, potmeter connected to A0
input = encoderPos; // data from encoder
myPID.Compute(); // calculate new output
pwmOut(output); // drive L298N H-Bridge module
// Menampilkan hasil kontrol PID pada Serial Plotter
Serial.print(input); Serial.print(","); // Nilai posisi motor
Serial.print(setpoint); Serial.print(","); // Nilai setpoint
Serial.println(output); // Nilai output kontrol PID
}
void pwmOut(int out) { // to H-Bridge board
if (out > 0) {
analogWrite(M1, out); // drive motor CW
analogWrite(M2, 0);
} else {
analogWrite(M1, 0);
analogWrite(M2, abs(out)); // drive motor CCW
}
}
void encoder() { // pulse and direction, direct port reading to save cycles
if (PINB & 0b00000001) encoderPos++; // if(digitalRead(encodPinB1)==HIGH) count ++;
else encoderPos--; // if(digitalRead(encodPinB1)==LOW) count --;
}
```
Pengukuran Ulang setelah dilakukan tuning PID

## Analisis Mekanika
### Pengukuran Mekanika Gear
Pada rangkaian respon sistem palang parkir ini, penggerak beban dilakukan oleh dinamo motor DC *gearbox* GA25-370. Pada *gearbox* ini terdapat serangkaian *gear* dengan pada input *gear* input memiliki 8 gigi, yang dimana *gear* ini dapat berputar dengan kecepatan 188RPM dengan tegangan minimal 12 V.
Pengaruh gigi pada *gear* dalam respon sistem palang parkir ini, berdampak pada kecepatan putaran motor DC yang nantinya akan menggerakan beban yaitu palang parkir. Kecepatan pada motor DC ini dapat di kontrol dengan PID sehingga dapat berputar sesuai dengan kebutuhan
### Analisis Kecepatan Motor Terhadap Beban
**Parameter yang Memengaruhi Kecepatan Motor DC**
* **Tegangan**
Tegangan yang diberikan pada motor DC akan mempengaruhi kecepatannya. Pada umumnya, peningkatan tegangan dapat meningkatkan kecepatan motor DC, asalkan tetap berada dalam batas operasional yang aman.
* **Arus**
Arus yang mengalir melalui motor DC dapat mempengaruhi kecepatan. Semakin besar arus, semakin besar torsi yang dihasilkan. Pada respon sistem ini, motor DC yang digunakan memerlukan arus minimal 1A untuk dapat bergerak.
* **Beban**
Beban yang diterapkan pada motor DC dapat mempengaruhi kecepatannya. Pada percobaan respon sistem ini, beban yang digunakan relatif kecil dalam segi bobot sehingga motor DC masih dapat berputar dengan maksimal
* **Algoritma Kontrol PID**
Algoritma kontrol PID (Proporsional-Integral-Derivatif) pada kontroler motor DC dapat mempengaruhi respon dan kecepatan. Penyesuaian parameter PID dapat digunakan untuk meningkatkan presisi dan kecepatan motor DC.
## Hasil dan Saran
**Hasil**
* Kontrol PID berhasil diterapkan pada palang parkir ini dengan hasil pengujian mendekati stabil.
* Dengan melakukan 2 kali pengujian dengan PID dan tanpa PID, hasil respon sistem berupa *rise time*, *settling time*, *overshot*, dan *error steady state*.
* Keluaran tanggapan sensor *encoder* motor dipengaruhi oleh parameter PID yang diberikan. Nilai keluaran pembacaan sensor sudah dalam bentuk angka.
**Saran**
* Melanjutkan pemantauan sistem, memperbarui parameter PID sesuai dengan perubahan, dan mengintegrasikan sistem pemantauan jarak jauh untuk meningkatkan efisiensi dan respon sistem
* Sistem ini masih belum memiliki sensor jarak, diharapkan inovasi atau pembaruan terhadap sistem ini dengan menambahkan sensor jarak untuk membuat sistem berjalan otomatis
## Referensi
Rohman, T., & Aribowo, W. (2023). Perancangan Sistem Pengendali Kecepatan Motor DC Menggunakan Kontroler Proporsional Integral Derivative pada Palang Pintu Parkir. JURNAL TEKNIK ELEKTRO, 12(2), 48-54.
Richardo, T. R. (2022). Rancang Bangun Pengendali Motor Palang Pintu Parkir Otomatis. Digital Transformation Technology, 2(1), 1-3.
I. Husnaini, “Sistem Kontrol Optimal Pada Kontrol Posisi Motor Dc,” no. March, 2019, doi:
10.31227/osf.io/8c3ts.
## Link Youtube
Link Youtube :
https://youtu.be/kYXFutQQEsE?feature=shared
## Rubrik Penilaian
| Penilaian Indikator Ketercapaian CLO | Bobot |
| -------- | -------- |
| Mahasiswa mampu mengevaluasi dan optimasi sistem kendali PID (soal CLO 4). | 50 % |
| Mahasiswa mampu mendemonstrasikan sistem mekanisme transfer daya sederhana menggunakan gear dan motor DC (soal CLO 5) | 50% |
## Kriteria Nilai
| 65-80 | 50-65 | 80-100 | 40-50 | 0-40 |
| ----- | ----- | ------ | ----- | ---- |
| CLO 4 | | | | |
|Mampu menjelaskan konsep kendali umpan balik, merancang sistem kendali PID, hingga mengevaluasi dan optimasi sistem kendali PID. |Mampu menjelaskan konsep kendali umpan balik, merancang, dan mengevaluasi sistem kendali PID. |Mampu menjelaskan konsep kendali umpan balik dan merancang sistem kendali PID. |Mampu menjelaskan konsep kendali umpan balik dan PID, tetapi kesulitan dalam merancang dan mengevaluasi sistem kendali PID. |Kesulitan dalam menjelaskan konsep kendali umpan balik dan PID. |
| CLO 5 | | | | |
|Mampu mendapatkan fungsi transfer sistem dari mekanisme transfer daya, menganalisis hubungan antara torsi dan kecepatan motor, menjelaskan cara kerja dan karakteristik motor listrik, serta mendemonstrasikan sistem mekanisme transfer daya sederhana menggunakan gear dan motor DC. |Mampu mendapatkan fungsi transfer sistem dari mekanisme transfer daya, menganalisis hubungan antara torsi dan kecepatan motor, menjelaskan cara kerja dan karakteristik motor listrik, tetapi kesulitan dalam mendemonstrasikan sistem mekanisme transfer daya sederhana menggunakan gear dan motor DC. |Mampu mendapatkan fungsi transfer sistem dari mekanisme transfer daya, menganalisis hubungan antara torsi dan kecepatan motor, tetapi kesulitan dalam menjelaskan cara kerja dan karakteristik motor listrik. |Mampu mendapatkan fungsi transfer sistem dari mekanisme transfer daya dan menganalisis hubungan antara torsi dan kecepatan motor. |Tidak dapat menentukan satu langkah pun untuk menjelaskan mengenai mekanisme transfer daya. |