Proportinal Solenoid Valve Help

Hello, I'm trying to control a proportional solenoid valve to control air flow using an Arduino. I was intending to use a ULN2803 controlled by a PWM output to operate the valve, but I can't get the valve to open at all. It's this valve here: McMaster-Carr

I tried hooking it to a 5v 4A power supply, and also my benchtop power supply at 10v, but nothing. No current drawn, can't blow air through it.

Does it need to be driven with PWM, or should hooking up a continuous power source, as I have done, open the valve? I have tried two different valves and also reversed the wires, but I don't think it is polarized so I'm at a loss. Is there something else simple I'm missing here?

Thanks for any advice.

Provide a circuit diagram of your project.

5V are not enough for darlington drivers.

PWM is the best way to drive proportional solenoids.

That makes sense, it is a 12V solenoid. With the ULN2803 I would be surprised if you get more then 8.4 volts on the coil. Go to the proper power supply. Take a look at using a MOSFET lowside driver, that should work great if it is properly driven. The Input Signal Voltage 0V DC-10V DC, not PWM. The specs are confusing for a 2 wire device. I would suggest you contact the manufacturer for some application data.

Proportional valves are often driven by an op amp feedback circuit, so the the valve current can be precisely regulated.

You might find this thread helpful, which includes one manufacturer's recommended solution: Help required for controlling proportional solenoid valve!

This solution can not prevent the valve from sticking in some place preventing proper positioning or causing oscillating regulators. That's why most valve manufacturers suggest a low PWM frequency range to overcome valve friction.

Here is the relevant part of the valve spec;

It does not refer to any PWM frequency or duty cycle.
The "duty cycle" referred to is its working cycle, in other words it can be used/controlled continuously, it does not required cool down or rest periods.

The relevant bit is the "Input Signal Voltage" == 0V to 10Vdc.
It is an analog voltage input.

Your Arduino probably has PWM output but no analog voltage level.
You can make a RC low pass filter to "convert" the PWM to a variable DC level, but with a current consumption of 158mA you will need a buffer amplifier.

That is the info I get from the link, feel free to add.

Tom... :smiley: :+1: :coffee: :australia:

I read all that as well, wondered and added what I read from other manufacturers.