Question about proportional valve

Thread Starter

enoob

Joined Jan 6, 2017
22
Hi All,

I have a question regarding a proportional valve that I just bought from Clippard.
It's the EVP series with the following coil information (http://www.clippard.com/cms/wiki/evp-selection-tips):-

Voltage range: 0 to 20 V
Nominal voltage: 20 V
Coil resistance: 218 Ohm (measured 211 Ohm)
Max.current: 93 mA (probably a bit higher as the measured resistance is slightly different)

I'm planning to drive this with PWM from an Arduino board whose PWM output is from 0 to 5 volts. I'll be amplifying this with a BJT in common emitter mode. Since the gain is basically Rc/Re in emitter degeneration mode, I know I can set the gain to 4 so that the 0 to 5 V of the Arduino goes to 0 to 20 V at the collector output.

However, I'm thinking that if I use the 5 V DC from the Arduino itself, the gain will be clipped at 5 V (basically, I'm just trying to use minimum number of power supplies unless absolutely essential) in which case, I do not need the BJT at all. So the question here is: will the valve close and open completely if I use 0 to 5 V instead of 0 to 20 V? The link above says the valve only cares about the current which corresponds to the amount of travel. So can I assume that the 93 mA (which comes from dividing the nominal voltage by the coil resistance) is the current at which the valve opens fully or is it the current beyond which the coil burns up?

Also, I guess adding the valve in series with the Rc should be enough to limit the current to less than or equal to 93 mA?

I would appreciate your inputs on this before I start testing the actual circuit.

Thank you! :)
 

MaxHeadRoom

Joined Jul 18, 2013
30,654
The link for the valve does not open.
All the proportional valves I have used are just that, the amount they open depends on the current, so 5v would provide a current which would correspond to a degree of opening.
Max.
 

ericgibbs

Joined Jan 29, 2010
21,439
hi,
Your premise regarding 5V operation is incorrect.
At 5V and coil resistance of 218 ohms the current will be 5v/218 ohms = 17.8mA.
The solenoid will not work as expected.
A BJT or N MOSFET driver from 20v is required.
E
 

Thread Starter

enoob

Joined Jan 6, 2017
22
Thank you for your replies.
In addition to the question above, I was wondering that since I need to limit my current to 93 mA, will an op-amp be a better option?

Looking forward to your opinions.
 

bertz

Joined Nov 11, 2013
327
Thank you for your replies.
In addition to the question above, I was wondering that since I need to limit my current to 93 mA, will an op-amp be a better option?

Looking forward to your opinions.
The current is limited by the 215 ohm coil and the 20 volts applied - it's Ohm's Law.
The Power dissipated is 1.86 watts at full output so you need a BJT or Mosfet that can handle at least 10 watts and put it on a heat sink. If you use a MOSFET make sure the gate is Logic Level.
And yes, you will need a separate 20V power supply.
 

ericgibbs

Joined Jan 29, 2010
21,439
Thank you for your replies.
In addition to the question above, I was wondering that since I need to limit my current to 93 mA, will an op-amp be a better option?

Looking forward to your opinions.
hi,
The 215R resistance of the coil will limit the current to 93mA with a 20v supply.
Current = Volts/Resistance
A standard OPA will not be able to supply 93mA at 20V.
A BJT solenoid driver for example, a 2N2222, will work OK at 20V and at 93mA.
Note: when switching an inductive load like a solenoid, it is important that you connect a back emf suppression diode across the coil.

Would a circuit diagram help.?

E
 

bertz

Joined Nov 11, 2013
327
hi,
The 215R resistance of the coil will limit the current to 93mA with a 20v supply.
Current = Volts/Resistance
A standard OPA will not be able to supply 93mA at 20V.
A BJT solenoid driver for example, a 2N2222, will work OK at 20V and at 93mA.
Note: when switching an inductive load like a solenoid, it is important that you connect a back emf suppression diode across the coil.

Would a circuit diagram help.?
E
A 2N2222 is only rated for 500 mW. A TIP31A would be a better choice.
 
Last edited:

ericgibbs

Joined Jan 29, 2010
21,439
hi,
The 2N2222 has a gain of 100 at 100mA and its Vce sat is 0.1v at that current, I make that 0.1V* 0.093A = 10mW in saturation.
IMO a TIP is an overkill for this project.
E
 

bertz

Joined Nov 11, 2013
327
hi,
The 2N2222 has a gain of 100 at 100mA and its Vce sat is 0.1v at that current, I make that 0.1V* 0.093A = 10mW in saturation.
IMO a TIP is an overkill for this project.
E
Yeah, you're right. I had a senior moment and forgot about the voltage drop across the solenoid. I emphatically agree with the inclusion of a back EMF suppression diode.
 

Thread Starter

enoob

Joined Jan 6, 2017
22
Thanks a lot, ericgibbs and bertz, for discussing the problem! :)
Actually, a circuit diagram would indeed help considering I supply the base with the Arduino PWM input and take the output at the collector.
Like you mentioned, I read about using a reverse biased diode with the valve for back EMF suppression but I'm not sure which one to use.
So you guys think a 2N2222 will be sufficient for this circuit? I haven't really dealt with MOSFETS but from what I understand, they are a bit different in operation due to being voltage-controlled instead of current.
 
Last edited:

Thread Starter

enoob

Joined Jan 6, 2017
22
RichardO: I'm looking to supply PWM from an Arduino UNO since it cannot supply analog outputs. Looking at the PWM frequencies in its various pins, I think it should be sufficient in that the valve will not switch ON-OFF at that frequency (since the mechanical valve element will not be able to respond that fast) but see the average current based on the duty cycle and travel proportionally. So it is kind of a position-control that I'm looking for which is achieved by quasi-analog (PWM) means, if that makes sense! :D
 

bertz

Joined Nov 11, 2013
327
Thanks a lot, ericgibbs and bertz, for discussing the problem! :)
Actually, a circuit diagram would indeed help considering I supply the base with the Arduino PWM input and take the output at the collector.
Like you mentioned, I read about using a reverse biased diode with the valve for back EMF suppression but I'm not sure which one to use.
So you guys think a 2N2222 will be sufficient for this circuit? I haven't really dealt with MOSFETS but from what I understand, they are a bit different in operation due to being voltage-controlled instead of current.
Attached is the basic circuit diagram to accomplish what you want to do. As Eric said, a 2N2222 will do the job (as well as a number of other BJT transistors). The important thing is that you understand why this transistor will work. Pull up the data sheet and work through the math. Study the curves. This circuit will open and close the valve in proportion to the duty cycle of the Arduino generated PWM signal. Remember you can only use pins D3, D5, D6, D9, D10 & D11 for PWM outputs.

Just curious, what inputs do you want the Arduino to respond to in order to open and close the valve proportionally?
 

Attachments

Thread Starter

enoob

Joined Jan 6, 2017
22
Thank you, bertz! I really appreciate the help.
I'll go through the data sheet like you suggested for thorough understanding.
For now, I'm just planning to use the Arduino manually as the trigger so that I can add specific amounts of air from time to time to an anaerobic cell culture vessel and observe their response. Maybe adding a sensor output as a trigger later on will be interesting. :confused:

crutschow: I'm thinking of using pin 5 or 6 as they have a frequency of ~980 Hz. The others have a frequency of ~ 490 Hz (which I think should also do the job).
 

bertz

Joined Nov 11, 2013
327
Thank you, bertz! I really appreciate the help.
I'll go through the data sheet like you suggested for thorough understanding.
For now, I'm just planning to use the Arduino manually as the trigger so that I can add specific amounts of air from time to time to an anaerobic cell culture vessel and observe their response. Maybe adding a sensor output as a trigger later on will be interesting. :confused:

crutschow: I'm thinking of using pin 5 or 6 as they have a frequency of ~980 Hz. The others have a frequency of ~ 490 Hz (which I think should also do the job).
Then I don't understand to what purpose you intend to use an Arduino. You realize that every time you want to change the flow of air to your anaerobic cell you would have to change the software. You could accomplish the same result with a 555 configured as a multi-vibrator and a pot to control the flow of air to the cell. In addition you wouldn't need to have two separate voltages. The whole shootin match could operate off the 20 volt supply. Just sayin....
 

Thread Starter

enoob

Joined Jan 6, 2017
22
Umm.....could you please elaborate on this method? :oops:

I understand that I would need to modify the Arduino sketch every time I want to change the valve opening. The easiest option was to hook up the valve to a 20 V DC power supply and manually control the current but I figured the control resolution (rotating a knob) would not be as good as with a microcontroller. Also, I saw that the valve can run on PWM so I thought I would use an Arduino board since setting values would be more precise and repeatable than rotating knobs.

Basically, like in my original post, I am trying to drive a proportional valve (the medium is air like I mentioned and is supplied by a pump) and open it variably to change the flow rate under certain conditions. Would I not need to control the potentiometer manually too, like a knob?
 

Sensacell

Joined Jun 19, 2012
3,784
Use the PWM from your Arduino, connect two buttons to it as well.
Write code that ratchets the PWM up or down when you push the button.

I would also use a higher PWM frequency.
You can set this in code to be much higher, so it's not squealing audibly in operation.
 

bertz

Joined Nov 11, 2013
327
I understand that I would need to modify the Arduino sketch every time I want to change the valve opening.
Great god in the goose fat! Why would you even contemplate doing something like this? Remember, the digitalWrite command breaks down the Arduino 5 volts into 255 separate bits or .02 volt increments. A pot controlling a 555 oscillator has an infinite number of positions. You can use a 10-turn pot to get very precise control. They are relatively inexpensive on e-Bay or alternatively you could use two pots - one for coarse and one for fine adjustment. In either case, the control is more precise than the Arduino can provide.
How precise do you need the flow control to be? Are you using a precision flowmeter or a cheap rotameter?
I looked at the data sheet for your proportional valve, and while it leaves a lot to be desired, I gleaned the following information from it:
  • The coil is essentially a 24 volt coil with the valve being full open at around 20 volts.
  • There is a considerable amount of built in hysteresis, meaning that for a given input voltage, the flow can vary by around 14 to 15%.
  • The valve begins to open at around 33% of the applied voltage, so using an Arduino the valve doesn't begin to open until the duty cycle is around 35% or roughly 1.65 volts.
The bottom line is that I cannot see any possible advantage to use an Arduino to accomplish what you are trying to do.
While we are on the subject, just how do you plan on powering up this puppy? Do you have an adjustable lab type power supply? The problem is that there is no such thing as an off the shelf 20 volt supply. You can get a 24 volt, or an 18 volt or a 12 volt. But I haven't found a 20 volt supply off the shelf. So you will have to get a 24 volt supply and put a current limiting resistor in the solenoid circuit as well as getting a 12 volt regulator to power the 555 or a 5 volt regulator to power the Arduino (or use a battery).

Give it some thought. Meanwhile do a search on 555 oscillators.

z
 

bertz

Joined Nov 11, 2013
327
Use the PWM from your Arduino, connect two buttons to it as well.
Write code that ratchets the PWM up or down when you push the button.

I would also use a higher PWM frequency.
You can set this in code to be much higher, so it's not squealing audibly in operation.
He can use the TimerOne library to generate PWM signals on Arduino pins 9 and 10. The advantage is that it gets the frequency out of the audio range and allows you to set the duty cycle between 0 and 1023 rather than 0 to 255 of analogWrite.
But as I mentioned previously, this seems like overkill for such a simple application.
 
Top