How to Automate Industrial Welding Positioners with Arduino
Caleb in todays episode were going to take a look at two separate welding positioners that i worked on the first one is a rotational weld positioner its got a stepper motor connected to a gearbox with a large lathe chuck on the output shaft. You can put whatever work you need to weld on in the chuck turn it on and as it rotates, you can weld and get nice round welds. The second one is a linear, weld positioner and it was designed to build very large, stainless steel cubes. It clamps onto the edge of the cube and holds very thin stainless steel sheet metal skins onto a square tube theres, a gantry that runs along with the welding, torch and welds at specific intervals and welds the skins onto the square tube. I didnt do the physical fabrication of either one of the machines themselves. In fact, the linear weld positioner was built several years ago for a completely separate project that i wasnt involved in the rotational weld positioner. I was around for it, but i didnt do the actual fabrication. We had other people in the shop that were better at running the milling machines than me, so they did it. I dont have a lot of the footage of doing that because of time constraints, but i did build all the electronics and i shot that when i could both of these were built over the course of several months off and on. We had our main project that we were working on, and so we only got to work on this from time to time when it was a priority.
So please keep that in mind. As you watch this video i didnt get to film. Everything like i usually do for these projects. Music. The biggest challenge in this project was the massive amount of interference that the welder would generate. We were using a miller dynasty 350 and there are two ways for that machine to create the arc for the tig weld. The first is to actually touch the tungsten to the work and drag it a little bit, and that creates the arc. The second way is what they call a high frequency start and it pulses some high frequency through the thing and creates it without touching the work, and we had to do that because the torch was fixed in a gantry system and it never touched the work if There was an unshielded arduino anywhere near this thing. When it would start it would just reboot freak out, do all kinds of crazy stuff. If it was shielded say inside of a plastic box with some grounded foil, it would function, but any pin that was set up as an input that interference would still get in also on any pin. That was set up as an interrupt. So i had to mostly turn everything off and we spent a lot of time mucking with that and trying to fix these problems. Youll see later on in the video how we were able to overcome some of those Music lets talk about the rotational positioner first theres, an arduino that drives a stepper motor through the stepper motor controller.
The motor is attached to the input shaft of a gearbox from an old cnc lathe. The output shaft has a standard connector on it, so you can either put a lathe chuck on it or a t slot table. We have plans in the future to build a stand for this thing, so it can either run in horizontal position or stand it up and run it in a vertical position. We originally had plans to do all kinds of cool features in software, such as pulsing the rotation, so it would turn a certain degree fire, the welder pulse, the weld cool down. You know, wait for it to cool down and then rotate pulse cool down, rotate pull cool down, but we just didnt have the time what it came down to was just running it at a constant rotation and manually welding and controlling the pulse with the foot pedal. We just had to do that to get the jobs done, that we needed to get done its got an lcd screen with a rotary encoder, so we could set up all of those features and change the variables for you know, pulse time and how long it cools Down and that sort of thing theres, an output relay to control the welder itself and a couple of switches that i built in for future expansion. I plan one of them to arm the output of the relay, so you could either run it in a test mode or run it and actually fire.
The welder lets take a look at some of the parts for this and some of the build process for the microcontroller on the rotational positioner. I chose a simple arduino uno, mostly because its available and people have experience with it. If my client needs somebody to work on it and im not around, then he can find anybody with some arduino experience and they are most likely familiar with the uno. A rotary encoder in combination with an lcd screen allows me to build a pretty cool menu system using some standard libraries. I can use that to set variables for pulse time and you know triggering the welder and all kinds of stuff like that. These basic toggle switches are here mainly for some sort of utility, as i mentioned before, im going to put two of them in ones planned for arming and the other one is for future expansion, maybe im old school, but i still really like these lcd screens. They have so many different uses and theres lots of libraries available for them, and i have them all over the place im going to continue to use them forever for the motor and controller. We ended up with a closed loop system, not that we needed it, but it was what was available to us in the torque requirements that we needed Music. We needed to electrically isolate the stepper motor from the gearbox im, designing the spacer that will be made out of a piece of phenolic that we had laying around.
I had to take into consideration the thickness of the spacer so that the timing belt pulleys would still line up ive, also added some plastic bushings, so that the bolts that hold the motor down are isolated as well. After i get all the tool paths created, i carve it out on my avid cnc router. Normally i would have taken the dust shoe off for filming, but i really didnt want to breathe this stuff or have it all over my shop Music. Do you like free stuff, you can join the road test program, you can get free, dev, kits test equipment and even online training courses in exchange for a detailed review. Join our road test program, learn more at the link below free stuff. The second machine were going to talk about is the linear welder. As i said before, it was designed to weld very thin stainless steel skins onto a little bit thicker stainless steel square tube. These skins are really thin, like 24 gauge and the tubes are like 16th wall stainless steel. It was designed with a set of anvils set at 90 degrees. That would push on the edges of the cube and hold the work in place. Then theres a gantry that holds the welding torch and travels in one axis along the length of the cube. This was previously used on another project pretty painfully but successfully a few years ago, i wasnt around at all when the mechanical portion of this was fabricated.
When i got a hold of it, it just didnt work at all. There was a plc in it that ran on a 10 volt logic level, and the software was on an old laptop that was lost and there was just no way to get it back. The guy i was working for told me that they had lots of trouble with the interference from the welder and constantly had to tweak it to get it to work for short runs. I could have learned the plc design software to get this thing running and use all the electronic parts that were in there and i gave him that option, but he wanted to go with what i know, because i can do it a lot faster. That way, i ended up taking everything out of the electronics box, except for the power supply and the stepper driver, because everything was set up for a 10 volt logic level. I really just had to replace the relay and an opto isolator and, of course, the computer. The relay is used to send a signal to the welder to tell it to fire and the opto isolator was used to isolate signals coming from the control box, i built it with an external control box that had buttons on it for starting and stopping the process Pause, reversing steps and manually firing the welder, and that worked great on the bench. Well get to more of that later, we had to think about how to design the software, since there were a few steps that needed to happen for every pulse.
I like to think of it as a square wave and drew it that way to design the software. First, we had to pulse the welder which had a variable for pulse time and then a cool down period so that we didnt generate too much heat in this thin stainless steel. After that it needed to move the gantry of variable distance and start the process. All over again, i put several other configurable delays in there, such as a pre weld delay and a place for the argon to pre flow. All those variables made it so that we could finely tune the machine and get good welds from it. This was actually pretty simple software and i wont bore you with a description, but one of the challenges was having an interface where we could tune all of these variables without having to reflash the arduino. Every time i ended up using an esp32 that was connected to the arduino via serial port, i used a library called esp ui that would generate a web interface that i could change the variables on a smartphone. The esp would send them over to the serial port on the arduino every second or so, when we needed to change a setting. All we needed to do was stop the process, make some tweaks on a smartphone and start it all over again. That worked out great, but once we had it tuned, i set all the settings to defaults on the esp and the arduino and then reflashed them both.
So we didnt have to set them every time we started the machine. Now it was time for testing and tuning. I determined that any wire that was connected to an input on the arduino is acting like an antenna and the high frequency start was sending out enough interference to trigger the input. So, every time the welder would pulse, it would effectively hit all of the buttons on the control box at the same time, which included stop that just happened to be connected to an interrupt pin and it apparently took priority over everything else. What i eventually had to end up doing was removing all of the external controls, because every pin, no matter what i did was getting that interference and freaking out the arduino the work around for that was. I set the machine up to delay for a couple of seconds and then just start the process and run until you turn it off once that was all figured out. We ran it for three 12 hour days straight and another half a day straight to weld all of these cubes that we needed to weld. It took a person constantly monitoring, every pulse, which ended up being approximately every 1 16 of an inch or 1.5 millimeters to manually, adjust the lateral alignment or add some thin filler rod well, thats. All we have for today, even though we didnt get everything done that we wanted to get done. It still ran well enough to get the job done, that needed to get done and thats what the important part was.
I read a bunch of stuff about the interference on the internet and most of what people said was dont use an arduino whats. The challenge in that, if you have any suggestions on how to overcome this massive amount of interference from a welder on an arduino, let us know on the element: 14 community at element14.