# 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:**
* **Kelompok 3:** Solar Tracker
* **Muhammad Al Qarnie (101032330043)**
* **Maheswara Ariq Athallah (101032300050)**
* **Rahmad Hamdi Siregar (101032330026)**
* **Daffa Hermansyah (101032330090)**
* **Ali Nafis Hamdi (101032330202)**
---
## 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
<div style="text-align: justify;">
Panel surya statis memiliki keterbatasan dalam menyerap energi matahari secara optimal karena sudut datang cahaya matahari berubah sepanjang waktu. Akibatnya, energi yang dihasilkan panel belum maksimal. Untuk mengatasi hal tersebut, diperlukan sistem pengendalian motor yang mampu mengatur posisi panel surya secara otomatis mengikuti arah datang cahaya matahari.
Sistem pengendalian motor banyak diterapkan dalam berbagai bidang, seperti industri, robotika, dan kehidupan sehari-hari, misalnya pada lengan robot, sistem aktuator otomatis, dan perangkat pelacak. Oleh karena itu, penguasaan konsep pengendalian motor menjadi penting dalam pengembangan sistem otomasi.
Pada proyek ini dirancang sebuah solar tracker dua sumbu (horizontal dan vertikal) menggunakan sensor cahaya dan motor servo sebagai aktuator. Untuk mengatur pergerakan motor agar stabil dan responsif, digunakan algoritma kendali PID digital yang diimplementasikan pada Arduino.
### 1.2 Tujuan (*sesuaikan isinya dengan proyek kelompok*)
1. Merancang sistem kendali tertutup (*Closed Loop*) menggunakan metode PID pada solar tracker.
2. Menganalisis respon transien sistem solar tracker(*Rise time, Settling time, Overshoot*).
3. Menguji ketahanan (*robustness*) sistem solar tracker terhadap gangguan eksternal.
### 1.3 Spesifikasi Desain (Target *Performance*)
| Parameter Kinerja | Simbol | Target Nilai | Alasan/Justifikasi (Mengapa memilih angka ini?) |
| :--- | :---: | :--- | :--- |
| **Settling Time** | $T_s$ | < 3 detik | Agar servo SG90 tidak cepat rusak, respons sistem sengaja dibuat tidak terlalu agresif. |
| **Max. Overshoot** | $M_p$ | < 15 % | Servo SG90 memiliki karateristik inersia mekanik sehingga overshoot wajar terjadi |
| **Steady State Error** | $e_{ss}$ | 5 % | Program menggunakan deadband toleransi sebesar 5% |
| **Kriteria Kestabilan** | - | 5 % | Karena sensor LDR memiliki noise dan servo memiliki *gear backlash*, maka kriteria 2% akan membuat sistem sulit mencapai titik stabil |
---
## 2. Desain dan Pemodelan Sistem
### 2.1 Diagram Blok Sistem

Penjelasan Diagram Blok
1. Set Point
Set point pada sistem ini adalah kondisi intensitas cahaya matahari pada sensor LDR. Ketika intensitas cahaya yang diterima oleh sensor pada sisi kiri–kanan dan atas–bawah panel berada pada kondisi seimbang, maka panel dianggap telah berada pada posisi optimal terhadap arah datangnya cahaya matahari.
2. Comparator
Berfungsi sebagai pembandingan set point itensitas cahaya dengan sinyal umpan balik yang berasal dari sensor LDR. Hasil dari komparator menunjukkan perbedaan kondisi antara intensitas cahaya yang diinginkan dan intensitas cahaya yang masuk sebelumnya atau sebelum dikoreksi.
3. Controller (PID Arduino)
Controller menggunakan algoritma PID digital yang diimplementasikan pada Arduino. Keluaran dari komparator diproses oleh controller untuk menghasilkan sinyal kendali yang sesuai, sehingga sistem dapat melakukan koreksi posisi panel secara stabil.
4. Actuator (Motor Servo)
Actuator pada sistem ini menggunakan dua motor servo. Satu motor servo digunakan untuk menggerakkan panel pada sumbu horizontal, dan satu motor servo lagi digunakan untuk menggerakkan panel pada sumbu vertikal. Motor servo menerima sinyal PWM dari Arduino dan mengubahnya menjadi gerakan sudut.
5. Process (Panel dan Rangka)
Process merupakan panel surya beserta rangka mekaniknya. Gerakan motor servo akan menyebabkan perubahan posisi panel terhadap arah datang cahaya matahari.
6. Controlled Variable (Sudut)
Controlled variable pada sistem ini sudut atau posisi panel surya. Sudut panel inilah yang dikendalikan agar panel selalu mengarah lurus ke sumber cahaya.
7. Sensor (LDR)
Sensor yang digunakan adalah Light Dependent Resistor (LDR). Sensor ini mendeteksi intensitas cahaya yang mengenai panel dan mengubahnya menjadi sinyal listrik yang dibaca oleh Arduino sebagai kondisi aktual sistem.
8. Feedback
Feedback berasal dari nilai sensor LDR setelah panel bergerak. Nilai ini dikirim kembali ke bagian actuator untuk dibandingkan dengan set point, sehingga sistem dapat melakukan koreksi posisi secara terus-menerus.
### 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)**
Tuliskan persamaan matematis kontroler PID yang diimplementasikan:
$$u(t) = K_p e(t) + K_i \int e(t) dt + K_d \frac{de(t)}{dt}$$
Bentuk diskrit yang digunakan dalam kode:
1. Suku Proporsional ($P$)
$$P(k) = K_p \cdot e(k)$$
2. Suku Integral ($I$)
$$I(k) = I(k-1) + K_i \cdot e(k) \cdot \Delta t$$
3. Suku Derivatif ($D$)
$$D(k) = K_d \cdot \frac{e(k) - e(k-1)}{\Delta t}$$
Sehingga sinyal kendali total pada saat ke-$k$ adalah:
$$u(k) = P(k) + I(k) + D(k)$$
**B. Metode Tuning Ziegler-Nichols (Z-N)**
Wajib memilih salah satu metode Z-N sebagai dasar penentuan parameter:
* **Tipe 1 (Osilasi Kontinu):** Berdasarkan $K_p$' dan $T_c$ saat sistem mulai berosilasi stabil.
Metode ini dipilih karena proses tuning dilakukan pada kondisi *Open-Loop*, jika memakai metode osilasi kontinu dikhawatirkan servo akan cepat rusak.
Namun, karena karakteristik motor servo SG90 yang memiliki gear backlash dan sensor LDR yang memiliki noise hasil gain yang didapat dari perhitungan menggunakan Zieger-Nichols diprediksi akan menyebabkan alat berosilasi.
Fenomena backlash ini menciptakan zona mati (dead zone) mekanis yang dapat memicu osilasi siklus batas (limit cycle) pada sistem kendali tertutup. Selain itu, datasheet spesifikasi SG90 menyatakan adanya 'dead band width' elektronik, yang berarti kontroler tidak akan merespons sinyal error di bawah ambang batas tertentu. Kombinasi ini menyebabkan parameter hasil kalkulasi Ziegler-Nichols menjadi kurang optimal dan cenderung agresif, sehingga diperlukan penyesuaian eksperimental.
**C. Model Plant (Motor)**
* **Motor Servo (Position Control)**
Sistem didekati sebagai **Integrator** atau **Orde 1** (jika ada osilasi mekanik).
$$G(s) = \frac{\omega(s)}{V(s)} = \frac{K}{\tau s + 1}$$
*(Output adalah Posisi Sudut $\theta$).*
### 2.3 Spesifikasi Perangkat Keras
* **Motor:** (Servo SG90, 4.8V hingga 6V DC, 0.1 detik/60 derajat / 1.8 kg/cm, 180 derajat)
* **Driver:** (Menggunakan sinyal PWM dari Arduino Uno)
* **Sensor:** LDR (Light Dependent Resistor) GL55xx
* **Kontroler:** (Arduino Uno 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):** Berikan PWM bertahap (0% s.d. 100%), catat RPM yang dihasilkan (*jika sulit menggunakan tachometer seperti yang digunakan saat asesmen praktik CLO 1, dapat menggunakan TCRT5000 atau Optocoupler Speed Sensor yang dihubungkan ke mikrokontroler*).
* **Skenario B (Servo/Stepper - Posisi):** Berikan perintah posisi bertahap (0$^\circ$, 30$^\circ$, ..., 180$^\circ$), catat sudut aktual yang terukur sensor (*dapat menggunakan busur derajat*).
**Tabel 3.1 Data Pengujian Linearitas Open-Loop**
| Input Perintah <br> (Derajat) | Output Horizontal <br> (Aktual) | Output Vertikal <br> (Aktual) | Error Hori <br> (Derajat) | Error Vert <br> (Derajat) |
| :---: | :---: | :---: | :---: | :---: |
| **0** | 5 | 3 | +5 | +3 |
| **30** | 35 | 33 | +5 | +3 |
| **60** | 65 | 63 | +5 | +3 |
| **90** | 93 | 93 | +3 | +3 |
| **120** | 128 | 123 | +8 | +3 |
| **150** | 154 | 153 | +4 | +3 |
| **180** | 180 | 180 | 0 | 0 |
**Grafik Karakteristik:**
Buatlah grafik hubungan *Input* vs *Output*:
* **Sumbu X (*Input*):** Nilai Perintah (Duty Cycle % **atau** Sudut Target **atau** Frekuensi).
* **Sumbu Y (*Output*):** Respon Terukur (RPM **atau** Sudut Aktual).

**Analisis:**
1. Berdasarkan grafik di atas, karakteristik kedua motor servo menunjukkan perilaku yang Linear. Hal ini terlihat dari garis grafik yang bergerak lurus naik mengikuti garis referensi ideal (abu-abu putus-putus).
Sehingga dapat disimpulkan perubahan input perintah sebanding dengan perubahan sudut aktual. Karena sistem bersifat linear, maka penggunaan kontroler PID standar sangat cocok dan dapat diterapkan tanpa memerlukan algoritma linearisasi tambahan.
2. Pada saat diberikan input perintah 0$^\circ$, motor servo tidak benar-benar berada di posisi 0$^\circ$ mutlak.
Servo Horizontal: Terukur aktual pada sudut 5$^\circ$.
Servo Vertikal: Terukur aktual pada sudut 3$^\circ$.
Selisih awal ini menunjukkan adanya ketidakpresisian pada potensiometer internal servo SG90. Ini wajar pada komponen murah, namun error ini nantinya diharapkan dapat dikoreksi oleh sistem Closed-Loop (PID) saat sensor cahaya aktif.
3. Saat input dinaikkan hingga maksimal (180$^\circ$), output servo terus bertambah dan tidak mengalami saturasi dini (berhenti sebelum waktunya).
Output Horizontal mencapai 180$^\circ$.
Output Vertikal mencapai 180$^\circ$.
#### 3.1.1 Identifikasi Sistem dan Fungsi Transfer
Proses pengambilan data respon langkah dilakukan dengan memberikan perintah posisi sebesar 90 dari keadaan diam 40.
$$G(s) = \frac{\omega(s)}{V(s)} = \frac{K}{\tau s + 1}$$
$$K = \frac{\Delta Output}{\Delta Input}$$
**Dimana:**
* **Input:** Besar perubahan input (misal: 40 ke 90, berarti Input = 50).
* **Output:** derajat aktual yang terukur atau dicapai oleh motor servo saat kondisinya sudah diam/stabil (steady state).
* **Time Constant:** Waktu yang dibutuhkan servo untuk mencapai 63.2% dari target akhirnya (31.6 [0 - 50] / 71.6 [40 - 90]).
**a. Vertikal:**
* τ: 0.09
* Input: 50
* Output: 53
$$K = \frac{\Delta Output}{\Delta Input}=\frac{53}{50}= 1.06$$
$$G(s) = \frac{\omega(s)}{V(s)} = \frac{K}{\tau s + 1}= \frac{1.06}{0.09 + 1} = 0.97$$
**b. Horizontal:**
* τ: 0.09
* Input: 50
* Output: 53
$$K = \frac{53}{50}= 1.06$$
$$G(s) = \frac{\omega(s)}{V(s)} = \frac{K}{\tau s + 1}= \frac{1.06}{0.09 + 1} = 0.97$$
### 3.2 Analisis Perbandingan Respons (*Step Response*)
#### 3.2.1 Analisis Respon Servo Horizontal
Berdasarkan pengujian tuning parameter PID pada servo horizontal, didapatkan tiga karakteristik respon yang berbeda seperti yang ditunjukkan pada Tabel 3.1. Perbandingan dilakukan dengan memvariasikan nilai konstanta proporsional ($K_p$) dan derivatif ($K_d$).
| 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* |
| :--- | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
| Hanya P | 1.0, 0, 0 | 0.76s | 0.06s | 1.01s | 1.42s | 20% | 10° |
| #2 (Misal: Osilasi) | 0.015, 0, 0.001 | 0.28s | 0.13s | 0.65s | *osilasi* | -2% | 1° |
| #3 (PID Optimal) | 0.023, 0, 0.0 | 0.72s | 0.20s | 0.92s | 4.78s | 10% | 0° |
1. Analisis Respon Proportional-Only (Skenario #1: P-Only)
Pada percobaan ini, senter dinyalakan pada detik ke-18.59 (posisi $0^\circ$). Sistem menunjukkan respon yang sangat agresif akibat nilai Gain Proportional yang dominan tanpa peredaman.
* Respon Transien: Sistem bergerak sangat cepat, mencapai 50% dari target ($45^\circ$) pada detik ke-19.35, menghasilkan Delay Time ($T_d$) sebesar 0.76 detik. Kenaikan dari 10% hingga 90% target terjadi dalam interval yang sangat singkat, yaitu antara detik 19.32 hingga 19.38, sehingga Rise Time ($T_r$) tercatat hanya 0.06 detik.
* Puncak & Kesalahan: Karena momentum yang terlalu besar, sistem mengalami overshoot hingga mencapai sudut $100^\circ$ pada Peak Time detik ke-19.60.
* Steady State: Setelah lonjakan tersebut, sistem langsung berhenti dan bertahan di posisi $100^\circ$ pada detik ke-20.00 (Settling Time).
* Alasan Perilaku: Perilaku ini khas dari pengendali P-murni. Meskipun responnya cepat, ketiadaan komponen Integral atau Derivatif menyebabkan sistem memiliki Steady State Error ($E_{ss}$) yang besar, yaitu 10° (selisih antara target $90^\circ$ dan posisi akhir $100^\circ$), dan Overshoot sebesar 20%. Gaya proporsional tidak lagi cukup kuat untuk menarik servo kembali ke $90^\circ$ melawan gesekan statis mekanik.

2. Analisis Respon Tidak Stabil/Osilasi (Skenario #3: Osilasi)
Skenario ini menunjukkan sistem yang under-damped (kurang peredaman). Senter dinyalakan pada detik ke-0.27.
* Respon Transien: Sistem memiliki respon awal yang paling cepat dibandingkan skenario lainnya. Target 50% tercapai pada detik ke-0.55 (Delay Time 0.28 detik). Kenaikan signifikan dari 10% ke 90% terjadi antara detik 0.48 hingga 0.61 (Rise Time 0.13 detik).
* Perilaku Osilasi: Sistem mencapai puncak pertamanya di sudut $89^\circ$ pada detik ke-0.92. Namun, alih-alih stabil, sistem mengalami osilasi hebat. Dari data terlihat sistem jatuh ke sudut $55^\circ$ pada detik 1.12, naik kembali ke $89^\circ$ pada detik 1.48, turun lagi ke $49^\circ$ pada detik 4.09, dan terus berulang hingga akhir pengujian (detik 5.5).
* Alasan Perilaku: Ketidakstabilan ini terjadi karena kombinasi gain yang tidak tepat (kemungkinan $K_p$ terlalu rendah untuk menahan posisi atau gangguan eksternal). Meskipun nilai error rata-rata kecil (Ess sekitar 1° saat di puncak), sistem gagal mencapai Settling Time karena terus bergerak menjauhi dan mendekati setpoint tanpa henti.

3. Analisis Respon Terbaik/Optimal (Skenario #2: Horizontal Terbaik)Skenario ini merepresentasikan keseimbangan terbaik antara kecepatan dan stabilitas. Senter mulai menyala pada detik ke-30.31 ($0^\circ$).
* Respon Transien: Sistem merespon dengan kecepatan moderat namun terkendali. Titik 50% target ($45^\circ$) dicapai pada detik ke-31.03, menghasilkan Delay Time sebesar 0.72 detik. Rise Time tercatat selama 0.20 detik, di mana sistem bergerak dari 10% ($9^\circ$) pada detik 30.95 menuju 90% ($81^\circ$) pada detik 31.15.
* Puncak & Penyelesaian: Sistem mencapai nilai maksimum (Peak Time) pada detik 31.23 di sudut $95^\circ$. Overshoot ini relatif kecil (10%) dan segera diredam.
* Steady State: Sistem berhasil stabil sepenuhnya (Settling Time) pada detik ke-35.09, di mana posisi servo terkunci tepat di sudut $90^\circ$.
* Alasan Perilaku: Respon ini dianggap terbaik karena menghasilkan Steady State Error sebesar 0°. Parameter PID yang digunakan mampu memberikan daya angkat yang cukup untuk mencapai target, mentoleransi sedikit overshoot untuk memastikan respon cepat, namun memiliki peredaman yang cukup untuk menghilangkan osilasi dan mengoreksi error hingga nol.

#### 3.2.2 Analisis Respon Servo Vertikal
Berdasarkan pengujian tuning parameter PID pada servo vertikal, didapatkan tiga karakteristik respon yang berbeda seperti yang ditunjukkan pada Tabel 3.2. Perbandingan dilakukan dengan memvariasikan nilai konstanta proporsional ($K_p$) dan derivatif ($K_d$). Pengujian pada servo vertikal menunjukkan tantangan yang berbeda dibandingkan horizontal, terutama karena adanya pengaruh gaya gravitasi yang melawan torsi motor.
| 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 (Misal: Hanya P) | 0.1, 0, 0 | 0.55s | 0.35s | 2.33s | 2.69s | 90% | 45° |
| #2 (Misal: Osilasi) | 0.1, 0, 0.1 | 1.24s | 1.23s | 5.65s | *osilasi* | 84% | 42° |
| #3 (PID Optimal) | 0.01, 0, 0.0 | 4.86s | 0.58s | 5.39s | 5.48s | 4% | 2° |
1. Analisis Respon Proportional-Only (Skenario #1)Pada percobaan ini, senter dinyalakan pada detik ke-5.82 ($0^\circ$). Dengan nilai $K_p = 0.1$, sistem menunjukkan respon yang cukup cepat namun memiliki akurasi yang buruk.
* Respon Transien: Sistem mulai bergerak naik dan mencapai 50% target ($45^\circ$) pada detik ke-6.37, yang menghasilkan Delay Time ($T_d$) sebesar 0.55 detik. Waktu yang dibutuhkan untuk naik dari 10% ke 90% target (Rise Time) tercatat cukup singkat, yaitu 0.35 detik (antara detik 6.29 hingga 6.64).
* Puncak & Kesalahan: Momentum yang tidak teredam menyebabkan servo melesat jauh melebihi target hingga mencapai sudut puncak $135^\circ$ pada detik ke-8.15 (Peak Time). Ini menghasilkan Overshoot yang sangat besar, yaitu 90%.
* Steady State: Sistem kemudian terkunci pada posisi $135^\circ$ mulai detik ke-8.51 (Settling Time).
* Alasan Perilaku: Tanpa adanya komponen Integral (I) untuk mengakumulasi error atau Derivatif (D) untuk mengerem laju, gaya proporsional saja tidak mampu mengoreksi posisi servo kembali ke $90^\circ$ setelah lonjakan awal. Akibatnya, terjadi Steady State Error ($E_{ss}$) yang masif sebesar 45°.

2. Analisis Respon Tidak Stabil/Osilasi (Skenario #2)Pada skenario ini ($K_p=0.1, K_d=0.1$), senter dinyalakan pada detik ke-9.75. Respon sistem menunjukkan ketidakstabilan parah (osilasi acak) yang mengindikasikan kegagalan sistem kendali dalam melawan dinamika beban vertikal.
* Respon Transien: Sistem mencapai 50% target pada detik ke-10.99 (Delay Time 1.24 detik) dan menyelesaikan fase Rise Time (10% ke 90%) dalam 1.23 detik.
* Perilaku Osilasi: Setelah melewati fase rise, sistem tidak pernah stabil. Pergerakan servo sangat fluktuatif dengan urutan sebagai berikut:
* Lonjakan awal ke $105^\circ$ (detik 11.05), sempat menyentuh $90^\circ$ (detik 11.32), lalu naik lagi ke $120^\circ$ (detik 12.22).
* Setelah kembali menyentuh $90^\circ$ (detik 12.67), sistem melonjak ke $130^\circ$ (detik 13.38).
* Terjadi penurunan drastis (drop) hingga ke sudut $65^\circ$ pada detik 13.42.
* Sistem kembali naik ke $125^\circ$ (detik 14.16), melewati $90^\circ$ (detik 14.64), hingga akhirnya mencapai puncak tertinggi (Peak Time) di sudut $132^\circ$ pada detik ke-15.40. Osilasi ini terus berlanjut hingga detik ke-17.34 dan seterusnya.
* Alasan Perilaku: Penambahan gain Derivatif ($K_d$) yang dikombinasikan dengan $K_p$ yang relatif tinggi pada beban vertikal justru memicu instabilitas. Sistem berusaha mengoreksi error dengan cepat namun justru menghasilkan Overshoot sebesar 84% dan error rata-rata (Ess) sekitar 42° pada titik puncaknya, tanpa pernah mencapai Settling Time.

3. Analisis Respon Optimal (Skenario #3)Skenario ini menggunakan $K_p$ yang sangat kecil ($0.01$) untuk memprioritaskan kestabilan dan akurasi. Senter mulai menyala pada detik ke-25.94.
* Respon Transien: Sistem merespon dengan sangat lambat di awal, ditandai dengan Delay Time yang panjang yaitu 4.86 detik (mencapai 50% target pada detik ke-30.80). Hal ini wajar karena $K_p$ yang kecil membutuhkan waktu untuk mengumpulkan torsi yang cukup guna melawan inersia diam. Namun, begitu bergerak, Rise Time sistem cukup baik yaitu 0.58 detik.
* Puncak & Penyelesaian: Sistem mencapai sudut maksimum $92^\circ$ pada detik ke-31.33 (Peak Time). Nilai ini hanya berselisih sedikit dari target, menghasilkan Overshoot minimal sebesar 4%.
* Steady State: Sistem segera stabil (Settling Time) pada detik ke-31.42, bertahan di sudut $92^\circ$.
* Alasan Perilaku: Meskipun memiliki respon awal yang lambat (sluggish), konfigurasi ini adalah yang terbaik karena berhasil meminimalkan osilasi dan memberikan akurasi tinggi. Steady State Error berhasil ditekan hingga hanya 2°, yang sangat dapat diterima untuk mekanisme pergerakan vertikal yang melawan gravitasi.

### 3.3 Uji Konsistensi (Repeatability Test)
1. Servo Horizontal
**Tabel 3.4 Statistik Konsistensi Kinerja (Misal N=5)**
| Percobaan Ke- | *Settling Time* ($T_s$) | *Overshoot* (%) |
| :--: | :---: | :---: |
| 1 | 3.03s | 0% |
| 2 | 3.00 | 0% |
| 3 | 3.39s | 0% |
| 4 | 2.94s | 0% |
| 5 | 3.33s | 0% |
| 6 | 3.73s | 0% |
| **Rata-rata ($\mu$)** | **3.24s** | **0%** |
| **Standar Deviasi ($\sigma$)** | **0.30s** | **0%** |
Data - data pada tabel diatas didapatkan melalui satu kali pengambilan video panjang yang berisi 6 kali uji coba. Berikut adalah contoh perhitungan sampel data yang diambil dari Tes ke-4 dan Tes ke-6:
* Sampel Tes 4 (Durasi Tercepat):$$T_s = t_{steady} - t_{start} = 27.2s - 24.26s = \mathbf{2.94\text{ detik}}$$
* Sampel Tes 6 (Durasi Terlama):$$T_s = t_{steady} - t_{start} = 40.70s - 36.97s = \mathbf{3.73\text{ detik}}$$
Berdasarkan data dari keenam percobaan (Tabel 2), sistem servo horizontal mencatatkan waktu penyelesaian tercepat sebesar 2.94 detik dan terlama 3.73 detik. Secara statistik, rata-rata waktu penyelesaian ($\mu$) adalah 3.24 detik. Nilai standar deviasi ($\sigma$) yang diperoleh sebesar 0.30 detik menunjukkan sebaran data yang sempit. Hal ini mengindikasikan bahwa meskipun terdapat beban inersia pada pergerakan horizontal, kontroler PID mampu menghasilkan respon yang sangat konsisten dengan penyimpangan waktu yang minim antar percobaan.
2. Servo Vertikal
| Percobaan Ke- | *Settling Time* ($T_s$) | *Overshoot* (%) |
| :--: | :---: | :---: |
| 1 | 0.91s | 0% |
| 2 | 0.96s | 0% |
| 3 | 0.96s | 0% |
| 4 | 1.37s | 0% |
| 5 | 1.30s | 0% |
| 6 | 0.66s | 0% |
| **Rata-rata ($\mu$)** | **1.03** | **0%** |
| **Standar Deviasi ($\sigma$)** | **0.26s** | **0%** |
Berdasarkan Tabel 3, pengujian konsistensi pada servo vertikal dilakukan sebanyak 6 kali pada video yang berbeda.
Berikut adalah contoh perhitungan waktu respon pada sampel ekstrim (tercepat dan terlambat):
* Sampel Tes 6 (Respon Tercepat):$$T_s = 1.52s - 0.86s = \mathbf{0.66\text{ detik}}$$
* Sampel Tes 4 (Respon Terlambat):$$T_s = 1.76s - 0.39s = \mathbf{1.37\text{ detik}}$$
Hasil menunjukkan karakteristik yang berbeda dibandingkan servo horizontal:
* Kecepatan Respon: Rata-rata Settling Time untuk pergerakan vertikal adalah 1.03 detik. Ini jauh lebih cepat dibandingkan servo horizontal (3.24 detik). Hal ini kemungkinan disebabkan oleh tuning PID vertikal yang lebih agresif.
* Konsistensi: Standar deviasi yang diperoleh adalah 0.26 detik. Meskipun terdapat variasi rentang waktu antara 0.66 detik hingga 1.37 detik, standar deviasi ($\sigma$) yang dihasilkan tetap rendah. Nilai ini tergolong kecil dan mirip dengan hasil servo horizontal (0.30 detik), yang mengindikasikan bahwa sistem kendali vertikal juga reliabel dan konsisten.
### 3.4 Uji Gangguan (Disturbance Rejection)
* Dalam prosedur pengujian respon sistem, terdapat keterbatasan teknis akibat penentuan posisi setpoint (sumber cahaya) yang dilakukan secara manual menggunakan tangan. Hal ini menyebabkan posisi target tidak sepenuhnya presisi dan konsisten antar percobaan.
* Untuk menstandarisasi evaluasi kinerja, ditetapkan batas waktu penyelesaian maksimum selama 4 detik dengan ketentuan sebagai berikut:
* Jika sistem berhasil mencapai setpoint sebelum 4 detik, maka waktu yang dicatat adalah waktu aktual tersebut.
* Jika respon sistem hanya mendekati setpoint atau terus berosilasi ringan hingga batas waktu habis, maka nilai settling time ditetapkan sebesar 4 detik.
* Pengukuran parameter waktu dilakukan dengan merekam grafik secara real time dan mengambil waktu tertentu tergantung pada state yang terjadi pada rekaman. Berikut state yang direkam:
* $T_{initial}$: Waktu awal perekaman data.
* $T_{start}$: Waktu saat gangguan (disturbance) mulai diberikan.
* $T_{release}$: Waktu saat gangguan dilepaskan.
* $T_{settled}$: Waktu saat sistem kembali stabil di setpoint.
* $T_{recovery}$: Durasi pemulihan sistem, dihitung dengan rumus:
$T_{recovery} = T_{settled} - T_{release}$.
**1. Uji gangguan pada servo vertikal**
* **Gambar:** Ketika stabil dan gangguan terjadi
* Tinitial (waktu mulai): 49.74s
* Tstart (waktu beban diberi): 51.84s

* **Gambar:** Ketika Kembali stabil
* Trelease (waktu beban dilepas): 54.74s
* Tsettled (waktu servo stabil): 58.51s


* **Analisis:** Berapa detik waktu yang dibutuhkan sistem untuk kembali stabil (*Recovery Time*)?
**Spesifikasi Waktu Vertical**
* Tinitial: 49.74s
* Tstart: 51.84s
* Trelease: 54.74s
* Tsettled: 58.51s
* Recovery time: 58.51 - 54.74 = 3.77s
**2. Uji gangguan pada servo horizontal**
* **Gambar:** Ketika stabil dan gangguan terjadi
* Tinitial: 3.02.11s
* Tstart: 3.04.74s

* **Gambar:** Ketika Kembali stabil
* Trelease: 3.07.30s
* Tsettled: 3.11.30s


**Spesifikasi Waktu Horizontal**
* Tinitial: 3.02.11s
* Tstart: 3.04.74s
* Trelease: 3.07.30s
* Tsettled: 3.11.30s
* Recovery time: 3.07.30 - 3.11.30 = 4.00s
### 3.5 Pengujian Konsumsi Daya Motor Servo (Power Consumption Test)
Pengujian ini bertujuan untuk mengecek kebutuhan tegangan dan arus pada kedua servo di sistem Solar Tracker, Untuk memastikan catu daya mampu menangani lonjakan arus saat servo bergerak dengan beban dari panel.
Data diambil menggunakan multimeter yang dihubungkan seri untuk menghitung arus servo, dan paralel untuk menghitung tegangan servo.
**1. Pengujian Servo Horizontal**
Pada pengujian ini, servo horizontal diperintahkan bergerak dari sudut $0^\circ$ menuju $150^\circ$.
| Kondisi Gerak | Tegangan Servo Horizontal ($V$) | Arus Servo Horizontal ($I$) | Daya ($P = V \times I$) |
| :--- | :---: | :--- | :--- |
| Standby 0° | 5.18 V | 0.002 A | 0.0104 Watt |
| $0^\circ \to 150^\circ$ | 4.4 v | 0.417 A | 1.835 Watt |
| Sampai di 150° | 5.18 V | 0.002 A | 0.0104 Watt |
Analisis horizontal:
* Tegangan ($V$): Saat bergerak jauh, tegangan suplai pada servo ini mengalami penurunan (drop) yang cukup tinggi hingga menyentuh angka 4.4 V. Penurunan ini menandakan bahwa servo menarik energi yang sangat besar secara tiba-tiba, sehingga memberikan beban pada jalur listrik.
* Arus ($I$): Arus yang mengalir melonjak hingga 0.417 A. Tingginya arus ini karena posisi servo horizontal berada di paling bawah dan harus memutar momen inersia total dari seluruh alat (beban servo vertikal + rangka + panel surya).
* Daya ($P$): Akibat kombinasi arus tersebut, daya yang dikonsumsi mencapai 1.835 Watt. Ini membuktikan bahwa memutar seluruh beban membutuhkan energi paling besar dibandingkan bagian lain.
**2. Pengujian Servo Vertikal**
Pada pengujian ini, servo horizontal diperintahkan bergerak jauh dari sudut $40^\circ$ menuju $150^\circ$.
| Kondisi Gerak | Tegangan Servo ($V$) | Arus Servo ($I$) | Daya ($P = V \times I$) |
| :--- | :---: | :--- | :--- |
| Standby 40° | 5.18 V | 0.002 A | 0.0104 Watt |
| $40^\circ \to 150^\circ$ | 4.878 V | 0.359 A | 1.751 Watt |
| Sampai di 150° | 5.18 V | 0.002 A | 0.0104 Watt |
Analisis vertikal:
* Tegangan ($V$): Berbeda dengan horizontal, tegangan pada servo vertikal jauh lebih stabil di angka 4.878 V. Ini menunjukkan bahwa beban kerja servo vertikal tidak sampai membuat suplai daya drop parah.
* Arus ($I$): Arus yang dibutuhkan tercatat sebesar 0.359 A. Arus untuk mengangkat panel sedikit lebih kecil dibandingkan arus untuk memutar poros bawah horizontal.
* Daya ($P$): Konsumsi dayanya adalah 1.751 Watt. Lebih kecil dari horizontal ini terjadi karena servo hanya fokus menggerakkan engsel panel, bukan menggerkan berat keseluruhan rangka.
**3. Kesimpulan Kebutuhan daya dari kedua Servo**
Dari hasil pengukuran Tegangan, Arus, dan Daya di atas, dapat disimpulkan:
Stabilitas Tegangan: Servo Horizontal menyebabkan voltage drop paling rendah (turun sampai 4.4 V). Namun, karena sistem masih berjalan normal dan tidak reset, berarti tegangan 4.4 V masih masuk dalam batas toleransi aman servo SG90. Sedangkan servo Vertikal sangat aman di 4.8 V.
Jika kedua servo bergerak bersama dalam kondisi terberat, total arus yang mengalir diprediksi hanya:
$$I_{total} \approx 0.417 \text{ A} + 0.359 \text{ A} = \mathbf{0.776 \text{ A}}$$
Dari tolal arus tersebut dengan skenario terburuk dengan kedua servo bergerak masih batas aman menggunakan suplai daya dari tegangan arduino 5v (arus max arduino 900mA)
---
## 4. Evaluasi dan Analisis Kinerja
### 4.1 Validasi Spesifikasi
| Parameter Kinerja | Target Awal | Hasil Rata-rata (horizontal) | Hasil Rata-rata (Vertikal) | Status Keberhasilan |
| :--- | :---: | :--- | :--- | :--- |
| **Settling Time ($T_s$)** | < 3 detik | 3.24 detik | 1.03 detik | Tercapai (Vertikal) / Tidak Tercapai (Horizontal) |
| **Max. Overshoot ($M_p$)** | < 15 % | 0% | 0% | Tercapai |
| **Steady State Error($e_{ss}$)** | 5% | $0^\circ$ | $2^\circ$ | Tercapai
| **Kriteria Kestabilan** | 5 % | $\sigma$: 0.30 detik | $\sigma$: 0.26 detik |Tercapai
1. Settling Time ($T_s$):
* Servo Vertikal:
Berhasil memenuhi target dengan sangat baik, mencatatkan waktu rata-rata 1.03 detik (jauh di bawah batas maksimum 3 detik). Hal ini menunjukkan respons sistem vertikal sangat tangkas dalam mencapai posisi stabil.
* Servo Horizontal: Mencatatkan waktu rata-rata 3.24 detik, yang mana sedikit melebihi target awal (< 3 detik) dengan selisih 0.24 detik. Meskipun secara teknis sedikit meleset dari target angka, keterlambatan ini merupakan trade-off desain yang disengaja untuk memastikan tidak terjadi osilasi (0% overshoot). Mengingat pergerakan matahari yang lambat, deviasi 0.24 detik ini dianggap masih dalam batas toleransi yang dapat diterima dan tidak mengurangi efektivitas pelacakan cahaya.
2. Maksimum Overshoot ($M_p$):
Kedua sumbu (Horizontal dan Vertikal) berhasil menekan overshoot hingga 0% pada konfigurasi PID optimal. Hasil ini jauh lebih baik dari batas toleransi yang diizinkan (15%). Ketiadaan overshoot ini sangat krusial untuk menjaga keawetan roda gigi (gear) mekanik servo SG90 agar tidak cepat aus akibat sentakan berlebih.
3. Steady State Error ($e_{ss}$):
Sistem mampu mencapai ketelitian tinggi. Servo horizontal mencapai error statis $0^\circ$ dan vertikal $2^\circ$. Kedua nilai ini berada jauh di bawah ambang batas toleransi kesalahan sensor (5%), membuktikan bahwa algoritma PID mampu menghilangkan offset posisi dengan efektif meskipun menggunakan sensor LDR yang memiliki noise.
Secara keseluruhan, sistem Solar Tracker dinyatakan memenuhi spesifikasi. Meskipun terdapat sedikit deviasi waktu pada sumbu horizontal, sistem menunjukkan karakteristik yang sangat stabil (robust), presisi, dan aman bagi komponen mekanik.
### 4.2 Analisis Mendalam
1. Analisis Pengaruh Gain:
Berdasarkan eksperimen tuning yang dilakukan, kami menemukan bahwa struktur kendali yang paling optimal untuk sistem ini bukanlah PID lengkap, melainkan hanya Proporsional (P-Only). Berikut analisis pengaruh perubahan parameternya:
* $K_p$ (Proportional Gain):
Parameter ini memiliki pengaruh paling signifikan terhadap respons sistem. Kenaikan nilai $K_p$ berbanding lurus dengan kecepatan motor (Rise Time) dalam mengejar sumber cahaya. Namun, kami menemukan batasan fisik di mana nilai $K_p$ yang terlalu besar menyebabkan sistem menjadi terlalu agresif. Pada servo horizontal, $K_p$ yang tinggi menyebabkan overshoot berlebih, sedangkan pada vertikal, $K_p$ yang terlalu rendah tidak kuat mengangkat beban panel. Oleh karena itu, $K_p$ diset pada nilai moderat ($0.023$ Horizontal dan $0.01$ Vertikal) untuk menyeimbangkan kecepatan respons dengan kestabilan gerak.
* $K_i$ (Integral Gain):
Secara teori, $K_i$ berfungsi menghilangkan Steady State Error. Namun, dalam percobaan kami, penambahan nilai $K_i$ (bahkan nilai kecil sekalipun) justru merusak kestabilan sistem. Hal ini disebabkan oleh karakteristik sensor LDR yang memiliki noise fluktuasi cahaya sekitar. Suku Integral mengakumulasi error kecil akibat noise tersebut terus-menerus (integral windup pada skala mikro), menyebabkan servo bergerak-gerak sendiri (bergetar) meskipun posisi sudah pas. Oleh karena itu, kami memutuskan nilai $K_i = 0$ dan mengganti fungsinya dengan penerapan logika Deadband (toleransi 5%), yang terbukti lebih efektif membuat sistem tenang saat error sudah kecil.
* $K_d$ (Derivative Gain):
Suku Derivatif seharusnya berfungsi sebagai peredam (damping) untuk mencegah overshoot. Akan tetapi, hasil eksperimen menunjukkan bahwa mengaktifkan $K_d$ justru menyebabkan amplifikasi noise. Karena sinyal LDR tidak mulus, turunan dari sinyal noise menghasilkan lonjakan nilai $D$ yang besar, membuat gerakan servo menjadi kasar dan patah-patah. Sistem kami ternyata sudah memiliki "peredaman alami" dari gesekan gigi (gear friction) pada servo SG90 yang cukup besar, sehingga tambahan peredaman elektronik dari $K_d$ tidak diperlukan. Maka, diputuskan nilai $K_d = 0$ untuk menjaga kehalusan gerakan servo.
2. **Analisis Stabilitas:**
a. Berdasarkan Uji Gangguan (Bab 3.4), seberapa tangguh sistem kelompok Anda? Apakah terjadi osilasi berlebih saat beban dilepas?
Berdasarkan data grafik pada Bab 3.4, sistem terbukti memiliki ketangguhan (robustness) yang cukup baik terhadap gangguan eksternal.
* Pada pengujian vertikal, sistem mampu melakukan pemulihan posisi (self-recovery) dalam waktu 3.77 detik setelah gangguan dilepas.
* Pada pengujian horizontal, waktu pemulihan tercatat 4.00 detik.
Memang terlihat adanya osilasi transien (ayunan) sebelum sistem benar-benar diam. Fenomena ini wajar terjadi karena kami menonaktifkan parameter $K_d$ (Derivative), sehingga tidak ada gaya pengereman aktif ("damping") elektronik. Namun, osilasi tersebut perlahan meredam secara alami dan kontroler Proporsional ($K_p$) berhasil mengembalikan posisi panel tepat ke setpoint yang ditentukan tanpa error berlebih.
b. Apakah metode *tuning* PID yang kelompok Anda gunakan sudah optimal untuk membuat sistem stabil dan mempertahankan kestabilannya?
Metode tuning P-Only (Hanya Proporsional) yang diterapkan sudah dinilai optimal dengan mempertimbangkan keterbatasan perangkat keras.
* Untuk sumbu Vertikal, kestabilan sangat baik dengan nilai $K_p=0.01$, di mana sistem tenang dan mampu melawan gravitasi.
* Untuk sumbu Horizontal, terkadang terlihat sedikit ketidakstabilan (gerakan minor) di sekitar setpoint. Analisis kami menunjukkan hal ini bukan sepenuhnya kesalahan parameter $K_p$, melainkan akibat metode pengujian menggunakan senter manual (dipegang tangan). Getaran alami tangan menyebabkan perubahan titik fokus cahaya yang cepat, dan sistem yang responsif berusaha mengejar perubahan tersebut. Mengingat Steady State Error horizontal berhasil mencapai $0^\circ$ (sesuai data Bab 3.3), parameter ini dianggap sudah cukup optimal untuk aplikasi pelacakan matahari yang sebenarnya bergerak lambat.
3. **Trade-off Desain:** Apa yang kelompok Anda korbankan untuk mencapai kestabilan? (Misal: Respon jadi agak lambat demi menghilangkan *overshoot*).
a. Pada hasil pengujian servo Horizontal didapatkan hasil rata rata Settling Time sebesar 3.24 detik yang seditik lebih lambat dari target < 3 detik. Hal ini disebabkan oleh $K_p$ yang bernilai kecil agar sistem lebih stabil, dapat dilihat juga pada pengujian horizontal biarpun posisi servo tidak mencapai setpoint atau hanya mendekati setpoint, servo tidak mengalamai osilasi dan stabil pada posisi tersebut.
b. Kami memberi tolernsi error sebanyak 5% pada kode program, yang menyebabkan sistem membiarkan error kecil (seperti pada error vertical 2°) dan tidak berusaha mengoreksinya terus menerus. Hal ini dilakukan agar servo tidak selalu bergerak menuju setpoint (sampai error = 0) akibat noise sensor LDR yang akan menyebabkan motor boros daya dan panas.
5. **Evaluasi Hardware:**
a. Batasan Fisik
* Presisi Sensor LDR
Sensor LDR yang digunakan memiliki karakteristik respon yang tidak sepenuhnya linear dan sangat sensitif terhadap perubahan cahaya sekitar (ambient light). Dalam pengujian, sering terjadi fluktuasi nilai pembacaan sensor (noise) meskipun intensitas cahaya konstan. Hal ini menyulitkan kontroler PID untuk mendapatkan nilai Input yang stabil, sehingga membatasi kemampuan sistem untuk mencapai Steady State Error mutlak 0°.
* Torsi Motor Servo SG90
Pada sumbu vertikal, motor ini bekerja mendekati batas kemampuannya untuk menahan beban panel melawan gravitasi. Hal ini terlihat dari respons vertikal yang membutuhkan recovery time cukup lama saat diberi gangguan, karena motor membutuhkan daya maksimal untuk mengangkat kembali beban panel.
b. Faktor Mekanik
* Gear Backlash:
Faktor mekanik yang paling signifikan mengganggu hasil kendali adalah backlash pada gearbox servo SG90. Terdapat sedikit celah atau "spasi kosong" pada gigi servo, sehingga ketika motor berbalik arah, terdapat jeda pergerakan lengan meskipun motor sudah berputar. Hal ini menjadi penyebab utama munculnya Steady State Error sebesar 2° pada sumbu vertikal, di mana PID merasa sudah menggerakkan motor ke posisi yang tepat, namun secara fisik lengan panel belum mencapai titik tersebut akibat celah gigi.
* Gesekan Statis dan Gravitasi:
Pada sumbu vertikal, terdapat ketidakseimbangan beban akibat gravitasi (naik lebih berat daripada turun). Kontroler PID standar yang kami gunakan bersifat simetris (nilai gain sama untuk naik/turun), sehingga respon sistem menjadi tidak seragam. Selain itu, gesekan statis pada engsel mekanik buatan tangan menyebabkan adanya gaya hambat awal yang harus dilawan oleh suku Integral atau Proporsional, yang terkadang menyebabkan gerakan servo terlihat "patah-patah" pada kecepatan rendah.
---
## 5. Kesimpulan dan Saran
### 5.1 Kesimpulan
1. Sistem kendali PID (Horizontal dan Vertical) **berhasil** diimplementasikan dengan parameter final: $K_p(h)=0.023, K_i(h)=0, K_d(h)=0$, $K_p(v)=0.01, K_i(v)=0, K_d(v)=0$
2. Kinerja sistem mencapai $T_s = 3.24$ detik dan Overshoot $0%$%.
3. Tingkat konsistensi sistem ditunjukkan dengan standar deviasi sebesar 0.30s untuk Horinzontal dan 0.26s untuk Vertical.
### 5.2 Saran Pengembangan
**1. Optimasi Desain Mekanik**: Desain perangkat keras dan pemodelan 3D perlu disempurnakan, khususnya terkait distribusi massa komponen. Penyeimbangan titik berat diperlukan agar beban panel surya merata, sehingga mengurangi beban kerja motor servo dan mencegah kemiringan yang tidak diinginkan.
**2. Peningkatan Resolusi Sensor**: Akurasi pelacakan posisi matahari dapat ditingkatkan dengan menambah jumlah sensor LDR menjadi 8 buah (sensor array). Hal ini bertujuan untuk memperhalus pembacaan sudut datang cahaya dan meningkatkan presisi sistem.
**3. Metode Tuning Analitis**: Penentuan parameter PID ($K_p, K_i, K_d$) sebaiknya dilakukan menggunakan pendekatan matematis berdasarkan fungsi transfer sistem (seperti metode perhitungan Ziegler-Nichols atau Root Locus), menggantikan metode trial-and-error manual. Hal ini bertujuan untuk mendapatkan parameter kendali yang lebih objektif dan terukur.
---
## Lampiran
* **Kode Program Utama (Arduino/C++):**
https://github.com/Garnie104/Tubes-SKM
* **Tautan Video Demonstrasi:**
https://youtu.be/NO8iAbdHz48
* **Dokumentasi Foto Alat:**
* 
* 
* 
* 
* <img src="https://hackmd.io/_uploads/rkc2gwCNbe.jpg" style="transform: rotate(90deg); width: 300px; margin: 80px 0;">
* <img src="https://hackmd.io/_uploads/SJq2xDAEbg.jpg" style="transform: rotate(90deg); width: 300px; margin: 80px 0;">
* Dokumentasi video:
https://youtube.com/shorts/D5EYggmfcAU?feature=share
* *(Lampirkan juga foto/video saat kerja kelompok maupun individu. Pastikan foto wajah terlihat dengan pekerjaan yang sedang dilakukan. Usahakan foto candid, bukan swafoto. Mahasiswa yang tidak nampak dalam dokumentasi, dianggap tidak ikut berkontribusi).*
---
## Panduan Checklist Kelengkapan (Alat bantu saja untuk memastikan tidak ada yang terlewat. Sesuaikan dengan yang sebenarnya.)
- [ ] Target Spesifikasi (Bab 1.3) terisi jelas.
- [ ] Pemodelan Matematis ada (Bab 2.2).
- [ ] Grafik Open Loop (Linearitas) ada (Bab 3.1).
- [ ] Tabel Perbandingan minimal 3 variasi tuning ada (Bab 3.2).
- [ ] Tabel Statistik Repeatability (5x data) ada (Bab 3.3).
- [ ] 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. |
---