Picproje Elektronik Sitesi

ENDÜSTRiYEL OTOMASYON => Güç Elektroniği => Konuyu başlatan: apsis - 18 Temmuz 2018, 00:34:28

Başlık: PWM Sinyalindeki Titreşimler
Gönderen: apsis - 18 Temmuz 2018, 00:34:28
Merhabalar,
ADUM4223 entegresi ile bir mosfet sürücü devresi kurdum . Sürücü entegresi galvanic isolasyonlu bir entegre.

(https://thumb.ibb.co/nDR63d/devre.png) (https://ibb.co/nDR63d)

Şemada gözükmeyen boot diyodu ve önüne bağlı bir dirençte var. Yine şemada olmayan gate devre aşağıdaki gibidir

(https://thumb.ibb.co/kzwpOd/gate.png) (https://ibb.co/kzwpOd)

STM32F429 kitimle girişlerine comp.pwm uyguladım(TIM1 - PE8,PE9). İstediğim frekansı ayarlayıp scope'dan ölçebiliyorum. Mosları 30V-80V'da ve 2kHz ile 16.5kHz frekanslarında test ettim.
Moslar düşük gerilimdeyken sıkıntı yok ancak 80V'da 16.5kHz'de iken moslar ısınmaya başlıyor. Ani bir ısınma değil ancak yavaş yavaş ısınıyor.

Not: Devrede yük yok

Scope resimleri:
30V 2kHz
 




(https://thumb.ibb.co/m5Yawy/30v_2khz.jpg) (https://ibb.co/m5Yawy)


80V 2kHz:


(https://thumb.ibb.co/kBvKpJ/scope.jpg) (https://ibb.co/kBvKpJ)


80V 16.5kHz:

(https://thumb.ibb.co/nDFfwy/80V16khz.jpg) (https://ibb.co/nDFfwy)

Sarı: işlemci'nin bir çıkışına bağlı
Mavi: mosfet çıkışı

İşlemci çıkışnda da ripple oluyor ve sürücü bunu kuvvetlendirerek çıkışa kadar aktarıyor. İlk kez yüksek gerilimde çalıştığım için böyle bir problem karşıma çıktı. Isınma anahtarlama kaybı oluşuyor diye düşünüyorum.
Yardımlarınız için şimdiden teşekkür ederim.
Başlık: Ynt: PWM Sinyalindeki Titreşimler
Gönderen: deneme_1234 - 18 Temmuz 2018, 01:17:17
Gate sürücüyü 3.3V ile sürme, en az 5V kullan.
Bu arada kullanması ne gıcık entegreymiş az datasheet kurcaladım da.

ADuM4135 ya da 2ED020I12 varken bu sürücü biraz dandik kaçmıç

Bence ilk böyle bir şey süreceksen bilindik TLP250 gibi optolara yönelebilirdin. Nasılsa klasik süreceksin ve DESAT kullanmayacaksın.
Başlık: Ynt: PWM Sinyalindeki Titreşimler
Gönderen: apsis - 18 Temmuz 2018, 01:25:40
Hocam entegre 3v'u destekliyor. Çalışmamı bu çiplerle sürdüreceğim. Problem bence sürücü entegresinde değil. Sorun yüksek gerilimde ve yüksek frekanstaki problem. Bunun nedenini merak ediyorum.
Başlık: Ynt: PWM Sinyalindeki Titreşimler
Gönderen: devrecii - 18 Temmuz 2018, 01:30:08
En alttaki resim sorunlu sarı renk ile mavi renk aynı incelikte olması gerekirdi. Mavi lkare dalga olmuş.

A ve B girişleri bağlı mı yoksa tekini mi bağladın disable pini mi kullnuyorsun A resimde peki B de ne var.

Başlık: Ynt: PWM Sinyalindeki Titreşimler
Gönderen: apsis - 18 Temmuz 2018, 01:34:42
iki comp. pini bağlı.Sarı olan Vca.
Cboot 1uF paralelinde 100nF bağlı.
Başlık: Ynt: PWM Sinyalindeki Titreşimler
Gönderen: devrecii - 18 Temmuz 2018, 01:42:06
Tavsiyem ilk önce cpu iki çıkışını osiloskop resmini ekle ,  daha sonra mosfetleri bağlama , gnda ve gndb ikisini de eksiye ver
ve adum entegresinin mosfet gate çıkışlarını  osiloskopla resmini çek o zaman sorun daha iyi anlaşılır.



Yük bağlı değilken pik olmaz , 16khz gayet normal bir değer. 500khz olsa yük yokken ısı problemi olabilridi ama 16khz de olmaz.

 
Başlık: Ynt: PWM Sinyalindeki Titreşimler
Gönderen: apsis - 18 Temmuz 2018, 12:19:13
daha net bir şekilde görüntülenmiş hali

işlemci çıkışı sürücü bağlı değilken: (sarı:pwm, mavi:pwm_n)

(https://thumb.ibb.co/kmUKry/i_lemci_s_r_c_bagli_degil.jpg) (https://ibb.co/kmUKry)

Sürücü çıkışı gnda ve gndb ground'da moslar bağlı değilken: (sarı:high_side, mavi:low_side)

(https://thumb.ibb.co/fvbtJd/mos_cikisi_gnd.jpg) (https://ibb.co/fvbtJd)

Mos'lar bağlı ve mosfet beslemesi kapalıyken: (sarı:high_side, mavi:low_side)

(https://thumb.ibb.co/hNuKry/moslar_bagli_mos_off.jpg) (https://ibb.co/hNuKry)

Moslarda 80V varken gate sinyalleri: (sarı:high_side, mavi:low_side)

(https://thumb.ibb.co/cR09ry/moson_lowhighside.jpg) (https://ibb.co/cR09ry)


High-side ve köprü çıkışı: (sarı:high_side, mavi:çıkış)


(https://thumb.ibb.co/m3z8jJ/mos_on_highside_mosout.jpg) (https://ibb.co/m3z8jJ)

poems by Jeffrey Harrison (https://poetandpoem.com/Jeffrey-Harrison/poems)

Low-side ve köprü çıkışı: (sarı:low_side, mavi:çıkış)


(https://thumb.ibb.co/c22iJd/lowside_mosout.jpg) (https://ibb.co/c22iJd)

80V bağlıyken üst mos alt mos'a göre daha fazla ısınıyor. Girişteki gürültü kuvvetlenerek çıkışta daha büyük etkiye neden oluyor sanırım.
Başlık: Ynt: PWM Sinyalindeki Titreşimler
Gönderen: apsis - 18 Temmuz 2018, 12:49:50
Şöyle bir durum fark ettim. PWM'de dead time var ve işlemci çıkışlarında bu durum gözüküyor. Ancak moslar bağlıyken 3.fotoğraftaki high-side sinyalinin sağında hafif bir eğim oluşuyor. Bu durum mosfetlere de enerji verince daha belirgin oluyor ve mosfetler sanırım anlık bir kısa devreye düşüyor. Acaba doğrumu düşünüyorum?
Başlık: Ynt: PWM Sinyalindeki Titreşimler
Gönderen: tunayk - 18 Temmuz 2018, 13:41:43
Evet  doğru düşünüyorsun.  Gerçek voltaj ve kablolar devreye g
irdiğinde kaçak endüktanslar nedeni ile mos hemen kesime girmiyor. Bu yüzden de besleme gerilimi çok kısa süreliğine kısa devre oluyor.  Aslında akım sinyaline bakıyor olsan muhtemelen durum daha net görünecek. 
Şu durumda dead time değerini uzatıp duruma bakarsın.
Başlık: Ynt: PWM Sinyalindeki Titreşimler
Gönderen: apsis - 18 Temmuz 2018, 14:23:10
Hocam dead-time'ı düşürsem de yükseltsem de her türlü çakışıyorlar. İşlemci çıkışından bir filitreleme yapmam mı gerekli?
Başlık: Ynt: PWM Sinyalindeki Titreşimler
Gönderen: apsis - 18 Temmuz 2018, 14:47:16
static void MX_TIM1_Init(void)
{

  TIM_MasterConfigTypeDef sMasterConfig;
  TIM_OC_InitTypeDef sConfigOC;
  TIM_BreakDeadTimeConfigTypeDef sBreakDeadTimeConfig;

  htim1.Instance = TIM1;
  htim1.Init.Prescaler = 0;
  htim1.Init.CounterMode = TIM_COUNTERMODE_UP;
  htim1.Init.Period = 10909;
  htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
  htim1.Init.RepetitionCounter = 0;
  if (HAL_TIM_PWM_Init(&htim1) != HAL_OK)
  {
    _Error_Handler(__FILE__, __LINE__);
  }

  sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
  sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
  if (HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK)
  {
    _Error_Handler(__FILE__, __LINE__);
  }

  sConfigOC.OCMode = TIM_OCMODE_PWM1;
  sConfigOC.Pulse = 7000;
  sConfigOC.OCPolarity = TIM_OCPOLARITY_LOW;
  sConfigOC.OCNPolarity = TIM_OCNPOLARITY_LOW;
  sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
  sConfigOC.OCIdleState = TIM_OCIDLESTATE_RESET;
  sConfigOC.OCNIdleState = TIM_OCNIDLESTATE_RESET;
  if (HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_1) != HAL_OK)
  {
    _Error_Handler(__FILE__, __LINE__);
  }

  sBreakDeadTimeConfig.OffStateRunMode = TIM_OSSR_DISABLE;
  sBreakDeadTimeConfig.OffStateIDLEMode = TIM_OSSI_DISABLE;
  sBreakDeadTimeConfig.LockLevel = TIM_LOCKLEVEL_OFF;
  sBreakDeadTimeConfig.DeadTime = 128;
  sBreakDeadTimeConfig.BreakState = TIM_BREAK_DISABLE;
  sBreakDeadTimeConfig.BreakPolarity = TIM_BREAKPOLARITY_HIGH;
  sBreakDeadTimeConfig.AutomaticOutput = TIM_AUTOMATICOUTPUT_DISABLE;
  TIM1->CR1|=512;
  if (HAL_TIMEx_ConfigBreakDeadTime(&htim1, &sBreakDeadTimeConfig) != HAL_OK)
  {
    _Error_Handler(__FILE__, __LINE__);
  }

  HAL_TIM_MspPostInit(&htim1);

}
Başlık: Ynt: PWM Sinyalindeki Titreşimler
Gönderen: apsis - 18 Temmuz 2018, 16:07:41
duty'i düşürüp low-sideın pwm'inin kaydığını gördüm nedendir bu?
(https://thumb.ibb.co/fWzvgy/normal.jpg) (https://ibb.co/fWzvgy)

(https://thumb.ibb.co/fWzvgy/normal.jpg) (https://ibb.co/fWzvgy)
Başlık: Ynt: PWM Sinyalindeki Titreşimler
Gönderen: devrecii - 18 Temmuz 2018, 19:59:03
Dostum yukarıdaki resimler çok iyi idi ama son verdiğin resim yanlış,

En alttlaki resimin cpu dan iki çıkışını osiloskopla çekebilirmisin.


İki mosfetin çakışmasını görmek için high side mosfetin  hemen drain yada sourcesine  bir 22ohm gibi bir direnç bağla
ve osiloskopu direncin uclarına bağla (aman dikkat osiloskpu yakma), çakışmayı daha net görebilirsin.

Tabi ilk başta driverda lojik bir problem mi var ona bak sen . Öyle görünüyor.

(VDDA ve GNDA arasındaki voltajı heralde diyot ile veriyorsun ,  orada da voltaj sabit mi? belki düşüyordur bu da chipi yanıltabilir tahmin) 


Başlık: Ynt: PWM Sinyalindeki Titreşimler
Gönderen: apsis - 18 Temmuz 2018, 23:00:36
@iboibo high-side'da mosfet beslmesi yokken besleme gerilimi 15V'u gösteriyor. Mosfetleri besleyince yüksek gerilime çıkıyor.
Başlık: Ynt: PWM Sinyalindeki Titreşimler
Gönderen: devrecii - 19 Temmuz 2018, 00:01:25
VDDA  GNDA arası asla 15v geçmemeli eğer 20-30v geçmişse mosfetin gate bozunuma uğramıştır. Demek ki sorunun bu imiş.


Şu şekilde bağlayabilirsin

(https://image.ibb.co/kFezby/dfdfled.jpg)
Başlık: Ynt: PWM Sinyalindeki Titreşimler
Gönderen: mehmet - 19 Temmuz 2018, 00:34:30
İzolasyonlu dediğiniz IC ile ölçüm
yaparken; aynı anda kontrol GND'si
ve sürücü GND' si scop üzerinden
birleşmiyor mu?

Ayrıca 15V luk zenerler mosfetin
S ve G pinleri arasına konulması
daha uygun olmaz mı?
Başlık: Ynt: PWM Sinyalindeki Titreşimler
Gönderen: apsis - 19 Temmuz 2018, 01:02:15
@mehmet onlar zener değil schottky diyot. Scope üzerinden birleşmiyor gnd'ler ayrı. Birleşse izolasyonun anlamı olmaz.
@iboibo yüksek gerilime çıkması normal zaten boost yapısından dolayı böyle olması gerek diye biliyorum.