Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

PWM signal generation for H_Bridge driving with N- Type MOSFET

Status
Not open for further replies.

jean12

Advanced Member level 2
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

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top