Dual Mig Welder

0 views
Skip to first unread message

Ena Marklund

unread,
Aug 3, 2024, 3:50:31 PM8/3/24
to rofortchaco

A high speed, diesel engine-driven welder/generator capable of dual or single operator DC multi-purpose welding. The machine features 120/240 VAC single phase auxiliary power, a user interface screen for advanced features, and patented CrossLinc and Chopper Technology. Powered by a 24.8 HP Kubota D902 diesel engine.

Sunstone ships welders all over the world every day. Kindly note that Duties and Taxes are not calculated nor collected by Sunstone on international orders. In most cases, the assigned carrier will notify you of any additional required fees. Thank you!

I had wanted to make a spot welder for a while. Most of the DIY spot welders use a momentary switch the primary side of the microwave oven transformer (MOT). Due to the simplicity of this design, it is very simple to make. This design however, has some inherent safety issues as the momentary switch is typically within reaching distance of the operator (unless a foot switch is used) and inadequate insulation could increase electric shock risk. Further more, the current flowing through the primary winding can significantly exceed the current rating of the switch and cause the switch to fail. Due to the inductive nature of the winding, the switch can sometimes arc over and pose significant risk to the operator.

Another problem of these simple spot welders is that the welding duration cannot be precisely controlled. This is mostly a problem when welding tabs onto battery terminals as excessive welding time can cause the battery terminal to heat up significantly which could shorten the life of the battery. So I set off to design a simple circuit that addresses these issues.

To switch the primary of the transformer, I used a TRIAC (BTA-41). BTA-41 is rated to handle 40A of current and is more than adequate for our purpose. C4 and R8 forms a snubber network for transient suppression. The TRIAC is triggered via an optocoupled TRIAC driver (MOC3061). By using an optocoupler we can isolate the control circuitry from the mains voltage and thus make the operation a lot safer.

To control the welding time, an 555 timer is configured in single shot mode (click the circuit below to see the high resolution version). R2, R4 and C3 together determines the output pulse width. Given the values used, the welding time can be adjusted between roughly 0.1s and 0.6s. The timer is triggered via R3 and C2. The reason an RC circuit is used for the triggering (as opposed to connecting pin 2 directly to the ground) is that the pulse width generated via charging C2 through R3 is significantly narrower than 0.1s and thus we can guarantee the minimum pulse width. Otherwise, if we held pin 2 at ground level manually, the minimal achievable pulse width would be depended upon how fast we ccould release the switch for as long as pin 2 is held low the output would be high.

For the MOT, I removed the original high voltage secondary winding with a saw and manually wind a 4 AWG wire through three times. This produces an open circuit voltage of roughly 3V (AC). the secondary is then crimped onto two battery terminal lugs. With the transformer I used, the shorting current on the secondary is close to 1kA. Although we are dissipating more than 3kW while the transformer is only rated for 1.3kW, we are operating in pulse mode so there is no danger of overheating.

The pictures below illustrate the two sets of welding tips. The main welding tips is configured opposing each other. They are secured onto the terminal lugs via M5 screws. I used a salvaged server mounting rail as the lever. The main welding tips are useful for welding two metal sheets together but to weld battery tabs, we need both welding tips to be adjacent to each other. So I made another welding tip as you can see from the picture to the right below.

Since the material used for battery terminal welding are typically thin nickle strips, the welding time is typically very short (e.g. 0.1s) and the current does not need to be as high as welding thicker materials. For this reason the tips and wires I used are significantly thinner than the main welding tips. And the current through the battery tab welding tips is roughly 200A.

These two sets of welding tips are both connected to the secondary of the transformer and either set can be used at any given time via either of the momentary switches. I also built a holder so the battery tab welding portion can be stored on the main lever when not in use.

Is it possible to control two robots on the same controller within the same program, but have them performing separate motions at the same time? For example, could I get one of the welding robots to move in a linear move toward a target, and the other to perform a joint move toward a completely different target, but both happening in the same TP program at the same time? It seems that this isn't possible with the way the group masking works, but just want confirmation here.

I've read that you can execute the run command and it would effectively run a 2nd TP program simultaneously to running the one you're currently on. I believe the motion group you're using for the RUN command has to be separate than the motion group for the motion group of the current TP progran that you call the RUN command from.

Great, thank you! If both programs are performing motion, and I want to ensure that the programs are synchronized, can I just turn on a flag or DO in each program (for example, DO1 for PRG1 and DO2 for PRG2), and then turn those off at the end of each program's sequence?

You need to really think about if you need true synchronized motion. Synchronized motion means a single program where your points have position data for both groups and you move both robots with the same command.

Unfortunately I don't have that luxury. I am making a change to an existing cell where both robots run of one controller, but I may need to do separate movements. I think I've figured out a way to do it with individual GRP PR updates with hard coded numbers prior to starting movement, but I'll need to test and see if it works.

Basically I'm trying to do two linear welds on a double robot cell, but I have to rotate the weld head away from a close proximity device near the weld seam. These close proximity devices are not in the same position for each robot, so I'm going to try creating PR's for each device's proximity for each robot, but only apply hard coded joint offsets on the robot that has the device nearby and leave the other robot's offset the same. I'll do the same for the other side and set the other robot's head offsets back to their normal position.

If I understand it correctly, I believe this will not be necessary because the operator manually runs the robot each time, running a main routine and manually selecting the program to run all directly from the TP. I'll just be modifying one of these programs with either Option A (do everything in 1 program with both motion groups), or B (split the motion groups into two separate programs and RUN the 2nd one from the first one, synching the end of the 2nd group motion with flags or DO's so I don't run into anything with the other axes). These robots are on a 7th axis and there is an 8th turn table axis.

As far as I can tell, since these are synchronized robots, both motion groups are enabled for the already existing programs for Option A, the only way I know to make the robot do different things at different places using the same PR is to apply PR offsets to each group's associated PR (GP1:1,3 + 5 vs GP2:1,3 + 10 and so on for the other axie). They are both linear movements with basically just rotations about the TCP to avoid the obstacles, and currently done by single axis offsets with hardcoded numbers for the avoidance. I will just be modifying when each side does the avoidance. My current plan is to split the movement up from 2 PR's (one to start the weld, one endpoint linear move PR), into multiple PR's that are midpoints between the other PR's with more offsets. If I tell one robot to offset axis 4 at one PR but do nothing for the 2nd motion group and vice versa at the other waypoint, this "should" achieve what I need.

I don't like option B because of the other axes. If I use the RUN command for the 2nd robot from within the program of the 1st robot, I think I'd need to use flags or DO's to ensure that both motions are complete before ending the routine. If I didn't , the robot being ran in RUN could run into the turn table because it could finish its program after the program that called it, which then jumps into the table rotation routine.

Either of your approaches could work. Without seeing the process it's hard to know which is better. With sync motion it may be difficult to get exactly independent motion, because even if you have no offset on the other robot, it could be affected by your termination (Fine, Cnt). With option 2 you may need multiple handshakes if there are several potential crash areas.

Yes that is my fear as well. Effectively I'm mig welding on a V groove seam with two robots at the same time, but the customer is adding in requirements to avoid obstacles that are really close to the seam, so I have to rotate the TCP out of the way at specific points to avoid collision. Because these obstacles are in different positions for each different robot (motion group) but the original motion was synchronized without this intention in mind, that's my challenge.

The good news is that I was able to make it work once already by setting up arbitrary points along the path of the seam, but just applying hard coded TCP offsets by group for each PR. So Option A is fortunately working. Thank you for your advice!

c80f0f1006
Reply all
Reply to author
Forward
0 new messages