Digital Pot / Rheostat and 330 mA

Denzel

Senior Member
Hey guys, hoping I can have little bit of advice,

I am hoping to use a current controlled air flow valve (Valve: PVQ 33 6G 16 01) and control it with a digital output.

The current range is 0 to 330 mA
Voltage is 12V

I have 16 of the valves so I am hoping / need to run them via SPI or I2C. Otherwise multiplexing them out is a possibility.

I am struggling to find a rheostat / digital pot that can happily sink / source 330 mA through the coil.
Has anyone have any ideas or experience with high current devices like this?

Cheers

Denzel
 

Dippy

Moderator
Many valves can be controlled with PWM.
Without a data-sheet or a valve sat in front of me I cannot say if this one would be happy.
If it were me I'd contact the manufacturers and ask them as PWM would be the easiest , and maybe cheapest, way to go.
 

premelec

Senior Member
In addition to Dippy's wise remarks - you'll need high current drivers to take the voltage and current when driven by a PICAXE...
 

Denzel

Senior Member
Ok, So I understand how I can control the valves with PWM. So I guess my next question is how can I control 16 of them?
Using multiplexers would be fine, however, As soon as I switch address I would lose the signal. So I guess I need some sort of latch - resulting in 32 required inputs to control 16 valves each with. Eek.

Sorry for my ignorance, I seem to be a bit out of my depth with this one.
 

rossko57

Senior Member
One strategy might be;
Have a micro loaded with 16 target valve opening % figures by whatever means, say 0 to 255.
The micro copies those targets to 16 'counter' variables
Then run round a loop 255 times -
If a counter is 0, set that valve OFF
If a counter is >0 , set that valve ON and decrement the counter.
At the end of each loop, reload the counters.
And possibly run a short delay so that the time taken around 255 loops gives you your PWM frequency.

In real life for valves, you'd probably want far less than 255 possible PWM values, just 32 or even 16 perhaps
 

MikeAusP

Member
To help, we need to know how fast you need to change the valve settings and how finely do you need to control them - Off - Half - Full.
 

Denzel

Senior Member
Sorry eclectic, I shouldve provided more info to start with.

The project as a whole consists of 8 load cells, 4 digital encoders, 16 valves and an array of push button inputs and Displays. It is a biomechanical actuation project.
We simply cannot afford to use 16 pins, even with 40 a Pin Chip, the only other option is to use multiple Picaxes and have a dedicated 'valve controller' Picaxe, using serial comms to tell it which valves to turn on / off?
 

hippy

Technical Support
Staff member
We simply cannot afford to use 16 pins, even with 40 a Pin Chip, the only other option is to use multiple Picaxes and have a dedicated 'valve controller' Picaxe, using serial comms to tell it which valves to turn on / off?
You could use quite a few things in place of a second PICAXE which would take serial, I2C or SPI-type signals and produces 16 outputs which run to FET or Darlington drivers to switch valves on or off. Some of those solutions may actually be easier than adding a second PICAXE.
 

Denzel

Senior Member
Thanks guys, this is looking great, One question though

With the Maxim I/O Expander or MCP23017, Can I set the outputs high and leave them? i.e do they latch?
From what I can see in the datasheet and tutorials you can simply write to the outputs with something like:

Wire.beginTransmission(0x20); // Connect to chip
Wire.write(0x13); // Set Memory Pointer to Bank B
Wire.write(a); // Write the Byte
Wire.endTransmission(); // Close connection

(Arduino Code from http://learning.grobotronics.com/arduino-mcp23017-i-o-tutorial-using-i2c.html)

So would the outputs remain high / low once I point to a new bank / output?

Cheers, really helpful advice
 

Denzel

Senior Member
You could use quite a few things in place of a second PICAXE which would take serial, I2C or SPI-type signals and produces 16 outputs which run to FET or Darlington drivers to switch valves on or off. Some of those solutions may actually be easier than adding a second PICAXE.
This would be preferable over programming two picaxes
 

hippy

Technical Support
Staff member
Most I/O expanders do latch or they would be difficult to use. You would have to look in the datasheet to have that confirmed and see exactly how they are controlled, and whether you need to control pins individually or collectively. Either way it shouldn't matter as the PICAXE will be able to command either.
 

rossko57

Senior Member
Why use proportional valves (intended for precision flow control) for a simple on/off application? A cheaper on/off unit wouldn't require a resistor either, given a suitable power supply.
 

fernando_g

Senior Member
You could also use a PCA9532 from NXP.

It has I2C interface and 16 outputs that may be individually addressed, and set to different PWM values.

For 330 mA loads you would also require a pair of ULN2008 to boost the output drive.
 
Top