Late 2009,By using a Arduino Pro Mini on my chamber TWI I made a pressure controller.
The micro controls a compressor and a solenoid dump valve. Both devices are switched using a solid state relay as shown above (this has changed - see below). The solenoid is a 12V device and uses a plug pack to step down the voltage. The pressurization could also have been done using a valve. I choose to use a mains relay for both because is was easy and by using a controlled 240V supply I can easily change the setup and possibly use it for something entirely different one day.
I already have a TWI enabled pressure sensor inside the chamber and this is accessed by not only the controller but also my LED display and the PC. The PC can read the pressure to do plots like the one on this page.
The micro can be programmed and configured via the TWI. Initially it only maintained a fixed pressure but now can run a real time task to produce a pressure profile. At present it can only do a simple ramp up, hold and ramp down. In future is will do more complex profiles. The parameters are store in the micro's EEPROM so it can produce a pressure profile without the PC being involved.
This is the pressure log of a test run. The software senses the lid closure by running the pump and waiting for a 20 millibar pressure increase inside the chamber. It then pauses a little while and then attempts to generate a 1 millibar per second increase in pressure by applying power to the pump as needed. It reads the pressure and decides whether to power the pump once per second. The pump ran at a %40 duty cycle.
When the "sustain" pressure was reached it actively maintained the pressure for the appropriate period (ten minutes in this case). The pump ran at about 1% duty cycle to compensate to leaks (which are mostly in the pump).
At the end of the sustain time the solenoid was fired in a controlled manner to decrease the pressure at 1 MilliBar/Sec. Below about 1175 MB (abs) the valve is too small to maintain the slope, it stays open and the plot shows a "toe" region.
There are many possible way to do all this. Using proportional control valve would give much more accurate results but the on/off solenoids and pumps is good enough for me. Ideally one would use PID or some other control algorithm but it is overkill for my needs.
A slight change of plan.
The original dump valve worked but had problems and I upgraded to the one shown above. These come from virtual-village ( SKU : 001540-031) and are $25 plus delivery.
I've modified it to use a "nitto" air connector.
This worked for one run then had trouble opening (opening the valve - which means closing the solenoid). Because I was switching the 240V side of the plug pack it couldn't deliver the starting current required.
I used a bigger 12V supply and this worked for another trial.
I accidentally left the solenoid energized for many hours and it became very hot and smelly.
After this it would not work with the 240V relay but would still pull in if the 12V was switched instead. I ordered a new one.
In the mean time I gave up on using the mains relay for controlling the dump valve on made a 12V switch based on a MOSFET.
I wanted to use a IRF1540 but was sold a IRF9540 by mistake so I used a BUZ71 I had laying around.
Because I'm switching a fairly low current for this device I can get away without using a gate driver or a heat sink.
The MOSFET is turned on using a cheap optocoupler between gate and supply and a 1K pulldown resistor.
This simple circuit is switching quite cleanly.
The circuit was polymorphed to protect it.
To avoid cooking to solenoid again I'm reducing the hold in average current by only switching the MOSFET with a 25% duty cycle. I apply full power for 80 milliseconds initially and repeat every second just in case the solenoid has drop out for some reason.
My switch clock is 8Khz so for a 25% duty cycle the pulse repeat rate is 2Khz.
With this arrangement the solenoid can remain permanently engaged without overheating. The MOSFET gets barely warm.
2010.The pro-minis failed and I've built another controller based on a bare DIP - DIP AVR project 2.