![](https://habrastorage.org/getpro/habr/upload_files/7ce/ea0/65a/7ceea065aee143d742b992285e337e0a.png)
Если вы связаны с производством какого-либо продукта, то вы наверняка знаете, что как бы хорош не был продукт, он все равно имеет свойство устаревать. Ну и дальше развитие событий может быть разным, от продолжения выпуска этого продукта в неизмененном виде, до полного прекращения его производства. В нашем случае было решено модернизировать изделие и начали мы с элемента питания.
В 2022-м году, на зло экоактивистам, еще не все перешли на питание своих изделий от аккумуляторов и тому есть разные причины, но конкретно нас интересовала стоимость и форм-фактор элемента питания.
Используемая до этого схема контроля заряда батарейки была сконструирована на уже устаревшей элементной базе и не давала практически никаких данных кроме как уровень напряжения. А хотелось, как всегда, знать больше.
После не долгих поисков была обнаружена интересная микросхема LTC3337. Это монитор состояния батареи со встроенным кулоновским счетчиком. В конечном счете значение из счетчика переводятся в мА*ч и у нас появляется довольно точное представление об остаточном заряде элемента питания.
На этом возможности данной микросхемы не заканчиваются. Как известно, емкость элементов питания зависит от многих факторов, одним из них является температура окружающей среды.
Только посмотрите как сильно зависит емкость батарейки от окружающей температуры.
![SAFT LS33600 SAFT LS33600](https://habrastorage.org/getpro/habr/upload_files/456/a51/9d5/456a519d58da88558a5aae9a0c622a24.png)
Как видно из графика, знать текущую температуру, для определения остаточной емкости необходимо. И эти данные мы так-же можем получить. Микросхема LTC3337 измеряет температуру своей матрицы которая будет не сильно отличаться от температуры среды окружающей элемент питания.
Ну и конечно LTC3337 предоставляет данные об уровне напряжения на батарейке и ее сопротивлении.
![](https://habrastorage.org/getpro/habr/upload_files/bab/923/bcf/bab923bcfb1497ef565169b9e3e24590.png)
Как видно схема включения до безобразия проста, но есть одно НО. Кулоновский счетчик нельзя сбросить программно да это, собственно, и не нужно, но есть ситуации в которых он обнулится:
Отсутствие питания на контакте AVcc(1.8-3.3V).
КЗ между +U и GND.
Чтобы предотвратить потерю данных из-за КЗ нужно просто контакт AVcc подключить к контакту BAT_IN но иметь в виду, что теперь кулоновский счетчик не будет учитывать потребление самой микросхемы.
![](https://habrastorage.org/getpro/habr/upload_files/ae9/1a5/e07/ae91a5e0745edbbe84bed4be132ebe64.png)
Производитель микросхемы приводит таблицу, в которой по заданному значению выходного тока рекомендуется выбирать значение емкости Cout, в моем случае С1.
![](https://habrastorage.org/getpro/habr/upload_files/ea0/373/b99/ea0373b99ad3ddd1e37fe4763fdaf921.png)
Как было видно из принципиальной схемы и из топологии ПП, я заложил один конденсатор и сделал это абсолютно не верно. Тут нам следовало обратиться к документации на такой "простой элемент" как конденсатор и там есть прекрасный график, на котором изображена зависимость емкости от приложенного напряжения.
![](https://habrastorage.org/getpro/habr/upload_files/1df/3d1/499/1df3d1499f02566155d5ada47146ea70.png)
Хватит тут одного конденсатора? Я думаю, что ответ вам известен (хорошая статья на эту тему).
Проверка
Ну что, плата готова, программа написана, пора проверить "умную" батарейку.
![](https://habrastorage.org/getpro/habr/upload_files/1ab/e33/e7f/1abe33e7f6240bdfaab611e3260924df.jpg)
Нагрузим батарейку и посмотрим полученные данные из LTC3337.
На графике синим цветом изображено изменение значений кулоновского счетчика, а оранжевым уже переведенные значения в mA*h. Можно заметить, что со временем "ступеньки" становятся короче, это связано с увеличением нагрузки.
![](https://habrastorage.org/getpro/habr/upload_files/cee/d31/cf8/ceed31cf869abe7071f514a142e511cb.png)
На данном графике изображены значения напряжений, замеряемые микросхемой на своем входе и выходе. Здесь изменение графика обусловлено тем, что в начале нагрузка от батарейки отключена, а в конце принимает значение 100 mA.
![](https://habrastorage.org/getpro/habr/upload_files/c33/2b5/714/c332b5714deb27e1aeaefdcd07d5e975.png)
При температуре в помещении, равной примерно 24°C, микросхема показывала температуру кристалла равной 18.5°C без нагрузки.
Итог
Постарался описать все этапы разработки не сложного, но от этого не менее интересного изделия. Конечно, чтобы пустить данную батарейку в серию, необходимо провести еще довольно много испытаний и написать адекватный софт для управляющего устройства, но уже при первом приближении становятся видны преимущества современной электроники перед старой, как минимум для данной задачи.