# Template Laporan Proyek Sistem Kendali PID pada Motor Listrik (Tugas Besar CLO 2 dan CLO 3)
**Mata Kuliah:** Sistem Kendali dan Mekanika (ACK3AB3)
**Dosen:** FCB
**Semester/Tahun:** Ganjil 2025/2026
**Kelas:** TK-47-03
---
## Identitas Asesmen & Capaian Pembelajaran (OBE)
**Bentuk Asesmen:** Tugas Besar CLO2 dan Tugas Besar CLO3
**Metode:** *Project-Based Learning (PjBL)*
**Level 3 AI [*Editing*]**: AI hanya untuk perbaikan tulisan, tanpa konten baru. Lampirkan *prompt* dan hasil lengkap *generate* AI jika menggunakan AI, serta nama *tools* AI yang digunakan.
### Pemetaan *Program Learning Outcome* (CPL - Capaian Pembelajaran Lulusan) dan *Course Learning Outcome* (CPMK - Capaian Pembelajaran Mata Kuliah)
Laporan Tugas Besar ini mengukur ketercapaian dua PLO utama sesuai RPS untuk memvalidasi ketercapaian dua CLO:
* **[PLO-3]** Kemampuan menyusun rancangan komponen, sistem dan/atau proses pada bidang teknik komputer untuk memenuhi kebutuhan yang diharapkan di dalam batasan-batasan realistis.
* *Fokus:* Perancangan parameter kendali (*tuning*) dan analisis kestabilan sistem.
* **[CLO-2]:** Mampu menyusun rancangan dan menganalisis sistem kendali loop tertutup dari kondisi transien hingga steady state untuk mencapai kestabilan.
* *(Dinilai dari Laporan Bab 1, 2, dan 4: Desain, Pemodelan, dan Analisis Grafik)*
* **[PLO-6]** Kemampuan menerapkan metode, keterampilan dan piranti teknik modern yang diperlukan untuk praktek keteknikan dalam bidang teknik komputer.
* *Fokus:* Implementasi algoritma pada mikrokontroler dan penggunaan sensor/driver motor.
* **[CLO-3]:** Mampu menentukan dan menerapkan penggunaan kendali proporsional, integral, atau derivatif pada motor listrik untuk mencapai kestabilan.
* *(Dinilai dari Laporan Bab 3 dan Demonstrasi Alat: Implementasi Hardware & Tuning PID)*
---
**IDENTITAS KELOMPOK:**
* **Nama Kelompok:** Kelompok 2 - Automatic Gate
* **Fakhri Fadhlurrahman (101032300103)**
* **Gilang Surya Persada (101032300070)**
* **Cheyza Amanda Syafira (101032300081)**
* **Monica Febyana (101032330068)**
* **Silva Dwi Aulia (101032300112)**
---
## Daftar Isi
1. Pendahuluan
2. Desain dan Pemodelan Sistem
3. Implementasi dan Pengujian
4. Evaluasi dan Analisis Kinerja
5. Kesimpulan dan Saran
6. Lampiran/Dokumentasi
---
## 1. Pendahuluan
### 1.1 Latar Belakang
Perkembangan teknologi otomasi menuntut sistem mekanik yang mampu bekerja secara presisi, stabil, dan andal, khususnya pada aplikasi yang melibatkan penggerak motor. Motor DC masih banyak digunakan dalam berbagai sistem mekanik karena konstruksinya sederhana dan mudah dikendalikan, namun motor jenis ini memiliki kelemahan berupa sensitivitas terhadap perubahan beban, gesekan, dan gangguan eksternal. Tanpa pengendalian yang tepat, motor DC dapat menghasilkan pergerakan yang tidak stabil, kecepatan yang tidak konsisten, serta ketidakakuratan posisi. Permasalahan tersebut menjadi krusial pada aplikasi gerbang otomatis, di mana pergerakan buka dan tutup harus berlangsung dengan kecepatan yang terkendali dan berhenti pada posisi yang tepat. Gerbang yang bergerak terlalu cepat, berhenti tidak tepat, atau berosilasi saat mendekati posisi akhir dapat menurunkan tingkat keamanan, mempercepat keausan mekanik, dan berpotensi menimbulkan kerusakan. Oleh karena itu, pengendalian motor yang presisi dan responsif diperlukan agar sistem gerbang otomatis dapat beroperasi secara aman dan efisien.
Salah satu pendekatan yang umum digunakan untuk mengatasi permasalahan tersebut adalah penerapan sistem kendali tertutup dengan umpan balik. Dengan memanfaatkan sensor rotary encoder sebagai sumber informasi posisi dan kecepatan, sistem dapat memantau kondisi aktual gerbang secara real-time. Informasi ini kemudian digunakan oleh pengendali untuk menyesuaikan kinerja motor secara otomatis. Pengendali Proportional–Integral–Derivative (PID) dipilih karena kemampuannya dalam mempercepat respon sistem, mengurangi kesalahan posisi, serta menekan overshoot dan osilasi.
Dalam tugas besar ini, dirancang sebuah sistem gerbang otomatis berbasis Arduino yang menggunakan motor DC, mekanisme gear rack and pinion, dan sensor rotary encoder KY-040. Sistem ini tidak hanya merepresentasikan aplikasi gerbang otomatis dalam kehidupan sehari-hari, tetapi juga mencerminkan prinsip pengendalian motor yang banyak diterapkan pada sistem konveyor industri, aktuator linier, robot bergerak, dan sistem otomasi lainnya. Dengan demikian, perancangan ini diharapkan dapat memberikan pemahaman nyata mengenai pentingnya pengendalian motor berbasis PID pada sistem mekanik modern.
### 1.2 Tujuan
1. Merancang sistem kendali tertutup (Closed Loop) pada sistem gerbang otomatis berbasis mikrokontroler Arduino dengan menggunakan metode PID (Proportional–Integral–Derivative), di mana motor DC berperan sebagai aktuator, mekanisme gear rack and pinion sebagai pengubah gerak rotasi menjadi gerak linear, serta sensor rotary encoder KY-040 sebagai sistem umpan balik posisi dan kecepatan.
2. Menganalisis respon transien sistem gerbang otomatis yang dikendalikan menggunakan PID, meliputi parameter rise time, settling time, dan overshoot, untuk mengevaluasi kestabilan, kecepatan respons, serta ketepatan posisi gerbang dalam proses membuka dan menutup.
3. Menguji ketahanan (robustness) sistem kendali terhadap gangguan eksternal dan perubahan beban mekanik dengan membandingkan kinerja sistem sebelum dan sesudah penerapan kendali PID, guna memastikan sistem mampu beroperasi secara stabil, presisi, dan konsisten dalam berbagai kondisi operasi.
### 1.3 Spesifikasi Desain (Target *Performance*)
*(Isi target ini SEBELUM melakukan tuning. Ini adalah acuan keberhasilan proyek).*
**SEMENTARA**
| Parameter Kinerja | Simbol | Target Nilai | Alasan/Justifikasi (Mengapa memilih angka ini?) |
| :--- | :---: | :--- | :--- |
| **Settling Time** | $T_s$ | < 5 detik | Agar gerbang dapat mencapai posisi akhir dalam waktu yang relatif cepat tanpa menimbulkan gerakan yang terlalu agresif. Waktu settling yang terlalu lama akan mengurangi kenyamanan pengguna, sedangkan waktu yang terlalu cepat berisiko menimbulkan osilasi pada sistem mekanik. |
| **Max. Overshoot** | $M_p$ | < 5 % | Overshoot besar dapat menyebabkan gerbang menabrak batas mekanik (stopper) dan mempercepat keausan gear rack and pinion. Batas 2% menjaga keamanan mekanik |
| **Steady State Error** | $e_{ss}$ | ≤ 2 % | Agar posisi akhir gerbang mendekati posisi yang diinginkan. Adanya keterbatasan resolusi encoder KY-040 dan pengaruh backlash mekanik, target error nol sulit dicapai, sehingga nilai 2% dianggap realistis. |
| **Kriteria Kestabilan** | - | 2% | Karena cukup ketat untuk memastikan kestabilan sistem, namun masih memungkinkan mengingat karakteristik sistem mekanik dan sensor yang digunakan. |
---
## 2. Desain dan Pemodelan Sistem
### 2.1 Diagram Blok Sistem
Gambar 2.1 menunjukkan blok diagram sistem gerbang otomatis berbasis sistem kendali tertutup menggunakan mikrokontroler Arduino. Sistem diawali dengan pemberian set point kondisi terbuka sebesar 0% atau tertutup sebesar 100%, yang kemudian dibandingkan dengan posisi aktual gerbang pada titik penjumlah (summing junction) untuk menghasilkan sinyal error. Sinyal error tersebut diproses oleh controller, yaitu Arduino yang menjalankan algoritma kendali PID, untuk menghasilkan sinyal kendali berupa PWM. Sinyal ini diteruskan ke aktuator, yaitu motor DC yang dikendalikan melalui driver L298N, sehingga motor menggerakkan mekanisme gerbang dengan rack and pinion pada proses (plant) membuka dan menutup gerbang. Keluaran sistem berupa posisi atau jarak gerbang diukur menggunakan sensor rotary encoder KY-040 sebagai umpan balik, yang kemudian dikirim kembali ke controller untuk meminimalkan error dan meningkatkan kestabilan serta ketepatan sistem.

<div style="text-align:center;">Gambar 2.1 Diagram Blok Sistem</div>
### 2.2 Pemodelan Matematis (Theoretical Modeling)
Bagian ini bertujuan untuk menunjukkan landasan teori sistem kendali yang digunakan. Sertakan referensi dari buku, jurnal bereputasi, dan/atau *datasheet*.
**A. Model Algoritma Kontroler (PID)**
Pengendali PID merupakan metode pengendalian yang banyak digunakan dalam sistem kendali karena kemampuannya dalam meningkatkan kestabilan serta akurasi sistem. Pengendali PID bekerja dengan memanfaatkan sinyal error, yaitu selisih antara nilai setpoint dan output aktual sistem, untuk menghasilkan sinyal kendali yang diberikan kepada aktuator.
Pengendali PID terdiri dari tiga komponen utama, yaitu Proportional ( P ), Integral ( I ), dan Derivative ( D ). Proportional menghasilkan sinyal kendali yang sebanding dengan error dan berperan dalam mempercepat respon sistem. Integral mengakumulasi error terhadap waktu sehingga mampu menghilangkan kesalahan steady-state. Sementara itu, Derivative bekerja berdasarkan laju perubahan error untuk meredam osilasi dan mengurangi overshoot, sehingga meningkatkan kestabilan sistem. Secara matematis, pengendali PID dapat dinyatakan dengan persamaan berikut:
$$u(t) = K_p e(t) + K_i \int e(t) dt + K_d \frac{de(t)}{dt}$$
Nilai parameter $K_p$, $K_i$, dan $K_d$ sangat mempengaruhi respon sistem. Peningkatan $K_p$ dapat mempercepat respon tetapi berpotensi menimbulkan overshoot. Nilai $K_i$ berfungsi menghilangkan steady-state error namun dapat memperlambat respon sistem. Sementara itu, $K_d$ membantu meredam perubahan yang cepat sehingga mengurangi overshoot dan meningkatkan kestabilan sistem.
*(Jelaskan juga bentuk diskrit yang Anda gunakan dalam kode program mikrokontroler).*
**B. Metode Tuning Ziegler-Nichols (Z-N)**
Dalam perancangan sistem kendali Automatic Gate, metode tuning parameter PID yang dipilih adalah **Ziegler-Nichols Tipe 2 (Metode Kurva Reaksi)**. Pemilihan ini didasarkan pada pertimbangan karakteristik mekanis sistem dan keamanan operasional plant, sebagai berikut:
1. Metode Ziegler-Nichols Tipe 1 (Metode Osilasi) mengharuskan sistem dipacu dalam kondisi Closed-Loop hingga mencapai batas kestabilan untuk mendapatkan osilasi berkelanjutan. Pada sistem mekanik berat seperti gerbang otomatis, memaksakan osilasi berisiko tinggi menyebabkan kerusakan fisik pada girboks motor, struktur gerbang, atau stopper akibat getaran berlebih dan hentakan dinamis.
2. Sistem elektromekanis yang menggunakan Motor DC dengan beban inersia (massa gerbang) secara alami memiliki karakteristik respon orde satu dengan waktu tunda (dead time). Karakteristik ini paling efektif dimodelkan menggunakan pendekatan kurva reaksi pada kondisi Open-Loop.
3. Metode Tipe 2 memungkinkan ekstraksi parameter kritis sistem, yaitu waktu tunda ($L$) akibat inersia awal dan gesekan statis, serta konstanta waktu ($T$) sistem, melalui uji respons langkah (step response) tanpa perlu membawa sistem ke kondisi tidak stabil.
**C. Model Plant (Motor DC Speed Control)**
Plant pada sistem kendali ini adalah motor DC yang digunakan sebagai aktuator gerbang otomatis. Untuk keperluan analisis kendali kecepatan, motor DC secara teoritis dapat didekati sebagai sistem orde satu.
Fungsi alih motor DC dari tegangan masukan $V(s)$ terhadap kecepatan sudut $\omega$(s) dinyatakan sebagai :
$$G(s) = \frac{\omega(s)}{V(s)} = \frac{K}{\tau s + 1}$$
Model orde satu ini cukup merepresentasikan karakteristik dinamis motor DC untuk aplikasi gerbang otomatis, di mana respon sistem relatif lambat dan tidak memerlukan pemodelan orde tinggi. Model ini digunakan sebagai dasar analisis respon transien dan perancangan pengendali PID.
### 2.3 Spesifikasi Perangkat Keras
* **Motor:**
* Type : Motor DC
* Tegangan : 3V -6V DC
* Kecepatan maks : +- 100 RPM
* **Driver:** Driver Motor L298N
* **Sensor:** KY-040 merupakan incremental rotary encorder mekanik
* **Kontroler:** Mikrokontroler Arduino, berkerja pada frekuensi clock sebesar 16MHz
---
## 3. Implementasi dan Pengujian
> **⚠️ Syarat data yang harus ada:**
> 1. **Analisis Komparatif:** **Minimal** **3 Variasi *Tuning*** (Misal: Hanya Proporsional vs PI vs PID Optimal).
> 2. **Uji Konsistensi (*Repeatability*):** Pada *tuning* terbaik, lakukan **minimal 5x percobaan** berulang untuk mendapatkan rata-rata dan standar deviasi.
> 3. **Uji Gangguan (*Disturbance*):** Minimal satu grafik yang menunjukkan respons sistem saat diberi beban atau gangguan tiba-tiba.
>
> *Catatan: Untuk poin 1 dan 2, lebih banyak lebih baik, karena akan semakin menghasilkan banyak data untuk dianalisis dan dibandingkan.*
### 3.1 Karakteristik Open-Loop (Linearitas Plant)
Lakukan pengujian respon motor **tanpa algoritma PID** (*Open Loop*) untuk melihat perilaku aslinya.
* **Skenario A (Motor DC - Kecepatan):** Pengujian dilakukan dengan memberikan sinyal PWM bertahap dari Arduino ke driver L298N tanpa umpan balik (Open Loop).
**Grafik Karakteristik:**
Buatlah grafik hubungan *Input* vs *Output*:
<div style="text-align:center;">Gambar 3.1 Grafik Hubungan Input vs Output</div>
* **Sumbu X (*Input*):** PWM dari 0-255
* **Sumbu Y (*Output*):** RPM Motor, diukur menggunakan sensor KY-040 Rotary Encoder
**Analisis:**
1. Apakah grafik membentuk garis lurus?
Berdasarkan hasil pengujian, hubungan antara sinyal input PWM dan kecepatan sudut (output RPM) tidak menunjukkan karakteristik linear yang ideal. Grafik memperlihatkan respons yang sangat non-linear, yang terbagi menjadi tiga fase berbeda: fase diam (dead zone), fase transisi tajam (kenaikan RPM drastis), dan fase saturasi parsial. Ketidaklinearan ini mengindikasikan bahwa sistem open-loop tanpa kompensasi tidak akan menghasilkan respons kecepatan yang proporsional terhadap kenaikan duty cycle yang diberikan.
2. Pada *input* berapa motor baru mulai bergerak?
Motor menunjukkan hambatan awal yang signifikan, di mana pergerakan poros baru terdeteksi ketika nilai PWM melampaui ambang batas (threshold) di angka 100. Hal ini menunjukkan adanya fenomena dead zone yang lebar pada rentang 0 hingga 100, di mana energi yang diberikan belum cukup untuk mengatasi gesekan statis (stiction) pada mekanik motor. Akibatnya, hampir 40% dari rentang kendali tidak efektif digunakan untuk memutar beban, yang merupakan inefisiensi dalam desain kendali saat ini.
3. Apakah ada titik ketika *input* dinaikkan tetapi *output* tidak bertambah lagi?
Meskipun tidak terjadi saturasi total di mana grafik menjadi datar sempurna, terlihat adanya penurunan laju kenaikan RPM (diminishing return) setelah input melewati nilai PWM 140. Pada rentang ini, penambahan input PWM tidak lagi menghasilkan lonjakan kecepatan yang signifikan seperti pada fase awal, melainkan menunjukkan respons yang lebih landai dan fluktuatif. Ketidakkonsistenan kenaikan ini menandakan bahwa sistem mulai mendekati batas kemampuan fisik motor atau suplai daya, sehingga respons terhadap penambahan energi menjadi kurang responsif.
### 3.2 Analisis Perbandingan Respons (*Step Response*)
$|K_p = 17|K_i = 0 |K_d$ = 0|

<div style="text-align:center;">Gambar 3.2 Step Response 1</div>
$|K_p = 70|K_i = 0 |K_d$ = 0|

<div style="text-align:center;">Gambar 3.3 Step Response 2</div>
$|K_p = 35|K_i = 0 |K_d$ = 0|

<div style="text-align:center;">Gambar 3.4 Step Response 3</div>
$|K_p = 35|K_i = 0 |K_d$ = 2|

<div style="text-align:center;">Gambar 3.5 Step Response 4</div>
**Tabel 1. Perbandingan Parameter Respons Transien**
| Skenario *Tuning* | Nilai *Gain* ($K_p, K_i, K_d$) | *Delay Time* ($T_d$)| *Rise Time* ($T_r$) | *Peak Time* ($T_p$) | *Settling Time* ($T_s$) | *Overshoot* (%) | *Steady State Error* |
| :--- | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
| #1 Hanya P | 17,0,0 | 0.5037 | 0.9829 | 0.9829 | 0.9829 | 0% | 0 |
| #2 Osilasi | 70,0,0 | 0.4751 | 0.8274 | 0.9338 | - | 11.11% | - |
| #3 Setengah P | 35,0,0 | 0.4628 | 0.77 | 0.9093 | 2.2485 | 13.88% | 0 |
| #4 Masukan D| 35,0,2 | 0.4506 | 0.77 | 1.0374 | 1.2574 | 5.55% | 0 |
| #5 PID Optimal | 35,1,2 | 0.5347 | 0.5825 | 0.9461 | 0.9461 | 0% | 0 |
### 3.3 Uji Konsistensi (Repeatability Test)
**Tabel 2. Statistik Konsistensi Kinerja (Misal N=5)**
| Percobaan Ke- | *Settling Time* ($T_s$) | *Overshoot* (%) |
| :---: | :---: | :---: |
| 1 | 0.8765 | 0% |
| 2 | 0.8274 | 2.7% |
| 3 | 0.897 | 2.7% |
| 4 | 0.9092 | 0% |
| 5 | 0.9256 | 0% |
| 6 | 0.9011 | 0% |
| 7 | 0.8232 | 0% |
| **Rata-rata ($\mu$)** | **0.8800** | **0.7714%** |
| **Standar Deviasi ($\sigma$)** | **0.0401** | **1.3175%** |
### 3.4 Uji Gangguan (Disturbance Rejection)
* **Gambar:** 
* **Analisis:** Recovery Time dari sistem setelah gangguan adalah 3.2971 detik
---
## 4. Evaluasi dan Analisis Kinerja
### 4.1 Validasi Spesifikasi
*(Bandingkan **Rata-rata** hasil Tabel 2 dengan **Target** di Bab 1.3. Apakah tercapai?)*
Dari data tabel 2 yang dibanding dengan tabel bab 1.3. Dapat disimpulkan bahwa, sistem kami mencapai target yang diusulkan sebelum. Dengan rata rata 0.7714%, ini berarti bahwa nilai overshoot kami masuk ke dalam range $M_p$ (<5%) sehingga masuk dalam status critically damped.
Lalu, nilai pada tabel 2 untuk Settling time yaitu 0.8800 detik sehingga masuk ke dalam range $T_s$ (<5 detik). Maka dapat disimpulkan bahwa, sistem kita mampu mencapai posisi akhir dalam waktu relatif cepat tanpa menimbulkan gerakan agresif dan tidak mengalami situasi gerbang yang menabrak batas (stopper) dengan mempercepat keausan rak roda gigi dan pinion.
### 4.2 Analisis Mendalam
1. **Analisis Pengaruh *Gain*:** Berdasarkan data percobaan, pengaruh perubahan parameter $K_p$, $K_i$, dan $K_d$ terlihat jelas pada karakteristik bentuk respon sistem. peningkatan $K_p$ terbukti mempercepat respon awal sistem, ditunjukkan oleh penurunan rise time ketika $K_p$ dinaikkan dari 17 menjadi 35 dan 70. namun, percepatan ini dibayar dengan menurunnya stabilitas : overshoot meningkat signifikan dan pada $K_p$ = 70 sistem berosilasi dan tidak mencapai settling, sehingga menunjukkan bahwa $K_p$ yang terlalu besar mendorong respons agresif namun rentan ketidakstabilan. penambahan $K_d$ pada kondisi $K_p$ = 35, yang sama memberikan efek peredaman yang kuat. Hal ini tampak dari penurunan overshoot dari 13,88% menjadi 5,55% dan percepatan settling time dari 2,2485 menjadi 1,2574. Artinya, $K_d$ efektif menekan perubahan error yang terlalu cepat, sehingga puncak osilasi lebih rendah dan kurva respons menjadi lebih halus. Sementara itu, penambahan $K_i$ pada skenario PID optimal menunjukkan perannya dalam menghilangkan error tunak: sistem mencapai setpoint tanpa steady-state error. Namun, integrasi error juga membuat sistem sedikit lebih lambat pada fase awal karena akumulasi integral memerlukan waktu, meskipun pada data ini nilai $K_i$ masih cukup kecil sehingga tidak menimbulkan overshoot tambahan. Secara keseluruhan, hasil percobaan menunjukkan bahwa $K_p$ ominan meningkatkan kecepatan sekaligus risiko osilasi, $K_d$ meningkatkan redaman dan stabilitas dinamik, sedangkan $K_i$ meningkatkan akurasi jangka panjang dengan konsekuensi potensi pelambatan jika nilainya terlalu besar.
2. **Analisis Stabilitas:**
a. Berdasarkan Uji Gangguan (Bab 3.4), seberapa tangguh sistem kelompok Anda? Apakah terjadi osilasi berlebih saat beban dilepas?
Berbasis hasil uji gangguan pada Bab 3.4, sistem kami menunjukkan ketangguhan yang cukup baik terhadap perubahan beban. Saat beban diberikan, sistem mampu kembali menuju setpoint, sehingga dapat dikatakan mekanisme koreksi error bekerja dengan efektif. Namun, pada kondisi dengan nilai $K_p$ besar tanpa adanya $K_d$ maupun $K_i$, respons cenderung mengalami osilasi yang cukup tinggi dan membutuhkan waktu lebih lama untuk mereda. Ketika beban dilepas, sistem dengan hanya kendali P atau $K_p$ besar menunjukkan overshoot dan osilasi yang lebih nyata, sehingga ketangguhannya terhadap gangguan masih terbatas pada skenario tersebut. Sebaliknya, pada konfigurasi yang sudah melibatkan komponen D dan pada PID optimal, osilasi saat beban dilepas jauh berkurang dan sistem kembali ke keadaan tunak lebih cepat tanpa fluktuasi berlebih. Ini menunjukkan bahwa sistem kami relatif tangguh, terutama ketika kontroler menggunakan unsur D yang memberikan redaman tambahan.
b. Apakah metode *tuning* PID yang kelompok Anda gunakan sudah optimal untuk membuat sistem stabil dan mempertahankan kestabilannya?
Terkait metode tuning PID yang kami gunakan, hasil pengujian menunjukkan bahwa pendekatan tuning yang diterapkan sudah cukup optimal dalam membuat sistem stabil dan mempertahankan kestabilannya. Pada skenario PID optimal, overshoot berhasil ditekan hingga mendekati nol, settling time menjadi lebih singkat, dan steady-state error menghilang. Hal ini menunjukkan bahwa kombinasi $K_p$, $K_i$, $K_d$ yang kami gunakan tidak hanya menghasilkan stabilitas, tetapi juga respons yang cepat dan akurat. Secara kritis, kami menyadari bahwa keoptimalan ini bergantung pada kondisi pengujian yang dilakukan; perubahan signifikan pada karakteristik beban atau parameter plant kemungkinan tetap memerlukan proses retuning ulang. Walaupun demikian, berdasarkan data percobaan yang kami peroleh, metode tuning PID yang kami terapkan sudah efektif untuk mencapai stabilitas dan mempertahankan kestabilan sistem selama uji gangguan.
3. **Trade-off Desain:** Apa yang kelompok Anda korbankan untuk mencapai kestabilan? Kita mengorbankan recovery time untuk menghindari overshoot, karena jika gerbang overshoot ada kemungkinan terjadi kerusakan sehingga dengan $K_i$ = 1, PID memerlukan waktu yang lama untuk memperbaiki SSE karena Motor DC memiliki deadzone dari PWM 0-100
4. **Evaluasi Hardware:**
a. Apakah ada batasan fisik (seperti driver motor atau resolusi sensor rendah) yang menghambat pencapaian target sesuai desain?
Keterbatasan fisik perangkat keras, terutama pada sensor ky-040 rotary encoder yang tidak di desain untuk mengukur rotasi konstan dari motor tetapi di desain untuk knob yang bisa di putar dan di tekan, sehingga memiliki resolusi PPR (Pulse Per Rotation) yang rendah yaitu 20 PPR
b. Apakah ada faktor mekanik (*gears, backlash*, gesekan) yang mengganggu hasil kendali?
Faktor mekanik, terutama gaya gesek statis (stiction) dan backlash (celah gigi) pada transmisi, memberikan gangguan non-linear yang signifikan terhadap presisi akhir sistem. Hal ini terbukti secara empiris pada perbandingan Skenario #4 (PD) dan Skenario #5 (PID). Sebelum penambahan komponen Integral ($K_i$), sistem pada Skenario #4 memiliki overshoot 5.55% dan settling time yang lebih lambat, yang menunjukkan adanya hambatan gesekan yang melawan torsi motor saat mendekati target. Penambahan $K_i$ pada Skenario #5 berhasil mengatasi stiction tersebut dengan mengakumulasi error kecil untuk menambah tenaga dorong akhir. Namun, inkonsistensi nilai overshoot pada Tabel 2 (berfluktuasi antara 0% dan 2.7%) menguatkan dugaan adanya mechanical backlash. Saat sistem berusaha mempertahankan posisi tepat, celah antar gear menyebabkan hilangnya kontak mekanis sesaat (dead zone) ketika arah torsi berubah, mengakibatkan kendali PID mengalami keterlambatan respons fisik yang terdeteksi sebagai ketidakstabilan minor pada grafik respons transien.
---
## 5. Kesimpulan dan Saran
### 5.1 Kesimpulan
1. Sistem kendali PID berhasil diimplementasikan dan menghasilkan performa terbaik pada konfigurasi $Kp = 35, Ki = 1$, dan $Kd = 2$, yang ditetapkan sebagai parameter akhir (PID optimal) berdasarkan perbandingan beberapa skenario tuning.
2. Pada konfigurasi PID optimal tersebut, sistem menunjukkan respon yang cepat dan stabil dengan settling time (Ts) sebesar 0,9461 detik serta overshoot sebesar 0%, sehingga memenuhi kriteria kestabilan tanpa osilasi berlebih.
3. Berdasarkan pengujian berulang, tingkat konsistensi respon sistem tergolong baik. Hal ini ditunjukkan oleh nilai rata-rata settling time sebesar 0,8800 detik dengan standar deviasi 0,0401, serta rata-rata overshoot sebesar 0,7714% dengan standar deviasi 1,3175%, yang mengindikasikan variasi respon relatif kecil dan performa sistem yang stabil.
4. Dibandingkan dengan skenario tuning sebelumnya (kontrol P, P dengan gain tinggi, serta P+D), penggunaan kontrol PID memberikan peningkatan signifikan dalam menurunkan overshoot sekaligus mempercepat waktu tunak, sehingga lebih sesuai untuk diterapkan pada sistem yang membutuhkan respon cepat dan stabil.
### 5.2 Saran Pengembangan
Pada penelitian selanjutnya, sistem gerbang otomatis berbasis kendali PID ini masih dapat dikembangkan untuk meningkatkan performa dan keandalannya. Penggunaan sensor rotary encoder yang di desain untuk mengukur putaran motor sehingga memiliki PPM yang lebih tinggi dan lebih tahan beban putaran terus menerus dengan RPM tinggi. Penggunaan metode kendali lanjutan untuk mengatasi lambatnya recovery time seperti integral clamping atau conditional integration.
Pengembangan juga dapat dilakukan pada pemodelan sistem dengan membuat penahan antara motor dan rack, sehingga kemungkinan rack dan pinion slip tidak ada. Di samping itu, penambahan fitur keselamatan seperti limit switch, monitor penggunaan daya motor, dan infrared sensor.
---
## Lampiran
* **Kode Program Utama (Arduino/C++):**
1. **Inisialisasi**
```
#include <Arduino.h>
#include <KY040.h>
#include <PID_v1.h>
#define CLK_PIN 3
#define DT_PIN 2
KY040 g_rotaryEncoder(CLK_PIN, DT_PIN);
volatile int v_value = 0;
int ENA = 6;
int IN1 = 4;
int IN2 = 5;
double sp, input, output;
double Kp = 35;
double Ki = 1;
double Kd = 2;
PID myPID(&input, &output, &sp, Kp, Ki, Kd, DIRECT);
```
2. **Loop Kendali**
```
void loop() {
t = millis()/1000.0;
input = v_value;
if(Serial.available() > 0){
char data = Serial.read();
if(data == 'o'){
sp += 36;
} else if(data == 'c'){
sp -= 36;
}
}
myPID.Compute();
Serial.print(t);
Serial.print("\t");
Serial.print(sp);
Serial.print("\t");
Serial.print(input);
Serial.print("\t");
Serial.println(output);
if(output > 0){
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
analogWrite(ENA, output);
} else if(output < 0){
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
analogWrite(ENA, abs(output));
}
}
```
3. **Dokumentasi Lengkap**
{%preview https://github.com/monicafebyana-wq/Tugas_Besar_SKM_Kelompok2_TK4703 %}
* **Tautan Video Demonstrasi:** {%preview https://www.youtube.com/watch?v=guDGdCV1Gh4 %}
* **Dokumentasi Foto Alat:** 
* 
* 
* 
* 
* 
---
## Panduan Checklist Kelengkapan (Alat bantu saja untuk memastikan tidak ada yang terlewat. Sesuaikan dengan yang sebenarnya.)
- [x] Target Spesifikasi (Bab 1.3) terisi jelas.
- [x] Pemodelan Matematis ada (Bab 2.2).
- [x] Grafik Open Loop (Linearitas) ada (Bab 3.1).
- [x] Tabel Perbandingan minimal 3 variasi tuning ada (Bab 3.2).
- [x] Tabel Statistik Repeatability (5x data) ada (Bab 3.3).
- [x] Grafik Uji Gangguan ada (Bab 3.4).
## 6. Rubrik Penilaian dan Pembobotan
* **[PLO-3]** Kemampuan menyusun rancangan komponen, sistem dan/atau proses pada bidang teknik komputer untuk memenuhi kebutuhan yang diharapkan di dalam batasan-batasan realistis.
* **[CLO-2]:** Mampu menyusun rancangan dan menganalisis sistem kendali loop tertutup dari kondisi transien hingga steady state untuk mencapai kestabilan.
### A. RUBRIK TUGAS BESAR CLO 2 (*Design & Analysis*)
**Bobot:** 5% dari Nilai Akhir Mata Kuliah.
**Aspek 1: Desain Spesifikasi dan Pemodelan (40 Poin)**
| Level | Poin | Deskripsi Kriteria |
| :--- | :---: | :--- |
| **_Exemplary_** | **40** | Target spesifikasi ($T_s, M_p$) memiliki **alasan kuantitatif**. Diagram blok lengkap (*Closed-loop*) dan model matematis *Plant*, Z-N, atau PID dijelaskan dengan referensi yang benar. |
| **_Satisfactory_** | **30** | Diagram blok benar dan target spesifikasi ada. Alasan penetapan angka kurang kuat atau model matematis hanya bersifat umum. |
| **_Needs Improvement_** | **15** | Diagram blok tidak lengkap atau salah. Tidak ada target spesifikasi jelas, atau model matematis salah konsep. |
| **_Unsatisfactory_** | **0** | Tidak ada bab desain atau terindikasi plagiasi. |
**Aspek 2: Analisis Kritis Respon Transien (60 Poin)**
| Level | Poin | Deskripsi Kriteria |
| :--- | :---: | :--- |
| **_Exemplary_** | **60** | Analisis tajam menjelaskan **korelasi fisik** *gain* PID terhadap grafik ($T_d, T_r, T_p, M_p, T_s$). Menjelaskan *trade-off* desain dengan logis. |
| **_Satisfactory_** | **45** | Penjelasan benar secara teori namun bersifat **deskriptif** (hanya membaca grafik) tanpa analisis yang mendalam. |
| **_Needs Improvement_** | **25** | Analisis dangkal atau keliru. Kesimpulan bertentangan dengan data grafik. Hanya menyalin teori buku. |
| **_Unsatisfactory_** | **0** | Tidak ada analisis. |
---
---
* **[PLO-6]** Kemampuan menerapkan metode, keterampilan dan piranti teknik modern yang diperlukan untuk praktek keteknikan dalam bidang teknik komputer.
* **[CLO-3]:** Mampu menentukan dan menerapkan penggunaan kendali proporsional, integral, atau derivatif pada motor listrik untuk mencapai kestabilan.
---
### B. RUBRIK TUGAS BESAR CLO 3 (*Implementation & Tools*)
**Bobot:** 20% dari Nilai Akhir Mata Kuliah.
**Aspek 1: Metodologi *Tuning* dan Validitas Data (40 Poin)**
| Level | Poin | Deskripsi Kriteria |
| :--- | :---: | :--- |
| **_Exemplary_** | **40** | Ada grafik *Open-Loop*. Melakukan minimal **3 variasi *tuning***. Menyertakan bukti **Uji Repetisi (minimal 5x)** dengan standar deviasi kecil (data valid). |
| **_Satisfactory_** | **30** | Ada tuning PID dan alat jalan. Data perbandingan minim (<3) atau tidak ada uji repetisi (hanya sekali coba). |
| **_Needs Improvement_** | **15** | Metode tuning tidak jelas (*trial-error* acak). Grafik respon tidak jelas skalanya atau terlihat fiktif. |
| **_Unsatisfactory_** | **0** | Data fiktif atau tidak ada data. |
**Aspek 2: Kestabilan dan *Robustness* (30 Poin)**
| Level | Poin | Deskripsi Kriteria |
| :--- | :---: | :--- |
| **_Exemplary_** | **30** | Sistem stabil ($e_{ss} \approx 0$). Mampu ***Self-Recovery* (kembali stabil)** dengan cepat saat diberi gangguan fisik. Ada grafik bukti respon gangguan. |
| **_Satisfactory_** | **20** | Sistem stabil mencapai *setpoint*. Respon gangguan lambat atau berosilasi lama. Dokumentasi gangguan kurang jelas. |
| **_Needs Improvement_** | **10** | Sistem mencapai *setpoint*, tetapi tidak stabil (getar atau *drift*), gagal, atau berhenti saat diberi gangguan kecil. |
| **_Unsatisfactory_** | **0** | Alat tidak berfungsi. |
**Aspek 3: Demonstrasi Alat & Tanya Jawab (30 Poin) --> *Penilaian Individu***
| Level | Poin | Deskripsi Kriteria |
| :--- | :---: | :--- |
| **_Exemplary_** | **30** | Demo sempurna dan rapi. Mahasiswa menjawab pertanyaan teknis (seperti pemrograman dan rangkaian) dengan lancar dan paham secara mendetail. |
| **_Satisfactory_** | **20** | Demo ada kendala minor. Menjawab pertanyaan cukup baik meski ragu pada detail teknis. |
| **_Needs Improvement_** | **10** | Alat sering *error* saat demo. Mahasiswa bingung dengan alatnya sendiri (tidak menguasai). |
| **_Unsatisfactory_** | **0** | Tidak hadir demonstrasi dan presentasi. |
---