Cara Menguji Motor Brushless Menggunakan Arduino
Ringkasan Proyek
Proyek ini mengajarkan cara membuat alat penguji kecepatan Brushless DC Motor (BLDC) menggunakan Arduino UNO Q, potentiometer, dan Electronic Speed Controller (ESC). Kecepatan motor dapat diatur secara langsung dengan memutar potentiometer, sehingga proyek ini sangat berguna untuk menguji motor drone dan mempelajari dasar pengendalian motor menggunakan mikrokontroler.
Bahan & Komponen
Daftar perangkat keras, modul, dan tools yang dibutuhkan untuk merakit proyek ini.
Daftar Komponen dan Perangkat Keras
- 1x Arduino UNO Q (Mikrokontroler utama yang membaca posisi potentiometer dan mengirimkan sinyal kendali ke ESC. Board Arduino lain yang kompatibel juga dapat digunakan dengan penyesuaian yang sesuai).
- 1x Potentiometer 10kΩ Single Turn (Komponen pengatur kecepatan motor dengan cara memutar knop).
- 1x Breadboard (Papan untuk menyusun rangkaian elektronik tanpa perlu menyolder).
- 1x Electronic Speed Controller (ESC) 30A (Pengendali kecepatan motor brushless yang mengatur daya listrik dari baterai menuju motor. Gunakan ESC yang kompatibel dengan motor).
- 1x LiPo Battery (Sumber daya untuk ESC dan Brushless DC Motor. Tegangan dan kemampuan arus baterai harus sesuai dengan spesifikasi ESC dan motor).
- 1x Battery Holder untuk 4 Baterai 18650 (Tempat baterai yang menghubungkan empat sel secara seri untuk menyediakan daya bagi Arduino melalui pin VIN).
- 4x Baterai 18650 Li-ion (Sel baterai yang disusun secara seri atau konfigurasi 4S untuk menghasilkan tegangan nominal 14,8V dan tegangan maksimum 16,8V ketika terisi penuh).
- 1 Set Jumper Wires (Kabel penghubung antar komponen).
- 1x Brushless DC Motor (BLDC) (Motor listrik tanpa sikat yang akan diuji. Contoh motor yang digunakan pembuat proyek adalah tipe 2212/920KV).
- 1x Kabel USB yang kompatibel (Digunakan untuk menghubungkan Arduino ke komputer saat pemrograman).
Peralatan Pendukung
- 1x Multitool atau Obeng (Membantu pemasangan dan pengencangan komponen).
- Komputer atau Laptop (Digunakan untuk menjalankan Arduino IDE dan mengunggah program).
Perangkat Lunak dan Library
- Arduino IDE (Software untuk menulis, memeriksa, dan mengunggah kode program ke Arduino).
- Arduino Servo Library (Library untuk menghasilkan pulsa kendali ESC menggunakan fungsi writeMicroseconds()).
- Arduino UNO Q Board Support (Dukungan board agar Arduino IDE dapat mengenali dan memprogram Arduino UNO Q).
- Serial Monitor (Fitur Arduino IDE untuk melihat nilai pembacaan potentiometer dan lebar pulsa throttle dengan Baud Rate 115200).
Langkah Pembuatan
Khusus MemberPanduan perakitan tahap demi tahap dan catatan proses pengerjaan.
Pada proyek ini, kita akan membuat alat sederhana untuk menguji Brushless DC Motor (BLDC) menggunakan Arduino UNO Q. Kecepatan putaran motor dapat dikendalikan melalui sebuah potentiometer 10kΩ yang terhubung ke Arduino. Arduino membaca posisi knop potentiometer, kemudian mengubahnya menjadi sinyal kendali untuk Electronic Speed Controller (ESC). ESC selanjutnya mengatur daya yang diberikan kepada motor sehingga kecepatan putarannya dapat berubah.
Memahami Cara Kerja Proyek
Arduino membaca posisi potentiometer melalui input analog A0. Nilai pembacaannya berada dalam rentang 0 sampai 1023. Nilai tersebut kemudian dikonversi menjadi sinyal pulsa dengan lebar antara 1000 hingga 1300 mikrodetik menggunakan fungsi map().
Sinyal tersebut dikirimkan ke ESC melalui Digital Pin 9 menggunakan Arduino Servo Library dan fungsi writeMicroseconds(). ESC menerjemahkan sinyal ini menjadi pengaturan daya untuk Brushless DC Motor.
Rentang 1000–1300 mikrodetik sengaja digunakan sebagai rentang throttle yang konservatif untuk pengujian awal, bukan rentang maksimum yang biasanya didukung ESC.

Langkah 1: Menyiapkan Paket Baterai
Siapkan battery holder yang dapat menampung empat baterai 18650 Li-ion. Masukkan keempat baterai dengan memperhatikan polaritas positif dan negatif sesuai tanda pada tempat baterai.
Battery holder menghubungkan keempat baterai secara seri sehingga membentuk konfigurasi 4S. Konfigurasi ini menghasilkan tegangan nominal sekitar 14,8V dan mencapai 16,8V ketika semua baterai terisi penuh.
Paket baterai ini digunakan untuk memberikan daya kepada Arduino UNO Q melalui pin VIN. Perhatikan bahwa baterai harus dipasang dengan benar dan tegangan keluarannya harus berada dalam rentang yang didukung oleh board.


Peringatan: Arduino UNO Q mendukung tegangan masukan 7V hingga 24V melalui pin VIN. Selalu periksa tegangan maksimum baterai ketika terisi penuh, bukan hanya tegangan nominalnya. Jangan menghubungkan baterai dengan tegangan di luar rentang yang diizinkan.
Langkah 2: Menghubungkan Potentiometer
Siapkan breadboard dan pasang potentiometer 10kΩ. Potentiometer berfungsi sebagai pengatur throttle atau kecepatan motor. Ketika knop diputar, tegangan pada pin tengah berubah sehingga Arduino dapat membaca perubahan posisi tersebut.
Hubungkan ketiga kaki potentiometer ke Arduino UNO Q dengan konfigurasi berikut:
- Kaki luar pertama → Pin 3.3V Arduino.
- Kaki tengah (wiper) → Analog Pin A0 Arduino.
- Kaki luar terakhir → GND Arduino.
Ketika potentiometer diputar, tegangan pada kaki tengah berubah antara 0V hingga sekitar 3,3V. Arduino membaca perubahan tersebut menggunakan fungsi analogRead().
Peringatan: Arduino UNO Q menggunakan logika 3,3V pada pin GPIO dan input analog. Pin tersebut tidak tahan terhadap tegangan 5V. Jangan pernah memberikan tegangan lebih dari 3,3V ke pin analog atau GPIO karena dapat merusak board.
Langkah 3: Menghubungkan Electronic Speed Controller (ESC)
Siapkan ESC 30A atau ESC lain yang kompatibel dengan motor brushless yang akan diuji. ESC memiliki kabel sinyal dan kabel daya yang perlu dihubungkan dengan benar.
Hubungkan kabel kendali ESC ke Arduino UNO Q sebagai berikut:
- Kabel putih (signal) ESC → Digital Pin 9 Arduino.
- Kabel hitam (ground) ESC → GND Arduino.
Kabel daya ESC dihubungkan langsung ke baterai LiPo yang sesuai dengan spesifikasi ESC. Jangan menghubungkan kabel daya motor melalui pin Arduino.
Arduino dan ESC harus memiliki common ground atau jalur GND bersama. Hal ini diperlukan agar sinyal kendali yang dikirimkan Arduino dapat dibaca dengan benar oleh ESC.
Perhatikan bahwa warna dan susunan kabel ESC dapat berbeda antara satu produsen dan produsen lainnya. Selalu periksa dokumentasi ESC sebelum melakukan pengkabelan.

Langkah 4: Menghubungkan Catu Daya Arduino
Setelah rangkaian sinyal selesai, hubungkan paket baterai 4S yang terdiri dari empat baterai 18650 ke Arduino UNO Q.
- Kabel positif (+) battery holder → VIN Arduino UNO Q.
- Kabel negatif (-) battery holder → GND Arduino UNO Q.
Dalam proyek ini terdapat dua sumber daya yang terpisah. Paket baterai 18650 Li-ion digunakan untuk memberikan daya kepada Arduino melalui VIN, sedangkan baterai LiPo digunakan untuk memasok daya motor melalui ESC.
Kedua sistem catu daya tersebut memiliki fungsi berbeda. Meskipun sumber dayanya terpisah, GND Arduino dan GND ESC tetap harus dihubungkan bersama agar sinyal kendali dapat bekerja dengan baik.

Langkah 5: Memasang Arduino IDE dan Servo Library
Sebelum mengunggah program, pastikan Arduino IDE sudah terinstal pada komputer atau laptop.
Selanjutnya, siapkan Arduino Servo Library yang digunakan untuk menghasilkan sinyal kendali ESC. Pastikan dukungan board Arduino UNO Q juga sudah tersedia pada Arduino IDE.
Ikuti langkah berikut:
- Buka Arduino IDE.
- Pastikan dukungan board Arduino UNO Q telah terinstal.
- Pastikan Arduino Servo Library tersedia.
- Buka file test_brushless_motors.ino dari repository GitHub proyek.
- Pilih Arduino UNO Q pada menu Board.
- Pilih port USB yang terhubung dengan Arduino.
- Periksa kembali kode program, kemudian klik Verify.
- Klik Upload untuk mengunggah program ke board.
Setelah proses upload selesai, buka Serial Monitor dan atur Baud Rate menjadi 115200. Serial Monitor akan menampilkan nilai pembacaan potentiometer dan nilai throttle yang dikirimkan kepada ESC.
Langkah 6: Memahami Program Arduino
Program menggunakan Servo Library untuk mengirimkan pulsa kendali ke ESC. Objek esc dibuat dari kelas Servo dan dihubungkan ke Digital Pin 9.
Konfigurasi pin dan batas throttle didefinisikan menggunakan konstanta berikut:
- POT_PIN = A0 untuk membaca potentiometer.
- ESC_PIN = 9 untuk mengirimkan sinyal kendali ESC.
- THROTTLE_MIN = 1000 mikrodetik sebagai throttle minimum.
- THROTTLE_MAX = 1300 mikrodetik sebagai throttle maksimum yang dikonfigurasi.
Pada fungsi setup(), Serial Monitor diinisialisasi dengan Baud Rate 115200. ESC kemudian dihubungkan menggunakan esc.attach(). Setelah itu, Arduino mengirimkan perintah throttle minimum dan menunggu selama lima detik agar ESC dapat menyelesaikan proses inisialisasi.
Pada fungsi loop(), Arduino membaca nilai potentiometer menggunakan analogRead(). Nilai yang diperoleh dikonversi menjadi rentang pulsa 1000 hingga 1300 mikrodetik menggunakan fungsi map().
Selanjutnya, esc.writeMicroseconds(throttle) mengirimkan pulsa kendali kepada ESC. Informasi pembacaan potentiometer dan nilai throttle ditampilkan pada Serial Monitor setiap 50 milidetik.
Langkah 7: Memasang dan Menguji Brushless Motor
Setelah rangkaian dan program siap, siapkan Brushless DC Motor yang akan diuji. Pastikan baling-baling atau propeller sudah dilepas sebelum melakukan pengujian.
Hubungkan ketiga kabel motor brushless ke tiga kabel keluaran ESC. Urutan ketiga kabel tersebut tidak menentukan sambungan awal untuk motor tiga fase ini. Jika arah putaran motor terbalik, tukarkan dua dari tiga kabel motor setelah seluruh sumber daya diputuskan.

Sebelum menyalakan perangkat, pastikan knop potentiometer berada pada posisi minimum. Setelah itu, lakukan urutan berikut:
- Pastikan propeller motor telah dilepas.
- Pasang motor dengan kuat pada struktur atau dudukan yang stabil.
- Hubungkan tiga kabel motor ke ESC.
- Hubungkan battery holder 4S ke Arduino melalui VIN dan GND.
- Pastikan sambungan GND antara Arduino dan ESC sudah benar.
- Hubungkan baterai LiPo ke ESC untuk menyalakan sistem motor.
- Tunggu hingga ESC menyelesaikan proses inisialisasi.
- Setelah proses inisialisasi selesai, putar potentiometer secara perlahan untuk meningkatkan kecepatan motor.
Ketika sistem mulai menyala, ESC biasanya mengeluarkan bunyi beep sebagai indikator status. Urutan bunyi tersebut dapat berbeda sesuai model ESC yang digunakan.
Arduino juga menjalankan program setelah dinyalakan. Selama lima detik pertama, Arduino mempertahankan sinyal throttle pada nilai minimum. Setelah proses inisialisasi selesai, potentiometer dapat digunakan untuk mengatur kecepatan motor.

Langkah 8: Mengamati Hasil Pengujian
Putar knop potentiometer secara perlahan dan amati perubahan kecepatan motor. Semakin besar nilai pembacaan potentiometer, semakin besar pula lebar pulsa throttle yang dikirimkan Arduino kepada ESC.
Rentang kendali yang digunakan adalah:
- Nilai potentiometer 0: Throttle minimum sebesar 1000 mikrodetik.
- Nilai potentiometer 1023: Throttle maksimum yang dikonfigurasi sebesar 1300 mikrodetik.
Untuk melihat perubahan tersebut, buka Serial Monitor dengan Baud Rate 115200. Arduino akan menampilkan informasi Potentiometer dan Throttle secara berulang.
Pembuat proyek menggunakan motor brushless tipe 2212/920KV sebagai contoh pengujian. Metode ini juga dapat diterapkan pada motor brushless lain selama spesifikasi motor, ESC, dan sumber daya saling kompatibel.

Langkah 9: Memperhatikan Keselamatan
Pengujian motor brushless memerlukan perhatian khusus karena motor dapat menghasilkan gaya putar yang besar, bahkan ketika menggunakan throttle rendah.
Selalu lakukan langkah keselamatan berikut:
- Lepaskan propeller sebelum menguji motor brushless.
- Pasang motor dengan kuat pada dudukan yang stabil.
- Jauhkan tangan, kabel, dan benda lain dari bagian motor yang berputar.
- Pastikan ESC, baterai, dan motor memiliki spesifikasi listrik yang kompatibel.
- Periksa polaritas baterai sebelum menghubungkan sumber daya.
- Jangan melebihi batas tegangan Arduino maupun ESC.
- Jangan memberikan tegangan lebih dari 3,3V ke GPIO dan input analog Arduino UNO Q.
- Gunakan perlindungan baterai dan perangkat pengisian daya yang sesuai.
- Selalu putuskan seluruh sumber daya sebelum mengubah sambungan kabel.



Kesimpulan dan Pengembangan Proyek
Proyek ini berhasil menunjukkan bahwa Arduino dapat digunakan untuk mengendalikan kecepatan Brushless DC Motor menggunakan potentiometer dan ESC tanpa membutuhkan alat penguji motor khusus yang mahal.
Proyek ini sangat bermanfaat dalam pengembangan drone dan robotika karena motor dapat diuji secara langsung di meja kerja tanpa harus merakit seluruh perangkat terlebih dahulu.
Konsep yang dipelajari dapat dikembangkan lebih lanjut dengan menambahkan tampilan LCD untuk menampilkan nilai throttle, sensor RPM untuk mengukur kecepatan putaran motor, atau sistem pencatatan data untuk membandingkan performa beberapa motor brushless.
Buka Seluruh Panduan, Skema & Source Code
Dapatkan akses penuh ke langkah perakitan detail, diagram sirkuit lengkap, dan source code siap pakai. Gratis selamanya!