Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => Diğer => Konuyu başlatan: quarko - 19 Ağustos 2019, 16:16:37

Başlık: STM32 Akım Kontrollü PWM
Gönderen: quarko - 19 Ağustos 2019, 16:16:37
Merhabalar arkadaşlar,
Aliexpress üzerinden aşağıdaki bldc motoru satın aldım. Hem öğrenme amaçlı hemde hobi olarak bir sürücü devresi tasarımı yaptım. Şuan blok komutasyon diye biline six-step modda sürebiliyorum. İşlemci olarak STM32 kullandım. PWM ile hızı da kontrol edebiliyorum. Bir sonraki adım olarak faz akımlarını da kontrol etmek istiyorum. (Çünkü yanlış bir işlem sonucu bir tane motorum yandı. Yenisini sipariş etmek zorunda kaldım.) Faz akımlarını kontrol edip PWM ile nasıl ilişkilendirebileceğim konusunda yardıma ihtiyacım var. ADC ve TIM modüllerinin entegrasyonunu nasıl yapacağım. ADC yi injected modda mı kullanmam gerekiyor. Bu konuda açıklama yapabilecek arkadaş var ise minnettar olurum. Şimdiden teşekkürler.

(https://i.ibb.co/Mf694HM/Diameter-42mm-BLDC-DC-24-V-Brushless-Electric-Motor-4000rpm-5000rpm-Speed-Option-High-Torque-Brushless-3.jpg) (https://ibb.co/Mf694HM)
Başlık: Ynt: STM32 Akım Kontrollü PWM
Gönderen: apsis - 19 Ağustos 2019, 19:52:41
Koruma için en güzel yöntemlerden biri break input ile sistemi korumaya sokmaktır. Komprator ile limit değeriniz aştığında çıkış alıp bunu brkin pinine girip pwmleri kapatabilirsin. Ya da motoruna göre PI ile akım regülasyonu yapabilirsin.
Başlık: Ynt: STM32 Akım Kontrollü PWM
Gönderen: quarko - 19 Ağustos 2019, 22:00:57
Tasarımda her ikisine göre de çalışabilecek şekilde yaptım hocam. Şönt dirençler üzerinden akım geri beslemesi alıp, karşılaştırıcı vasıtasıyla timer ın break pinine getirdim. Ama ilk olarak akım kontrolünü PI kontrolör ile yapmak istiyorum aslında. İlk olarak PI olmasına da gerek yok. Geri Kp = 1 olan bir P kontrolör de olur. Sadece adc ve timer ın yazılımsal organizasyonunu becerebilsem gerisi bir şekilde gelir. Bunun için adc yi pwm i üreten timer la tetiklenecek şekilde, duty cycle değerine göre tam ortada çevrimi başlatıp, ona göre bir sonraki pwm periyodunda dutyc cycle değerini güncellemem gerekiyor galiba, anladığım kadarıyla.
Başlık: Ynt: STM32 Akım Kontrollü PWM
Gönderen: apsis - 20 Ağustos 2019, 12:23:52
Duty'nin tam ortasından başlatmak nasıl olur ben bilmiyorum. Benim bildiğim adc'nin desteklediği bir timer'dan tetikleme alıp örnekleme süresi belirlenebiliyor bu "External Trigger Conversion Sorce" dan belirlenebiliyor.
Burada timer 1 Compare Capture 1,2,3 gibi kanallardan her event oluşumunda adc'yi tetikleyebilirsin. CC1,2,3 senin aslında duty registerindir.

Ben bildiğimi söyledim. Ancak duty'nin herhangi bir anında bunu donanımsal olarak yapmak sanırım imkansız.

Belkide bilmiyorum.
Başlık: Ynt: STM32 Akım Kontrollü PWM
Gönderen: quarko - 20 Ağustos 2019, 14:15:39
Duty cycle ın tam ortasında adc yi tetiklemenin donanımsal olarak bir yolu yok hocam ama şöyle birşey aklıma geldi. Ana pwm i TIM1 ile üretiyorum. TIM3 ü de, TIM1 ile aynı frekansa ayarlayıp, duty cycle değerini TIM1 in yarısı yapıyorum. ADC yi TIM3 ile tetikliyorum. Aşağıdaki osiloskop görüntüsünde mor olan tim1 pwm, sarı olan tim3 pwm, mavi olan da adc çevrimi tamamlandığında toggle yaptığım pin. Fazladan bir timer kullanmış olacağım ama bu şekilde olacak galiba. STM32F100RB ile test ediyorum.

(https://i.hizliresim.com/AODDaL.jpg)

Başlık: Ynt: STM32 Akım Kontrollü PWM
Gönderen: quarko - 20 Ağustos 2019, 17:09:47
Yapmak istediğim buydu. Osiloskop görüntülerine göre oldu gibi sanki.

(https://i.hizliresim.com/M1VR77.png)
Başlık: Ynt: STM32 Akım Kontrollü PWM
Gönderen: apsis - 20 Ağustos 2019, 17:22:55
Mantıklı valla  :D .

Ancak çevrim için tetiklemeyi hangi kenarda yapıyorsunuz. İşlemciniz nedir bilmiyorum ama 103c8 için yanlızca yükselen kenarda tetikleme yapıyor. Sizde de böyle bir durum geçerliyse yukarıda anlattığınıza göre tam işiniz görmeyecek. Yani yukarıda tam ortada çevrime başlamasını istediğinizi yazmışsınız.

Benim aklıma dma'dan dizilere verileri atıp içerisinden belirli basamakları çekmek geldi. Ama o da yazılımsal çevrim demek.
Başlık: Ynt: STM32 Akım Kontrollü PWM
Gönderen: quarko - 20 Ağustos 2019, 17:44:10
İşlemci STM32F100RB hocam. Discovery boardla deneme yapıyorum. Yükselen veya düşen kenara göre tetikleme yapmıyor hocam. Ayrıca TIM3 pwm üretmiyor (osiloskopta görünsün diye pwm çıkışı almıştım ilk olarak), sadece compare işlemi yapıyor.CCR registerındaki eşleşme olduğunda tetikleme yapılıyor. Duty cycle değerine göre adc yi tetikliyor yani.

TIM3 duty cycle, TIM1 in yarısı olduğu için sürekli %50 durumunda çevrim başlıyor. (Duty cycle değeri %50 nin altında ise off periyodunun yarısında, %50 nin üstünde ise on periyodunun ortasında olacak şekilde ayarladım.)

Başlık: Ynt: STM32 Akım Kontrollü PWM
Gönderen: apsis - 20 Ağustos 2019, 19:21:44
Aslında faz farkı ayarlanabilse tam istediğiniz gibi olacak.

Bu işi TMS320F'lerde çok güzel yapmışlar. İstediğin gibi faz farkı ayarlanabiliyor ve çok gelişmiş timer pwm donanımı var. ST'deki gibi adc'ler timer'lar ya da PWM'lerin clocklarından tetiklenebiliyor.
Başlık: Ynt: STM32 Akım Kontrollü PWM
Gönderen: quarko - 20 Ağustos 2019, 19:57:39
Alıntı yapılan: apsis - 20 Ağustos 2019, 19:21:44Aslında faz farkı ayarlanabilse tam istediğiniz gibi olacak.

Bu işi TMS320F'lerde çok güzel yapmışlar. İstediğin gibi faz farkı ayarlanabiliyor ve çok gelişmiş timer pwm donanımı var. ST'deki gibi adc'ler timer'lar ya da PWM'lerin clocklarından tetiklenebiliyor.

Haklısınız hocam. C2000 lerdeki pwm ve adc modülleri o kadar harika tasarlanmışlar ki, tam olarak güç elektroniği uygulamaları hedeflenmiş. ST bu konuda biraz daha geride. STM32F3 serisi veya yeni çıkan STM32G0 ları tam incelemedim ama. O seriler genelde analog ve motor kontrol uygulamaları için üretildiğinden bu istediğim tarz özellikleri olabilir.
Başlık: Ynt: STM32 Akım Kontrollü PWM
Gönderen: Cemre. - 20 Ağustos 2019, 21:33:11
Doğru DMA ayarları ve TIM senkronizasyonu ile tek kanalda çipin native özelliği olmasa da asimetrik PWM üretmek mümkün STM32 ile, bu sayede tüm kanalları periyodun istediğiniz kısmına öteleyebiliyorsunuz.

Aşağıdaki resimde görülen sağdaki grafiği bu şekilde üretebiliyorsunuz. Solda görülen tek şönt ile üç fazın akımının ölçülmesi ile ilgili bir tekniği gerçekleştirebilmek için bu yapıyı kullanmıştım...
(STM32F030K6x)

(https://i.ibb.co/gVrhfpB/image.png) (https://ibb.co/gVrhfpB)
Başlık: Ynt: STM32 Akım Kontrollü PWM
Gönderen: apsis - 21 Ağustos 2019, 00:29:23
Alıntı YapHaklısınız hocam. C2000 lerdeki pwm ve adc modülleri o kadar harika tasarlanmışlar ki, tam olarak güç elektroniği uygulamaları hedeflenmiş.

Ama pahalı işlemciler. Caydırıcı tarafı bu :).

@Cemre.  Merak ettim doğrusu. Nasıl yapılıyor? Biraz anlatabilir misin?
Başlık: Ynt: STM32 Akım Kontrollü PWM
Gönderen: quarko - 21 Ağustos 2019, 17:29:09
Alıntı yapılan: apsis - 21 Ağustos 2019, 00:29:23Ama pahalı işlemciler. Caydırıcı tarafı bu :).

Evet fiyatları pahalı st ye göre. CubeMX te Cross Selector var hocam. oradan farklı firmalara ait mcu ları seçip, ST deki muadillerini bulabiliyorsunuz. En ucuzu ile iki kat fiyat farkı var neredeyse.
Başlık: Ynt: STM32 Akım Kontrollü PWM
Gönderen: Cemre. - 21 Ağustos 2019, 19:46:00
Alıntı yapılan: apsis - 21 Ağustos 2019, 00:29:23Ama pahalı işlemciler. Caydırıcı tarafı bu :).

@Cemre.  Merak ettim doğrusu. Nasıl yapılıyor? Biraz anlatabilir misin?
Müsait bir zamanda detaylandıracağım
Başlık: Ynt: STM32 Akım Kontrollü PWM
Gönderen: apsis - 22 Ağustos 2019, 11:49:01
Alıntı YapEvet fiyatları pahalı st ye göre. CubeMX te Cross Selector var hocam. oradan farklı firmalara ait mcu ları seçip, ST deki muadillerini bulabiliyorsunuz. En ucuzu ile iki kat fiyat farkı var neredeyse.

Evet biliyorum.

Bende çift çekirdeklisi var(TMS320F28379D). Bazen ona bakınca ST'ye ekmek veresim gelmiyor. Ancak ARM'ın mimari yapısı daha çekici geliyor.
Başlık: Ynt: STM32 Akım Kontrollü PWM
Gönderen: quarko - 22 Ağustos 2019, 16:55:26
Haklısınız hocam. TI ın çift çekirdekli DSP siyle haşır neşir olunca ST nin pabucu dama atılıyor ister istemez. Ama yapacak birşey yok. ARM hala popüler ve bu pazarda ST açık ara önde.
Başlık: Ynt: STM32 Akım Kontrollü PWM
Gönderen: quarko - 29 Ağustos 2019, 14:36:51
@apsis hocamın katkılarıyla ST nin bir dökümanından faydalanarak başka şekilde halledebildik. Timer counter ını up/down sayacak şekilde ayarlandığında, ve 4.kanalın compare işlemini pwm in ortaya yakın bir yerlere ayarlayınca, tek timer ile pwm in ortasında adc tetiklenebiliyor.
Başlık: Ynt: STM32 Akım Kontrollü PWM
Gönderen: z - 16 Aralık 2019, 03:39:54
Alıntı yapılan: Cemre. - 20 Ağustos 2019, 21:33:11(https://i.ibb.co/gVrhfpB/image.png) (https://ibb.co/gVrhfpB)

@cemre bu fotodaki kitabin adi ne?
Başlık: Ynt: STM32 Akım Kontrollü PWM
Gönderen: Cemre. - 16 Aralık 2019, 07:07:49
Alıntı yapılan: z - 16 Aralık 2019, 03:39:54@cemre bu fotodaki kitabin adi ne?

Bir konferansta sunduğum makalenin görseli hocam. Tam metni paylaşayım ofise geçince.

Edit: bu linkten indirilebilir. https://yadi.sk/i/f7PIv22rNddsrw
Başlık: Ynt: STM32 Akım Kontrollü PWM
Gönderen: z - 16 Aralık 2019, 10:17:22
Ah bu akim olcum isleri.

Bir gun birisi cikacak ve akim olcmeyi cok basitlestirecek.
Başlık: Ynt: STM32 Akım Kontrollü PWM
Gönderen: JOKERAS - 16 Aralık 2019, 12:18:14
Alıntı yapılan: z - 16 Aralık 2019, 10:17:22Ah bu akim olcum isleri.

Bir gun birisi cikacak ve akim olcmeyi cok basitlestirecek.
Hadi o zaman neyi bekliyorsun?Basitleştir:)
Videolu olsun ama.
Başlık: Ynt: STM32 Akım Kontrollü PWM
Gönderen: Cemre. - 16 Aralık 2019, 12:42:41
Alıntı yapılan: z - 16 Aralık 2019, 10:17:22Ah bu akim olcum isleri.

Bir gun birisi cikacak ve akim olcmeyi cok basitlestirecek.

Allegro, Melexis, LEM gibi firmaların IC tipi Hall Effect temelli akım ölçümü sensörleri endüstriyel ürünlerde motor fazı üzeri akım ölçümü için kullanılıyor. Belirli güçlerden sonra Şönt + İzole Opamp şeklinde bir kullanım mevcut.

DC Bara üzerinden akım ölçümü yapan sürücüler DC akım üzerine belirli bir miktar motor boşta akımını ekleyerek tahminleme yapıyorlar. Hatta çok bildik bir markanın standart V/f Skaler Kontrol ile çalışan sürücülerinde çıkışa motor bağlamasanız bile motor boşta akımı kadar bir akım çekildiği varsayılarak ekranda bir değer gösteriliyor. DC Baradan akım hiç akmıyorsa "0" göster demeyi düşünememişler herhalde :)
Başlık: Ynt: STM32 Akım Kontrollü PWM
Gönderen: z - 16 Aralık 2019, 13:40:12
Bana dogrudan motor kablolarindan 1..2 Amper olcen cozumler lazim. Var olanlarin Full Range degeri +/- 5A isimi gormuyor, sont direncli olcum yapanlari da fiyatlari acisindan begenmiyorum.
Başlık: Ynt: STM32 Akım Kontrollü PWM
Gönderen: Cemre. - 16 Aralık 2019, 17:53:57
Alıntı yapılan: z - 16 Aralık 2019, 13:40:12Bana dogrudan motor kablolarindan 1..2 Amper olcen cozumler lazim. Var olanlarin Full Range degeri +/- 5A isimi gormuyor, sont direncli olcum yapanlari da fiyatlari acisindan begenmiyorum.


Hocam Si8540 gibi özel ürünler var, voltaj aralığı tutuyorsa bu tip ürünleri inceleyebilirsiniz..
Başlık: Ynt: STM32 Akım Kontrollü PWM
Gönderen: z - 16 Aralık 2019, 18:08:21
Bir zamanlar Maximin urunlerini kullaniyordum pahalilardi ama isimi goruyordu.  Si8540 isimi gormez cunku dogrudan motor sargisina baglayip dusuk frekansli motor akim bilgisini almak isterim. (Bidirectional olmali ve bu isi de bridge bir o yana bir buyana anahtarlarken yapabilmeli)

Oteki turlu yuksek hizli opamplar vs isin icine giriyor.

Neyse bu is zor oldugu icin firmalarda cozumu ucuza sunmuyorlar zaten.

O yuzden o birisinin ucuz akim olcme teknigini kesfetmesini bekleyecegim.

Başlık: Ynt: STM32 Akım Kontrollü PWM
Gönderen: JOKERAS - 16 Aralık 2019, 19:30:24
Alıntı yapılan: z - 16 Aralık 2019, 18:08:21Bir zamanlar Maximin urunlerini kullaniyordum pahalilardi ama isimi goruyordu.  Si8540 isimi gormez cunku dogrudan motor sargisina baglayip dusuk frekansli motor akim bilgisini almak isterim. (Bidirectional olmali ve bu isi de bridge bir o yana bir buyana anahtarlarken yapabilmeli)

Oteki turlu yuksek hizli opamplar vs isin icine giriyor.

Neyse bu is zor oldugu icin firmalarda cozumu ucuza sunmuyorlar zaten.

O yuzden o birisinin ucuz akim olcme teknigini kesfetmesini bekleyecegim.


z, sen bunu kesin çözmüşsündür,onun için zarf atıyorsundur gibime geliyor:)
Hadi anlat bizde öğrenelim.Sana Zahmet.
Başlık: Ynt: STM32 Akım Kontrollü PWM
Gönderen: JOKERAS - 17 Aralık 2019, 15:06:12
z,Akım Ölçme tekniğini anlatmayacakmısın?
Haa anladım,Video çekiyorsun:)

Eski zamanlarda İşlemci Hızları,donanımları şimdikilere göre çok yavaş kalıyorlardı.
Doğal olarak Analog yapılarla problemleri çözüyorlardı.

Maliyeti en aza indirmek için İşlemci hızları,Donanımları kullanılabilinir.
Akım sensörü olarak Hızlı bir İşlemcinin ADC'u ,DMA'si Auto Conversion Trigger'i vs kullanılabilinir.

Böyle Çözmüşsündür diye tahmin ediyorum.
Hadi anlat,anlat.Çekinme:)


 
Başlık: Ynt: STM32 Akım Kontrollü PWM
Gönderen: Cemre. - 17 Aralık 2019, 18:45:46
Sorun akımı ölçmekten ziyade akımı High Side'dan ölçmek. Yoksa bir şönt bir LMV321 vs ile akım ölçülür. Ancak high side olunca ya izole besleme + izole opamp + çıkışına diff to single ended dönüştürmek için opamp vs vs. Ya da böyle hall effect sensörler ile çözülecek. Bu arada ACSxxx çipleri de ticari ürünlerde (sürücüler) sıklıkla görüyorum. Bir de LEM akım trafoları var ki eve haciz getirtir :D

Analog lineer hall effect sensörler kullanılacak PCB hattı üzerinden akım ölçme de yapılabilir aslında ilgili app note'lar mevcut bakmak lazım.
Başlık: Ynt: STM32 Akım Kontrollü PWM
Gönderen: JOKERAS - 18 Aralık 2019, 13:34:11
Alıntı yapılan: Cemre. - 17 Aralık 2019, 18:45:46Sorun akımı ölçmekten ziyade akımı High Side'dan ölçmek. Yoksa bir şönt bir LMV321 vs ile akım ölçülür. Ancak high side olunca ya izole besleme + izole opamp + çıkışına diff to single ended dönüştürmek için opamp vs vs. Ya da böyle hall effect sensörler ile çözülecek. Bu arada ACSxxx çipleri de ticari ürünlerde (sürücüler) sıklıkla görüyorum. Bir de LEM akım trafoları var ki eve haciz getirtir :D

Analog lineer hall effect sensörler kullanılacak PCB hattı üzerinden akım ölçme de yapılabilir aslında ilgili app note'lar mevcut bakmak lazım.
z,sensör yapalım demiyorki Akım ölçme tekniğinden bahsediyor.

Analog lineer hall effect sensörler kullanılacak PCB hattı üzerinden akım ölçme de yapılabilir aslında ilgili app note'lar mevcut bakmak lazım.

Bunu bir ara z'ye söylemiştim,olmaz demişti.PCB yolları İnduktif davranacağı için Direnç yerine Olmaz demişti.Soralım tekrar.

Sevgili z, Pcb yoları ile Akım ölçebilirmiyiz?1 Ohm değeri altındaki Dirençler Çok pahalı:))

z, Kapasitif Encoder yapmış ya,belkide onunla ilintili bir şey keşfetmiş olabilir.
Eğer ben Kapasitif değeri kullanıp bunun Matematiğini,algoritmasını yapıp bunu becerdiysem,
Akımı da okuyabilirim diye düşünmüştür.

Az kurnaz değilsin z:))

Başlık: Ynt: STM32 Akım Kontrollü PWM
Gönderen: halil82ist - 28 Mart 2020, 19:32:51
Merhaba ; en yakın konu başlığı bu gibi geldi buraya yazıyorum .
stm32f303 entegresini kullanıyorum .  half bridge sinyal üretebilyorum . yazılımla darbe genişliğini ayarlayabiliyorum . fakat işlemci içindeki break özelliğini çalıştırınca çalışıyor fakat bir yerde saçmalıyor bunu nasıl düzeltebilirim şimdiden teşekkürler . son resim bozulan darbe şekli .


(https://i.ibb.co/wYVJVSv/SCR01.png) (https://ibb.co/wYVJVSv)

(https://i.ibb.co/zQP83Hk/SCR02.png) (https://ibb.co/zQP83Hk)

(https://i.ibb.co/jM1yXPq/SCR03.png) (https://ibb.co/jM1yXPq)
Başlık: Ynt: STM32 Akım Kontrollü PWM
Gönderen: argelojik - 30 Mart 2020, 19:34:22
Merhaba arkadaşlar,
PWM demişken bu konuya benzer bir sorunum var. 2 gündür çözemedim.  STM32F407 ile resimdeki PWM sinyalini oluşturmak istiyorum. Farklı timerlardan 2 adet PWM modülü kullandım hatta timerlar arasında Trigger Timer mod ile diğer timer a tetikleme verdim  ama  2 PWM arasındaki faz farkını oluşturamadım. İki LED aynı anda yanmayacak arada gecikme olacak.  PWM modülü kullanmadan Delay kullanarak ve GPIO çıkışları ile yapabiliyorum ama ben Timer ile PWM kullanarak yapmak istiyorum. Nerede hata yapıyorum? Bunun için bana öneriniz olabilir mi? Teşekkür ederim.

(https://i.ibb.co/HFY1h7L/ds-Buffer-bmp.png) (https://ibb.co/HFY1h7L)