Ремонт аккумулятора DJI Phantom-3 (Phantom-4)
Контроллер собран на двух чипах - MSP430 и bq30z55.
MSP430 - центральный процессор, обслуживает связь между bq30z55 и коптером.
Подключение 2300
Подключить ev2300 к чипу bq30z55 можно через соответствующие контакты (контрольные точки) на плате контроллера.
Обратите внимание - подключение производится параллельно на шину. Т.е. на шине будут присутствовать одно устройство SLAVE (bq30z55) и два устройства MASTER (MSP430 и ev2300).
Такое подключение допускается, но только в случае, если оба мастера не будут друг-другу мешать, т.е. будут работать с bq30z55 по очереди.
В виду этого, необходимо строго соблюдать правило:
Любое чтение-запись чипа bq30z55 производить при ВЫКЛЮЧЕННОМ MSP430 (выключенная кнопкой управления батарея, индикаторы не светсятся)
Но! Если вам необходимо прочитать SBS данные с аккумулятора, когда он включен - вы можете это сделать, если понизите до минимума скорость чтения шины (Основное окно программы, Вкладка SBS, слева внизу ползунок - передвинуть влево).
Итак - аккумулатор:
=========================
Brand name: DJI
Model name: Phantom-3
Design Capacity: 2240
Design Voltage: 15200
Manufacture date: 2016.04.14
Serial Number: 11578
Manufacturer name: COSLTSUN
Device name: DJ01
Device chemistry: LION
ChemistryID (forTI): 3260
Full Charge Capacity: 280
Charging Current: 0
Charging Voltage: 0
Cycle Count: 2
Status: Bad
Chip detected: bq30z55
H/W Version: 0550
F/W Version: 0036
=========================
Последовательность действий для ремонта:
1) Прочитать Статические данные.
Программа должна продетектировать чип и написать его модель, версию HW и версию FW.
2) Выполнить процедуру получения доступа к режиму программирования чипа.
- Остановите чтение данных. (Нажать кнопку [Stop Read])
- Нажать кнопку [Unseal]
Программа должна показать в строке состояния "Pack is Unsealed, FAS = OK", во время этой процедуры, программа автоматически очистит все флаги ошибок.
Если этого не произошло - повторите попытку. Если повторение не даёт результат - свяжитесь с автором программы.
Исходное состояние:
Батарея выключена, чтение чипа стабильное.
Напряжения ячеек, не соответствуют реальным значениям, присутствует ток заряда в цепи аккумулятора, равный 36 мА. Это ошибки чипа. Датчик тока и напряжений не откалиброваны.
Результат процедуры Unseal на картинке ниже.
В процессе работы с чипом, вам неоднократно прийдётся производить reset чипа. После каждого перезапуска, чип автоматически закроется (засеалится).
Не забывайте контроллировать состояние чипа. Чип всегда должен быть Unsealed и FAS = OK.
Для продвинутых пользователей программы, есть возможность удаления флага Auto_Seal. Для этого в программе есть специальная кнопка - [Dell_Seal]. Находится на вкладке PRO в инструменте DataFlash Editor.
Перед любыми манипуляциями с содержимым памяти чипа - настоятельно рекомендую сохранить образ чипа для отката назад.
3) Чтение данных DataFlash.
- На главном окне программы укажите кондицию батареи ( Хорошая - Good, Плохая - Bad, Восстановленная или Протестированная). Этот селектор автоматически будет добавлять соответствующий суффикс в имена файлов при сохранении данных, что поможет в будущем более оперативно ориентироваться в ваших "сборниках".
- Откройте инструмент DataFlash Editor.
- Нажмите на кнопку [Auto Detect]. Программа продетектирует чип, отобразит в нижней строке статуса Selected_Chip и Detected_Chip.
Должно быть соответствие. В данном случае bq30z55 (FW 0036), также автоматически загрузит в панели редактора таблицу для декодирования данных чипа и сделает кнопку чтения DataFlash активной
- Прочитайте содержимое DataFlash нажав на соответствующую кнопку.
- После нажатия начнётся процесс чтения данных из чипа. Удачное завершение - программа покажет содержимое в таблице. Более подробное описание этой процедуры смотрите тут.
- Сохраните прочитанное в текстовый файл для последующего вероятного анализа (кнопка [Save_xGG]).
4) Чтение полного бинарного образа чипа. Сохранение файла SENC.
- Переключите чип в Boot_Mode (Вкладка PRO, кнопка [Enter Boot Mode])
- Сохраните текстовый репорт и файл SENC одним нажатием. (Кнопка [Save Report and SENC])
- После удачного завершения чтения, программа покажет соответствующее сообщение и автоматически созданные файлы сохранит в директории "C:\UBRT_Log\"
- Переключите чип из режима Boot_Mode в Normal_Mode (кнопка [Exit Boot Mode])
- При необходимости, повторите процедуру Unseal+FAS, для этого уже достаточно нажать на кнопку [Full Access] (смотреть картинку ниже), удачное выполнение - сообщение "Status: Full Access"
5) Если у вас есть необходимость в изменени параметра FCC, то прочитайте статью о ремонте аналогичного чипа. Ссылка тут.
6) Калибровка тока покоя, напряжений и тока разряда.
Перейти на вкладку Calibrate
Поставить галочку Keep_Refreshing_Measured (Select checkbox Keep_Refreshing_Measured)
Программа прочитает регистры и текущие измеренные показания всех датчиков чипа.
Обратите внимание: все значения V_Cell отличаются от реальных.
Cell 1 = 3835 mV.
Cell 1+2 = 7649 mV.
Cell 1+2+3 = 11574 mV.
Cell 1+2+3+4 = 15448 mV.
Battery Voltage (напряжение всего пакета на входе в плату контроллера) = 15448 mV..
Pack Voltage (напряжение на выходном разъеме контроллера) = 124 mV. Это правильно, т.к в данный момент, на разъеме ничего нет и контроллер закрыл разрядные ключи.
Присутствует ток заряда = 36 мА
В виду этого – требуется калибровка тока и напряжений.
Для калибровки нулевого показания тока - отключите от внешнего разъёма нагрузку или источник зарядного тока.
- Нажмите на кнопку [Coloumb Counter Offset Calibration]. Процедура выполняется в течении 10-20- секунд. По завершении появится сообщение Success
- Также рекомендуется повторить процедуру Software_Board_Offset_Calibration, нажав на соответствующую названию кнопку.
После удачного завершения процедуры, ток покоя должен быть равен нулю.
Далее следует выполнить калибровку напряжений ячеек.
Для этого, необходимо измерить реальные напряжения, желательно с точностью до 1 мВ.
Также необходимо создать условие, при котором на выходе контроллера будет присутствовать напряжение.
- Первый вариант (просто, но опасно)
Для этого можно подключить внешний источник напряжения на разъём контроллера (рекомендую ограничить ток на источнике до 100-200 мА во избежание непредвиденных аварийных ситуаций из=за протекания большого тока)
- Второй вариант (более безопасный) - Принудительно открыть разрядные ключи. Напряжение от стека ячеек должно появиться на выходе контроллера.
Для этого необходимо:
- Подключите мультиметр на выход контроллера для индикации напряжения.
- Установите галочку Keep_Refreshing_Registers (Select checkbox Keep_Refreshing_Registers)
- Нажмите на кнопку Gauge_On-Off. В регистре Manufacturing_Status ячейка GAUGE должна изменить свой цвет на зелёный.
- Нажмите на кнопку Fet_Control_Mode. В регистре Manufacturing_Status ячейка FET должна изменить свой цвет на зелёный.
-Нажмите на кнопки DSG_FET_On-Off и CHG_FET_On-Off. Состояние регистров смотрите на картинке ниже. Чип включит разрядный и зарядный ключи, а на выходе контроллера должно появиться напряжение всего стека элементов.
Если включить чтение всех измеренных данных, то чип должен показать наличие Pack_Voltage.
Теперь можно приступить к калибровке напряжений.
Точным мультиметром измерьте напряжения:
Cell 1 = 3835 mV
Cell 1+2 = 7649 mV
Cell 1+2+3 = 11574 mV
Cell 1+2+3+4 = 15448 mV
Battery Voltage = 15448 mV
Pack Voltage = 15029 mV
И укажите их в соответствующих полях программы.
Установите галочку под кнопкой Calibrate и нажмите на активированную кнопку.
Через 20 секунд, вы должны увидеть сообщение Succsess
Измеренные чипом данные на картинке ниже.
Значение тока равно нулю. Значения измеренных напряжений совпадают с реальными. Точность приемлемая.
Калибровка реального тока разряда.
Подготовьте калиброванную нагрузку, обеспечивающую протекающий ток 2000 mA.
Можно использовать самодельные нагрузки (стабильная нагрузка), или использовать промышленные приборы для создания необходимого тока в цепи.
После подключения калиброванной нагрузки, мы можем наблюдать измеренное значение тока.
Внимание!
Конструктивная особенность батарей PH-3 :
Реальный ток разряда в два раза больше, чем измеренный чипом. Это правильно!
Токовый датчик (ограничение по мощности резистора) не может обеспечить необходимое падение напряжения для измерения протекающего тока. В связи с этим, конструкторы «обманули» контроллер. На работу батареи это не влияет.
Для правильной калибровки тока разряда, вы должны указать значение тока в два раза меньше реального.
К примеру, сейчас через нагрузку протекает ток -2000 мА. В соответствующем поле необходимо указать -1000 мА.
После удачной калибровки, можно увидеть, что значение измеренного тока совпадает с указанным, с некоторой допустимой погрешностью.
Калибровка температурных сенсоров производится аналогично, при необходимости.
В данном случае, калибровать сенсоры нет необходимости.
Подготовка к финальному тестированию.
- Установите галочку Keep_Refreshing_Registers.
- Переключить управление ключами (FET = Red). Нажмите на кнопку [Fet_Control_Mode]. В регистре Manufacturing_Status ячейка FET должна изменить свой цвет на красный.
- Включить чип в нормальный режим работы (GAUGE = Red). Нажмите на кнопку [Gauge_On-Off]. В регистре Manufacturing_Status ячейка GAUGE должна изменить свой цвет на красный.
- Нажмите кнопку [Reset_Chip].
Состояние регистров должно принять вид, как на картинке ниже.
Батарея готова к окончательному тестированию !
Включение батареи и параллельное чтение SBS данных.
Передвинуть регулятор скорости сканирования в левое положение.
Обратите внимание - только теперь, чип показал каким напряжением и каким током необходимо заряжать батарею.
Подключение нагрузки (приблизительно 2000 мА).
Подключен источник зарядного тока. Ток в цепи приблизительно 2500 мА.
Чтение регистров показывает, что ключи заряда и разряда – открыты. Сигнал PRES -присутствует (формируется чипом MSP430).
Дополнение, касается всех аккумуляторов DJI на базе MSP430 и(или) bq9003:
При ремонте, не рекомендуется изменять значение проектной ёмкости батареи и её серийный номер. Это может привести к конфликту между чипом MSP430 и bq30z55, или bq9003 и CPU дрона.
Всё выше-сказанное относится к программному ремонту. Но ! Не редко бывают случаи, когда происходит аппаратная поломка. Причем - это относится к заводскому браку при изготовлении PCB.
Дефект может проявляться любым образом. Причина - непропай чипа MSP430.
Решение - снять MSP430 (на брюхе есть thermal pad), зачистить и облудить контакты MSP430 и установить обратно.