BLDC Motoru hall sensor kullanmadan incremental encoder takarak dondurmek.

Başlatan z, 04 Aralık 2019, 06:33:02

z

Daha onceleri bu konuya fazla kafa yormadan basitce halledilebilecegini dusunuyordum fakat pek de kolay degilmis.

BLDC motorlarda 60 derece aciyla yerlestirilmis 3 hall sensor oluyor. Bu sayede komutasyon noktalari basitce ogrenilebiliyor.

Benim uygulamamda bu 3 sensoru kullanmayacagim fakat motorumda incremental shaft encoder var.
Ancak ilk asamada motorun mil acisi bilinmedigi icin encoder bilgisi komutasyon acisindan anlam tasimiyor.

Asagidaki resimde enerjisiz ve yuksuz bir motorun mili bu 12 pozisyondan birisinde yada bu pozisyonlara yakin bir degerdedir.
(Resimde sadece 8 tanesi gosterildi)

Resimdeki sari oklar enerjisiz motorun rotorundaki miknatisin aki yolunu gosteriyor. (Bu benim iddiam ve yanlis olabilir)



Motorun yildiz noktasi motor icinde hapis olmustur ve donanimim BackEMF okumaya musait degildir.

Ancak 3 faz akimi ve mil acisi monitor edilmektedir.

Bu sartlar altinda akilli bir algoritma ile motoru resimde sol ustteki pozisyona getirmeye ve bu aciyi sifir kabul etmeye calisiyorum.

Fikir cimlastigi yapacaklari davet ediyorum.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

z

Deney1:

Eger motor mili sol ustteki gibi pozisyonda duruyorsa sargilari, akim ust sargidan girip diger iki sargidan cikacak sekilde polarize edersem milde buyuk bir kimildanma olmayacaktir.

Dolayisi ile bu deneyi yaparak milin SolUst1 ya da SolAlt1 de oldugu yorumu yapilabilir.

Deney 2:

Ayni deney milin SolAlt1 pozisyonda bekliyorken yapilirsa da milin SolUst1 ya da SolAlt1 de oldugu yorumu yapilabilir.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

Cemre.

Yükün tipi sabit moment yükü değil de değişken moment yükü olsaydı (fan/pompa vb) bir faza akım basar motorun belirli bir pozisyona kilitlenmesini sağlar oradan devam ederdik. Ama enkoder vb olduğuna göre durum pekte böyle değil sanırım.. Enkoderin olmasının sebebi pozisyon kontrol yapmak olduğunu varsayıyorum. Genelde bu tip sistemlerde homing ihtiyacı da oluyor. Eğer durum buysa ilk enerjilenme anında yazılacak homing rutininde enkoder Z palsi de gelecek şekilde çalıştırılırsa Z referans olarak alınabilir. Bu durumda enkoder'in fabrikada takılırken çok hassas ve tam kutup altı gibi referans bir noktaya denk gelecek şekilde takıldığından emin olmak lazım. Zaten ticari servolarda enkoder bu şekilde hazır takılı geliyor. Buna ek olarak hall sensörler oluyor.

Eldeki verilere bakacak olursak zaten enkoder ve akım bilgisinden başka bir şey yok. Bu durumda ben olsam rotoru farklı açılarda ayarlayıp yukarıdaki tüm kombinasyonlar için motoru hareket ettirmeyecek kadar zayıf bir Pwm ile uyarıp akımın ortalama/rms değerini toplardım. Beklentim, pozisyona göre fazlardan çekilecek akımda farklılıklar görmek. Eğer gözle görülebilecek bir fark oluşuyorsa buradan yürürdüm.

z

Z palsinin alinacagi sifir noktasi tam kutup altina mi yoksa tam iki kutup arasina mi yerlestiriliyor?

Motorumu FOC teknigi ile dondurecegim.

Baslangicta encoderin verdigi konum 0 iken mil 12  segmentten herhangi birisinde bulunabilir. Bu durumda FOC rutinleri sapitacak.

Fakat bu sapitmadan yola cikip motor acisinin ne oldugu kestirilebilmesi lazim diye dusunuyorum.

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

Cemre.

Alıntı yapılan: z - 04 Aralık 2019, 07:51:02Z palsinin alinacagi sifir noktasi tam kutup altina mi yoksa tam iki kutup arasina mi yerlestiriliyor?

Motorumu FOC teknigi ile dondurecegim.

Baslangicta encoderin verdigi konum 0 iken mil 12  segmentten herhangi birisinde bulunabilir. Bu durumda FOC rutinleri sapitacak.

Fakat bu sapitmadan yola cikip motor acisinin ne oldugu kestirilebilmesi lazim diye dusunuyorum.



Z'in tam olarak nereye yerleştirildiğinden emin değilim maalesef. Eğer bir şekilde enkoder hatalı bağlandıysa sıfırlama rutini şöyle oluyor. Sürücü motoru enerjilendirip bir noktaya kilitliyor (ya iki faza ya da tek faza enerji veriyor (zaten bu da sorunuzun cevabı)) sonra siz elle Z'i denk gelecek şekilde ayar yapıyorsunuz.

Bu arada sensörsüz FOC PM motor kontrolü yapabilen benim bildiğim sadece bir markanın ürünü var ticari olarak.

bu dokümanı bir incelemenizi tavsiye ederim.

z



Motorum bu.

Faz sargilarindan birisinden voltaj verip diger ikisini topraga cektigimde motor 0, 90, 180, 270 dereceden en yakin olana kitliyor.

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

apsis

Aradığınız teknik "PMSM/BLDC rotor initial alignment". Encoderli sistemlerde sargılara bir miktar akım vererek veya doğrudan d-eksenine akım verilerek rotor bir kutup üzerine hizalanır. Hizaladığın noktayı vektörünün başlangıcı olarak kabul edip sistemini başlatabilirsin.

Diğer bir yöntem ise Encoder Aligment. Burada rotor encoderin Z geçişine hizalanır. Taktığım encoder tesadüfen kutbun tam üzerine geldiğinden bir problem olmamıştı. Ancak kutup dışında kalırsa ne olur bilemem.

Aşağıdaki linkler bir fikir verebilir.

http://e2e.ti.com/blogs_/b/industrial_strength/archive/2014/12/19/start-your-bldc-journey-with-motor-startup-part-ii-choosing-your-parameters?DCMP=drv10983&HQS=hval-mdbu-drv10983-mdrvblog-150219-part3-141219-brushlessdc-en

http://e2e.ti.com/blogs_/b/industrial_strength/archive/2015/02/19/start-your-bldc-journey-with-motor-startup-part-iii-initial-position-detection-ipd
"Makineye Beyin" MEKATRONİK

z

Neyse sanirim dert edilecek bir sorunum yokmus. Videodaki deney sonucunda 0, 90, 180, 270 dereceden herhangi birisini 0 olarak kabul edebilirim.

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

z

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

z

Sargilardan birisine voltaj verip digger iki sargiyi topraga baglayinca stator kutup alani ile miknatisin kutup alani ayni hizaya geliyor.

Yani Id=max, Iq=0 durumu.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

sezgin05

Zamanında aşağıdaki linkteki AC servo sürücüyü incelemiştim. Atmega644 ile yapılmış sürücüde tam da sizin bahsettiğiniz yöntem kullanılmış hocam.2. sayfanın son konusunda olayı açıklamış eleman.
https://en.industryarena.com/forum/diy-ac-servo-drive-atmega-based--253254.html

Ayrıca piyasada kullanılan bir asansör kabin motor sürücüsü de bu metotla çalışıyor. İlk enerjilendiğinde biraz fazlaca akım çekiyor ve rotor hizalanıyor.

z

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

z



Bir sorun var ve ne oldugunu anlayamadim.

Motor enerjisiz iken rotor miknatislarinin aki yolu en kisa yoldan yolunu tamamlayacak sekilde kutup saclari altina kendini hizalar. Bunu Sekilde 1 olarak gosterdim.

Sekil 2 de bobinlerden akim akitarak cekme yada akim yonune bagli olarak itme kuvveti olusturulur. Sekil 2'yi cekme kuvveti olusturacak sekilde cizdim. Normalde eger rotor Sekil 1 deki gibi konumda ise Sekil 2'de de rotorun Sekil 1'de ki gibi olmasi hic kimildamamasi gerekir. Fakat cizimdeki gibi bir miktar donme yapiyor. (Kucuk bir aci)

Bobin akimlarini kestigimde Sekil 3'deki pozisyona geri donuyor. (Sekil 1 ve Sekil 3 ayni)

Deney baslangicinda rotoru parmaklarimla zorlayip kucuk bir acida tutup ardindan deneyi baslatiyorum.
Deney bitiminde rotor hep 3 nolu konuma geliyor.

Anlayamadigim bobin akimlarini artirinca rotor neden Sekil 2 deki gibi ilave bir donme yapar?

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

z



Cizimde enerjisiz motorumuzun kararli kaldigi (milinin kendiliginden kutuplarla hizalandigi) iki komsu durum gorulmekte.

Enerjisiz motorda rotoru elimizle bu iki konum arasindan herhangi bir yere donderip mili serbest biraksak milin alacagi son konum sekildeki iki konumdan birisi olacaktir.

Olasi toplam kararli konum sayisi ustteki sekildeki motor icin 12 dir. (En bastaki cizime bakabilirsiniz)

Motor sargilarindan akim akittigimizda olusan aci ilginc.

Bunu asagidaki videodaki deneyden gorebilirsiniz.

Deneyde kullandigim motorun kutup sayisi cizimdekinin iki kati oldugundan kararli nokta sayisi deney motorunda 24 olmakta.

Deneydeki motorda enerjisizken 24 tane tutma torkundan kaynakli kararli nokta var. Akim yonumuze bagli olarak 4 tane de enerjili durumda kararli nokta var. Akim yonu ters cevrildiginde 4 tane daha gelecek ve toplam 8 noktamiz olacak.

Iki kararli konum arasindaki aci 360/24=15 derece.
Enerjilenme sonucu donme acisinin en kucuk degeri 7.5 derece oluyor.

Yani bir onceki yazimdaki iddia curuyor.

O iddiada ne demistim?

Enerjisiz motorda eger rotor ve stator hizalanmissa akim yonu uygun secilmisse bu hizadan ayrilmaz.

Ama hiza bozuluyormus.

Deneyde kullandigim motorun rotor ve statoru asagida.



Asagida ise rotordaki miknatis sizilimi goruluyor. Boyle olduguna ikinci bir miknatisi yaklastirip olusan itme ve cekme sayilarindan karar verdim.



Deney videosu.

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

z



Sozkonusu 7.5 derecelik ayar bu sekilden daha net gorunuyor.

Sari dairelerin herbirisi stator sargisi.

Sari noktalar ve tam aralari enerjisiz motorda kararli noktalari olusturuyor. Kirmizi ve mavi bolgeler miknatis kutuplari.

Bobin enerjilendiginde miknatisi 7.5 derece dondurdugunde miknatis tam iki sargi arasina hizalaniyor.
Enerji kesildiginde rotor gerisin geri 7.5 derece geri kaciyor.

Sistemi tam anlayabilmek icin sac paketlerini tam detayli cizmek sart gorunuyor.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com