Перепаковка батареи ноутбука аккумуляторами NCR18650B

  • Цена: $7.87 — 4 шт.
  • Узнав из обзора ув. Кирича что дешевые китайские аккумуляторы NCR18650B на 3400 мАч из магазина VariCore выдерживают 450 циклов заряд-разряд с сохранением 85% изначальной емкости, было принято решение заменить ими пришедшие в негодность аккумуляторы 18650 в батарее моего ноутбука Clevo P157SM, цена на новую которого не отличается гуманностью.

    В обзоре описана перепрошивка контроллера батареи и представлены графики тестирования самодельной электронной нагрузкой как одиночных аккумуляторов, так и батареи в целом.

    Китайские аккумуляторы NCR18650B

    Я выбрал удобный для моего случая вариант с наваренными отводами из никелевой ленты. Способ отправки зависит от количества заказанных аккумуляторов. Заказывал двумя заходами по $7.87 за 4 шт. Аккумуляторы дошли за 30 дней транспортной компанией СДЭК, заряженными до напряжения 3.65В.

    Упакованы в стандартный желтый пупырчатый пакет — внутри коробочка из белого картона, в которой находятся аккумуляторы, завернутые в полиэтиленовый пакет.
    Перепаковка батареи ноутбука аккумуляторами NCR18650B

    Перепаковка батареи ноутбука аккумуляторами NCR18650B

    На аккумуляторах гордо красуется китайская надпись «MADE IN JAPAN».

    Перепаковка батареи ноутбука аккумуляторами NCR18650B

    Со стороны плюсового вывода установлена диэлектрическая шайба в целях защиты от КЗ. Полоски никелевой ленты помещены в термоусадку.

    Перепаковка батареи ноутбука аккумуляторами NCR18650B

    Перед установкой в батарею я проверяю емкость каждого аккумулятора при разряде током 0.2C=680мА, предварительно сделав один цикл разряд-заряд (схема электронной нагрузки в конце обзора).

    Результаты получились ровные. По емкости претензий нет.

    1. Аккумулятор 1 — 3 438 мА·ч, 12 530 мВт⋅ч
    2. Аккумулятор 2 — 3 215 мА·ч, 11 615 мВт⋅ч
    3. Аккумулятор 3 — 3 254 мА·ч, 11 899 мВт⋅ч
    4. Аккумулятор 4 — 3 250 мА·ч, 11 846 мВт⋅ч
    5. Аккумулятор 5 — 3 285 мА·ч, 11 774 мВт⋅ч
    6. Аккумулятор 6 — 3 268 мА·ч, 11 944 мВт⋅ч
    7. Аккумулятор 7 — 3 248 мА·ч, 11 772 мВт⋅ч
    8. Аккумулятор 8 — 3 276 мА·ч, 11 908 мВт⋅ч
    График разряда аккумуляторов по сравнению с графиком из даташита на NCR18650B.
    У всех аккумуляторов характер разрядной кривой при токе 0.2C идентичен и походит на аналогичный график оригинальных NCR18650B.Перепаковка батареи ноутбука аккумуляторами NCR18650B

    График разряда из даташита на оригинальные NCR18650B.Перепаковка батареи ноутбука аккумуляторами NCR18650B

    Перепаковка

    После расщелкнивания пластиковых защелок по периметру батареи P157SMBAT-8 нашему взору предстает плата управления и 8 аккумуляторов 18650 (две нижние пары — оригинальные Samsung ICR8650-26H, две верхние пары — попытка поставить б/у аккумуляторы ICR8650-26F). Фотография сделана со старыми аккумуляторами уже с припаянными сигнальными проводами.

    Перепаковка батареи ноутбука аккумуляторами NCR18650B

    Аккумуляторы соединены попарно последовательно по схеме 4S2P с отводами от каждой пары, уходящими в плату управления. Во избежание самоблокировки контроллера батареи отпаивать выводы от платы нужно по убыванию напряжения относительно VGround — сначала VPlus, потом VHigh, VMedium, VLow и в конце VGround.

    Перепаковка батареи ноутбука аккумуляторами NCR18650B

    На плате управления установлен контроллер, фиксирующий изменение емкости аккумуляторов. Поэтому без корректировки прошивки контроллера установка новых элементов не даст нам увеличившегося времени работы ноутбука.

    Диагностические данные аккумуляторной батареи ноутбука можно считать, подключившись через шину SMBus. Для этого нужно определить выводы SCL, SDA и GND на разъеме батареи ноутбука (определить их можно перебором, исключив плюс батареи, либо найдя разъем батареи на схеме своего ноутбука) и реализовать подключение посредством одного из вариантов:

    • Arduino со скетчем под названием PackProbe
    • USB мост на CP2112 либо адаптер EV2300/EV2400 через программу BE2Works
    • LPT Philips адаптер либо EV2300 через программу UBRT

    Мне повезло, т.к. прошивка контроллера Neotec NT1908 моей батареи лежит во внешней EEPROM микросхеме памяти 24c02. Ее можно считать народным программатором на CH341A и вручную поправить в HEX редакторе, а также можно исправить в демо версии BE2Works (для запуска нужен указанный выше адаптер) и бесплатной версии UBRT (для запуска тоже нужен адаптер). Некоторые контроллеры запаролены и требуют платных версий утилит для редактирования доступа к прошивке. Цена на них делает перепаковку нецелесообразной, однако есть варианты небольшой разовой платы для снятия пароля через удаленное подключение.

    Вот что выдает нам батарея через диагностический порт.

    DesignCapacity: 5200 mAh
    
    FullChargeCapacity: 2710 mAh
    CycleCount: 80
    Date: 2013.08.03 yyyy.mm.dd
    DesignVoltage: 14800 mV
    ManufName: SMP-SDI26H
    DeviceName: P150HM
    SerialNumber: 01CE
    ChargingCurrent: 3000 mA
    ChargingVoltage: 16800 mV
    DeviceChemistry: LION
    Temperature: 23,4 C
    Voltage: 16482 mV
    Current: 0 mA
    RelativeSOC: 98%
    AbsoluteSOC: 51%
    RemainingCapacity: 2665 mAh
    VCELL4: 4158 mV
    VCELL3: 4046 mV
    VCELL2: 4107 mV
    VCELL1: 4165 mV
    SpecificationInfo: 0000 Hex
    Battery Status:
    INIT|DSG|

    Всего 80 циклов, а батарея уже не держит нагрузки. Т.к. пары аккумуляторов соединены последовательно, то емкость батареи определяется емкостью наименьшей пары. Моя батарея пришла в негодность из-за одной пары с радикально меньшей емкостью. При токе нагрузки 1000мА, когда эта пара была разряжена до 2.5В на остальных трех парах было 3.8В. Этим объясняется внезапное отключение ноутбука при показателе разряженности батареи порядка 85%.

    Если заменить только дефектные аккумуляторы на новые, то при полных циклах разряда-заряда батареи они не будут отдавать полной емкости, разряжаясь до более высокого напряжения, нежели остальные 18650. Во избежание наличия ёмкости, не идущей в полезную работу, последовательно соединенные аккумуляторы в батарее должны быть близки по кривой напряжение-емкость на разряде.

    Скачиваем из EEPROM 24C02 прошивку размером 256 байт и обнуляем в HEX редакторе количество циклов разряда, меняем дату производства на текущую (в Big endian), меняем емкость полного заряда, а также паспортную емкость (т.к. емкость наших аккумуляторов выше стоявших до этого) на соответствующую нашим аккумуляторам.

    Перепаковка батареи ноутбука аккумуляторами NCR18650B

    Прошиваем отредактированную прошивку, заряжаем наши аккумуляторы до напряжения V = BattDesignVoltage / NumberSeriesConnection = 14.8 / 4 = 3.7В. Спаиваем в пакет и припаиваем их к плате по принципу увеличивающихся напряжений относительно VGround — сначала VG, потом VL, VM, VH, VP (хотя контроллер NT1908 и не блокируется при несоблюдении этого условия) и собираем все в корпус.

    Перепаковка батареи ноутбука аккумуляторами NCR18650B

    Диагностические данные после прошивки.
    DesignCapacity: 6800 mAh
    
    FullChargeCapacity: 6800 mAh
    CycleCount: 0
    Date: 2020.01.19 yyyy.mm.dd
    DesignVoltage: 14800 mV
    ManufName: SMP-SDI26H
    DeviceName: P150HM
    SerialNumber: 01CE
    ChargingCurrent: 3000 mA
    ChargingVoltage: 16800 mV
    DeviceChemistry: LION
    Temperature: 25,7 C
    Voltage: 14967 mV
    Current: 0 mA
    RelativeSOC: 39%
    AbsoluteSOC: 39%
    RemainingCapacity: 2665 mAh
    VCELL4: 3738 mV
    VCELL3: 3736 mV
    VCELL2: 3749 mV
    VCELL1: 3740 mV
    SpecificationInfo: 0000 Hex
    Battery Status:
    INIT|DSG|

    Теперь нужно полностью зарядить батарею через штатный интерфейс. Подключаем батарею к ноутбуку и заряжаем до 100%. При достижении отсечки по потребляемому току наступит момент скачкообразного перехода от некоего текущего показателя заряда к 100%. Это нормальное явление, проявляющееся только в процессе первой зарядки и свидетельствующее о калибровке контроллера батареи.

    В процессе изысканий я умудрился создать ситуацию, когда контроллер батареи подал сигнал на оплавление трехвыводного термопредохранителя.
    Это предохранитель, срабатывающий от тепла, создаваемого встроенным низкоомным резистором, либо мосфетами, с которыми он имеет термосвязь через керамическую подложку.

    Перепаковка батареи ноутбука аккумуляторами NCR18650B

    Он обведен синим овалом.

    Перепаковка батареи ноутбука аккумуляторами NCR18650B

    Нужно восстановить легкоплавкую перемычку. Для этого счищаем слой лака в районе переходного отверстия, залуживаем открывшийся медный пятачок и от него припоем восстанавливаем плавкую дорожку к двум силовым контактам. Излишки припоя стачиваем надфилем и подчищаем скальпелем.

    Перепаковка батареи ноутбука аккумуляторами NCR18650B

    Калибровка батареи

    Перед эксплуатацией батареи нужно провести полный цикл разряд-заряд, чтобы контроллер надежно зафиксировал стартовую емкость и откалибровался. Это можно сделать через ноутбук, сначала дождавшись автоматического отключения ноутбука из операционной системы по разряду батареи и далее, загрузившись в UEFI, дождаться повторного самопроизвольного отключения.

    Но я предпочитаю калибровать батарею электронной нагрузкой, контролируя диагностические данные демо-версией программы BE2Works с помощью адаптера на CP2112. Для этого контакт «BAT Detection» батареи через резистор 500 Ом замыкается на землю, чтобы сэмулировать подключенный ноутбук. При достижении указанного порога напряжения программа отключит нагрузку.

    Перепаковка батареи ноутбука аккумуляторами NCR18650B

    Схема подключения электронной нагрузки на LM317 к батарее ноутбука с управлением через BE2Works
    Батарея нагружается на LM317 в режиме ограничения тока. Подключение нагрузки можно было сделать на n-канальном мосфете, тогда отпала бы необходимость в биполярном транзисторе.Перепаковка батареи ноутбука аккумуляторами NCR18650B

    Контроль емкости единичного аккумулятора осуществляется самодельной электронной нагрузкой, выполненной по классической схеме на полевом транзисторе, за током истока которого следит операционный усилитель. Опорное напряжение берется с платы Arduino. В схеме предусмотрен мониторинг тока разряда и напряжения аккумулятора, а также отключение нагрузки по пороговому значению напряжения ключом Q2. Можно было бы обойтись и без ОУ, реализовав мониторинг тока истока мосфета и управление затвором средствами Ардуино. Думаю, быстродействия Atmega328p хватило бы.

    Перепаковка батареи ноутбука аккумуляторами NCR18650B

    Скетч два раза в секунду выводит в последовательный порт лог значений напряжения аккумулятора, тока разряда, прошедшего времени в минутах и текущей энергоемкости в мВт*ч в формате Serial Port Plotter — программы для построения графиков по данным COM-порта. При достижении 2.5В на элементе процесс разряда прекращается и выводится емкость в мА*ч и мВт*ч.

    Скетч Arduino
    Для получения достоверных данных тока и напряжения необходимо вписать замеренные параметры резисторов делителя напряжения, истокового резистора и сопротивление открытого канала коммутирующего нагрузку мосфета.
    #include <Arduino.h>
    
    #define MOSFET_Pin 2
    #define Bat_Pin A0
    #define Shunt_Pin A1
    const unsigned long Vsup = 1100; //Опорное напряжение Arduino в мВ, относительно него мерим напряжение батареи
    unsigned long mA = 0;
    unsigned long Bat_Volt = 0;
    unsigned long Bat_Volt_Prev = 0;
    unsigned long Shunt_Volt = 0;
    float Bat_Source = 0.0;
    float Shunt_Source = 0.0;
    unsigned long time = 0;
    unsigned long time_Prev = 0;
    const float R1 = 211.5;
    const float R2 = 48.3;
    const float k = R2 / (R1 + R2);
    const float Rshunt = 0.2776; //Сопротивление токоизмерительного резистора в цепи истока + сопротивление открытого канала коммутирующего мосфета
    unsigned long Capacity = 0;
    float EnergyHour = 0;
    void setup()
    {
    Serial.begin(9600);
    pinMode(MOSFET_Pin, OUTPUT);
    digitalWrite(MOSFET_Pin, LOW);
    analogReference(INTERNAL);
    }
    void loop()
    {
    for (int i = 0; i < 100; i++) { //Накапливаем измерения за 2мс*100 и делим на количество отсчетов: 100, т.е. усредняем
    Bat_Source = Bat_Source + analogRead(Bat_Pin);
    delay(2);
    }
    Bat_Source = Bat_Source / 100.0;
    Bat_Volt = map(round(Bat_Source), 0, 1023, 0, round(Vsup / k)); //Переводим данные из формата АЦП в мВ
    for (int i = 0; i < 100; i++) { //Накапливаем измерения за 2мс*100 и делим на количество отсчетов: 100, т.е. усредняем
    Shunt_Source = Shunt_Source + analogRead(Shunt_Pin);
    delay(2);
    }
    Shunt_Source = Shunt_Source / 100.0;
    Shunt_Volt = map(round(Shunt_Source), 0, 1023, 0, Vsup); //Переводим данные из формата АЦП в мВ
    time = millis();
    EnergyHour += 0.5 * (Bat_Volt + Bat_Volt_Prev) / 1000 * (Shunt_Volt / Rshunt) * (time - time_Prev); //Интегрируем мгновенную мощность по времени методом трапеций
    time_Prev = time;
    Bat_Volt_Prev = Bat_Volt;
    if (Bat_Volt > 2500) {
    digitalWrite(MOSFET_Pin, HIGH);
    }
    else {
    digitalWrite(MOSFET_Pin, LOW);
    Capacity = round((Shunt_Volt / Rshunt) * (time / 1000 / 60.0 / 60.0));
    Serial.println("Voltage < 2.5 Volt, Measure end");
    Serial.print(Capacity); Serial.println(" mA⋅h");
    Serial.print(round(EnergyHour / 1000 / 60.0 / 60.0)); Serial.println(" mW⋅h");
    while(1);
    }
    Serial.print("$");
    Serial.print(Bat_Volt); Serial.print(" ");
    Serial.print(round(Shunt_Volt / Rshunt)); Serial.print(" ");
    Serial.print(time / 1000 / 60.0); Serial.print(" ");
    Serial.print(round(EnergyHour / 1000 / 60.0 / 60.0));
    Serial.println(";");

    delay(100);
    }
    Мониторинг разряда аккумулятора в Serial Port Plotter
    Можно было организовать передачу данных из COM-порта напрямую в Excel с интерактивным построением графика посредством, например, макроса PLX-DAQ либо программой Advanced serial data logger.Перепаковка батареи ноутбука аккумуляторами NCR18650B

    О деградации батареи при питании ноутбука от сети.

    Зарядившись до 100%, контроллер моей батареи даст зарядный ток только после наличия разрядного тока через штатный электроинтерфейс. Поэтому деградация элементов 18650 при постоянно подключенной зарядке будет происходить только ввиду нахождения их в состоянии полной заряженности, т.к. настройки «заряжать только до 50%» в UEFI моего ноутбука нет. При таком режиме необходимо минимум раз в месяц полностью разряжать батарею, чтобы поддерживать на должном уровне необходимые химические процессы в литий-ионных элементах.

    Выводы

    Судя по диагностическим данным, при работе от батареи на Win10 (моя конфигурация i7 4700MQ, 16ГБ DDR3 2133МГц) с 75% яркостью экрана, потребляемая мощность в простое составляет 19Вт. При просмотре Youtube-ролика в FHD качестве через Chrome на кодеке VP9 с декодированием интегрированным ГП мощность возрастает до 30Вт (что составляет около трех часов работы от батареи). За небольшие деньги я получил новую батарею с емкостью на треть выше заводской и ощутил огромное удовольствие от нескольких вечеров, посвященных инженерным изысканиям в новой для себя области.Перепаковка батареи ноутбука аккумуляторами NCR18650B

    Вместо послесловия

    Из-за плохого контакта в micro-USB разъеме я сжег микросхему CP2112 в плате моста. Т.к. возможность считывать диагностические данные батареи средствами Arduino я обнаружил гораздо позже и повторно заказывать платку на CP2112 не хотелось, был сделан ход конем и заказаны бесплатные (включая доставку) демонстрационные образцы микросхемы CP2112 непосредственно у производителя silabs.com. Дошло за 5 дней курьерской доставкой из американского отделения mouser.com. Порадовало, что микросхемы оказались последней третьей ревизии, как и задумано автором программы BE2Works, а не второй, обычно продающейся в составе плат моста на Aliexpress.

    Ввиду отсутствия паяльного фена неоднократные попытки заменить микросхему в корпусе QFN24 (размером 4 х 4мм) с помощью пайки на утюге и в духовке не увенчались успехом. Но я не сдался и за три часа с лупой и паяльником реализовал схему подключения CP2112 навесным монтажом на монтажной плате. А потом я обнаружил, что диагностические данные батареи можно считывать средствами Arduino (в процессе инженерных изысканий я сжег I²C порты своей Arduino nano v3) и впал в состояние катарсиса.

    Мост CP2112 на монтажной плате. Слабонервным не смотреть!!!
    Да-да, я знаю, что не отмыть флюс (а дома у меня только канифоль) — это как не смыть после себя в клозете, но было страшно лишний раз касаться тонюсеньких проводков.Перепаковка батареи ноутбука аккумуляторами NCR18650B
Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: