I've been working on a project that involves a very simple potentiometer-based control of an external element that is powered by basically a laptop adapter, which would be in the range of 200W (around 20V and 10A). The basic idea is for me to use the Arduino to turn a transistor on and off, controlling the circuit. I have already made the program and know that it works as intended for a circuit consisting of a LED powered by 5V, but my first test for the full circuit was unsuccessful. For starters I now know that I need an actual high power transistor as opposed to the super small 2N2222 transistor I first tried using, which is why I'm thinking of using an IRFZ44N MOSFET. I am powering my Arduino through a wall USB charger with a mini USB cable.
I basically have two questions at this point:
Would this transistor work for this use? I'm pretty sure that it should be able to be activated by the low power Arduino and that it can take the 20V-10A power I'm thinking of, but wanted to double check before I waste my money again on elements that don't work for my purposes.
What do I need to consider for grounding my circuit? The current circuit I tried looks like this (see image below), but I understand that the transistor needs to somehow share the ground with the Arduino or it won't work. Is it as simple as making the negative side of the high-power circuit touch the ground on the Arduino? Or should I connect the ground of the Arduino directly to physical earth in the same way that the laptop charger has the third prong for physical earth? I would like to know what to do before trying something that will fry my Arduino...
Didn't even know there was a difference between high and low side switches, my transistor knowledge is basically non-existent as you might be noticing... This makes sense, so then basically what I have to do is:
Change the transistor from the + to the - side of the higher-power circuit.
Make sure that i connect the legs following a low side switch configuration.
Connect the - side of the high power circuit to the GND of the Arduino.
In addition to this, you need to change to an IRLZ44 since the IRFZ44 will not saturate (turn on completely) with the 5V from an arduino pin and you'll let the magic smoke out.
Also, if you plan on controlling this load with PWM, a similar problem arises: arduino can't drive the IRLZ44 on/off fast enough to keep the smoke inside. So I'd recommend using a motor driver that can handle the current. Motor drivers solve all of these problems and are probably much better for beginners than using FETs.
The easiest solution would be a solid state relay. A relay is an electrically-operated and electrically isolated switch.
You'd need one that can be controlled by 5V and one that can switch 10A or more. (It's a good idea to get one that's over-rated, maybe one rated for 20A.)
A regular electro-mechanical relay will also work (for on/off control) but the Arduino can't directly power a relay coil so you need a driver circuit. ...It's similar to the problem you're facing now, but relay drivers can be lower voltage and just a few milliamps. You can get relay boards with a built-in driver.
Relays are isolated but you do need a ground on the coil-side (or input/control side of a solid state relay).
Or, here's a MOSFET motor driver circuit.. (It's a "low-side" controller, and yes it needs a common ground shared with the Arduino).
The problem with a high-side MOSFET driver is that requires a nearly-zero Gate-Source to turn OFF. Similarly, a regular bipolar transistor requires zero Base-Emitter voltage to turn off. With a 20V supply that means 20V, and for that you need at least another transistor.
Thanks everyone for your comments, I really appreciate them! Since I don't really care about having a PWM or a high-speed turn on-and-off (really I won't be changing the current for any rate higher than ~10-100Hz), I am hoping that the IRLZ44 in the low side will be enough for what I need. I'll also add a diode for making sure there's no spurious current, and all the necessary resistors. Should get the components during the week and hopefully will get a chance to take a stab at the project next weekend, I'll upload the new circuit if it works. If it doesn't, it seems that maybe the easiest thing to do will be to get a motor driver, although I think and hope that the IRLZ44 will be a cheaper and sufficient solution for my needs.