Hey y'all, I've got a problem with a 12v dc motor circuit I put together. I'm driving the motor with a hefty N-channel TIP120 transistor paired with a DPDT relay for flipping its direction. I know, probably not the best approach, but I already made the PCB and like using relays. Problem is this: whenever I start the motor quickly or with resistance (putting a load on it), my transistor blows. My best guess is that starting the motor produces a quick high-current surge before leveling out, but I'm not sure on how to fix this. I initially thought of using some sort of diode, but I thought these were only crucial when stopping the motor quickly.
I attached a picture of the motor-driver portion of my schematic, along with the entire schematic if it's any help. Sorry if this is a basic question, but any help is appreciated.
A TIP 120 is not a FET it is a transistor. Have you looked up the current rating?
It is a Darlington pair which means it gets a double dose of emitter / collector voltage drop which means it will get very hot. You need to use a logic level FET.
Yes motors do have a current surge when starting up, it is called the stall current. You need to be able to deal with it. There is no magic bullet to stop this from happening. What is the stall current if your motor?
Have you a link to the specification of the motor ?
An H bridge circuit would be more usual in this application and you already appear to be using some in other parts of your circuit.
If you choose to use a mosfet instead of the TIP120, be careful because your choice is limited if you drive the gate from a 3.3 or 5.0 volt MCU pin. Look for 'logic level' devices.
I'm sorry, not sure why I put MOSFET in the title. Edited it
I wish I knew the motor part #, I attached a couple pictures if that's any help, but I don't know the stall current. The numbers printed on the motor are pretty faded and I couldn't find anything from them.
It's real late, so I'll clamp it and hook up an ammeter to the thing tomorrow to try to approximate the stall current.
It's real late, so I'll clamp it and hook up an ammeter to the thing tomorrow
No need, just get your DVM and measure the coil resistance. Then use ohms law to work out the current at the voltage you are going to use it at. That will be the stall / start up current.
The 10k resistors driving the TIP120s are probably wrong - should be 1k or 470 Ohms as should those driving the relay control transistors.
The reversing relay connections are the wrong way round, - the NO and NC contacts should connect to the supply and control transistor, with the commons going to the motor.
Grumpy_Mike:
No need, just get your DVM and measure the coil resistance. Then use ohms law to work out the current at the voltage you are going to use it at. That will be the stall / start up current.
Paul__B:
The reversing relay connections are the wrong way round, - the NO and NC contacts should connect to the supply and control transistor, with the commons going to the motor.
I believe both approaches would work fine, never tried it that way but it makes sense. I've always wired it this way with no reversal problems.
Let me point out that the relay contacts will not need that much protection because you are not going to reverse the motor while it is running and therefore not while it is powered.
Therefore a diode between 12 V and the TIP120 before the relay is the simplest.
Awesome, I'll order a couple of these and post how they work out.
Paul__B:
Let me point out that the relay contacts will not need that much protection because you are not going to reverse the motor while it is running and therefore not while it is powered.
Therefore a diode between 12 V and the TIP120 before the relay is the simplest.
Right, although it would work well as a fast brake, I can't imagine the back emf from doing that, not to mention the mechanical strain
I've got a bunch 1N4007 rectifier diodes, so I'll probably just wire one of those in before the relay. Would this have any issues since I'm using PWM on the FET?
raschemmel:
Why don't you just get a bidirectional DC motor
ESC from a hobby store ?
Nah, I scrapped this one for free from a printer and its got plenty of power for my project (using it to pull a set of curtains open and closed).
Just received a few IRLZ44N mosfets and they worked great. No significant heat either. Also the diode between 12 V and the transistor seems to be helping.
Thanks again for the help everyone!
TomGeorge:
Hi,
How about a fuse in the 12V supply to the motor?
What are you using as a 12V power supply?
Im using a 12v, 2amp AC adapter (wall wart). Its had no issues so far, even when I hook up larger loads. Not sure if it's fused.
raschemmel:
Reread my post .
I said DC motor ESC, (Electronic Speed Control),
not dc motor.
I know you did, but ESCs tend to be more expensive (and need a more advanced controller) and I already have a bunch of strong dc one lying around.
Paul__B:
The 10k resistors driving the TIP120s are probably wrong - should be 1k or 470 Ohms as should those driving the relay control transistors.
The reversing relay connections are the wrong way round, - the NO and NC contacts should connect to the supply and control transistor, with the commons going to the motor.
Seconded, these are very important corrections. 10k is far too high for a base resistor in any power circuit.
The relay driver base resistor R15 should be about 500 ohms or so, the TIP120 resistor R13 perhaps 1k.
BJTs have a gain of only 10 or so for switching, darlingtons about 1000. Switching uses the saturation
region which doesn't obey the small-signal current gain at all.
As for the relay connection - the way its drawn now if one set of relay contacts welds shut then
when it switches it will short the 12V supply directly to ground. Only the NO/NC contacts are
guaranteed never to short to each other, so they go at the power supply end, the COM terminals
to the load.
My main change was swapping my TIP120s to IRLZ44N power transistors. I also changed the transistor base resistors to something a lot smaller 200 (ohm), and added a flyback diode between the MOSFET's drain and +12v.
I didn't make the change suggested by Paul and Mark regarding flipping the relay because I've got a pretty beefy high current one and I'm not worried about it welding. I would change it, but Its already on a PCB. In future projects, I will make this change.