Introduction: Spot Welder Dual Pulse Capacitive Discharge

About: design and maker

This Instructables includes plans to build a dual pulse capacitive discharge spot welder that can output 400 amps in 60 micro seconds.

Step 1: Theory


The reason for this a portable capacitive discharge spot welder, which can be used to aid in the process of building a battery pack for the UMD Bulldogbots combat robot team. Because the battle bots require battery packs that are not readily available the battery packs must be made in house. By having the capabilities to create a battery pack to the exact specifications required by the Bulldogbots team, they can minimize document is to ascertain the building of cost and have the flexibility to design the battery pack to the dimensions needed. By having a portable spot welder the team can weld nickel tabs to the multiple A123 now B345 battery cells that form the battery pack. This assures a quick and durable connection which if far more reliable than soldering and will not degrade the performance of the battery cells.


In order for the spot welder to meet the needs of the Bulldogbots team it must adhere to the following specifications. Since the spot welder must be portable it should be no bigger than 9 inches long by 9 inches wide and have a height of 13 inches. It must also be powered by a standard wall outlet 120VAC /15A. The use of a lab power supply capable of triple output is also needed. The design must also contain ultra capacitors with a minimum capacitance of 350F and 2.5V per cell. For safety concerns there should be a way of telling whether or not the ultra capacitors are charged. This can be done with an LED or a voltmeter. Also there must be a way to discharge the capacitors once welding has been completed. In order to protect the intricate circuits a fuse should also be incorporated in the design. An Arduino UNO and a MIC4451 MOSFET Driver to send the control signals to the IGBT should control the circuitry, which delivers the pulse of electricity used to weld. The leads used to deliver the high current of up to 700 amps pulse should be no smaller than 4-gauge high strand cable. A momentary footswitch with ¼” audio jack is used to send the control signal the micro controller.

Step 2: Circuit

The Norr 9000 uses a triple output laboratory DC

power supply that is capable to charge up the capacitor bank at up to 3amps at 15v. There is also a regulated 5V and 12V supply to provide logic power to the microcontroller and mosfet driver. A laboratory power supply was chosen for its ease of accessibility and the ability to be current limited source while charging the capacitor bank. Based off commercial spot welders, a dual current pulse was employed. This allows for the circuit to first make a smaller discharge in order to clean the surface of the material of impurities such as oil and create a weak weld. The second pulse with more energy makes the final bond. In order to have a stable pulse during discharge a large capacitor was employed. It was chosen to use the Maxwell BMOD0058 E016 B02 Ultra-capacitor module because of it’s high capacitance of 58 Farads at 16.2 Volts and it’s built in capacitor balancing circuit for long life. The capacitor typical short circuit is 730 A as defined by the manufacture, because of resistance and inductance from the welding material and electrodes the output of the capacitor is less than that value.


Step 3: Code

Arduino Microcontroller



** NORR WELDER 9000 v1.0.12





#define I2C_ADDR 0x27 // Define I2C Address where the SainSmart LCD is


#define En_pin 2

#define Rw_pin 1

#define Rs_pin 0

#define D4_pin 4

#define D5_pin 5

#define D6_pin 6

#define D7_pin 7

LiquidCrystal_I2C lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin);

// set pin numbers:

const int buttonPin = 8; // the number of the pushbutton pin

const int ledPin = 11; // the number of the output pin

// Variables will change:

int ledState = HIGH; // the current state of the output pin

int buttonState; // the current reading from the input pin

int lastButtonState = LOW; // the previous reading from the input pin

// the following variables are long's because the time, measured in miliseconds,

// will quickly become a bigger number than can be stored in an int.

long lastDebounceTime = 0; // the last time the output pin was toggled

long debounceDelay = 1000; // the debounce time; increase if the output flickers

void setup()


lcd.begin (16, 2);

// Switch on the backlight



// Position cursor and write some text

lcd.home (); // go to the first line, first character

lcd.print("NORR WELDER 9000 ");

lcd.setCursor ( 0, 1 ); // go to the 2nd line

lcd.print("v1.0.12 ");

pinMode(buttonPin, INPUT);

pinMode(ledPin, OUTPUT);


void loop() {

if (digitalRead(buttonPin)==HIGH) {


delay(20); //First Pulse in milliseconds to clean connection


delay(5); //Delay Until Second pulse in milliseconds


delay(45); //Second Pulse in milliseconds to make the actual weld





Step 4: Enclosure

The welder had its circuitry designed and tested before the design to make it user friendly. Using Solidworks, a 3D CAD program we were able to design the case using ¼” lexan and because of the flexibility of CAD, I was able to added in mounting holes and user elements such as a handle. Using the DXF files generated from the Solidworks model we then used the OMAX waterjet in the mechanical engineering department to cut out the case. The custom red and black copper electrode hookups were design also in Solidworks and were then 3D printed out for use in the welder.

Step 5: Operation


Standard safety equipment such as gloves and goggles should be worn while using the Norr Welder 9000. Never let the two electrodes touch while welding as this may cause excessive current to flow through the welder causing failure.

1. Hookup the power leads and other connections to the welder with the power supply off

2. Set the laboratory power supply to 14 volts at 1.5amps and turn the supply on making sure the rear capacitor discharge switch is turned off.

3. Turn on the front power switch for the logic power supply; this will turn on the Arduino.

4. When the front LED is bright green or the supply is showing 14V the welder is then ready to weld

5. Firmly place the copper electrodes where you want the desired welds and activate the footswitch. If you do not press the electrodes down with pressure you will likely have poor welds, large sparks, and likely vaporize the metal under the electrode.

6. When finished welding follow the procedure in reverse order and flip the switch on the back of the welder to discharge the capacitor. It takes about 10 minutes for the capacitor to be fully discharged.

Arduino All The Things! Contest

Participated in the
Arduino All The Things! Contest