How do I drive high current 12V using arduino Arduino?

This is probably a very gray area to get into, especially when arduino and high current 12V is involved. Regardless, I am looking for something better than what I have right now.

For almost two years now, I have used Arduino to control 12V relays to switch high current 12V. Arduino IO is connected to 2n2222 NPN through 1k Ohm resistor. Emitter connected to ground, and collector is connected to one of the relay’s coil terminals. Other coil terminal is connected to terminal 30 which is the source of 12V (battery). For a while I had diode between coil terminals, but have switched to relays that have internal diode.

Worked great for two years, so what is the problems? None, except that I would rather not have power drained from Arduino’s IO pin, and switch to some sort of latching mechanism. If there were 12/14V 50A latching relays, I would have done it already so, but unfortunately that is not the case.

I would love some ideas to accomplish the same thing with some sort of latching mechanism instead. One thing that has just came to mind is using mosfets with arduino and npn transistor as push button to build latching/toggle power circuit. However, I am no electrician so I will start researching.

Here is how I would approach the problem of latching a relay that interfaces to an Arduino board. I would use an insulated gate FET (IGFET) like the 2N7000 or BS170 as the switching device. Both have similar characteristics as the 2N2222A bipolar transistor, but, require a much smaller current and work great with a 3.3 to 5 volt control voltage.

The relay is between the 12 volt source and the drain of IGFET. Yes, the relay still needs a diode in parallel with the relay coil to prevent the turn off transient from destroying the switching device whether its a

bipolar or field effect transistor.

There is a 10 kilo-ohm resistor from the gate of IGFET to ground, effectively a pull down resistor. The Arduino output connects to gate through a diode (preferably a 1N4148 or 1N914 switching diode). From the IGFET gate to the load connection of the relay (that gets turned on when the relay contacts close), there is a 10 kilo-ohm

resistor. This provides a connection to the 12 volt supply to keep the IGFET turned on after the Arduino output pin goes low. The diode prevents the Arduino output from seeing the 6 volts at the gate of IGFET when it is “latched”.

Once the relay is latched, one needs another Arduino output to turn the relay off. One needs to isolate the Arduino output with another transistor either 2N2222 or another IGFET device. For this example, I will use a

2N2222 bipolar transistor. The collector of the 2N2222 goes to the gate of the IGFET connection to diode and 2 10 kilohm resistors. The 2N22222 emitter is connected to ground. The Arduino output that turns off the relay is

connected to the base of 2N2222 through 4.7 kilohm resistor. Applying +5 volts from the Arduino output to the 4.7 kilohm resistor will turn off the IGFET and stop the current through the relay coil with the result of opening the relay contacts between the load and 12 volt supply.

The Arduino outputs must be high long enough for the relay contacts to either open or close. My starting point would be to hold the voltage at the output for 100 milliseconds.

I hope this is a help.

Enjoy life, Greg

Live Well, Laugh Often, Love Much

P1X3:
Worked great for two years, so what is the problems? None, except that I would rather not have power drained from Arduino’s IO pin, and switch to some sort of latching mechanism. If there were 12/14V 50A latching relays, I would have done it already so, but unfortunately that is not the case.

I would love some ideas to accomplish the same thing with some sort of latching mechanism instead.

May I ask why ? Why a latching mechanism just to relieve the Arduino from having to drive the pin ? As noted above, you'll then need another pin to unlatch the circuit or have power removed via another path. Are you trying to get rid of the Arduino and have an all manual (push button) latching solution ? Or ??

I ask because there are a multitude of ways to do what you apparently want. Sometimes it helps to have the “big picture”.

ps - are the coil voltage and the switched voltage both 12-14v DC ?

If the switch has a high or low duty cycle (almost always on or off exclusively) using a latching reed switch will only rarely require current from the arduino during the actual switching phase. [Switching Solutions Requiring Little or No Power

If you want something that is generally more compact and solid state based, driving a small transistor with the arduino then driving a large relay with the transistor is a relatively simple way to switch very high power with almost no draw on the arduino. A smallish example can be seen here https://www.sparkfun.com/products/13218. A higher power version with a few hundred watts per channel can be seen here http://www.ebay.com/itm/291365346530.

If you are making your own circuit, you are mostly just limited by the relay ratings, which can be stupidly high if you wish.](powercircuits.net - powercircuits Resources and Information.)

Another thing to keep in mind is if you use a solid state relay you can not use a zero-crossing model for DC or else it will never turn off once engaged.

powercircuits:
Another thing to keep in mind is …

I think the OP is long gone. His post was another hit'n'run.

I wonder where all these new experts are coming from…? They have been digging up alot of threads lately…