I would like to control a proportional valve that drains a current of 400 mA at its maximum aperture.The principle of the proportional valve is simple: 0V -> closed, 5V -> fully open, 2.5V -> half open.

I would use the PWM output of Arduino but it wouldn't be able to output the needed current AFAIK. So I thought of some DAC chip, but those I have seen are limited in current.

If driving the valve directly with PWM won't work, then if you have a supply of more than 5V available, you could drive the valve from an op amp and transistor or mosfet configured as a unity-gain buffer. You can drive the input of the buffer either from a DAC or from an R-C smoothing network fed from a PWM pin.

If you have only 5V available, then it is possible to generate a +9V supply from a PWM pin using a couple of diodes and capacitors. This can provide power to the op amp, and by using a mosfet used as the output device, you can pass up to the full 5V to the valve.

Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

the datasheet of the valve is here: http://www.clippard.com/downloads/PDF_Documents/Clippard%20Full%20Line%20Catalog/Clippard%20Catalog%20by%20Page%20Number/167-225%20Electronic%20Valves/Page%20190.pdf

it is a solenoid valve, look at this table:

Nominal Voltage Range @ 73°F (VDC)

Input Current Range (amps)

Coil Resistance @ 73°F (ohms)

Max. Voltage Required (VDC)

0 to 5

0 to 0.370

13.5

6.2

0 to 10

0 to 0.185

54

12.4

If I want to use the 5V model it will need 0.370 A as maximum current, but Arduino can only output 40mA.

Maybe something like this guy does could work?http://bildr.org/2011/03/high-power-control-with-arduino-and-tip120/

To dc42:are you suggesting me something like this: http://www.learningaboutelectronics.com/Articles/Unity-gain-buffer ?The idea is to power the circuit with a battery (6V or 9V), which can be used also for powering the valve of course.

guys, thanks very much for your suggestions, if you have any further comment, examples or schematics, I would be very grateful !

Ah yes, I remember now, these things tend to have a soft-iron core so PWM won't work (very heavy eddy currentlosses).

So you need a current amp after the DAC (or PWM/LPF). Look for circuits using an opamp to drive a power transistor in emitterfollower mode to get precise high current amplification.

If you want the circuit to power up in the same state as previously there are some clever DACs available with a littleEEPROM on board that is used to set the output voltage at power-up - rather than outputing zero until the microcontrollergets round to setting it up.

[ I will NOT respond to personal messages, I WILL delete them, use the forum please ]

are you suggesting me something like this: http://www.learningaboutelectronics.com/Articles/Unity-gain-buffer ?The idea is to power the circuit with a battery (6V or 9V), which can be used also for powering the valve of course.

See attached schematic, which also builds on Mart T's suggestion of a current amplifier.

You should not have any problem getting the PWM to start at 0 with this configuration, just make a pinMode call to set the pin to be an output in setup().

Might also need diode backwards across the valve in case you shut the current down fast and get aninductive spike (depends on the time constant of the low-pass-filter and inductance of thesolenoid's coil - but better to be safe)

[ I will NOT respond to personal messages, I WILL delete them, use the forum please ]