Ремонт портативной техники - телефоны, КПК, навигаторы и типа того.
Ответить

Re: Хитро-умный аккумулятор.

Чт апр 06, 2023 18:24:18

вызов функции 00 не обязателен просто вызываем функцию 02 в режиме чтения 96 байт

это предложено для сравнения первых 96 байт из дампа (*.bin) и тем что прочиталось из того же места.
насколько я понимаю документ это будут разные картинки хотя и прочитаны из одного источника.

к чему это: вероятно в дампе уже адаптированные данные, а crc внутри считается по RAW данным.

Re: Хитро-умный аккумулятор.

Чт апр 06, 2023 19:18:07

вызов функции 00 не обязателен просто вызываем функцию 02 в режиме чтения 96 байт

это предложено для сравнения первых 96 байт из дампа (*.bin) и тем что прочиталось из того же места.
насколько я понимаю документ это будут разные картинки хотя и прочитаны из одного источника.

к чему это: вероятно в дампе уже адаптированные данные, а crc внутри считается по RAW данным.

Вы меня не поняли или я не так высказался !
Что с отправкой в блок 00 с параметрами 000000 что без считывается одни и те же байты по запросу к функции 02, нужно указать сколько нам байт нужно считать, в данном блоке их 96, если указать 2 байта то не считывается(ошибка -9) если более 2-х указать то считывается все равно 96 байт, к стати этих байт я в дампе не нашёл.

Если так то ошибка smbusb_comm -a 0x16 -c 02 -r 2
Если так smbusb_comm -a 0x16 -c 02 -r 96 или так smbusb_comm -a 0x16 -c 02 -r 4 то считывается все 96 байт !

В любом случае спасибо вам за отклик, далее возится с этой головоломкой не вижу смысла(неделю уже калупаюсь, достало), я уже начал разводку платы(аналог родных мозгов акб), спаяю её, прошью и поставлю в ноут, это избавит меня от всех этих дампов, блокировок и прочей байды.
Ладно всем душевное спасибо !

Re: Хитро-умный аккумулятор.

Пт апр 07, 2023 11:52:45

Всем привет!
Вот немного подправил Свой (раньше выкладывал)Karosium-TEST-32.bat
Вместо smbusb_comm использую свою (с цветом) - smbusb_comm_BQ20ZXX
Теперь читает EEProm flash и Program flash в BootRom(0x0f00) - режиме.
Выход из BootRom - отключаем питание от резистивной сборки, потом подключаем.
После выхода - В режиме SEALED...
Пока не пробовал прошивать... Этого нет. Названия файлов - фиксированные.
PROGRAM.bin и EEPROM.bin .
У меня остался ВОПРОС: не могу понять , как считать данные из SMBSubclass для чтения
Update Status, Qmax Cell, Cell R_a flag...
Вроде по описанию процедуры делаю правильно:
SMBWriteWord(0x16,0x77,0x0050); команда 0x77;SMB Slave Address (0x16);SMB CMD 0x77 with 0x0050 as data (=80 decimal)
Считывается 70 байт из страниц 0x78, 0x79, 0x7a...
А дальше я заблудился. Может кто подскажет как считываются данные Update Status, Qmax Cell, Cell R_a flag??
Архив с Karosium-TEST-32.bat имеет все файлы для WIN7 x32
Исходники для сборки - там-же.
Вложения
tools.zip
Karosium-TEST-32
(439.49 KiB) Скачиваний: 125

Re: Хитро-умный аккумулятор.

Пт апр 07, 2023 14:47:38

shura1971,
В адрес 0x77 пишем номер субкласса
С адресов 0x78 и далее читаем страницы (по 32 байта) с данными
Ищем по смещению нужны данные ...

В скетче с 314 строки смотрите !

Вам нужны первые (0x78) страницы субклассов 82 88 89 90 91 (это видно из таблиц документа sluu264a.pdf)

Re: Хитро-умный аккумулятор.

Пт апр 07, 2023 18:11:19

Komandir писал(а):В скетче с 314 строки смотрите !

Ну собственно я там и смотрю. Запутанно немного написано. Слишком много переходов на П/П и ПодП/П...
Но все равно - Спасибо за Скетч, пользуюсь как запасным.
Туда можно добавить и чтение EEprom. Места в Ардуинке вроде хватит...
8)
"это видно из таблиц документа sluu264a.pdf"
Как раз этим и пользуюсь...

Re: Хитро-умный аккумулятор.

Пт апр 07, 2023 18:56:50

Запутанно ??? Мне религия не позволяет не оформить код в подпрограмму, если он используется неоднократно.

Написано максимально ОТКРЫТО. Все приведения типов указаны. Никаких скрытых движений для запутывания алгоритмов нет.

Я вот не понимаю вашего рвения в Командный режим, если у вас на руках исходники утилиты (или я ошибаюсь ?) ?

Re: Хитро-умный аккумулятор.

Пт апр 07, 2023 22:02:32

Komandir писал(а):Я вот не понимаю вашего рвения в Командный режим, если у вас на руках исходники утилиты (или я ошибаюсь ?) ?

Все правильно, однако надо идти от простого к сложному...
Переделать на С++ код проще будет, когда алгоритм уже работает.
И ты знаешь как он работает. Был бы BASIC,- написал бы на нём!!!
Чем хорош Батник - его компилировать НЕ НАДО!! Просто сохранил - и он уже работает...
Я считаю, что красота тут не нужна. Главное чтобы работало...
:)))
Все работает, уже проверил. Спасибо за разьяснения!!!
:beer:
Выкладываю окончательный вариант Karosium-TEST-32.bat
Читает ВСЕ что нужно...
Отпишитесь, кому чего нравится или нет. Может чего добавить или убрать
Вложения
tools-new.zip
tools-new
(440.35 KiB) Скачиваний: 155

Re: Хитро-умный аккумулятор.

Вс апр 09, 2023 18:25:13

Всем здарова ! :beer:
Добился я результатов, без всякой пляски с бубном, типа контрольной суммы, платных программ по 100$ или поиску в дампе того или иного значения для редактирования !
Вот моя разработка аналог "Хитро-умного аккумулятора", правда не такой он и хитро умный оказался :)) , обычное слейв устройство, по обращению к которому идет слив иннфы в ноут, нет блокировок чипа(когда хочешь заменить старые ячейки на новые, ведь некоторые чипы то блокируются, емкость остается прежней и не обновляется), у меня же емкость после замены ячеек на новые вычисляет сам МК, после заряда и полного разряда средствами ноутбука.
Единственное это балансировка ячеек, пока не предусмотрена, вернее её можно организовать но тогда плату нужно делать двухстороннюю, на что у меня нет реактивов пока, в программу заложил алгоритм, если МК обнаружит разбаланс то он просто не даст ноуту заряжать акб, разбаланс устраняется внешним балансиром, но как показывает практика разбаланс с новыми одинаковыми ячейками не значителен и редко проявляется.
СпойлерИзображение

Вопрос еще вот в чем!, есть ведь тут умные радиолюбители почему вы уже столько лет ищите то бешку ломаную, то адаптеры разные покупаете, систему ХР чистую устанавливаете, ради того чтобы только вернуть акб в строй, ведь можно сделать свое устройство и не парится !, я любитель самоучка сделал на AVR на 8-й меге, а вы что хуже ?!
Если кто сомневается в работоспособности моего варианта, пишите под какой вам чип AVR перекомпилировать прошивку(естес-но прошивка демо, c фиксированными данными, ток, напруга, емкость и т.д) дабы убедились что устройство реально и оно работает.
Можно ардуину перепрошить и подключить к разъему ноута куда включается акб, и ноут увидит типа подключенный акб.

Re: Хитро-умный аккумулятор.

Вт апр 11, 2023 15:39:21

Всем добра! Подскажите добрым советом...
Краткая предыстория. Решил заменить банки в батарее своего ноута DELL с мыслью -да это же проще чем в шурике! Разумеется без задней мысли разобрал батарею, снял "старые" АКБ (без каких либо правил и последовательностей), которые к моему удивлению были ещё живые даже, поставил новые, с большей ёмкостью да ещё и высоко-токовые к тому же... А дальше как у большинства наверное -не завелось, начал разбираться (гуглить), обнаружил перегоревший предохранитель (пока замкнул временно) и узнал много нового... Контроллер собран на BQ8030DBT + BQ29330.
СпойлерИзображение
Изображение

Изучил по диагонали этот форум, насмотрелся разных видео, заказал CP2112, скачал дэмо B2W 4.31, затем правильную B2W 4.52, оживил XP.
В итоге имею:
DesignCapacity: 4320 10mWh
FullChargeCapacity: 3946 10mWh
CycleCount: 34
Date: 2011.06.17 yyyy.mm.dd
DesignVoltage: 10800 mV
ManufName: Sony Corp.
DeviceName: VGP-BPS26
SerialNumber: 031D
ChargingCurrent: 0 mA
ChargingVoltage: 12480 mV
DeviceChemistry: LION
Temperature: 26,5 C
Voltage: 11342 mV
Current: 0 mA
RelativeSOC: 0%
AbsoluteSOC: 0%
RemainingCapacity: 0 10mWh
Mfg1: 65535 integer
Mfg2: 65535 integer
Mfg3: 65535 integer
Mfg4: 65535 integer
SpecificationInfo: 1111 Hex
Battery Status:
RCA|INIT|

Ипром при выборе BQ8030 не читается (дэмо B2W кричит что ДЭМО; а B2W 4.52 выдаёт ошибку - Error at address 111h (0)). Пробовал выбрать другие варианты чипов, получил интересные/не понятные мне результаты...
СпойлерИзображение
Изображение
Изображение
Изображение
Изображение
Изображение

пытаться что то делать с ипромом под другие чипы не стал...
Собственно вопрос -его можно оживить как то, или уже поздно? Если можно, то прошу подсказать правильное направление...
Всем откликнувшимся по делу -ОГРОМНОЕ СПАСИБО!
Последний раз редактировалось somon Ср апр 12, 2023 00:24:00, всего редактировалось 2 раз(а).

Re: Хитро-умный аккумулятор.

Вт апр 11, 2023 20:41:39

somon писал(а):Voltage: 11342 mV
Current: 0 mA
RelativeSOC: 0%
AbsoluteSOC: 0%
RemainingCapacity: 0 10mWh
Mfg1: 65535 integer
Mfg2: 65535 integer
Mfg3: 65535 integer
Mfg4: 65535 integer

Вот тут и беда - вероятно не припаяли гдето конакт в сборке
Припаивайте резисторы (проверить все контакты) вместо сборки, подавайте 3 V на секцию. У вас вроде 9V
Потом и лезьте прогами в АКБ...

Re: Хитро-умный аккумулятор.

Вт апр 11, 2023 21:51:25

Вот тут и беда - вероятно не припаяли гдето конакт в сборке...

Не совсем понял -что вы имеете ввиду под "не пропаем в сборке" (про сопрошки вместо банок я знаю)?
1. банки собраны контактной сваркой. в их цепи проблем с контактами точно нет.
2. на плату все контакты от банок впаяны качественно, прошёлся сейчас мультимером по площадкам платы, везде есть напряжение, как общее так и по банкам.
пара фоток для общего понимания
СпойлерИзображение
Изображение

Re: Хитро-умный аккумулятор.

Ср апр 12, 2023 04:44:53

Voltage: 11342 mV
Current: 0 mA
RelativeSOC: 0%
AbsoluteSOC: 0%
RemainingCapacity: 0 10mWh
Mfg1: 65535 integer
Mfg2: 65535 integer
Mfg3: 65535 integer
Mfg4: 65535 integer

Я не зря выделил эти значения. При подключенных сваренных секциях общее Напряжение показывает Voltage: 11342 mV
Не показывает напряжения на секциях. Mfg3: 65535 integer
И при этом - RemainingCapacity: 0. это не возможно. Подпаяйте резисторы вместо секций, подайте 9V.
Попробуйте через программу DJI Battery Killer - может там прочитает.Внимательно пользуйтесь прогой - просто так ничего на нажимайте

Re: Хитро-умный аккумулятор.

Ср апр 12, 2023 11:27:23

Я не зря выделил эти значения. При подключенных сваренных секциях общее Напряжение показывает Voltage: 11342 mV
Не показывает напряжения на секциях. Mfg3: 65535 integer
И при этом - RemainingCapacity: 0. это не возможно. Подпаяйте резисторы вместо секций, подайте 9V.
Попробуйте через программу DJI Battery Killer - может там прочитает. Внимательно пользуйтесь прогой - просто так ничего на нажимайте

Вас понял, спасибо! Попробую по Вашему совету сделать всё...
Хотя странно конечно... Общее напряжение сборки действительно равно 11,34В, и по секциям ровно 3.78В (мерил на контрольных точках платы). Почему контроллер их не видит, не ясно.
В случае, если вдруг на резисторах "заведётся", то как перевести на банки -отключать от + к - и подключать в обратном порядке, или не снимая напряжения подключать банки параллельно схемы резисторов с их последующим удалением?

P.S. А по единственным флагам статуса батареи: RCA|INIT| -нет ни какого криминала?

Re: Хитро-умный аккумулятор.

Ср апр 12, 2023 13:01:43

somon писал(а):P.S. А по единственным флагам статуса батареи: RCA|INIT| -нет ни какого криминала?

Сначала добейтесь правильных показаний.

Re: Хитро-умный аккумулятор.

Ср апр 12, 2023 21:12:22

Archivarius писал(а):
vint777va писал(а):нашел программное обеспечение для работы с чипами... Каково же было моё удивление, интерфейс программы за неким исключением почти один в один похож с программой UBRT, поработать ещё не успел,

А вот это пожалуйста подробнее :-) Может и "программным обеспечением" поделитесь?

Конечно, мне не жалко (у буржуев позаимствовал), там сама прога весит метров 12, а апдейт к ней как я понял, метров 400 примерно архивом. Короче не получается что-то мне на сайт программу саму загрузить, выложу на гугл-диск, ссылки: сама прога, апдейт (примерно 400метров), даташит с подробностями и тонкостями на bq20z40-bq20z45. Данные с батареи считывал i2c-philips adapter, собранном на микрухе к561лн2 (на всякий случай вроде как полный аналог cd4049ae, на чём можно собрать 74HC05, 155лн2, в оригинальной схеме 74LS05, но не принципиально)


Привет. Не могли бы вы дать доступ?
Я новичок в обслуживании аккумуляторов.

veigalex@gmail.com

Re: Хитро-умный аккумулятор.

Ср апр 12, 2023 23:53:54

Сначала добейтесь правильных показаний.


Если коротко:
1. замена банок резисторами 470 Ом ситуацию не изменила (кроме показаний общего напряжения и нового флага разряда батареи). Напряжение по секциям на плате корректное.
СпойлерИзображение
Изображение

2. нашёл на 4PDA программу "DJi_Battery_Killer_ver.0.5beta2_01.02.2022_with_dlls" в ветке "Квадрокоптеры DJI - Аккумуляторные батареи", всё верно? пока не разобрался как с ней работать (буду разбираться), посмотрел только "Read Info" для доступных чипов, среди которых нет нужного...
СпойлерИзображение

СпойлерThis program is designed to unlock DJI Mavic batteries with BQ30Z55 and bq9003 (bq40z307) chips using the CP2112 HID USB to SMBus / I2C adapter. The program is distributed "as is" and the author is not responsible for any consequences caused by the fault of the program.
----------
DJi Battery Killer ver. 0.5 Beta 2
compiled 01.02.2022
Thanks to everyone who helped in the creation and testing of this program ;)
----------
use "Help" button to find the pinout
use "About" button for donate :)
----------
PS Who is in the AndroSean sect, please do not use this free program, use the UBRT program that AndroSean advertises :)
----------
File killer.ini opened successfully
Found 3 profile(s)
----------
BQ9003 CHIP SELECTED
----------
CP2112 HID USB to SMBus/I2C adapter successfully opened
CP2112 HID USB to SMBus/I2C adapter successfully configured
----------
ERROR: Could not write Block to 0x44
----------
(00) Manufacturer Access = 0xC0EF
(01) Remaining Capacity Alarm = 432 mAh
(02) Remaining Time Alarm = 10 min
(03) Battery Mode = 0x8001
(04) At Rate = 0 mA
(05) At Rate Time To Full = 65535 min(s)
(06) At Rate Time To Empty = 65535 min(s)
(07) At Rate OK = 1
(08) Temperature = 26 C
(09) Voltage = 9013 mV
(0A) Current = 0 mA
(0B) Average Current = 0 mA
(0C) Max Error = 0 %
(0D) RSOC = 0 %
(0E) ASOC = 0 %
(0F) Remaining Capacity = 0 mAh
(10) Full Charge Capacity = 3946 mAh
(11) Run Time to Empty = 65535 min(s)
(12) Average Time to Empty = 65535 min(s)
(13) Average Time to Full = 65535 min(s)
(14) Charging Current = 0 mA
(15) Charging Voltage = 12480 mV
(16) Battery Status = 0xA80
(17) Cycle Count = 34
(18) Design Capacity = 4320 mAh
(19) Design Voltage = 10800 mV
(1A) Cpecification Info = 0x1111
(1B) Manufacture Date = 0x3ED1 - 2011.06.17
(1C) Serial Number = 797
(20) Manufacturer Name = Sony CorJ
(21) Device Name = VGP-BPS26
(22) Device Chemistry = LION
(23) Manufacturer Data = 0x101223
ERROR: Could not perform SMBus read.
----------
BQ30Z55 CHIP SELECTED
----------
(00) Manufacturer Access = 0xC054
(01) Remaining Capacity Alarm = 432 mAh
(02) Remaining Time Alarm = 10 min
(03) Battery Mode = 0x8001
(04) At Rate = 0 mA
(05) At Rate Time To Full = 65535 min(s)
(06) At Rate Time To Empty = 65535 min(s)
(07) At Rate OK = 1
(08) Temperature = 26 C
(09) Voltage = 9010 mV
(0A) Current = 0 mA
(0B) Average Current = 0 mA
(0C) Max Error = 0 %
(0D) RSOC = 0 %
(0E) ASOC = 0 %
(0F) Remaining Capacity = 0 mAh
(10) Full Charge Capacity = 3946 mAh
(11) Run Time to Empty = 65535 min(s)
(12) Average Time to Empty = 65535 min(s)
(13) Average Time to Full = 65535 min(s)
(14) Charging Current = 0 mA
(15) Charging Voltage = 12480 mV
(16) Battery Status = 0xA80
(17) Cycle Count = 34
(18) Design Capacity = 4320 mAh
(19) Design Voltage = 10800 mV
(1A) Cpecification Info = 0x1111
(1B) Manufacture Date = 0x3ED1 - 2011.06.17
(1C) Serial Number = 797
(20) Manufacturer Name = Sony Corv
(21) Device Name = VGP-BPS26
(22) Device Chemistry = LION
(23) Manufacturer Data = 0x101223
ERROR: Could not perform SMBus read.
----------
BQ9006 CHIP SELECTED
----------
(00) Manufacturer Access = 0xC054
(01) Remaining Capacity Alarm = 432 mAh
(02) Remaining Time Alarm = 10 min
(03) Battery Mode = 0x8001
(04) At Rate = 0 mA
(05) At Rate Time To Full = 65535 min(s)
(06) At Rate Time To Empty = 65535 min(s)
(07) At Rate OK = 1
(08) Temperature = 26 C
(09) Voltage = 9008 mV
(0A) Current = 0 mA
(0B) Average Current = 0 mA
(0C) Max Error = 0 %
(0D) RSOC = 0 %
(0E) ASOC = 0 %
(0F) Remaining Capacity = 0 mAh
(10) Full Charge Capacity = 3946 mAh
(11) Run Time to Empty = 65535 min(s)
(12) Average Time to Empty = 65535 min(s)
(13) Average Time to Full = 65535 min(s)
(14) Charging Current = 0 mA
(15) Charging Voltage = 12480 mV
(16) Battery Status = 0xA80
(17) Cycle Count = 34
(18) Design Capacity = 4320 mAh
(19) Design Voltage = 10800 mV
(1A) Cpecification Info = 0x1111
(1B) Manufacture Date = 0x3ED1 - 2011.06.17
(1C) Serial Number = 797
(20) Manufacturer Name = Sony Corv
(21) Device Name = VGP-BPS26
(22) Device Chemistry = LION
(23) Manufacturer Data = 0x101223
ERROR: Could not perform SMBus read.
----------

информация из этого ПО так же не дала понимания о напряжении по секциям...
Прошу уточнить, я правильную прогу DJi_Battery_Killer нашёл?

Re: Хитро-умный аккумулятор.

Чт апр 13, 2023 08:55:12

у кого-то есть опыт unseal BQ40Z50? нужно распечатать, чтобы снять перманентные флаги

Re: Хитро-умный аккумулятор.

Чт апр 13, 2023 11:52:58

Если коротко:
1. замена банок резисторами 470 Ом ситуацию не изменила (кроме показаний общего напряжения и нового флага разряда батареи). Напряжение по секциям на плате корректное.
СпойлерИзображение
Изображение

Попробуйте подать напряжение не 9 вольт а 12 вольт на плату и на плюсовой контакт разъема акб на плате тоже подайте +12, некоторые мозги после отключения ячеек не работают корректно пока не даш напряжение на разъем. Попробуйте считать акб с напругой на разъеме и после отключите от разъема напругу и снова считайте. Возможно еще можно попробовать замкнуть контакт включения акб через резистор 5-10к на землю, он именуется по разному(SYS, PRESS, BAT, ID и т.д), но есть акб и без него, то есть вместо включения там на этом контакте стоит датчик температуры по которому мультик смотрит температуру акб.
Это из ДШ, для корректной работы 29330
СпойлерИзображение

Проверте частоту на этом контакте, если её нет или она кратковременна то работать корректно 29330 не будет.
СпойлерИзображение

Re: Хитро-умный аккумулятор.

Чт апр 13, 2023 13:25:14


Спасибо за информацию и советы, попробую вечерком...
Правда без кратковременной подачи плюсового питания на +вывод разъёма АКБ, контроллер вообще не читается/запускается. Каждый раз приходится делать эту процедуру при манипуляциях с питанием. Попробую не отключать его при чтении, и поднять напряжение до 12В, хотя 11.38В на ней было при впаянных банках.

P.S. если ещё будут какие рекомендации у кого либо, буду сильно благодарен за помощь! :beer:

Re: Хитро-умный аккумулятор.

Чт апр 13, 2023 14:18:01


Спасибо за информацию и советы, попробую вечерком...
Правда без кратковременной подачи плюсового питания на +вывод разъёма АКБ, контроллер вообще не читается/запускается. Каждый раз приходится делать эту процедуру при манипуляциях с питанием. Попробую не отключать его при чтении, и поднять напряжение до 12В, хотя 11.38В на ней было при впаянных банках.

P.S. если ещё будут какие рекомендации у кого либо, буду сильно благодарен за помощь! :beer:

Еще замеряйте напряжение на резисторах, оно может быть занижено так как флаги ошибок не убраны и контроллер пытается пережечь предохранитель чем может вызвать падение напряжения на резисторах, соответственно вызвать ошибку !
Вкратце опишу логику работы контроллеров, в паре (bqxxx + bq29330) они работают так, bqxxx общается с bq29330 по ай-ту-си шине, делает запись в регистры bq29330, мол хочу знать напряжение первой ячейки, bq29330 выводит деленное напряжение ячейки на CELL+(от 0 до почти 1-го вольта), bqxxx это напряжение через ацп преобразовывает в цифру далее умножает и делает вывод о ячейке и так с каждым параметром. То есть на этот вывод подается деленное напряжение каждой ячейки по очереди или всех ячеек сразу, также этим выводом считывается напряжение PACK, BAT. bq29330 управляет полевыми ключами, выдает напряжение на термистор, следит за током(заряда-разряда), балансирует ячейки, и если на ноге WDI нет генерации 32 кГц она блокируется, отключая всю периферию в том числе и ай-ту-си, от сюда и не верные значения ваших элиментов(я так предполагаю). Могла выйти из строя сама bq29330.
Ответить