yardım - STM32 H köprüsü timer PWM CH1 CH1N çakışması

Başlatan magnetron, 11 Haziran 2014, 18:17:50

magnetron

merhaba forum

STM32 ile basit bir H köprüsünü sürüyorum ve 220 V'un frekansını değiştiriyorum
yaptığım bu
mosfetleri IR2113 ile sürüyorum

ama 5 dk çalıştıktan sonra mosfetlerden biri patladı alttaki de patlamış

bütün mosfetlerin DS arasında 1K ve 100nF seri bağlı snubber var
2 uS dead time da programladım

sormak istediğim

PWM periodunun rastgele bir yerinde compare değerleri değişirse ( bkz aşağıdaki kod )
böyle birşey ( CH1 CH1N çakışması ) olabilir mi ?

yoksa sorun snubber devresinde mi ?

teşekkür

// şimdi aşağıdaki kod main programın içinde çağrılıyor
//freqpot ve pulspot lar ADC girişlerine bağlı
//frekans 25-100 Hz duty de %10-%90 arası değer alıyor

main(){
 
  TIM_TimeBaseStructure.TIM_Prescaler = 99; 
  TIM_ARRPreloadConfig(TIM8, ENABLE); 
...............

while(1){
       Delay(2000) 
       freqdisp=freqpotantiometer/5+250; 
        freq=2*freqdisp  ;duty=90-pulspotantiometer/51; 
        period=7200000L/freq;puls=(period/100)*duty; 
  
        if ((freqold!=freq)||(pulsold!=puls)){ 
        TIM_SetCompare1(TIM8, puls); 
        TIM_SetCompare2(TIM8, puls); 
        TIM_SetAutoreload(TIM8,period);  } 
        freqold=freq;pulsold=puls;


void TIM8_UP_IRQHandler(void){ 
    TIM_ClearFlag(TIM8, TIM_FLAG_Update); 
    TIM_ClearITPendingBit(TIM8, TIM_IT_Update); 
    tim8tog++; 
    if (tim8tog&0x1) { 
    TIM_SelectOCxM(TIM8, TIM_Channel_1, TIM_OCMode_PWM2); 
    TIM_CCxCmd(TIM8, TIM_Channel_1, TIM_CCx_Enable); 
    TIM_CCxNCmd(TIM8, TIM_Channel_1, TIM_CCxN_Disable); 
  
    TIM_SelectOCxM(TIM8, TIM_Channel_2, TIM_OCMode_PWM2); 
    TIM_CCxCmd(TIM8, TIM_Channel_2, TIM_CCx_Disable); 
    TIM_CCxNCmd(TIM8, TIM_Channel_2, TIM_CCxN_Enable); } 
    else { 
    TIM_SelectOCxM(TIM8, TIM_Channel_2, TIM_OCMode_PWM2); 
    TIM_CCxCmd(TIM8, TIM_Channel_2, TIM_CCx_Enable); 
    TIM_CCxNCmd(TIM8, TIM_Channel_2, TIM_CCxN_Disable); 
  
    TIM_SelectOCxM(TIM8, TIM_Channel_1, TIM_OCMode_PWM2); 
    TIM_CCxCmd(TIM8, TIM_Channel_1, TIM_CCx_Disable); 
    TIM_CCxNCmd(TIM8, TIM_Channel_1, TIM_CCxN_Enable); }   
}

Erol YILMAZ

Mcu dan yanlis sinyal ciksa bile IR buna izin verir mi?

superconductor

ir 2113 izin veriyor hocam.ir2113 Bagimsiz high and low side surucu. Bu tur uygulamalarda ir2104 gibi half bridge surucu kullanilmasi bence daha uygun. ayni anda high ve low side anahtarlari iletime sokmuyor cunku.