Ремонт аккумулятора 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 на картинке ниже.

image1

В процессе работы с чипом, вам неоднократно прийдётся производить 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"

image20

 

5) Если у вас есть необходимость в изменени параметра FCC, то прочитайте статью о ремонте аналогичного чипа. Ссылка тут.

image22

image23 image19

  

6) Калибровка тока покоя, напряжений и тока разряда.

Перейти на вкладку Calibrate
Поставить галочку Keep_Refreshing_Measured (Select checkbox Keep_Refreshing_Measured)

Программа прочитает регистры и текущие измеренные показания всех датчиков чипа.

image2

 

Обратите внимание: все значения 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, нажав на соответствующую названию кнопку.

После удачного завершения процедуры, ток покоя должен быть равен нулю.

image3

image4

 Далее следует выполнить калибровку напряжений ячеек.

Для этого, необходимо измерить реальные напряжения, желательно с точностью до 1 мВ.
Также необходимо создать условие, при котором на выходе контроллера будет присутствовать напряжение.

  • Первый вариант (просто, но опасно)

Для этого можно подключить внешний источник напряжения на разъём контроллера (рекомендую ограничить ток на источнике до 100-200 мА во избежание непредвиденных аварийных ситуаций из=за протекания большого тока)

 

  • Второй вариант (более безопасный) - Принудительно открыть разрядные ключи. Напряжение от стека ячеек должно появиться на выходе контроллера.

Для этого необходимо:
- Подключите мультиметр на выход контроллера для индикации напряжения.
- Установите галочку Keep_Refreshing_Registers (Select checkbox Keep_Refreshing_Registers)

image5

 

- Нажмите на кнопку Gauge_On-Off. В регистре Manufacturing_Status ячейка GAUGE должна изменить свой цвет на зелёный.
- Нажмите на кнопку Fet_Control_Mode. В регистре Manufacturing_Status ячейка FET должна изменить свой цвет на зелёный.

image6

  

 -Нажмите на кнопки DSG_FET_On-Off и CHG_FET_On-Off. Состояние регистров смотрите на картинке ниже. Чип включит разрядный и зарядный ключи, а на выходе контроллера должно появиться напряжение всего стека элементов.

Если включить  чтение всех измеренных  данных, то чип должен показать наличие Pack_Voltage.  

image7

 

Теперь можно приступить к калибровке напряжений.
Точным мультиметром измерьте напряжения:


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

И укажите их в соответствующих полях программы.

image8

 

Установите галочку под кнопкой Calibrate и нажмите на активированную кнопку.

image9

 

Через 20 секунд, вы должны увидеть сообщение Succsess
Измеренные чипом данные на картинке ниже.

image10

Значение тока равно нулю. Значения измеренных напряжений совпадают с реальными. Точность приемлемая. 

 

Калибровка реального тока разряда.
Подготовьте калиброванную нагрузку, обеспечивающую протекающий ток 2000 mA.
Можно использовать самодельные нагрузки (стабильная нагрузка), или использовать промышленные приборы для создания необходимого тока в цепи.


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


Внимание!
Конструктивная особенность батарей PH-3 :
Реальный ток разряда в два раза больше, чем измеренный чипом. Это правильно!
Токовый датчик (ограничение по мощности резистора) не может обеспечить необходимое падение напряжения для измерения протекающего тока. В связи с этим, конструкторы «обманули» контроллер. На работу батареи это не влияет.


Для правильной калибровки тока разряда, вы должны указать значение тока в два раза меньше реального.
К примеру, сейчас через нагрузку протекает ток -2000 мА. В соответствующем поле необходимо указать -1000 мА.

image11

 

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

image12

 

Калибровка температурных сенсоров производится аналогично, при необходимости.
В данном случае, калибровать сенсоры нет необходимости.

image13

 

Подготовка к финальному тестированию.

- Установите галочку Keep_Refreshing_Registers.
- Переключить управление ключами (FET = Red). Нажмите на кнопку [Fet_Control_Mode]. В регистре Manufacturing_Status ячейка FET должна изменить свой цвет на красный.
- Включить чип в нормальный режим работы (GAUGE = Red). Нажмите на кнопку [Gauge_On-Off]. В регистре Manufacturing_Status ячейка GAUGE должна изменить свой цвет на красный.
- Нажмите кнопку [Reset_Chip].

Состояние регистров должно принять вид, как на картинке ниже.

image14

 

Батарея готова к окончательному тестированию !

image15

 

 Включение батареи и параллельное чтение SBS данных.

Передвинуть регулятор скорости сканирования в левое положение.

Обратите внимание - только теперь, чип показал каким напряжением и каким током необходимо заряжать батарею.

image16

 

Подключение нагрузки (приблизительно 2000 мА).

image17

 

 

Подключен источник зарядного тока. Ток в цепи приблизительно 2500 мА.

image18

Чтение регистров показывает, что ключи заряда и разряда – открыты. Сигнал PRES -присутствует (формируется чипом MSP430).

 

Дополнение, касается всех аккумуляторов DJI на базе MSP430 и(или) bq9003:

При ремонте, не рекомендуется изменять значение проектной ёмкости батареи и её серийный номер. Это может привести к конфликту между чипом MSP430 и bq30z55, или bq9003 и CPU дрона.

Всё выше-сказанное относится к программному ремонту. Но ! Не редко бывают случаи, когда происходит аппаратная поломка. Причем - это относится к заводскому браку при изготовлении PCB.

Дефект может проявляться любым образом. Причина - непропай чипа MSP430.

Решение - снять MSP430 (на брюхе есть thermal pad), зачистить и облудить контакты MSP430 и установить обратно.