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

sfs_don
mixeysan:

Поэтому хз чем я вам помогу с BQ30Z55(1?), если только рассеалить, прочитать, записать

Да мне стбственно только рассеалить и сбросить ошибки и надо 😃
Я не в курсе, а у Вас какой адаптер/софт имеется в распоряжении?
PS. Может лучше в личке/почте или на vlab? Здесь как бы оффтопик получается.

mixeysan

Пук
Пока еще не все допилил. В частности нужно еще убрать лишнее и отключить запись FW BQ30Z55, т.к. всеравно адаптер CP2112 не сможет это сделать 😌
Но изменение ёмкости, напряжений мах заряда, сброс циклов вроде уже пашет как на bq30z55 так и на bq9003
Для получения full access в BQ30Z55 когда ключь неизвестный - юзайте кнопку Full Access.
Еще есть мелкие косяки, со временем как будет настроение исправлю. И чуть позже зарелизю, пока влом )

VitFom

Батарея Pro 1 не реагирует никак на нажатие кнопки включения, диоды не горят, не мигают. На зарядке показывает диодами заряд. Что может быть?

Michael66
VitFom:

Батарея Pro 1 не реагирует никак на нажатие кнопки включения,

Кнопка сломатая. Или ейный шлейф. Или пайка лопнула.

Vovan_sar
Michael66:

Или ейный шлейф

на M1 кнопка на плате контроллера

mixeysan
Vovan_sar:

на M1 кнопка на плате контроллера

Это стеб такой. Т.к. VitFom затрахал уже везде своими глупыми вопросами 😃

Чехус

Кстати, кто то пробовал заблокированную батарею М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:

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

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