Picproje Elektronik Sitesi

ENDÜSTRiYEL OTOMASYON => Endüstriyel Elektronik => Konuyu başlatan: hasankara - 03 Mart 2014, 14:26:26

Başlık: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: hasankara - 03 Mart 2014, 14:26:26

Başlıktada belirttiğim gibi motor sürücü tasarlamaya başladım.

http://www.hobbyking.com/hobbyking/store/uh_viewItem.asp?idProduct=8505 (http://www.hobbyking.com/hobbyking/store/uh_viewItem.asp?idProduct=8505)

linkindeki motoru sürmek için kolları sıvadım. kendisi hala türkiyede olmasada şimdiden sürücüsüne uğraşıyorum.

ilk olarak mosfet sürme ile ilgileniyorum. eklediğim aşağıdaki resimlerde denemelerimin sonuçları bulunmakta. ilk resim isis te ki şema ve osilaskop görüntüsü. ikincisi ise kendi gerçeklediğim board üstündeki denememin osilaskop görüntüsü, sarı olan denetleyiciden çıkan pwm yeşil ise motora uygulanan, yani mosfetin çıkış sinyali.

(http://s3.postimg.cc/xoib42igf/mosfet_sur.jpg) (http://postimg.cc/image/xoib42igf/)

(http://s3.postimg.cc/u3hu73oj3/mosfet_surucu.jpg) (http://postimg.cc/image/u3hu73oj3/)

bu aşamaya kadar şimdilik iki konuyu danışmak istiyorum;

1. linkini eklediğim motoru max 20.000 rpm de çalıştırmayı planlıyorum. datasheette 14 magnet 12 stator olduğu belirtilmiş. pwm le gerilim kontrolü yapmak için bir hesap yaptım. saniyede 350 tur atacak olan bu motor, 350*12 = 4.2 khz frekansında konum değiştirecek. her konuma birden fazla periyotun sığması daha tutarlı sonuçlar elde etmemi sağlayacaktır düşüncesiyle en az 4 periyot sığması için 16.8 khz üzerinde tutmamın faydalı olacağını düşünerek 32khz uyguladım. bu frekans değeri sizcede mantıklı bir seçim olmuş mudur? bu seçimi yaparken gözden kaçırdığım kısım sizce olmuş mudur ?

2. ilk aşamada mosfet sürmeyle başladım ve 32 khz de sürdüm, denetleyici pwm modülünden en fazla 80 khz alabiliyorum . sizce, grafiklere bakıldığında bu konuda başarılı olabilmiş miyim ? bir mosfet sürücü entegresi kullansaydım daha temiz bir sonuç alabilir miydim? bu yöntemden vazgeçmem için yeterli olacak kadar sonuç daha iyi olur muydu?

tork konusunda bilgi vermem gerekirse, elimdeki dc motorla test ederken motoru elimde tuttuğumda motora uygulanan sinyalde gözle gördüğüm yüzde 5 kadar diyebileceğim ilk çıkış anında alçalma görüyorum ve mosfet uzun süre motoru elle frenlemiş halime dayanamayacak kadar ısınıyor. Yani bu torku ben beğendim.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: Icarus - 03 Mart 2014, 15:02:32
Zor olan kısım rotor posisyonunu sargı gerilimlerini ve akımlarını ölçerek hesaplamak. (Faz ve genliği beraber ölçeceksiniz) Bütün bu hesaplamalar artı 6 bağımısz PWM çıkışı muhtemelen DSP gerektirecek. vb... vb...
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: hasankara - 03 Mart 2014, 15:14:42
cevap için teşekkürler Icarus.
pwm sayısı konusunda sadece pozitif seviyesi için pwm uygulayıp negatif seviyesini normal pwm siz olarak sürmemin sorun olmayacağını düşündüm. bu sayede pwm kanal ihtiyacını 3 e indirmiş oluyorum. hatta and kapısı ile tek kanala bile indirebileceğimi düşünüyorum ama ek masraftan kaçınmak için 3 kanal pwm modülü uygulayabileceğim pin daha mantıklı geliyor şimdilik.
Adc modülü içinde şöyle yaklaşmıştım, ilk yazımda yaptığım hesapla her konum için en az 4 örnek ama bu az bile sayılabilir 16 örnek yetecek diye düşünürsek 64ksps adc hızı ile bunu sağlamış olabiliyorum. bunlar kabaca hesaplamalar tabi o aşamalara daha gelemedim.

şu an mosfet sürme aşamasındayım bunu sonuca kavuşturunca negatif mosfet süreceğim. devamında , elimdeki optik sürücü den söktüğüm 18 stator bulunan bir bldc motor var bunun üzerinde denemeler yapacağım.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: Tagli - 03 Mart 2014, 15:21:03
Alıntı yapılan: Icarus - 03 Mart 2014, 15:02:32
6 bağımısz PWM çıkışı gerektirecek.
Tek kanal PWM'i AND kapıları ile dağıtarak sürmek de mümkün. Ben denedim, oluyor ama ne kadar verimlidir orasını bilemem. Profesyonel bir çalışma değildi ve uzun süre denenmedi.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: volkii - 03 Mart 2014, 15:21:17
Her sargı için half bridge yapmak gerekmiyor mu? Siz tek mosfet kullanmışsınızda. Bilmediğim için soruyorum ve bende bir bldc sürücü yapmak istiyorum, sargıların akım-gerilimlerini okumamızın amacı nedir? bir uygulamada görmüştüm, bridge'nin ortasından bir sinyal ucu alınarak fark yükselteci ile okuma yapıyordu eleman. hatta sanki lojik okuyordu gibi geldi bana
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: hasankara - 03 Mart 2014, 15:28:21
dediğim gibi bu p mosfeti sürme aşaması henüz. elbette half bridge yapılacak ancak daha önce mosfet sürme entegrelerini kullanmadım hiç. bu konuda tecrübesi olan varsa diye sormak istemiştim. 3 uçtan en fazla ikisi aktif olabiliyor ve boşta kalan uçtan okunan gerilim değerine göre rotorun konumu hakkında fikir edinebiliyoruz. bu gerilim değerine göre aktiflik sırası programda sırasıyla değiştiriliyor.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: Icarus - 03 Mart 2014, 15:30:36
Alıntı yapılan: hasankara - 03 Mart 2014, 15:14:42
pwm sayısı konusunda sadece pozitif seviyesi için pwm uygulayıp negatif seviyesini normal pwm siz olarak sürmemin sorun olmayacağını düşündüm. bu sayede pwm kanal ihtiyacını 3 e indirmiş oluyorum. hatta and kapısı ile tek kanala bile indirebileceğimi düşünüyorum ama ek masraftan kaçınmak için 3 kanal pwm modülü uygulayabileceğim pin daha mantıklı geliyor şimdilik.
3 kanal kullanıp "Biri diğerinin  (NOT)değilidir" derseniz hem frenleme yapar hemde dead-band ekleyemezsiniz.
Artı sargı gerilimini okumak sıkıntı olur çünkü hiçbir bölgede hiçbir sargını ucu "float" olmaz.
Alıntı yapılan: hasankara - 03 Mart 2014, 15:28:21
3 uçtan en fazla ikisi aktif olabiliyor ve boşta kalan uçtan okunan gerilim değerine göre rotorun konumu hakkında fikir edinebiliyoruz. bu gerilim değerine göre aktiflik sırası programda sırasıyla değiştiriliyor.
Böyle yaptığınızda maksimum kalkınma torku elde edemezsiniz. Gerilimin yanında akımda gerekiyor.
Google: Field Oriented Control
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: hasankara - 03 Mart 2014, 15:37:25
hayır 3 kanal pwm derken değillemeyi kastetmedim. bir uçtaki n mosfet sürekli aktifken diğer uçtaki p mosfete pwm uygulanacak. peki bu durumda da frenleme olur mu?
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: FxDev - 04 Mart 2014, 02:16:23
https://www.picproje.org/index.php/topic,48012.15.html (https://www.picproje.org/index.php/topic,48012.15.html)
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: Logan - 04 Mart 2014, 14:32:54
Merhaba Hasankara.

Güzel bir uğraşa girmişsin. Ancak epey yol alman ve çalışman gerekiyor. Amerika'da verilen TI eğitimlerinde bu konu üzerinde oldukça durdular. Sensörsüz olarak motorun devrini nasıl sabit tuttuklarını ve nasıl anladıklarını uzun uzun formüllerle anlattılar. Extended Kalman filtresi kullanarak kol akımlarını, kök akımını ve yanlış hatırlamıyorsam kol voltajlarını kullanarak vektörel kontrol ile motorun konumunu ve devrini %0.5 hata ile tahmin ediyorlar. Esas işin zor kısmı orası.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: hasankara - 06 Mart 2014, 21:56:41
deadtime ın amacı nedir? faydası nedir? olmazsa olmaz mıdır? deadtime ı tam periyoda oranlayabileceğimiz sabit bir değer belirli midir? yada parametreleri için hangi değerlere bakmamız gerekir (mosfet in yapısı gibi) ?
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: EFESU - 06 Mart 2014, 22:53:44

kare dalga  giriyorsunuz  3 faz kare dalga  çıkıyor üstelik
high ve low  şeklinde
yalnız
300 hz de  50 hz kare dalga çıkıyor ona göre ayarlamak gerekiyor
denedim devre gayet sağlıklı çalışıyor

(http://s12.postimg.cc/adm6qry21/image.jpg) (http://postimg.cc/image/adm6qry21/)
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: hasankara - 07 Mart 2014, 10:50:50
efesu dediğini anladım teşekkür ederim ayrıca. ancak bldc sürmek için düşünürsek, zaten statorlar arasındaki faz farkı yazılımsal olarak yapılacak. yani konum hesaplanacak konuma göre statorlar ateşlenecek. böylece motorun dönüşüne göre motorun uçlarında 3 farklı faz meydana gelmiş olacak senin dediğin gibi olacak yine.

benim sormak istediğim nokta seçili olan p mos ve n mos üzerine uygulanan pwm sinyalleri arasında bir deadtime oluşturulması gerekiyor mu? yani p mos n mosa göre daha erken kapatılsın gibi. yada tam tersi de olabilir. buna ihtiyaç var mı? varsa faydası nedir?
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: Mr.Java - 07 Mart 2014, 11:03:11
Tabi ki oluşturacaksın hasan.500ns gibi bir süre beklemek gerekiyor.Tabi ki rakam misaldi.Bunu hesaplaman gerekiyor.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: hasankara - 07 Mart 2014, 11:51:28
fatih buna neden ihtiyaç duyulur ? birde 500ns yi neye göre söyledin? ben bu süreyi nasıl hesaplamam gerekir?
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: FxDev - 07 Mart 2014, 12:13:12
(http://www.mcmanis.com/chuck/robotics/tutorial/h-bridge/images/basic-bridge.gif)

Senin sistemin yukarıdaki yapıya benzer olacak. Elbetteki 3 fazlısı gibi düşüneceksin. Gördüğün gibi yukarıda ve aşağıda iki adet anahtarlama elemanın var. Öncelikle motoru bir yöne döndürmeyi çalıştığında atıyorum üstten soldaki ve alttan sağdakini iletime sokman gerekecek. Ama tam tersi döndürmen için ise üstten sağ alttan ise soldakini iletime sokacaksın. İşte bu değişimler sırasında sen ne kadar işlemcinden hey alttaki mosfet (ya da başka bir eleman) kapan hadi dediğinde mosfet öyle hemen kapanamayacak, kapanma süresi yaklaşık (değişmekle birlikte) 500ns civarı sürebilecek. İşte bu 500ns civarı içerisinde sen üstteki mosfeti ateşlersen (yanlışlıkla dahi olsa) senin DC baran bir süreliğine (100-200ns bile olsa) kısa devre olacak. Kısa devre demek aşırı akım demek, dolayısı ile mosfetlerin kritik değerini aştığında mosfetler KA-BOM! Bunu koruma işini üreticiler yazılıma da bırakmamışlar, ya işlemcilerin ya da mos-driver'ların içlerine ayarlanabilir dead-time süreleri koymuşlar. Bu dead time süresi elbette ayarlanarak bulunacak. Ben çoğu uygulamamda 2-3us civarı yapıyorum.

Ha bir de söylemeden edemeyeceğim, bir de motor breaking olayı var ki özellikle hızlı yön değiştirmelerde önemli bir role sahip, işte asıl mesele bu. Yoksa motoru döndürdüm iş bitti demek çok iyimserlik olur  ::)
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: hasankara - 07 Mart 2014, 14:23:38
fxdev teşekkür ederim yorum ve resim için. bu benim için yeni bir bilgi oldu. burada yön değiştirmek için diğer ikili mosfete geçişte deadtime in önemini anlıyoruz. eklediğiniz şema üzerinden bahsedecek olursam, sol üst mosfet ile sağ alttaki mosfete pwm uyguluyoruz. ama sağ üstteki ile sol alttaki mosfet sürekli float olduğu zaman aralığını düşünelim. yani bir yönde dönecek ama uygulanan gerilimi pwm le ayarlamış olacağız. uygulanan pwm de aynı anda iki mosfet iletime geçiyor ve aynı anda float oluyor. böylece pwm in tek bir periyodu tamamlanıyor. pwm in bir periyotluğu sürece deadtime ihtiyaç bulunuyor mu ?
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: bayelektronik - 07 Mart 2014, 14:32:24
kullanmadığın mosfetler float konumda değil kapalı konumda olmalı.float konum tehlikeli olur.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: hasankara - 07 Mart 2014, 15:31:45
mosfetlerin çıkışlarını düşünerek float dedim.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: Mr.Java - 07 Mart 2014, 15:49:08
Hasan şöyle izah edeyim.Vaktim dardı fxdev sağolsun anlatmış.

Bu iş için en başta dsp olayına girerdim yerinde olsam çünkü deadtime olayında süre arttırmak veya azaltmak dalga şeklinde değişimlere neden oluyor.Yani başta ürettiğin devrede dalgan boşta çok temiz görünse de işin içerisine yük girince işler değişiyor.Özellikle de motor..

Çünkü sisteminden gelen feedback gürültüleri yüzünden harmonikleri başlıyor.O harmonikleri işleyeceksin.Harmoniği öldüren fakat dalga şeklini bozmayan bir dalga üretmen lazım v.s.

Kısacası ilk araştırman gereken şey microchip'te dsp ve motor application notları bulmaktır.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: tuthenstein - 07 Mart 2014, 16:21:14
zamanında 3-4 ay vaktimi almıştı bu konu. çok derin ve hem yazılım hem donanım tarafında çok güçlü bilgi birikimi istiyor.

Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: hasankara - 07 Mart 2014, 16:28:16
fatih, 5 tane microchip 1 tanede ti nin notlarını edindim.yalnız deadtime konusunda sebebini anlayamadım.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: kimlenbu - 07 Mart 2014, 16:50:07
Kolay gelsin şimdiden. Güç elektroniği dersim aklıma geldi ve şöyle bir silkindim korkuyla. Ben de frenleme konusuna değineyim, regenerative breaking konusunu da araştır. yön değişimi sırasında sargıları ve sürücüyü yakmamak için sağlam bir hesap yapman gerekiyor.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: Mr.Java - 07 Mart 2014, 16:50:50
Sebebi basit.Universal power supply sistemlerini inceleme fırsatın olduysa sistemlerde atıyorum 2 igbt bulunur.En basidinden igbtlerde yük birinden diğerine geçerken,arada bekleme olur ki diğer igbt'ye geçerken kısa devre olunmasın diye.Senin sistemde bu şekilde aynı mantık.Motorun yön kontrolünü yaparken atıyorum sağa dönerken tersi bir işlem yaptığında diğer bağlı olan mosfeti tetiklerken arada bekleme atmak zorundasın.Yoksa güzel bir görsel şölen yaratırsın :)
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: hasankara - 07 Mart 2014, 17:02:22
fatih illa bana görsel bir şeyler çizdireceksin. fxdev hocam zaten senin anlattığını anlattı bende onun üzerine sorumu biraz daha şekillendirerek sordum. yön sabit iken yani, motor tek yöne döndüğü süre için düşün, bu sürede üst ve alt mosfetin çıkışları iletimde oluyor veya float oluyor, pwm uygulandığı süre boyunca. üst ve alt mosfet çıkışları aynı anda iletimde ve aynı anda float olsa bu problem oluşturur mu yoksa burada da bir deadtime gerekir mi? tekrar söyleyeyim, üst mosfet ve alt mosfete uygulanan pwm arasında bir faz farkı, sadece sabit yönde dönerken dahi, gerekli midir?

mesaj birleştirme:: 07 Mart 2014, 17:09:25

fatih okula gidip hocaya sorucam bunu şimdi. konuyu takip ediyorum biliyorsun aklında bir şeyler varsa yazmaya devam et. şimdilik çıkmam gerek.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: Mr.Java - 07 Mart 2014, 17:09:29
Tek yönde hayır.Yön değiştirirken evet.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: hasankara - 21 Mart 2014, 04:05:42
(http://s14.postimg.cc/rw5nl09bx/mosfet.jpg) (http://postimg.cc/image/rw5nl09bx/)

Arkadaşlar resim üzerinden düşünecek olur isek; motorun diğer uçlarından birisini n mosfetle gnd çektiğimiz sürece M1 ucuna pwm uygulayacağım süre zarfı içinde, M1 ucunu high-low mu yoksa high-float mı yapmalıyız?

Bir de bu ikili mosfet bağlantısını sürmek üzere tasarlanmış 8 bacaklı mosfet sürücü entegrelerinin örnek şemalarını incelediğimde, M1 ucundan entegrenin bir bacağına geri dönüş bağlantısı yapılmış. acaba deadtime gereksinimini bu entegreler gideriyor mudur? Aliexpressten ir2101 siparişi verdim 20 tane 6.58 dolar. datasheette delay time parametresi 50ns verilmiş. bu parametrenin deadtime ile bir alakası var mıdır? siparişim gelene kadar denemelerimi l293 entegresiyle mosfetleri sürerek yapmaya çalışıyorum. hiç uğraşmayıp entegreleri mi beklesem diye düşündüm.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: Z80 - 21 Mart 2014, 08:43:00
Üsttekilerden biri high, alltaki biri low üçüncü kol ise float olacak.  Float olandan zerocross değerini okuyacaksın. Float olan kol bir evvelki fazda high ise, high to low, low ise low to high arasındaki zerocross değerine bakacaksın.

Hem alt hem üst transistötlere PWM uygulaman gerek. Yani üsttekine PWM verip alttakini grounda çekmeyeceksin.
Bence PWM vermeden çalıştırmayı dene önce.   
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: hasankara - 21 Mart 2014, 17:58:25
teşekkürler pkelle.

(http://s13.postimg.cc/5ouh5v3wj/motor_sur_1.jpg) (http://postimg.cc/image/5ouh5v3wj/)(http://s13.postimg.cc/hpbbsulxf/motor_sur_2.jpg) (http://postimg.cc/image/hpbbsulxf/)(http://s13.postimg.cc/e4fg9mhdv/motor_sur_3.jpg) (http://postimg.cc/image/e4fg9mhdv/)

Microchip ve ti anladığım kadarıyla 1. resimde ki gibi motor pinlerine sinyal uyguluyor. Ben 2. resimdeki gibi sinyal uygularsam problem olmayacak gibi düşünüyordum. devamında 3. resimdeki gibi bir sinyal uygularsam bir farkı olur mu diye düşündüm. Kısacası 1,2ve3 . resimlerdeki bldc motora uygulanacak sinyaller arasında ne gibi farklar meydana gelir?
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: Icarus - 21 Mart 2014, 19:09:01
Motorun yerine 3 tane pil bağlarsak ne olur ? Siz motoru kısa devre ediyorsunuz. Bu kısa devreden geçen yüksek akım motorunuzu durdurmaya çalışır (frenleme),  anahtarlama elemanlarızı yakabilir.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: hasankara - 21 Mart 2014, 20:06:51
icarus teşekkürler. 3. resim için dediğiniz gibi pil örneğini düşünürsek pili kısa devre yapmış olduğumuzu anlayabiliyorum. ancak 2. resim için pil örneğini düşününce kısa devre yokmuş gibi geliyor bana. Tasarımımı yine 1. resimdeki sinyal uygulayacak şekilde yaparım sorun değil de 1. ve 2. resim arasındaki farkı bende bir kaşıntı olarak kalmasını istemiyorum en azından.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: z - 21 Mart 2014, 20:54:59
(http://upload.wikimedia.org/wikipedia/commons/thumb/b/b6/Three_leg_inverter.gif/240px-Three_leg_inverter.gif)

Vector
................ A+ B+ C+ A− B− C−   VAB       VBC        VCA
V0 = {000} OFF OFF OFF ON ON ON 0        0      0         zero vector
V1 = {100} ON OFF OFF OFF ON ON +Vdc        0   −Vdc  active vector
V2 = {110} ON ON OFF OFF OFF ON 0      +Vdc   −Vdc      active vector
V3 = {010} OFF ON OFF ON OFF ON −Vdc      +Vdc      0         active vector
V4 = {011} OFF ON ON ON OFF OFF −Vdc         0        +Vdc  active vector
V5 = {001} OFF OFF ON ON ON OFF 0      −Vdc   +Vdc       active vector
V6 = {101} ON OFF ON OFF ON OFF +Vdc      −Vdc     0         active vector
V7 = {111} ON ON ON OFF OFF OFF 0        0     0         zero vector



http://en.wikipedia.org/wiki/Space_vector_modulation (http://en.wikipedia.org/wiki/Space_vector_modulation)
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: hasankara - 21 Mart 2014, 21:12:24
teşekkürler z hocam. bu listeye göre sinyal uyguladığımızda emf ölçümleri sıkıntıya girmez mi? listeye göre pwmsiz sinyal düşününce motorumuzun 3 pini de tüm zaman aralıklarında hiç bir zaman float konumunda olmuyor. bu liste şöyle bir soru doğuruyor, 3 pin için aynı anda akım okumamız rotor yön tespiti için yeterli olur mu? birde pwm i nasıl uygulamam konusunda ki sorularımı cevaplayacak bir bilgiye de rastlayamadım.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: z - 21 Mart 2014, 22:11:36
Bu konuda TI'in cok guzel dokumanlari var. Bunlarda sordugun tum sorularin cevaplarinu bulabilirsin.

Vektorlerin boyunu ve acisini PWM secilen sektor icinde degistirebilirsin. 

Bu yontemde DC besleme voltajindan max genlikte 3 fazli gerilimler elde edersin.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: hasankara - 21 Mart 2014, 22:40:25
hocam microchip in dökümanlarında şöyle bir görsel paylaşılmış.

(http://s27.postimg.cc/govc3nayn/motor_sur_4.jpg) (http://postimg.cc/image/govc3nayn/)

bu görsele göre pwm konusunda benim öncesinde paylaştığım 3 lü resimden 1. resimdeki çıkış sinyalini destekliyor ve sizin paylaştığınız vektör yöntemi kullanılmamış. Birde söylemeden edemeyeceğim vektör yöntemi kabaca baktığımda iyi bir tercih gibi göremedim.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: z - 21 Mart 2014, 22:52:07
Olurmu muthis bir yontem.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: hasankara - 21 Mart 2014, 23:11:03
hocam siz vektör yöntemini mi öneriyorsunuz ? ben şöyle düşündüm microchip dökümanlarında hem sizin attığınız linkteki gibi tasarım yapmamış hem de sensörsüz bldc sürmek dahil bir çok algoritma paylaşmış. sanırım bu durum bana cazip geldiği için ve vektör yönteminin microchip tasarımı ile uyuşmadığı için bana göre iyi bir tercih gibi gelmedi. iç güdü olarak "iyi bir tercih olsaydı microchip öyle yapardı" dürtüsü de cabası.

dipnot: gerçi vektör yöntemi ne kadar geniş kapsamlı bir konu onuda bilmiyorum, belki microchip in tasarımının adına da vektör yöntemi deniyordur ama liste olarak (on off durumları), farklı olduğunu bariz görebiliyorum.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: ErsinErce - 21 Mart 2014, 23:15:01
Alıntı yapılan: hasankara - 21 Mart 2014, 23:11:03
hocam siz vektör yöntemini mi öneriyorsunuz ? ben şöyle düşündüm microchip dökümanlarında hem sizin attığınız linkteki gibi tasarım yapmamış hem de sensörsüz bldc sürmek dahil bir çok algoritma paylaşmış. sanırım bu durum bana cazip geldiği için ve vektör yönteminin microchip tasarımı ile uyuşmadığı için bana göre iyi bir tercih gibi gelmedi. iç güdü olarak "iyi bir tercih olsaydı microchip öyle yapardı" dürtüsü de cabası.

dipnot: gerçi vektör yöntemi ne kadar geniş kapsamlı bir konu onuda bilmiyorum, belki microchip in tasarımının adına da vektör yöntemi deniyordur ama liste olarak (on off durumları), farklı olduğunu bariz görebiliyorum.

biraz daha dikkatli bakmanızda fayda var, aynı konumlar söz konusu, sıralama önemli değil (biri ters öteki düz dönüyor) faz geçişleri ve çıkış sinyali aynı
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: hasankara - 21 Mart 2014, 23:25:03

(http://s16.postimg.cc/7p6d61krl/motor_sur_1.jpg) (http://postimg.cc/image/7p6d61krl/)(http://s16.postimg.cc/jd0f0l9wh/motor_sur_5.jpg) (http://postimg.cc/image/jd0f0l9wh/)

microchip in tasarımında ki mosfete uygulanan sinyalin sonucu ve z hocamın paylaştığı linkteki sinyali mosfete uygulanan sinyalin sonucu, paylaştığım iki resimde ayrı ayrı belirtmeye çalıştım.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: ErsinErce - 22 Mart 2014, 00:01:36
evet kusura bakmayın microchip'te sargılar boşta bırakılmış
vektör kontrolde kayma kontrollü sağlanmış

microchipte mosfet patlatma tehlikesi gördüm gibi sanki, belki göremediğim başka birşey vardır
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: hasankara - 22 Mart 2014, 00:15:05
estağfurullah. konuya dahil olduğunuz için teşekkür ederim.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: z - 22 Mart 2014, 00:40:07
http://www.ti.com/general/docs/lit/getliterature.tsp?literatureNumber=spra524&fileType=pdf (http://www.ti.com/general/docs/lit/getliterature.tsp?literatureNumber=spra524&fileType=pdf)
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: hasankara - 22 Mart 2014, 02:40:39
hocam pdf i inceledim.
(http://s28.postimg.cc/dq8qg0all/spra524_1.jpg) (http://postimg.cc/image/dq8qg0all/)
pdf in başlarında ki bu şemada a ve a'  ile üst ve alt bjt transistörlere, sanırım birbirinin değiller i uygulanmış direk. eğer doğru anladıysam motorun ucunda ya high yada low görülecek. yani motorun uçlarına float uygulama durumu hiç olmayacak. yine attığınız wikipedia linkindeki on-off durumlarını destekleyen bir durum aslında.

bir diğer tespitimden bahsedeyim;
(http://s27.postimg.cc/4u0pkdirj/spmu033c_1.jpg) (http://postimg.cc/image/4u0pkdirj/)(http://s27.postimg.cc/tjl1iilof/spmu033c_2.jpg) (http://postimg.cc/image/tjl1iilof/)
http://www.ti.com/lit/ug/spmu033c/spmu033c.pdf (http://www.ti.com/lit/ug/spmu033c/spmu033c.pdf) linkinde 2010 da yayımlanmış, içerisinde devre tasarımı da bulunan ti nin dökümanı mevcut. Burada ki 6 lı mosfet grubu sürülürken her bir mosfet için denetleyiciden ayrı ayrı pwm çıkışları alınmış. eklediğim ikili resimde vurgulamak istediğim yerleri belirttim.

hocam eklemiş olduğunuz pdf link i 1999 yılında yayımlanmış. bjt kullanmalarından garipseyerek tarihlerine bakmak geldi aklıma. Acaba uçlarda float olmama durumu space vektoring tekniği için bir standart mıdır? yine ti de bu teknolojiye eskimiş gözüyle bakıyor mudur?
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: z - 22 Mart 2014, 11:13:20
Yahu bu konu isin ABC si. SVM'e nasil demode teknik dersin. Tam tersine #1.

TI,  AD, Motorola bu islere el attiginda Microchip daha bebekti. Yeni yeni ogrenmeye basladi bu isi.

TI  SVM teknigi daha hizli kullanilabilsin (interrupt rutinleri hizlansin) diye ciplerine ozel donanim bile ekledi.

Hic bir sey yapamiyorsan;

Bir tana oyuncak DC motor al eline.  Motoru ac  enduvinun miline radyal dogrultuda bakarken kagida resmini ciz.

Kollektore baglanan sargilari da ciz. Nasil bir baglanti var. Kollektore sargilar nasil baglanmis. Fircalar kollektorlere nasil elktrik veriyor hangi acilarda hangi sargilar enerjileniyor
onlara biraz kafa yor.

En onemlisi de space vektor modulasyonu neden DC voltajdan en yuksek genlikte voltaj uretir onu arastir.

Yontemi anlatirken anahtarlama elemani olarak BJT sembolu kullanilabilir tabiki buna takilma. Bazi semalarda transistor, Mos vs de cizilmez switch kullanilir.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: powerelectronic - 22 Mart 2014, 12:14:59
Hocam size ilk başta benim görüşüme göre ilaç gii gelecek bir öneride bulunmak istiyorum. Önce bir HDD motoru sürmeyi deneyin ve bunu yaparken 2 tane L298 entegresi kullanan. Size lazım olan 3 tane yarım köprü dedim gibi yaparsanız elinizde 4 tane yarım köprü olmuş olacak. Mosfetler ile bir köprü atsarlamak her babayiğidin harcı değil diye düşünüyorum çünkü bunların içerisindeki kapasitörlerin dolum ve boşama sürelerinin hesaplanması gerekiyor. Ayrıca BLDC motorda sensörlü yada sensörsüz olsun adc ile pinlerden geçen akımlar takip etmek gerekiyor diye öğrenmiştim buda anahtarlama frekansımızın ayarlanmasında kullanılıyormuş ama pek bilgim yok bu konuda. Umarım güzel bir çalışma yaparsınız.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: hasankara - 22 Mart 2014, 19:07:17
hocam asıl cümleyi yazmamışım şimdi fark ettim de. ti nin güncel bldc motor tasarımında space vektor modulation dan söz edilmemiş bile ve vurguladığım yerlerde microchip in tasarımı ile neredeyse teorik olarak birebir aynı tasarımlar yapılmış gibi gördüm.

dediğiniz gibi svm anlaşılması mühim bir konu olduğuna katılıyorum bu anlamda temel bir teori gibi ama, ben şimdilik benim için iyi olan tercihi bulup, hemen peşinde kullanmak üzere onu öğrenmeye odaklı araştırma yapmaya çalışıyorum. henüz net bir karar vermiş değilim bu anlamda ama svm seçimine yönelmem şimdilik düşük bir ihtimal.

http://www.ti.com/lsds/ti/apps/motor/brushless_dc/overview.page (http://www.ti.com/lsds/ti/apps/motor/brushless_dc/overview.page) bu linkte ti çok güzel bir video paylaşmış yeni fark ettim. sağ alt köşede switch lerin aktiflik sıralaması gözüküyor. ti bldc için svm kullanmıyor sanırım.

powerelectronic bende iki tane l293 entegresi ve optik sürücü bldc motoru var . şimdilik onlar ile bir şeyler yapmaya çalışıyorum.
(http://s24.postimg.cc/7i087dg9d/mos_sur_tas.jpg) (http://postimg.cc/image/7i087dg9d/)
bu tasarımı her köprü için kullanmaya karar verdim. 4075 ve 4073 birer tanesinde 3 tane 3 girişli kapılar var. pazartesi sipariş vermeyi düşünüyorum. bu tasarımla hem yazılımsal olarak yapılacak hatalar sonucunda oluşabilecek transistör hasarlarını önlemeyi hem de tek kanal pwm ile microchip in güncel tasarımındaki sinyal çıkışlarını elde edebilmeyi hedefliyorum.

tek bir tane değil kapısı için koskoca 14 bacaklı entegre kullanmak yerine transistör ile 5 volt seviyesinde değil kapısı yapmak istiyorum, aynı zamanda kapı entegresi kadar refleksif olmasını istiyorum. Bu anlamda olabildiğince düşük kapasitansı olan smd kılıfını bulabileceğim bir transistör önerebilir misiniz?
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: hasankara - 25 Mart 2014, 08:23:57
http://www.youtube.com/watch?v=KFlg5dxgTZA#ws (http://www.youtube.com/watch?v=KFlg5dxgTZA#ws)

ilk denemeyi yapabildim. izlenimlerimi ve aklıma takılan bir durumu paylaşmak istiyorum.

deneyi 16f877 entegresine aşağıda yüklediğim kod ile gerçekledim;

#include <xc.h>
#include <stdio.h>
#include <stdlib.h>
#include "zaman.h"

__CONFIG(FOSC_HS & WDTE_OFF & PWRTE_OFF &
         CP_OFF & CPD_OFF & BOREN_OFF & LVP_OFF );

void main(void) {
    zaman_init();

    TRISB=0b00000000;
    TRISD=0b00011000;
    PORTD=0;

    int a=12,b=50;

    while(1)
    {
        zaman_sayac();

        if(rdelay_ms[led1]==0)
        {
            rdelay_ms[led1]=50+3*(51-b);
            if(b>2)b--;
            RB7=~RB7;
        }

        if(rdelay_ms[led2]==0)
        {
            rdelay_ms[led2]=b;
            if(a<5)a++; else a=0;

            switch(a)
            {
                case 0:
                    PORTD=0;
                    RD7=1;
                    RD1=1;
                    break;
                case 1:
                    PORTD=0;
                    RD7=1;
                    RD0=1;
                    break;
                case 2:
                    PORTD=0;
                    RD6=1;
                    RD0=1;
                    break;
                case 3:
                    PORTD=0;
                    RD6=1;
                    RD2=1;
                    break;
                case 4:
                    PORTD=0;
                    RD5=1;
                    RD2=1;
                    break;
                case 5:
                    PORTD=0;
                    RD5=1;
                    RD1=1;
                    break;
            }
        }
    }
}


2 adet l293 entegresinin 1 tanesine d7 d6 d5 diğerine d2 d1 d0 port pinlerini bağladım. eski anakarttan söktüğüm 16 tane k3918 n-mosfet leriyle, ti nin örnek şemasındaki 6lı mosfet bağlantısını kurdum. microchipte aynı bağlantıyı tercih etmiş.

en başından beri beni düşündüren pozitif uçları da n-mos larla sürmeleri (toplam 6 tane n-mos). pozitif seviye, n-mos la sürüldüğünde, mosfet üzerinde 2-3 volt kadar gerilim tutuyor. bu da , üzerinden geçen akım kadarıyla ısı enerjisine dönüştürülüyor. bir bildikleri vardır diyerek bende bağlantımı aynı şekilde toplamda 6 n-mos kullanarak yaptım.

videoda görüldüğü üzere bldc i olabildiğince verimsiz sürüyorum. bu sebeple enerjinin büyük kısmı boşa gidiyor. bu sebeple mosfetlerimizin ısınmalarını bekleyebiliriz. ancak üst ve alt mosfetler içerisinden geniş zamanda aynı akım geçtiğini bildiğimiz üzerine şunu da gördüm üst moslar alt moslara göre çok fazla ısınıyor. hatta alt mosfetlerin ısınması hissedilemeyecek kadar az iken, buna karşın videoda fazla açık tutamadım çünkü üst mosfetlerden duman çıkmaya başlıyor. 12 volt beslemesi için durum böyle. 5 volttada dönüyor yine üst moslar yine çok ısınıyor ama yanacak seviyeye kadar gelmiyor en azından.

Böyle olabileceğini düşündüğümden dolayı peşinen dün 3 tane p mosfeti(IRFR9024) de siparişlerim arasına ekledim. Bu durum bende şöyle bir soru meydana getirdi, ti ve microchip bu durumu farketmedi mi (bence bu soru bana saçma geliyor)? ya da buna rağmen ısrarla sadece n-mos kullanılmasının özel bir sebebi mi var? Sizce bunun sebebi ne olabilir? Aklıma gelen bir cevap; üst ve alt kolların kapanıp açılma sürelerinin tam birebir tutmasını sağlamak.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: Mucit23 - 25 Mart 2014, 08:54:53
Alıntı yapılan: hasankara - 25 Mart 2014, 08:23:57
ya da buna rağmen ısrarla sadece n-mos kullanılmasının özel bir sebebi mi var? Sizce bunun sebebi ne olabilir?

Açıkçası bunu bende çok merak ediyorum. Gördüğüm referans tasarımların bir çoğunda aynı durum geçerli.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: hasankara - 25 Mart 2014, 09:05:37
Mucit23 az önce biraz daha kafa yorunca aklıma şöyle  bir ihtimal daha geldi. mosfetler 600 volt lar gibi fazlaca sayılabilecek gerilim seviyelerin kontrolünü sağlayabiliyor. mosfet tetiklemek için n-mos lara 0-15 volt aralığı çoğu zaman yetiyor. p-mos ta ise, besleme atıyorum 200 volt olsun 185-200 volt aralığında gerilim uygulamak gerekecek. birde mosfet sürmek için kullandıkları mosfet sürücü entegreleri (ir2101 gibi) 0-15 volt la besliyorlar. Bu entegreleri inceleme fırsatım olmadı ama çıkışlarından alabileceğimiz gerilim aralığı 0-15 volt ile sınırlı ise bu sebeple sadece n-mos kullanıyor olabilirler.

Bu sayede besleme voltajını çok yüksek seviyelerde tutabilirler. Benim besleme voltajım 14 volt olacağı için zaten bu durum benim için fazla bir önem arz etmeyecek. tabi ki, 6lı n-mos seçimleri sadece benim bu tespitim le alakalı ise.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: Mucit23 - 25 Mart 2014, 14:17:31
Hocam dediğiniz gibiyse yüksek voltajlarda mosfet üzerindeki dengesiz ısınmalar göz ardımı ediliyor?
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: hasankara - 25 Mart 2014, 18:42:23
başka bir açıklaması yok. Benim durum biraz abartılı oluyor tabi rotor takibi yapmadan direk ateşlediğim için o yüzden çok aşırı ısındı, bunun haricinde sağlıklı bir algoritma kullansaydım belki hiç mosfetler ısınmazdı bile ama şu aşikar ki 6 lı n-mos bağlantısında üst moslar alt moslara göre daha çok güç tüketecek.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: Icarus - 25 Mart 2014, 19:13:38
hasan, mosfetler ısınıyor çünkü muhtemelen doğru süremiyorsun. Devre sorunlu. Fakat breadboard'a kurman ve bu devasa uzunluktaki kablolarda işi zorlaştıracaktır.

Merak ettiğim birşey var. Ekrandaki sinus, parabol, üçgen karşımı dalga nedir ?
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: hasankara - 25 Mart 2014, 19:35:12
icarus dediğim gibi rotor takibi yapmadan sürdüm mosfetleri deneme amaçlı bu sebeple olağan üstü ısınmayı bekliyordum, hiç adc okuması bile yapmadım henüz. bunun ekstrasında mosfet konusunda doğru seçim yapmadığımızdan dolayı üst mosfetler alt mosfetlere göre daha fazla ısındı (üst 3lü ve alt 3lü kendi aralarında eşit sıcaklıklarda), önemli olan kısım burasıydı. motorun 2 ucundan 1 k dirençle osilaskop bağlantısı yaptım. birde 1uf kondansatörle filtreledim atlamaları kırpması için. pwm kullanmadım ve periyot süresi en düşük 6ms yani çok düşük sayılabilecek bir frekans için kabloların bir önemi olabileceği aklıma bile gelmedi.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: Icarus - 25 Mart 2014, 19:49:25
Alıntı yapılan: hasankara - 25 Mart 2014, 19:35:12
icarus dediğim gibi rotor takibi yapmadan sürdüm mosfetleri deneme amaçlı bu sebeple olağan üstü ısınmayı bekliyordum, hiç adc okuması bile yapmadım henüz. bunun ekstrasında mosfet konusunda doğru seçim yapmadığımızdan dolayı üst mosfetler alt mosfetlere göre daha fazla ısındı
Bunu demiyorum. Gate'i doğru süremiyorsundur. Mosfet tam açma/kapama yapmıyor üzerinde göreceli olarak büyük bir direnç kalıyordur.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: Mr.Java - 25 Mart 2014, 19:49:29
Güzel çalışma.PWM ile sürüp sonuçları paylaşırsan sevinirim.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: mistek - 25 Mart 2014, 20:09:19
@hasankara konunun tamamını okumadım ama birkaç noktadan bahsedeyim.

N mos kullanmalarını sebebi P mosa göre ucuz olması ve RdsOn direncinin daha küçük yapılabilmesi daha farklı sebepleride var.

N mosu sürmenin temel kuralı. Devre havada dahi olsa Gate bacağı ile Source bacağı arasındaki gerilim farkı ideal 10v olmalı. Daha aşağısı için RdsON direnci büyük olur.

N mosfeti P mosfet gibi kullandığınız zaman karşısınıza çıkacak tek sorun mosfeti sürememe durumudur. Burada imdadınıza bootstrap sürme tekniği yetişiyor. ir2101 mosfet sürücüdür ve bootstrap tekniği ile çalışır.

Temel mantığı kondansatörü doldurup Vgs gerilimi oluşturmaktır.

Mosfetin üzerine eğer VDS(max) dan fazla gerilim gelirse eğer çok ısınıyor. Doğru sürüyor olsanız bile mosfetin ısınmasına sebep oluyor.

Üst koldaki mosfetin ısınma sebebi süremiyor oluşunuzdan dolayı gibi duruyor.


mesaj birleştirme:: 25 Mart 2014, 20:12:23

Mosfet sürme şemanızı eklerseniz daha iyi olur.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: hasankara - 25 Mart 2014, 20:40:22
icarus aslında söylemek istediğinizi anlayabildim ancak bir anda kafam dağıldığından farklı cevaplamışım. şöyle söylemem gerekir ki tüm mosfetleri l293 le sürdüm ve mosfetlerin beslemesi kadar zaten gate anahtarlama vpp gerilimi uygulanıyor. l293 bilindiği üzere motor sürücü entegresi olduğu için çıkış akımını da gayet yeterli verebiliyor.

teşekkürler fatih elimden geldiğince vakit ayırmaya çalışıyorum.

mistek mosfetin kataloğunda verilmiş olan Vds(max) 25 volt. Bende 12 volt uyguladım. böyle olunca gate uçları l293 tarafından low:0v high:12v anahtarlanıyor. yükü kaldırdığım zaman motor uçlarına uygulanan max gerilim ise 9,5v civarı yani beklediğim gibi üzerinde gerilim tutuyor. Vgs farkı, 10volt aşağısı değilde daha yukarısı olduğu için bir problem olup olmayacağını bilmiyorum.

Açıkçası ben hala sürme anlamında bir problem olmadığını düşünüyorum. aliexpresten gelecek olan ir2101 leri beklemeyerek, siparişini verdiğim tahmini yarın elime geçecek olan ir2101 i kurcalama imkanım olacak. 3 köprüden birisini ir2101 le sürüp tekrar deneyip, sonuçları karşılaştırırım. Benim bu yöndeki iddiam 3 üst n-mosfet yine alt 3 n-mosfete göre daha fazla ısınacak. yani değişen bir şey olmayacak.

mesaj birleştirme:: 26 Mart 2014, 10:53:28

mistek alel acele sen söyleyince isiste çizdim.

(http://s27.postimg.cc/nu0zog1wf/bldc_sem.jpg) (http://postimg.cc/image/nu0zog1wf/)
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: Icarus - 25 Mart 2014, 21:01:20
hasankara minik bir soru
+12V'dan +12V çıkarsa kaç volt kalır ? benim hesabıma göre sıfır. Senin hesabına göre +12V
Yada kısaca L293 ile bu şekilde high side mosfetleri süremezsiniz.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: mistek - 25 Mart 2014, 21:07:09
Icarus söylemiş.

Osiloskobun GND ucunu Üst mosfetin tam Source bacağına, Probuda Gate'e bağlayıp bi görüntü koyar mısınız?
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: hasankara - 25 Mart 2014, 21:17:05
şöyle söyleyeyim, demek istediğiniz gibi yanlış bir sürme yapmış olsaydım çoktan bir görsel şölenle karşılaşacak idim. çünkü köprü tipi bağlantı olduğu için direk mosfetlerin üzerinden kaynak kısa devre olacakdı. n-mos la high sürerken fark ettiyseniz source ucumuz motorun pinine gidiyor. eğer p-mos olsaydı üst moslar için tam ters sinyal uygulamam gerekecek idi. Çünkü p-mos un source ucu bu sefer kaynağın üstüne bağlı olacak idi. Belkide ben hala demek istediğinizi anlamış değilimdir, özellikle icarus l293 ile süremeyeceğim konusunda ki söyleminiz beni şaşırttı.

mesela denetleyicinin çalışması durdurduğunda mosfetlere besleme gitse bile herhangi bir akım akmıyor, tüm mosfetler çalışmayı kesiyor. bu bile mosfetleri sürebildiğime güzel bir işaret bence.

mesaj birleştirme:: 25 Mart 2014, 21:19:17

birde osilaskopun referansı sistemin gnd sine bağlı olmak zorunda. malum hantek, usb olsun prob lar olsun tüm referans noktalarını gnd ile sabit kılmış.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: mistek - 25 Mart 2014, 21:23:20
Hocam üst koldaki mosfetin G-S sinyalini görsek kesinlikle kafamızdaki soru işaretleri gider.
Bu ara senkron buck converter ile uğraşıyorum aynı şekilde üst koldaki mosfetin ısınma sorunuyla uğraşıyordum.
1. neden yüksek piklerin oluşması. (Motorun ters EMK'sından dolayı)
2. neden doğru sürülememesi.


Cevabınızı şimdi gördüm.
Eğer osiloskop 4 işlem yapabiliyorsa 1. kanalı Gate ucuna 2. kanalıda source ucuna takıp aynı referansa göre fark aldırırsanız öylede olur.

Örnek olması açısından
http://postimg.cc/image/rj4lrrwzj/ (http://postimg.cc/image/rj4lrrwzj/)
(http://postimg.cc/image/rj4lrrwzj/)

Güzel sürülüyor gibi görünüyor ama pikler uçmuş.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: hasankara - 25 Mart 2014, 21:41:41

(http://s10.postimg.cc/toourme0l/mos_vgs_5v.jpg) (http://postimg.cc/image/toourme0l/)

(http://s10.postimg.cc/drq2uwlmd/mos_vgs_12v.jpg) (http://postimg.cc/image/drq2uwlmd/)

sarı gate yeşil source ucunu gösteriyor. mor olan ise sarı-yeşil olan sinyali gösteriyor. üstteki resim 5 volt beslemesi için , alttaki resimde 12 volt beslemesi için olan grafikler.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: mistek - 25 Mart 2014, 21:47:55
Mor sinyal Volt/div 5v olduğunu düşünürsek mosfetin gate ucundaki max genlik 3-4v civarında. Yoksa ben mi yanlış görüyorum?

Bu haliyle mosfet tam iletime geçemiyor.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: Icarus - 25 Mart 2014, 21:48:16
Alıntı yapılan: hasankara - 25 Mart 2014, 21:17:05
şöyle söyleyeyim, demek istediğiniz gibi yanlış bir sürme yapmış olsaydım çoktan bir görsel şölenle karşılaşacak idim. çünkü köprü tipi bağlantı olduğu için direk mosfetlerin üzerinden kaynak kısa devre olacakdı.
hayır
Alıntı yapılan: hasankara - 25 Mart 2014, 21:17:05
mesela denetleyicinin çalışması durdurduğunda mosfetlere besleme gitse bile herhangi bir akım akmıyor, tüm mosfetler çalışmayı kesiyor. bu bile mosfetleri sürebildiğime güzel bir işaret bence.
Hiç ilgisi yok
1 resim 1000 kelimeye bedelmiş. Aşağıdaki yanlış durum sizin şuan yaptığınız. Yanındaki ise yapmanız gereken
http://postimg.cc/image/x6h6tznu7/ (http://postimg.cc/image/x6h6tznu7/)
(http://s11.postimg.cc/x6h6tznu7/image.jpg) (http://postimg.cc/image/x6h6tznu7/)
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: hasankara - 25 Mart 2014, 21:51:08
birde kabloların çok sarmaşık gibi olmasından kaynaklı sanırım sağlam pikler meydana gelmiş. pikler de periyodik olduğuna göre çok rahat kabloların birbirini etkilediğini söyleyebiliriz. icarus kablo uyarısında haklıydı. en azından başlangıç referans tasarımı bread boardda sürdürüp daha sonra ufak bir baskı devre çıkartabilirim.

mor sinyal 10v/div miş birde yani iki katı olması gerektiği gibi düşünün.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: mistek - 25 Mart 2014, 22:02:04
Alıntı yapılan: hasankara - 25 Mart 2014, 21:51:08
mor sinyal 10v/div miş birde yani iki katı olması gerektiği gibi düşünün.

Yine kurtarmıyor. En iyi ihtimal 6-8v olur. Cursor ile osiloskopta doğrulayabilirseniz daha güzel olur.

İşte üst mosfetin çok ısınmasının sebebide buradan geliyor. Mosfet RdsOn en küçük değerini 10v iken alır. (Lojik mosfet değilse)

Mosfeti tam iletime sokamıyorsunuz.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: hasankara - 25 Mart 2014, 22:35:55
en iyi ihtimalle mosfetleri ir2101 mosfet sürücüsü entegresi ile süreceğim. entegre ile sürme denemelerimin sonucunu sabırsızlıkla bekliyorum. ben hala fazla bir farkı olmayacağını düşündüğümü belirteyim. umarım yanılıyorumdur. sadece n mos kullanmak benimde işime gelirdi. dışardan 20 tane ir2101 siparişi verdim. tekrar belirteyim l293 geçici olarak deneme yapmak üzere kullanıyorum.

mistek haklı olabilirsin belki aklıma şu da geliyor, bootstrap dediğin teknik ile entegre, Vgs gerilimini maksimum tutmayı başarabilir bir ihtimal. bu sayede mosfet üzerinde gerilim tutma durumu ortadan kalkabilir. deneyip göreceğiz artık. Ben mosfetlerin tiplerine göre source->drain yada drain->source akım yönlerinin tersliğinde mosfet üzerinde her zaman gerilim tutar diye biliyorum. bu sürücü entegreyi deneyip görmediğim halimde hala böyle olduğunu düşünüyorum.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: mistek - 25 Mart 2014, 22:43:20
Ben bayağı bir farklılık olacağını düşünüyorum.

Mosfet üzerinde gerilim tutar pek doğru bir tabir değil.

Mosfet tam iletime geçtiğinde RdsON * Iload kadar gerilim oluşur. Akım çok büyük değilse, RdsOn çok küçük olduğu için mosfet iletimdeyken 0v olarak düşünebilirsiniz.

Eğer tam iletime sokamazsanız mosfet lineer direnç gibi çalışır yani 3-5 Ohm gibi bir iletim direnci görürsünüz böyle olunca üzerinde gerilim tutuyor gibi algılanır.



Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: hasankara - 25 Mart 2014, 22:51:56
son dediğinizi tam anlamasam da şöyle ifade etsem, yük bağlı olmadığında da mos çıkışı 2.5 volt geride kaldığını görebiliyorum.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: iyildirim - 25 Mart 2014, 22:55:53
@hasankara,
Sizin şemanıza göre üst mosların gate bacaklarında drain'e göre (aslında source) +10V fazla bir gerilim olmalı ki doğru sürülsünler. Icarus un verdiği resim oldukça açık.

Dilerseniz L293'ü 12-15V mosları ise 5V ile sürmeyi deneyip ısınma varmı yokmu bir bakın.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: mistek - 25 Mart 2014, 23:01:38
Alıntı yapılan: hasankara - 25 Mart 2014, 22:51:56
son dediğinizi tam anlamasam da şöyle ifade etsem, yük bağlı olmadığında da mos çıkışı 2.5 volt geride kaldığını görebiliyorum.

Mosfetin karakteristiği ile ilgili.

BJT lerde olduğu gibi mosfetinde lineer çalıştığı bir bölge var. İşte bu lineer bölgede mosfet potansiyometre gibi davranır gate gerilime bağlı olarak direnci değişir.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: hasankara - 25 Mart 2014, 23:21:53
iyildirim dediğinizi yapmayı bende düşündüm aslında üşenip entegreyi bekleyim demiştim, ama sizde söyleyince denemeye karar verdim. üst n-mos ile 5 volt sürmek üzere gate ine 0-12 volt sinyal verdiğimde çıkışta 0-5 volt sinyal görebildim. mosfet üzerinde iletimde iken gerilim düşümü olmadı. üzerinde gerilim tutmadığı için ısınma da meydana gelmedi. mosfet sürücü entegreleri ile bu kadar temiz bir sonuç alabilecek miyim acaba? bu sorumun cevabını da yarın görmüş olacağım büyük ihtimal.

herkese teşekkürler tekrar. sonuca ulaşabilmek güzel bir duygu :)
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: hasankara - 26 Mart 2014, 10:48:24
(http://s28.postimg.cc/6ejvbqxl5/bldc_sem.jpg) (http://postimg.cc/image/6ejvbqxl5/)

Arkadaşlar alel acele elime gelen parçalarla hemen bir boost devresi yaptım. boost devresinde gerilim kontrolü yok dikkat ettiyseniz ama 5 volt girince zaten, yük olarak sadece l293 kendi ihtiyacı kadar akım çekince max 22.5 volt civarına kadar çıkıyor buda benim için max sınırın altı olduğu için hemen sonucu görebilmek için bu şekilde bıraktım.

ilk olarak boost devresine 12 volt giriş yaptığımda l293 bağlı olduğundada 50 voltlar seviyesinde çıkış almıştım. aceleci davranarak mosfetlerin gatesine uygulayınca 6 tane mosfetim mefta oldu. yanan mosfetlerin katalog gerilim değerleri maximum 25 volt olarak verildiği için bunun sebebini anlamak güç olmadı.

16f877 den 20khz civarı %50 kare dalga çıkışı aldım. boost devresini böyle tetikledim. direnç değerlerini ve transistörü elime gelen malzemelerin uygun olanları direk yerleştirdim. bc337 bc547 gibi bjt lerlede yapılabilinecek bir boost devresi. Normalde kaynaktan beslemek en sağlıklısı olur ama tekrar belirteyim benim 5 volt girmemin sebebi gerilim kontrolü yapmadığımdan dolayı direk sonuç alabilmek içindi.

uzun lafın kısası, maximum giriş gerilimini dahi n-mosfet ile bir boost devresi yaparak sürebiliyoruz. tüm mosfetlerden ilk bakışta maksimum başarım alabildiğimi gördüm. yine videodaki motoru mosfetlerle sürdüğüm zaman motor yanacak seviyeye geldi ama mosfetler banamısın demedi.

Herkese tekrar teşekkürler.

mesaj birleştirme:: 26 Mart 2014, 10:49:30

bir de bobin değeri olarak 680uh vardı elimde onunla denediğimi de belirtmiş olayım.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: hasankara - 29 Mart 2014, 13:50:33
ir2101 gate driver entegresi ile n-mos üzerinden high sürme denemesini (ir2101 referans tasarımı ile) gerçekledim. 12 volt sürme denemesinde, 20khz %70 kare dalga entegreye uyguladığım zaman mosfet gate 22-0 volt kare dalga meydana geliyor. ama entegreye dc sinyal uyguladığım zaman, boost yapılmadan çıkışında  12 volt görülüyor.

3,3ohm lik taş direncini yük olarak bağladığımda; kare dalga uygulanıyorken direnç yanacak kadar ısınıyor mosfette ısınma yok, yani herşey yolunda ama dc sinyal uyguladığım da aynı yük altında taş direnç ısınıyor ve mosfet daha çok ısınıyor.

sonuç olarak yapmış olduğum denemede şunu gördüm; ir2101 ile kare dalga sürülürken ihtiyacımızı karşılayacak kadar gerilim boost ediliyor(5v giriş, 12 v besleme, 22v çıkış gibi) ancak sabit bir dc gerilim uyguladığımızda sadece besleme voltajı kadar çıkış veriliyor (5v giriş, 12v besleme, 12v çıkış). sabit uygulanan gerilim değerlerinde n-mos ile high sürme yine sıkıntıya giriyor. tıpkı benim l293 le sürmeye çalıştığım halindeki gibi olmakta.

Ekstrasında şunuda denedim. boost devresi ile 5 volttan 21 volt çıkışı ile ir2101 entegresini beslediğim zaman dc sabit gerilim uyguladığımızda dahi mosfet güzel sürülebiliyor (5v giriş, 21v besleme, 21v çıkış). yük bağlı olduğunda mosfette ısınma yok direnç yanacak kadar ısınıyor. Yani her şey yolunda.

High side, n-mos ile dc sürülürken boost devresi güzel bir seçenek olabiliyor. Ben tasarımımda ir2101+boost besleme kullanmayı planlamaktayım. Gerilim kontrollü boost için yazdığım kodun iki satırlık kısmını paylaşayım şimdilik fikir için, talep olursa tüm kodu daha sonra paylaşabilirim.         if(voltaj_1>512){if(CCPR1L>0)CCPR1L--;}
        else {if(CCPR1L<180)CCPR1L++;}

iyi çalışmalar.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: Icarus - 29 Mart 2014, 14:20:49
@hasankara: ir2101'in datasheet'ine bir göz at derim. Orada bootstrap diyor....
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: hasankara - 29 Mart 2014, 14:27:44
evet baktım. mistek de bahsetti bootstrap olayından. işe yaradığını gördüm ama dc sinyal uygulanırken yetersiz kalıyor bunu anlatmak istedim. yada ben bir şeyleri beceremedim belki.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: Erol YILMAZ - 29 Mart 2014, 15:40:18
Bootstrap DC de yetersiz değil, hiç çalışmaz.

İlla ki PWM sinyal ister. %98 de olsa çalışır, ama ne zaman %100 oldu, iş bitti.
Belki 3-5 defa daha High side N FET'i açar. O kadar.
1 A yükte bile deli gibi ısınıyor muhabbetleri olur.

Besleme + 12V elde edilebiliyorsa, süper.
Pwm + DC sinyallerle çalışabilir.

Bu durumda, Vgs'yi incelemek lazım.
N FET'in Vgs gerilimi 20V a yaklaştı mı.. 1$ daha gitmiş olur.
Hadi parasını geçtim,  işin lezzeti, haşat olmaya başlamış PCB ye FET söküp takmakla azalmaya başlar :)
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: hasankara - 29 Mart 2014, 17:27:17
Vgs 20 voltu geçerse kesinlikle bozulur mu? her fet için geçerli bir kural mıdır ?
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: Erol YILMAZ - 29 Mart 2014, 17:38:50
Alıntı yapılan: hasankara - 29 Mart 2014, 17:27:17
Vgs 20 voltu geçerse kesinlikle bozulur mu? her fet için geçerli bir kural mıdır ?

evet bozulur, Genel bir kuraldır.

Vgs arasına genelde 13V zener koyuyorum.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: hasankara - 29 Mart 2014, 20:37:39
allegro hocam sizin söyleminiz üzerine, mosfetimin yanması pahasına da olsa bunu deneyip görmek istedim. irfz44n low side sürmek için ir2101 29,2 volt ile besledim. irfz44n gate sabit 27,6 volt geldi ve source ise gnd bağlı. 3,3ohm direnç ile (12 volt-drain arası) bağladığımda direnç cayır cayır ısındı ama mosfet banamısın demedi. hatta bozulmadığına emin olmak için elimle anahtarlama yaptım gayet sağlıklı.

devamında mosfetin gate ini direk elimle 32 volt anahtarlama yaptığımda yine sağlıklı çalışmasını sürdürdü.

bir de ir2101 30 voltun üstünde beslemeye çalıştığım zaman zener diyot gibi davranıyor 30 un üzerindeki gerilimi üzerinde harcıyor böylece kendisi de ısınmaya başlıyor.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: z - 29 Mart 2014, 20:52:51
Gate voltajinin 18v u asmamasi tavsiye edilir.

Kataloglarda Vgsmax 20v yazar. Bu 20v a kadar garanti ediyoruz bozulmaz anlamina gelir.

Sen 30v vermissin bozulmamis olabilir. Bu, ayni isimdeki bir baska mosun da 30v a dayanacagi anlamina gelmez.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: hasankara - 29 Mart 2014, 20:57:37
bende sizin dediğiniz gibi düşünüyordum z hocam.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: Erol YILMAZ - 29 Mart 2014, 21:39:15
Bunun yaninda Rds, Vgs'nin 12v ile 20v arasindaki
değişiminden belki de hic etkilenmez.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: mistek - 29 Mart 2014, 21:47:24
Zamanında bende emin olmak için gate source arasına 20-25v uyguladım bozulmadı. 25 volttan sonra Gate-Source veya Gate-Drain kısa devre gözüküyordu. Muhtemelen içerisindeki SiO2 tabakası deliniyor.

En temizi 10-12v verin arkanıza bakmayın. 
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: pisayisi - 29 Mart 2014, 23:53:56
High side fet leri %100 pwm de çalıştırmak gerektiğinde, boot kapasitesini basit 555 li bir osilatörle sürekli doldurarak sorunlar aşılabilir...

http://www.ti.com/lit/an/slva444/slva444.pdf (http://www.ti.com/lit/an/slva444/slva444.pdf)
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: hasankara - 03 Mayıs 2014, 22:50:20
Bugün bir video çekebildim geldiğim son durum hakkında. Malum sınavlardan dolayı pek vakit ayıramamıştım. BLDC motor sürücü 2. deneme (http://www.youtube.com/watch?v=oaRDMTBLKJc#ws)

Güncel olarak bir sorum var. Takılı olan mosfetlerden smd olanlar sk3918 datasheet vds gerilimi olarak 25 volt belirtilmiş. Mosfet sürücüler sayesinde Vgs 10-12 volt tutabiliyor. videoda mor ile gözüken sinyal Vgs göstermekte. Normal seviyede 12 volt iken mosfetlere videoda görüldüğü üzere pwm fulleyerek tam yüklendiğimde, Vgs 10,5 volt civarına geriliyor ve bir kaç dakika beklediğim de üst mosfetlerden bir tanesi çok ısınmaya başlıyor.

Vg gerilimi 23 voltlara kadar çıktığı yeşil olan sinyalde görülüyor. Beni şüphelendiren, Vg nin katalog Vds değerine yaklaşmış olmasından dolayı anormal ısınmasına sebebiyet verir mi?

http://www.aliexpress.com/item/Free-Shipping-50PCS-IRLR7843PBF-SOT-252-IRLR7843-LR7843-HEXFET-Power-MOSFET/1666959542.html (http://www.aliexpress.com/item/Free-Shipping-50PCS-IRLR7843PBF-SOT-252-IRLR7843-LR7843-HEXFET-Power-MOSFET/1666959542.html) bu sayfadaki 50 adet mosfetin siparişini vermeyi düşünüyorum ancak 15 volt ile beslediğim de mosfetlerin katalog Vds gerilimi 30 volt olması durumu, sorun oluşturabilir mi şüphesi uyandırdı.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: hasankara - 23 Mayıs 2014, 16:48:17
pic32mx320f128h ile elimdeki motoru 11.7 voltta 1500kv lik motoru 15400 rpm hızında döndürmeyi başarabildim. hesaba göre 17550 küsür rpm e çıkması gerekiyordu bir de her köprüye seri 0,022 ohm 5 watlık dirençlerde seri bağlı yani bu dirençlerde üzerinde biraz gerilim tuttuğunu düşününce pratik ile teorik hesap arasında çok abartılı bir fark yok gibi ancak ben iştahsızlık yapıp filtre algoritmasını dahada abartmaya kalktım (recursive) ve işin içinden çıkılmayacak bir hale getirdim durumu. yada eski haline getirip sonlandıracağım.

Daha önce hazır satılan bir esc ile bldc sürmediğim için soruyorum. bu geldiğim nokta hazır satılan esc lerle yarışabilir mi? Filtre anlamında daha fazla yoğunlaşmam mantıklı bir davranış olur mu? ki buna karar verirsem şayet tek çıkış noktası dsp (fpga veya dspic) gibi duruyor. zira 80mhz de çalışan 32mx320f128h ile yaptığım filtre algoritması gelen analog verilere göre gayet hantal kalıyor. öyle ki abartmadan söyleyebilirim min 10 kat hızlanması gerekiyor ki iş görebilsin algoritma. Öyle ki algoritmayı 3 kez revize etmeme rağmen en hızlı haliyle durum bu.

dspic lere baktım da, bu aygıtlar tek saykıl da filtre işlemini tamamlar mı? yani filtre anlamında her ihtiyacımızı karşılayabilir mi? pic programlayıcım ve ıde aşinalığım olmasına rağmen dspic le hiç uğraşmayıp direkt fpga platformuna giriş yapmak ne derece anlamlı olabilir?  tecrübesi olanlar bu konuda neler önerebilir?
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: mistek - 23 Mayıs 2014, 17:16:53
Motoru tam yükte çalıştırdınız mı?
35-40 dakika kadar tam yükte çalışabiliyor mu?

Üstteki video da motor sanki tekliyor gibi geldi. Eğer öyle ise bu durum iyi olmamış.

Filtre algoritması nedir, ne için var?

Hazır satılan ESC'lerin genelinde atmega8-16 var.
http://www.hobbyking.com/hobbyking/store/__6459__Hobbyking_SS_Series_40_50A_ESC_Opto_only_.html (http://www.hobbyking.com/hobbyking/store/__6459__Hobbyking_SS_Series_40_50A_ESC_Opto_only_.html)

Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: hasankara - 23 Mayıs 2014, 18:29:14
yok yukarıda ki videoda rotor takibi bile yok, çok yavaş dönüyor yukarıda ki videoda zaten. bu en son söylediğim daha 3 hafta olmadı 15500 rpm e çıktığım hali. tekleme yapmıyor mosfetlerin aşırı ısındığını düşündüğüm için yazılımı fazlaca kurcalamaya başladım. aslında yeni bir video çekip koyup daha sonra öneriye açmam gerekirdi. ateşleme zamanlamasında da sıkıntı olabilir ama emin olamamıştım önümüzdeki eklemeyi düşündüğüm videoda durumu daha iyi özetlemeye çalışacağım.

filtre mevzu su ise back emf sinyalinde analog filtrenin yanında dijital filtrede olması gerekiyor. çünkü analog filtre bir yere kadar idare ediyor. sağlam bir dijital filtreyle analog filtreye hiç ihtiyaç kalmadan çözülebilir, diye düşünmekteyim. zira böyle olunca filtre oranı değişken sağlanabilir, mesela motorun hızı arttıkça filtre oranı düşürülebilinir. ama analog pasif filtrede kullanılan pasif elemanlarla bu oran, donanımla sabitleniyor.

filtre algoritması ise, örnekleri herhangi bir katsayıyla çarpmadan sadece en son yeni gelen örneği toplayıp en eski örneğide çıkartıp örnek sayısına bölmeyi denedim. bu kadar basit bir algoritmada dahi en son bölme işlemine gelene kadar 50-60 tane yeni örnek gelmiş oluyor. Hedefim her yeni gelen örnekten sonra yeni bir sonuç elde etmek. 4 kanal için örnek frekansı 180khz.

15500 rpm de çalıştırdığım halinde ise daha basit bir filtre algoritması kullanmıştım. yeni gelen her örnek değişkende toplanıyor, örnek sayısı belli bir sayıyı geçtiği zaman örnek sayısına bölünüp sonuç değişkenine yazılıyor. örneklerin toplandığı değişken ile örnek sayısını tutan değişkenler 0 lanıyor. bu hızlı bir şekilde çalışabiliyor ama kaymalı dinamik bir yapı elde edilememiş olunuyor. bu algoritmaya rağmen gelen örnekleri sadece toplamak bile işlemci yükünün 3de1 ini oluşturuyor.

Bu arada önceki yorumumda ki sorular güncel.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: bulutay - 29 Mayıs 2014, 12:37:20
çalışmalarınız da kolaylıklar dilerim. mosfetlerin ısınması sorununu halledebildiniz mi acaba
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: hasankara - 30 Mayıs 2014, 04:54:12
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 (http://www.youtube.com/watch?v=LgRK4_4ElhU#ws)  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.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: pisayisi - 30 Mayıs 2014, 14:54:20
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,

(http://s12.postimg.cc/hlfd9qwql/3_faz_stator_wind.jpg)

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

(http://s12.postimg.cc/glp2e1hkt/demanyetizasyon_bldc1_table.jpg)
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: hasankara - 30 Mayıs 2014, 15:18:22
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.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: learner - 30 Mayıs 2014, 15:35:03
Step1 de T1 logic T4 pwm le mi sürülmeli. Eğer öyleyse High side mosların sürülmesi problem olur.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: hasankara - 30 Mayıs 2014, 16:01:52
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?
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: pisayisi - 30 Mayıs 2014, 17:37:44
http://www.st.com/st-web-ui/static/active/en/resource/technical/document/user_manual/CD00236524.pdf (http://www.st.com/st-web-ui/static/active/en/resource/technical/document/user_manual/CD00236524.pdf)
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: hasankara - 30 Mayıs 2014, 21:11:50
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 (http://youtu.be/cgQ4KUz6yiY) 
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: hasankara - 04 Haziran 2014, 18:46:04

(http://s7.postimg.cc/w8jw9lnfr/rekor_deneme.jpg) (http://postimg.cc/image/w8jw9lnfr/)

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.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: Mucit23 - 04 Haziran 2014, 20:23:49
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.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: hasankara - 04 Haziran 2014, 22:36:29
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.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: Mucit23 - 04 Haziran 2014, 22:50:24
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.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: hasankara - 04 Haziran 2014, 23:32:34

(http://s22.postimg.cc/vkhnq2h19/verim_graphic.jpg) (http://postimg.cc/image/vkhnq2h19/)

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.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: hasankara - 15 Haziran 2014, 19:26:31
Pcb konusunda fikir almak istiyorum.
resim1: (http://s29.postimg.cc/5mkp6wnzn/pcb_1.jpg) (http://postimg.cc/image/5mkp6wnzn/) resim2: (http://s29.postimg.cc/6ddfcoqcz/pcb_2.jpg) (http://postimg.cc/image/6ddfcoqcz/)

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.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: hasankara - 27 Temmuz 2014, 03:13:22
http://youtu.be/-2XsaseNk_s (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.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: Mucit23 - 27 Temmuz 2014, 03:54:11
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ı?
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: hasankara - 27 Temmuz 2014, 04:03:28
teşekkürler. planım var, model uçakta kullanmayı düşünüyorum.
Başlık: Ynt: sensörsüz bldc motor(20000rpm) sürücüsü yapıyoruz
Gönderen: bulutay - 03 Mart 2016, 19:56:47
hasan bey merhabalar. daha ucuz mcu araştırması ve denemesi ni yaptınız mı acaba. hala 80 mhz hızlarda mı sürüyorsunuz. teşekkürler.