- Bahan yang Dibutuhkan
- Memahami Motor BLDC
- Mengapa Drone dan Multi-copter lainnya menggunakan BLDC Motors?
- Mengapa kita membutuhkan ESC dan apa fungsinya?
- Beberapa istilah umum dengan BLDC dan ESC:
- Diagram Sirkuit Kontrol Motor Arduino BLDC
- Program untuk Kontrol Kecepatan BLDC menggunakan Arduino
- Kontrol Motor BLDC Arduino
Membangun barang dan membuatnya berfungsi, seperti yang kita inginkan, selalu sangat menyenangkan. Sementara itu disepakati, bahan bangunan yang bisa terbang dengan menantang akan memicu lebih banyak kecemasan di antara para penghobi dan pengotak-atik perangkat keras. Iya! Saya berbicara tentang Glider, Helicopters, Planes dan terutama multi-copters. Hari ini menjadi sangat mudah untuk membangunnya sendiri karena dukungan komunitas tersedia secara online. Satu hal yang umum dengan semua hal yang terbang adalah mereka menggunakan motor BLDC, jadi motor BLDC apa ini? Mengapa kita membutuhkannya untuk menerbangkan sesuatu? Apa yang istimewa dari itu? Bagaimana cara membeli motor yang tepat dan menghubungkannya dengan pengontrol Anda? Apa itu ESC dan mengapa kami menggunakannya? Jika Anda memiliki pertanyaan seperti ini, maka tutorial ini adalah solusi satu atap Anda.
Jadi pada dasarnya dalam tutorial ini kita akan Mengontrol Motor Brushless dengan Arduino. Di sini motor pelari BLDC Sensorless A2212 / 13T digunakan dengan Electronic Speed Controller (ESC) 20A. Motor ini biasa digunakan untuk membuat drone.
Bahan yang Dibutuhkan
- A2212 / 13T BLDC Motor
- ESC (20A)
- Sumber Daya (12V 20A)
- Arduino
- Potensiometer
Memahami Motor BLDC
BLDC Motor adalah singkatan dari Brush Less DC motor, umumnya digunakan pada kipas angin gantung dan kendaraan listrik karena pengoperasiannya yang lancar. Penggunaan motor BLDC pada kendaraan listrik telah dijelaskan secara detail sebelumnya. Tidak seperti motor lain, motor BLDC memiliki tiga kabel yang keluar darinya dan setiap kabel membentuk fasa sendiri sehingga memberi kita Motor tiga fasa. Tunggu apa!!??
Ya, meskipun motor BLDC dianggap sebagai motor DC, mereka bekerja dengan bantuan gelombang Pulsa. The kecepatan elektronik pengontrol (ESC) mengubah tegangan DC dari baterai ke pulsa dan memberikan ke 3 kabel dari motor tersebut. Pada waktu tertentu hanya dua Fasa motor yang akan diberi daya, sehingga arus masuk melalui satu fasa dan keluar melalui fasa lainnya. Selama proses ini kumparan di dalam motor diberi energi dan karenanya magnet pada rotor sejajar dengan kumparan yang diberi energi. Kemudian dua kabel berikutnya diberi energi oleh ESC, proses ini dilanjutkan agar motor berputar. Kecepatan motor tergantung pada seberapa cepat kumparan diberi energi dan arah motor bergantung pada urutan kumparan yang diberi energi. Kami akan mempelajari lebih lanjut tentang ESC nanti di artikel ini.
Ada banyak jenis motor BLDC yang tersedia, mari kita lihat klasifikasi yang paling umum.
Motor BLDC Pelari dan Pelari Keluar: Motor BLDC Pelari bekerja seperti motor lainnya. Artinya poros di dalam motor berputar sementara casing tetap terpasang. Sementara motor BLDC pelari keluar justru sebaliknya, selubung luar motor berputar bersama dengan poros sementara kumparan di dalamnya tetap terpasang. Motor pelari keluar sangat menguntungkan di sepeda listrik karena selubung luar (yang berputar) itu sendiri dibuat menjadi pelek untuk ban dan karenanya mekanisme kopling dihindari. Selain itu, motor pelari keluar cenderung memberikan torsi lebih banyak daripada jenis pelari, sehingga menjadi pilihan ideal di EV dan Drone. Yang kami gunakan di sini juga merupakan tipe pelari keluar.
Catatan: Ada jenis motor lain yang disebut motor BLDC tanpa biji yang juga digunakan untuk drone saku, mereka memiliki prinsip kerja yang berbeda tetapi untuk saat ini mari kita lewati demi tutorial ini.
Sensor dan Motor BLDC Tanpa Sensor: Agar motor BLDC dapat berputar tanpa sentakan, diperlukan umpan balik. Artinya ESC harus mengetahui posisi dan kutub magnet pada rotor sehingga dapat memberi energi sesuai stator. Informasi ini dapat diperoleh dengan dua cara; salah satunya adalah dengan menempatkan sensor hall di dalam motor. Sensor hall akan mendeteksi magnet dan mengirimkan informasi ke ESC motor jenis ini disebut motor Sensord BLDC dan digunakan pada kendaraan listrik. Metode kedua adalah dengan menggunakan EMF belakang yang dihasilkan oleh kumparan ketika magnet melintasinya, ini tidak memerlukan perangkat keras tambahan atau kabel, kabel fasa itu sendiri digunakan sebagai umpan balik untuk memeriksa EMF belakang. Metode ini digunakan di motor kami dan umum untuk drone dan proyek terbang lainnya.
Mengapa Drone dan Multi-copter lainnya menggunakan BLDC Motors?
Ada banyak jenis drone keren di luar sana dari Quad copter hingga helikopter dan glider semuanya memiliki satu perangkat keras yang sama. Itu motor BLDC, tapi kenapa? Mengapa mereka menggunakan motor BLDC yang harganya sedikit mahal dibandingkan Motor DC?
Ada beberapa alasan yang valid untuk hal ini, salah satu alasan utamanya adalah torsi yang diberikan oleh motor ini sangat tinggi yang sangat penting untuk mendapatkan / lepas dorong dengan cepat untuk lepas landas atau mendaratkan drone. Juga motor ini tersedia sebagai pelari keluar yang lagi-lagi meningkatkan daya dorong motor. Alasan lain untuk memilih motor BLDC adalah pengoperasiannya yang tanpa getaran halus, ini sangat ideal untuk drone kami yang stabil di udara.
Rasio tenaga terhadap berat motor BLDC sangat tinggi. Ini sangat penting karena motor yang digunakan pada drone harus memiliki daya tinggi (kecepatan tinggi dan torsi tinggi) tetapi juga harus memiliki bobot yang lebih ringan. Motor DC yang dapat memberikan torsi dan kecepatan yang sama dengan motor BLDC akan dua kali lebih berat dari motor BLDC.
Mengapa kita membutuhkan ESC dan apa fungsinya?
Seperti yang kita ketahui setiap motor BLDC membutuhkan semacam pengontrol untuk mengubah tegangan DC dari baterai menjadi pulsa untuk memberi daya pada kabel fasa motor. Pengontrol ini disebut ESC yang merupakan singkatan dari Electronic Speed Controller. Tanggung jawab utama pengontrol adalah untuk memberi energi pada kabel fasa motor BLDC agar motor berputar. Ini dilakukan dengan merasakan EMF belakang dari setiap kabel dan memberi energi pada koil tepat ketika magnet melintasi koil. Jadi ada banyak kecemerlangan perangkat keras di dalam ESC yang berada di luar cakupan tutorial ini. Tetapi untuk menyebutkan beberapa itu memiliki pengontrol kecepatan dan sirkuit penghilang baterai.
Kontrol kecepatan berbasis PWM: ESC dapat mengontrol kecepatan motor BLDC dengan membaca sinyal PWM yang disediakan pada kabel Orange. Cara kerjanya sangat mirip dengan motor servo, sinyal PWM yang disediakan harus memiliki periode 20ms dan duty cycle dapat divariasikan untuk memvariasikan kecepatan motor BLDC. Karena logika yang sama juga berlaku untuk motor servo untuk mengontrol posisi, kita dapat menggunakan perpustakaan servo yang sama di program Arduino kita. Belajar menggunakan Servo dengan Arduino di sini.
Battery Eliminator Circuit (BEC): Hampir semua ESC dilengkapi dengan rangkaian penghilang baterai. Seperti namanya rangkaian ini menghilangkan kebutuhan baterai terpisah untuk mikrokontroler, dalam hal ini kita tidak memerlukan catu daya terpisah untuk menyalakan Arduino kita; ESC itu sendiri akan memberikan + 5V yang diatur yang dapat digunakan untuk daya Arduino kita. Ada banyak jenis rangkaian yang mengatur tegangan ini biasanya akan menjadi pengaturan linier pada ESC murah, tetapi Anda juga dapat menemukannya dengan rangkaian switching.
Firmware: Setiap ESC memiliki program firmware yang ditulis ke dalamnya oleh pabrikan. Firmware ini sangat menentukan bagaimana ESC Anda merespons; beberapa firmware yang populer adalah Traditional, Simon-K dan BL-Heli. Firmware ini juga dapat diprogram pengguna tetapi kita tidak akan membahasnya di tutorial ini.
Beberapa istilah umum dengan BLDC dan ESC:
Jika Anda baru saja mulai bekerja dengan motor BLDC maka Anda mungkin pernah menemukan istilah seperti Pengereman, Mulai lunak, Arah Motor, Tegangan Rendah, Waktu respons, dan Maju. Mari kita lihat apa arti istilah-istilah ini.
Pengereman: Pengereman adalah kemampuan motor BLDC Anda untuk berhenti berputar segera setelah throttle dilepas. Kemampuan ini sangat penting bagi multi-copter karena mereka harus lebih sering mengubah RPM untuk bermanuver di udara.
Soft Start: Soft start adalah fitur penting untuk dipertimbangkan saat motor BLDC Anda dikaitkan dengan roda gigi. Saat motor mengaktifkan soft start, motor tidak akan mulai berputar sangat cepat secara tiba-tiba, ia akan selalu secara bertahap meningkatkan kecepatan tidak peduli seberapa cepat throttle diberikan. Ini akan membantu kami dalam mengurangi keausan roda gigi yang terpasang pada motor (jika ada).
Arah Motor: Arah motor pada motor BLDC biasanya tidak berubah selama pengoperasian. Namun saat merakit, pengguna mungkin perlu mengubah arah putaran motor. Cara termudah untuk mengubah arah motor adalah dengan hanya mengganti dua kabel motor.
Stop Tegangan Rendah: Setelah dikalibrasi, kita akan selalu membutuhkan motor BLDC kita dijalankan pada kecepatan tertentu yang sama untuk nilai throttle tertentu. Tetapi ini sulit dicapai karena motor cenderung mengurangi kecepatannya untuk nilai throttle yang sama dengan penurunan tegangan baterai. Untuk menghindari hal ini kami biasanya memprogram ESC untuk berhenti bekerja ketika tegangan baterai telah mencapai di bawah nilai ambang batas, fungsi ini disebut Stop Tegangan Rendah dan berguna pada drone.
Waktu respons: Kemampuan motor untuk mengubah kecepatannya dengan cepat berdasarkan perubahan throttle disebut waktu respons. Semakin sedikit waktu respons, semakin baik kontrolnya.
Maju: Maju adalah masalah atau lebih mirip bug dengan motor BLDC. Semua motor BLDC memiliki sedikit kemajuan di dalamnya. Saat itulah kumparan stator diberi energi, rotor tertarik ke arahnya karena ada magnet permanen pada mereka. Setelah ditarik, rotor cenderung bergerak sedikit lebih maju ke arah yang sama sebelum kumparan mati dan kemudian kumparan berikutnya diberi energi. Gerakan ini disebut "Maju" dan akan menimbulkan masalah seperti bergoyang, memanas, membuat kebisingan, dll. Jadi, ini adalah sesuatu yang harus dihindari oleh ESC yang baik.
Oke, cukup teori sekarang mari kita mulai dengan perangkat keras dengan menghubungkan motor dengan Arduino.
Diagram Sirkuit Kontrol Motor Arduino BLDC
Di bawah ini adalah diagram rangkaian untuk Mengontrol Motor Brushless dengan Arduino:
Koneksi untuk menghubungkan motor BLDC dengan Arduino cukup lurus ke depan. ESC membutuhkan sumber daya sekitar 12V dan 5A minimum. Dalam tutorial ini saya telah menggunakan RPS saya sebagai sumber daya tetapi Anda juga dapat menggunakan baterai Li-Po untuk menyalakan ESC. Kabel tiga fase ESC harus dihubungkan ke kabel tiga fase motor, tidak ada urutan untuk menghubungkan kabel ini, Anda dapat menghubungkannya dalam urutan apa pun.
Peringatan: Beberapa ESC tidak memiliki konektor pada mereka, dalam hal ini pastikan koneksi Anda kuat dan lindungi kabel yang terbuka menggunakan pita isolasi. Karena akan ada arus tinggi yang melewati fasa, setiap arus pendek akan menyebabkan kerusakan permanen pada ESC dan motor.
The BEC (Battery sirkuit Eliminator) di ESC itu sendiri akan mengatur sebuah + 5V yang dapat digunakan untuk power up Dewan Arduino. Terakhir untuk mengatur kecepatan motor BLDC kita juga menggunakan potensiometer yang terhubung ke pin A0 Arduino
Program untuk Kontrol Kecepatan BLDC menggunakan Arduino
Kita harus membuat sinyal PWM dengan duty cycle yang bervariasi dari 0% hingga 100% dengan frekuensi 50Hz. Siklus kerja harus dikontrol dengan menggunakan potensiometer agar kita dapat mengontrol kecepatan motor. Kode untuk melakukan ini mirip dengan mengendalikan motor servo karena mereka juga memerlukan sinyal PWM dengan frekuensi 50Hz; maka kami menggunakan perpustakaan servo yang sama dari Arduino. The kode lengkap dapat ditemukan di bagian bawah halaman ini lebih lanjut di bawah ini saya menjelaskan kode dalam potongan kecil. Dan jika Anda baru mengenal Arduino atau PWM, pertama-tama gunakan PWM dengan Arduino dan kontrol servo menggunakan Arduino.
Sinyal PWM hanya dapat dihasilkan pada pin yang mendukung PWM oleh perangkat keras, pin ini biasanya disebutkan dengan simbol ~. Pada Arduino UNO pin 9 dapat membangkitkan sinyal PWM sehingga kita menghubungkan pin sinyal ESC (kabel orange) ke pin 9 kita juga menyebutkan kode inn yang sama dengan menggunakan baris berikut
ESC.attach (9);
Kita harus menghasilkan sinyal PWM dengan siklus kerja yang bervariasi dari 0% hingga 100%. Untuk duty cycle 0% POT akan mengeluarkan 0V (0) dan untuk duty cycle 100% POT akan mengeluarkan 5V (1023). Disini pot terhubung ke pin A0, jadi kita harus membaca tegangan analog dari POT dengan menggunakan fungsi baca analog seperti gambar di bawah ini.
int throttle = analogRead (A0);
Kemudian kita harus mengubah nilai dari 0 menjadi 1023 menjadi 0 menjadi 180 karena nilai 0 akan menghasilkan 0% PWM dan nilai 180 akan menghasilkan 100% duty cycle. Nilai apa pun di atas 180 tidak akan masuk akal. Jadi kami memetakan nilai ke 0-180 dengan menggunakan fungsi peta seperti yang ditunjukkan di bawah ini.
throttle = peta (throttle, 0, 1023, 0, 180);
Terakhir, kita harus mengirimkan nilai ini ke fungsi servo agar dapat menghasilkan sinyal PWM pada pin tersebut. Karena kami telah menamai objek servo sebagai ESC, kodenya akan terlihat seperti ini di bawah ini, di mana throttle variabel berisi nilai dari 0-180 untuk mengontrol siklus kerja sinyal PWM
ESC.write (throttle);
Kontrol Motor BLDC Arduino
Buat koneksi sesuai dengan diagram sirkuit dan unggah kode ke Arduino dan nyalakan ESC. Pastikan Anda telah memasang motor BLDC ke sesuatu karena motor akan melompat ke sekeliling saat berputar. Setelah pengaturan dihidupkan, ESC Anda akan membuat nada selamat datang dan akan terus berbunyi bip hingga sinyal throttle berada dalam batas ambang, cukup tingkatkan POT dari 0V secara bertahap dan nada bip akan berhenti, ini berarti kami sekarang menyediakan PWM sinyal di atas nilai ambang bawah dan saat Anda meningkatkan lebih jauh motor Anda akan mulai berputar perlahan. Semakin banyak tegangan yang Anda berikan, semakin banyak kecepatan motor akan naik, akhirnya ketika tegangan mencapai di atas batas ambang atas, motor akan berhenti. Anda kemudian dapat mengulangi prosesnya.
Pengerjaan lengkap Arduino BLDC Controller ini juga dapat ditemukan di tautan video di bawah ini. Jika Anda menghadapi masalah untuk membuat ini berfungsi, silakan gunakan bagian komentar atau gunakan forum untuk bantuan teknis lebih lanjut.