Picproje Elektronik Sitesi

ENDÜSTRiYEL OTOMASYON => Motorlar & Sürücüler => Konuyu başlatan: Mucit23 - 07 Mart 2018, 18:37:10

Başlık: Fırçasız DC motor'da Sinüs Modülasyonu nasıl yapılacak?
Gönderen: Mucit23 - 07 Mart 2018, 18:37:10
Selamlar

BLDC motorlar üzerine çalışıyorum. Temel Bazı konuları öğrendim aşama aşama ilerliyorum. Nasip olursa FOC'ye kadar ilerleyeceğim. Şimdilik Blok komutasyonla BLDC motoru çalıştırabildim.

Motoruda Hall Sensör ile komutasyon yapıyorum. 50mm çapa sahip Fırçasız DC bir motorun dışına uygun açıyla 3 adet hall sensör yerleştirdim. Bu sayede rotor pozisyonuna göre komutasyon yapabildim. Sırayla Her bir Fazı açıp kapatarak motoru döndürebiliyorum. Power kartı olarakda IR2101 ve IRF1403 lerden oluşan 3 lü yarım köprü devresi oluşturdum. STM32F103'den PWM uyguluyorum.

Çalışması Bu şekilde
https://www.youtube.com/watch?v=4qWHyIujxBw

Fakat Şöyle bir durum var.  Duty Değerini Belli bir değerin üzerine çıkardığımda akım alıp başını gidiyor. Blok komutasyonda sinüs modülasyonu yapılması gerekiyormu bu konuyu tam anlayamadım. Mesela DRV8308 gibi Hazır çiplere baktığımda böyle birşey yapılmadığını görüyorum. Doğrudan fazlara PWM uygulanmış.

Sonradan videodaki motoru ESC ye bağlayıp motor çalışırken fazları osiloskopta baktım. Oldukça gürültülü bir sinüs var. Belliki sinüs modülasyonu yapılmış.

Anlamadığım nokta şu. 3 Faz var ve Fazlar arası 120 derece faz farkı var. 120 Derecelik bir sinüs dalgası üretirken her bir faza tablodan nasıl sinüs değerlerini uygulayacağım? Aynı zamanda fazlar arası komutasyon yapmam gerekiyor çünkü.  Arka planda nasıl bir yapı olacak bunu kafamda oturtamadım. 

Bunu kısaca anlatabilecek olan varmı?




Başlık: Ynt: Fırçasız DC motor'da Sinüs Modülasyonu nasıl yapılacak?
Gönderen: Franisto - 07 Mart 2018, 20:58:38

Hocam konu hakkinda bilgim yok fakat size birsey sormak istiyorum. Neden sinus yada trapez seklinde bir dalgaya ihtiyac duyuluyor? 90 derece kenarli dalgalar ile surulurse gurultumu olusuyor.


Asagidaki videoyu muhtelemen biliyorsunuzdur ama isterseniz bir goz atin sensor ile fazlarin durumlari es zamanli grafikte gosterilmis

https://youtu.be/43JMIuwVrY4
Başlık: Ynt: Fırçasız DC motor'da Sinüs Modülasyonu nasıl yapılacak?
Gönderen: ladybird - 08 Mart 2018, 01:30:08
Hocam pwm kısmını nasıl yapıyorsunuz ? Bende bldc yapmaya çalışıyorum böyle bir sorunla karşılaştım.
https://www.picproje.org/index.php/topic,72316.0.html
Başlık: Ynt: Fırçasız DC motor'da Sinüs Modülasyonu nasıl yapılacak?
Gönderen: devrecii - 08 Mart 2018, 03:05:22
PWM döndüsünü 1-100khz ayarlayın  ,  ve 10- 256  bölün  (sinus cözünürlük ),   (frekans yükseldikçe mosfet ısınacaktır entegre de)

6 kanal pwm çıkışı lazım . 

Yada 3 kanal ama kanalların NULL olabilmesi gerekir bi şekilde. Yani 1 veya 0 değil ,  null.


Diyelim 6 kanal pwm çıkışı ile yaptın. 

6 tane sinus tablosu oluşturun  uint8_t kanal1[]={ 0,1,5,10,,....   

Bunları sırası ile  kanal compare registerine verin ne kadar hızlı verirseniz motorunuz o kadar hızlı döner. 

Eğer motoru yavaş yavaş hızladırıp yavaşlatırsanız hall sensöre gerek yok bence.

Hall sensör iyidir,  uyumu sağlayıp çekilen akımda tasarruf sağlayabilir ama tam tersi tepeleri çakıştırıp gereğinden fazla akım çekmesine de neden olabilir..   


Başlık: Ynt: Fırçasız DC motor'da Sinüs Modülasyonu nasıl yapılacak?
Gönderen: Mucit23 - 08 Mart 2018, 16:09:09
PWM işini TIM1 ile hallediyorum. STM32'lerde zaten Complementary PWM özelliği var. Orada Problem yok. Şuanki PWM frekansı 16KHZ civarında

Fakat anlamadığım bir sorun var.

Videoda motor Saat yönünün tersine Dönüyor. Bu şekilde motor çalıştığı zaman Duty Değerini belirli bir değerin üszerine çıkardığımda Akım çok fazla artıyor ve Mosfetler aşırı ısınıyor. Motor Sesi hoş değil. Ters yöne döndürdüğümde ise Motor Gayet iyi çalışıyor. Hızlanmasında problem yok. Max Devirleri görüyorum. Saat yönünün tersinde çalışırken akan akımın aynısı akmasına rağmen mosfetler hiç ısınmıyor.

Komutasyonu bu tabloya göre yapıyorum.
(https://s14.postimg.cc/sfs84wi9d/Ekran_Al_nt_s.jpg)

DIR=1 iken sorun yok. Gayet iyi çalışıyor. Fakat DIR=0 iken uygulanması gereken komutasyonu yaptığımda Motor çalışıyor fakat akım çok fazla oluyor ve moslar aşırı ısınıyor.

Komutasyon sırasımı ters oluyor. Ufak bir yanlış anahtarlama var gibi ama çözemedim. Tabloda problem olmaz herhalde Texas'ın sürücülerinden baktım.
Başlık: Ynt: Fırçasız DC motor'da Sinüs Modülasyonu nasıl yapılacak?
Gönderen: seyityildirim - 08 Mart 2018, 16:18:15
Alıntı yapılan: Mucit23 - 07 Mart 2018, 18:37:10

Anlamadığım nokta şu. 3 Faz var ve Fazlar arası 120 derece faz farkı var. 120 Derecelik bir sinüs dalgası üretirken her bir faza tablodan nasıl sinüs değerlerini uygulayacağım? Aynı zamanda fazlar arası komutasyon yapmam gerekiyor çünkü.  Arka planda nasıl bir yapı olacak bunu kafamda oturtamadım. 

Bunu kısaca anlatabilecek olan varmı?

Blok komutasyon ile yani six-step ile sinüs akım oluşturamazsınız. sinüs akım için FOC yapmanız gerekecek. Zaten six-step komütasyonun akımı sinüs yaparım/yapabilirim diye bir iddiası yok. FOC ile six-step sürücünün temel farklarından biri akım formudur zaten.

Foc de ise Space Vector Modulasyon var. alfa-beta domaini var, d-q domaini var. bunları biraz araştırmanız gerekecek.
Başlık: Ynt: Fırçasız DC motor'da Sinüs Modülasyonu nasıl yapılacak?
Gönderen: devrecii - 08 Mart 2018, 16:49:07
Arkadaşlar peki pinlerden voltajı ölçüp pwm 'yi buna göre fixleyemezmiyiz , aynı smpslerde olduğu gibi feedbak yapıp voltajın istenilen değerde
sabitlendiği gibi,  böyle bişey yapılsa bile bence basit analog sistemlerle yapılabilir bazı durumlarda mcu işi zorlaştırıyor.

Sormak stediğim bi konu var hala kafamı kurcalıyor mesela drone motoru, harddisk motoru 120 derecelik bobinli fakat bunlarda asla hall sensör kullanımamış üç tane kablo direk entegreye gidiyor peki hall kullanmadan nasıl yapıyor ,bobinlerdeki akımı mı ölçüp mü buluyor bu entegreler, kafam alalk bullak oldu. 
Başlık: Ynt: Fırçasız DC motor'da Sinüs Modülasyonu nasıl yapılacak?
Gönderen: Mucit23 - 08 Mart 2018, 17:12:25
@iboibo Bobin akımlarından rotor pozisyonu tespit ediliyor.  Sensorless Brushless dc motor control diye geçiyor. Forumda Hasan diye bir arkadaşımız zamanında sürücü yapmıştı.

Ben komutasyon işini anlamadım. Neden ters yöne dönerken motor zorlanıyor yada motor fazla akım çekiyor? Neden aynı akim geçmesine ragmen motorlar daha çok ısınıyor. Ilk önce bunları çözmem gerekiyor. Sıra FOC yede gelecek.
Başlık: Ynt: Fırçasız DC motor'da Sinüs Modülasyonu nasıl yapılacak?
Gönderen: devrecii - 08 Mart 2018, 17:18:41
Hall sensör kullanmadan nasıl sürüldüğü ile ilgili internette söyle bişey buldum.

Hemde akımı istediğiniz gibi sınırlama ve motora binen yükü görme şansı veriyor. 

(https://s17.postimg.cc/fs961w9zv/image001.jpg) (https://postimg.cc/image/fs961w9zv/)


Bobinlerin herhangi birisine akım veriliyor motor o yöne doğru giderken akım çizgisi il başta az sonra yükselerek artıyor tam üzerine geldi zaman ise akım en yüksek seviyeye geliyor. Akım yükseldiği an ikinci bobine geçiyor ve aynı ilemler sırası ile devam ediyor .

Bu şekilde sinus formuda ayarlanabilir ve motordan geçen mx akım sınırlanabilir. Umarım işinize yarar  .

Başlık: Ynt: Fırçasız DC motor'da Sinüs Modülasyonu nasıl yapılacak?
Gönderen: devrecii - 08 Mart 2018, 17:24:27
Alıntı yapılan: Mucit23 - 08 Mart 2018, 17:12:25
Ben komutasyon işini anlamadım. Neden ters yöne dönerken motor zorlanıyor yada motor fazla akım çekiyor? Neden aynı akim geçmesine ragmen motorlar daha çok ısınıyor. Ilk önce bunları çözmem gerekiyor. Sıra FOC yede gelecek.

Osiloskpunuz müsaid,   motorun bobinlerine bağlantıyı kesin osiloskpa bağlayın, elinizle motoru çevirip çıkışları inceleyin ,  büyük ihtimalle yazılım hatasıdır.


Eğer motor üzerinde modifikasyon yapıp bir dördüncü pin çıkarırsanız  çok basit bi şekilde motoru süreblirsiniz driverlere ve 6 çıkışa gerek kalmaz
Yada satın alırken 4 telli olanlarından satın alabilirseniz işler çok kolaylarşır  ,

3v ile gs arası sürülebilen 60a mosfetler var bunları direk mcu ya bağlayıp , çok basit devre ve yazılımla işi bitirebilirisnz.


(https://s17.postimg.cc/3lj7px36j/sdgwertwet.jpg) (https://postimg.cc/image/3lj7px36j/)
Başlık: Ynt: Fırçasız DC motor'da Sinüs Modülasyonu nasıl yapılacak?
Gönderen: Mucit23 - 08 Mart 2018, 21:01:11
Motorlar ısınıyor dedim ama orada yanlışlık olmuş. Mosfetler çok ısınıyor. Ortalama aynı akım geçiyor halbuki.

Önceki mesajımda verdiğim tabloya göre aşağıdaki diziyi doldurdum. Hangi mosların açılıp hangilerinin kapanacağını bu diziye göre ayarlıyorum. İleri ve geri yön için iki farklı dizim var.
static const uint8_t BLDC_BRIDGE_STATE_FORWARD[8][6] =
{
// UH,UL        VH,VL        WH,WL         //ABC
   { 0,0 , 0,0 , 0,0 },  // 0 //000  ShutDown
   { 0,0 , 0,1 , 1,0 },  // 1 //001  ok
   { 0,1 , 1,0 , 0,0 },  // 2 //010  ok
   { 0,1 , 0,0 , 1,0 },  // 3 //011  ok
   { 1,0 , 0,0 , 0,1 },  // 4 //100  ok
   { 1,0 , 0,1 , 0,0 },  // 5 //101  ok
   { 0,0 , 1,0 , 0,1 },  // 6 //110  ok
   { 0,0 , 0,0 , 0,0 },  // 7 //111  ShutDown
};

static const uint8_t BLDC_BRIDGE_STATE_BACKWARD[8][6] =
{
// UH,UL        VH,VL        WH,WL         //ABC
   { 0,0 , 0,0 , 0,0 },  // 0 //000  ShutDown
   { 0,0 , 1,0 , 0,1 },  // 1 //001  ok
   { 1,0 , 0,1 , 0,0 },  // 2 //010  ok
   { 1,0 , 0,0 , 0,1 },  // 3 //011  ok
   { 0,1 , 0,0 , 1,0 },  // 4 //100  ok
   { 0,1 , 1,0 , 0,0 },  // 5 //101  ok
   { 0,0 , 0,1 , 1,0 },  // 6 //110  ok
   { 0,0 , 0,0 , 0,0 },  // 7 //111  ShutDown
};


Bir yerde hata yapıyor olmalıyım ama nerede çözemedim.
Başlık: Ynt: Fırçasız DC motor'da Sinüs Modülasyonu nasıl yapılacak?
Gönderen: apsis - 08 Mart 2018, 23:34:59
@mucit benzer bir durum karşımıza çıkmıştı. Üzerine pek gitmedik sonra. Buna benzer bir konu bu sitede açılmıştı sanki. Hatta üretimden kaynaklı olabileceği yazılmıştı.
Benim önerim bir esc ile test edin. Bakalım esc'de de anormal bir ısınma olacak mı
Başlık: Ynt: Fırçasız DC motor'da Sinüs Modülasyonu nasıl yapılacak?
Gönderen: marecrisium - 09 Mart 2018, 11:46:05
Hall sensörler ile sürülen BLDC'nin farklı yönlere döndürüldüğünde farklı akımlar geçmesi olayı ile ben de karşılaşmıştım. Bu imalat hatası değil. Çalıştığım 3 farklı BLDC ile aynı olay oluştu. Sanırım sensör çıkışlarının CW ve CCW yönüne dönerken farklı çıkışlar vermesinden kaynaklanıyor.
Anahtarlama tablolarının her iki yön için birbirinden farklı olması gerekiyor,ancak bu biçimde birbirine yakın formda akım çekiliyor.
Başlık: Ynt: Fırçasız DC motor'da Sinüs Modülasyonu nasıl yapılacak?
Gönderen: Mucit23 - 09 Mart 2018, 11:49:27
ESC ile sürüşte sıkıntı yok. Motor her iki yönde de gayet normal çalışıyor. Fakat bende öyle değil. Motor Saat yönüne dönerken diyelim ki %50 Duty ile 2A civarı akım çekerken saat yönünün tersine döndüğünde aynı duty ile Akım 5-6A lere fırlıyor. Moslar Çok fazla ısınıyor. Ek olarak BLDC hub motorda denedim ondada aynı sorun var. Yani motorla ilgili değil gibi.

Skop ile sinyallere bakıyorum ama orada da bir terslik görünmüyor.

@marecrisium Bu tabloyu doğru bir şekilde nasıl oluşturacağım? Bende senin dediğin gibi bir sorun olduğunu düşünüyorum.

İşin İlginci Saat Yönünde Ortalama 2 A çekilirken mosların ısınması ile Saat yönünün Tersine çekilen aynı akımda mosların ısınması bir değil. Saat yönünde dönerken geçen 2A ile moslar hafiften ısınırken saat yönünün tersine dönerken geçen 2A lik akımda moslar çok fazla ısınmaya başlıyor. Sanki akım sadece moslar üzerinden akıyor.
Başlık: Ynt: Fırçasız DC motor'da Sinüs Modülasyonu nasıl yapılacak?
Gönderen: marecrisium - 09 Mart 2018, 12:30:23
Ben bu durumu tam olarak çözdüğümü söylemem.Tablonun doğrusu nasıl oluşacak açıkçası ben de bilmiyorum.
Mosların ısınma olayı anahtarlama veya iletim kayıpları ile ilgili. Akıma osiloslop ile bakman gerekir tam şeklini görmen lazım.
Akımın tepe değerleri yukarılara çıktığı için moslar ısınıyor olabilir.
Başlık: Ynt: Fırçasız DC motor'da Sinüs Modülasyonu nasıl yapılacak?
Gönderen: bulut_01 - 09 Mart 2018, 13:10:51
Saat yönünün tersinin tablosunu olusturmak istiyosan bi fikir motoru elinle dönder yavasca hall sensör cıkıslarınada scop bagla orda high ve low ları kagıtlara not alıp tablo olusturmak en dogrusu gibi.
Başlık: Ynt: Fırçasız DC motor'da Sinüs Modülasyonu nasıl yapılacak?
Gönderen: Mucit23 - 09 Mart 2018, 15:25:51
Osiloskop değilde çıkışları logic analyser ile inceledim. Ama sorun yok görünüyor. Birkaç farklı komutasyon seçeneğini denedim yazılımsal sorun kesinlikle yok. Eminim. Çünkü komutasyon şekliyle birlikte fazların yerini değiştirdiğimde bu sefer saat yönünün tersine düzgün çalışırken saat yönünde aynı şekilde davranıyor.

Logiç Analyser ile aldığım çıktılar.

Saat yönünün tersine dönerken. Bu şekilde sürüşte fazla akım çekiyor.
(https://s9.postimg.cc/74cvo38pb/BACKWARD.jpg)
Buda Saat yönünde dönerken
(https://s9.postimg.cc/ohn632ebz/forward.jpg)
Bu şekilde motor gayet normal çalışıyor. Besleme voltajına göre çıkabileceği max hıza rahatlıkla çıkıyor. yapılan komutasyon tablodakiyle birebir aynı.

Bu arada Logic analyser 8 kanal olduğu için Sadece HallU, HallV, HallC ,UH, UL, VH, VL, WH görüntüleyebildim. WL logic analyserde yok. Geriye tek bir sebep kalıyor oda hall sensörlerin yanlış yerleştirilmiş olma ihtimali.
Başlık: Ynt: Fırçasız DC motor'da Sinüs Modülasyonu nasıl yapılacak?
Gönderen: bulut_01 - 09 Mart 2018, 17:40:40
İki resim arasındaki farklılıklar U ve V fazları sinyalleri aynı değil detaylı incelerseniz farklılıklar var aralarında.
Başlık: Ynt: Fırçasız DC motor'da Sinüs Modülasyonu nasıl yapılacak?
Gönderen: Mucit23 - 09 Mart 2018, 18:00:39
Sorun Hall Sensörlerin Yerleşimindeymiş. Şimdi Elimde olan hazır bir BLDC motor ile deneme yaptım. Prüzsüz bir şekilde çalışıyor. Saat yönü veya Tersi Max duty bile versem her iki yönde de aynı akımı çekiyor. Bir Test Videosu çektim.

https://www.youtube.com/watch?v=aATrZXenf7I

Sorun Belliki Hal sensörlerin yerleşiminde. Daha önce Hal Sensör aralarındaki açı = 120/(çift kutup sayısı) formülünden hesaplayarak yerleştirmiştim.

Motorda 14 Mıknatıs var, Buda 14 kutup yada 7 çift kutup eder. 120/7=17,1428 Derece şeklinde hesaplamıştım. Bu hesabıda internette bir sayfada buldum. Bunun yada bu işin doğrusunu bilen varmı?
Başlık: Ynt: Fırçasız DC motor'da Sinüs Modülasyonu nasıl yapılacak?
Gönderen: bulut_01 - 09 Mart 2018, 18:06:38
Sorunsuz denediğin motora göre konumlandır sensorleri.
Başlık: Ynt: Fırçasız DC motor'da Sinüs Modülasyonu nasıl yapılacak?
Gönderen: Mucit23 - 10 Mart 2018, 10:27:50
Son videodaki motorun içine baksam bile pek bir sonuç çıkaracağımı sanmıyorum. Sonuçta 3 adet sensör var ven bunlar stator oyuklarına yerleştiriliyor. Fakat Ben motorun içine müdahale etmenden dışarıdan ekleyeceğim bir sensör kartı ile komutasyon almak istiyorum. Bu yüzden sensörlerin nasıl yerleştirileceği çok önemli. Bunu ayarını bir türlü oturtturamadım.
Başlık: Ynt: Fırçasız DC motor'da Sinüs Modülasyonu nasıl yapılacak?
Gönderen: Cemre. - 10 Mart 2018, 11:18:40
Merhaba,
@Mucit23 hocam, rotor pozisyonunu algılama amacıyla daha farklı teknikler kullanılabilir.
Manyetik encoder çiplerini araştırmanizi onerebilirim. Bu arada bir türlü gönderemediğim şu kitaplar için eposta adresi yazar mısınız?
Başlık: Ynt: Fırçasız DC motor'da Sinüs Modülasyonu nasıl yapılacak?
Gönderen: Mucit23 - 10 Mart 2018, 23:12:26
Hocam bir sonraki aşamada zaten enkoder bağlayacağım motora ama bu haliyle düzgün bir şekilde çalıştırabilmem lazım. Daha sonra Sinüs modülasyonunu deneyeceğim. Onuda anladım gibi.




Sorunun sebebini tam emin olmamakla birlikte anladım sanırım. Hal sensörlerin uygun açı ile yan yana durmasını sağlayacak bir PCB yapmıştım. Bu PCB de HAL sensörlerin açısı tam hesapladığım gibi yerleştirdim. Onuda BLDC motorun yanına yaklaştırınca komutasyon sinyallerini aldım. Motorun bir yöne düzgün çalışıp diğer yöne çalışmamasının sebebi sanırım hal sensör kartını motorun gövdesinde rastgele yerleştirmiş olmam. Bu Kartı birkaç milim sağa veya sola hareket ettirirsem düzelecek sanırım.
Başlık: Ynt: Fırçasız DC motor'da Sinüs Modülasyonu nasıl yapılacak?
Gönderen: Mucit23 - 14 Mart 2018, 14:23:04
Blok komutasyon işini hallettim. Sorun dediğim gibi hal sensörleri pozisyonundan kaynaklıymış. birkaç milim sensörleri hareket ettirerek en doğru pozisyonu buldum.

Şimdi Sinüs Modülasyonu yapmaya çalışıyorum. Fakat çıkamadım işin içinden.

Bunun için 3 Adet Timer Kullanmayı düşündüm.

Tim1 ile Motor PWM sinyallerini üretiyorum.
Tim3 ile Motor hızını ölçmeye çalıştım. Hal Sensörde değişim olduğunda Timer Değerini okuyup sayacı sıfırlıyorum.
Tim4 ile de Kesme oluşturup Tablodan Uygun PWM değerini Timer kanallarına uyguluyorum.

Timer3 ile okuduğum hız değeriyle Tım4'ün kesme hızını ayarlamaya çalıştım. Fakat hala mantığı düzgün bir şekilde oturtamadım. Motoru düzgün bir şekilde kaldıramıyorum.

Hal sensörlerle Timer arasındaki ilişkiyi düzgün kuramadım.

Bu işi Senkronize bir şekilde nasıl yaparım? Ufaktan birisi anlatsa süper olacak. 
Başlık: Ynt: Fırçasız DC motor'da Sinüs Modülasyonu nasıl yapılacak?
Gönderen: Analog - 15 Nisan 2018, 02:12:47
Alıntı yapılan: Mucit23 - 08 Mart 2018, 16:09:09PWM işini TIM1 ile hallediyorum. STM32'lerde zaten Complementary PWM özelliği var. Orada Problem yok. Şuanki PWM frekansı 16KHZ civarında

Fakat anlamadığım bir sorun var.

Videoda motor Saat yönünün tersine Dönüyor. Bu şekilde motor çalıştığı zaman Duty Değerini belirli bir değerin üszerine çıkardığımda Akım çok fazla artıyor ve Mosfetler aşırı ısınıyor. Motor Sesi hoş değil. Ters yöne döndürdüğümde ise Motor Gayet iyi çalışıyor. Hızlanmasında problem yok. Max Devirleri görüyorum. Saat yönünün tersinde çalışırken akan akımın aynısı akmasına rağmen mosfetler hiç ısınmıyor.

Komutasyonu bu tabloya göre yapıyorum.
(https://s14.postimg.cc/sfs84wi9d/Ekran_Al_nt_s.jpg)

DIR=1 iken sorun yok. Gayet iyi çalışıyor. Fakat DIR=0 iken uygulanması gereken komutasyonu yaptığımda Motor çalışıyor fakat akım çok fazla oluyor ve moslar aşırı ısınıyor.

Komutasyon sırasımı ters oluyor. Ufak bir yanlış anahtarlama var gibi ama çözemedim. Tabloda problem olmaz herhalde Texas'ın sürücülerinden baktım.

Hocam aklıma takıldı bir sorayım dedım. TIM1 complementary ya 6 mosfet suruyorsunuz buradan 6 kanal mı cektınız ? %20 duty cycle da
Başlık: Ynt: Fırçasız DC motor'da Sinüs Modülasyonu nasıl yapılacak?
Gönderen: M.Salim GÜLLÜCE - 15 Nisan 2018, 04:12:34
Alıntı yapılan: Mucit23 - 14 Mart 2018, 14:23:04Blok komutasyon işini hallettim. Sorun dediğim gibi hal sensörleri pozisyonundan kaynaklıymış. birkaç milim sensörleri hareket ettirerek en doğru pozisyonu buldum.

Şimdi Sinüs Modülasyonu yapmaya çalışıyorum. Fakat çıkamadım işin içinden.

Bunun için 3 Adet Timer Kullanmayı düşündüm.

Tim1 ile Motor PWM sinyallerini üretiyorum.
Tim3 ile Motor hızını ölçmeye çalıştım. Hal Sensörde değişim olduğunda Timer Değerini okuyup sayacı sıfırlıyorum.
Tim4 ile de Kesme oluşturup Tablodan Uygun PWM değerini Timer kanallarına uyguluyorum.

Timer3 ile okuduğum hız değeriyle Tım4'ün kesme hızını ayarlamaya çalıştım. Fakat hala mantığı düzgün bir şekilde oturtamadım. Motoru düzgün bir şekilde kaldıramıyorum.

Hal sensörlerle Timer arasındaki ilişkiyi düzgün kuramadım.

Bu işi Senkronize bir şekilde nasıl yaparım? Ufaktan birisi anlatsa süper olacak. 
-Hal sensorlardan 0-1 mi geliyor yoksa analog bilgimi?
-Timer tarafını bilmem ama bir sinüs tablosuyla ancak halledebilirsin sanırım.
(http://www.ti.com/ods/images/SLVSCF7B/180_sine_DIR_1_SLVSCF7.gif)
sadece bir faz için tablo lazım. buna U=0° diyelim
diğerleri ileri yada geri döndürmene göre birini V=120° gecikmeyle aynısını uygulaman gerek. 3.ye ise W=240° sonra aynısını uygulaman gerek.
-Birde ısınmalar falan oluyorsa muhtemelki Köprülerden biri veya birkaçı kısa süreliğine aynı anda hen HI hem LO transistörü iletime sokuyor olabilir. Motora akım çıkmazken devrenin kendisi  akım çekiyor demektir.
-verdiğim grafik çiziminde her üç fazdada L transistörlere yüksek frekans PWM uygulanmamış. Biraz değişik bir yöntem kullanmış.
Anladığım kadarıyla PWM i kendin üretiyorsun. MCU daki PWM aygıtlarını kullanmıyorsun. Gerçi ne kullandığını bilmiyorum da sadece fikir yürüterek yazdıklarını yorumlamaya çalışıyorum.
-Yön değiştirmek istersen 2 fazın çıkış zamanına yer değiştirmen kafi.  U=0° - V=120° yerine U=120° - V=0° gibi, herhangi 2 faza yer değiştir sadece.
Başlık: Ynt: Fırçasız DC motor'da Sinüs Modülasyonu nasıl yapılacak?
Gönderen: Mucit23 - 15 Nisan 2018, 08:42:08
Abi Aslında bu konuyu çözdük. Bu aşamalara gelmeden önce bir uygulama görmüştüm o uygulamada Tablodan değerler alınıp veriliyordu motora fakat o yöntemi çalıştıramadım. Sonradan Space Vektör Tekniğini öğrendim. O şekilde motoru çalıştırdım. Sadece akım kontrolü yapmam gerekecek.

Motorda Konum kontrolü yapmaya çalışıyorum. Bunun için Enkoder alıp motora bağladım. Birazda bunun üzerine çalışacağım.