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

Tutorial Kontrol Motor Tanpa Kuas Arduino | ESC | BLDC

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

Ringkasan

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

Dalam hal ini, 1000KV berarti bahwa, misalnya, jika kami memasok motor dengan baterai LiPo 2S yang memiliki tegangan 7,4 volt, motor dapat mencapai RPM maksimum 7,4 kali 1000, atau itu 7400 RPM.

Motor brushless haus daya dan metode paling umum untuk menyalakannya adalah menggunakan baterai LiPo. Angka “S” baterai LiPo menunjukkan berapa banyak sel yang dimiliki baterai, dan setiap sel memiliki tegangan 3,7V.

Untuk contoh ini, saya akan menggunakan baterai LiPo 3S yang memiliki 3 sel dan itu 11.1V. Jadi, saya bisa berharap motor saya mencapai RPM maksimum 11100.

Terakhir, inilah ESC 30A yang akan saya gunakan untuk contoh ini dan sesuaikan dengan kebutuhan motor. Di satu sisi ESC memiliki tiga kabel yang mengontrol tiga fase motor dan di sisi lain memiliki dua kabel, VCC dan GND, untuk memberi daya.

Ada juga satu set tiga kabel yang keluar dari ESC dan itu adalah garis sinyal, +5V dan ground. Fitur ESC ini disebut Battery Eliminator Circuit dan seperti namanya menghilangkan kebutuhan baterai terpisah untuk mikrokontroler. Dengan ini, ESC menyediakan 5V teregulasi yang dapat digunakan untuk memberi daya pada Arduino kami.

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

Jadi, mengendalikan motor brushless menggunakan ESC dan Arduino semudah mengendalikan servo menggunakan Arduino. ESC menggunakan jenis sinyal kontrol yang sama seperti servo dan itu adalah sinyal PWM 50Hz standar.

Ini sangat nyaman, karena misalnya, saat membuat pesawat RC, biasanya kita membutuhkan servos dan motor brushless dan, dengan cara ini, kita dapat mengontrolnya dengan mudah dengan jenis pengontrol yang sama.

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

Kontrol Motor Tanpa Kuas Arduino – Diagram Sirkuit

Berikut diagram sirkuit untuk contoh ini. Selain ESC, kami hanya akan menggunakan potensiometer sederhana untuk mengontrol kecepatan motor.

Anda bisa mendapatkan komponen yang diperlukan untuk Tutorial Arduino ini dari link di bawah ini:

  • Motor Tanpa Kuas ………………………
  • ESC 30A ……………………………………….
  • Baterai Li-Po ……………….…..……
  • Dewan Arduino …………………………
  • Potensiometer ………………………….
  • Breadboard dan Kabel Lompat …

Kode Arduino untuk Kontrol Motor BLDC

Kode Arduino sangat sederhana hanya dengan 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 mendefinisikan perpustakaan Servo, karena dengan perpustakaan servo kita dapat dengan mudah menghasilkan sinyal PWM 50Hz, sebaliknya sinyal PWM yang dihasilkan Arduino berada pada frekuensi yang berbeda. Kemudian kita perlu membuat objek servo untuk kontrol ESC dan menentukan variabel untuk menyimpan input analog dari potensiometer. Di bagian penyiapan, menggunakan fungsi attach(), kami menentukan pin Arduino mana yang merupakan sinyal kontrol dari ESC yang terhubung dan juga menentukan lebar pulsa minimum dan maksimum dari 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 membangkitkan sinyal PWM 50Hz. Nilai dari 0 hingga 180 sesuai dengan nilai dari 1000 hingga 2000 mikrodetik yang ditentukan di bagian penyiapan.

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

Namun, ada beberapa hal yang perlu kita perhatikan di sini. Saat pertama kali menyalakan motor, nilai sinyal harus sama atau lebih rendah dari nilai minimum 1 milidetik. Ini disebut mempersenjatai ESC, dan motor mengeluarkan bunyi bip konfirmasi sehingga kita tahu bahwa itu dipersenjatai dengan benar. Jika kami memiliki nilai yang lebih tinggi saat menyalakan, yang berarti kami memiliki throttle up, ESC tidak akan menghidupkan motor sampai kami menurunkan throttle ke nilai minimum yang benar. Hal ini sangat nyaman dalam hal keselamatan, karena motor tidak akan hidup jika gas kita dinaikan saat menyalakan.

Kalibrasi ESC

Terakhir, mari kita jelaskan cara kerja kalibrasi ESC. Setiap ESC memiliki poin tinggi dan rendahnya sendiri, dan mereka mungkin sedikit berbeda. Misalnya, titik rendah mungkin 1,2 milidetik dan titik tinggi mungkin 1,9 milidetik. Dalam kasus seperti itu, throttle kami tidak akan melakukan apa pun dalam 20% pertama hingga mencapai nilai titik terendah 1,2 milidetik.

Untuk mengatasi masalah ini, kita dapat mengkalibrasi ESC atau mengatur titik tinggi dan rendah sesuai keinginan. Untuk tujuan itu, sebelum menyalakan ESC, pertama-tama kita perlu mempercepat potensiometer kita hingga maksimum atau nilai setidaknya lebih besar dari titik tengah saat ini. Kemudian kita dapat menyalakan ESC, dan kita akan mendengar beberapa bunyi bip dari motor yang sebenarnya mengkonfirmasi bahwa kita telah menyetel titik tertinggi yang baru.

Kemudian setelah 2 detik, kita harus memindahkan potensiometer kita ke posisi di mana kita berada di titik terendah yang baru. Kami akan kembali mendengar bunyi bip konfirmasi dan dengan itu kami selesai dengan kalibrasi ESC. Sekarang throttle kami akan segera merespons dan kami dapat mengontrol motor dalam dua titik baru ini.

Itu cukup banyak untuk tutorial ini. Jika Anda ingin mempelajari cara membuat kontrol motor tanpa sikat Arduino secara nirkabel, Anda dapat melihat video saya sebelumnya di mana saya membuat dan pemancar RC berbasis Arduino dan menjelaskan cara mengontrol motor BLDC menggunakannya.

Saya harap Anda menikmati tutorial ini dan belajar sesuatu yang baru. Jangan ragu untuk mengajukan pertanyaan apa pun di bagian komentar di bawah dan jangan lupa untuk memeriksa koleksi Proyek Arduino saya.


Proses manufaktur

  1. Tutorial Kunci RFID Arduino
  2. Kontrol Penerima Koin dengan Arduino
  3. Pusat Kontrol Arduino
  4. Arduino dengan Bluetooth untuk Mengontrol LED!
  5. Robot Pengikut Baris
  6. Kontrol Humidifier Arduino
  7. Platform Pelatihan Arduino
  8. Tutorial Arduino 01:Memulai
  9. Motor &Otomasi BLDC
  10. Pengantar Motor BLDC