sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz

Başlatan hasankara, 03 Mart 2014, 14:26:26

hasankara

mosfetlerin çerez gibi gitmesi artık mide bulandırmaya başlamıştı. bende bu sebeple artık mosfetlerin kapasitesini tarla gibi kullanayım sorun çözülünce daha düşük kapasiteli mosfetlerle denerim mantığı ile geçtiğimiz haftasonu, belki kazıklandım ama tanesine 3 lira verdiğim irfp70n06 mosfetlerinden 7 tane almıştım. daha büyük kılıflı bir model vardı aklımda direnc net kapalıydı bende aşağıda bu mosfeti buldum boş dönmek istemeyince aldım. üstelik kolpa mosfet olma olasılığı yüksek bile. neyse.

bulutay geçtiğimiz 3 gün içerisinde yaklaşık 12-13 tane mosfet sürücü entegresi yaktım. Bu hafta yaşadığım en büyük problem bu entegrelerin yanması idi ama elimde son 1 tane yedekle birlikte toplam 4 tane entegre kaldığı haliyle sanırım üstesinden geldim. kritik bölgelere sigorta koymayı akıl etmeseydim muhtemelen bu entegrelerin hepsi bile gitmiş olacaktı şimdi. Tarla mosfet mantığı işe yaradı, çünkü devreden kıvılcımlar bile gördüm ama mosfetler sağlamdı.

biraz uzun olacak ama durumu özetlemeye çalışayım. mosfet sürücü entegrelerinin pozitif besleme den topluca çektiği akımı takip etmeyi düşündüm. farkettim ki boştayken +3ma gibi bir akım çekiyorken, motor gerilimlendiği ilk anlarda dönmeye başlayana kadar +100ma nın üzerilerine çıkabiliyor. belli kuvvet aralıklarında (pwm duty oranın da) akım - lerde gözükürken duty dahada arttırdıkça tekrar + lara çıkmaya başlıyor. yani entegre pozitif beslemeden akım çekebildiği gibi akım da akıtması gerekebiliyormuş. ...muş derken yine bunu da tecrübeyle gördüm. mosfet sürücü entegrelerinin ortak pozitif besleme girişini diyot üzerinden yapmayı da denedim. bu sefer low side entegrelerine anahtarlama yaparken 30 voltun üzerine çıkabildiğini ve dengesiz gerilim seviyelerinde anahtarlama yaptığını gördüm. mosfet sürücü entegrelerinden bayağı mefta verdim bu zamanda. her mosfetin Vgs sine 12volt zener taktım. Beslemedeki diyotu iptal edip direk bağlantıyı yaptım. Şu an güzel çalışıyor.

diğer önemli bir tecrübem ise; hem high hem low side mosfetlerinin hepsi pwm lenince mosfet sürücü entegrelerinin, besleme ile arasında oluşan akım geçişindeki abartıda önemli rol alıyor. mesela bu videoda, Turnigy C8085 BLDC 6-Phase Dual Controller Rewind  adam motor ucundaki sinyali gösteriyor osilaskopta. bu sinyalden şunu anlıyoruz, turnigy esc sinde sadece low side leri pwm leyip high side leri pwm siz sabit komutasyon yaptırıyor. sinyale bakınca yukardan aşağıya doğru sarkıklar oluşmuş gibi. bende aynı anahtarlama şeklini yaptığımda aynı sinyali görebildim. lowlari sabit komutasyon yapıp high leri de anahtarladım. bu sefer aşağıdan yukarıya sarkıklar oluşuyormuş gibi göründü. bu haliyle mos sürücü entegrelerinde abartılı bir akım geçişi olmuyordu yine. ama ilk denemelerimde hem high hem low pwmli komutasyon yaptırıyordum. sinyal daha ortalı görünüyor. sürücü entegrelerinden ciddi akım geçişleri meydana geliyor. zannedersem ki motor özelliğinden dolayı oluşan boost geriliminden etkileniyor. ama bir taraf pwm yerine sabit komutasyonlanınca motorun boost etkisi gayet bastırılmış oluyor.

bir diğer tecrübem ise yazılımdaki tutarsızlıklar vs bu mosfet sürücü entegrelerinin besleme ile arasındaki akım geçişinde önemli rol oynuyor. bu akım seviyesini ölçerek, yazılımdaki ve donanımdaki tutarsızlıkları görmüş oluyoruz. en kötü ihtimalle deneme yanılmayla düzeltebiliyoruz.

15000 rpm da 2 dk kadar döndürdüm herşey olağan seyrediyor gibi. mosfetlerin soğutucusu olmadığı için hepsi kendi arasında eşit seviyede ısınmaya başlıyorlar.

telefonu servise vermeseydim video çekip koymak vardı aklımda. Bundan sonra izlemeyi düşündüğüm yol; kalkışı daha iyileştirmem gerekiyor. nihayetinde rotor takibi yapabilmek için motoru öncesinde enerjilemek gerekiyor. rutin döngüye göre ekstra bir şeyler yapmak gerekiyor. aklımda bazı fikirler var ama bundan önce arada kullandığım kapı entegrelerine olan bağımlılığımı ortadan kaldırmaya çalışacağım. zaten 3 kanal pwmli sinyale ihtiyacımız olduğunu düşününce ve denetleyicinin 5 kanal pwmi olduğunu bildiğimize göre bu entegreleri ortadan kaldırmak ile ilgileneceğim.

pisayisi

Turnigy esc lerde alt ve üst kollardaki fetlere pwm uygulanmasının nedeni hızlı demanyetizasyonu gerçekleştirmek için olabilir. Normalde boşta kalan enerjilenmeyen sargının üzerindeki enerji fetin gövde diyotu üzerinden deşarj edilir. Yüksek devirli motorlarda bu diyot yeterince hızlı demanyetizasyon yapmaz ve uygun bir pwm işareti ilgili fet anahtara uygulanarak boştaki sargıdaki enerjinin hızlı biçimde sıfırlanması sağlanır. Aşağıdaki resimdeki gibi bir sürücü katını göze alırsak,



Aşağıdaki doğruluk tablosuna göre sürücü yapılandırılabilir,

Murat

hasankara

daha önce görmemiştim, güzel bir yaklaşım gibi. bunu denemem çok vaktimi almayacak sanırım. ilginiz için teşekkürler pisayisi.

learner

Step1 de T1 logic T4 pwm le mi sürülmeli. Eğer öyleyse High side mosların sürülmesi problem olur.

hasankara

denedim motor döndü ama benim pek hoşuma gitmedi. ekstra bir faydasını göremedim, hatta mosfetler daha erken ısındı gibi geldi bana. ve motorda gözüken sinyal daha bir garipti. 2 önceki yorumumda ki videoda adamın kullandığı turnigy esc nin sinyalinden sadece low side pwm lenip high side sabit komutasyon yapıldığı görülüyor. pisayisi bu tabloyu nereden buldun?


hasankara

bugün nokia c3 telefonla çektiğim bir video yayınladım. telefon servisten gelince daha iyi bir video çekebileceğim. iyi seyirler.  http://youtu.be/cgQ4KUz6yiY 

hasankara




Bugün bir rekor denemesi yaptım. elimdeki pil 4 cell 14.8 volt. şarj cihazım olmadığı için yalnızca tek deneme yaptım, pilin enerjisini harcamamak için. önceki denemelerimde pc psu su (12V) ile boşta iken, yazılımda iyileştirmeler yaparak 16000 rpm e çıkabildim. 14.8 volt uyguladığımda 19758 rpm görebildim. her 3 kanalda ,022r seri direnç bağlı olduğunu da düşününce bundan iyisi şamda kayısı diye düşünüyorum.

Güncel olarak yazılım hakkında bazı gereksiz işlemlerle uğraştığımı fark ettim. dijital filtreye hiç ihtiyaç kalmıyor. resimde sarı olan sinyal analog filtreli bemf sinyalini gösteriyor. entegreye yakın şekilde filtrelendiği zaman gayet temiz bir sinyal elde ediliyor. yazılımda sadece güncel adc değerlerini karşılaştırıyorum ve gayet yeterli oluyor. Buradan yaklaşımla sadece opamp kullanarak bile bemf iyi derecede değerlendirilebilir diye düşünmekteyim. Ama denetleyicimizin refleksleri ne kadar iyi olursa verim o kadar artmakta.

kullandığım pic32mx320f denetleyicisini 80 mhzde de 40 mhzde de çalıştırdığımda motor üzerinde bir fark göremedim. Fiyat performans açısından başka bir denetleyiciye mi yönelsem diye düşündüm. pic32mx320f064h digikey fiyatı 5.8 dolar. pic32 deki adc otomatik kanal taraması özelliği çok işe yarıyor. istediğimiz kanallar otomatik olarak adc okunup bufferlere kayıt ediliyor. bize sadece bufferleri okumak kalıyor. Bu sebeple pic32 nin ucuzlarının fiyatlarına baktım. pic32mx110f016 digikey fiyatı 2.5 dolar, iyi bir tercih gibi görünüyor. elimde stm32f407 discovery var. üzerinde programlayıcı olduğu için arm denetleyicilerinide değerlendirebilirim. denetleyici seçimi konusunda fikirlere açığım.

Mucit23

Bence STM32F407 ile denemeler yapın. ADC si çok hızlı, DMA ile kullanıldığında Pic32'deki gibi kanal taraması yapıp buffere kayıt yapabilirsiniz. Bir sürü özelliği var. İçine girmek lazım.

hasankara

Bu arada yeni farkettim 40 mhz de denediğimi söylemiştim hala 80 mhz miş. gerçekten 40 mhz de denediğimde frekans 266 dan 260 hz e düşüyor dakika bazında 360 rpm farkediyor. denetleyici seçiminde sanırım 80 mhz altına inmeyeceğim. turnigy esc lerine baktım 40a olanında bile 8 pin soic kılıfındaki mosfetler kullanmışlar hep ve atmega 8a fln kullanmışlar garipsedim. sonuçta şöyle bir gerçekte var, pervane takınca motor dönüş frekansı bu kadar yüksek seviyeye çıkmayacak öyle olunca denetleyicinin yüksek çalışma frekanslarına ihtiyaç kalmayabilir. kaldı ki 6hz lik fark, ölçülmediği sürece kendisini hiç farkettirmiyor bile. sanırsam ki bu durumların arkasına saklanıp fiyatı oldukça düşürme yoluna gitmişler. diğer bir ihtimal ki ben kendim az oran veriyorum, adamlar benim algoritmadan çok daha iyisini kullanıyorlar.

mucit23 durum böyle olunca dahada ileriye gitmek anlamsız geliyor bana, stm32f407 bu iş için gayet fazla. he motor sınırlarını görmek için belki ideal bir seçim bile sayılabilir. ama rc uçağa takıp uçurması için kullanılacak bir tasarımda anlamsız gibi. digikey fiyatı en ucuzu 10.9 dolar. pic32mx320f in 2 katı neredeyse. Ben pic32mx320f e muadil olarak st nin daha ucuz 3 dolar civarı bir denetleyicisi varsa diye düşündüm.

Mucit23

Ben hala eksik yaptığınız birşey olduğunu düşünüyorum. Birkaç ESC'de Atmega 8, Atmega16 gibi MCU'lar görmüştüm.

hasankara




paintte belirtmeye çalıştım. verim eksenini, diğer tüm parametrelerin eşit olduğunu kabul ederek motorun max hızı gibi de düşünebiliriz. böyle olunca bu grafik yatay bir asimptota yaklaştığı sanırım anlayabiliyoruz. denetleyici eksenini de devrenin refleksi gibi de düşünebiliriz. refleks deyimini biraz açayım; sonraki komutasyon için belirli bir an yakalamak gerekiyor. komutasyon frekansınız x hz seyrettiği zamanı düşünün. 2x hz le bile yakaladığımız örnekleri karşılaştırmış olsak motoru en düşük verimde döndürebiliyoruz. bu katsayı arttıkça 100 e yaklaşabiliyoruz (diğer parametreler göz ardı ediliyorken). atıyorum katsayıyı 100x yaptık verim 95 oldu ise, 500x yaptık 96 oldu. uçlara yaklaştıkça durum böyle. bu katsayı da denetleyici faktörüne endeksli. bunlar sallama örnekler tabi ama fonksiyonel olarak yaklaşınca bu şekilde durumu özetleyebiliyoruz.

verim yüzde 1 arttığında maliyet yüzde 20 gibi artacaksa adamda varsın yüzde 1 düşük verimde sürücüler satayım der.

hasankara

Pcb konusunda fikir almak istiyorum.
resim1: resim2:

bu iki resimde görüldüğü gibi sadece sağ tarafta yollandırma var yada yok. yani bir resimde besleme hatları pcb çevrelerken diğerinde sadece bir uçtan yayılıyor. akım kapasitesini arttırmak için pcb çevrelerse iyi olabilir gibi düşünmüştüm ilk başta. ama çevrelemesi halinde manyetik alan yayılımını tahmin etmek zorlaşıyor ve birde regülatör gnd bağlantısı yüksek akım taşıyacak yol üzerine, kaynaktan 3 cm uzakta bağlantılayabildim. çok az da olsa gürültülü bir gnd hattıyla denetleyici beslenmiş olacak düşüncesiyle, çevreleme fikrinden uzaklaştım ve tek noktadan yaymaya karar verdim. birde gnd hattı üzerinden opampla en uç noktalar arasındaki gerilim farkından akım ölçmeyi düşünüyorum. bunun için de tek noktadan yayılım fikri daha mantıklı görünüyor gibi.

belki gereksiz evham ama işte buna karar veremediğimden sormak istedim.

hasankara

http://youtu.be/-2XsaseNk_s

Nihayet projenin sonuna yaklaşabildik. Ek olarak bazı yazılımsal eklentilerle (akım ve sıcaklık korumaları ve soğutucu eklemesi gibi), uzun bir süre tasarım olarak geri dönüş yapmamak üzere, ilk versiyonu tamamlamış olmayı hedefliyorum. Konuya dahil olan herkese ayrıca teşekkürlerimi sunuyorum.

Mucit23

Hasan bey tebrikler

Bu konuda şimdiye kadar gördüğüm ilk tamamlanmış proje oldu.

Tasarladiginiz sürücüyle ileriye dönük planlarınız varmı?