Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Menguasai Pengontrolan Motor Brushless dengan Arduino, ESC, dan BLDC – Tutorial Langkah demi Langkah

Dalam tutorial ini kita akan mempelajari cara mengontrol motor brushless menggunakan Arduino dan ESC. Jika Anda ingin lebih banyak detail bagaimana motor BLDC bekerja, Anda dapat memeriksa artikel lain atau menonton video berikut yang berisi penjelasan tentang prinsip kerja motor brushless dan cara mengontrolnya menggunakan Arduino dan ESC.

Tinjauan Umum

Untuk contoh ini, saya memiliki motor BLDC outrunner dengan spesifikasi berikut: ia memiliki rating KV 1000, dapat dipakai daya menggunakan baterai LiPo 2S, 3S atau 4S dan memerlukan ESC 30A. Rating KV pada motor brushless menentukan RPM motor per volt tanpa beban.

Menguasai Pengontrolan Motor Brushless dengan Arduino, ESC, dan BLDC – Tutorial Langkah demi Langkah

Dalam kasus ini, 1000KV berarti, misalnya, jika kita menyuplai motor dengan baterai LiPo 2S yang memiliki tegangan 7,4 volt, motor dapat mencapai RPM maksimum 7,4 kali 1000, atau 7400 RPM.

Motor brushless boros daya dan metode paling umum untuk menyuntikkan dayanya adalah menggunakan baterai LiPo. Angka "S" pada baterai LiPo menunjukkan berapa banyak sel yang dimiliki baterai, dan setiap sel memiliki tegangan 3,7V.

Menguasai Pengontrolan Motor Brushless dengan Arduino, ESC, dan BLDC – Tutorial Langkah demi Langkah

Untuk contoh ini, saya akan menggunakan baterai LiPo 3S yang memiliki 3 sel dan itu adalah 11,1V. Jadi, saya dapat mengharapkan motor saya mencapai RPM maksimum 11100.

Terakhir, berikut adalah ESC 30A yang akan saya gunakan untuk contoh ini dan cocok dengan persyaratan motor. Di satu sisi ESC memiliki tiga kabel yang mengontrol tiga fasa motor dan di sisi lainnya memiliki dua kabel, VCC dan GND, untuk daya.

Menguasai Pengontrolan Motor Brushless dengan Arduino, ESC, dan BLDC – Tutorial Langkah demi Langkah

Ada juga seperangkat tiga kabel lainnya yang keluar dari ESC dan itu adalah garis sinyal, +5V dan ground. Fitur ESC ini disebut Battery Eliminator Circuit dan seperti yang namanya saranakan itu menghilangkan kebutuhan baterai terpisah untuk mikrokontroler. Dengan ini, ESC menyediakan 5V teratur yang dapat digunakan untuk menyuntikkan daya Arduino kita.

Kita dapat memperhatikan di sini bahwa koneksi ini sebenarnya sama dengan yang kita lihat pada motor Servo.

Menguasai Pengontrolan Motor Brushless dengan Arduino, ESC, dan BLDC – Tutorial Langkah demi Langkah

Jadi, mengontrol motor brushless menggunakan ESC dan Arduino sama sederhananya dengan mengontrol servo menggunakan Arduino. ESC menggunakan jenis sinyal kontrol yang sama dengan servo dan itu adalah sinyal PWM standar 50Hz.

Menguasai Pengontrolan Motor Brushless dengan Arduino, ESC, dan BLDC – Tutorial Langkah demi Langkah

Ini sangat nyaman, karena misalnya, saat membuat pesawat RC, kita biasanya memerlukan baik servo dan motor brushless dan, dengan cara ini, kita dapat mengontrol mereka dengan mudah dengan jenis pengontrol yang sama.

Jadi, menggunakan Arduino kita hanya perlu menghasilkan sinyal PWM 50Hz dan tergantung pada lebar pulsa atau durasi keadaan tinggi yang harus bervariasi dari 1 milidetik hingga 2 milidetik, ESC akan mengemudi motor dari RPM minimum hingga maksimum.

Menguasai Pengontrolan Motor Brushless dengan Arduino, ESC, dan BLDC – Tutorial Langkah demi Langkah

Arduino Brushless Motor Control – Diagram Rangkaian

Berikut adalah diagram rangkaian untuk contoh ini. Selain ESC kita hanya akan menggunakan potensiometer sederhana untuk mengontrol kecepatan motor.

Menguasai Pengontrolan Motor Brushless dengan Arduino, ESC, dan BLDC – Tutorial Langkah demi Langkah

Anda dapat mendapatkan komponen yang dibutuhkan untuk tutorial Arduino ini dari tautan di bawah ini:

Kode Arduino untuk Kontrol Motor BLDC

Kode Arduino sangat sederhana dengan hanya beberapa baris kode.

/* Arduino Brushless Motor Control by Dejan, https://howtomechatronics.com */ #include <Servo.h> Servo ESC; // create servo object to control the ESC int potValue; // value from the analog pin void setup() { // Attach the ESC on pin 9 ESC.attach(9,1000,2000); // (pin, min pulse width, max pulse width in microseconds) } void loop() { potValue = analogRead(A0); // reads the value of the potentiometer (value between 0 and 1023) potValue = map(potValue, 0, 1023, 0, 180); // scale it to use it with the servo library (value between 0 and 180) ESC.write(potValue); // Send the signal to the ESC }Code language: Arduino (arduino)

Deskripsi: Jadi, kita perlu menentukan library Servo, karena dengan library servo kita dapat dengan mudah menghasilkan sinyal PWM 50Hz, jika tidak sinyal PWM yang dihasilkan Arduino pada frekuensi yang berbeda. Kemudian kita perlu membuat objek servo untuk kontrol ESC dan menentukan variabel untuk menyimpan input analog dari potensiometer. Pada bagian setup, menggunakan fungsi attach(), kita menentukan ke pin Arduino mana sinyal kontrol ESC terhubung dan juga menentukan lebar pulsa minimum dan maksimum sinyal PWM dalam mikrodetik.

Pada bagian loop, pertama kita membaca potensiometer, memetakan nilainya dari 0 hingga 1023 menjadi nilai dari 0 hingga 180. Kemudian menggunakan fungsi write() kita mengirim sinyal ke ESC, atau menghasilkan sinyal PWM 50Hz. Nilai dari 0 hingga 180 sesuai dengan nilai dari 1000 hingga 2000 mikrodetik yang ditentukan di bagian setup.

Jadi, jika kita mengunggah kode ini ke Arduino kita, dan kemudian menyuntikkan daya semuanya menggunakan baterai, kita dapat mengontrol kecepatan motor brushless dari nol hingga maksimum menggunakan potensiometer.

Menguasai Pengontrolan Motor Brushless dengan Arduino, ESC, dan BLDC – Tutorial Langkah demi Langkah

Namun, ada beberapa hal yang harus kita catat di sini. Saat menyala motor awalnya, nilai sinyal harus sama atau lebih rendah dari nilai minimum 1 milidetik. Ini disebut arming ESC, dan motor akan mengeluarkan beberapa bunyi bip konfirmasi sehingga kita tahu bahwa itu sudah diarm dengan benar. Jika kita memiliki nilai yang lebih tinggi saat menyala, yang berarti kita memiliki throttle naik, ESC tidak akan memulai motor hingga kita menurunkan throttle ke nilai minimum yang benar. Ini sangat nyaman dari segi keamanan, karena motor tidak akan memulai jika kita memiliki throttle naik saat menyala.

Kalibrasi ESC

Terakhir, mari kita jelaskan cara kerja kalibrasi ESC. Setiap ESC memiliki titik tinggi dan rendah sendiri, dan mereka mungkin sedikit bervariasi. Misalnya, titik rendah mungkin 1,2 milidetik dan titik tinggi mungkin 1,9 milidetik. Dalam kasus tersebut, throttle kita tidak akan melakukan apa-anya dalam 20% pertama hingga mencapai nilai titik rendah 1,2 milidetik.

Menguasai Pengontrolan Motor Brushless dengan Arduino, ESC, dan BLDC – Tutorial Langkah demi Langkah

Untuk mengatasi masalah ini, kita dapat mengkalibrasi ESC atau menetapkan titik tinggi dan rendah sesuai keinginan kita. Untuk tujuan itu, sebelum menyala ESC, pertama kita perlu menaikkan potensiometer kita ke maksimum atau setidaknya nilai yang lebih besar dari titik tengah saat ini. Kemudian kita dapat menyala ESC, dan kita akan mendengar beberapa bip dari motor yang sebenarnya mengonfirmasi bahwa kita telah menetapkan titik tinggi baru.

Menguasai Pengontrolan Motor Brushless dengan Arduino, ESC, dan BLDC – Tutorial Langkah demi Langkah

Kemudian setelah 2 detik, kita harus memindahkan potensiometer ke posisi tempat kita ingin titik rendah baru berada. Kita akan mendengar bip konfirmasi lagi dan dengan itu kita selesai dengan kalibrasi ESC. Sekarang throttle kita akan merespons segera dan kita dapat mengontrol motor di dalam dua titik baru ini.

Itu cukup semuanya untuk tutorial ini. Jika Anda ingin mempelajari cara membuat kontrol motor brushless Arduino ini secara nirkabel, Anda dapat memeriksa video sebelumnya saya di mana saya membuat pengirim RC berbasis Arduino dan menjelaskan cara mengontrol motor BLDC menggunakan itu.

Menguasai Pengontrolan Motor Brushless dengan Arduino, ESC, dan BLDC – Tutorial Langkah demi Langkah

Saya harap Anda menikmati tutorial ini dan mempelajari hal baru. Jangan ragu untuk bertanya apa pun di bagian komentar di bawah dan jangan lupa untuk memeriksa koleksi Proyek Arduino saya.


Proses manufaktur

  1. Buat Kunci RFID Arduino yang Aman – Panduan Langkah demi Langkah
  2. Bangun Tabung Pintar: Kendalikan Penerima Koin dengan Arduino Nano
  3. Pusat Kontrol Daya Arduino: Kit N-FET, P-FET, Relay & RTC
  4. Kontrol LED melalui Bluetooth dengan Arduino – Panduan DIY Sederhana
  5. Buat Robot Pengikuti Garis Otonom dengan Arduino UNO
  6. Pengontrol Kelembapan Arduino DIY dengan Relay – Pengaturan Tegangan Tinggi yang Aman
  7. Kit Pelatihan Arduino Komprehensif dengan Mega 2560, Sensor, Motor, dan PCB Kustom
  8. Tutorial Arduino Untuk Pemula 01: Mulai dengan Proyek Pertama Anda
  9. Solusi Otomasi dan Motor BLDC Canggih
  10. Memahami Motor BLDC: Panduan Profesional