12/23/2014– Kelsey Breseman
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.
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.