Electronic – Power BJT Transistor in motor driver keeps burning

drivermotor

The power transistor 2N3055 keep getting damaged after connected for a couple seconds to this circuit. I would like to know what could be the cause.

I soldered this circuit for a 6-wire stepper motor (every coil has measured 2ohm resistance) in a perfboard. So the full system is basically this one replicated 4 times (since two wires are driven to +12V, the coils are intented to be connected to GND by the opposite end, and this connection to GND is performed by my circuit. Before making the circuit, I manually tested the motor with a 12V, 5A DC supply and its working fine.

enter image description here

The circuit was working fine with 4 little power transistors TIP31, which are rated for a current of 3A, but they were heating too much and also the datasheet shows they can drive an IC of 5A pulse current which is less than the 6A that this motor is needs (since the voltaje is 12V, and the coil resistance is 2ohm). So I replaced the TIP31 with big 2N3055s, but those keep getting damaged as soon as I connect the digital outputs of the Arduino (which also got damaged). The motor stops spinning without completing a single rotation and when I measure them with the diode function of the multmeter, the emitter seems to be damaged. I can see 0.6V between Base and Colector but 0V for Base-Emitter. So they are definetively out of operation a few seconds after circuit is energized. I am using pulses of 100ms width from the digital outputs for every coil, following the sequence I already manually tested .

The 2N3055 are attached to heatsinks I got from computer, and I am pretty sure is not because of overheating, because I used good thermal paste and also I am sure they are not shortcircuiting thru the heatsink, which is cool all the sime since I am paranoid and keep my hand close to them to check.

The circuit works good with a small 5V motor from toy car, but cannot work with powerful motor and I dont know why. These are my theories:

a. Overheating => but the heatsink is cool, I dont feel in my nose the odor of heating – also it takes a while to burn down a transistor.

b. Freewheeling diode not working => but I measure the anode-catode voltaje with diode tester of multmeter and it indicates 0.7V. I havent changed the diodes since I made the board first time.

c. The 2N2222 => but they seem to be ok too. I havent replaced them from the first time I soldered them.

d. A special thing that I havent taken into account.

I wonder why do they get roasted while the tiny TIP31 worked well. I also wonder why did digital outputs of arduino died, if they are driving the 2N2222 so no direct connection to power transistor.

Adding new info

Current gain is 20-50 for TIP31 and 20-70 for 2n3055, thats the reason cause I need the 2n2222 as predriver.

About supply bulk capacitance, I dont know how to measure it. Im using one of those universal laptop charger that have a voltaje selector. I guess its switching type. The bulk capacitor must be laaarge, since the power led stays on for almost a minute after I unplug it.

Edit #2: adding pictures of the circuit

enter image description here
enter image description here
enter image description here
enter image description here

enter image description here

Best Answer

I am not the biggest expert on BJT's, but they are reliant on the current going into the base. The smaller part might require less current into the base for higher collector current. This explanation means that your big transistors never broke, they just never allowed enough current for the motor to move.

You have 2 BJT where you need to figure out the current gain from the first stage, and calculate if this will be enough current for the second stage, to rotate the motor.

In any case I would get into the MOSFET world instead, they are much easier to use and understand. You can get away with measuring the voltages at the gate node, instead of measuring the current into the BJT gate.