- PVSM.RU - https://www.pvsm.ru -
Небольшая статья про самостоятельное изготовление аппарата для контактной сварки аккумуляторов (18650 и аналогичных). С помощью подобного устройства можно в домашних условиях и из подручных материалов сваривать и ремонтировать аккумуляторные батареи и сборки. Дешево, сердито и доступно каждому.
Приветствую всех!
Точечная сварка является разновидностью контактной сварки (источник [1]).
Есть покупные варианты, тот же SUNKKO, но практически все варианты требуют доработки под свои материалы и нужны — увеличения тока, замены таймера и так далее. Проще самостоятельно изготовить вариант «под себя».
Преимущества — вы получаете заведомо функциональный вариант, с заложенными характеристиками. Какие вам нужны — такие и предусмотрите.
Базовые и проверенные варианты DIY строятся на базе мощного трансформатора (понижающего) и таймера с реле. Есть возможность сделать еще проще — просто электроды с питанием от автомобильного аккумулятора, но это не самый удобный вариант.
Конкретно требовалось:
Выбранный вариант платы управления [2] реализован на базе микроконтроллера ATmega. В плюсах — наличие преобразователя питания (Hi-Link) и гальванической развязки низковольтной части схемы.
Плату управления можно найти в сборе, так и отдельно (печатную плату [3]). Для самостоятельного изготовления печатной платы (ЛУТ) прикрепляю файл dot_svarka.lay6 [4].
Дополнительно был куплен энкодер KY-040 [5] для управления меню и внесения регулировок.
Для удобства был выбран OLED дисплей [6] с диагональю 0,96" и шиной I2C (4pin). Этот вариант корректно работает с библиотеками Arduino, и внешне прилично выглядит. Можно использовать и другие варианты, при условии соответствующих правок.
Для подачи сигнала сварки используется кнопка или микропереключатель (концевик).
Подойдет и простая педалька, тут кому и что удобно. Это простое двух проводное подключение.
Дополнительно потребуются провода, предохранители, вилка, коннекторы, вентилятор и так далее… Мелочевка, которую можно найти под рукой или в ближайшем радиомагазине. А у запасливого самодельщика должно быть в наличии.
Потребуются расходные материалы, например, никелевая лента [7] для сварки элементов.
Есть неплохая модель 3D-печатной ручки для контактной сварки (Spot Welder Handle ZBU-4.2 w/button [8]).
Ссылка на скетч welding__dot.ino [9].
// 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;
}
Сборка устройства не является затруднительной. Наиболее затратно для меня было найти хороший мощный понижающий трансформатор. Один из самых доступных вариантов — трансформатор от СВЧ-печи, вместо вторичной повышающей обмотки которого наматывается 1,5...2 витка толстого медного провода (сечение 50...70 кв. мм).
Сознательно не пишу про корпус устройства — никаких особых требований нет. Обычно используют корпуса для РЭА или от старых устройств. От себя могу порекомендовать экранировать корпус изнутри от помех импульса, а также предусмотреть вентилятор охлаждения трансформатора, который прилично нагревается при длительной работе.
Схема платы сварки выглядит следующим образом.
После сборки лучше всего провести тесты и определить оптимальные значения длительности импульса. В моем случае использован медный провод 6 кв. мм в качестве электродов.
Двойной импульс проваривает хорошо, длительность подбираем в зависимости от толщины ленты. На отрыв держит не хуже заводской сварки.
Теперь можно без проблем собрать большую батарею для электровелосипеда, отремонтировать батарею для гироскутера и модернизировать шуруповерт.
Видео тестирования самодельной контактной сварки.
Процесс сварки элементов 18650 в батарею.
Для меня подобный вариант обошелся практически в два раза дешевле, чем заводские. Которые все равно требуют доработки. Да и результат дает самодельная контактная сварка отличный.
Автор: Юрий Иванов
Источник [10]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/akkumulyatory/324898
Ссылки в тексте:
[1] источник: https://ru.wikipedia.org/wiki/%D0%A2%D0%BE%D1%87%D0%B5%D1%87%D0%BD%D0%B0%D1%8F_%D0%BA%D0%BE%D0%BD%D1%82%D0%B0%D0%BA%D1%82%D0%BD%D0%B0%D1%8F_%D1%81%D0%B2%D0%B0%D1%80%D0%BA%D0%B0
[2] Выбранный вариант платы управления: http://prickle.pro/product/pcb1
[3] печатную плату: http://prickle.pro/product/empty-board-for-spot-welding-controller
[4] dot_svarka.lay6: https://www.dropbox.com/s/bl2u0zyuwxxvij4/dot_svarka2.lay6?dl=0
[5] энкодер KY-040: https://ru.aliexpress.com/item/33005991494.html
[6] OLED дисплей: https://ru.aliexpress.com/item/32830611513.html
[7] никелевая лента: https://ru.aliexpress.com/item/32898244671.html
[8] Spot Welder Handle ZBU-4.2 w/button: https://www.thingiverse.com/thing:3204224
[9] welding__dot.ino: https://www.dropbox.com/s/ltybv79wto5rst2/welding__dot.ino?dl=0
[10] Источник: https://habr.com/ru/post/460973/?utm_source=habrahabr&utm_medium=rss&utm_campaign=460973
Нажмите здесь для печати.