Arduino ile fırçasız motor nasıl sürülür?


28

Fırçasız bir motoru doğrudan Arduino ile sürmek mümkün mü? Yoksa PWM darbeli fırçasız bir motor ESC'yi kontrol etmeye mi başlamalıyım?


1
Eski bir dvd / cd-rom oynatıcısından bir sürücü çipi alabilirsiniz.
Lars,

Yanıtlar:


10

ESC'yi kesinlikle kullanmalısınız. Fırçasız motorlar en iyi bir sinüs dalgasıyla (veya bir sinüs dalgasına mümkün olduğunca yakın) sürüldüğünde çalışır. Ayrıca oldukça doğru ve karmaşık bir sinyal kümesi gerektirir. Uygun dalga formlarını oluşturmak ve bir arduinodan zamanlama yapmak zor olacaktır ve buna gerçekten ihtiyacınız olmadıkça, muhtemelen buna değmez. ESC'yi arduino'nuzdan kontrol etmek için her zaman düzenleme yapabilirsiniz; bu, size programlı kontrol ile ESC'nin verimliliğini ve gücünü verecektir.


nitpick: Wikipedia'ya göre ( en.wikipedia.org/wiki/brushless_DC_electric_motor ), BLDC motorlar anahtarlamalı DC tarafından çalıştırıldığında en iyi şekilde çalışacak şekilde optimize edilmiştir: tam pozitif, başarılı ve tam negatif. Kalıcı mıknatıslı AC motorlar bir sinüs dalgasıyla sürüldüğünde en iyi şekilde çalışacak şekilde optimize edilmiştir; Bu, aralarındaki tek önemli fark. Sonucunuza katılıyorum: muhtemelen kendiniz geliştirmek yerine hazır bir ESC kullanmaya değersiniz.
davidcary

4
Bir BLCD üzerindeki kontrolör, bir arduino ile aynı atmega'yı çok iyi kullanabilir; bu yüzden avantaj, detay problemini çözmesi için başkalarına dağıtmaktır; ve arduino'nun atmega'sını daha yüksek seviyeli işler için serbest bırakmak için düşük seviyeli komütasyon görevini sonlandırmak.
Chris Stratton,

BLDC motorları, bobinlere esas olarak kare dalga sürücü kullanır. Kontrolörün kullanıcı tarafında (ESC), DC güç beslemesini ve ESC'nin gerektirdiği kontrol sinyallerini ne olursa olsun kullanırlar. Sinüs dalgaları özelliği yoktur.
Russell McMahon,

13

Aslında bazen kendi ESC'nizi yapmanız GEREKİR. Maket'te satılan ESC'ler "ticari" hale getirildi ve uçaklar, helisler, arabalar gibi RC işleri için kendi kontrol kodlarına sahipler ...

Örneğin, bazen çift taraflı bir rejeneratif fren almanız gerekir. Durmadan ileri, durmadan ileri. Bu özelliğe sahip NO RC ESC yoktur. Ya ileriden durmaya ya da hiç yokken sadece bir rejeneratif fren vardır. Veya BLDC sensör kontrolüne ihtiyacınız olabilir, ancak piyasada yalnızca birkaç sensörlü ESC vardır ve bunlar sadece ihtiyacınız olmayan ve kesinlikle ihtiyaç duymadığınız özelliklere sahip (yerleşik sensörsüz ESC'ler için aynıdır) özelliklerine sahiptir. !

Kendi ESC'nizi tasarlamak, BÜYÜK güce sahip en ucuz 10 $ 'dan bile mükemmel bir seçim ve daha ucuz.

Kontrol kodunun ve donanımın bir ağrı olabileceği doğrudur, ancak bazı okumalardan sonra sadece bir oyuncaktır.

Jameco'nun sitesinde (çok güzel) kolayca bulabileceğiniz 6 mosfet ve diğer bazı şeyler kullanarak bir arduino ile bir BLDC kontrol cihazının nasıl yapılacağına dair iyi bir eğitim var (bu çok ucuz). gyros gibi bazı sensörler bulamazsınız

http://www.instructables.com/id/BLDC-Motor-Control-with-Arduino-salvaged-HD-motor/

çok güzel ve rehber takip etmek kolaydır. Direnç, motor sargıları veya akü şarj cihazı kullanarak, bu kılavuzu ve hemen hemen tüm regen fren kombinasyonlarını kullanarak düşük veya çok yüksek ESC'lerden HERHANGİ bir güç elde edebilirsiniz ...

Mosfet kullanmak sadece bir oyuncak, neredeyse her şeyi yapabilirsin.

Muhtemelen bu mosfet'i, 5 V çıkışlı bir arduio kartı gibi bir MCU ile çok verimli bir şekilde kontrol edememeniz ve mosfet'in orta gerilimler için geçit voltajının kolayca 16-30V aralığında daha fazla olduğunu düşünüyorum. Arduino'nun voltajını arttırmak için başka bir tansisör kullanmalısınız.

İyi şanslar.


6

Bu konuda 30 dakika ileri geri gittim. Bir öğrenme deneyimi olarak yapmadığınız sürece muhtemelen bir ESC kullanmak istediğinizi düşünüyorum. Motoru doğru bir şekilde kontrol etmek, arduinodan haklı çıkarmayı düşündüğümden daha fazla kaynak bağlar. Ayrıca, motorun adc yoklama ile olan tepkisini sınırlıyor olacaksınız. ESC'yi geri alma olarak kullanmayı düşünmem, böyle yapılması gerekiyordu.


4

Başka hiç kimse bunu söylemediğinden, pratik olarak doğrudan bir arduinodan bir motoru süremezsiniz çünkü AVR yongası herhangi bir yararlı miktarda güç sağlamak için yeterli akım vermez.

Dolayısıyla, en azından, sadece sürücü transistörlerini çalıştırmak için altı dijital hat gerektiren, gerekli akımları sürmek için üç fazlı bir H köprüsü düzenlemesi (okuma: üç 'yarım H köprüsü') oluşturmaya çalışıyor olacaksınız.

Bu sürücü yetenek sorununun çözüldüğünü ve önemsiz olmadığını varsayalım, o zaman kontrol koduna girmelisin. Bu motorların sürekli mıknatıslı rotorları vardır, bu nedenle stator alanını sadece kör şekilde döndüremez ve kullanışlı tork elde edemezsiniz. Elektriksel faz açılarını ayarlı tutmak için rotorun yönünü bilmek zorundasınız, böylece düzgün bir tork elde edersiniz.

Diğerlerinin de söylediği gibi, belirli bir öğrenme deneyimi istemiyorsanız, sadece bir ESC satın alma konusunda şerefsizlik yoktur.


3

Bunun harika bir öğrenme alıştırması olacağını düşünüyorum, ancak ESC'ler rotasyonu tespit etmek için EMF'yi kullanıyor, bunun için optik veya manyetik sensörler kullanabilirsiniz. Temel olarak 3 AC faz oluşturmak ve bunları doğru zamanda etkinleştirmek / devre dışı bırakmak zorundasınız.

Manyetik alanın dönme hızı, motora uyarlanmış olmalıdır, yani hızlandırmak istiyorsanız, alan biraz daha erken çalışmalı ve daha hızlı çalışmalıdır. Ayrıca, tersini yaparak da kırılabilirsin.

Ayrıntılı bir açıklama için: http://www.embedded.com/columns/technicalinsights/196701832?_requestid=137540

Pratik bir iş için bir ESC edinin.


İlk önce, hızlanma ve yavaşlamanın, tanımladığınız şekilde, alanı yönlendirerek ve geciktirerek gerçekleştirildiğini düşündüm. ama sonra hızlanmanın esas olarak voltaj tarafından belirlendiğini okudum (bunun nasıl yavaşlayabileceğini göremememe rağmen). biraz kafam karıştı. Bu yaklaşımlardan biri hızlanma için çalışıyor mu? birini diğerine tercih etmek veya karıştırmak için herhangi bir sebep var mı? Teşekkürler!
necromancer

2

Sen edebilirsiniz sürerek tam anlamıyla sargılar için bir akım sağlamak anlamına yoksa Arduino ile doğrudan sürücü - Herhangi bir MCU çok çok zayıf bunun için olurdu. Ayrıca, Arduino da batabilir ancak kaynak akımı oluşturamaz, ancak fırçasız bir motor için ikisine de ihtiyacınız olur.

Ancak, Arduino'ya ek olarak çok basit bir H köprüsü sürücüsü IC kullanıyorsanız, ESC'nin hemen hemen her işlevini uygulayabilirsiniz. Aslında, uygulamaya bağlı olarak, kapalı devre hız kontrolüne ihtiyaç duymayacağınız anlamına gelen bir E * SC * 'ye bile ihtiyacınız olmayabilir - yük çok büyük değilse, yalnızca motora güvenerek kurtulabilirsiniz. sarımın enerjilendirilmesiyle senkronize olarak yanıt vermek ve sarım akımı değişikliklerinin oranı Arduino'dan gelirdi. Motorunuzu sürmek için uyarlayabileceğiniz bu çok basit fırçasız (BLDC) motor kontrol şeması ve Arduino eskizine bakın. Bu bir bellek görev yaparsa 750mA ile maksimize SN754410NE dört H-köprü IC dayanmaktadır.

Kod çok önemsiz değildir ve düzgün dönüş için PWM'den yararlanır ancak uygulamanıza uyum sağlamak için ayrıştırmak çok zor değildir. BLDC motoru için gerçek Arduino çizimi burada .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.