● online
- Power module DC DC 9A 300W Step Down Buck Converte
- TANG CRIMPING PRESS SKUN RATCHET YTH SN-48B
- Raspberry Pi 4 Model B 8GB Original UK E14 Raspi 4
- IIC I2C LCD 1602 16x2 2004 20x4 Backpack for LCD A
- Relay Module 1 Channel Modul Relay 5V 10A 1 Channe
- Raspberry Pi Pico Microcontroller Board
- Modul Sensor Tegangan AC Bolak balik 220V Listrik
- MP3 TF 16P Alternatif DFPlayer mini MP3 Player Ard
- 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
Pada robot elektronik sering kali digunakan motor servo sebagai leher yang bisa bergerak, motor servo adalah perangkat elektromekanis yang dirancang... selengkapnya
MPU6050 adalah Sensor Gyroscope dan Accelerometer yang memiliki 6-axis Motion Tracking di mana perangkat ini mengkombinasikan 3-axis gyroscope, 3-axis accelerometer... selengkapnya
Sensor suara merupakan sensor yang dapat mengubah besaran suara menjadi besaran listrik dimana nilai diperoleh dari besarnya gelombang suara... selengkapnya
Dulu kita sudah belajar untuk mengisi bootloader Arduino Uno ke IC Atmega328 juga, namun dengan jenis DIP (LIHAT DISINI).... selengkapnya
Blynk merupakan sebuah platform aplikasi android yang diperuntukan untuk berbagai kontroler hardware seperti arduino, esp8266, raspberry dsb untuk mengendalikan,... selengkapnya
Jumpa lagi bersama indomaker.com, setelah kemarin kita sudah bisa menampilkan sensor suhu dan kelembaban pada web browser DISINI. Sekarang kita... selengkapnya
Computerized Numerical Control (CNC) is a machine based on a stepper motor that can move according to the commands... selengkapnya
Penggunaan LCD I2C sering kali gagal menampilkan teks karena deklarasi awal yaitu alamat I2C yang salah/keliru dikarenakan alamat yang... selengkapnya
Halo Sobat Tech! Pernah nggak sih lo ngerasa gerah banget di kamar, tapi pas nyalain kipas angin biasa malah jadi... selengkapnya
Hari ini kita akan mencoba untuk menampilkan data sensor ldr ke web server dengan koneksi WIFI menggunakan board NodeMCU.... selengkapnya
Kabel jumper 20 cm merk Dupont untuk Arduino Female to male 1 lembar = 40 kabel
Rp 11.300Ini yang Seri SN – DS3231 I2C RTC Module khusus DS3231SN – Include Baterai – Module jam digital – Keperluan… selengkapnya
Rp 34.900Spesifikasi : – 16×2 – Warna Biru – Tegangan kerja : 5v – Sudah include module I2C Backpack dan tersolder… selengkapnya
Rp 30.000Bosan dengan modul arduino yang kalian punya, saatnya mencoba modul programmer yang lain yah ini dia RASPBERRY PI 4 COMPUTER… selengkapnya
Rp 1.199.000Description: TP5100 is a double switch buck 8.4V, single cell 4. 2V lithium battery charge management chip. Its ultra-compact QFN16… selengkapnya
Rp 10.600Features and Specs: Dual-Core, 32-bit ARM Cortex M0+ Processor Clocked at 48MHz (default), configurable max to 133MHz. Ready with USB… selengkapnya
Rp 82.900Compatibility: USB v2.0 standard Interface: Network: USB Series: RS-485 Port: an independent RS-485 Connector: Network: USB type A connector Series:… selengkapnya
Rp 38.800The power supply is isolated industrial power modules, with a temperature protection, overcurrent and short circuit full protection, high and… selengkapnya
Rp 15.900Kabel Jumper Dupont Pelangi 30cm female to Female 1 lembar = 40 kabel
Rp 13.500MERK : TOWER PRO MG995 180 derajat Specifications Weight: 55 g Dimension: 40.7 x 19.7 x 42.9 mm approx. Stall… selengkapnya
Rp 36.300Tutorial Kendali Kecepatan Motor DC Arduino PID
Kategori
Artikel Terkait
-
Cara Bikin Sistem Monitoring Getaran Gempa dan Stabilitas Kemiringan Pakai ESP32 dan MPU 6050
-
Cara Bikin Sistem Monitoring Kelembapan Tanah Berbasis Arduino Uno dan Sensor YL69
-
Bikin Sistem Monitor Volume Air Tandon Otomatis Pakai Arduino Uno dan Sensor Ultrasonik
-
Bikin Smart Medicine Box Otomatis Pakai Arduino Nano dan Sensor Suhu DHT11
-
Bikin Sensor Parkir Otomatis Pakai Arduino Uno dan HC SR04

Saat ini belum tersedia komentar.