- Gerekli malzemeler
- BLDC Motorları Anlamak
- Drone'lar ve diğer Multi-copters neden BLDC Motorları kullanıyor?
- Neden bir ESC'ye ihtiyacımız var ve işlevi nedir?
- BLDC ve ESC'ler ile bazı ortak terimler:
- Arduino BLDC Motor Kontrol Devresi Şeması
- Arduino kullanarak BLDC Hız Kontrolü Programı
- Arduino BLDC Motor Kontrolü
Bir şeyler inşa etmek ve onları çalıştırmak, istediğimiz şekilde her zaman çok eğlenceliydi. Bu kararlaştırılmış olsa da, uçabilen şeyler inşa etmek hobiler ve donanım tamircileri arasında meydan okurcasına biraz daha fazla endişe yaratacaktır. Evet! Planörlerden, Helikopterlerden, Uçaklardan ve özellikle çoklu helikopterlerden bahsediyorum. Bugün, çevrimiçi olarak sunulan topluluk desteği sayesinde kendi başınıza bir tane oluşturmak çok kolay hale geldi. Uçan her şeyde ortak olan bir şey, BLDC motor kullanmalarıdır , peki bu BLDC motoru nedir? Bir şeyleri uçurmak için neden ona ihtiyacımız var? Onunla ilgili bu kadar özel olan ne? Doğru motoru nasıl satın alabilirim ve kontrol cihazınızla onu nasıl arayüzleyebilirsiniz? ESC nedir ve neden kullanıyoruz? Buna benzer sorularınız varsa, bu eğitim tek durak çözümünüzdür.
Yani temel olarak bu eğitimde Fırçasız Motoru Arduino ile Kontrol Edeceğiz. Burada A2212 / 13T Sensörsüz BLDC çıkış motoru, 20A Elektronik Hız Kontrol Cihazı (ESC) ile birlikte kullanılır. Bu motor genellikle insansız hava araçları inşa etmek için kullanılır.
Gerekli malzemeler
- A2212 / 13T BLDC Motor
- ESC (20A)
- Güç Kaynağı (12V 20A)
- Arduino
- Potansiyometre
BLDC Motorları Anlamak
BLDC Motor, Fırçasız DC motor anlamına gelir, düzgün çalışması nedeniyle tavan vantilatörlerinde ve elektrikli araçlarda yaygın olarak kullanılır. BLDC motorların elektrikli araçlarda kullanımı daha önce detaylı bir şekilde anlatılmıştı. Diğer motorlardan farklı olarak, BLDC motorların onlardan çıkan üç kablosu vardır ve her tel kendi fazını oluşturur, böylece bize üç fazlı bir Motor verir. Bir dakika ne!!??
Evet, BLDC motorlar DC motorlar olarak kabul edilse de Darbeli dalgalar yardımıyla çalışırlar. Elektronik hız kontrol ünitesi (ESC) pals için aküden gelen DC voltajı dönüştürür ve Motor tel 3 için sağlar. Herhangi bir zamanda, motorun yalnızca iki Fazına güç verilir, böylece akım bir fazdan girer ve diğerinden ayrılır. Bu işlem sırasında, motorun içindeki bobine enerji verilir ve bu nedenle rotor üzerindeki mıknatıslar, enerji verilen bobine hizalanır. Daha sonra ESC tarafından sonraki iki tele enerji verilir, motorun dönmesi için bu işleme devam edilir. Motorun hızı, bobine ne kadar hızlı enerji verildiğine ve motorun yönü bobinlere hangi sırayla enerji verildiğine bağlıdır. ESC hakkında daha fazla bilgiyi bu makalenin ilerleyen bölümlerinde öğreneceğiz.
Mevcut birçok BLDC motor türü vardır, en yaygın sınıflandırmalara bakalım.
Koşucu içi ve Koşucu dışı BLDC motor: Koşucu içi BLDC Motorlar, diğer motorlar gibi çalışır. Yani kasa sabit kalırken motorun içindeki mil dönüyor. Dışarı koşucu BLDC motorları tam tersiiken, motorun Dış kasası şaft ile birlikte dönerken içindeki bobin sabit kalır. Dış kasanın (dönen) kendisi lastikler için bir Jant haline getirildiğinden ve dolayısıyla bir bağlantı mekanizmasından kaçınıldığından, elektrikli bisikletlerde koşucu motorlar çok avantajlıdır. Ayrıca koşucu motorlar, koşucu tiplerine göre daha fazla tork verme eğilimindedir, bu nedenle EV ve Dronlar için ideal bir seçim haline gelir. Burada kullandığımız, aynı zamanda bir koşucu tipi.
Not: Çekirdeksiz BLDC motorlar olarak adlandırılan ve aynı zamanda cep Dronları için de kullanılan başka bir motor türü vardır, farklı bir çalışma prensibine sahiptirler, ancak şimdilik bu eğitim uğruna onu atlayalım.
Sensör ve Sensörsüz BLDC Motor: Bir BLDC motorun herhangi bir sarsıntı olmadan dönmesi için bir geri bildirim gereklidir. Yani ESC, statoru buna göre enerjilendirmek için rotordaki mıknatısların konumunu ve kutbunu bilmek zorundadır. Bu bilgiler iki şekilde elde edilebilir; bunlardan biri motorun içine hall sensörü yerleştirmektir. Salon sensörü mıknatısı algılayacak ve bilgileri ESC'ye gönderecek bu tip motorlara Sensord BLDC motor denir ve Elektrikli araçlarda kullanılır. İkinci yöntem, mıknatıslar bunları geçtiğinde bobinlerin ürettiği arka EMF'yi kullanmaktır, bu ek donanım veya kablolar gerektirmez, faz telinin kendisi geri EMF'yi kontrol etmek için bir geri bildirim olarak kullanılır. Bu yöntem motorumuzda kullanılır ve drone'lar ve diğer uçan projeler için yaygındır.
Drone'lar ve diğer Multi-copters neden BLDC Motorları kullanıyor?
Quad helikopterlerden helikopterlere ve planörlere kadar birçok türde havalı dron var, her şeyin ortak bir donanımı var. Bu BLDC motorları, ama neden? Neden DC Motorlara kıyasla biraz pahalı olan bir BLDC motor kullanıyorlar?
Bunun pek çok geçerli nedeni vardır, ana nedenlerden biri, bu motorlar tarafından sağlanan torkun çok yüksek olmasıdır ve bu, bir drone'u havaya uçurmak veya indirmek için hızlı bir şekilde itme kuvveti kazanmak / kaybetmek çok önemlidir. Ayrıca bu motorlar, motorların itme kuvvetini tekrar artıran dış koşucular olarak mevcuttur. Seçilmiş BLDC motorunun bir başka nedeni de pürüzsüz titreşimsiz çalışmasıdır, bu, havada sabit olan drone'umuz için çok idealdir.
Bir BLDC motora ait ağırlık oranı gücü çok yüksektir. Bu çok önemlidir, çünkü drone'larda kullanılan motorlar yüksek güçte (yüksek hız ve yüksek tork) olmalı ama aynı zamanda daha az ağırlıkta olmalıdır. Bir BLDC motorla aynı torku ve hızı sağlayabilen bir DC motor, BLDC motorun iki katı ağırlığa sahip olacaktır.
Neden bir ESC'ye ihtiyacımız var ve işlevi nedir?
Bildiğimiz gibi, her BLDC motor, motorun faz tellerine güç sağlamak için DC voltajını bataryadan darbelere dönüştürmek için bir tür denetleyici gerektirir. Bu kontrolöre Elektronik Hız Kontrolörü anlamına gelen ESC denir. Kontrolörün ana sorumluluğu, BLDC motorların Faz tellerine motorun dönmesi için bir sırayla enerji vermektir. Bu, her bir telden gelen arka EMF'yi algılayarak ve mıknatıs bobini tam olarak geçtiğinde bobine enerji vererek yapılır. Dolayısıyla, ESC'nin içinde bu eğitimin kapsamı dışında kalan birçok donanım parlaklığı vardır. Ancak birkaçından bahsetmek gerekirse , hız kontrol cihazı ve bir pil eliminatör devresi var.
PWM tabanlı hız kontrolü: ESC, Turuncu telde sağlanan PWM sinyalini okuyarak BLDC motorun hızını kontrol edebilir. Servo motorlara çok benzer şekilde çalışır, sağlanan PWM sinyalinin 20 ms'lik bir periyodu olmalıdır ve görev döngüsü BLDC motorun hızını değiştirmek için değiştirilebilir. Aynı mantık servo motorların pozisyonu kontrol etmesi için de geçerli olduğundan, Arduino programımızda aynı servo kütüphanesini kullanabiliriz. Arduino ile Servo kullanmayı buradan öğrenin.
Akü Eliminatör Devresi (BEC): Hemen hemen tüm ESC'ler bir Akü eliminatör devresiyle birlikte gelir. Adından da anlaşılacağı gibi bu devre, mikrodenetleyici için ayrı bir pil ihtiyacını ortadan kaldırır, bu durumda Arduino'muza güç sağlamak için ayrı bir güç kaynağına ihtiyacımız yoktur; ESC'nin kendisi, Arduino'muza güç sağlamak için kullanılabilecek düzenlenmiş bir + 5V sağlayacaktır. Normalde bu voltajı düzenleyen birçok devre türü vardır, ucuz ESC'lerde doğrusal düzenleme olacaktır, ancak anahtar devreli olanları da bulabilirsiniz.
Bellenim: Her ESC'nin içine üreticiler tarafından yazılmış bir aygıt yazılımı programı vardır. Bu aygıt yazılımı, ESC'nizin nasıl yanıt vereceğini büyük ölçüde belirler; popüler donanım yazılımlarından bazıları Geleneksel, Simon-K ve BL-Heli'dir. Bu aygıt yazılımı da kullanıcı tarafından programlanabilir ancak bu eğitimde bunun çoğuna girmeyeceğiz.
BLDC ve ESC'ler ile bazı ortak terimler:
BLDC motorlarla yeni çalışmaya başladıysanız, muhtemelen Frenleme, Yumuşak başlangıç, Motor Yönü, Düşük Voltaj, Tepki süresi ve İlerleme gibi terimlerle karşılaşmış olabilirsiniz . Bu terimlerin ne anlama geldiğine bir bakalım.
Frenleme: Frenleme, BLDC motorunuzun, gaz kelebeği çıkarılır çekilmez dönmeyi durdurma yeteneğidir. Bu yetenek, havada manevra yapabilmek için RPM'lerini daha sık değiştirmeleri gerektiğinden, çoklu helikopterler için çok önemlidir.
Yumuşak Başlatma: Yumuşak başlangıç, BLDC motorunuz dişli ile ilişkilendirildiğinde dikkate alınması gereken önemli bir özelliktir. Bir motor yumuşak yolverme etkinleştirildiğinde, aniden çok hızlı dönmeye başlamaz, gaz ne kadar hızlı verilirse verilsin her zaman hızı kademeli olarak artıracaktır. Bu, motorlara (varsa) bağlı dişlilerin aşınmasını ve yıpranmasını azaltmamıza yardımcı olacaktır.
Motor Yönü: BLDC motorlarda motor yönü normalde çalışma sırasında değiştirilmez. Ancak montaj sırasında kullanıcının motorun dönme yönünü değiştirmesi gerekebilir. Motorun yönünü değiştirmenin en kolay yolu, basitçe motorun herhangi iki telini değiştirmektir.
Düşük Voltaj Durdurma: Kalibre edildikten sonra, BLDC motorlarımızın belirli bir gaz kelebeği değeri için her zaman aynı belirli hızda çalışmasını isteriz. Ancak bunu başarmak zordur çünkü motorlar, akü voltajı düştükçe aynı gaz kelebeği değeri için hızlarını düşürme eğilimindedir. Bunu önlemek için normalde ESC'yi, pil voltajı eşik değerin altına ulaştığında çalışmayı durduracak şekilde programlıyoruz, bu işleve Düşük Voltaj Durdurma adı verilir ve dronlarda kullanışlıdır.
Tepki süresi: Motorun gazdaki değişime bağlı olarak hızını hızlı bir şekilde değiştirme yeteneğine tepki süresi denir. Tepki süresi ne kadar az olursa kontrol o kadar iyi olur.
İlerleme: İlerleme bir problemdir veya daha çok BLDC motorlarındaki bir hata gibidir. Tüm BLDC motorlarında biraz ilerleme var. Bu, stator bobinlerine enerji verildiğinde, üzerlerinde bulunan kalıcı mıknatıs nedeniyle rotor ona doğru çekilir. Çekildikten sonra rotor, bobinin enerjisi kesilmeden ve ardından bir sonraki bobine enerji verilmeden önce aynı yönde biraz daha ileri hareket etme eğilimindedir. Bu harekete "İlerleme" denir ve titreme, ısınma, gürültü yapma vb. Gibi sorunlar yaratır. Yani bu, iyi bir ESC'nin kendi başına kaçınması gereken bir şeydir.
Tamam, yeterli teori şimdi motoru Arduino ile bağlayarak donanıma başlayalım.
Arduino BLDC Motor Kontrol Devresi Şeması
Arduino ile Fırçasız Motoru Kontrol Etmek için devre şeması aşağıdadır :
BLDC motorunu Arduino ile arayüzleme bağlantısı oldukça basittir. ESC'nin yaklaşık 12V ve 5A minimum güç kaynağına ihtiyacı vardır. Bu eğitimde RPS'mi bir güç kaynağı olarak kullandım, ancak ESC'ye güç sağlamak için bir Li-Po pil de kullanabilirsiniz. ESC'nin üç fazlı kabloları, motorların üç fazlı kablolarına bağlanmalıdır, bu kabloları bağlamak için herhangi bir sıra yoktur, bunları herhangi bir sırayla bağlayabilirsiniz.
Uyarı: Bazı ESC'lerin üzerinde konektörler olmayacaktır, bu durumda bağlantınızın sağlam olduğundan emin olun ve açıkta kalan kabloları yalıtım bandı kullanarak koruyun. Fazlardan yüksek akım geçeceği için herhangi bir kısa devre ESC ve motorda kalıcı hasara yol açacaktır.
BEC (pil düşürücü devresi) ESC kendisi çaba isteyen Kurulu kadar güce kullanılabilecek bir + 5V düzenler. Son olarak BLDC motorun hızını ayarlamak için Arduino'nun A0 pinine bağlı bir potansiyometre de kullanıyoruz.
Arduino kullanarak BLDC Hız Kontrolü Programı
50 Hz frekansla% 0 ile% 100 arasında değişen görev döngüsüne sahip bir PWM sinyali oluşturmalıyız. Motorun hızını kontrol edebilmemiz için görev döngüsü bir potansiyometre kullanılarak kontrol edilmelidir. Bunu yapacak kod, servo motorları kontrol etmeye benzer çünkü bunlar ayrıca 50 Hz frekanslı bir PWM sinyali gerektiriyor; dolayısıyla Arduino'daki aynı servo kütüphanesini kullanıyoruz. Tam kod Ben küçük snippet'lerde kodu açıklamak aşağıda daha bu sayfanın alt kısmında bulunabilir. Ve eğer Arduino veya PWM'de yeniyseniz, o zaman önce Arduino ile PWM'yi kullanın ve Arduino kullanarak servoyu kontrol edin.
PWM sinyali yalnızca donanım tarafından PWM'yi destekleyen pinlerde üretilebilir, bu pinler normalde bir ~ sembolü ile belirtilir. Arduino UNO'da, pin 9 PWM sinyali üretebilir, bu yüzden ESC sinyal pinini (turuncu kablo) pin 9'a bağlarız, ayrıca aşağıdaki satırı kullanarak aynı inn kodundan bahsediyoruz
ESC.attach (9);
% 0 ile% 100 arasında değişen görev döngüsüne sahip PWM sinyali oluşturmalıyız. % 0 görev döngüsü için POT, 0V (0) çıkışı ve% 100 görev döngüsü için POT, 5V (1023) çıkışı verecektir. Burada pot A0 pinine bağlıdır, bu nedenle aşağıda gösterildiği gibi analog okuma fonksiyonunu kullanarak POT'tan analog voltajı okumalıyız.
int gaz kelebeği = analogRead (A0);
O zaman değeri 0'dan 1023'e 0'dan 180'e dönüştürmeliyiz çünkü 0 değeri% 0 PWM üretecek ve 180 değeri% 100 görev döngüsü oluşturacaktır. 180'in üzerindeki değerler hiçbir anlam ifade etmeyecektir. Bu nedenle, aşağıda gösterildiği gibi harita işlevini kullanarak değeri 0-180'e eşleştiriyoruz.
gaz kelebeği = harita (gaz kelebeği, 0, 1023, 0, 180);
Son olarak, bu değeri o pin üzerinde PWM sinyali oluşturabilmesi için servo fonksiyona göndermemiz gerekiyor. Servo nesnesini ESC olarak adlandırdığımız için, kod aşağıdaki gibi görünecektir; burada değişken gaz, PWM sinyalinin görev döngüsünü kontrol etmek için 0-180 arasındaki değeri içerir.
ESC.write (gaz kelebeği);
Arduino BLDC Motor Kontrolü
Bağlantıları devre şemasına göre yapın ve kodu Arduino'ya yükleyin ve ESC'yi çalıştırın. BLDC motorunu bir şeye monte ettiğinizden emin olun, çünkü motor dönerken her yönden zıplayacaktır. Kurulum açıldıktan sonra, ESC'niz bir hoş geldiniz tonu çıkaracak ve gaz kelebeği sinyali eşik sınırları içinde olana kadar biplemeye devam edecektir, basitçe POT'u 0V'den kademeli olarak artırın ve bip sesi duracaktır, bu artık PWM sağladığımız anlamına gelir. sinyal alt eşik değerinin üzerine çıkar ve siz yükseldikçe motorunuz yavaşça dönmeye başlayacaktır. Ne kadar çok voltaj sağlarsanız, motor o kadar fazla hız alır, son olarak voltaj üst eşik sınırının üzerine çıktığında motor durur. Daha sonra işlemi tekrarlayabilirsiniz.
Bu Arduino BLDC Denetleyicinin tam çalışması, aşağıdaki video bağlantısında da bulunabilir. Bunu çalıştırmada herhangi bir sorunla karşılaştıysanız, yorum bölümünü kullanmaktan çekinmeyin veya daha fazla teknik yardım için forumları kullanın.