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.

  • 3,238 views
  • 33 comments
  • 16 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 SMD Rework Station

Project tutorial by Alexander and Manoj B R

  • 3,167 views
  • 11 comments
  • 30 respects

Weather Station v.1.0

Project showcase by derapados

  • 11,255 views
  • 3 comments
  • 37 respects

Remote Lamp

Project tutorial by Kutluhan Aktar

  • 1,984 views
  • 0 comments
  • 7 respects

'Roger Bot' the Pet Rover

Project showcase by hannu_hell

  • 1,871 views
  • 0 comments
  • 12 respects

DIY Air Humidifier with Backlight Controlled by Alexa

Project tutorial by Andrii Romanenko

  • 1,254 views
  • 0 comments
  • 6 respects

DIY 3-Axis CNC VMC

Project tutorial by Amit Nandi (BigWiz)

  • 12,874 views
  • 9 comments
  • 51 respects
Add projectSign up / Login