BLDC motor ve Hall efefct sensörler

Başlatan aranelluinwe, 07 Ekim 2019, 17:33:34

aranelluinwe

Selamın Aleyküm
kolay gelsin
ben motor sürücü için çalışmalara devam ediyorum da bir yerde bilginize ihtiyaç duydum kod kısmında hall effectlerden aldığım feed back (nasıl bir geri dönüş almalıyım H-L şeklinde mi yoksa kombinasyon olarak mı) de kodsa olarak nasıl yazacağımı tam anlamadım yardımcı olabilirseniz sevinirim. Şimdiden teşekkür ederim.

aranelluinwe

bir de benim çok  fazla bir bilgim yok beni yönledirecek biri de yok sadece araştırdığım kadar
ben şimdi nasıl bir yol izlemeliyim.
Sinüs yapmalı mıyım? FOC kullanmalı mıyım? hall mı kullanmalı mıyım? encoder mi kullanayım? Sinüs yaparsam hall efecte gerek var mı?
 hangisi daha iyi olur ,sizin tecrübelerinizden yararlanabilirsem gerçekten çok iyi olur.

iboibo

09 Ekim 2019, 19:30:35 #2 Son düzenlenme: 09 Ekim 2019, 20:06:15 iboibo
Kimse yazmamış diye yazıyorum , tavsiyem başlangıç ve deneyler için 3 faz half bridge kur mosfetleri güçlü seç , mcu sensör girişi ve pwm çıkışı ile deney kiti hazır olsun, bunun  için mcu a hakim olmalısın ,ilk başta denemeler için yazılım kullanabilrisin ama donanıma doğru kayman gerekir ,osloskop ile kontrol et mcu pwm çıkışı ile half drdge doğrumu herşey yolunda mı,  herşey düzgün ise trapozoid olarak hall sensör ile dondur daha sonra varsa enkoder, daha sonra sinus, ve amp /volt feed back ile sensörsüz sinus sürücü yap, tabi kendini geliştirmen için yoksa herşeyin hazırı entegresi modulu vs var. Kısaca önünde uzun bir yol var  :D

Hall sensörlerini tavisyem  ADC girişi ile oku hall sönsöerlerin motorun iç mıknatısına göre konumlandıracaksın, deneme yanılma yapabilirsin, adc den okuduğun değer motorun rotor konumunu verir yani rotor kaç derecede buna göre dereceyi pwm ile sinus yada tropozd olarak açıyı değiştirdiğin zaman motor istediğin hızda döncektir. Eğer motorda üç bobin varsa hall snsör ile motorun tam olrak konumunu buulabirlsin   6 -12 bölmeli motorda tam konum enkoder ile bulunabilir fakat motor hall sensör ile döndürülebilir.

Hiç sensor kullanmdan sadece bobinleri dinleyerek yada amper dinleyerek motor döndürülebilir, mesela rotor bobindeki manyetik yöne doğru kayarken akım artmaya başlar tam konuma geldiğinde ise max ulaşır buradan rotor konumu bulunabilir.  Ya da pwm  off sırasında bobindeki voltaj durumunu izleyerek motorun konumu bulunabilir sensörsüz .




aranelluinwe

Hocam sağolassın
Ben 1 ay önce dc motor sürücü yaptım sıkıntı çıkmadı sıra 3 fazlında ama göründüğü gibi kolay değilmiş şematik olarak kafamda şekillendirdim nasıl olacağını az çok çizdim ama daha tam karar verememiştim hall efect mi encoder mi falan bakalım artık hocam dediğin gibi önümde uzun bir yol var emeğine sağlık

aranelluinwe

Hocam yani hall kullanmadan FOC gibi akım ve volt dinlemek mi daha mantıklı yoksa hall mı (2kwmotor için)

Cemre.

Alıntı yapılan: iboibo - 09 Ekim 2019, 19:30:35Kimse yazmamış diye yazıyorum , tavsiyem başlangıç ve deneyler için 3 faz half bridge kur mosfetleri güçlü seç , mcu sensör girişi ve pwm çıkışı ile deney kiti hazır olsun, bunun  için mcu a hakim olmalısın ,ilk başta denemeler için yazılım kullanabilrisin ama donanıma doğru kayman gerekir ,osloskop ile kontrol et mcu pwm çıkışı ile half drdge doğrumu herşey yolunda mı,  herşey düzgün ise trapozoid olarak hall sensör ile dondur daha sonra varsa enkoder, daha sonra sinus, ve amp /volt feed back ile sensörsüz sinus sürücü yap, tabi kendini geliştirmen için yoksa herşeyin hazırı entegresi modulu vs var. Kısaca önünde uzun bir yol var  :D

Hall sensörlerini tavisyem  ADC girişi ile oku hall sönsöerlerin motorun iç mıknatısına göre konumlandıracaksın, deneme yanılma yapabilirsin, adc den okuduğun değer motorun rotor konumunu verir yani rotor kaç derecede buna göre dereceyi pwm ile sinus yada tropozd olarak açıyı değiştirdiğin zaman motor istediğin hızda döncektir. Eğer motorda üç bobin varsa hall snsör ile motorun tam olrak konumunu buulabirlsin   6 -12 bölmeli motorda tam konum enkoder ile bulunabilir fakat motor hall sensör ile döndürülebilir.

Hiç sensor kullanmdan sadece bobinleri dinleyerek yada amper dinleyerek motor döndürülebilir, mesela rotor bobindeki manyetik yöne doğru kayarken akım artmaya başlar tam konuma geldiğinde ise max ulaşır buradan rotor konumu bulunabilir.  Ya da pwm  off sırasında bobindeki voltaj durumunu izleyerek motorun konumu bulunabilir sensörsüz .

Motorlara montajı yapılan hall effect sensörlerin analog çıkış verenlerine hiç rastlamadım daha önce. ADC ile okuma konusundan emin misiniz? Aksine mümkünse üç girişi XOR etme imkanı bulunan ve external interrupt tanımlanabilen dijital girişleri kullanmak gerektiğini düşünüyorum...

iboibo

Alıntı yapılan: Cemre. - 09 Ekim 2019, 21:53:08Motorlara montajı yapılan hall effect sensörlerin analog çıkış verenlerine hiç rastlamadım daha önce. ADC ile okuma konusundan emin misiniz? Aksine mümkünse üç girişi XOR etme imkanı bulunan ve external interrupt tanımlanabilen dijital girişleri kullanmak gerektiğini düşünüyorum...

Cemre neden olmasın?, analog hall  bize direkt motor açısını verir kolayca açıyı artırıp azaltıp motoru istediğimiz gibi döndürürüz,  eğer hall sensör dijital ise değişim zamanını hesaplayıp buna göre açıyı hesaplayabiliriz, tabi yanlış düşünüyor da olabilirim düzeltirsen konuyu açan arkadaş da bundan faydalanır.

@aranelluinwe en  iyisi  enkoder dir bulunamıyorsa-uygun değilse hall sensörülü yapmalısın,  sensörsüz de kesinlikle yapılabilir ama profesyonel olmak gerekir yoksa güç kaybı , enerji kaybı yaşayablrisin.  Tabi bunlar benim tavsiyelerim daha tecrübeli arkadaşlar yazarlarsa seviniriz.


Cemre.

Analog Hall Sensör ile rotor pozisyonunu absolute olarak tespit etmek tabiki mümkün. Zaten bu tip "enkoder" çipleri üretiliyor. Ancak standart uygulamalarda yapı şu şekilde oluyor. Bir artımsal enkoder ve üç adet hall effect sensör bir arada servo motora üretim esnasında gerekli hizalaması yapılıp takılıyor. Sürücü artımsal enkoder sinyalini kullanarak rotor pozisyonunu yüksek çözünürlükte takip edebiliyor ancak ilk enerjilendirme esnasında rotor pozisyonu bilinemediği için hall effect sensörlerden alınan en kötü durumda bile 30derece açısal hata ile (3 adet sensör her yükselen&düşen kenar sinyalinde 60 derecelik aralıklarla rotor pozisyonunu söyler) motor ilk kalkışı yaptırılıyor. Bir sonraki hall effect sensör yükselen veya düşen kenarında da rotor pozisyonu kesin olarak tespit edilmiş oluyor. Bu noktadan sonra artımsal enkoder ile rotor pozisyonu ve hızı yüksek çözünürlükle tespit edilebiliyor. Tabii bu kadar zahmete girmek yerine bir sin cos resolver veya absolute encoder ile de ya da sizin önerdiğiniz gibi manyetik alandan rotor pozisyonunu tespit edebilecek (genelde mıknatıs ve manyetik encoder çipi şeklinde oluyor) bir yapı kurulup rotor pozisyonu kesin olarak tespit edilebilir. Şuan encoder + hall effect yapısının tercih edilmesinin en önemli sebebi hali hazırda var olan sürücülerin bu yapıyı destekliyor olması ve bu yapının görece ucuz olmasıdır.

aranelluinwe

Yardımlarınız için çok teşekkür ederim ilerleme oldukça sizinle paylaşacağım
Emeğinize sağlık hocam

arden3521

Hocam Selam,

Motoru nereden tedarik ettiniz acaba?

Benzer bir projede çalışıyorum ve sensörlü bir motor bulamadım.

CD/DVD Rom motorlarında sanırım sensörler entegre oluyor ancak açtığım bir Rom içinden çıkan motor maalesef sensörsüz çıktı. Sensörsüz operasyon için de kendimi açıkcası yeterli görmüyorum.

Yardımcı olursanız çok memnun olurum :)