家用锂电池超预算点焊

在每个“无线电杀手”的生命中,都会出现一个时刻,您需要将多个锂电池焊接在一起–修理因老化而老化的笔记本电脑电池,或者为另一艘飞船组装电源。用60瓦的烙铁焊接“锂”既不舒服又令人恐惧-您只是过热了-手中有一支手榴弹,用水将其扑灭是没有用的。

集体体验提供了两种选择-要么去垃圾桶中寻找旧的微波炉,拆开它并拿起变压器,要么花很多钱

为了进行多次焊接,我绝对不想寻找变压器,看到它并倒带。我想找到一种超便宜,最简单的电流焊接电池方法。

强大的低压直流电源,每个人都可以使用-这是常用的 来自汽车的电池。我敢打赌,您已经在食品储藏室中找到了它,或者可以与邻居一起找到它。

我告诉你-免费获得旧电池的最佳方法是
. , — , . , .

为了用电池中的电流焊接电池,我们需要在几毫秒内发出短脉冲电流-否则我们将无法进行焊接,而是会烧毁金属中的孔。切换12伏电池电流的最便宜,最经济的方式是机电继电器(电磁继电器)。

问题在于,传统的汽车12伏继电器的最大额定电流为100安培,焊接过程中的短路电流要大很多倍。继电器电枢可能会简单地焊接。然后在大量的速卖通中,我遇到了一个摩托车启动继电器。人们认为,如果这些继电器承受起动器的电流并且承受数千次,那么它将对我有用。该视频最终在这里说服了,作者在这里经历了类似的转播:



我的中继是用253卢布购买,不到20天就到达了莫斯科。来自卖方网站的中继的特征:

  • 设计用于发动机为110或125立方米的摩托车
  • 额定电流-100安培,持续30秒
  • 绕组励磁电流-3安培
  • 专为5万次循环而设计
  • 重量-156克

接力运动员到达了一个整洁的纸板箱,打开包装后,散发出了中国橡胶的疯狂气味。罪魁祸首是金属盒上的橡胶外壳,气味一天都不会消失。



该装置对质量感到满意-触点下方引出了两个镀铜螺纹连接,所有电线均填充了防水化合物。



快速组装一个“测试台”,继电器触点手动闭合。电线使用4平方的单芯横截面,剥开的端子用端子板固定。出于安全原因,我为电池的一个端子提供了“安全环”-如果中继锚定要烧毁并短路,我将不得不拉动这根绳子的电池端子:



测试表明,该机器可以稳定运行五次。锚敲击声很大,电极发出清晰的闪光。继电器不粘。为了不浪费镍带和不使用危险的锂,他折磨了文书刀片。在照片中,您看到几个质量点和几个曝光过度的地方:



在刀片内部可以看到曝光过度的地方:



我们走得更远。正如刀片上的实验所示,无法维持手动焊接所需的脉冲长度,您需要通过时钟按钮或微控制器进行控制。

起初,他在功能强大的晶体管上堆积了一个简单的电路,但很快就想起继电器中的螺线管要吃掉3安培的电流。我在一个盒子里翻腾,找到了一个MOSFET IRF3205晶体管作为回报,并用它绘制了一个简单的电路:


电路非常简单-实际上是MOSFET,两个电阻-1K和10K,以及一个二极管,该二极管在继电器断电时保护电路免受螺线管感应的电流的影响。

首先,我们尝试在金属箔上试一下电路(咔嗒一声,它会烧穿多层孔),然后从zashnik上取出一条镍带,用于连接电池组件。短暂按下按钮,我们会发出大声的闪烁,并且我们认为孔已烧焦。记事本也可以做到这一点-不仅烧了镍,而且在其下还烧了几张纸:)



即使是焊接有两点的胶带也无法用手分开。

显然,该方案有效,取决于“快门速度和曝光”。如果您相信同一个YouTube朋友的示波器进行的实验(我通过启动继电器对其进行了侦探),那么断开锚点大约需要21毫秒的时间-我们将从这个时候开始跳舞。

YouTube AvE的用户与示波器上的SSR Fotek相比,测试了启动继电器的射速

我们对该方案进行了补充-而不是手动按下按钮,我们将把毫秒的倒计时交给Arduine。我们将需要:

  • Arduino本身 -Nano,ProMini或Pro Micro将会退出市场,
  • 带有220欧姆限流电阻的Sharp光电耦合器Sharp PC817-用于电隔离Arduino和继电器,
  • 降压模块,例如XM1584,可将电池的12伏特电压转换为对Arduins安全的5伏特电压
  • 我们还需要1K和10K电阻,一个10K电位计,一些二极管和任何蜂鸣器。
  • 最后,我们需要用镍带焊接电池。

提出我们的简单方案。我们将快门按钮连接到Arduino的D11引脚,通过10K电阻将其拉到地面。MOSFET-引脚D10,“高音扬声器”-引脚D9。电位器将极端触点连接到VCC和GND引脚,中间触点连接到Arduino引脚A3。如果愿意,可以将一个亮信号LED连接到D12引脚。



填写Arduino中不复杂的代码:

const int buttonPin = 11;    //  
const int ledPin = 12;       //    
const int triggerPin = 10;   // MOSFET  
const int buzzerPin = 9;     // 
const int analogPin = A3;    //   10    

//  :
int WeldingNow = LOW;
int buttonState;
int lastButtonState = LOW;

unsigned long lastDebounceTime = 0;
unsigned long debounceDelay = 50;    //    ,     .          

int sensorValue = 0;        //  ,      ...
int weldingTime = 0;        // ...     

void setup() {
  pinMode(analogPin,  INPUT);
  pinMode(buttonPin,  INPUT);
  pinMode(ledPin,     OUTPUT);
  pinMode(triggerPin, OUTPUT);
  pinMode(buzzerPin,  OUTPUT);
  digitalWrite(ledPin,     LOW);
  digitalWrite(triggerPin, LOW);
  digitalWrite(buzzerPin,  LOW);

  Serial.begin(9600);
}

void loop() {

  sensorValue = analogRead(analogPin); //  ,   
  weldingTime = map(sensorValue, 0, 1023, 15, 255); //        15  255
  Serial.print("Analog pot reads = ");
  Serial.print(sensorValue);
  Serial.print("\t so we will weld for = ");
  Serial.print(weldingTime);
  Serial.println("ms. ");

  //       ,       50,    :
  int reading = digitalRead(buttonPin);
  if (reading != lastButtonState) {
    lastDebounceTime = millis();
  }
  if ((millis() - lastDebounceTime) > debounceDelay) {
    if (reading != buttonState) {
      buttonState = reading;
      if (buttonState == HIGH) {
        WeldingNow = !WeldingNow;
      }
    }
  }

  //   ,  :
  if (WeldingNow == HIGH) {

    Serial.println("== Welding starts now! ==");
    delay(1000);

    //         :
    int cnt = 1;
    while (cnt <= 3) {
      playTone(1915, 150); //    : 1915, 1700, 1519, 1432, 1275, 1136, 1014, 956
      delay(500);
      cnt++;
    }
    playTone(956,  300);
    delay(1);

    //       MOSFET    :
    digitalWrite(ledPin,     HIGH);
    digitalWrite(triggerPin, HIGH);
    delay(weldingTime);
    digitalWrite(triggerPin, LOW);
    digitalWrite(ledPin,     LOW);

    Serial.println("== Welding ended! ==");
    delay(1000);

    //   -:
    WeldingNow = LOW;

  } else {
    digitalWrite(ledPin,     LOW);
    digitalWrite(triggerPin, LOW);
    digitalWrite(buzzerPin,  LOW);
  }

  lastButtonState = reading;
}

//     ,  :
void playTone(int tone, int duration) {
  digitalWrite(ledPin, HIGH);
  for (long i = 0; i < duration * 1000L; i += tone * 2) {
    digitalWrite(buzzerPin, HIGH);
    delayMicroseconds(tone);
    digitalWrite(buzzerPin, LOW);
    delayMicroseconds(tone);
  }
  digitalWrite(ledPin, LOW);
}

然后,我们使用串行监视器连接到Arduin,并旋转电位计以设置焊接脉冲的长度。我实验性地选择了25毫秒的长度,但是在您的情况下,延迟可能会有所不同。

通过按下快门释放按钮,Arduino将发出多次哔声,然后暂时打开继电器。在选择最佳脉冲长度之前,您需要先涂少量胶带,以使它焊接且不会在孔中燃烧。

因此,我们拥有一个简单,巧妙的焊接系统,该系统易于拆卸:关于安全的



一些重要说明

  • 焊接时,微小的金属飞溅物会飞散。不炫耀,戴安全眼镜,它们要花三便士。
  • , «» — . . , .
  • . .
  • , , 18650 — . , , 18650 . , .
  • , ( 11 ). , , «» , .

Source: https://habr.com/ru/post/zh-CN397975/


All Articles