Trouble controlling 6V DC air solenoid valves with arduino

I’m hoping someone can help me out with an issue I am stuck on.

I’m attempting to control a silicone actuator with an electro-pneumatic circuit, as described here:

My components are the ones that were suggested, however I am having trouble opening and closing my 6V DC air solenoid valve ( with my Arduino. I can get my 12V air pump (in photo) to work using a TIP120 transistor via the Arduino code, but the same doesn’t seem to work for my 6V air solenoid valve.

Does having the motor running on the same circuit drop the voltage to the solenoids below their operating voltage? Are there any tests I can do to check the solenoids actually work?

I have attached a screen grab of my fritizing breadboard sketch (minus DC-DC buck convertor, voltage regulator and air pump).

And here is a photo for what it’s worth:

Any help is much appreciated!

Kind regards,

Hi Dylan,

It appears that you may have made a wiring mistake at your transistors. The schematic shows the transistor being bypassed, so the valves always have a path to ground.

also, your diodes are in the wrong spot.

Move those around and see how it goes!

1 Like

Hot dog!!! Thanks very much for your help Stephen, I got it going!!!

1 Like

It also looks like you are driving the TIP120 directly from the Arduino pin.
This is not good, you need a series resistor and a pulldown resistor.
With 5V drive from the Arduino and a 220 resistor the current drain is about 22mA, half of the maximum 40mA the datasheet says. This should be more than enough to activate the load.

It may work as you currently have it, but it could cause the Arduino to fail before its time. The Arduino ports are fairly ruggard and have short circuit protection, but good circuit design is to use a series resistor.

Additionally, the flyback diodes usually go in parrallel with the load, there is an engineering reason for this that escapes me at this time.


Image1 Image2