Использование аккумулятора от iPhone при разработке носимой электроники

    Приветствую, читатель.

    Довольно часто у меня возникает задача разработки портативных устройств с питанием от одной ячейки 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, микросхема защиты, транзисторы, терморезистор, резистор датчика тока.

    - Использовать более простые варианты готовых решений типа CW2015:



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

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



    Таблица частично взята с сайтов ripitapart.com и www.macplus.ru. Прошу обратить особое внимание на неизвестный контроллер с маркировкой A1141. Эта микросхема производства компании PowerFlash и это вся информация, которую удалось найти. Автор блога, из которого я брал таблицу, не был уверен, что ему досталась оригинальная батарея от iPhone SE. Благодаря отзыву asterix_tyumen, который разобрал оригинальную батарею от SE было установлено, что в ней стоит sn27545. Ниже мы будем вынуждены более подробно рассмотреть A1141. Но пока посмотрим на аккумуляторы:



    Как видно, АКБ на любой вкус и цвет, с яблоком и без. Также их можно соединять параллельно для увеличения емкости, с раздельным опросом. Из недостатков стоит отметить, что пропорции длина/ширина примерно 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 в класс и получили работу с контроллером заряда в следующем виде:

    from hdq import HDQ
    bat = HDQ(pyb.UART(1))
    bat.charge() # заряд
    bat.read_u16(0x14) # произвольный регистр

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

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



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



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



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

    Выводы


    Как видно, есть много вариантов действия при разработке устройств с питанием от Li-ion батареи. Честно говоря, изначально планировалось писать материал в стиле пришел, увидел, победил, но в процессе вылезло много нюансов (особенно хороша борьба с A1141) и материал получился очень интересным и обширным. Из 5 экземпляров батарей, только 2 по факту можно нормально использовать. Поэтому выбор поставщика в данном случае очень актуален. Если вы видели АКБ от других устройств, которые содержат в себе BMS, то напишите модели в комментариях. Всем спасибо за внимание!
    Поделиться публикацией
    Комментарии 135
      0
      Спасибо за статью, прочитал с интересом.Мне кажется вы все усложняете, например сейчас китайцы продают все что душе угодно, например 18650B с встроенной бмс, по размеру чуть больше АА батарейки, емкостью 3-3.5 а/ч и ценой 200 р, а если оптом то еще меньше… Получится компактней и проще/дешевле
        +7
        Мне кажется вы путаете понятие BMS. То, что продают китайцы — плата защиты от переразряда/перезаряда и она никаких данных о состоянии заряда или еще чего-либо не предоставляет.
          –1
          Ну может и путаю, но ардуинка спокойно у меня читает данные от сигнала с батареи...± /S
            +1
            Какие данные? Можно ссылку на устройство?
          +8
          Китайский литий АА и 3-3,5Ач за 200р? Это фантастика, сынок!
            0
            Не фантастика, а скорее лотерея. В некоторых случаях действительно за пару-тройку баксов нормальные аккумы попадаются. Но при этом также бывает, что у китайцев даже в разных партиях одинаковых внешне банок разброс. То продают честные 3 Ач по паре баксов, то всего 1,5 Ач.
              +1
              Это банальная отбраковка. И по браку они могли не пройти по разным критериям. Токоотдача, например.
                +1
                3 А*ч в размере AA — это действительно фантастика без всяких лотерей :)
                  0
                  Извините, просмотрел. Первый коммент ведь был про 18650, вот я про них и подумал. Они-то хоть визуально и не сильно больше АА, но по объему — вдвое.
                0
                Не аа, а 18650. Чуть больше, да)
                  –1
                  «Отнюдь» (с)

                  14500

                  «Учите матчасть!»(с)

                    +1
                    Извините за оффтоп, но зачем вы здесь использовали ©, ещё и дважды?
                      +1
                      У него их просто слишком много, вот и лепит, куда ни попадя.
                      +1
                      например 18650B с встроенной бмс

                      18650 ну прям явно не 14500. Лежат дома и те, и те — так руки не дошли прошлой зимой запитать фонарик на велосипеде от них, езжу с колхозом на 18650 и бонусом в виде 10-15 часов непрерывной работы.

                      И 14500 3000мач не бывает — 1500 в лучшем случае. Всякие 3000w RMSmah китайцы на проверку отдают 500-700-1000мач, что конечно тоже неплохо, но уже не столь радужно.
                  0
                  Это просто защита. Но никаких данных с этой «BMS» не получить. Здесь же критична именно информация с контроллера батареи.
                    0
                    Называется Varicore, да имеет как защиту от кз, так и от переразряда/заряда, это одно, также имеет на борту штырь-разъем(можно снимать), который является сигнальным, управлять батарейкой конечно нельзя, но считать апмераж и напряжение можно(это все что можно)
                    На счет 18650B с бмс скажу-она в 1.5 раза больше обычной 18650
                      0
                      Считайте, что в таком случае просто датчики за вас уже поставили, а что с этими данными делать уже ваши проблемы.
                        0
                        вольтаж же!
                          +1
                          Напряжение и ток можно получать и без этих плат. Короче я к чему это: в статье описываются принципиально иные нужды и другие BMS.
                        0

                        Я тоже, когда читал статью, думал про старые добрые 18650, так популярные в среде вейперов (курильщиков электронных сигарет, если кто не в курсе). До сих пор помню, как, вооружившись вот этим сайтом-справочником, подбирал батарейку в мехмод себе по вкусу :)

                        +2

                        Интересная статья. А продолжение будет?

                          +1
                          Останется описать работу с батареей и некоторые ограничения в использовании, надеюсь в ближайшее время смогу написать продолжение.
                          0
                          К сожалению, у меня не было под рукой iPhone 6 для проверки этих батареи в целевом устройстве, уж очень интересно было посмотреть как телефон повел бы себя при работе от этих АКБ.

                          Я проверял аналогичную батарею на 4s. В принципе, работает, но при попытке обновить iOS виснет наглухо и прошивка слетает.
                            0
                            А как отображается заряд?
                              0
                              Заряд/разряд показывал, но насколько это соответствовало фактическому заряду/разряду батареи, не могу сказать.
                                0
                                Спасибо, полезная информация.
                              0
                              Тоже был опыт на четвёрке. И работало, и iOS обновлялся спокойно. Но зато можно было поймать приколы в духе скачка с 20% до нуля и выключения за две секунды. То есть отображаемый заряд не соответствовал действительности
                                0

                                Это баг или фича айфонов — у меня на разных моделях на родных батареях так скакало, от 20% до 40% на ноль, если включить камеру, например. Минут через семь, не сразу, можно было снова включать телефон, заряд был практически такой же, как до выключения. Я несколько раз батарею по гарантии менял из-за этого.


                                Потом Эпл начали замедлять айфоны с ушатанной батареей, что вылилось в Batterygate и акцию по замене аккумуляторов за $29.

                                  +1
                                  Это баг или фича айфонов — у меня на разных моделях на родных батареях так скакало, от 20% до 40% на ноль, если включить камеру, например. Минут через семь, не сразу, можно было снова включать телефон, заряд был практически такой же, как до выключения.


                                  Я бы сказал, что это просто признак помирающей/ушатанной батареи, а не афонина багофича. Абсолютно тоже самое наблюдал на Хуавейском флагмане 2013г. через пару лет эксплуатации.
                                  0
                                  Похоже у вас был средний экземпляр. Он криво, но работает.
                                    0
                                    Оп-па, а я думал, что я один такой… И батарею брал в проверенном месте, и ребята говорили что 1в1 под оригинал, и тестер акб показал, что 99% оригинал…
                                  0
                                  К сожалению, у меня не было под рукой iPhone 6 для проверки этих батареи в целевом устройстве, уж очень интересно было посмотреть как телефон повел бы себя при работе от этих АКБ.

                                  Из того, что я встречал — с подделкой аппарат работает, но не может вести журнал использования батареи, или что-то в этом роде.
                                    +1
                                    У меня 6S Plus с неоригинальным аккумулятором от Moxom(на фото в посте он слева).
                                    В настройках состояние аккумулятора не отображается, но приложение Battery Life текущую ёмкость вполне отображает.
                                    К сожалению, полную ёмкость оригинального аккумулятора он не развивает, в моём случае ёмкость составила 2300мАч, ёмкость оригинального — 2725мАч. То есть, 16% не хватает.
                                    Слёт прошивки, как писали выше, тьфу-тьфу, не ловил, вчера обновил на iOS 12 и всё ок.
                                    +3
                                    Так ли нужна высокая точность определения заяда в устройствах?
                                    В ноуте, планшете, смартфоне — может быть чтобы вовремя завершить работу и не потерять данные. А для большенства простых устройств хватит реально индикатора на 3х светодиодах.
                                    А может и на одном :) А для этого достаточно мерить напряжение АЦП контроллера.
                                      +2
                                      Посмотрите на графики в начале статьи. Там видно, что одно и то же напряжение при разной температуре может соответствовать как почти заряженному аккумулятору, так и почти разряженному. Поэтому надо как минимум мерить еще и температуру.
                                        0
                                        Использовать литий при 0 а тем более при отрицательных температурах — вобще дело сомнительное. Само устройство то будет работать от 3,5в? А от 3 и подавно?

                                        Если устройство потребляет не много и используется при низких температурах, тогда да надо мерить температуру.
                                          0
                                          От 3,5В оно просто обязано работать, поскольку это напряжение еще вполне бодрого АКБ.
                                            0
                                            3,5 уже не совсем бодрого. Раньше телефоны при 3,5 показывали что батарея разряжена а на 3,4 — вырубались. Не знаю как сейчас с этим обстоит.
                                            Тут еще фишка. Если батарею разряжать до низких напряжений, особенно большими токами, то ресурс у нее падает значительно. Особенно это касается Li-pol как на айфонах. Так что в плане жизни батареи, индикатор без корректировки на ток и температуру будет честнее.

                                            Както делали знакомому на электро велик простой и тупой индикатор на LM3914 и линейке ледов. Зато наглядный очень. Реагирует на просадки напруги. И можно понять когда велику можно вливать а когда не стоит чтоб батарею поберечь.
                                            Стоит то она не мало…
                                              +1
                                              А вы ничего не путаете? Старый литий, который 3,7 среднее, 4,1 максимальное напряжение, примерно при 3-3,1 вырубались вроде. Сейчас свою Nokia N73 высажу, замер сделаю.
                                                +1
                                                Да, вы правы, N73 ушла в нокаут на 3,4. Это я с чем-то перепутал.
                                                  0
                                                  Ну вот.
                                                  А из опыта эксплуатации электро вертолета, я знаю что если разряжать батарею большим током до 3,3в то она вздувается через 20 циклов. А если не жадничать и разряжать до 3,7 то циклов становится в разы больше.

                                                  Так что если на холоде разряжать до низких напряжений, долго такая батарея не протянет. Ну может кроме специальных каких нибудь.
                                                    0
                                                    Аналогично как-то проверял на смарте самсунга — выключается при снижении ниже 3.4 (на 3.35В примерно).

                                                    А спутали — с отрубанием самого аккумулятора (встроенной в него БМС), там обычно 3.0-3.05 как раз заложено.

                                                    Т.е. 3.3-3.4В это программная обработка мониторинга батареи в ПО телефона, заложенная с приличным запасом, для корректного завершения работы и всех процессов.
                                                    А 3.0-3.05В это точка срабатывания аппаратной схемки в самом аккумуляторе, которая отключит его от внешнего мира (мгновенно и без всяких предупреждений) с целью защиты от переразряда.
                                                      0
                                                      Да, так и есть. Потому что я вспомнил, при каких условиях на 3-3,1 рубило: в самоделках всяких, питаемых от телефонных батарей, и не умеющих в мониторинг, высаженная до отключения девайса батарея показывала на банках чуть больше 3 вольт.
                                                        0
                                                        Есть подозрение, что смарт просто работает от 3.3 через step-down, и меньше, чем 3.3х просто не может использовать, сколько бы энергии не было в батарее.
                                                          0
                                                          Может, это просто запрограммировано так. Проверяется обратным включением телефона, который перед этим самостоятельно и принудительно выключился из-за низкого заряда аккумулятора. Т.е. не просто «ругался» на низкий заряд, а уже не спрашивая пользователя сам завершил работу и отключился.
                                                          Он нормально обратно включается, начинает загружаться до момента когда запустится модуль мониторинга батареи (тут в зависимости от ОС и конкретной модели могут быть сильные различия — когда первый раз проверяется уровень заряда) после чего снова выключается — так же корректно.
                                                          И так можно проделывать несколько раз до тех пор пока уже аппаратный контроллер в самом аккумуляторе не отключит питание просто разорвав цепь. Обычно это около 3.0 Вольта, но в некоторых аккумуляторах эта граница ниже, например 2.75 В встречаются.
                                                            0
                                                            Возможно, но я считаю такую логику странной. То есть, логично было бы сначала смотреть условия, а потом уже загружаться. Также при отключении нагрузки напряжение на батарее может немного подрастать в течение какого-то времени. И это работает в том числе для аппаратной защиты — я регулярно вижу аналогичный эффект на устройствах состоящих только из некоторого количества светодиодов, сборки защищенных аккумов и хардварной кнопки — ни какого программного мониторинга и тем более отключения там нет (я это точно знаю потому, что я это проектировал с нуля).

                                                            Кстати, в моей практике аппаратная отсечка обычно 2.5 для литий-кобальтовых. Потому выключениее при 3в меня и наводит на всякие мысли вроде описанных выше.
                                                0
                                                Есть низкотемпературные Li-ion акумы, например MP174565, заряд -30, разряд -40, да при такой температуре отдаст 50% емкости, и напряжение меньше 3в.
                                                  0
                                                  Его стоимость вас огорчит:) я работал с ними — там очень много нюансов при температуре ниже -20
                                                    0
                                                    Ну есть более бюджетные варианты, если заряжать при плюсовой температуре:LP385590LC
                                                    Ну а так да, там и схемы защиты должны будут учитывать температуру
                                                    0
                                                    Как вариант литий-железо-фосфатный аккумулятор (LiFePO4, LFP)
                                                      0
                                                      У них свои проблемы. Одна из самых очевидных это низкая удельная емкость.
                                                    0
                                                    Само устройство то будет работать от 3,5в?
                                                    Есть куча вещей с питанием от 1.7, например. В том числе — arm контроллеры, память и тд.
                                                      0
                                                      А кто мешает поставить преобразователь 3,7->5 В и питать все что угодно?
                                                        0
                                                        Зачем? Наоборот понижающий ставят, хотя в крутых SoC встроенный есть уже.
                                                          0
                                                          Ставят тот, который нужен. Если у вас усилитель с питанием 5В, то вам его в любом случае надо иметь.
                                                            0
                                                            Тогда он нужен вне зависимости от заряженности ячейки) Но это не относится же к теме ветки.
                                                +2
                                                На заре популяризации мобильных телефонов видимо так же думали, именно поэтому моя motorola mpx200 могла показывать 4 палочки из 4х дома, но после выхода на улицу (в -10) и 5ти минутного разговора уже показывать одну палочку…
                                                Вопрос в том на сколько у вас простое устройство и готовы ли вы беря его в руки фактически не знать, что с батареей.
                                                Да и по графикам видно, что разбег может быть от 10% до 90% о какой достаточности можно говорить в таком случае?
                                                  0

                                                  А после мороза 4 палочки заряда появлялись? Просто читал, что лилий при морозе теряет емкость, поэтому к ошибке измерения это не имеет никакого отношения.

                                                    0
                                                    На морозе он теряет напряжение в основном(посмотрите графики), а если вы смотрите заряд по напряжению, то и вы теряете.
                                                    0
                                                    О уже эта MPX200) Там вообще батарея была не лучшая, долго не жила, насколько помню. И контроллер хитрый, с защитой от перепаковки: если питание пропадает — он самоликвидируется. При замене банки нужно было сначала новую подпаивать, а потом старую отпаивать.
                                                      0
                                                      в батарее там все просто было (как на 2х правых образцах рассмотренных батарей). Да, цепь защиты блокировалась при отпаивании банки, но ее можно было сбросить замкнув конденсатор пинцетом:)я так и делал при установке банки от нокии.
                                                        0
                                                        Эх, вот бы ваш коммент — да n лет назад) А то я ведь тогда выбросил пару изношенных батарей, лишь на третьей понял как действовать
                                                          0
                                                          Так вроде на форуме (еще mpx200.ru был) про это писали — не помню. Я еще конденсаторы допаивал в усилитель, чтоб басы нормальные сделать и надо признать это была самая крутая доработка — звук стал бомбический. До сих пор у меня лежит в запасе идеальный экземпляр (жена как-то подарила), иногда достаю подержать.
                                                            0
                                                            У меня в те годы ни компа, ни нормального инета не было, чтобы особо форумы штудировать (хотя жил же как-то с Opera Mini и лимитированным GPRS), вот и действовал неэффективно. А Моторола эта и у меня до сих пор где-то лежит, только внешне изрядно потрепанная за годы эксплуатации. Насколько помню, прошита на WM6 (на флешку), года 3 назад все работало, включится ли сейчас, если найду — не уверен. У меня даже MiniUSB кабелей в хозяйстве не осталось, чтобы зарядить ее, если аккум саморазрядился.
                                                              0
                                                              А у меня даже чехол есть и фирмовый кабель motorola
                                                                0
                                                                Чехол тоже был, и родная флешка на 16 МБ, а вот кабель где-то давно затерялся во времени…
                                                          0
                                                          Или подать напряжение на контакты. Очень часто при этом контроллер открывается.
                                                    +1
                                                    Не думал что китайцы в «неоригиналах» ещё и чипы корявые ставят. Думал только сами банки похужее. Теперь буду обязательно оригинал искать для телефона или приближенный к нему в крайнем.
                                                      +2
                                                      Как я понимаю оригинала нет, есть только нормальная копия. Саму емкость я особо не мерил — батарея iphone не супер выдающаяся по показателям удельной емкости (это же не samsung) и, если копия не откровенно паленая, обеспечить номинальную емкость можно. Тут больше вызывает вопрос потеря емкости при использовании, но на такие тесты у меня времени не было. Есть хорошее видео на эту тему
                                                        0
                                                        Спасибо! Видео посмотрел…
                                                      0
                                                      Спасибо. Главные вещи понятно написаны для меня — неграмотного.Познавательный материал. А сколько лет вы занимаетесь вот этим вот всем, что сумели достичь этого уровня?
                                                        +2
                                                        Смотря что считать «вот этим всем»… если с самого начала, то лет 20.
                                                          +1
                                                          Ну я так и думал ;-)
                                                        +1
                                                        Вообще, для постоянно работающих устройств с не сменным аккумулятором, думаю, лучше всего считать именно потреблённую ёмкость, самим устройством (специальной микросхемой). Именно как у батарей айфона. Только микросхема эта должна быть таки в самом девайсе, а не в батарее, хотя при копеечной её стоимости… почему бы и нет. Неужели только яббл озаботился такими батареями для носимых девайсов, т.е. мельче планшетов?
                                                          0
                                                          TI без проблем высылает 5 образцов с 3-х дневной доставкой. Можно сделать измеритель на плате и использовать с обычным аккумуляторм (без встроенного измерителя — только с защитой — EEMB например).
                                                            0
                                                            Вот только когда наступит время покупать микросхему, датчик тока, датчик температуры на свои кровные — станет очевидно, что решение получилось далеко не бюджетное. Попутно еще калибровка и обучение нужно.
                                                              0
                                                              Все зависит от бюджета. BQ24296 вполне можно купить по $1,7 в партии от 500шт. При этом она уже содержит весь необходимый обвес. Не такая уж большая цена по сравнению с лотерей, которую вы описали,
                                                                0
                                                                Мда, она вам не подойдет, т.к. не отслеживает ток разряда. Но все равно, лучше закладываться на гарантированное решение — литий ошибок не прощает.
                                                                  0
                                                                  BQ24296 это микросхема с совсем другим функционалом. К тому же элитан говорит 138р за 500 шт, а это, пока доллар не стоит 81р, никак не $1,7.
                                                              +1

                                                              Использовать батареи от apple — такое себе решение. Это зависимость в стороннем поставщике. Их могут снять с производства в любой момент. Тем более, еще и бороться с подделками… Тут уже расписали варианты: 18650, AA с датчиком в устройстве, они всяко лучше будут. Да будут проблемы с определением точного временем работы, но даже на сотовых и ноутбуках оно не такое точное.

                                                                +2
                                                                Все могут снять с производства. Бороться с подделками надо везде. Киньте мне уже ссылку на 18650, АА с датчиком в устройстве. Не такое точное это какое?
                                                                  +1

                                                                  Имелось ввиду, датчик температуры и пара АЦП с МК в вашем устройстве, а не в батарее АА или 18650. Я не буду с вами спорить, ведь все уже запроектировано. Сделали так — ну и хорошо. Просто делюсь опытом. По поводу неточности, у ноутов заявленный час работы может израсходоваться за 20 минут, а смартфон выключится при 15% заряда (точнее 15 упадут в 0 за секунды). Особо, если батарея уже подсажена.

                                                                    0
                                                                    Я, ни в коем случае, не хочу с вами спорить. Просто мне нужно знать на будущее если существует более простой способ, чем тот, что применил я и использовать только его. Раз вы делитесь опытом, то расскажите подробнее, что у вас получилось?
                                                                    По поводу ноутов могу сказать, что у них (из-за 3S конфигурации батареи) намного сложнее BMS и те ситуации, которые вы описали, возникают при серьезном дисбалансе ячеек.
                                                                    В телефонах описанная вами ситуация возникает, когда разработчики идут либо по второму методу(измерение напряжения), либо по пятому (CW2015 или наналогичные).
                                                                      0

                                                                      Нет, более простого способа не существует. Но вы отложили, тем самым, проблемы в долгий ящик, пойдя по простому пути. Вам придется делать еще раз эту же работу, когда применяемые батареи снимут с производства.

                                                                        0
                                                                        Когда любую деталь снимают с производства (при отсутствии прямого аналога) работу приходится делать еще раз.
                                                                        Учитывая то, что АКБ для iPhone4 спокойно можно купить до сих пор, хотя вышел он в 2011 можно спать спокойно — 7 лет жизненный цикл продукта меня устраивает
                                                                      0
                                                                      АЦП встроенный в МК не хватит для задач подсчета ёмкости, слишком уж они грубые и сложно будет обеспечить точность из-за топологии. Для более-менее точного подсчета ёмкости нужен 20...24-битный АЦП.
                                                                        +1

                                                                        Я и не предлагал встроенные в МК АЦП. И еще для чего такая высокая битность, если уже 16-битные АЦП выдают точность 50мкВ на 3,3В питании?

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

                                                                            Это актуально только для устройств-измерителей энергии/тока. А для обычных устройств, чтобы узнать кол-во энергии, затраченное батареей, я бы сделал проще. Просто заменял бы некоторый средний ток за несколько секунд, например, а потом результаты усреднял за час/день/неделю.

                                                                              0

                                                                              Замерял*. С телефона не поправить, к сожалению.

                                                                                0
                                                                                Интересно, а как вы измерите «средний ток»? АЦП измеряет только в момент времени… причем для измерения энергии важно измерять одновременно и ток и напряжение, поскольку сопротивление батареи не нулевое напряжение будет прыгать вместе с током, и если это не учесть будет накапливаться ошибка, особенно на импульсном токе.
                                                                                  +1

                                                                                  Вот смотрите. Токовый малоомный шунт. От него отводы на ФНЧ (скорее всего, пассивный RC), который усреднит ток, дальше АЦП. У АЦП существует так называемый оверсемплинг плюс цифровой фильтр, которые усредняют несколько отсчетов (сколько — настраивается). После АЦП идет обработка в МК. Например, можно делать не один запрос с АЦП, а каждую секунду и усреднить эти запросы за час. Насчет напряжения — там же стоит батарея, и блокировочные емкости. По сути, ток ВЧ (колебания напряжения с ним связаны) вообще не должен протекать через батарею, только через емкости. Но и сюда можно поставить ФНЧ — АЦП.

                                                                                    0
                                                                                    Блокировочные конденсаторы срезают ВЧ, но тем не менее быстрые изменения тока проходят порядка десятка килогерц. С этим надо что-то делать. И тем не менее, на платах почему-то не видно грядок НЧ-фильтров(особенно с постоянной времени в пару секунд) обычно пара резисторов и контроллер.
                                                                                      0
                                                                                      Потому, что это все тлен и не нужно. На практике производитель сам поставляет данные энергопотребления различных узлов для различных режимов. Также есть инструменты профилирования готового устройства. Тогда мы знаем, что deep sleep жрет столько (в среднем в час, например), BLE advertising жрет по такой-то таблице в соответствии мощностью передатчика и тд. Что-то подсказывает, что с поправкой на температуру батареи это даст точность лучше, чем 10% при условии, что мы знаем реальню емкость. Последнюю же можно уточнять по референсным точкам (полный заряд, разряд до отсечки) — если мы предсказывали 10 часов работы, а вышло 8, то выставляем соответствующие коэффициенты.
                                                                                        0
                                                                                        При обычной эксплуатации только одна референсная точка — полный заряд, в ноль до отсечки практически никто не разряжает.Да и ногда бывает что до полной зарядки дело долго не доходит — девайс в постоянном пользовании и нет времени дожидаться полной зарядки.
                                                                                          0
                                                                                          Если девайс постоянно заряжается, то нужны ли нам данные о заряде? Ну и да, одной референсной точки тоже может быть достаточно, если мы знаем зарядный ток.
                                                                                            0
                                                                                            Так ведь заранее неизвестно будет ли девайс постоянно заряжаться. Зарядка может колебаться в диапазоне 50...80% и никогда не дойдет ни до одной референсной точки. А данные по степени заряда нам нужны всегда, ведь заранее неизвестно когда пользователь возжелает посмотреть уровень заряда и крайне желательно в эти моменты знать достаточно точный уровень, иначе зачем вообще все эти пляски?
                                                                                              0
                                                                                              Зависит от устройства. В том, что я обычно делаю вообще не предусмотрено ни каких сведений о заряде (кроме завершения процесса зарядки), тк если у пользователя есть время ткнуть на зарядку, то проще это сделать и не переживать, а если времени на это нет, то и информация о разряде ничего не даст=)

                                                                                              Если работает сценарий «поставить заряжаться на ночь», то 100% будут достигаться почти всегда. Если устройство садиться быстрее, чем за день, то опять же его проще тыкать на зардку при любой возможности и не думать лишнего.

                                                                                              Если же оно супернизкопотребляющее, то постоянное измерение тока уже не вариант просто из-за того, что сам по себе этот процесс энергозатратен. В итоге мы либо навскидку угадываем по напряжению батареи либо пользуемся эвристиками (или комбинируем разное).
                                                                                                0
                                                                                                Проблема с измерением уровня заряда, как я понял, относится именно к силовым батареям, с большим током где под током напряжение прыгает и нельзя сопоставить даже таблично напряжение-заряд. Для низкопотребляющих девайсов такой проблемы нет и легко реализовать индикатор заряда только лишь по напряжению. Но это что касается разряда, с зарядкой всё гораздо сложнее. Там ведь номинальное напряжение достигается при уровне заряда 70% а дальше до 100% только падает зарядный ток, вот здесь без вычислений и контроллера уже не обойтись. Ток ведь зарядный может зависеть не только от батареи, но и от источника тока(качества кабеля в том числе). Для малопотребляющих девайсов это не проблема но вот смартфоны… хочется ведь знать сколько ещё примерно ждать зарядки оставшихся 10%… а там зарядный ток под 2А…
                                                                                                  0
                                                                                                  Зарядный ток в первую очередь от контроллера заряда зависит. Он же и отсечку определяет. А тк отсечка идет на малых токах 0.1С и менее, то влиянием кабеля можно пренебречь. А большие токи в середине процесса можно сравнительно неплохо мерять шунтом. Или вы о чем-то другом говорите?
                                                                                                    0
                                                                                                    Зарядный контроллер лишь ограничивает ток. Если источник физически не способен отдать нужный ток(солнечная панель например) то зарядный контроллер с этим вообще ничего не сможет сделать.
                                                                                                      0
                                                                                                      Вот вы о чем… да, согласен.
                                                                                                        0
                                                                                                        Если зарядник импульсный, то правильнее вести речь про мощность, потому как импульсным преобразователем всегда можно превратить высокое напряжение с малым током в низкое с большим.
                                                                                                          0
                                                                                                          Если этой мощности вообще будет достаточно. Да и у импульсников тоже ограничения есть свои. Они в любом случае ничего не могут поделать с высоким сопротивлением кабелей/разъёмов при фиксированном/ограниченном напряжении источника тока.
                                                                                                            0
                                                                                                            Везде есть ограничения, но импульсники более гибки
                                                                                          0

                                                                                          Нч фильтров нет, а должны быть, чтобы избежать альязинга. А десятки килогерц давятся ЦФ. Например, я работал с ads1118, он их подавляет от -70дБ и ниже.

                                                                                            –1
                                                                                            Что такое тогда ЦФ? ads1118 обеспечивает до 860 семплов/сек…
                                                                                            Это ведь не цифровой фильтр.
                                                                                              0

                                                                                              ЦФ встроен внутрь микросхемы, именно этой. Если внимательно посмотреть, то в даташите есть график фильтрации ЦФ в зависимости от частоты. Второе, SPS в шите приведено в значении не семплы АЦП, а семплы выдаваемые МК в режиме непрерывного преобразования. Сколько семплов поступает в АЦП в даташите не сказано, можно только догадаться по частоте модулятора и времени одной конверсии.

                                                                                                0
                                                                                                Тогда всё становится интересней. Но в таком случае начинает играть фактор собственного потребления этим самым АЦП. Не получится ли так что он потреблять энергии для реализации учета сравнимо с потреблением собственно нагрузки?
                                                                                                Внимательно изучать даташит, к сожалению, нет возможности.
                                                                                                И это хорошо, наверно, что в чипе уже есть ЦФ, но тогда должна быть указана частота семплирования или по меньшей мере допустимый частотный диапазон по входу чтобы не допустить стробоскопического эффекта на АЦП.
                                                                                                  0

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

                                                                        0
                                                                        Спасибо! Хоть и далек от темы, но очень понравился материал!
                                                                          0
                                                                          отлично! )
                                                                            0
                                                                            Вы пишете, что разработанный вами беспроводной автономный RFID считыватель может активно использоваться от батареи до 80 часов. Исходя из этого (и учитывая описанную вами область применения), предположим, что данные считыватели используются при проведении презентации без сборки тестового проводного стенда. Теоретическое время полного заряда батареи — обычно не больше 3 часов (з/у на 2А, батарея — почти на 3000мАч). Тогда нет смысла в контроле экзотичных параметров, кроме поддержания правильного режима зарядки и защиты от опасных для батареи режимов. Провели суточную презентацию — положили заряжать.
                                                                              +1
                                                                              Наши устройства участвовали на мероприятиях длительностью 5 суток без подзарядки, но это требовало изменения режима работы для оптимизации потребления. А когда считывателей несколько десятков и они разбросаны по всему объекту, то очень не удобно что-либо с ними делать. Знать параметры всегда лучше чем не знать, особенно, когда с ним работают неподготовленные люди.
                                                                              0
                                                                              А вариант с интегрированием тока разряда самим устройством не рассматривался? Судя по картинкам разрядных кривых есть две характерных области перегиба — их отследить не так сложно, а всё, что между ними — интерполировать вычислением оставшегося уровня за счёт интегрирования тока потребления.
                                                                              После пары-тройки циклов конкретное устройство подберёт коэффициенты для своей батарейки…
                                                                                +1
                                                                                Так делают, но такой метод дает накапливающуюся ошибку, поскольку калибровка может быть только в двух точках (полный заряд или полный разряд), а они не всегда достигаются(не всегда устройство работает от полного заряда до полного заряда).
                                                                                0
                                                                                Из китайцев достаточно честные АБК делает только SINO CAMERON.
                                                                                И недёшево.
                                                                                Причём и их уже подделывать начали :-)
                                                                                  0
                                                                                  Мда… не думал что так все сложно, хотя возможно я никогда раньше не задумывался что там есть команды и прочее.
                                                                                    0
                                                                                    Повелся на заголовок, а статья оказалась о том какое разнообразие подделок и невозможности найти оригинал. Чувствую себя обманутым )
                                                                                      0
                                                                                      Статьи тоже подделывают
                                                                                        0
                                                                                        Всё подделывают. Даже куриные яйца.
                                                                                      0
                                                                                      Так а разъем для подключения батареи где покупали?
                                                                                        +1
                                                                                        Там же где и аккумуляторы — в магазине запчастей для сотовых. На серийку заказали катушку на алибабе.
                                                                                        0
                                                                                        Ток заряда при напряжении АКБ близком к 4,2В становился крайне малым (около 20мА) и процесс заряда грозил не закончится никогда.
                                                                                        Как-то сталкивался с повербанком-чехлом, который не на одном айфоне батарею вздул… потом его на следующий надевали… я тогда предположил, что проблема в выходном напряжении, и посоветовал больше не надевать… Сейчас проблема прояснилась.
                                                                                          +2

                                                                                          Я к ойфонам Nohon покупаю на алишке в "Nohon official store".
                                                                                          Не знаю, как они общаются с телефоном, но проблем пока не было с емкостью.
                                                                                          Интересно бы было в этой статье увидеть, что там внутри.

                                                                                            +1
                                                                                            Nohon вроде как хорошие, но купить его по-быстрому у меня не получилось
                                                                                            0

                                                                                            Скажите, а не рассматривали вариант с двумя глупыми банками (только защита от перезаряда/переразряда) и переключением на вторую при разряде первой? Разумеется, переключение перед срабатыванием защиты на 0,1–0,2 В. После переключения начинаем мигать диодом «заряди меня!». Аккумуляторы можно сделать или съёмными, или заряжать прямо в устройстве. Мне кажется, всё же лучше, чем закладываться на китайский аккум, в который в любой момент могут начать класть другую микросхему.

                                                                                              +1
                                                                                              Не рассматривали. Если и будем делать, то свою плату gas gauge ну и обязательно рассмотрим CW2015, которую я нашел в процессе написания статьи.
                                                                                              0
                                                                                              Правая была куплена в Китае, остальные в Москве. Стоимость $6-11.

                                                                                              Как мне кажется, автор не с того начал. Китайцы могут не только контроллер говняный засунуть, но и литиевые элементы непонятной емкости, надежности и с неясными сроками жизни. Особенно за 10$. Для начала, надо было на 4pda почитать ветку про iphone 6, раздел про аккумуляторы. Там много важной информации и реальных отзывов про реальные покупки — сколько прожил аккумулятор, когда сдох, как ведет себя на морозе и т.п.
                                                                                                0
                                                                                                Спасибо. Для себя почерпнул некоторую нужную информацию. А с АКБ от ноутов такая же примерно ситуация (в смысле контроллеры заряда, емкости и пр)?
                                                                                                  0
                                                                                                  Да, там все есть, только еще сложнее. Из-за последовательного соединения ячеек там сложнее контроллер и добавлен балансир.
                                                                                                    0
                                                                                                    Спасибо. Буду копать информацию по АКБ для ноутбуков. А вот за структурированную статью по контроллерам аккумуляторов еще раз спасибо.
                                                                                                    +1
                                                                                                    Разобрал оригинальную батарею SE, установлена SN27545.
                                                                                                      0
                                                                                                      Большое спасибо за комментарий. Исправил в статье.

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

                                                                                                    Самое читаемое