● online
- Raspberry Pi Pico Microcontroller Board
- Max7219 Led Dot Matrix 32x8 Display Module For Ard
- Push Button Tactile Switch Saklar Tombol Tinggi -
- Kabel Jumper Dupont Pelangi 30 cm female to Female
- Kabel Jumper Arduino Dupont 20 cm Female to Male P
- TP5100 4.2v 8.4v 1S 2S Single / Double Cell Lithiu
- Kabel Jumper 10cm Dupont Pelangi 10 cm Female to F
- LCD 16x2 / 1602 Display Biru + I2C Backpack Sudah
- 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.
Tutorial Kendali Kecepatan Motor DC Arduino PID
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:
- 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.
- 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!
Tutorial Kendali Kecepatan Motor DC Arduino PID
Dalam menjalankan bisnis online tentu saja harus memperhatikan beberapa aspek agar bisnis kita berjalan dengan lancar. Sebagai contoh di... selengkapnya
Secara bawaan, Arduino Uno sebenarnya sudah memiliki pin analog. Tapi pada beberapa proyek, terutama saat jumlah sensor analog semakin banyak,... selengkapnya
Alat dan Bahan Sensor Inframerah MLX90614 Arduino nano beli Deskripsi Secara internal, MLX90614 terdiri dari dua perangkat yakni... selengkapnya
Pemanfaatan sebuah sensor bisa dijadikan berbagai fungsi, nah kali ini kita akan belajar untuk memonitoring sensor menggunakan WIFI yang... selengkapnya
UI (User Interface) dan UX (User Experience) dalam sebuah pengembangan website dan aplikasi sangat penting dan saling berkaitan. Tetapi... selengkapnya
Sensor INA219 merupakan sensor yang berfungsi untuk mengukur 2 parameter sekaligus yaitu tegangan (volt) dan arus (ampere). Tegangan yang... selengkapnya
SMS gateway merupakan layanan yang berguna untuk meneruskan pesan ke jaringan seluler lain... selengkapnya
RFID merupakan suatu teknologi yang dapat mengidentifikasi sebuah objek menggunakan frekuensi radio. Untuk dapat menggunakanya kita membutuhkan sebuah ID... selengkapnya
Pada artikel kali ini saya akan membahas penggunaan sensor DHT11, dimana sensor ini fungsinya untuk mengukur suhu dan kelembaban... selengkapnya
Mau membuat LED-mu berkedip tanpa perlu menekannya secara manual? Di tutorial ini, kamu akan belajar cara mengatur LED menyala dan... selengkapnya
This is a set of transmitter and receiver in one of the photoelectric sensor. Detection distance can be adjusted according… selengkapnya
Rp 37.500Menerima jasa cetak PCB FR2 (pertinax) / FR4 (double) single / double layer. Silahkan ke web kalkulator biaya cetak pcb… selengkapnya
Rp 1.000Dimmer AC 220 Volt 4000 Watt + Casing Aluminium Potensiometer untuk mengatur tegangan output min/max pada tegangan AC PLN 220V…. selengkapnya
Rp 52.500Modul sensor tegangan AC bolak balik 1 fasa ini menggunakan optocoupler sehingga tegangan input (AC) tidak akan mengganggu/membahayakan tegangan output… selengkapnya
Rp 21.000Case patern: Solid Warna : Merah dan Hijau Current: 10-20 mA Diameter: 3mm
Rp 300Ini yang Seri SN – DS3231 I2C RTC Module khusus DS3231SN – Include Baterai – Module jam digital – Keperluan… selengkapnya
Rp 34.900TILT SENSOR adalah sensor untuk mendeteksi sudut kemiringan / derajat, dimana cara kerja sensor ini adalah dengan menggunakan 2 buah… selengkapnya
Rp 9.800Tang Crimping Press Skun Ratchet YTH SN-48B Model YTH SN-48B FOR NON INSULATED TERMINAL YTH SN-48B dengan mata Press 0.5… selengkapnya
Rp 150.000Warna : biru dan merah Bahan Alumunium 25T include baut 2 pcs
Rp 8.750Tutorial Kendali Kecepatan Motor DC Arduino PID
Kategori
Artikel Terkait
-
Sistem Kendali Suhu pada Inkubator Penetasan Telur Berbasis PID Diskrit Menggunakan Sensor DHT11 dan Aktuator Lampu Pijar
- Cara Mengatur Kecepatan Motor DC dengan PWM Raspberry Pi dan TB6612FNG
-
Cara Menghubungkan TB6612FNG dengan Raspberry Pi untuk Mengontrol Arah Motor DC
-
Cara Membuat Alarm Keamanan Sederhana dengan Sensor PIR dan Raspberry Pi 5
-
Cara Menghubungkan Sensor PIR ke Raspberry Pi untuk Mendeteksi Gerakan

Saat ini belum tersedia komentar.