• An Interview with io2work: Industrial Automation

    Tuesday, December 23, 2014

    12/23/2014– Kelsey Breseman

    I first became intrigued by Josh Dudley when he mentioned a Tessel project that involved controlling a welder. Josh (io2work on our forums) is a welding engineer by training, an industrial researcher and IT tech by trade, and a self-taught computer and electronics engineer by choice. He’s been picking up JavaScript, Node, and more recently Tessel in pursuit of his vision for modern web interfaces on industrial machines.

    Kelsey: What’s your background in engineering?

    Josh: My actual engineering degree is in something relatively unrelated– I’m a welding engineer from Ohio State. But I’ve started doing the computer stuff out of personal interest over the last five years or so– it’s something that’s grown out of interest, but there are also needs here at work for automating some different processes.

    I’ve been exploring different avenues. Back in late 2011, I read about Node.JS. I’d been learning some JavaScript and wanted to continue down that path.

    When I saw that I could communicate with serial devices through Node.JS, I set up a Node server on a Raspberry Pi and started figuring out how to communicate with these precision power supplies that we use for one of our manufacturing processes.

    Kelsey: What’s the first thing you made on a Tessel?

    Josh: The first thing I made with it was an automated welding process that controls rotation with some limit switches and turns the welder on and off with a Tessel relay module.

    It’s relatively simple; it has three buttons on it, and one plunger-style limit switch on the turntable so I know when it’s made a 360 degree revolution. One button tells it to activate and start turning and welding. When it hits the limit switch, after it rotates around, it turns everything back off. It automates welding around the drum for us.

    Kelsey: How do you control a welder with a Tessel?

    Josh: In this case, it’s just a simple relay. I’m using a standard MIG welder. It has a trigger that you pull, which is nothing more than opening and closing a contact. So all I did was the same thing, programmatically, with one of the Tessel relays.

    Editor’s note: the code for this project can be found here.

    Kelsey: Did that make you nervous, hooking up something as critical as a welder to your own wiring?

    Josh: Not really. I grew up in a machine shop environment, so I’m used to tinkering with things.

    My skill set tends more naturally towards the mechanical side of things, and the electrical and computer stuff has become a personal interest– I learn it as I go.

    Kelsey: Where do you envision this sort of automation going in the future?

    Josh: When I started working on the Raspberry Pi, I came up with this vision. I’ve worked on a lot of homemade automation stuff, one-off stuff that’s relatively simple. But it’s aging– it’s written on stuff that was made fifteen years ago, applications that are in Visual BASIC, dependent upon Windows 95 or Windows 98 in order to run. I want to start moving some of these simpler things to the browser.

    I’m creating a vision for that here, where I work, moving more and more of our custom automation stuff directly into the browser so we don’t have to deal with client-installed software. That’s the driver for all of this. And the Tessel just made it even easier to do, because it’s a microcontroller, with inputs and outputs on it, and the webserver’s built right in, so all that stuff fit perfectly with what I was already trying to do.

    For most stuff in the manufacturing environment, it doesn’t matter if it happens in one millisecond or 100 milliseconds, so it isn’t often necessary to deal with compiled, client-installed code that is dependent on complex IDEs. Plus technology keeps closing this performance gap to the point where it simply isn’t an issue any more.

    Therefore, the simplicity and the ability to use one language, whether I’m writing my frontend in the browser, or talking to the device that’s controlling the IO, makes my workflow easier, and it’s easier to maintain. Plus, I get to grow my skills quickly, because I’m concentrating on one thing.

    A combination of laziness and necessity is the “mother of invention” here; as I become responsible for more of these machines, I want them to be easier to work on. I want to be able to open up a modern web browser and do what I need to do.

    Kelsey: What would make it easier to develop these sorts of automations for the industrial sphere?

    Josh: An industrial hardened version of the Tessel, similar to what they are doing with Arduino at controllino.cc, would be absolutely awesome. The event-driven nature of Node.JS just makes a ton of sense for controls-based stuff, and being able to use the same language for the entire stack makes things simple and easy to upgrade and maintain.

    Everything in the industrial environment gets mounted into a cabinet on a DIN rail, so a case that’s mountable would be one thing. And then of course things like electrostatic discharge protection. It would also need to be coupled with a relatively robust power supply.

    A lot of things in the industrial world depends on 24V logic or 12V logic. I’ve been able to get around that with Tessel by using some digital relays that will take the 3.3V output that Tessel provides, and then I have a 24V secondary power supply. I’m opening and closing the relay with the Tessel and that’s my 24V logic.

    Kelsey: What are some projects you’re working on right now?

    Josh: I’m working on a project right now, where I have an HTML5-based web application, using websockets for talking to a machine that I’m controlling– making ramps go up and down. I’m also using UART (along with a SparkFun RS232 Shifter), reading the serial port, in order to get the information back from a digital level, and then I’ve got some proximity switches I’m reading and doing different stuff on.

    I’ve got another project I’m working on, helping one of our other engineers prototype something for a new process – rotating a part and dipping it down in a masking material, so I’ve got to control a pneumatic raising and lowering device, and talking to a DC motor to rotate the part.

    But now that I’ve got a little bit of experience with it, something like that takes just a few hours.

    Kelsey: What do you see as the future of industrial automation?

    Josh: I would hope that more and more of it will be moving to the web browser. The whole platform-independent aspect of the web is what’s so desirable. It doesn’t matter whether I bring my Macbook Air in, or my iPad, or my PC, I can pop open a webpage in a modern browser, and do whatever I want to do.

    Creating web interfaces makes it easier to go back and update one codebase. Devices change over time, and the web progresses. On the web, you just update your codebase accordingly, and you still have it available on a larger number of devices.

    I hope that the manufacturing industries get with the times and start taking advantage of these open platforms.

    #kelsey breseman #interview #josh dudley #io2work #industrial #industrial automation #tessel #technical machine

August 2018

January 2018

July 2017

February 2017

November 2016

October 2016

September 2016

August 2016

July 2016

June 2016

April 2016

March 2016

February 2016

November 2015

September 2015

August 2015

July 2015

June 2015

May 2015

March 2015

February 2015

January 2015

December 2014

November 2014

October 2014

September 2014

August 2014

July 2014

June 2014

May 2014

April 2014

March 2014

February 2014

January 2014

December 2013

November 2013

October 2013

September 2013

August 2013

July 2013