Iphone 7 аккумулятор распиновка контактов

Обновлено: 18.05.2024

Распиновка разъёма батареи iPhone и замена АКБ | 2 Схемы

Без рубрики

Что такое tristar и hydra?

Tristar — это интегральная схема, встроенная в каждое устройство с гнездом разъёма Lightning. По сути, это мультиплексор:

Кроме всего прочего, его основная цель состоит в том, чтобы соединяться со штекерным разъёмом Lightning, как только он подключён — определять ориентацию, Accessory ID и надлежащим образом маршрутизировать внутренние интерфейсы, такие как USB, UART и SWD.

Hydra — это новый вариант Tristar, используемый начиная с iPhone 8/X. Видимо, наиболее существенным изменением является поддержка беспроводной зарядки, но это ещё предстоит проверить:

Мне известны пять основных вариантов Tristar/Hydra:

С этого момента я буду использовать только термин TriStar, но имейте в виду, что он также означает Hydra, поскольку они очень похожи в большинстве аспектов, которые будут рассмотрены в этом тексте.

Что такое lightning?

Распиновка разъёма батареи iPhone и замена АКБ | 2 Схемы

Lightning — это цифровой интерфейс, используемый в большинстве устройств Apple iOS с конца 2021 года. Он заменил старый 30-контактный разъём.

На картинке выше гнездо разъёма, а на картинке ниже его распиновка:

Пожалуйста, обратите внимание, что в разъёме контакты с обеих сторон коннектора не соединены в одном и том же порядке. Таким образом, хост-устройство должно определить ориентацию кабеля, прежде чем что-то делать.

Хотя это не всегда так. У многих аксессуаров Lightning, которые мне попадались, в разъёмах зеркальная распиновка.

Что такое hifive?

HiFive — это дочерний интерфейс Lightning, то есть штекерный разъём. Он также содержит логический элемент — этот чип известен как SN2025/BQ2025.

Что такое sdq и idbus?

Распиновка разъёма батареи iPhone и замена АКБ | 2 Схемы

Эти два термина часто считают своего рода синонимами. Для удобства я буду использовать только термин IDBUS, так как он кажется мне более правильным (и именно так технология называется в спецификации THS7383).

Итак, IDBUS — это цифровой протокол, используемый для коммуникации между Tristar и HiFive. Очень похож на протокол Onewire.

Hostid

В одной из таблиц выше можно увидеть упоминание некоего HOSTID. Это 16-битное значение, передаваемое в запросе 0x74. Похоже, что оно также влияет на ответ HiFive. По крайней мере, если установить для него недопустимое значение (да, это возможно с diags), HiFive перестаёт с ним работать:

Распиновка разъёма батареи iPhone и замена АКБ | 2 Схемы


Впрочем, в прошивке KongSWD/KanziSWD есть переменная окружения disableIdCheck, которую вы можете настроить так, чтобы игнорировать недопустимый HOSTID. Важное примечание: У Kong и Kanzi нет HiFive в качестве выделенного непрограммируемого чипа. Эти аксессуары эмулируют его с помощью микроконтроллера и/или блока FPGA, что позволяет его легко обновлять/перепрограммировать.

Tristar i2c

Tristar доступен на шине I2C (адрес 0x34 для записи, 0x35 для чтения). Именно так diag и драйверы ядра с ним взаимодействуют.

О реестрах публично известно не так уж много. Много информации о самой карте регистра можно получить из утёкшего исходного кода iBoot (только для THS7383 — кажется, обратно совместимого с CBTL1608 — и CBTL1610), но не так много о том, что нужно туда записать, чтобы добиться каких-то интересных результатов.

Ещё одним источником знаний является модуль Tristar из diags (легко извлекаемый через SWD во время его работы). Например, мне удалось отреверсить алгоритмы чтения состояния подготовки и ESN. Затем я реализовал это как дополнение к моей нагрузке для iBoot под названием Lina:

Я также попытался изменить алгоритм записи ESN, но потерпел неудачу — механизм слишком сложный для меня. Однако фрагменты кода от Lina доступны здесь.

Замена батареи айфона своими руками

При проведении некачественного ремонта симптомы проявятся очень быстро – устройство работает исключительно от зарядки, слишком быстро разряжается, вообще не включается с новой батареей. Но тут скорее проблема в самом аккумуляторе, который ради экономии часто ставят дешёвый китайский. Не уверены какой вам поставили? Значит в следующий раз делайте замены АКБ самостоятельно, согласно приведённой инструкции.

Будьте осторожны, не дергайте слишком сильно коннектор батареи из гнезда, так как гнездо припаяно к центральной плате и дорожки под ним могут отслоиться!

В каких случаях следует заменить аккумулятор на iPhone:

  • Полного заряда хватает менее чем на 6 часов при максимальной активности
  • iPhone быстро разряжается на холоде
  • iPhone выключается на 50% — 20% заряда
  • iPhone не заряжается (может показывать яблоко и снова показать низкий заряд)
  • iPhone не включается (начиная с модели 5G в 30% случаев виновник именно аккумулятор)
  • Иногда АКБ вздувается, тем самым “выдавливает” дисплейный модуль, иногда из-за этого трескается стекло и даже сам дисплей.
  • Перед тем как начать разбирать айфон, нужно его выключить.
  • Удалите два винта длиной 3.6 mm с головкой под фирменную пятилепестковую отвертку Apple, которые находятся рядом с док-коннектором. Пятилепестковая отвертка Apple используется только для того, чтобы открутить винты!
  • Сдвиньте заднюю крышку по направлению к верхнему краю айфона. Крышка отодвинется на 2 мм в верх.
  • Отсоедините заднюю крышку от айфона, будьте осторожны, не повредите пластиковую защелку, которая крепит заднюю крышку.
  • Удалите заднюю крышку из айфона.
  • Удалите следующие винты, которые крепят коннектор батареи к центральной плате: один винт длиной 1.7 mm с головкой Phillips. Один винт длиной 1.5 mm с головкой Phillips
  • Пластиковой открывашкой приподнимите коннектор батареи из гнезда центральной платы.
  • Начните отсоединять коннектор начиная с нижней стороны коннектора, для этого нужно вставить кончик лопатки между блоком громкоговорителя и металлической крышкой коннектора.
  • Коннектор батареи отсоедините вертикально от центральной платы. Не отсоединяйте коннектор, стараясь приподнять его сбоку.
  • Обратите внимание на контакт, который находится под давлением винта коннектора батареи. Контакт может ослабнуть, когда вы будете удалять коннектор из гнезда!
  • Пластиковой открывашкой отсоедините контакт, находящийся под давлением от коннектора батареи.
  • Обратите внимание как расположена небольшая черная защелка заземления, которая находится в районе верхнего винта коннектора батареи. Эта защелка находится в районе верхнего винта коннектора. При замене защелка должна быть выровнена, так как к ней крепится золотая защелка, которая давит на заднюю крышку!
  • Будьте осторожны, не дергайте слишком сильно коннектор батареи из гнезда, так как гнездо припаяно к центральной плате.
  • Вставьте край открывашки между батареей и стенкой внутреннего корпуса, как показано на рисунке.
  • Пластиковой открывашкой двигайтесь вдоль правого края батареи, приподнимите немного батарею, чтобы отсоединить ее от клея, который нанесен на корпус под батареей.
  • Потяните пластиковый язычок, чтобы освободить батарею.
  • Удалите старую аккумуляторную батарею.
  • Вставьте новый АКБ и соберите телефон в обратной последовательности.

Самый важный запрос IDBUS — это 0x74, он используется для двух целей: чтобы приказать HiFive включить полное напряжение и силу тока (в случае, если оно поддерживается аксессуаром), спросить его о конфигурации контактов, которые поддерживаются кабелем, и некоторых других метаданных.

О том, как кодируются данные ответа 0x75, известно не так уж много. Но некоторые биты доступны в старой спецификации Tristar:

Первый байт данных ответа 0x75


Конфигурация ACCx, когда ID найден на ID0

Конфигурация ACCx, когда ID найден на ID1

Конфигурация Dx, когда ID найден на ID0

Конфигурация Dx, когда ID найден на ID1


Используя эти таблицы, давайте расшифруем ID нашего кабеля (

10 0C 00 00 00 00

) с учётом того, что линия ID найдена на контакте ID0:

Первый байт ответа 0x75 кабеля

Таким образом, ACCx — это 00, Это означает, что пин ID0 просто привязан к IDBUS, а Dx = 01 означает, что пины DP1/DN1 настроены как USB0_DP/USB0_DN. Именно то, что мы ожидали от стандартного USB-кабеля.

А теперь давайте перехватим что-нибудь поинтереснее:

Вот полный (?) список запросов IDBUS от

Совет №1: вы можете легко получить свойства аксессуара, включая его идентификатор, используя accctl:

Распиновка разъёма батареи iPhone и замена АКБ | 2 Схемы


Это внутренняя утилита Apple, поставляемая со сборками NonUI/InternalUI. Но вы можете легко запустить её на любом устройстве после джейлбрейка.

Совет №2: вы можете легко получить конфигурацию контактов кабеля с помощью diags:

Распиновка разъёма батареи iPhone и замена АКБ | 2 Схемы


Обратите внимание, что эта команда доступна только на iOS 7 .

Совет №3: вы можете легко отслеживать запросы/ответы 0x74/0x75, генерируемые SWD-пробами, установив debug env var, равное 3:

Затем на виртуальном COM от кабеля вы увидите что-то вроде этого:

Несколько слов об esn и интерфейсе tristar i2c

Ещё одна особенность Tristar, о которой я хотел бы рассказать, — ESN. Это маленький блоб, который Tristar хранит в своём EEPROM (на CBTL1610A2 и более поздних версиях). Его можно получить по IDBUS с помощью кабеля Serial Number Reader (или Kanzi, они в основном одинаковые, за исключением разных USB-PID и немного отличающихся корпусов)

Подготовка

Процедура «прошивки» ESN на Tristar называется

(provisioning). Она происходит с диагностикой на стороне устройства, через

на принимающей стороне в три этапа.

Вы можете проверить состояние с помощью diags:

Распиновка разъёма батареи iPhone и замена АКБ | 2 Схемы

… а также получить ESN:

Распиновка разъёма батареи iPhone и замена АКБ | 2 Схемы

Кстати, у diags вообще богатый набор команд Tristar (доступен, начиная с iOS 7):

Подключение батареи iphone 3g, 3s

Вольтаж на батарейке должен быть 3.8v, чтобы запустить нормально. Заодно проверьте напряжение на 1 и 2, если у вас iPhone 3G, то вольтаж должен быть примерно таким же, как и на 1 и 4, если 3Gs — примерно вполовину меньше.

Подключение батареи iphone 7, iphone 7 plus

В документах по сертификации удалось обнаружить: iPhone 7 Plus — аккумулятор емкостью 2900 мАч, iPhone 7 – батарею на 1960 мАч.

Подключение батареи iphone 8, iphone 8 plus

Новые iPhone 8 и iPhone 8 Plus имеют меньшую емкость аккумуляторов, чем у предыдущей линейки. Так емкость аккумулятора iPhone 8 составляет 1821 мАч, а iPhone 8 Plus имеет самый маленький аккумулятор среди всех моделей iPhone Plus — 2675 мАч. Правда Apple заявляет, что iPhone 8 работает до 14 часов в режиме разговора или до 40 часов при воспроизведении музыки, iPhone 8 Plus — до 21 часа разговора по телефону или до 60 часов воспроизведения музыки.

Полярность батареи iphone 5s, 5c, 5g

Замена аккумулятора этому смартфону потребуется не реже, чем предыдущим моделям (в среднем, АКБ хорошо работает в течение года).

Распиновка батареи iphone 4, 4s

При нормально работающем аккумуляторе должно быть напряжение в районе 3.7-4.2 вольт.

Распиновка батареи iphone 6, iphone 6s

Согласно официальной информации, емкость аккумулятора iPhone 6 Plus равна 2915 mAh, а iPhone 6 — 1810 mAh.

Рукопожатия питания

Последнее, что я собираюсь рассмотреть — рукопожатия питания (power handshakes). Это алгоритм, основанный на запросах/ответах IDBUS, которые драйверы ядра Tristar используют перед тем, как разрешить зарядку от аксессуара.

Когда кабель Lightning просто где-то лежит, подключённый к зарядному устройству/компьютеру, но не подключённый к устройству, HiFive ограничивает ток на PWR действительно небольшим значением (около 10-15 мА по моим измерениям). Чтобы включить полный ток, запрос 0x74 должен быть выдан Tristar и обработан HiFive. Для SecureROM/iBoot этого достаточно, но при загрузке ядра необходимо сделать дополнительные шаги:

  1. TriStar выдаёт два запроса 0x70
  2. Как только второй запрос обработан HiFive и отправлен ответ, он вообще отключает ток примерно на 20 миллисекунд
  3. По истечении этого времени Tristar выдаёт ещё один запрос 0x70, но с содержанием 0x80 в данных. HiFive обрабатывает его и отвечает
  4. На этом этапе драйвер ядра, ответственный за Tristar, должен разрешить зарядку

Важное замечание: это та часть, которую я знаю меньше всего. И это одна из тех частей, которые я в основном сам отреверсил. Таким образом, будьте осторожны с этой информацией

Теперь можем начать

Давайте прослушаем коммуникации Tristar и HiFive. Возьмите логический анализатор, переходную плату Lightning с соединением для гнезда и штекерного разъёма, какой-нибудь аксессуар (обычный кабель Lightning-to-USB отлично подойдёт) и, конечно, какое-нибудь устройство с портом Lightning.

Сначала подключите каналы логического анализатора к обеим линиям ID переходной платы (контакты 4 и 8) и подключите плату к устройству, но пока не подключайте аксессуар:

Сразу после этого начните выборку (подойдёт любая частота от 2 МГц и выше). Вы увидите что-то вроде этого:

Как видете, Tristar опрашивает каждую линию ID по очереди — одну за другой. Но поскольку мы не подключили никакого аксессуара, опрос явно провалился. В какой-то момент устройство устанет от этого бесконечного потока отказов и остановит его. А пока давайте разберёмся, что именно происходит во время опроса:

Сначала мы видим длинный интервал (около 1,1 миллисекунды), когда просто уровень высокий, но больше ничего не происходит:

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

Гораздо интереснее то, что происходит потом:

Очевидно, это поток каких-то данных. Но как его интерпретировать? Как расшифровать? Давайте виртуально разделим его на минимальные значимые части — то, что я называю словами:

По сути слово — это сочетание падения-подъёма-падения:


Вот таблица известных слов с их интервалами для обоих этапов, которые мы обсуждали выше (все единицы измерения в микросекундах):

* STOP используется, когда это последний бит в байте

Используя приведённую выше таблицу теперь мы можем построить простой декодер протокола:

Теперь давайте рассмотрим этап данных на примере выше — 0x74 0x00 0x02 0x1f:

Давайте подключим к нашей установке какой-нибудь аксессуар и посмотрим, что произойдёт. Я буду использовать оригинальный кабель Lightning-to-USB от Apple:

И вот что появляется на IDBUS после запроса 0x74:

HiFive ответил! И если вы прокрутите дальше, то увидите много других пар запрос/ответ:

Некоторые запросы не нуждаются в ответе:

Электрические характеристики tristar

Сам Tristar питается от источника 1,8 В. Линии для IDBUS устойчивы к 3,0 В, согласно моему осциллографу:

Таким образом, без схемы сдвига уровня лучше не пытаться взаимодействовать с IDBUS с помощью устройств, устойчивых к 5 В, как некоторые модели Arduino.

Для полноценной диагностики неисправностей смартфона, исключительно важно знать расположение разъемов (коннекторов) на системной плате. Необходимо понимать какой из элементов:

  • шлейф,
  • камера,
  • дисплей,
  • кнопка Home

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

J4503 – FOREHEAD FLEX CONNECTOR

Разъем для подключения шлейфа передней камеры. Буквенно-цифровое обозначение разъемов приведено в соответствии с Zillion X Work.

J4503 FOREHEAD FLEX CONNECTOR

J4503 FOREHEAD FLEX CONNECTOR

UAT TUNER FLEX

Для подключения антенны Wi-Fi

UAT TUNER FLEX

J4501 – RCAM CONNECTOR

Разъем для подключения задней камеры

J4501

J4504 – COMBINED BUTTON FLEX CONNECTOR

Разъем для подключения шлейфа кнопки включения (Power) и кнопок громкости (Volume)

J4504 COMBINED BUTTON FLEX CONNECTOR

J4504 COMBINED BUTTON FLEX CONNECTOR

J2201 – BATTERY CONNECTOR

Разъем для подключения аккумуляторной батареи

J2201 BATTERY CONNECTOR

J2201 BATTERY CONNECTOR

J4101 – DOCK FLEX CONNECTOR

Подключение к плате системного шлейфа

J4101 DOCK FLEX CONNECTOR

J4101 DOCK FLEX CONNECTOR

J4502 – DISPLAY TOUCH FLEX CONNECTOR

Подключение дисплейного модуля и тачскрина

J4502 DISPLAY TOUCH FLEX CONNECTOR

J4502 DISPLAY TOUCH FLEX CONNECTOR

J3801 – MAMBA AND MESA CONNECTOR

Разъем для подключения кнопки Home. На iPhone 7 установлена сенсорная кнопка Home. Периодически встречается неисправность “Гиперчувствительность кнопки Home”, к которой приводит повреждение микросхемы U10. И чаще всего эта неисправность является следствием неправильного отключения дисплейного модуля, заведения лопатки в не соответствующее место.

J3801 MAMBA AND MESA CONNECTOR

J3801 MAMBA AND MESA CONNECTOR

Схема расположения разъемов на плате айфон 7

Разъемы iphone 7 материалы Bgacenter

Для того чтобы научиться правильной и быстрой диагностике плат телефонов и планшетов, необходимо начать с основ схемотехники и начать пользоваться ZXW.


Олег Воронин | 16 Декабря 2020 18:04

7f5f2948d2311c8a84624a01fbc9f56b.jpg

Изначально этот материал планировался в двух частях. Но, разместив первую часть на Яндекс.Дзен еще в августе, я совсем забыл выложить ее здесь. Чтобы написать продолжение, мне нужен был подопытный для фотосессии. На днях попался наконец в руки iPhone, требующий замены аккумулятора. Обрадовался, пофоткал, сегодня выпустил вторую часть, кинулся выкладывать сюда - а тут и первой нет))) Поэтому текст будет длинным - я совместил две части в один материал. Зато всё будет в одном месте.
Поехали.

62d2a54ab433e49d375c8278d51af4c2.jpg


Существуют негласные цифры остаточной емкости, когда уже надо бы заменить аккумулятор. Особенно важно знать эти лимиты в двух случаях - когда покупаешь iPhone с рук (это понятно - надо знать, предстоит ли морока с заменой, и в связи с этим торговаться либо вообще не брать конкретный девайс), а также осенью (так как уже пришла зима, а сильно просевший аккумулятор не даст тебе жизни на морозе). Найти остаточную емкость в процентах можно в Настройках → Аккумулятор → Состояние аккумулятора.

d3eee915d62590a2b975c46eed00a280.jpg


Дело труба
  • iPhone с экраном 4 дюйма (5S, SE-1): при 84% уже не стоит покупать девайс с рук за полную цену, а при 80% желательно поменять аккумулятор.
  • iPhone с экраном 4,7 дюйма (6, 6S, 7, 8, SE-2) - ниже 83% покупать аппарат не стоит, ниже 78% - замена.
  • iPhone с индексом «Plus» (6 Plus, 6S Plus, 7 Plus, 8 Plus) - ниже 80% покупать девайс не стоит, ниже 75% однозначная замена.
  • iPhone «с бровью» (Х, XR, XS, 11) - ниже 80% покупать не стоит, ниже 74% - замена.
  • Речь сейчас идет только о мобильных девайсах. У ноутбуков всё немножко иначе, и аккумулятор емкостью 60-70% на MacBook может быть еще бодрячком


Это довольно больной вопрос. Дело в том, что оригинальные новые аккумуляторы в свободной продаже отсутствуют. Тебе нужно это знать, как продавцы активно спекулируют на этой теме, предлагая «оригинал брат» за различный ценник. Нового «оригинала» в продаже не существует вообще - просто запомни. Максимум - снятые с донора, но это кот в мешке, отойди и вымой руки.

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

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


На какой модели iPhone ты хочешь заменить аккумулятор?

Если это iPhone 4-5-6-6S (и Plus) - здесь будет довольно просто.


Несколько инструментов. С некоторыми аккумуляторами (например, тот же Baseus) такие инструменты идут в комплекте. Они зачастую не очень хорошего качества (очевидно), но на одну замену их точно хватит.

Довольно часто у меня возникает задача разработки портативных устройств с питанием от одной ячейки Li-ion аккумулятора. И, если заказчика обычно это не беспокоит, то у меня, как у опытного инженера, при виде такого ТЗ по спине пробегает дрожь. Это связано с тем, что оценка уровня заряда аккумулятора, а также оставшегося времени работы — это очень непростая задача, хотя на первый взгляд может показаться иначе.


Есть несколько вариантов действия в таком случае, о них поговорим ниже.

- Самое простое — не делать ничего для определения уровня заряда АКБ. Схема заряда на простом линейном ЗУ (например, на TP4054) и преобразователь напряжения для питания устройства. Выключится без предупреждения и в самый неподходящий момент.

- Измерять напряжение на АКБ. Результат примерно аналогичный предыдущему пункту, но требующий больше усилий. Типовая схема для измерения:


По сути, это делитель напряжения на резисторах R19 и R21, подключаемый через ключ VT6. Транзистор VT7 нужен для исключения паразитной запитки МК через вывод EN.
VBAT – напряжение батареи
VBAT_mes – напряжение, приходящее на АЦП
EN – сигнал управления делителем (0-выкл, 1-вкл)

Теперь мы знаем напряжение АКБ, мы – большие молодцы. НО это почти ничего не дает. Дело в том, что типовая разрядная кривая Li-ion АКБ, мягко говоря, не линейна и она зависит от тока потребления и температуры самой АКБ:

Глядя на эти графики, можете сказать какова остаточная емкость АКБ при напряжении 3,5В? Думаю, что нет…

Этот метод можно немного улучшить, воспользовавшись встроенным в МК термодатчиком для приблизительной оценки температуры АКБ, а также либо поставить датчик для измерения тока, либо (если ток потребления примерно постоянен) построить разрядную кривую для типового тока потребления. Это позволит хоть немного оправдать трудозатраты, но ни о какой точности и речи быть не может. Для индикации заряда на 3х светодиодах – да, пойдет.

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

- Делать собственную систему контроля заряда АКБ (BMS). Для ее реализации нам необходимы датчики тока, температуры и напряжения АКБ. Считаем, что МК в устройстве уже есть и остается «всего лишь» написать для него ПО, на которое у меня в свое время ушло чуть меньше года.

- Взять готовую микросхему Gas Gauge (например, от TI или Maxim Integrated), сконфигурировать ее, откалибровать и работать. Например, схема для bq27220:


Есть несколько нюансов при выборе такой концепции:

  1. В случае, если батарея съемная, необходимо либо ставить схему определении заряда на саму батарею (иначе она будет обнуляться при отключении), либо использовать специальные версии Gas Gauge, которые допускают отключение АКБ. В первом случае, батарея вашего устройства становится уникальной и ее замена возможна только с вашим участием, что не всегда удобно. Во втором случае, существует проблема размещения термодатчика на АКБ.
  2. Высокая стоимость решения. Основные компоненты: микросхема Gas Gauge, микросхема защиты, транзисторы, терморезистор, резистор датчика тока.


Это Китайский аналог микросхемы MAX17048. Абсолютно простая микросхема без датчиков температуры и тока, с соответствующей низкой точностью, но при этом дешевая, простая в использовании и программировании. Имеет возможность работы на стороне устройства, что позволяет не модифицировать саму батарею. Микросхема была найдена на просторах сети в процессе написания материала, опыта с ней нет, но есть желание попробовать, поскольку вариант действительно интересный. Возможно, в следующем материале я расскажу об этой микросхеме подробнее.

- И, наконец, последний известный мне метод, которому я хочу посвятить сегодняшнюю статью. На мой взгляд этот метод самый простой, но дает наилучший результат. Заключается он в том, что мы берем батарею от iPhone со встроенным Gas Gauge и защитой, подключаемся по HDQ или I2C, опрашиваем и работаем. При этом батарея уже собрана и откалибрована. Ниже таблица, с известными мне, вариантами АКБ:



Как видно, АКБ на любой вкус и цвет, с яблоком и без. Также их можно соединять параллельно для увеличения емкости, с раздельным опросом. Из недостатков стоит отметить, что пропорции длина/ширина примерно 3:1, а это не всегда удобно, а также уникальный разъем для подключения. В силу популярности телефонов Apple эти аккумуляторы можно спокойно купить во многих местах и в большом количестве (как оказалось это не совсем верно).

При разработке беспроводного автономного RFID считывателя мы пошли именно этим путем.

Была выбрана батарея от iPhone 6, которая подходила нам и по емкости, и по габаритам. Были закуплены несколько экземпляров в разных местах для проверки:

Правая была куплена в Китае, остальные в Москве. Стоимость $6-11. При их проверке будут получены достаточно интересные результаты. Особое внимание обратите на коробочку с надписью «Ориг», позже мы к ней вернемся. Проверка проводилась с помощью самого RFID считывателя, программатора EV2300 от TI и программы Battery Management Studio.

Схема питания RFID считывателя представлена на рисунке:


Линейное ЗУ на базе STC4054 (TP4054), ток заряда 500 мА, включатель питания с автоподхватом на базе геркона SF1, конденсатора C19, диода VD4 и резистора R15, а также импульсный преобразователь на базе NCP1529.

Первым я подключил экземпляр из Китая за $6:


Батарея отвечает, НО не отображался ток ни при заряде, ни при разряде, напряжение не соответствовало реально измеренному и степень заряда не менялась. На команды АКБ не отвечал. Появилось предположение, что этот экземпляр — подделка, поэтому снял с него защитный скотч, чтобы посмотреть на плату:


Вот это поворот… Я не стал даже перерисовывать схему – тут и так понятно, что стоит эмулятор bq27545 и цепь защиты от переразряда/перезаряда. Сразу появилась мысль сэкономить себе время и раскрыть все аккумуляторы.


Сосед слева от Китайского коллеги за $8 похож с разницей в маркировке на микросхемах. В остальном ведет себя так же. Эти 2 экземпляра сразу в мусорку. К сожалению, у меня не было под рукой iPhone 6 для проверки этих батареи в целевом устройстве, уж очень интересно было посмотреть как телефон повел бы себя при работе от этих АКБ.


А это центральный аккумулятор, стоимостью $8. В нем даже датчик тока есть и какая-то 8ми выводная микросхема со скромной маркировкой 6G3. В Battery Management Studio эта батарея притворяется bq27545 более искусно. Отображается уровень заряда, корректное напряжение, ток батареи. Но если бы все это было реальным, то подделка бы не была подделкой. В реальности температура была задана константой, ток измерялся очень плохо. На картинке показан ток потребления RFID считывателя, который измерен батареей при постоянном считывании карты.


В реальности он составляет

55 мА для такого режима работы и, поскольку поле считывателя включено всегда, то нулем не может быть. При заряде (когда ток постоянен на большом промежутке времени) датчик тока работает нормально. Естественно, все остальные параметры высчитываются некорректно (уровень заряда, время работы до полного разряда и тд). Флаг FC (Full charge) устанавливается при напряжении 4,4В.


На команды батарея не отвечает, флаги QEN и RUP_DIS не выставляются. В целом, это неудачная попытка китайцев написать обманку bq27545 на МК (во всяко случае я думаю, что это так). Тоже в мусор.

Помните, я просил обратить особое внимание на экземпляр в коробочке с надписью «Ориг»? Именно он оказался максимально приближен к тому, что мы искали (и как теперь не верить рекламе?):


Стоимость его составила $9. В центре прекрасно видно микросхему с маркировкой SN27545 — это как раз то, что мы искали. С этим экземпляром я стал работать более плотно. В процессе проведения пробного цикла заряд-разряд возникли проблемы. Я никак не мог получить установленный флаг FC (Full charge), что означало окончание процесса заряда. Ток заряда при напряжении АКБ близком к 4,2В становился крайне малым (около 20мА) и процесс заряда грозил не закончится никогда. Одной из возможных причин оказался USB кабель с большим падением напряжения (до микросхемы ЗУ доходило 4,5В), его мы заменили на более качественный с меньшим падением напряжения. Показатели улучшились, АКБ зарядился до 4,2В, ток упал до 0, но SOC (State of charge – уровень заряда) доходил лишь до 85, соответственно флаг FC не устанавливался.


Несколько суток я гонял циклы с расчетом, что батарея обучится, но это не помогало. Проблема оказалась банальна, но ее поиск занял 2 дня. В какой-то момент я обратил внимание, что батарея на 4,35В и это стало ответом на все вопросы. ЗУ стандартное на 4,2В и я совсем не обратил внимания, что батарея на 4,35В и происходит неполный заряд. Поскольку платы уже были изготовлены, то единственным вариантом нормально выйти из ситуации стал поиск замены STC4054 с напряжением 4,35В. Оказалось, что такие микросхемы существуют, но в нашей великой стране спокойно их не купить (видимо непопулярны от слова совсем). Поэтому был заказан вариант MCP73832T-3 с ожиданием в пару недель.

Ну а пока заказанное едет, мы сделаем колхозный патч для проверки концепта. Для этого сделаем «подпорку» в 0,15В для микросхемы ЗУ с помощью диода:


Надо признать, что колхоз заработал, флаг FC установился, все работает, но конечное напряжение АКБ составляет 4,4В (падение на диоде больше требуемых 0,15В).


Важно отметить, что можно заряжать и до 4,2В с соответствующей потерей

15% емкости, но при этом существенно продлить жизнь АКБ. С экземпляром «Ориг» мы закончили – его можно смело закладывать в разработку.

Остался последний экземпляр. Самый дорогой ($11), в самой крутой упаковке и потребовавший больше всего времени на себя. Смотрим что внутри:


Вот она неизвестная микросхема A1141 на которую нет никакой документации кроме страницы производителя. При принудительном подключении как к bq27545 в Battery Management Studio мы видим следующую картину:


Полный мусор. При попытке заряда током

500 мА показывает 125 мА, при разряде током

25 мА показывает 214 мА. Понятно, что если A1141 имеет другие адреса параметров или отличный от bq27545 формат хранения данных, то без документации с этой АКБ нам ничего не светит. Поэтому ее отложили в сторону, но уже под конец написания материала я решил подключить ее еще раз. Я взял таблицу команд микросхемы bq27545:


И считал регистры напряжения (0x08 и 0x09) через меню Advanced Comm:


Получаем 0x10<<8 | 0x38 = 4152 или 4,152В, что соответствует измеренному мультиметром напряжению 4,15В. Так если данные правильные почему же в программе отображается 57мВ. Замечаем, что 57мВ — это ровно 0x38, то есть значение 0x08 регистра. При напряжении на АКБ 4,152В вполне правильным выглядит уровень заряда в 96%, его можно получить считав регистры 0x2c и 0x2d. Считано 0x2c = 0x60, 0x2d = 0 (в случае с параметром SOC старший регистр всегда нулевой). Появилось предположение, что программа или EV2300 не может считать (или АКБ не отвечает) либо старший байт в запросе, либо байт с нечетным адресом. Для проверки этой теории АКБ была подключена непосредственно к RFID считывателю и опрос батареи велся через МК. Интерфейс HDQ был реализован согласно документу от TI. Микросхема bq27545 для связи с управляющим контроллером использует однопроводной протокол HDQ, который на STM32 достаточно удобно реализуется на базе однопроводного UART благодаря поддержке режима Half Duplex.

Т.к. наш RFID считыватель работает на MicroPython, мы обернули работу с HDQ в класс и получили работу с контроллером заряда в следующем виде:


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

На осциллограмме видно, что запрос есть, а ответа нет. Когда добавили перезагрузку логики обмена данными (Break) перед каждым запросом – через раз, но микросхема стала отвечать корректно.


Затем сравнили скорость обмена EV2300 и RFID считывателя и оказалось, что EV2300 использует скорость ниже на 10-15%, чем устанавливает TI:


После уменьшения скорости HDQ и выполнения Break при каждом запросе АКБ нормально заработала! Были считаны основные параметры батареи:

Полная победа! По факту A1141 оказалась качественным клоном bq27545 с небольшими недостатками. Осталось рассказать о нюансах работы с батареей со стороны ПО (использование спящих режимов, ток пробуждения и тд), но это удвоит объем записи и, пожалуй, я напишу это в другой раз.

Читайте также: