
Pernah nggak sih, kalian lagi semangat bikin project drone atau robot, tapi pas dinyalain malah gerakannya “liar” alias nggak stabil sama sekali? Baling-balingnya malah bikin lengan robot kalian goyang nggak karuan gara-gara gravitasi atau angin. Jujur, momen ini emang bikin frustrasi banget buat kita yang baru nyemplung di dunia robotika.
Tapi tenang, kuncinya ada pada sistem kendali yang pintar. Di tutorial kali ini, kita bakal bedah cara menstabilkan sistem satu derajat kebebasan (1-DOF) sederhana—seperti lengan baling-baling—supaya bisa “berpikir” sendiri untuk tetap seimbang. Kita bakal pakai sistem closed-loop dengan algoritma PID agar alat kita nggak cuma asal putar, tapi bisa menyesuaikan diri secara real-time. Let’s dive in!

Mengenal Komponen Utama
Sebelum rakit, sobat perlu siapin “tim” komponen yang bakal bekerja bareng layaknya anggota tubuh kita:
| Komponen | Fungsi |
|---|---|
| Arduino Uno | Sebagai “otak” utama yang memproses logika dan perhitungan matematika sistem. |
| Sensor Ultrasonik HC-SR04 | Sebagai “mata” yang membaca ketinggian lengan baling-baling secara real-time. |
| Motor Brushless | Sebagai aktuator atau “otot” utama yang menghasilkan gaya dorong (thrust). |
| Electronic Speed Controller (ESC) | Mengubah perintah dari Arduino menjadi pengaturan kecepatan putaran motor secara presisi. |
| Baterai LiPo | Sebagai sumber energi utama agar motor mendapatkan daya yang cukup untuk menghasilkan gaya dorong dan melayang. |
Skematik Rangkaian

Biar sinyal nggak “bentrok” atau terdistorsi, kalian harus teliti banget pas nyambungin kabel. Ikuti panduan ini ya:
| Bagian | Koneksi / Pengaturan |
|---|---|
| Sensor HC-SR04 | Pin Trig → Pin 10 Arduino dan Pin Echo → Pin 11 Arduino. |
| ESC & Motor | Kabel sinyal PWM dari ESC → Pin 9 Arduino untuk mengatur kecepatan motor. |
| Sistem Daya | Baterai LiPo → ESC untuk menyuplai arus tinggi, sedangkan Arduino → USB laptop sebagai sumber daya. |
Pro-Tip (Safety First!): Ini bagian paling krusial! Pastikan semua jalur GND (Ground) dari sensor, ESC, dan Arduino disatukan (Common Ground). Kalau nggak disatukan, sinyal kalian bakal penuh distorsi dan sensor bisa ngaco!
Cara Kerja Otak di Balik Keseimbangan
Gimana sih sistem ini bisa tahu kalau dia miring? Semuanya terjadi dalam siklus closed-loop yang berjalan setiap 20 milidetik.
Prosesnya begini: Sensor membaca jarak aktual, lalu Arduino membandingkannya dengan target ketinggian (setpoint) 15 cm. Selisih antara jarak asli dan 15 cm tadi disebut sebagai error. Arduino kemudian memakai algoritma PID untuk menghitung seberapa besar tenaga tambahan yang butuh dikirim ke motor.
Agar motor nggak kaget, kita pakai Base Throttle sebesar 1500us sebagai titik awal kecepatan putar. Jadi, nilai PID tinggal nambahin atau ngurangin dikit dari angka dasar itu. Implementasi ini disebut sistem discrete (diskrit) karena hitungannya diulang terus-menerus dalam jeda waktu yang sangat cepat.
Ingin tahu gimana logika ini dipakai buat robot yang lebih canggih? Cek juga panduan robot keseimbangan arduino pid buat referensi tambahan.

Logika PID Tanpa Rumus Pusing

Kita nggak butuh jadi ahli matematika buat paham PID. Cukup bayangin tiga peran ini:
- Proporsional (Kp) Koreksi dasar. Makin jauh jarak dari 15 cm, makin kencang motor berputar.
- Integral (Ki) Si penyabar. Dia ngumpulin kesalahan kecil dari waktu ke waktu supaya posisi akhirnya benar-benar presisi.
- Derivatif (Kd) Ini jagoannya! Kd berfungsi sebagai “Rem Otomatis”. Motor brushless punya torsi yang sangat agresif. Tanpa Kd, lengan kalian bakal mengayun (osilasi) ekstrem atau malah terbalik. Kd bakal meredam kecepatan saat lengan sudah mau sampai di target.
Tips Tuning dan Hasil Pengujian
Berdasarkan hasil analisa, nilai Kd (Derivatif) adalah kunci utama buat ngilangin goyangan kinetik. Kalau lengan kalian masih “gemeteran”, coba naikkan nilai Kd pelan-pelan.
Satu lagi tips penting: buatlah logika untuk menangani Anomali Sensor. Kadang sensor ultrasonik kehilangan pantulan sinyal. Kalau ini terjadi, paksa sistem untuk menganggap posisi berada tepat di setpoint (15 cm). Tujuannya supaya motor nggak tiba-tiba akselerasi atau ngerem mendadak yang bisa ngerusak kabel atau lengan robot kalian.
Kesimpulan
Bikin lengan baling-baling stabil emang butuh kesabaran, tapi lewat PID, kalian baru aja belajar fondasi paling penting dalam dunia drone dan robotika canggih. Dengan setpoint 15 cm dan tuning Kd yang pas, lengan robot kalian nggak bakal lagi goyang-goyang nggak jelas.
Selamat bereksperimen dengan nilai Kp, Ki, dan Kd-mu sendiri. Happy coding and stay creative!
