This is an old revision of the document!
To make good battery packs made of 18650 cells, it's not a good idea to solder them with tin because you're going to heat up a lot the chemical components of the battery and this can reduce the battery life.
For making battery packs, you need to solder with point to point process. For this, you can buy a 18650 soldering unit, but in fact it's quite expensive although it's quite simple to make your own.
The cost for my setup was about 0€, with lot of salvaged parts I already had laying around.
I don't have photos of the build, sorry about that but here are the global steps to make your solder unit :
Salvage the microwave oven to pick up the transformer.
The transformer is made of the primary coil and a secondary coil. On a microwave we want very high voltage so the secondary is with a lot of thin wire. Destroy the secondary only and remove all the thin wires.
For a soldering unit, we need a very high current so instead of the thin wire, just make one or 2 turns of the very thick wire on the secondary.
Machine the copper barrel to be able to screw it to the 2 thick wires and make a point on one side of each (it will be the contact tips for soldering).
Make a box, and an articulated arm for the tips. I've made a 3D printed part to have the tips with the right gap (about 4-5mm).
The Arduino will be used, with a homemade program, to have precise pulses of high current when clicking on the microswitch, to make a solder spot. This will permit good repeatability of the process and will avoid sticking and destroying the cells.
Voilà, your soldering unit is almost finished ! You need to flash the Arduino firmware with the code below and you're good to go !
int buttonState = 0;
const int buttonPin = 12; // the number of the pushbutton pin
const int relaisPin = 3; // the number of the relay pin
int temps = 55; //le temps de la soudure 75
int attente = 500; //temps d'attente entre chaque possible soudure
void setup() {
// put your setup code here, to run once:
pinMode(buttonPin, INPUT_PULLUP); //on définit le pin 2 comme entrée du contact d'activation
pinMode(relaisPin, OUTPUT); //on définit le pin 3 comme sortie pour le relais
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
buttonState = digitalRead(buttonPin); //on lit l'état du bouton
Serial.print("bouton : ");
Serial.print(buttonState);
Serial.print("\n");
if(buttonState == HIGH){ //si le bouton est appuyé
digitalWrite(relaisPin, HIGH); //on active la sortie relais (début de soudure)
Serial.print("SOUDURE");
Serial.print("\n");
delay(temps); //pendant temps s
digitalWrite(relaisPin, LOW); //et on désactive la sortie relais (fin de soudure)
delay(attente); //on attend un peu pour le second cycle (permet d'éviter les rebonds)
}
else {
Serial.print("RIEN");
Serial.print("\n");
}
}