Project in progress
DIY CD Spot Welder - Part 1

DIY CD Spot Welder - Part 1

I want to make a CD spot welder for battery packs or other stuff that cannot be soldered.

  • 13,448 views
  • 34 comments
  • 32 respects

Components and supplies

Necessary tools and machines

09507 01
Soldering iron (generic)

Apps and online services

About this project

I like battery packs, they are handy, rechargeable and have better output characteristics but there is one small problem: It, s not the best idea to solder them. You will shorten their lifespan or even kill the battery packs completely!

The Alternative

The alternative is spot welding. There, you apply a short but high power pulse to a condictive metal like silver. At the two points, where you press the anode and cathode on will be so much heat, that the points will melt a little bit and produce a strong connection. The best thing is, that the terminal of the battery will not heat up.

CD Spot Welding

CD spot welding is nearly the same as the normal spot welding but with one difference: The power source is not the mains power grid, but capacitors in my case, I used 4 supercaps with each a capacaty of 50 farad in parallel. This equals around 1000W of power when fully charged.

My Design of a CD Spot Welder

I use an Arduino micro as the brain and a Mosfet as a high power switch. The LCD is for showing the pulse time. I also programmed a lockphase, so that the caps and the Mosfet can cool down after every pulse.

Code

CD_spot_welder_Serial.inoC/C++
I fixed all problems, but it's not cleaned up. The full code comes with part 2.
int MOSFETpin = 3;
int footswitchorbutton = 2;

int dlay = 0;
unsigned long timetilnext;
unsigned long locksec;
int oneafterlocked;
int prevdlay;
int prevlock;

void setup() {
  pinMode(MOSFETpin,OUTPUT);
  pinMode(footswitchorbutton,INPUT_PULLUP);
  pinMode(A5,INPUT);
  Serial.begin(9600);
  timetilnext = millis();
  locksec = 0;
}

void loop() {
  
  if(millis() <= timetilnext){
    locksec = (timetilnext-millis())/1000;
    if(locksec != prevlock){
    Serial.print("locked for:");
    Serial.print(locksec);
    Serial.println("s");
    prevlock = locksec;
    }
    oneafterlocked = 1;
  }
  
  
  dlay = map(analogRead(A5),0,1023,1,15);
  dlay = dlay*10;
  
  if(millis() >= timetilnext){

  if(dlay != prevdlay || oneafterlocked == 1){
  Serial.print("Pulse:");
  Serial.print(dlay);
  Serial.println("ms");
  oneafterlocked = 0;
  prevdlay = dlay;
  }
  if(digitalRead(footswitchorbutton) == LOW){
    digitalWrite(MOSFETpin,HIGH);
    delay(dlay);
    digitalWrite(MOSFETpin,LOW);
    timetilnext = 5000+millis();
  }
  }
  
}

Schematics

The scematic
1_z7EeVDTGms.fzz
The scematic

Comments

Similar projects you might like

DIY Spotwelder - Part 2

Project in progress by Westpol

  • 2,031 views
  • 3 comments
  • 11 respects

DIY SMD Rework Station

Project tutorial by Alexander and Maker B R

  • 14,504 views
  • 138 comments
  • 55 respects

Weather Station v.1.0

Project showcase by derapados

  • 14,934 views
  • 5 comments
  • 42 respects

DIY Retro Look FM Radio with TEA5767 Module

Project tutorial by Mirko Pavleski

  • 12,088 views
  • 7 comments
  • 48 respects

Spot Welder Controlled with an Arduino Nano

Project tutorial by Michael Marinis and PCBWay

  • 5,915 views
  • 6 comments
  • 21 respects

DIY Air Humidifier with Backlight Controlled by Alexa

Project tutorial by Andrii Romanenko

  • 2,530 views
  • 0 comments
  • 8 respects
Add projectSign up / Login