Friday, January 7, 2011

PCB for ATMEGA Inverter

Hi everyone,

Here I give the PCB for my design:

Top and bottom:



Bottom Copper:



Top Silk:



The PCBs were then modified by a professional. I hope to upload those soon as well. These are the ones I designed myself. As I am not a professional at PCB designing, the boards became slightly large.

Tahmid.

12 comments:

  1. Please give us the schematic and code.
    Regargs.

    ReplyDelete
  2. where is the schematic MR tahmid and the code

    ReplyDelete
  3. Pls help with schematic with code here is my email: abduldesigner007@gmail.com

    ReplyDelete
  4. Hello, kindly share the controller hex file or C code.

    ReplyDelete
  5. hello Mr. Tahmid , I am ravi kumar yadaw from chennai(India). Do you have any idea about 18 scr based 3 phase to 3 phase cycloconverter. if yes then please send pulse pattern for gate control and how to change frequency as well as firing angle... please reply fast .. i am using FPGA (SPARTAN6) as a controller. i am waiting for your positive response.

    ReplyDelete
  6. This is very nice I want to build this but I can't see the codes sir please sir upload them.

    ReplyDelete
  7. //----------------------------------------------------------------------------------------
    //Programmer: Syed Tahmid Mahbub
    //Target Microcontroller: PIC16F684
    //Compiler: mikroC PRO for PIC (Can easily port to any other compiler)
    //-----------------------------------------------------------------------------------------

    unsigned char sin_table[32]={0,25,49,73,96,118,137,
    159,177,193,208,220,231,239,245,249,250,249,245,
    239,231,220,208,193,177,159,137,118,96,73,49,25};


    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 = 410;
    TBL_POINTER_SHIFT = 0;
    TBL_POINTER_NEW = 0;
    TBL_POINTER_OLD = 0;
    DUTY_CYCLE = 0;
    ANSEL = 0; //Disable ADC
    CMCON0 = 7; //Disable Comparator
    PR2 = 249;
    TRISC = 0x3F;
    CCP1CON = 0x4C;
    TMR2IF_bit = 0;
    T2CON = 4; //TMR2 on, prescaler and postscaler 1:1
    while (TMR2IF_bit == 0);
    TMR2IF_bit = 0;
    TRISC = 0;
    TMR2IE_bit = 1;
    GIE_bit = 1;
    PEIE_bit = 1;

    while(1);
    }
    //-------------------------------------------------------------------------------------
    PLZ CONVERT INTO HEX
    PLZZZZZZZZ

    ReplyDelete
  8. //----------------------------------------------------------------------------------------
    //Programmer: Syed Tahmid Mahbub
    //Target Microcontroller: PIC16F684
    //Compiler: mikroC PRO for PIC (Can easily port to any other compiler)
    //-----------------------------------------------------------------------------------------

    unsigned char sin_table[32]={0,25,49,73,96,118,137,
    159,177,193,208,220,231,239,245,249,250,249,245,
    239,231,220,208,193,177,159,137,118,96,73,49,25};


    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 = 410;
    TBL_POINTER_SHIFT = 0;
    TBL_POINTER_NEW = 0;
    TBL_POINTER_OLD = 0;
    DUTY_CYCLE = 0;
    ANSEL = 0; //Disable ADC
    CMCON0 = 7; //Disable Comparator
    PR2 = 249;
    TRISC = 0x3F;
    CCP1CON = 0x4C;
    TMR2IF_bit = 0;
    T2CON = 4; //TMR2 on, prescaler and postscaler 1:1
    while (TMR2IF_bit == 0);
    TMR2IF_bit = 0;
    TRISC = 0;
    TMR2IE_bit = 1;
    GIE_bit = 1;
    PEIE_bit = 1;

    while(1);
    }
    //-------------------------------------------------------------------------------------
    PLZ CONVERT INTO HEX
    PLZZZZZZZZ

    ReplyDelete
  9. Can we use this spwm code for 3 phase inverter with required switching frequency is 20 kHz

    ReplyDelete
  10. Please send me the schematic and code...i want to try it...by the way i'm from indonesia....this is my email (hery.potler@gmail.com)

    ReplyDelete