Mosfet sürememe problemi

Başlatan sdonmez, 24 Eylül 2012, 20:13:27

sdonmez

Merhaba,

Bldc motor sürmek için aşağıdaki devreyi kurdum.

İlgili high-side mosfetleri sürekli "ON" pozisyonunda tutarken, ilgili low-side mosfet'e PWM uyguluyorum. Osiloskop olmadığı için sinyalleri izleyemiyorum fakat multimetre ile girişleri kontrol etmeye çalıştım.

Örneğin Q1: ON, Q5: Pwm uygulayacağım durumda devre şöyle çalışıyor:
- Duty cycle değeri 0 iken U,V,W uçlarında 20V okuyorum.
- U2 IR2101'in Vs (U) ve H0 (H1 çıkışı) pinlerinde de 20 var.
- Q5'e uygulanan duty cycle'ı artırmaya başladıkça Vs pini düşmeye, H0 yükselmeye başlıyor.
Vs=20V,  H0: 25V civarına geliyor. Ve bir anda H1, H2, H3, U,V,W uçları 0V'a düşüyor !!

Kısa devre yok. Enerjiyi kesip tekrar verdiğimde olay tekrarlanıyor. Pwm frekansım 20kHz.
Tecrübelerinizi paylaşırsanız memnun olurum
   

pisayisi

Pwm yi üst koldaki fetlere uygulamanız lazım, q1 pwm ile sürülürken q5 on konumunda olmalı. Üst koldaki fetler pwm ile sürülmezse fet sürücülerin bootstrap devresi sağlıklı çalışmayacağından fetler sürülemeyecek...
Murat

sdonmez

Az önce high ve low side mosfetleri aynı anda pwm ile sürmeyi denedim. Yine olmadı.

mehmet

#3
Bu motorun teoride nasıl çalıştığını anlayabildiniz mi?
Öncelikle  buna cevap vermeniz gerekli.

Üç fazlı asenkron motorları incelemenizi tavsiye
ederim. -+ voltaj vermeniz gerekli, devreniz de ona göre
ama üst mosfetleri + da tuttuğunuzu söylüyorsunuz.

Kutuplaşma sırasının tablosunu çıkarıp buna göre
mosfetleri sürmeniz gerekmektedir...
Üç faz için U, V, W uçlarına 120 derecelik
açı aralıklarıyla sürmeniz gerekli...
U = 1, V = 0, W =0, 120 derece bekle
U = 0, V = 1, W = 0, 120 derece bekle
U = 0, V = 0, W = 1, 120 derece bekle
gibi...(yön değişimi için de örnek V ile W nin yerini değiştiriniz)
(Motor uçlarında olması gerekli lojik değerleri yazdım
siz sürücü ve mcu daki gerekli değişiklikleri buna göre yapacaksınız)

Pwmin frekansı ile deviri, duty cycle ile de gücü(momenti)
kontrol edebilirisiniz. Tüm mosfetlere uygulanacak olan pwm
aynı olmalıdır...

http://www.freescale.com/webapp/sps/site/overview.jsp?code=784_LPBBBLDC8BIT
http://en.nanotec.com/steppermotor_animation.html

Yanlışım varsa düzelteyim hatalarımı...

Saygılar...

Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr
https://creativecommons.org/licenses/by/4.0/deed.tr "CC BY"

anladinmi

Alıntı yapılan: sdonmez - 24 Eylül 2012, 21:10:47
İlgili high-side mosfetleri sürekli "ON" pozisyonunda tutarken, ilgili low-side mosfet'e PWM uyguluyorum.


Alıntı yapılan: sdonmez - 24 Eylül 2012, 21:10:47
Az önce high ve low side mosfetleri aynı anda pwm ile sürmeyi denedim. Yine olmadı.

Abicim, sen birak bu tehlikeli isleri, yoksa çikabilecek olasi bir yangina karsi önlemini al.

Hem yukardaki, hem asagidaki mosfet geçirirse nolur ?
-----> Kisa devre.
Ya mosfet yanar, ya PCB, ya sürücü mosfet'i süremez.
Mos köprü sürereken adamlar deadband bile koyuyorlar.

Tavsiyem BLDC 'den önce bir step motor sürmendir.
Kal saglicakla.

Not : mesajim biraz agresif görünebilir. Hele ki ilk measj için.
Kimse kirilmasin alinmasin lutfen.




sdonmez

Alıntı yapılan: anladinmi - 25 Eylül 2012, 11:27:53
Hem yukardaki, hem asagidaki mosfet geçirirse nolur ?

Cümleyi okuyup da anlamaya çalışmadan yorum yapma! Aynı anda aynı koldaki mosfetleri açmaya çalıştığımı mı anladın yazdığım cümleden?
Patlama, yanma vs yok !


Alıntı yapılan: mehmet - 25 Eylül 2012, 02:32:34
Bu motorun teoride nasıl çalıştığını anlayabildiniz mi?
Öncelikle  buna cevap vermeniz gerekli.

Üç fazlı asenkron motorları incelemenizi tavsiye
ederim. -+ voltaj vermeniz gerekli, devreniz de ona göre
ama üst mosfetleri + da tuttuğunuzu söylüyorsunuz.

Kutuplaşma sırasının tablosunu çıkarıp buna göre
mosfetleri sürmeniz gerekmektedir...
Üç faz için U, V, W uçlarına 120 derecelik
açı aralıklarıyla sürmeniz gerekli...
U = 1, V = 0, W =0, 120 derece bekle
U = 0, V = 1, W = 0, 120 derece bekle
U = 0, V = 0, W = 1, 120 derece bekle
gibi...(yön değişimi için de örnek V ile W nin yerini değiştiriniz)
(Motor uçlarında olması gerekli lojik değerleri yazdım
siz sürücü ve mcu daki gerekli değişiklikleri buna göre yapacaksınız)

Pwmin frekansı ile deviri, duty cycle ile de gücü(momenti)
kontrol edebilirisiniz. Tüm mosfetlere uygulanacak olan pwm
aynı olmalıdır...

Motorun nasıl çalıştığı konusunda bildiklerim bilmediklerimden daha fazladır.   Aşagıdaki gibi bir tablom var zaten. Hangi mosfet'in pwm, hangi mosfet'in direkt sürüleceğini belirliyorum.

unsigned long StateTableRev[] =
{
0x0000,     // No state
0x1002,     // 3L = PWM, 1H = ON
0x0420,     // 2L = PWM, 3H = ON 
0x0402,     // 2L = PWM, 1H = ON
0x0108,     // 1L = PWM, 2H = ON
0x1008,     // 3L = PWM, 2H = ON
0x0120,     // 1L = PWM, 3H = ON 
0x0000,     // No state
};

Sorduğum soru şu: Mosfetleri neden iletime geçiremiyorum?

pisayisi

#6
Durum tablona göre pwm yine üst koldaki fetlere uygulanmamakla birlikte bu tablonun durum geçişlerinde de sorun var gibi duruyor.Eğer fazların enerjilenme sırası yukarıda verildiği gibi ise, basit bir kural; bir durumdan diğerine geçerken L veya H değişkenlerinden herhangi, birtanesi değişmez olmalı. Tablon bu basit kuralı gerçeklemiyor...
Murat

sdonmez

Merhaba,

Mosfet sürememe problemi çözüldü. Donanımsal problemler varmış. Artık motoru ileri-geri sürebiliyorum.
High-side mosfetleri ON/OFF, low-side mosfetleri PWM ile sürüyorum.
Şimdiki problemse şu: Çoğunlukla motor ilk hareketi almıyor, dışarıdan elimle motora hareket verdikten sonra dönüşünde ve torkunda problem yok.
Tahminimce bootstrap şarjından kaynaklanan bir durum var.
İncelediğim örneklerde şuna benzer ifade kullanılmış: "To insure that the high-side driver boot capacitors are fully charged prior to turning on, a programmable bootstrap refresh pulse is activated when VDD is first applied. When active, the refresh pulse turns on all three of the low-side bridge FETs while holding off the three high-side bridge FETs to charge the high-side boot capacitors. After the refresh pulse clears, normal operation begins." [High side boot kapasitörlerini şarj etmek için, alt taraftakileri açıp üst taraftakileri kapalı pozisyona getirmek gerekli demiş kısaca...]
Denedim, ilk başka her üç low-side mosfeti de ON pozisyonuna aldım (Bu arada frenleme de yapmış oluyor). Fakat ilk hareketlerde iyileşme sağlamadı.
Problem hakkında yorumlarınızı bekliyorum.

İyi çalışmalar

z

Motora ivmeli bir hareket yaptırmıyor olabilirsin. Devir sayısını sıfırdan itibaren eğimli olarak max değere çıkarttmayı dene.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

sdonmez

Denedim.
Low-side mosfetleri ON pozisyonuna aldıktan bir süre sonra sürme moduna alıyorum. Pwm duty cycle değerini 0'dan maksimum değere kadar arttırıyorum. Motor çok nadiren kalkıyor. İlk başta, motor ya da devreden çok çok tiz bir ses geliyor. Duty cycle belli bir yere gelince ses kesiliyor.

Osiloskop da yok, sinyalleri izleyemiyorum.

Bootstrap kapasitörü olarak farklı değerler de denedim. Şu anda 10uf takılı. 




pisayisi

Alıntı yapılan: sdonmez - 08 Ekim 2012, 12:29:26
Denedim.
Low-side mosfetleri ON pozisyonuna aldıktan bir süre sonra sürme moduna alıyorum. Pwm duty cycle değerini 0'dan maksimum değere kadar arttırıyorum. Motor çok nadiren kalkıyor. İlk başta, motor ya da devreden çok çok tiz bir ses geliyor. Duty cycle belli bir yere gelince ses kesiliyor.

Osiloskop da yok, sinyalleri izleyemiyorum.

Bootstrap kapasitörü olarak farklı değerler de denedim. Şu anda 10uf takılı.

Duty değeri sıfırdan yüzde yüze kadar değiştiğinde motor nadiren kalkıyor demişsiniz; Ara bir duty değerinde motor kalkış yapıyor mu yoksa yüzde yüze kadar hep stop ta mı kalıyor...
Murat

sdonmez

#11
Hep stopta kalıyor.

mesaj birleştirme:: 08 Ekim 2012, 21:36:18

Önerisi olan var mı?

sdonmez

Alıntı yapılan: pisayisi - 08 Ekim 2012, 12:55:47
Duty değeri sıfırdan yüzde yüze kadar değiştiğinde motor nadiren kalkıyor demişsiniz; Ara bir duty değerinde motor kalkış yapıyor mu yoksa yüzde yüze kadar hep stop ta mı kalıyor...

Ir2101'de bootstrap kapasitörünün önünde takılan diyot kaynaklı problem olabilir mi? Yeterince hızlı şarj mı sağlayamıyorum? UF4007 (yanlış hatırlamıyorsam) ile deniyordum, 1N4148 taktım, değişiklik olmadı.

pisayisi

uf4007 de normalde 1n4148 den daha iyi performans vermesi lazım. Schotk tipi diotlar kullanılabilir, fetleri hızlı deşarj yapmak için R1...R6 dirençlerine paralel yönde ters kutuplanmış 1n4148 bağlamayı deneyin(diyotun artı kutbu fetin gate ucunda olcak). Bootstrap kapasitesi olarak ESR si düşük seramik yada tantal tipi kutupsuz kondansatörler lede deneme yapılabilir...
Murat

sdonmez

Gate direncine ters diyot bağlamanın faydası olmadı. Farklı kapasitörler denedim, olmadı. Devre şu anda board üzerine kurulu. Kablolar vs uzun... Bu tür bir etki olabilir mi?