Добрый день!
Принесли на посмотреть/реанимировать хитрый батарейный блок - сборка из 18650 формата 4s2p, контроллер BQ20Z75. Выходное напряжение с батареи отсутствует, но на банках сборки - 16В. Набрёл на эту тему и решил попытаться блок реанимировать. Ардуино давно в руки не брал… Откопал в закромах nano, установил оф. IDE (под Win10) скачал с гитхаба скетчи, запустил SmartBattery.ino, исправил в двух файлах библиотеки значение кэша (32 > 34), жму кнопку Upload и получаю множественные ошибки; в конце указано: “Compilation error: redefinition of ‘byte buff [34]’”. Эта строка (byte buff[34]
есть во всех четырёх скетчах. Прошу “помощи зала”… Спасибо!
видимо исправили так
byte buff [32]
byte buff [34]
показывайте, как правили.
Да просто открыл в текстовом редакторе файлы Wire.h и twi.h (лежат в C:\Users\hamrad\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\libraries\Wire\src) и исправил #define BUFFER_LENGTH 32 на #define BUFFER_LENGTH 34, #define TWI_BUFFER_LENGTH 32 на #define TWI_BUFFER_LENGTH 34.
Исправить надо только тут:
#ifndef TwoWire_h
#define TwoWire_h
#include <inttypes.h>
#include "Stream.h"
#define BUFFER_LENGTH 34
Скетч использует 12728 байт (41%) памяти устройства. Всего доступно 30720 байт.
Глобальные переменные используют 982 байт (47%) динамической памяти, оставляя 1066 байт для локальных переменных. Максимум: 2048 байт.
А как же это?
Исправил обратно на 32 в twi.h : всё равно не компилирует скетч - выкидывает ошибку Compilation error: redefinition of ‘byte buff [34]’.
что могу сказать, взял скетч из первого поста, поправил значение только в хидере, компилируется как видишь, что и где ты там наисправлял мне не ведомо (IDE 2.3.6)
TWI тут при чём, надо в Wire.h править
Всё, разобрался! Оказалось, что при запуске скетча SmartBattery.ino IDE подтягивал заодно остальные скетчи из этой же папки (ReadProgramFlash.ino, ReadEEPROM.ino, ReadAllSubclasses.ino) и компилировал всё в кучу. Удалил из папки всё, кроме SmartBattery.ino - компиляция и загрузка прошла успешно. Потренировался на скетче тов. shura1971 - также всё завелось и в putty информация отображается. Завтра буду подключаться к батарее.
Спасибо! 73 de R3TAR!
Pack Info...
DesignCapacity: 3600 mAh
FullChargeCapacity: 875 mAh
CycleCount: 370
Date: 2011.6.15
DesignVoltage: 7400 mV
ManufName: PG01A33323
DeviceName: DREAM36
SerialNumber: 003C Hex
ChargingCurrent: 0 mA
ChargingVoltage: 0 mV
DeviceChemistry: OTF0
Temperature: 27.70 C
Voltage: 800 mV
Current: 0 mA
RelativeSOC: 0 %
AbsoluteSOC: 0 %
RemainingCapacity: 0 mAh
VCELL4: 0 mV
VCELL3: 0 mV
VCELL2: 466 mV
VCELL1: 334 mV
SpecificationInfo: 0031 Hex
Battery Status: 4AD0 Hex
TCA|TDA|RCA|INIT|DSG|FD|
Operation Status: E075 Hex
PRES|FAS|SS|DSG|XDSG|XDSGI|R_DIS|QEN|
Sealed
Device Type: 0450 Hex
Firmware Version: 0105 Hex
Hardware Version: 00A6 Hex
можно пароль? чип 20z45
Прошу прощения за дубль…
Добрый день!
Подключился к батарее, считал данные. Контроллер BQ20Z75. Получилось вычитать данные (п.1 скетча). Состояние - Unsealed.
Если честно - не нашёл инструкций, как пользоваться скетчем, кроме последовательности команд 1,2,3,4,5,6,7,8 - 1,2,3,4,9. Не хотелось бы “закирпичить” батарею… Пожалуйста, взгляните на содержимое п.1:
Pack Info…
DesignCapacity: 4320 mAh
FullChargeCapacity: 3037 mAh
CycleCount: 35
Date: 2017.8.29
DesignVoltage: 14400 mV
ManufName: SUNWODA
DeviceName: 4S2P
SerialNumber: 3558 Hex
ChargingCurrent: 0 mA
ChargingVoltage: 0 mV
DeviceChemistry: NCM
Temperature: 29.30 C
Voltage: 16137 mV
Current: 0 mA
RelativeSOC: 99 %
AbsoluteSOC: 70 %
RemainingCapacity: 2999 mAh
VCELL4: 4034 mV
VCELL3: 4034 mV
VCELL2: 4034 mV
VCELL1: 4035 mV
SpecificationInfo: 0031 Hex
Battery Status: 48E0 Hex
TCA|TDA|INIT|DSG|FC|
Operation Status: 0443 Hex
LDMD|DSG|VOK|QEN|
Unsealed
Pack in Full Access mode
UnSealKey: 04143672 Hex
FullAccessKey: FFFFFFFF Hex
PFKey: 26731712 Hex
MaxError: 1 %
SafetyStatus: OK
PFStatus: OK
Charging Status: OK
FETControl: OK
Update Status: 14
Qmax Cell0: 2705
Qmax Cell1: 2682
Qmax Cell2: 2661
Qmax Cell3: 2666
Qmax Pack : 2661
Cell0 R_a flag: 0000
Cell1 R_a flag: 0055
Cell2 R_a flag: 0000
Cell3 R_a flag: 0000
Device Type: 0750 Hex
Firmware Version: 0181 Hex
Hardware Version: 00A6 Hex
Manufacturer Status: 8F0A Hex
FET1|STATE3|STATE2|STATE1|STATE0|
Chemistry ID: 0262 Hex
BatteryMode: E001 Hex
CapM|ChgM|AM|ICC|
не знаю насколько лучше или хуже, владелец mindray ноутука узи. акумы фирменные, завтр по вашей методике все таки планирую занятся и попробовать. надеюсь прокатит. но вот вопрос. их там 2 в одном ноуте, они иденчиные. но я так понимаю коды разблокировки разные?
Да все нормально - Ищите на разьеме СисПрес - его на землю
Добрый день. Есть такой (PRES1), замыкал - на выходе батареи по-прежнему пусто. При подключении внешнего питания (имитация заряда) - ток потребления нулевой. Также, вычитывал батарею при замкнутом pres и сравнивал с прошлой вычиткой - никакой разницы. Пока решил немного подразрядить батарею лампочкой. Может быть, надо сделать сброс счётчика? Я пока кроме п.1 ничего не делал…
Пробуйте немного разрядить АКБ через разьем - у вас флаг FC
Разряд до 94% хотябы
Потом пробуйте найти СисПрес на разьеме - ищите схему Ноутбука - там схема подключения АКБ. На схеме видно - что надо замыкать на землю
Попробовал разрядить лампочкой до примерно 3В на банку - результат тот же. Батарея у меня не ноутбучная: вот тут обсуждалась похожая проблема с аналогичной батареей - там и фото есть. Информационные контакты подписаны как PRES1, SMBD2, CPIO1, SMBC2. Ардуиино подключена к smbc, smbd и “земле” - батарея вычитывается.
На свой страх и риск указал #define new_capacity 3200 и выполнил пункты 1 2 5 6 7 8 1 2 9. Пункты 3 и 4 пропустил, т.к. при вычитке увидел
Unsealed
Pack in Full Access mode
UnSealKey: 04143672 Hex
FullAccessKey: FFFFFFFF Hex
Теперь имею RemainingCapacity: 0 mAh, MaxError: 142 %, ну и некоторые изменения во флагах и hex-кодах состояний…
Pack Info...
DesignCapacity: 3200 mAh
FullChargeCapacity: 3027 mAh
CycleCount: 0
Date: 2025.9.2
DesignVoltage: 14400 mV
ManufName: SUNWODA
DeviceName: 4S2P
SerialNumber: 3558 Hex
ChargingCurrent: 0 mA
ChargingVoltage: 0 mV
DeviceChemistry: NCM
Temperature: 27.70 C
Voltage: 12165 mV
Current: 0 mA
RelativeSOC: 0 %
AbsoluteSOC: 0 %
RemainingCapacity: 0 mAh
VCELL4: 3003 mV
VCELL3: 3018 mV
VCELL2: 3021 mV
VCELL1: 3123 mV
SpecificationInfo: 0031 Hex
Battery Status: 4AD0 Hex
TCA|TDA|RCA|INIT|DSG|FD|
Operation Status: 0463 Hex
LDMD|DSG|XDSG|VOK|QEN|
Unsealed
Pack in Full Access mode
UnSealKey: 04143672 Hex
FullAccessKey: FFFFFFFF Hex
PFKey: 26731712 Hex
MaxError: 142 %
SafetyStatus: 0080 Hex
CUV|
PFStatus: OK
Charging Status: OK
FETControl: OK
Update Status: 14
Qmax Cell0: 2705
Qmax Cell1: 2682
Qmax Cell2: 2661
Qmax Cell3: 2666
Qmax Pack : 2661
Cell0 R_a flag: 0000
Cell1 R_a flag: 0055
Cell2 R_a flag: 0000
Cell3 R_a flag: 0000
Device Type: 0750 Hex
Firmware Version: 0181 Hex
Hardware Version: 00A6 Hex
Manufacturer Status: 8F0A Hex
FET1|STATE3|STATE2|STATE1|STATE0|
Chemistry ID: 0262 Hex
BatteryMode: E081 Hex
CapM|ChgM|AM|CF|ICC|
Тут ошибка выскочила - стираем ошибки
А как? Что-то я не нашёл, как это сделать… Если выбрать 2. Pack Reset. и после 1. Read pack info., то - да, появляется : SafetyStatus: OK. Но если снова ещё раз выполнить п.1, то значение опять меняется на 0080 Hex…
В общем, подключил батарею к боксу с внешним контроллером (напомню - батарея от питания кэша СХД), подал напряжение и перевёл в режим заряда: светодиод на плате контроллера бокса стал мигать зелёным. Ранее контроллер поднимал напряжение до 16,5В (ключи на плате в батарее , полагаю, были закрыты) и через несколько секунд отключался, мигая красным светодиодом. Сейчас напряжение на батарее стало расти, ЛБП нагрузился - полагаю, ключи открылись. Буду ждать результата…
Pack Info...
DesignCapacity: 4381 mAh
FullChargeCapacity: 3612 mAh
CycleCount: 760
Date: 2018.11.26
DesignVoltage: 11490 mV
ManufName: SMP
DeviceName: bq20z451
SerialNumber: 0001 Hex
ChargingCurrent: 0 mA
ChargingVoltage: 0 mV
DeviceChemistry: LION
Temperature: 34.40 C
Voltage: 7976 mV
Current: 0 mA
RelativeSOC: 0 %
AbsoluteSOC: 0 %
RemainingCapacity: 0 mAh
VCELL4: 0 mV
VCELL3: 2706 mV
VCELL2: 2801 mV
VCELL1: 2469 mV
SpecificationInfo: 0031 Hex
Battery Status: 4890 Hex
TCA|TDA|INIT|FD|
Operation Status: E425 Hex
PRES|FAS|SS|LDMD|XDSG|R_DIS|QEN|
Sealed
Device Type: 0451 Hex
Firmware Version: 1002 Hex
Hardware Version: 00A6 Hex
можно ключ от макбуковской акб на bq20z451?
У Apple своя прошивка внутри чипа.
