0
\$\begingroup\$

I have twenty 12V/450mA Solenoid Valves that I am trying to control using RFP30N06LE MOSFETs (n-type) as switches controlled by a Raspberry Pi 4B+.

The gate threshold voltage of the MOSFETs are between 1V and 2V, and the Raspberry Pi GPIO pins output 3.3V, so I know thresholding shouldn't be the issue. The MOSFETs we're also all tested on a sample circuit before hand and worked properly.

The 12V DC power supply for the solenoids has enough max current (10A) to operate all the solenoids simultaneously, so I know that shouldn't be an issue either.

The wires from the Raspberry Pi GPIOs each have a 10K pull-down resistor. The Raspberry Pi also has one of its GND pins connected to the DC- of the 12V power supply.

I am relatively new to learning about transistors, so I am hoping there is an obvious mistake I am making. Attached is a sample schematic of the circuit with only 3 MOSFETs instead of 20, for simplicity.

The system isn't working. Over half of the solenoid valves won't even fire. The ones that do fire are extremely weak.. Wondering if there is something wrong with the circuit as I have it set up? Example Schematic

\$\endgroup\$
11
  • 3
    \$\begingroup\$ What exactly is the question? \$\endgroup\$ Commented Sep 16, 2021 at 0:44
  • \$\begingroup\$ The system isn't working. Over half of the solenoid valves won't even fire. The ones that do fire are extremely weak.. Wondering if there is something wrong with the circuit as I have it set up \$\endgroup\$ Commented Sep 16, 2021 at 0:50
  • \$\begingroup\$ @ianjms the description of the problem belongs in the question not in comments ... this is a Q&A site, not a forum ... at the end of the day, there should be no comments, only a clear question wirh supporting information and answers \$\endgroup\$ Commented Sep 16, 2021 at 1:07
  • \$\begingroup\$ Ok, I didn't realize I didn't include an actual question. \$\endgroup\$ Commented Sep 16, 2021 at 1:10
  • \$\begingroup\$ Have you measured the voltage at the gate of the MOSFETs w.r.t GND to verify you're getting high enough voltage? On a similar note, you mention the threshold voltage as if it is the voltage you need to turn on the MOSFET. In this case, you're fine, but you should really look at the VGS(on) or RDS(on) specs or the ID vs VDS curves to know what voltage to use as a turn on signal. \$\endgroup\$ Commented Sep 16, 2021 at 1:11

3 Answers 3

1
\$\begingroup\$

You say that "The gate threshold voltage of the MOSFETs are between 1V and 2V" but I'm not sure that is as simple as that.

Looking at the specsheet for the RFP30N06LE, which by the way is an old part so not as high performance as modern parts, the 1 to 2V threshold is qualified with a drain current of 250 micro-amps (row 2 of the Electrical Specifications table).

Looking at the transfer and saturation characteristics, they are all qualified with very short pulse durations, 80 micro-seconds, 0.5% duty cycle. I wonder if the MOSFET has some weird Rds characteristic so it doesn't perform as well in a steady-state situation. If possible, move some MOSFETs around, if the problem goes with the MOSFET, then it's probably the part. I would definitely try a modern alternative.

I'm also a bit confused by your last sentence, "some of the pull down resistors are placed with the MOSFET between the resistor and GPIO/GND pins, while some are placed in front", so is the schematic not how it is built?

Edit: Oh yes, I forgot, add those protection diodes in there as well!

\$\endgroup\$
6
  • \$\begingroup\$ Yiannis, thanks for the response. The Solenoid Valves are rated for 5.4W @ 12V, so I believe they should be drawing 450mA, but the Raspberry Pi GPIO pins only output about 16mA - maybe this could be the issue? I tried operating the MOSFETs with LEDs instead of the Solenoid Valves and they seemed to work fine. \$\endgroup\$ Commented Sep 16, 2021 at 21:00
  • \$\begingroup\$ So don't confuse what the Raspberry Pi's GPIO needs to put out with what the relay needs. That's the point of using the MOSFET, a tiny amount of current should turn on the MOSFET. But I think the specific MOSFET you are using may not be turning on with the 3.3V from the RasPi. And as others have said, without a diode to protect against the spike from the relays, it is possible that some of the MOSFETs have been damaged. Also, having LEDs work (which need less current) may validate the idea that the MOSFET is not fully turning on. \$\endgroup\$ Commented Sep 16, 2021 at 21:27
  • \$\begingroup\$ I just tested the circuit. With the Solenoid Valves connected directly to 12V power, the Solenoid is receiving the 450mA required to fully operate. With the MOSFET in the system, however, I am only getting between 300mA and 400mA from the Drain to Source with the Gate open.. Could this be due to the power loss from RDS(on)? The datasheet for the MOSFET says RDS(on) is .047Ohm... I am assuming that would be the internal resistance of the MOSFET in the on position? AKA there would be a power loss over the internal resistance of the MOSFET... If I am understanding correctly? \$\endgroup\$ Commented Sep 16, 2021 at 21:57
  • \$\begingroup\$ @ianjms OK, that is interesting. Rds(on) is always specified at some particular Vgs. In this case, Rds(on) is 47 mOhm at Vgs = 5 V. But you are only driving the gate to 3.3 V. The datasheet does not really say what Rds will be at Vgs = 3.3 V. Ideally, you would try to find a MOSFET where Rds(on) is specified at either 3 V or 2.7 V so you can be sure it is fully "on". \$\endgroup\$ Commented Sep 16, 2021 at 22:05
  • \$\begingroup\$ @mkeith OK so then likely the internal resistance of Rds(on) in the MOSFET is causing power loss, and the remaining power going through the Solenoid Valves is insufficient to operate them effectively? \$\endgroup\$ Commented Sep 16, 2021 at 22:13
0
\$\begingroup\$

It's quite likely that you have damaged EACH FET if you switched a solenoid with it. As the solenoid (inductor) current builds up, energy is stored in the solenoid. When you switch the FET off, the action of the inductance it to keep the current flowing -- but the FET is off. This causes the drain voltage to rise (uncontrollably) and may exceed the VDS_max of the FET.

The typical solution is to put a zener diode between drain and gate (you need a regular diode in series with it. A 20 V zener should work.

\$\endgroup\$
4
  • \$\begingroup\$ The FETs are self clamping at a min of 60V, it's extremely unlikely that the OP has damaged any of them. \$\endgroup\$ Commented Sep 16, 2021 at 3:15
  • \$\begingroup\$ It appears the parts are not what you are stating. If these were non logic level devices they would behave almost exactly as you describe. Those funny letters etc are important. You may have gotten mis-marked or counterfeit parts if they are labeled as stated. \$\endgroup\$ Commented Sep 16, 2021 at 3:49
  • \$\begingroup\$ I believe this is unlikely as the other comments have mentioned, the max output of the power supply I am using is 12V/10A \$\endgroup\$ Commented Sep 16, 2021 at 21:07
  • 1
    \$\begingroup\$ The inductive spike voltage is not limited to the power supply voltage. Connect a solenoid wire to the power supply, then remove the wire -- see the spark ? That's not 12 V. \$\endgroup\$ Commented Sep 17, 2021 at 1:54
0
\$\begingroup\$

Do you fire this solenoids with high frequencies? Maybe you need a bank of capacitors on the rail supplying the solenoids. And perhaps anti-parallel diodes with the coils (cathode to positive supply) would be a good idea...

\$\endgroup\$
1
  • \$\begingroup\$ Not using any high frequencies here. The solenoids are meant to be triggered for periods of minutes at a time. \$\endgroup\$ Commented Sep 16, 2021 at 21:06

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.