pressure vessel

Hi all

I am doing a special auto carbon dioxide generator. I will have calcium carbonate inside a cylindrical container and a acidic solution in an external bag. The idea is to pump the acidic solution onto the calcium carbonate via a miniature pump and on reacting, carbon dioxide will form. This carbon dioxide will cause a pressure build up inside the container and if the pressure say is more than 3 bars, I will require the pump to slow down its flow rate. And if the pressure is too low such that not enough carbon dioxide is produced, I would need the pump to pump in more acidic solution. Thus I would be using a pressure transducer and a arduino controller. May I know what simple programme codes can I use ? Thank you.

May I know what simple programme codes can I use ?

May we know something about the pump and pressure sensor?

Generally, the pump, if it's a low enough current device, can be turned on and off using digitalWrite. If it's a higher current device, a transistor or relay is required, which can be triggered by digitalWrite.

The sensor can, generally, be read using analogRead. Calibration is up to you.

Hi PaulS. Actually I am a newcomer when it comes to programming and microcontroller. The pump I am using is the 2 port pumps M100-S. http://singapore.rs-online.com/web/search/searchBrowseAction.html?method=getProduct&R=0480188. It requires an input voltage of 3-4 V and current of 0.26-0.38 A. It has a free flow rate of 0.78 - 1.52 ml/min.

The pressure transducer we can easily find one that can measure 0-14 bars but how am I going to programme the entire system and also the connections. Do I have to use any say amplifiers or rectifiers for my electrical circuit or I can just connect literally from transducer to microcontroller and the microcontroller to pump without any other circuit.

Oh by the way we are using a Li Polymer Battery which is a 3 cell 350mAh 11.1 V battery.

Hello,

Arduino outputs nicely drive the gates of 2N7000 field effect transistors. These will make a good switch on the low side of the pump load. Each transistor will be good for .3 amps or so. Use two or three. They work in parallel. Hook the source leads to ground, common or whatever you call it. Connect all the drains together and to the negative lead of the motor. Connect the other lead of the motor to the power. If it turns backwards, reverse the motor leads. Look up "flyback diode" you will need one. A 1N10003 is fine. or 04 or 02. You cannot go wrong. Using an Arduino PWM output, you will even be able to run the pump motor at slower speeds.. Remember the "flyback' or 'freewheeling" diode. Lots of other parts will work fine. The parts I mentioned should cost less than a a dollar, total.

There are lots of plastic pressure sensors. Check Ebay to see a varity of them for sale. Mount the pressure sensor to the board and bring a tube to the sensor. You want one that puts out an amplified signal so that it will not be necessary to fool around with amplifying a millivolt signal. It will be a trick to fine an amplified device that outputs a full 0 to 5 volt signal using a 4 volt supply, but give a cheap one a try, it certainly will not go to 5 volts but you may not need the full range and it might work fine.

Look at the Arduino examples for PWM Once you get it going, check out PID controls to enable the pump to run exactly as fast as is needed to maintain a pressure set point. Plan on spending enough time to learn all this so your controller is a strong part, not a weak part of the system.

good luck

John Carroll

It will likely be a challenge to keep stuff out of your pressure sensor and feed tubing; make sure no liquid can get to it, and of course you will need some sort of safety release because things WILL go wrong. Having blown myself up once, I strongly advise triple redundant pressure release safety valves. Probably you know all about this, but I'm making sure, explosions are no fun when you're next to them. If you don't mind the looks, a modern pressure cooker might be perfect, I didn't look to see what pressure ranges you're using.