0
\$\begingroup\$

Before some days I have taken a look at circuit which controls AC current's frequency. That circuit was a VFD which looks like:

schematic

simulate this circuit – Schematic created using CircuitLab

But this circuit is for controlling 3 Phase motor.

So, I tried to make a similar one that can control a single phase load, like a bulb.

So, I created the below shown circuit:

schematic

simulate this circuit

And here is the sketch of arduino to give pulses to Gate of IGBTs:

int Phase1TransistorA = 2;
int Phase1TransistorB = 3;
int Phase2TransistorA = 4;
int Phase2TransistorB = 5;

int t = 4; //time in seconds
int T = 1000 / t;
int p = 1028; //number of duty cycles of pwm to create half ac-cycle.

void setup()
{
  pinMode(Phase1TransistorA, OUTPUT);
  pinMode(Phase1TransistorB, OUTPUT);
  pinMode(Phase2TransistorA, OUTPUT);
  pinMode(Phase2TransistorB, OUTPUT);
}

void loop()
{

  for (int i = p; i >= 1; i--)
  {
    digitalWrite(Phase1TransistorA, HIGH);
    digitalWrite(Phase2TransistorA, HIGH);
    delay(T / (p * i * 2));
    digitalWrite(Phase1TransistorA, LOW);
    digitalWrite(Phase2TransistorA, LOW);
    delay((T/ (p * 2)) - (T / (p * i * 2)));
  }

  for (int i = 1; i >= p; i++)
  {
    digitalWrite(Phase1TransistorA, HIGH);
    digitalWrite(Phase2TransistorA, HIGH);
    delay(T / (p * i * 2));
    digitalWrite(Phase1TransistorA, LOW);
    digitalWrite(Phase2TransistorA, LOW);
    delay((T/ (p * 2)) - (T / (p * i * 2)));
  }

  for (int i = p; i >= 1; i--)
  {
    digitalWrite(Phase1TransistorB, HIGH);
    digitalWrite(Phase2TransistorB, HIGH);
    delay(T / (p * i * 2));
    digitalWrite(Phase1TransistorB, LOW);
    digitalWrite(Phase2TransistorB, LOW);
    delay((T/ (p * 2)) - (T / (p * i * 2)));
  }

  for (int i = 1; i >= p; i++)
  {
    digitalWrite(Phase1TransistorB, HIGH);
    digitalWrite(Phase2TransistorB, HIGH);
    delay(T / (p * i * 2));
    digitalWrite(Phase1TransistorB, LOW);
    digitalWrite(Phase2TransistorB, LOW);
    delay((T/ (p * 2)) - (T / (p * i * 2)));
  }

}

When I tried to power up the bulb, the first pair of IGBTs died silently even without heating. I would like to know Why this happened and the steps to solve the problem.

The pair of IGBTs that died:

enter image description here

\$\endgroup\$
  • 4
    \$\begingroup\$ If it was connected like that then it is a wonder your Arduino didn't get killed too. Same for the the diodes. If you are unfamiliar with basic electronics you shouldn't get involved with circuits directly powered from mains. \$\endgroup\$ – jippie Nov 27 '15 at 18:26
  • \$\begingroup\$ I am wondering what IGBTs you used. It is possible you got a voltage reflection from mismatch. The reflected voltage doubles the peak and maybe overloaded it. \$\endgroup\$ – mcmiln Nov 27 '15 at 18:29
  • \$\begingroup\$ Yeah, I am thinking it is a high transient. There are no optocouplers in here for protection either. See if you can measure the peak voltage draw. \$\endgroup\$ – mcmiln Nov 27 '15 at 18:33
  • 1
    \$\begingroup\$ @Vishal google octocoupler IGBT protection. It will give you a good basis for problems in these circuits. I have edited this due to a good answer below. Many good points put forward. Don't be discouraged though, just go trough, make some changes, and be careful. \$\endgroup\$ – mcmiln Nov 27 '15 at 18:51
  • 1
    \$\begingroup\$ @Vishal No problem at all and of course feel free. \$\endgroup\$ – mcmiln Nov 27 '15 at 19:06
9
\$\begingroup\$

Multiple problems. It sounds like you don't really understand HV electronics, and I suggest you stop before you get injured or worse. Your circuit is dangerous (to you, your Arduino and your computer).

Your 1N4001's are only rated to 50 V -- you should use 1N4007's if you need diodes.

You have nothing to limit inrush current when plugged in to the mains -- likely will blow the bridge rectifier also.

But - you don't need diodes to drive IGBTs. You only need the anti-parallel diodes if you are driving inductive loads (or very long wires).

The IGBTs won't turn off fast enough -- there is nothing to discharge the gate.

You can't drive the high-side IGBTs like that. You need a level shifter.

3.3 V isn't enough to drive an IGBT. Most need 5 .. 10 V.

You don't need an H-bridge to drive an incandescent light -- just a single low-side switch. That could be an IGBT, MOSFET (need rated > 450 V for US 110 V applications, > 700 V for 220 V mains supplies), or a triac (which is commonly used, but is best with a different type of controller).

I RECOMMEND THAT YOU STOP DOING THIS UNTIL YOU UNDERSTAND THE HAZARDS INVOLVED.

\$\endgroup\$
  • 3
    \$\begingroup\$ +1. Working with HV with seemingly no concept of how to design circuits, especially how to drive IGBTs, is simply a recipe for death. \$\endgroup\$ – Tom Carpenter Nov 27 '15 at 18:50
  • \$\begingroup\$ Sorry, I used 1N4001's. But the reason behind that was when I went to shop for diodes, the shopkeeper told that he does not have any 1N4007's in stock & told me that I should use 1N4001. He also told me that 1N4001 & 1N4007 can be used interchangably & due to his confidence I even not bothered to check the datasheet. \$\endgroup\$ – Vishal Nov 27 '15 at 18:50
  • \$\begingroup\$ I have not used diodes to drive the IGBT, but I thought that if IGBT gets shorted and the current flows from collector to Gate instead of Collector to Emitter, then that diode will protect my arduino. \$\endgroup\$ – Vishal Nov 27 '15 at 18:52
  • \$\begingroup\$ @Vishal "I even not bothered to check the datasheet". If you want to be an engineer or work with electronics, that is a terrible approach. Did you sit down and explain to the person in the "shop" your circuit? probably not. In which case they are in no position to make such recommendations. \$\endgroup\$ – Tom Carpenter Nov 27 '15 at 18:53
  • 1
    \$\begingroup\$ @TomCarpenter I really feel shame on myself. I will do check the datasheets in future. Thanks for any help. \$\endgroup\$ – Vishal Nov 27 '15 at 18:54
3
\$\begingroup\$

IGBT gate need to be discharged to turn it off.

It works like a capacitor so you charge it to turn on the IGBT and discharge it to turn it off.

Also the IGBT would not be turned fully on as the gate would only reach 5v (or about 4v since you have a series diode).

This is the reason the IGBTs failed silently as they would be passing a large amount of power in partial conduction, which they are not designed to do.

In your code you partially turn on the first 2 creating a partial short across the supply (which would blow them) so these went first.

I'm guessing you had a fuse in the plug which also blew due to the partial short, thus saving the other IGBTs.

You need to do more research in the operation of IGBTs. I would try some low power simple circuits first.

\$\endgroup\$
  • \$\begingroup\$ Thanks for the answer. Can you please tell me the part numbers for transistors, diodes, coil, capacitor and motor to try this thing with low voltage? \$\endgroup\$ – Vishal Oct 23 '18 at 15:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.