Başa dön

Arduino ESC ile Fırçasız Motor Kullanımı ve Kontrolü

Merhaba arkadaşlar, bu yazımız da arduino fırçasız motor kullanımı yani Arduino ve ESC motor sürücü kullanarak fırçasız bir motoru nasıl kullanıp kontrol edeceğimizi öğreneceğiz. Fırçasız DC motor nedir ve nasıl çalıştığı hakkında daha fazla bilgi almak isterseniz, fırçasız dc motor nedir? yazısına göz atabilirsiniz. Ayrıca Arduino ESC kullanarak fırçasız motorun nasıl kontrol edileceğini içeren aşağıdaki videoyu izleyebilirsiniz .

Arduino Fırçasız Motor Kullanımı – Genel Bakış

Aşağıdaki özelliklere sahip bir outrunner fırçasız dc motor, 1000 KV derecesine sahip, 2S, 3S veya 4S LiPo pil ve 30A ESC kullanılarak çalıştırılabilir. Fırçasız bir motordaki KV derecesi, motorun devir / dakikasını volt başına tanımlar.

Örnek olarak; 1000KV fırçasız motoru 7.4 volt gerilimi olan 2S LiPo pile bağlarsak, motorun 7.4 x 1000 = 7400 RPM’ye ulaşabileceğini anlarız.

Fırçasız motorlar çok yüksek rpm’lere ulaşabilir, yeter ki doğru enerji beslemesini sağlayabilesiniz. En yaygın yöntem LiPo pil kullanmaktır. Bir LiPo pilin “S” sayısı, pilin kaç tane hücresi olduğunu ve her bir hücrenin 3.7V’lik bir gerilimi olduğunu gösterir.

Bu örnekte, 3 hücreli ve 11.1V olan 3S LiPo pili kullanacağız. Böylece motorun maksimum 11100 RPM’ye ulaşmasını bekleyeceğiz.

Motor gereksinimleriyle eşleştireceğimiz bir 30A ESC şart. Bir tarafta motorun üç fazını kontrol eden üç kabloya, diğer tarafta da güç sağlamak için VCC ve GND olmak üzere iki kabloya sahiptir.

ESC’den çıkan üç kablo seti daha var bunlar; +5V ve toprak sinyal hattıdır. ESC’nin bu özelliğine Battery Eliminator Circuit adı verilir ve bu özellik mikrodenetleyici için ayrı bir pil ihtiyacını ortadan kaldırır. Bununla ESC, Arduino’muza güç sağlamak için kullanılabilecek düzenlenmiş 5V sağlar.

Burada, bu bağlantının aslında Servo motorlarda gördüğümüzle aynı olduğunu görebiliyoruz.

ESC ve Arduino kullanarak fırçasız bir motoru kontrol etmek, Arduino kullanarak servoyu kontrol etmek kadar basittir. ESC’ler servo ile aynı tipte kontrol sinyali kullanır ve bu standart 50Hz PWM sinyalidir.

Bir RC drone inşa ederken, genellikle hem servolara hem de fırçasız motorlara ihtiyacımız var ve onları aynı tip kontrolörle kolayca kontrol edebiliriz.

 

Dolayısıyla, Arduino’yu kullanarak sadece 50Hz PWM sinyalini üretmek zorundayız. Bu sinyal ile darbelerin genişliğine veya 1 milisaniyeden 2 milisaniyeye kadar değişmesi gereken yüksek durum süresine bağlı olarak, ESC motoru minimumdan maksimum RPM’ye kodlayabileceğiz.

Arduino Fırçasız Motor Kontrolü – Devre Şeması

ESC’ye ek olarak, motor hızını kontrol etmek için basit bir potansiyometre kullanacağız.

Bu arduino projesi için gerekli bileşenleri aşağıdaki linklerden alabilirsiniz:

 

Fırçasız DC Motor Kontrolü için Arduino Kodu

Arduino kodu sadece birkaç satır koddan oluşur ve gerçekten basittir.

/*
        Arduino ESC ile Fırçasız Motor Kullanımı ve Kontrolü
        HayaletVeYap.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
}
Önemli:

Servo kütüphanesini tanımlamamız gerekir, çünkü servo kütüphanesi ile 50Hz PWM sinyalini kolayca oluşturabiliriz, aksi takdirde Arduino’nun ürettiği PWM sinyalleri farklı frekanslardadır. Öncelikle ESC kontrolü için bir servo nesnesi oluşturmalı ve analog girişi potansiyometreye tanımlamalıyız. Setup bölümünde, attach () işlevini kullanarak, Arduino pininin bağlı olduğu ESC’yi ve ayrıca PWM sinyalinin minimum ve maksimum darbe genişliğini mikrosaniye cinsinden tanımlarız.

 

Ayrıca bakınız; Arduino ile DC Motor Kontrolü

 

Döngü bölümünde, önce potansiyometreyi okur, değerini 0 ile 1023 arasında, 0 ile 180 arasında bir değere eşleriz. Sonra write () işlevini kullanarak sinyali ESC’ye göndeririz veya 50Hz PWM sinyali üretiriz. 0 ile 180 arasındaki değerler, kurulum bölümünde tanımlanan 1000 ile 2000 mikrosaniye değerlerine karşılık gelir.

Yani, eğer bu kodu Arduino’muza yüklersek ve çalıştırırsak, potansiyometreyi kullanarak fırçasız motorun hızını sıfırdan maksimuma kadar kontrol edebiliriz.

Ancak, burada dikkat etmemiz gereken birkaç şey var. Motora ilk kez güç verirken, sinyal değeri 1 milisaniyelik minimum değerle aynı veya daha düşük olmalıdır. Buna ESC için Arming denir ve motora doğru şekilde Arming yapıldığında bir onaylama, bip sesi çıkarır. Enerji verirken daha yüksek bir değere sahip olmamız durumunda ESC, motoru doğru minimum değere düşürene kadar çalıştırmayacaktır. Bu, güvenlik açısından çok kullanışlıdır, çünkü güç verirken gaz kelebeği çıkması durumunda motor çalışmayacaktır.

 

ESC Kalibrasyonu

Son olarak, ESC kalibrasyonunun nasıl çalıştığını açıklayalım. Her ESC’nin kendine göre yüksek ve düşük puanları vardır ve biraz değişebilir. Örneğin, düşük nokta 1,2 milisaniye ve yüksek nokta 1,9 milisaniye olabilir. Böyle bir durumda, gazımız ilk % 20’de 1.2 milisaniyelik düşük nokta değerine ulaşana kadar hiçbir şey yapmaz.

Bu sorunu çözmek için ESC’yi kalibre edebilir veya istediğiniz gibi yüksek ve düşük noktaları ayarlayabiliriz. Bu amaçla, ESC’ye güç vermeden önce, ilk önce potansiyometreyi maksimum ya da en azından mevcut orta noktadan daha büyük bir değere düşürmeliyiz. Sonra ESC’yi çalıştırabiliriz ve motordan yeni yüksek noktayı belirlediğimizi doğrulayan birkaç bip sesi duyacağız.

Daha sonra 2 saniye sonra, potansiyometreyi yeni düşük noktanın konumuna getirmeliyiz. Onay bip seslerini tekrar duyacağız ve bununla birlikte ESC kalibrasyonu yapılmış olacak. Artık motoru bu yeni iki nokta arasında kontrol edebiliriz.

Eğer bu makalemizden memnun kaldıysanız aşağıda yukarı ok’a tıklayarak +1 verebilirsiniz.
Diğer Güncel Arduino Projeleri için BURAYA TIKLAYABİLİRSİNİZ.

Sizde Robotlara ve Maker’lığa Meraklıysanız, Robotik Marketimiz ROBOCOMBO‘yu Ziyaret Edebilirsiniz.

Arduino ile Yapılmış 10 İlginç Örnek Proje

Okuduğunuz İçin Teşekkürler.

Kaynak: howtomechatronics.com/tutorials/arduino/arduino-brushless-motor-control-tutorial-esc-bldc/