On Sat, Nov 21, 2009 at 10:01 AM, Tom Merry <
to3...@gmail.com> wrote:
> around 1.45 amps max and 35 volts.
Hi Tom,
Leaving aside other issues (such as solving your problem!) I want to
point out one important difference between FETs and relays. A relay
can only be on (very low resistance, which means a lot of current, but
miniscule voltage drop) or off (very high resistance, which means a
huge voltage drop, but miniscule current). In either of these cases,
the power dissipated in the relay is going to be quite small, which is
what you want.
A FET, on the other hand, can be in that high resistance state, or the
low resistance state, or anywhere in between, depending on the voltage
on the gate pin. It's the "in between" state that you have to worry
about, because in this state, you can be passing a lot of current with
a large voltage drop, which means the FET will be dissipating a lot of
power.
Speaking from experience, in my work we have a FET controlling several
hundred LEDs, not unlike your Christmas tree scenario. I had a
situation during the week where the FET was unintentionally in that
half-way state. Let's just say that there was a room full of acrid
smoke, and a mad dash for the power switch.
So, in high power situations, you generally want to avoid that
half-way state, as you want the FET to more closely emulate the
behaviour of a relay. How do you do that? Well, the conductivity of
a FET is dependent on the voltage on its gate pin. So you want to
make sure that the voltage is either "high" or "low", but not in
between.
The cheapest way to do this is to program your Arduino properly: If
your Arduino software sets the mode of the pin driving the FET to be
an output, then you'll be pretty safe. But if there's a software
fault and it's not set to output, or the wire between the Arduino and
the FET breaks, that gate pin could find itself at any voltage and you
potentially have that half-way power problem.
The easiest way to solve the problem (as compared to the cheapest way)
is to have a 100k ohm resistor which connects between the gate, and
the ground, or the gate and the power supply. In the event where the
Arduino is not pulling the gate pin voltage high or low, the resistor
will ensure that the gate pin voltage is not "floating", and will
"pull" the voltage high or low, and out of that danger region.
Note, I'm not an electrical engineer. Others may jump in and give you
alternative advice. Ask around, enjoy learning.
Mitch.