Hooking Seven Separate Pressure Transducers up to an Arduino

Hello, Engineer here looking for an alternate solution for the company that I work for, and want to know if a simple arduino could be used for our situation.

What we have are seven ASME rated tanks that we either put a vacuum or pressure into to move fluid into and out of the tanks. What we want to provide our customers with is an automated system that monitors the pressure drop in a given tank and would switch the compressor back on if the pressure drops too low while in use. The same would work for our vacuum process. Our current system uses a large programmable computer (X90) that an automation company puts together for us and programs everything including the pressure transducers. We are dealing with pressures of up to 80PSI. If the pressure drops to around 60 to 40PSI, then the system would kick the compressor on to keep flow rate consistent for the user. What I am wondering is if a simple arduino could be used instead of the large programmable computer. I hardly know anything about these devices, but would like to know if it is possible to hook up to seven of those transducers to the system.

Also, we have a valve stack manifold hooked up to the system to allow the user to create pressure/vacuum in any or all the tanks for whatever purpose they need. This is all controlled by a simple switch the user would turn that would either let them create pressure, or vacuum, or hold the pressure in the tank. So basically what this creates is a ton of wires, which is the reason why I'm asking if a arduino would work because I don't think there are enough inputs for that many wires on an arduino from what I've seen on them so far.

In the future, my company wants to take me to the automation company for me to learn their process in making this system ourselves. So I'm willing to learn programming and ask this community if this is a viable option. If you've read this far, thanks, any responses to this will be very appreciated.

What I am wondering is if a simple arduino could be used instead of the large programmable computer. I hardly know anything about these devices, but would like to know if it is possible to hook up to seven of those transducers to the system.

Sure should be easy enough to do but what exam are these sensors? The Arduino only has a ten bit A/D converter, is that enough or ate these sensors digitally interfaced?

You need to think beyond just engineering.

Is your company prepared to make a duplicate system that may be destroyed while you are testing the Arduino system?

Paul

Grumpy_Mike:
Sure should be easy enough to do but what exam are these sensors? The Arduino only has a ten bit A/D converter, is that enough or ate these sensors digitally interfaced?

I don't have the parameters on the transducers currently. I'd have to get those for you start of next week. But they are threaded into pipe fittings on top of each tank. I believe they are 3/8" NPT.

How many wires go from each transducer (power, ground, output, etc.), and how much power do they need? There are many arduino types and shield add-ons for an arduino to use. If one arduino doesn't have enough pins, you could use multiple arduinos for more tanks, but that may not be what you want. You should also use an old or spare tank for your tests, rather than multiple at once, so if something goes wrong, the problem can be contained to one tank and the others can keep running on the original computer.

what you ask is not all that difficult.

However, I would advise against an Arduino.
you can buy a UL listed PLC for not too much money.
you can get analgo inputs for them and some offer free software.

whatever you do, it has to be something others can figure out and help you fix.
who is going to respond if 5 custoers all have problems on a single day ?

with a PLC and the industry common ladder logic, you can get local techs to do all the diagnostics.

================

if you do chose to use the Arduino, and the Arduino certainly can do what you ask, the software will be something you would need a programmer to help.

if you address the problem as separate hardware and software, you can make the process easier to diagnose.
Termination all your field devises on separate terminals would allow someone with the right test equipment to validate that the sensors are working.

This will also take a lot of documentation on your part to write all the testing procedures as well as run-time procedures.

to understand the layers of control and write out the authorities of each layer to the next will help immensely.

the first layer, the local layer would be pretty much just a simple, single PID type of control.
it would get the local PID loop to look and control
the next level above is a more of a command level. abilities to alter calibration and set points, etc
above that is the supervisory level to watch and data-log

Although the most common way to do all that is with one processor. Once you get into the industrial levels. You are forced to have these layers.

=================

to start for the software side. make a flow chart.
detail every point.
with only 7 tanks, this might all fit on one Arduino and this might work great.
it sounds like a really interesting project.

to start for the hardware side
list every single part, every sensor, every relay, every controlled valve or solenoid.

Picture yourself in court after a tank explosion. The opposition lawyers will ask you to explain your Arduino code to the judge line-by-line.

Do you picture yourself saying "I hardly know anything about these devices" to the judge?

Aren't there all kinds of regulations covering pressure vessels?

KingDubDub:
If one arduino doesn't have enough pins, you could use multiple arduinos for more tanks,

No that is very silly and the sort of thinking that we are trying to remove from this forum. Using multiple Arduinos just to get more pins is more trouble that it is worth. Use port expanders or shift registers.

Let me summarize:

It's not hard to connect a couple of pressure transducers, valves and compressor to one (or more) Arduino, using hardware adaptation modules and their libraries. The real problem is the safety and reliability of the entire automated system, also in case of power loss, pipe breaks or other possible accidents.

If it comes to control and process visualization elements and networking or Internet connectivity, another computer (RasPi, PC...) may do that part without endangering the machinery.

If you are working for a company, the risk IMO will stay with the company.

Just my $0.02

Grumpy_Mike:
No that is very silly and the sort of thinking that we are trying to remove from this forum. Using multiple Arduinos just to get more pins is more trouble that it is worth. Use port expanders or shift registers.

A typical industrial facility might have thousands of controllers.
When you get into process control, you need to get closer to real time and do not overload a controller.
Someone said that a typical car might have 100 controllers and my kitchen has at least a half dozen
We routinely advise how to have multiple units talk with WiFi and RF.
it always boils down to the needs of the process and the application.


So I'm willing to learn programming and ask this community if this is a viable option.

As in programming Arduino or programming at all?
Other question is how long you have to start producing results?

I would dedicate a board to each tank but I already know how I'd do it from past experience including many years programming. You can do it too but do you have enough time?

A typical industrial facility might have thousands of controllers.

Yes but they don’t use another controller just to get extra I/O do they? As I said that is just silly and shows no idea about what is going on.

Not to just get more pins, I'd go full robot on it and dedicate a controller to each tank and maybe a master to handle user IO and coordinate the works. It's possible that the tanks wouldn't need more than ATmega88's (more pins that ATtiny85's).

MorganS:
Picture yourself in court after a tank explosion.

That means there are other, worse errors in the design.
If the compressor remains on for whatever reason, the compressor should not be able to produce enough pressure to blow up the tank (i.e. rated tank pressure > maximum compressor output pressure).
Furthermore there should be a pressure release valve on the tank, that starts to release pressure when it becomes higher than the tank's rated pressure.
If then the tank still blows you can genuinely argue that even though your system may not have worked as intended, you did not in fact overpressurise the tank, and it was the tank that could not handle its rated pressure and therefore the tank manufacturer who is at fault.

Assuming those tanks are basically seven independent units, I concur the one board per tank solution. It makes the software simpler (though 7 instead of 1 is easy. just add a for loop), it also makes maintenance easier as you can take them down one by one, and if a board fails for whatever reason it's just one tank that's affected and an easy replacement.

Grumpy_Mike:
Yes but they don’t use another controller just to get extra I/O do they? As I said that is just silly and shows no idea about what is going on.

agreed.
but I do not think anyone made that suggestion.
in an industrial application, you have worker bees who push buttons and move carts.
then you have supervisors who make sure they move the carts
then quality control and engineers.
when QC sees a problem. they might want to make a change in temperatures or set points or any other parameter
to go to the production site, gown up in your TYVEX suit with booties and hair bonnet, to press a button is silly.
plant wide industrial computers are connected by networks.
if you can turn on your home heater and change the temperature from your cell phone, you should see how connectivity is so common.
In this application, neither your nor I have any understanding of the process. but I will bet that it is not one pressure sensor.
Also, analog controllers work in real time, digital ones do not. so often the analog controllers are used when speed and stability cannot be obtained with digital ones. but then digital ones can be used for other parts of the process.
If there are only 30 or 40 sensors for the multi-tank process, then the local controller should be one device as you stated.
but then the engineer would have a supervisory one in his office to give him the ability to change set points or add calibration values. etc.
Then, there is the whole plant supervisory that monitors trends. often at some command point where someone observes 24/7 and calls or dispatches the field tech.
Then, there is the very real chance that off-site supervision is possible.
my guess is that each tank has a temperature sensor, a pressure sensor, a level sensor or high/low, some sort of motor controls, input valve, drain valve, mixing valve.... we do not know if each tank has 40 sensors.
assume you have 7 tanks with temperature controllers and pressure controllers and mixing controllers and process sensors like PH or salinity or viscosity. just how many interrupts is an acceptable amount for one micro ? with only 4 per tank times 7 tanks, 28 interrupts ? and we have the goal of one controller that then controls the 28 input, drain, additive motors/valves ?
My suggestion is that instead of telling the OP how we do things on here, we offer that it can be done, ask what they need and want.
As a note, I monitor my soil moisture with an Arduino and use a central ESP8266 to send data to the web to data-log multiple Arduinos in the garden. too far apart to wire all the sensors back to one unit. it would be silly to run 100 feet of network cable to get soil readings. and the furthest have no WiFi signal and my web host needs all sensors at one time to post in one string. I cannot post from each at a separate time.
the analog readings might not be reliable over 100 feet. so a second Arduino to get the data and then a RS432 to yet another Arduino ?
and if I want to change the watering pattern, I do not need to take the field controller, bring it back to my PC and re-upload the code to change a setting. And I do not need to have extra pins for a pot or encoder with menus to allow me to go to the unit to change a setting.
On some applications it makes sense to use multiple controllers. and I would venture to say that it is extremely common to have one Arduino send values with an RF signal to a second or a mesh.
In the industry, there is a term DDC that means many things.
direct digital control. like a central computer, you swipe your door pass key, it logs your time and unlocks the door.
distributed digital control : the local controller watches the tempeurate and modulates the valve for the process
it allows someone on the campus, 4 buildings away to monitor the process and change settings.
if that main PC or the link fail, then the local controller runs. until it receives new instructions.

Could do led-modems for less. One up high could widecast to many down low as well as read any of them, with a protocol like I2C addressing it'd be ultra-cheap indoor wireless.

GoForSmoke:
Could do led-modems for less. One up high could widecast to many down low as well as read any of them, with a protocol like I2C addressing it'd be ultra-cheap indoor wireless.

my garden plot is over 3 acres.
the furthest is out of sight behind trees.
since the land is a horse farm, the long strips of garden follow the fence line and pass gates and such.
the WiFi gets to less than half of the distance.
also, since it is not my land, I am not there daily. hence the want for remote monitoring.
each different crop is on a different watering schedule. tomatoes take a lot of water, peas not so much.
cucumbers take more than squash.... at less than $10 for a Wemos, a solenoid and soil sensor, it is cheaper to use multiple units.

I did write -indoors- because such a led modem system as I describe can’t handle weather.