Mata Kuliah: Sistem Kendali dan Mekanika Dosen: HASBI ASH SHIDDIEQY A Nama Kelompok: 2 Tanggal: 08-01-2025
- Muhammad Fitran Ramadhan/1103220156
- Muhammad Daulah Izzathurrahman/1103223197
- Mochammad Pasha Suryatama/1103223191
- Raihan Guntur Ramadhan/1103223185
[TOC]
Sistem kendali PID (Proportional-Integral-Derivative) merupakan salah satu metode kendali yang paling banyak digunakan untuk mengatur sistem dinamis. Pada sistem kendali pintu otomatis, PID dapat digunakan untuk mengatur gerakan pintu agar lebih halus dan responsif terhadap perubahan jarak objek. Dengan mengatur parameter proporsional, integral, dan derivatif, sistem dapat mencapai posisi target dengan cepat sekaligus meminimalkan osilasi.
- Menerapkan kendali PID pada pintu otomatis untuk meningkatkan akurasi dan stabilitas gerakan.
- Memastikan pintu bergerak responsif terhadap data sensor jarak.
Pada sistem kendali pintu otomatis, loop tertutup PID digunakan untuk mengontrol posisi aktuator (servo). Sensor jarak (ultrasonik) mendeteksi keberadaan objek, sensor jarak laser (VL53L0X V2), dan Arduino mengolah data untuk menghitung error (selisih antara posisi pintu target dan posisi saat ini).
- Daftar komponen:
- Sensor jarak (VL53L0X V2)
- Microcontroller (Arduino Uno)
- Servo Motor (SG90)
- Sensor deteksi objek (HC-SR04)
- Feedback: Posisi pintu dikontrol agar sesuai target.
- Blok Diagram Loop:
Deskripsi: Input: Setpoint (posisi yang diinginkan) Pengendali PID: Menyesuaikan posisi pintu berdasarkan error Plant: servo motor Output: posisi aktual
Kp: Gain Proportional
Ki: Gain Integral
Kd: Gain Derivatif
Metode tuning:
- Ziegler-Nichols: Menentukan
$K_p$ ,$K_i$ , dan$K_d$ secara eksperimental. - Manual Tuning: Menyesuaikan parameter secara bertahap untuk mencapai respons optimal.
Penjelasan tentang bentuk tipe mekanik yang digunakan: Interaksi pergerakan servo dengan sliding door. Sliding door dihubungkan dengan servo motor menggunakan mekanisme engsel. mengonversi dari satuan sudut (derajat) ke satuan jarak (milimeter).
Fungsi transfer: $$ TF = \frac{output}{input} = \frac{door_{distance}}{servo_{degree}} $$
perhitungan ketika menutup pintu
- servo degree input = 142 degree
- Mendapatkan output posisi pintu = 269 mm $$ TF = \frac{door_{distance}}{servo_{degree}} = \frac{269 mm}{142 degree} = 1,894 mm/degree $$
perhitungan ketika membuka pintu
- servo degree input = 27 degree
- Mendapatkan output posisi pintu = 52 mm $$ TF = \frac{door_{distance}}{servo_{degree}} = \frac{52 mm}{27 degree} = 1,926 mm/degree $$
Tuning parameter PID (P, I, D) menggunakan metode trial-and-error dan Ziegler-Nichols.
serial plot memungkinkan melakukan plot realtime data hasil dari data serial
// Debugging
// Serial.print(" || Setpoint: ");
// Serial.print(setpoint);
currentPosition = doorPos();
// Serial.print(" mm || Current: ");
Serial.println(currentPosition);
// Serial.print(" mm || Servo Input: ");
// Serial.print(servoInput);
// Serial.print(" || error sebelumnya: ");
// Serial.print(*previousError);
// Serial.print(" mm || integral: ");
// Serial.println(*integral);
Gambar plot: Respon sistem terhadap perubahan setpoint dan konstanta PID
Kesimpulan Hasil Serial Plotter: steady-state error akan lebih besar jika PID belum di-tuning.
Tabel: Respon sistem terhadap perubahan setpoint dan konstanta PID. Perhitungan menggunakan kamera slow-motion.
| Setpoint (millimeter) | Kp | Ki | Kd | Delay time (Td) | Rise time (Tr) | Peak time (Tp) | Settling time (Ts) |
|---|---|---|---|---|---|---|---|
| 52 | 1.2 | 0.02 | 0.8 | 140ms | 300ms | 340ms | 4240ms |
| 269 | 1.2 | 0.02 | 0.8 | 180ms | 380ms | 430ms | 1960ms |
| 52 | 0.8 | 0.015 | 0.6 | 160ms | 290ms | 710ms | 1040ms |
| 269 | 0.8 | 0.015 | 0.6 | 130ms | 400ms | 430ms | 1030ms |
Kesimpulan hasil analisis kamera slow-mo: waktu yang dibutuhkan untuk mencapai settling time akan lebih panjang jika PID belum di-tuning.
Analisis motor servo
| Duty Cycle (%) | Nilai Output (Average voltage) | Output Terukur (Degress) | Time Respone (s) |
|---|---|---|---|
| 5% | 0,25V | 0 Degree | 20ms |
| 6% | 0,3V | 36 Degree | 20ms |
| 7% | 0,35V | 72 Degree | 20ms |
| 8% | 0,4V | 108 Degree | 20ms |
| 9% | 0,45V | 144 Degree | 20ms |
| 10% | 0,5V | 180 Degree | 20ms |
Pengukuran Servo
Grafik Average Voltage vs Output Degrees
Sistem menunjukkan kestabilan dengan nilai steady-state error yang rendah dan rise time cepat. Overshoot masih dalam batas wajar, dan performa tuning parameter mendekati optimal.
Apakah parameter PID yang dirancang telah optimal?
ya, parameter PID yang dimasukkan sudah optimal. hitungan waktu transient response sudah menunjukkan angka optimal.
Apakah sistem dapat mempertahankan performa optimal dalam jangka waktu lama?
Sistem kurang dapat mempertahankan performa optimal dalam jangka waktu lama. Hal ini dikarenakan koneksi antara sensor jarak VL53L0X V2 dengan Arduino Uno melalui jumper, terdapat kendala. kabel yang menghubungkan pin SDA dan SCL kurang kuat, sehingga terkadang mengalami hilang sinyal.
Berdasarkan hasil pengujian, parameter PID yang dirancang menunjukkan performa optimal/tidak dalam mengendalikan motor listrik. Hal ini ditunjukkan oleh:
- Nilai steady-state error yang kecil
- Respon waktu rise time yang cepat
- Overshoot rendah sehingga sistem cukup stabil
Kendali PID berhasil diimplementasikan untuk mencapai kestabilan posisi motor servo. Kinerja sistem memenuhi kriteria dengan overshoot kecil dan steady-state error yang minimal.
Menggunakan metode tuning adaptif untuk hasil yang lebih optimal. Implementasi lebih lanjut pada rangkaian sliding door yang lebih bagus. Sliding door dapat menggunakan roda agar pergerakan lebih lancar.
Foto Implementasi:
Rangkaian ![]() |
Tampilan depan ![]() |
PID membuka ![]() |
Posisi tutup (setelah PID tutup) ![]() |
Video Demonstrasi: https://www.youtube.com/watch?v=FKXibIXa-74
Link Kode Program: https://github.com/MFitran/Tugas-Besar-Sistem-Kendal-Mekanika_Automatic-Sliding-Door.git
- PWM Servo Motor: https://www.ocfreaks.com/lpc2148-servo-motor-interfacing-tutorial/
- Transient Response: https://www.tutorialspoint.com/control_systems/control_systems_time_domain_specifications.htm
CLO3 Mampu menentukan dan menerapkan penggunaan kendali proporsional, integral, datau derivatif pada motor listrik untuk mencapai kestabilan.
| Aspek Penilaian | Indikator Kinerja | Level 4 (Sangat Baik) | Level 3 (Baik) | Level 2 (Cukup) | Level 1 (Kurang) | Skor Maksimum |
|---|---|---|---|---|---|---|
| 1. Desain dan Implementasi Sistem (1,2) | Ketepatan merancang parameter PID, pemodelan sistem, dan implementasi perangkat keras/lunak | Desain parameter sangat tepat, implementasi lengkap dan sistem berjalan optimal. | Desain parameter cukup tepat, implementasi hampir lengkap, sistem berjalan baik. | Desain kurang akurat, implementasi tidak lengkap, sistem berjalan kurang optimal. | Desain tidak tepat, implementasi buruk, sistem tidak berfungsi. | 30 |
| 2. Pengujian Sistem (3) | Kualitas pengujian performa sistem (respon terhadap setpoint, gangguan, dan perubahan beban) | Pengujian menyeluruh, sistem stabil, respon cepat dan overshoot minimal. | Pengujian cukup baik, sistem stabil dengan respon wajar. | Pengujian terbatas, sistem kurang stabil, respon lambat. | Pengujian buruk, sistem tidak stabil dan respon tidak memadai. | 30 |
| 3. Analisis dan Evaluasi Kinerja Sistem (4,5) | Kelengkapan analisis hasil pengujian serta evaluasi performa sistem (error, kestabilan, perbaikan tuning) | Analisis mendalam, error minimal, rekomendasi perbaikan jelas dan akurat. | Analisis memadai, error kecil, rekomendasi cukup baik. | Analisis kurang mendalam, error signifikan, rekomendasi terbatas. | Analisis tidak jelas, error besar, tidak ada rekomendasi perbaikan. | 30 |
| 4. Presentasi dan Dokumentasi Proyek | Kualitas dokumentasi laporan dan kemampuan menyampaikan serta memahami proyek | Laporan lengkap, penyajian sangat jelas, pemahaman mendalam. | Laporan cukup lengkap, penyajian jelas, pemahaman baik. | Laporan kurang lengkap, penyajian tidak jelas, pemahaman terbatas. | Laporan tidak lengkap, penyajian buruk, pemahaman lemah. | 10 |
| Rentang Skor | Deskripsi Tingkat Pencapaian |
|---|---|
| 85 - 100 | Sangat Baik: Proyek memenuhi semua luaran dengan performa optimal dan analisis mendalam. |
| 70 - 84 | Baik: Proyek mencapai sebagian besar luaran dengan performa baik dan analisis memadai. |
| 55 - 69 | Cukup: Proyek hanya mencapai luaran dasar, performa dan analisis memerlukan peningkatan. |
| < 55 | Kurang: Proyek tidak mencapai luaran yang diharapkan, memerlukan perbaikan signifikan. |










