Has anybody used any FETs that can be controlled by the BBB GPIO? I tried a few FETs that were lying around, but the BBB gpio just cannot turn them on. Thought about hanging a BJT off the gpio, then driving the gate with that … but I’d like to keep this to 1 FET per gpio.
I’m just looking for 1A -to- 2A to drive a little relay.
With the gpio connected directly to the relay, I can hear the click of the relay…but it just cannot close the switches.
The GPIO does not have the current drive for a FET that has that much current. You might try a level conversion, like what is used to turn on the LEDs on the board.
Your FETs may have too high threshold voltage. Try to find a
transistor with lower Vth. Remember that bigger FETs require a lot of
current to switch quickly. Pins on BBB may not be able to supply it
and you will end up with big power losses in the transistor, which may
get pretty warm when toggled frequently. The transistors will also
become hot very quickly if the Vth will be too close to the gate
voltage. Did you think about using motor drivers like SN754410 or L293
instead of transistors? They should be simpler to drive and will take
less space on the board.
I’m not using the gpio to drive that much current…just to control the gate turn the FET on/off. I changed some resistor values (between the Drain & Gate) and got it functioning. I still need to see what I can actually drive from my circuit now, but it’s probably sufficient for what I’m doing. So my single FET is basically a level conversion to +5V.
You still need to charge up the gate capacitance, and larger FETs have
higher capacitance. If you're not careful (e.g. don't have a serial
damping resistor in the gate circuit), you can briefly exceed the
current limits of whatever is driving the FET gate. Of course this is
a dynamical process and the current will eventually decay to zero
after the gate is charged.
FETs have several parameters you would care about in this case.
There is the gate cap and then there is the threshold. You could
be failing either of these. Prehaps a power darlington instead of
FET might be easier?
I am using FDV301N FET driven directly from CPU output. This is logic level N-channel FET which can then easily interface to 5V circuit or higher power P channel FET for example. The key is logic level gate drive which will operate from 3.3V.
I am using a BS170 which is a N channel enhancement mode FET, i use it to drive a high power LED at 3.3 volts, the led takes about 60m Amps and i drive it with software PWM on pin 8_13 (i had to write my own pwm because i could not get the hardware pwm in 3.8 kernel to work). It works like a charm. FET’s open on voltage not current so it should work ok. Never use the GPIO on these chips to drive anything more than a led as they can source very little current and you will burn them quickly.
FETs are controlled by the electric field created by the gate, and
gate and the channel form a capacitor. BS170 is a tiny transistor and
the charge held by the gate is microscopic, so the current needed to
recharge the capacitor is minimal.
In high-current FETS the channel and the gate electrode are much
bigger and the capacity of the capacitor is also much higher. It is
impossible to quickly toggle such device controlling it from a device
supplying to the gate only a small current. The transistor will remain
for a long time in "half-on" state dissipating a lot of power, what
may lead to its destruction. That's why you need to use drivers
capable to supply many apms to the gate, only to control a device that
in steady-state consumes no power.
He’s trying to turn a relay on, not a dc motor. I think he misspelled the 1A, 2A as he said that he connected the relay directly to the gpio and heard it move, it’s probably a small 5v relay. He doesn’t need high current FET’s for a 5V relay.