I was wondering what the best way to run a solenoid would be from an Arduino board. I was thinking about using a MOSFET that runs into a relay to turn on the solenoid but am not sure how to go about it.
|
You can drive the solenoid using only the MOSFET (or a bipolar transistor)
The resistor can be ~10k - 100k (the range can be wider as Steven notes, e.g. 1k\$ \Omega \$ - 10M\$ \Omega \$ - too high a resistance and you risk susceptibility to noise though), it's to make sure the gate is pulled to ground if the input is floating. The diode can be almost any general purpose diode capable of handling a reasonable amount of current. Darlington Version:
|
|||||||
|
|
If the solenoid needs an AC drive you'll indeed need the relay, otherwise you can directly drive the solenoid with the MOSFET. They're the same kind of load.
Oli suggests 10 kΩ to 100 kΩ for R2, but you can even use a 1 MΩ for this. Make sure that you have a logic FET. Other FETs may need a too high gate voltage to turn on. A relay may need around 50 mA or less, a solenoid probably a couple of hundreds of mA. Select a FET with a low \$R_{DS(ON)}\$, so that even at higher currents dissipation will be low. FETs with an \$R_{DS(ON)}\$ of less than 200 mΩ are perfect and well available. If the relay/solenoid needs 24 V or less the Si2304DS is a possibility: \$R_{DS(ON)}\$ is less than 200 mΩ, so even at 1 A it will dissipate only 200 mW. Can drive more than 1 A at 3 V gate voltage. |
|||
|
|

