PWM signal generation for H_Bridge driving with N- Type MOSFET

Status
Not open for further replies.

jean12

Advanced Member level 2
Joined
Aug 27, 2013
Messages
529
Helped
5
Reputation
12
Reaction score
6
Trophy points
18
www.ntigltd.com
Activity points
5,497
Hello every body,can anyone of you help me to design an H_Bridge drive with PIC or any circuit like CD4017 for driving H-bridge with N type MOSFET,
I realized the circuit but by using PIC16F1827 and MOSFET N Type and referring to Tahmid Blog on https://tahmidmc.blogspot.com/2012/10/generation-of-sine-wave-using-spwm-in_10.html but the circuit is not working at all,when I connect it the pin with output of 20KHz goes down so the system becomes off with MOSFET which are becoming very hot.

With **broken link removed**;I tried to tought that I can implement the circuit and control H_Bridge at 50Hz for all 4 signals;but I am having a problem of how I can control when the load become very high.

Thanks,please help.

Here below are the codes I used for programming PIC16F1827 which was generating on its 2 pins a signal of 50Hz and on the other two a signal of 20KHz.
PHP:
/*unsigned char sin_table[64]={0, 7, 15, 22, 29, 36, 44, 51, 57, 64,
71, 77, 83, 89, 95, 101, 106, 111, 116, 120, 125, 129, 132,
 136, 139, 141, 144, 146, 147, 148, 149, 150, 150, 150, 149,
  148, 147, 146, 144, 141, 139, 136, 132, 129, 125, 120, 116, 111, 106, 101, 95,
 89, 83, 77, 71, 64, 57, 51, 44, 36, 29, 22, 15, 7};        */

  unsigned char sin_table[64]={0, 10, 21, 31, 41, 50, 59, 68, 76, 83, 89,
94, 99, 102, 105, 106, 107, 106, 105, 102, 99, 94, 89, 83, 76, 68, 59,
50, 41, 31, 21, 10};

unsigned int TBL_POINTER_NEW, TBL_POINTER_OLD, TBL_POINTER_SHIFT, SET_FREQ;
unsigned int TBL_temp;
unsigned char DUTY_CYCLE;

void interrupt(){
     if (TMR2IF_bit == 1){
        TBL_POINTER_NEW = TBL_POINTER_OLD + SET_FREQ;
        if (TBL_POINTER_NEW < TBL_POINTER_OLD){
           CCP1CON.P1M1 = ~CCP1CON.P1M1; //Reverse direction of full-bridge
        }
        TBL_POINTER_SHIFT = TBL_POINTER_NEW >> 11;
        DUTY_CYCLE = TBL_POINTER_SHIFT;
        CCPR1L = sin_table[DUTY_CYCLE];
        TBL_POINTER_OLD = TBL_POINTER_NEW;
        TMR2IF_bit = 0;
     }
}

void main() {
     SET_FREQ = 340;
     TBL_POINTER_SHIFT = 0;
     TBL_POINTER_NEW = 0;
     TBL_POINTER_OLD = 0;
     DUTY_CYCLE = 0;
      PR2=149; ///for 20Khz at 12MHZ of quartz
      TRISB=0x00;
       CCP1CON=0x4C;
     TMR2IF_bit = 0;
     T2CON = 4; //TMR2 on, prescaler and postscaler 1:1
     while (TMR2IF_bit == 0);
     TMR2IF_bit = 0;
     TRISB=0;
     TMR2IE_bit = 1;
     GIE_bit = 1;
     PEIE_bit = 1;

     while(1);
}

Please help.
 

You need to post a photo of your circuit, and also your circuit's exact schematic.

There are many things that could be done wrong, even if we assume that your code is perfect. Without a photo, it would take many, many questions to try to extract the necessary information that you have omitted from your post.

Do you have an oscilloscope? if so, also post the gate-drive waveforms and any other relevant waveforms.

How much do you know about MOSFETs and H-bridges? What are your knowledge and skill levels?

Have you tried running the MOSFETs with a square or pulse waveform for the gate drive, first?

I have to assume that you already have the MOSFETs properly attached to large heatsinks. Is that correct?
 

Hello,here is the circuit,it uses the Half bridge (made by IRF3205 controlled with a PWM signal from NE555 and CD4027)configuration for stepping up the 12VDC;and then the output after rectification and filtering of 420VDC is chopped with H_Bridge made by MOSFET IRFP460N controlled at 20KHZ by a PWM signal from PIC16F1827,the drive HV400IP are used between that signal generator and the Power MOSFET.

Heatsinks are properly installed and in use,for the moment I am not able to take the graph for PWM signal but I am getting them on the oscilloscope ,but it does not have saving capabilities;
This is my 9th year in those power systems.

Please help.
 

Attachments

  • sch.zip
    53.1 KB · Views: 114

Status
Not open for further replies.

Similar threads

Cookies are required to use this site. You must accept them to continue using the site. Learn more…