Батареи DJI. Проблемы и решения

Чехус

Кстати, кто то пробовал заблокированную батарею М1 вставлять в родную зарядку?
Что там с индикацией?

sfs_don
mixeysan:

уже пашет как на bq30z55

На BQ30Z55 1 не получилось. По крайней мере с имеющейся у меня прошивкой.
Информацию читает так же кривенько, как и ВЕ и тоже иногда со сбоями по шине (но это, видимо, уже проблемы 2112), ключи якобы подбирает (каждый раз разные похоже) и расеаливает, ошибки якобы снимает, чип якобы ресетит, но на самом деле ничего этого не выполняется, FW не читается по причине залоченности чипа, а инфа о состоянии после всех этих действий остается неизменной.
Но к батареям коптеров это, конечно, отношения не имеет - спасибо за предоставленную возможность убедиться в правильности решения про утилизацию 😃

mixeysan
sfs_don:

На BQ30Z55 1 не получилось. По крайней мере с имеющейся у меня прошивкой.
Информацию читает так же кривенько, как и ВЕ и тоже иногда со сбоями по шине (но это, видимо, уже проблемы 2112), ключи якобы подбирает (каждый раз разные похоже) и расеаливает, ошибки якобы снимает, чип якобы ресетит, но на самом деле ничего этого не выполняется, FW не читается по причине залоченности чипа, а инфа о состоянии после всех этих действий остается неизменной.
Но к батареям коптеров это, конечно, отношения не имеет - спасибо за предоставленную возможность убедиться в правильности решения про утилизацию 😃

Думаю дело не в CP2112. Будь у вас EV2300/EV2400 то была бы такая же картина.
Full Access кнопочку пробовали нажимать? Что после этого происходит?
Если при нажатии на кнопку Unseal в основном окне программы чип отдает CHALLENGE то по этому челенджу и 128 бит ключу что в строке Key(128bit) происходит расчет Digest, который потом отправляется в чип. Но этот расчет происходит при использовании дефолтного ключа 0123456789ABCDEFFEDCBA9876543210, если у вас ключь не дефолтный и вы его не знаете то пробуйте кнопочку Full Access(пока только проверено на BQ30Z55 от DJi Phantom батарейке), после чего будет получен полный доступ и ключи должны поменяться на дефолтные. После этого если чип снова засеалится то можно рассеалить с помощью дефолтного ключа и полученного от него DIGEST.
И еще - попробуйте отключить MSP430 от BQ30Z55 на шине i2c, т.к. MSP может вносить помеху т.к. два мастерустройства (MSP430 + CP2112) на одной шине i2c возможны, но они не должны друг-другу мешать.

PS Внимание. Работу с BQ30Z55 нужно производить с отключенным MSP430 от BQ30Z55. Любыми способами - выключения с кнопки, занижением питания на MSP, до физического временного перерезания дорожек SCL и SDA между MSP430 и BQ30Z55

Vovan_sar
sfs_don:

в правильности решения про утилизацию

в личку написал.

sfs_don
mixeysan:

Full Access кнопочку пробовали нажимать?

Первоначально нет, но сейчас попробовал. Несколько раз ничего не происходило. Ну то есть все как обычно, что-то там делает, пишет ОК, но по факту результата нет, Boot не пускает, пишет засеален. Но в какой-то из попыток Boоt вроде как написал что доступ получен и я поначалу обрадовался. Оказалось рано 😃 Прочитал FW. Якобы прочитал и сохранил, но после этого в Info бред, ничего не работает, короче контроллер ёк судя по всему и муки выбора отпали по определению 😃

mixeysan:

Работу с BQ30Z55 нужно производить с отключенным MSP430 от BQ30Z55.

В моем контроллере стоит только BQ30Z551

mixeysan
sfs_don:

Первоначально нет, но сейчас попробовал. Несколько раз ничего не происходило. Ну то есть все как обычно, что-то там делает, пишет ОК, но по факту результата нет, Boot не пускает, пишет засеален. Но в какой-то из попыток Boоt вроде как написал что доступ получен и я поначалу обрадовался. Оказалось рано 😃 Прочитал FW. Якобы прочитал и сохранил, но после этого в Info бред, ничего не работает, короче контроллер ёк судя по всему и муки выбора отпали по определению 😃

В моем контроллере стоит только BQ30Z551

Ха! Если в бут попали и прочитало FW (и должно EEPROM читать также) то чип рассеалился. Когда чип находится в BootMode то считываться инфа правильно не будет, все так и есть, так как чип находится в другом режиме. Скорее всего в чипе или чтото с еепром не так и/или чип “колбасит”. Прочитайте для начала дампы с него в Boot режиме. Если дампы действительно прочитаются и там будет не рендомный мусор то поищите дамп с такого же BMS и попробуйте записать заведомо рабочий EEPROM (к сожалению CP2112 не может писать FW в BQ30Z55 изза особенностей длины блока). Да, будут калибровки несоответствовать, но это мелочи, главное чтобы ваша BMS заработала. По крайней мере уже рисковать нечем 😃
PS Если чип колбасит то чип после расселивания будет снова засеаливаться, нужно быстро после рассеаливания дать команду на переключение в Boot Mode. Я могу запилить CheckBox “Try to Enter Boot Mode” c функцией мол автоматически после Unseal или Full Access давать команду на перевод в Boot Mode, т.к. программа это сделает за милисекунды, в отличии от пользователя который нажимает кнопки.
PPS После использования Full Access у вас уже должны были поменяться ключи на дефолтные. Поэтому теперь вы можете просто использовать кнопку Unseal с дефолтным ключем в строке Key(128 bit) который по умолчанию в программе.
PPPS Чтобы “бред в инфо” не читался, там есть кнопочка “Exit Boot”. Но не спешите выходить из Boot режима 😃

sfs_don
mixeysan:

Ха!

Ух ты! Значит не убил. EEPROM действительно прочитался и он такой же, как и тот, что я с десятой попытки считывал ВЕ.

mixeysan:

дамп с такого же BMS и попробуйте записать заведомо рабочий EEPROM

Так и задумывалось изначально, т.к. рабочая батарея у меня есть и считать EEPROM, как теперь выяснилось, можно. Но если нечем писать - толку с него?
Вышел из boot mode - инфа прочиталась, но ошибки по-прежнему не сбрасываются.

mixeysan:

Но не спешите выходить из Boot режима

поздно… 😃

mixeysan
sfs_don:

Так и задумывалось изначально, т.к. рабочая батарея у меня есть и считать EEPROM, как теперь выяснилось, можно. Но если нечем писать - толку с него?

Я не говорил что EEPROM нельзя прочитать/записать, я говорил что FW в BQ30Z55 не получится записать через CP2112 адаптер.
Читайте EEPROM с такого же но рабочего BMS и пишите в ваш нерабочий. Предварительно прочитайте также и FW как с рабочего так и нерабочего.
И про какие ошибки вы говорите которые не сбрасываются?
Чую прийдется мне еще пилить отображение статусов регистров ))))

sfs_don
mixeysan:

Читайте EEPROM с такого же но рабочего BMS и пишите в ваш нерабочий.

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

mixeysan:

И про какие ошибки вы говорите которые не сбрасываются?

ClearPF. Как я понимаю, это должно снимать Permanent Failure и зарядные токи с напряжением должны стать ненулевыми?

mixeysan
sfs_don:

ClearPF. Как я понимаю, это должно снимать Permanent Failure и зарядные токи с напряжением должны стать ненулевыми?

Ну для начала нужно видеть установлен ли флаг PF на вашем нерабочем BMS или нет. Я в проге пока не делал отображение статус регистров или банально проверку PF на активно\неактивно. Поэтому программа сейчас тупо посылает команду на сброс PF и все. А дальше уже зависит от BMS - принимает/выполняет эту команду или нет. В вашем случае у вас колбасня чипа скорее всего, и я сомневаюсь что эта колбасня связана с PF.
Прочитайте EEPROM и FW с рабочего и нерабочего BMS и выложите их сюда.

sfs_don

EEPROM пишет!

mixeysan:

Прочитайте EEPROM и FW с рабочего и нерабочего BMS и выложите их сюда.

Нерабочий вот. Рабочий несколько позже - его надо еще из планшета достать, а он пока недоступен.

551 - DJI_Battery_Killer.rar

mixeysan
sfs_don:

EEPROM пишет!

Нерабочий вот. Рабочий несколько позже - его надо еще из планшета достать, а он пока недоступен.

Отлично. Ждем рабочий еепром.
PS Я уже вижу по FW что скорее всего FW не весь вычитался, нужно будет попробовать увеличить диапазон чтения до 128 кБайт, скорее всего в этом чипе или больше ROM или в моем подопытном от фантома на котором я отлаживал софт размер прошивки меньше размером. Но FW нам в принципе сейчас не важно.

sfs_don
mixeysan:

Отлично. Ждем рабочий еепром.

Спасибо! Пока вот второй нерабочий, может будет интересно посмотреть. С рабочим, боюсь, придется притормозить - похоже заболел…

33-1C AO02030XL 07E9.zip

mixeysan
sfs_don:

Спасибо! Пока вот второй нерабочий, может будет интересно посмотреть. С рабочим, боюсь, придется притормозить - похоже заболел…

фирмварю тоже сливайте, нужно же тоже понимать одинаковые ли прошивки или разные
кто или что заболел?

sfs_don
mixeysan:

фирмварю тоже сливайте, нужно же тоже понимать одинаковые ли прошивки или разные

Пока нет возможности - этот контроллер на работе. EEPROM я с него раньше ВЕ считал, с десятой попытки. Учитывая, что для первого контроллера прочитанное совпадает, думаю и по второму этот дамп правильный.

mixeysan:

кто или что заболел?

Я заболел. А значит на работу как минимум завтра на попаду. В лучшем случае.

mixeysan
sfs_don:

Пока нет возможности - этот контроллер на работе. EEPROM я с него раньше ВЕ считал, с десятой попытки. Учитывая, что для первого контроллера прочитанное совпадает, думаю и по второму этот дамп правильный.

Я заболел. А значит на работу как минимум завтра на попаду. В лучшем случае.

ну еепром не может совпадать побайтно с другим еепром даже с такой же батарейки, а FW может

sfs_don
mixeysan:

ну еепром не может совпадать побайтно с другим еепром даже с такой же батарейки, а FW может

Для первой батарейки прочитанное ВЕ и Вашей программой совпали побайтно. Между дампами первой и второй различия есть, но только в нескольких местах и структура в целом похожа.
В любом случае пока это все, что есть. Как только будет возможность - считаю все, что только можно считать, опять же появилась надежда 😃

Vovan_sar
mixeysan:

Я не говорил что EEPROM нельзя прочитать/записать, я говорил что FW в BQ30Z55 не получится записать через CP2112 адаптер. Читайте EEPROM с такого же но рабочего BMS и пишите в ваш нерабочий. Предварительно прочитайте также и FW как с рабочего так и нерабочего.

При таком кривом чтении стандартного отчета, читать еепром и тем более писать туда что-то, это заведомо будет кирпич.

mixeysan
Vovan_sar:

При таком кривом чтении стандартного отчета, читать еепром и тем более писать туда что-то, это заведомо будет кирпич.

Ну я баловался со своими BMSками на BQ9003 в том числе и с теми что “колбасит”. У меня есть EV2300 и я одинаково “криво” читал те которые колбасит как на EV2300 и Ti’шном софте, так и на CP2112. Я прекрасно видел как чип сыпал ошибки в данные, либо не вовремя прекращал передачу данных. Прошу заметить что “колбасня” в рабочем режиме у чипа, а не в Boot Mode. Так же я было “уваливал” свою бмску то стер ROM и потом не мог выйти из Boot Mode, то записал чужой еепром с такого же аккума, но от другой версии прошивки, после чего чип начало “колбасить” что трудно было после рассеаливания перейти в Boot режим. Но тем не менее восстановил 😃 Я не думаю что у вас какой-то есть волшебный способ “некривого” чтения отчета в таких случаях когда чип “колбасит” по какой-то причине 😃
PS От вас только критика, без реальной помощи 😃

Vovan_sar
mixeysan:

У меня есть EV2300 и я одинаково “криво” читал те которые колбасит как на EV2300 и Ti’шном софте, так и на CP2112.

Поэтому я и дал ссылку на ваш контакт в этой теме, т.к. по профилю вы из одного города. С EV2300 больше шансов оживить контроллер.
В ноутбучных акб(и у некоторых планшетов) платы контроллера немножко по другому устроены, как в плане защиты/блокировки(PFStatus+Fuse), так и по подключению банок к плате(площадка делится на 2 части силовая и так сказать сигнальная).
Вот как раз, если в момент пайки эти 2 площадки не соединены припоем, то в большинстве случаев такой расколбас по напряжениям в ячейках. На плате так же могут быть джамперы по сигнальной линии которые тоже надо проверить.

По CP2112, есть 3 версии чипа, на 1-й версии некоторые контроллеры как раз и могут вести себя с проблемой чтения.
проверить версию можно утилитой от SiLabs HidSmbusExample

mixeysan:

PS От вас только критика, без реальной помощи

Почему вы так решили? 😦

sfs_don
mixeysan:

От вас только критика, без реальной помощи

Нет, нет, Владимир действительно пытается помочь, и на Ваш контакт вывел, и дельные советы давал, и удаленную помощь предложил. Другой вопрос, что в данном случае я все-таки не склонен грешить на контакты. Во-первых я все проверил, во-вторых одинаково себя ведут оба контроллера, которые пока доступны, в том числе и тот, от которого я банки вообще не откидывал, т.е. там заводская пайка. Кроме того, некорректная информация выдается не только по напряжениям банок, но и, например, по температуре. Ну и, наконец, никакая пайка банок не объясняет случайные сбои при обмене по шине. Опять же для обоих контроллеров. Так что все-таки колбасит чип. По необъяснимым для меня, не специалиста, причинам.

Vovan_sar:

проверить версию можно утилитой от SiLabs HidSmbusExample

Спасибо, проверил - 2