Un pequeño artículo sobre la fabricación independiente de un aparato para soldadura por contacto de baterías (18650 y similares). Con la ayuda de dicho dispositivo, en el hogar
y con materiales improvisados , se pueden soldar y reparar baterías y conjuntos. Barato, alegre y asequible para todos.

Un saludo a todos!
La soldadura por puntos es un tipo de soldadura por contacto (
fuente ).
Hay opciones compradas, el mismo SUNKKO, pero casi todas las opciones requieren refinamiento de sus materiales y son necesarias: aumentar la corriente, reemplazar el temporizador, etc. Es más fácil hacer la opción "por ti mismo" por tu cuenta.
Ventajas: obtienes una opción funcional bien conocida, con características inherentes. Lo que necesita, y proporcione tal.
Las opciones básicas y comprobadas de bricolaje se basan en un potente transformador (reductor) y un temporizador con un relé. Existe la oportunidad de hacerlo aún más simple: simplemente electrodos alimentados por una batería de automóvil, pero esta no es la opción más conveniente.
Específicamente requerido:
- alta corriente de soldadura (hasta 600 ... 900A);
- doble pulso de soldadura;
- ajuste de la duración del pulso (fracciones de segundo);
- fuente de alimentación de placa sin transformador auxiliar;
- Abra el firmware (Arduino) y la capacidad de ajustar el código.
La versión seleccionada de la placa de control se basa en el microcontrolador ATmega. Además, la presencia de un convertidor de potencia (Hi-Link) y el aislamiento galvánico de la parte de bajo voltaje del circuito.

La placa de control se puede encontrar ensamblada o por separado (
placa de circuito impreso ). Para la autoproducción de una placa de circuito impreso (LUT) adjunto el archivo
dot_svarka.lay6 .

Además, se compró el
codificador KY-040 para controlar el menú y realizar ajustes.

Para mayor comodidad, seleccionamos una
pantalla OLED con una diagonal de 0,96 "y un bus I2C (4 pines). Esta opción funciona correctamente con las bibliotecas Arduino y se ve decente en el exterior. Puede usar otras opciones, sujetas a las correcciones correspondientes.

Para suministrar una señal de soldadura, se utiliza un botón o microinterruptor (interruptor de límite).
Un pedal simple también es adecuado, aquí para quién y qué es conveniente. Esta es una conexión simple de dos hilos.

Además, necesitará cables, fusibles, enchufes, conectores, un ventilador, etc. Pequeñas cosas que se pueden encontrar a mano o en la tienda de radio más cercana. Y un hombre ahorrativo hecho en casa debería estar disponible.

Se requerirán consumibles, como
cinta de níquel para elementos de soldadura.

Existe un buen modelo de un mango impreso en 3D para soldadura por contacto (
Mango de soldador por puntos ZBU-4.2 con botón ).

Enlace al boceto
soldadura__dot.ino .
Parte del código de procesamiento del codificador// encoder pin and interrupt const byte encoder_A_Pin = 3; const byte encoder_B_Pin = 2; const byte encoderButtonPin = 4; const byte interruptA = 1; const byte interruptB = 0; boolean encoder_rotate = false; // last state encoder A pin boolean currentA = false; // last state encoder B pin boolean currentB = false; // Timeout for different long and short button on const unsigned long timoutHoldButton = 9000; // 9 sec // Timeout for bounce protect encoder button const unsigned long debounceEncButton = 20; // 20 ms // Time on encoder button unsigned long timeOnEncButton = 0; // Time off encoder button unsigned long timeOffEncButton = 0; unsigned int buttonEncCurrentVal = HIGH; unsigned int buttonEncLastVal = HIGH; boolean ignoreEncOff = false; void setup() { // encoder init pinMode(encoder_A_Pin, INPUT); digitalWrite(encoder_A_Pin, HIGH); pinMode(encoder_B_Pin, INPUT); digitalWrite(encoder_B_Pin, HIGH); pinMode(encoderButtonPin, INPUT); digitalWrite(encoderButtonPin, HIGH); // enable encoder change interrupt attachInterrupt(interruptA, onA, CHANGE); attachInterrupt(interruptB, onB, CHANGE); } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // increment rotate //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// void onA(){ if (encoder_rotate) delay (1); if (digitalRead(encoder_A_Pin) != currentA ) { currentA = !currentA; if ( currentA && !currentB ) { Serial.println("+ encoder"); } encoder_rotate = false; } } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // decrement rotate //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// void onB(){ if ( encoder_rotate ) delay (1); if( digitalRead(encoder_B_Pin) != currentB ) { currentB = !currentB; if( currentB && !currentA ){ Serial.println("- encoder"); } encoder_rotate = false; } } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // main loop //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// void loop() { CurrentTime = millis(); //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // ENCODER BUTTON encoder_rotate = true; buttonEncCurrentVal = digitalRead(encoderButtonPin); // Test for button pressed and store the down time if (buttonEncCurrentVal == LOW && buttonEncLastVal == HIGH && (CurrentTime - timeOffEncButton) > long(debounceEncButton)){ timeOnEncButton = CurrentTime; } // Test for button release and store the up time if (buttonEncCurrentVal == HIGH && buttonEncLastVal == LOW && (CurrentTime - timeOnEncButton) > long(debounceEncButton)){ if (ignoreEncOff == false){ Serial.println(F("short enc")); }else{ ignoreEncOff = false; } timeOffEncButton = CurrentTime; } // Test for button held down for longer than the hold time if (buttonEncCurrentVal == LOW && (CurrentTime - timeOnEncButton) > long(timoutHoldButton)){ Serial.println(F("long enc")); ignoreEncOff = true; timeOnEncButton = CurrentTime; } buttonEncLastVal = buttonEncCurrentVal; }
Ensamblar el dispositivo no es difícil. Lo más costoso para mí fue encontrar un buen transformador reductor potente. Una de las opciones más asequibles es un transformador de un horno de microondas, en lugar del devanado de elevación secundario del cual se enrollan 1.5 ... 2 vueltas de alambre de cobre grueso (sección transversal 50 ... 70 sq. Mm).
No escribo a propósito sobre la carcasa del dispositivo; no hay requisitos especiales. Por lo general, use casos para CEA o de dispositivos más antiguos. Por mi parte, puedo recomendar proteger la carcasa del interior de la interferencia de pulso, y también proporcionar un ventilador de enfriamiento para el transformador, que se calienta decentemente durante una operación prolongada.

La soldadura de la placa de circuito es la siguiente.

Después del ensamblaje, es mejor realizar pruebas y determinar los valores óptimos de la duración del pulso. En mi caso, se utilizó un cable de cobre de 6 sq. mm como electrodos.

El doble pulso hierve bien, la duración se selecciona según el grosor de la cinta. Mantiene un espacio no peor que la soldadura de fábrica.

Ahora puede ensamblar fácilmente una batería grande para una bicicleta eléctrica, reparar una batería para un scooter giroscópico y actualizar un destornillador.

Video de prueba de soldadura de contacto casera.
El proceso de soldadura de elementos 18650 en la batería.
Para mí, esta opción cuesta casi la mitad del precio que las de fábrica. Que todavía requieren refinamiento. Y el resultado da una soldadura de contacto casera excelente.