Buka Senin - Jumat jam 08.30 s/d jam 16.30 , Sabtu Jam 8.30 s/d jam 13.00 , Minggu tutup
  • Selamat Datang di Indomaker ❯ Silahkan pesan produk sesuai kebutuhan anda, kami siap melayani.
  • Selamat Datang di Indomaker ❯ Silahkan pesan produk sesuai kebutuhan anda, kami siap melayani.
Beranda » Blog » Tutorial Kendali Kecepatan Motor DC Arduino PID

Tutorial Kendali Kecepatan Motor DC Arduino PID

Diposting pada 7 September 2026 oleh indo maker / Dilihat: 7 kali / Kategori: ,

Pernah gak sih motor kamu mendadak “loyo” pas dikasih beban? Atau mungkin kamu lagi eksperimen bikin robot, tapi kecepatan motornya naik-turun gak jelas dan susah diatur? Masalah ini sering banget terjadi karena kita biasanya pakai sistem open-loop alias kontrol satu arah tanpa peduli apa yang terjadi di output.

Nah, solusinya adalah dengan menerapkan sistem kendali kecepatan motor DC berbasis lingkaran tertutup (closed-loop). Dengan bantuan algoritma PID (Proportional-Integral-Derivative), motor kamu bakal punya “otak” untuk mengoreksi dirinya sendiri supaya kecepatannya tetap stabil sesuai target (setpoint), seberat apa pun beban mekanisnya!

Alat dan Bahan (Belanja Maker)

Gak perlu ngerogoh kocek dalam-dalam buat bikin sistem standar industri ini. Projek ini ramah banget di kantong mahasiswa atau pelajar dengan total estimasi biaya sekitar Rp 265.000. Cek tabel belanjaannya di bawah ini:

Nama Komponen Spesifikasi Fungsi Utama
Arduino Uno Mikrokontroler ATmega328P Otak utama untuk menjalankan algoritma PID dan baca sensor.
Motor DC Type YX DC12V 880 (14150) Aktuator utama yang kecepatannya bakal kita kendalikan.
Driver Motor BTS7960 High Power H-Bridge 43A Penguat daya agar Arduino bisa menggerakkan motor arus besar.
Sensor Rotary Encoder Optocoupler + Piringan 20 Lubang “Mata” sistem untuk membaca RPM aktual motor.
Adaptor 12V Output 12V DC (Min. 5-10A) Sumber tenaga utama buat motor DC.
Kabel Jumper Tipe Male-to-Male / Female Penghubung logika antar komponen.
Kabel USB Data Tipe USB A-to-B Jalur program dan komunikasi data ke Web HMI.

Hanya dengan modal segini, kamu sudah bisa belajar sistem kontrol yang dipakai di mesin CNC dan lengan robotik profesional!

Skematik Rangkaian Jalur Logika vs Jalur Tenaga

Bikin rangkaian ini sebenarnya simpel, tapi ada aturan mainnya supaya Arduino kamu gak kena short circuit atau mendadak freeze. Berdasarkan topologi sistemnya, kita wajib memisahkan jalur menjadi dua:

  1. Jalur Logika (Arus Lemah): Ini jalur 5V dari USB laptop khusus buat Arduino dan sensor. Regulator USB laptop biasanya lebih “bersih” dari fluktuasi, jadi proses hitung PID gak bakal keganggu noise.
  2. Jalur Tenaga (Arus Kuat): Ini jalur 12V dari adaptor langsung ke driver BTS7960 High Power Bridge. Isolasi ini penting karena motor DC sering bikin “sampah” listrik (electrical noise) yang bisa bikin mikrokontroler kamu error atau langsung bau sangit kalau dipaksa satu jalur daya.

Mapping Pin Penting:

  • Pin 2 (Hardware Interrupt): Jalur wajib untuk sensor encoder. Arduino bakal jadi “satpam” yang sigap mencatat setiap pulsa dari piringan sensor tanpa ada yang terlewat, bahkan saat motor lari kencang.
  • Pin 5 (Enable): Dihubungkan ke R_EN dan L_EN di driver untuk “buka pintu” aliran listrik.
  • Pin 9 (PWM): Jalur “pedal gas” untuk mengatur tegangan ke motor via driver.

Cara Kerja Rahasia Feedback Loop

Sistem ini keren karena komunikasinya dua arah. Alurnya: Kamu input target di Web HMI -> Perintah dikirim ke Arduino via USB -> Arduino menggerakkan Motor -> Sensor Encoder lapor kecepatan asli -> Arduino hitung koreksi -> Kecepatan stabil!

Kunci akurasinya ada di sampling time (\Delta t) sebesar 200ms. Kenapa harus 200ms? Kalau terlalu lambat, motor telat ngerespon beban. Kalau terlalu cepat, Arduino belum sempat dapet cukup pulsa dari encoder buat ngitung RPM yang akurat. Dengan interval ini, sistem punya waktu pas buat mikir dan bertindak.

Mengenal Si Jenius PID

PID itu cara motor “berpikir” lewat tiga komponen yang saling melengkapi. Buat projek ini, kamu bisa pakai nilai tuning awal: Kp = 0.003, Ki = 0.01, dan Kd = 0.002.

  • Proporsional (P): Tugasnya bikin motor gas pol biar cepat sampai ke target RPM. Tapi hati-hati, kalau P kegedean, motor bisa “bablas” (overshoot).
  • Integral (I): Si “penghapus dosa” kesalahan. Dia bakal narik RPM pelan-pelan sampai benar-benar pas di target, bukan cuma sekadar mendekati.
  • Derivatif (D): Bertindak sebagai “rem elektrik” atau peredam kejut supaya motor gak goyang-goyang atau bergetar parah saat sudah dekat target.

FYI, logika PID yang sama juga bisa kamu pakai buat kontrol suhu lho, contohnya di sistem kendali suhu pada inkubator agar telur menetas dengan suhu stabil.

HMI Web Serial API Monitoring Real-Time ala Pro

Salah satu fitur paling up-to-date di projek ini adalah penggunaan Web Serial API. Kamu bisa kontrol Arduino langsung dari Google Chrome tanpa perlu install software tambahan. Pro-tip: Gunakan baudrate 115200 bps (jangan 9600 ya!) supaya grafik di dashboard Chart.js kamu lancar jaya tanpa lagging.

Untuk komunikasi datanya, kita pakai format JSON yang rapi banget kayak gini:

{"rpm": 1500, "setpoint": 1500, "pwm": 120, "error": 0, "status": "START"}

Ada juga fitur cerdik di sisi JavaScript bernama cleanInput. Fungsi ini bertugas mengubah tanda koma (,) dari input regional Indonesia menjadi titik (.) standar C++ Arduino secara otomatis. Jadi, gak ada lagi cerita sistem crash cuma gara-gara salah ketik tanda baca!

Fitur Proteksi Anti-Stall

Pernah denger motor DC bunyi “nginggg” tapi gak mutar? Itu namanya stall. Di projek ini, kita pakai motor DC tipe seri yang punya torsi kuat tapi rawan macet kalau dikasih tegangan terlalu rendah. Makanya, di dalam firmware Arduino ada logika Batas Bawah PWM 40. Jadi, meskipun hasil hitungan PID minta tenaga kecil, sistem bakal mengunci di angka 40 supaya motor tetap mutar stabil dan kumparannya gak panas karena terjebak macet.

Hasil Pengujian & Kesimpulan

Setelah diuji, sistem ini terbukti sangat tangguh mempertahankan kecepatan di atas 1500 RPM dengan sangat stabil berkat sampling time 200ms. Buat kamu yang mau terjun ke dunia robotika atau otomasi, menguasai PID adalah skill wajib. Kendalinya presisi, visualisasinya modern, dan yang pasti low budget!

Kira-kira kalau sistem PID ini kamu terapin ke robot penyeimbang (Self-Balancing Robot), menurutmu parameter PID-nya perlu se-agresif apa ya biar gak gampang jatuh? Tulis idemu di kolom komentar!

Bagikan ke

Tutorial Kendali Kecepatan Motor DC Arduino PID

Saat ini belum tersedia komentar.

Silahkan tulis komentar Anda

Tutorial Kendali Kecepatan Motor DC Arduino PID

Produk yang sangat tepat, pilihan bagus..!

Berhasil ditambahkan ke keranjang belanja
Lanjut Belanja
Checkout
Produk Quick Order

Pemesanan dapat langsung menghubungi kontak dibawah: