Arduino durability in industrial environment

Hey,

I have some questions about using an Arduino (or microcontrollers in general) in practice. A friend is working on Vacuum tanks that require a little bit of automation:

  • 2x Measuring pressure
  • 2x (Soft start) Relays to control the pump
  • A few setpoints to adjust (so we need a display or PC that communicates somehow)
  • Data logging (on a USB stick, and/or sending data to a PC)

There are beautiful systems for this. Large touchscreens, PLC's, industrial PC's. But since the functionality is rather simple, I think paying ~500 euro or more is way overdone for such an application. An Arduino plus some attachments (USB, LCD, maybe XBee) is a lot cheaper.

BUT, I'm a little bit concerned about its durability. That price difference has to come from something. As far as I know, these Vacuum pumps won't operate in extreme harsh environments, but you can surely expect some dust, power failures and 24/7 service. Are microcontrollers (and components such as a simple LCD or USB for logging on a stick) capable for that? Of course, we can make a box around that microcontroller, but I guess one might need a little bit more protection than that. Advices?

Oh, about durability & displays... Are those bigger LCD / TFT's (like these ones http://www.antratek.nl/Matrix-Orbital-graphic.html ) a wise choice? I'm thinking about keeping the display simple (LED's, 2x16 LCD) and using XBee communication with a PC to take care of the controls instead.

Cheers,
Rick

think paying ~500 euro or more is way overdone for such an application.

But how much does it cost when it all implodes because you forgot to add robust ESD protection to your hobby grade Arduino?

See this thread: http://arduino.cc/forum/index.php/topic,50780.0.html

As for durability, well I think its like all electronics components, treat them well, protect them like you would protect your eyes and ears and they should keep working forever.

Some of the welding machines in the plant where I use to work used a dot-matrix LCD display, didn't seem special except that the display along with all other electronic components was well protected, and those sensors that was exposed to welding, was special proximity switches that was designed to be rugged.

EDIT: And as AWOL mention, the protection is usually expensive, those proximity switches are bluddy expensive, I could hardly believe it - I broke 7 of them at once without trying - then again I was using the forklift :grin:

Temperature and electrical interference are going to be the biggest problems. If neither one is, then the Arduino and related sensors and displays and XBees will be fine.

24x7 is not a problem, as long as adequate power is provided (and not too much).

The 500 euro systems are turn-key setups. All the work has been done for you. Proceed with the acquisition of an Arduino, a LCD, a pair of XBees, a USB explorer for the PC end, and a shield for the Arduino. Connect everything up. Build an enclosure, and do all the programming and debugging. Then, see whether the 500 euro price looks so high.

I'd say no.
Arduino production line uses "commercial" grade components.
Difference with "industrial" grade in temperature range and reliability.
Commercial: 0 - 85 C degree
Industrial: -40 - 125 C.
Even AVR CPU is good enough to satisfy requirements (Automotive Temp. Range: -40°C to 125°C),
there is no confidence regarding other stuff:
Voltage regulators, capacitors, resistors etc.
Testing final products very different as well.
Plus safety certificate. I'm pretty sure, that more than half of price (500) company-customer who get PLC, not paying just for electronics, but for legal approvals.

Thanks for all the replies so far!
And thanks for that link, really useful. Well, we should figure out what the environment exactly does when it comes to dust, humidity, temperature, shocks and all that stuff. And of course, what the consequences are IF the controller fails.

But in case the usage & environment aren't that critical...
The I/O is relative simple (turning on/off 2 relays based on 2 pressure values). What can go wrong there? What kind of tricks can be used to protect the relays and measurement?

With a relative low price, we can make a reserve-module (or multiples for that matter). However, if it has to be replaced every half year it's going to be damn annoying for sure.

Rick

What kind of tricks can be used to protect the relays and measurement?

No tricks required. Keep it clean and keep it cool. Heat and dirt are the enemies.

The REAL arduinos (and sparkfun's) all have had excellent quality (appear to be built to class 2 for 'industrial' applications).

The difference between your 50$ solution and a $500 solution is you, the designer/programmer. Whomever designed the industrial system has had the pleasure of seeing many many sources of failure you probably wouldn't even consider, and has figured out how to mitigate many of them.

Unless something really bad or expensive is the result of your home brewed device failing, I see no reason not to do it yourself if you have the time and ambition. It's reliability is far more dependent on your contribution than the design of the Arduino.

PaulS:
Keep it clean and keep it cool. Heat and dirt are the enemies.

Vibration can also be an issue. I've done my share of troubleshooting on similar hardware used in an industrial environment. Fretting of inexpensive headers and connectors and chips creeping part way out of their sockets was not uncommon after many hours attached to punch presses, motors, and conveyors. Even screw terminals on heavy duty barrier strips would occasionally come loose. Factor in the cost of more reliable connectors and the elimination of chip sockets where possible as well.

If someone says arduino + shields this translates to plugging instead of soldering. Connectors are a classic for failure. I have seen quite some industrial grade stuff that failed in not that agressive environments. No matter what the build quality of the Arduinos is, they have not been designed for these environments.

Since he has to ask he most probably lacks the skills to harden this stuff for anything critical. I would not recommend to try this. This does not imply that it can not be done. My point is: if you lack the knowledge to decide if it is a good idea, then it is most probably a very bad idea.

Udo

@Udo: That's like saying nobody can learn... but RickN he does have a point. Do this with the Arduino to LEARN not to expect to get it right the 1st time. And you'll spend a lot more than 500 Euro in your time, so it won't be cost effective for a one-off.

Well the programming work shouldn't be a problem. I made plenty of systems, but with the difference that the hardware is usuaally already chosen. And in 300.000 euro systems or even more, of course a 3000 euro PLC is peanuts and a logical choice.

In this case it's a relative small & simple system. So spending half of the money only on a superb computer while an old Casio calculator with 2 buttons can do the math. Taking the safe route with a PLC is not a problem, but it hurts if you discover the whole system could be done 500 euro cheaper... you get the point. But yes, as Udo said, I don't have much knowledge about electronics. So just wanted to check if it would be wise to even consider Arduino as an option.

From what I read here, I conclude that for industrial purposes, unless you really know what you're doing, we should be very careful when taking the Microcontroller route. Thus, at least first have some better research about the environment & usage of this device. Then look how the controller can be protected, and if that is still worth the price.

Thank you all for the advises!

RickN:
Well the programming work shouldn't be a problem. I made plenty of systems, but with the difference that the hardware is usuaally already chosen. And in 300.000 euro systems or even more, of course a 3000 euro PLC is peanuts and a logical choice.

In this case it's a relative small & simple system. So spending half of the money only on a superb computer while an old Casio calculator with 2 buttons can do the math. Taking the safe route with a PLC is not a problem, but it hurts if you discover the whole system could be done 500 euro cheaper... you get the point. But yes, as Udo said, I don't have much knowledge about electronics. So just wanted to check if it would be wise to even consider Arduino as an option.

From what I read here, I conclude that for industrial purposes, unless you really know what you're doing, we should be very careful when taking the Microcontroller route. Thus, at least first have some better research about the environment & usage of this device. Then look how the controller can be protected, and if that is still worth the price.

Thank you all for the advises!

Industrial PLC's started somewhere which I suspect is very similar to applying an Arduino to a simple automation problem. PLC's have decades of user experience and knowledge and has been developed over decades. Arduino is 5 years in the making with VERY limited Industrial Automation experience and knowledge. Everything is relative.

Hope you find a solution that works for you, and if its Arduino based post it here so we can also learn. If not, still post a quick note of what route you ended up using and if you up for it, why.

Cheerio

Thank you. For those who are interested, some more details. The system has to regulate 2 vacuum pumps & do some logging:

  • User interface (display & buttons. Touchscreen is not recommended here as the operators can work with sticky materials!)
  • 2 analog inputs for measuring pressure
  • 5 temperature inputs (tell me, what is the difference between PT100 and a simple 0..5 Volt sensor?)
  • A couple of digital inputs for pump alarms, failure indicators and such
  • 2 relays (with hardware soft-start) to activate the pumps
  • Counting down time for pump maintenance
  • Some more digital outputs to drive status LED's
  • Data-log capabilities (client prefers USB stick)
  • Optional, Wireless communication so that a PC can monitor, log and adjust setpoints

So far I had these two options in mind; Arduino versus Unitronics (PLC):

Arduino

  • Arduino Mega
  • Intelligent LCD (Demmel, anyone experience?)
  • Realtime Clock (for log & maintenance messageS)these are not in by default, right?
  • Optional, XBee shield for communication with a PC.
  • Protection box / panel...
  • Cost ~ Don't know about the protection part, but the hardware components all together
    probably make a price somewhere around 350 euro. Add some more if you want XBee shield + antenna.

About the ILCD, that Demmel
http://www.demmel.com/ilcd/english/panel2412.htm
can be partially programmed so that you don't have to do all store/execute all graphics on the Arduino.
It is a touchscreen though, so you are probably paying more for something we don't really want. Anyone knows such displays
with good old robust buttons?

About logging...
http://www.antratek.nl/Memory-interfacing.html
Would that work? I noticed that most PLC's use SD cards instead. I don't really like SD, but I can imagine
it's a more robust storage device. However, I guess the client only logs small sessions on a stick than
immidiatly places it on his computer. Log-per-job.

I wonder if all those components(LCD, Logger, XBee) fit without problems on a Mega. guess so, but I could be wrong.
Plus we shouldn't forget that assembling the whole thing also takes a few manhours (= also costs).

Unitronics Vision120 HMI & LCD in one

http://www.unitronics.com/series.aspx?page=120

  • Small 2 color screen with buttons
  • Can write logs on a SD card
  • Extra options such as SMS Alert, Ethernet or CANbus
  • Cost? Those bastards always claim to be the cheapest but never gave prices. I expect the price to be between 500 and 900 euro. As far as I know, Unitronics is relative cheap compared to the real big boys.

Although logging may be kind of soggy, this solution will work. But for a higher price of course.

Another question comes up... If a PLC crashes after 5 years of operation, getting a new one (same model) is usually not
much of a problem. Would that also count for Microcontrollers, or do they change the models continuously? I know that's
hard to answer for a young company like Arduino, but it's pretty important nevertheless.

I'll have a go at some of your questions.

  • Intelligent LCD (Demmel, anyone experience?)

No, but I've been looking at the 4D Systems LCDs and they seen pretty nice.

Realtime Clock (for log & maintenance messageS)these are not in by default, right?

Correct.

can be partially programmed so that you don't have to do all store/execute all graphics on the Arduino.

4DS LCDs can handle all the UI if you want to learn their language (much like C I think).

It is a touchscreen though, so you are probably paying more for something we don't really want.

4DS have versions w/o touch.

Many 4DS boards also have SD mass storage.

(I have nothing to do with 4DS, just been looking at their stuff lately :))

Anyone knows such displays with good old robust buttons?

I think ALL the displays with built-in buttons use pissy little tactile buttons. They are quite nice for most things but useless for what you want to do I would say. Buy some proper sealed buttons and run wires to your board.

I wonder if all those components(LCD, Logger, XBee) fit without problems on a Mega.

I would think so but don't know if that combination is available as a single shield. Have a look at shieldlist.org.

getting a new one (same model) is usually not much of a problem. Would that also count for Microcontrollers,

There is a large Arduino community now and there's a good chance the Mega will still be around (it's been upgraded recently but the new one is compatable with the old one). As for the shields who knows.

The Arduinos are open source so in theory you can always make your own (or get someone to make one for you but that would cost) if you grab the files now.

You can afford to buy 2-3 spares I would think.

What's your time frame? I would think the PLC option will be up and running faster IF it has all the stuff you need AND you know how to program them or there is a forum to help.

(I'm designing a Mega-compatable board at the moment that will do all this I think, but no chance it will be ready for you :()


Rob

I have a Mega 2560. I am doing some of those things...

My work in factory automation leads me to believe that at least some of the projects are quite practical. (over 40 years at it...)

Have a look at a few of my posts about sensors and so -- as long as you do your homework I think it will all work.

I usually don't do the programming -- just the design but the work I am doing in low frequency measurement is not out in the wild for what I am doing -- and it is mostly out of interest in another project.

Would I tackle your project? yes. I would prefer to have someone else do the programming -- but make sure you understand any interfaces to data collection and scheduling before you start.

I built all those tie-in interface through Ethernet/UDP and a database back end to collect data as I went.

Cheers and good luck.

@Andrew: I did not say that he can not learn. I only recommend to learn in a non critical environment. If he would be an engineer by trade he would not have to ask. As long as he lacks the experience to judge on his own he should develop for none critical environments. That's my point.

The issue is not the microcontroller. The issue was already pointed out. It is hardening the electronics. This is none trivial. And since he obviously lacks the experience I would not dare to recommend it. Especially if you consider the time for development vs. cost/work hours it usually does not pay off.

Udo

You are right, but giving up that easily leads nowhere. Not completely comparable, but when I said I'm going to make a relative big (hobby)computer-game, people would laugh too, and 'advise' to keep it Pac-man. Well, stuborn or not, can't say I'm doing a bad thing now :slight_smile:

You have to start somewhere right? As said, this is not a critical application. If the hardware screws up, the worst thing that can happen is that you have to throw away your product materials, and/or replace the hardware. Well, that is something to research first. If it handles expensive materials, or is likely to get damaged due harsh environment, the Microcontroller adventure might not be worth the risk. But as long as it stays
relative simple... Plus, replacing this system may cost ~300 euro. At work we still have to replace $2500 Unitronics or OMRON touchscreens (which are supposed to be tough as Hell) now and then. PLC's aren't immortal either.

I could also imagine we make 2 variants. The heavy-duty machine (with a PLC), and a cheaper simpler one. There are about 25 potential clients to start with, so their environments and wallets will probably vary of course. Again, we first should look (and listen) first before making decissions.

Development time is likely going to be longer with the Microcontroller indeed (although I program C 10x faster than PLC ladders), but that's ok if you consider that A: research/prototyping/development only has to be done once. -IF- it's a success, we can copy the system for about ~25 machines. So even if I blow up 5 microcontrollers and need 40 more hours, it still pays off.
And maybe even more important, B:, we learn something. If the Microcontroller leads nowhere, we can still buy a PLC and quickly program it.

Finally, got to add that I won't be the one fooling around with the electronic components. That part will be in hands of people with more mechnical / electronics experience. I just program the thing. and I'm looking what platforms I can choose.

@Graynomad
Thanks for the 4D systems tip! The combination with SD storage is also interesting. The less separated components, the better. And the price isn't bad either. Still have to find a resell point here, but I'll add that one to our options.

Time-frame... hard to tell. Not in a real hurry, my friend just asked me for some programming advice a few days ago. But I expect a prototype has to be finished in half a year or something.

@WillR
Thanks for the motivation :slight_smile: Having a (normal) PC doing the logging work was one of the ideas indeed. Client said he didn't want cables all over the place, so XBee could be used to transfer log-data wireless. Maybe it's not a 100% proof way to log, then again I don't expect a few missing packets are going to be a problem.

@Rick

If you have six months+ maybe my board will fit the bill. Basic features are...

Mega 2560 compatable
Accomodates Duemilanove shields
Buffered LED13
Brown out detect and reset chip
Allowance for HV programming in case ISP gets bricked
USB interface on Serial0 using FT232 chip, jumper enabled auto reset
Piezo buzzer
64k x 8 FRAM non-volatile memory (larger when they are avialable)
4D Systems 5-pin interface for LCDs/OLEDs/SD etc

IO
44 hardened IO lines, good for +-30v and over-current protected (I might add ESD protection as well)
IO can be used as GPIO or serial, timers, analogue, PWM etc same as Mega
All IO connected to GVS (GND, Volts, Signal) 3-pin headers or optionally screw terminals
IO connections on two "wings" that can be broken off and mounted elsewhere or on the rear of the board

Mechanical
Designed to fit inside a 4x3" aluminiun tube (with IO wings mounted on rear of board)
PCB cutouts allow cables to run up or down when PCB mounted in tube.
Mounting holes to match 4D Systems uLCD-32 display

Connectors
ISP header
JTAG header
QUUBmon header (my own monitor)
USB mini B
40 x 3-pin headers for IO
32-way header for GPIO and/or external memory interface, also SPI and I2C on this connector

RS-485 #1
Solder bridge selectable 2-wire (half duplex) or 4-wire (full duplex)
Solder bridge selectable 120R termination resistors
ESD protection

RS-485 #2
2-wire only
Transceiver with auto direction detect, no control signals needed
ESD protection
560R bias resistors

RS-232
MAX232 chip
4 full spec signals

Serial in general
Screw terminal blocks for all RS-485 and RS-232 signals
Patch panel allows any combination of Serial1-3 and 4 general-purpose control lines to be connected to the serial transceivers

RTC
On-board TCXO, very accurate
Interrupt to MCU
Can turn on power supply
Battery backed

Power supply
Fused
18V varistor protection against over voltage
Polarity independant (schottky diode bridge)
On-board or remote push buttons can turn on
RTC can turn on
MCU can turn off under program control
VCC from reg or USB (no control of PSU if using USB source)
Provision for linear or switching regulators
Switching reg good for 30v input (change varistor to higher value)
VIN monitoring by MCU

I've just finished the schematic design and prelimiary PCB component layout.

I only planned to make a couple of these for my own use but let me know if it sounds interesting to you and I'll send a schematic.


Rob

@Graynomad:
I could see a real use for something like this! Thanks for your work!

new thread for above...
http://arduino.cc/forum/index.php/topic,53829.0.html

Frito