Переносное зарядное устройство для телефона с использованием AVR
- Войдите на сайт для отправки комментариев
Доброго времени суток.
Хочу сделать переносное зарядное устройство для телефона. Схема приблизительно такая: На вход micro-usb (с сетевого адаптера или с компьютера) подается 5 В и идет на контроллер заряда. Этот контроллер контролирует зарядку 4-х 3.7 В Li-ion аккумуляторов, подключенных параллельно друг к другу. Выход контроллера питания подключен к DC-DC преобразователю, повышающему напряжение до 5 В, которые идут к телефону. Ко всей этой конструкции подключается микроконтроллер, с помощью которого на дисплей выводится информация о заряженности аккумуляторов (в %, 0% соответствует напряжению выключения заряда аккумуляторов контроллером зарядки, а 100% соответствует напряжению выключения заряда аккумуляторов контроллером зарядки). Напряжение аккумуляторов узнаю с помощью встроенного в микроконтроллер АЦП.
Есть пара вопросов:
1) Микроконтроллер пока не выбрал, у всяких Atmega слишком много выводов, хотя они могут пригодиться для подключения светодиодов и другой переферии. Возьму микроконтроллер с напряжением питания в районе 3.7 В. Собственно вопрос, от чего питать микроконтроллер ? С выхода контроллера заряда или может с выхода DC-DC преобразователя ?
2) Какой контролллер заряда выбрать из доступных ? Пока что мой не особо активный, но долгий поиск не дал особых результатов. Видел у контроллеров заряда такие полезные штуки как "выход с единицей при полной зарядке аккумулятора", хочется чтобы еще напряжение в цифровом виде в микроконтроллер умел передавать чтобы, так сказать, из первых рук.
3) Из того что вычитал в интернете (а конкрено с реализацией переносной зарядки на микроконтроллере мало чего нашел), многие ставят между контроллером заряда и DC-DC преобразователем кнопку выключения, якобы без нагрузки все равно преобразователь занимается преобразованием и съедает накопленный заряд в аккумуляторах. Нужно ли реализовывать такую кнопку ?
PS: дисплей хочу взять 0.96 OLED 128х64, с I2C подключением к микроконтроллеру. Хочу реализовать вывод не только процента заряда аккумуляторов, но и других характеристик вроде температуры (приделаю датчик температуры), времени, прицеплю кнопки (или джойстик какой нибудь маленький) и запилю какую-нибудь игру-змейку)) Какие еще индикаторы на дисплее можно сделать ?
Все это конечно здорово, вот только ЗАЧЕМ ?
чем не устраивает готовый powerbank
Все это конечно здорово, вот только ЗАЧЕМ ?
чем не устраивает готовый powerbank
Отчасти из за цены, но в общем хочется самому что-то такое сделать с дополнительными функциями, которых нет в обычных повербанках
sm4511022, измеряя напряжение вы НЕ узнаете о состоянии заряжённости аккумулятора, это не батарейка, где остаток напряжения пропорционален её заряду. В современной технике (смартфоны/ноутбуки, планшеты) применяются специальные контроллеры "fuel gauge battery" , которые отслеживают состоянии аккума с точностью до 99%, и выдают пару десятков его параметров, в том числе и такие полезные, как "сколько устройство сможет проработать в часах при текущем энергопотреблении". Работают чипы обычно по шине i2c. Т.е. для ардуины -идеально. Если вы прикрутите такой чип в свой зарядник -тогда да, игра стоит свеч, я не видел повербанков с таким чипом. Если нет - то и нет смысла всё это затевать, ибо будет фигня.
По приведёной Вами функциональной схеме, Вы сможете контролировать только напряжение, а не величину заряда (энергии). Если Вам этого достаточно, то вполне реализуемо. Если же есть желание сделать что либо посерьёзнее, изучите как происходит контроль работы аккумуляторов в иной технике. Видимо нужно контролировать и токи (можно применить датчик тока на эффекте Холла). Всё зависит от величины Вашего "хочу".
dimax, а есть хоть примерный алгоритм, чтобы получить хотя-бы подобие процента заряда? Скажем с 10% погрешностью. Или всё равно выйдет шляпа? Просто корпуса у таких вещей не дружат с понятием "самопал", был бы он хотя-бы sot8...
std, есть вариант без умных чипов, но нужно будет делать изредка калибровку(полный заряд-разряд-заряд). Потребуется измерять ток и напряжение, идеально шилдиком на ina219, которые сейчас рублей по 200 на Али. Написать программу, которая делает следущие вещи "калибровка"- аккум полностью заряжается и сразу же полностью разряжается током предполагаемой средней нагрузки. При разрядке измеряется количество отданных милливатт-часов до минимального напряжения. Это значение сохраняется как величина полной енерго-ёмкости (=100%) . В режиме "работа" МК всё время записывает количество отданных милливатт, и сравнивает с полной величиной из памяти, таким образом рассчитывая текущее состояние разряда с неплохой точностью. (точность будет зависеть от тока разрядки) Можно так-же будет предсказывать оставшееся время работы, как умный чип. Но я б всё таки прикрутил специализированный чипик, не гоже в наш век нанотехнологий использовать дедовские методы :-)
У меня тут война, Яровая интренет и торговлю запрещает, так что хочется иметь возможностьсобрать пиратский передатчик из говна и палокобходиться ножом и паяльником.В Китае давно интерет запретили. А заодно и GPS. И что с того?
Очень интересно, думаю это то что мне нужно. Поискал на чип и дипе, все подобные микросхемы либо дорогие, либо в не очень удачных для меня корпусах. Кто нибудь подобные микросхемы использовал на ардуино ? Не могу найти примеры, с моим знанием английского и техническими знаниями разобраться по даташитам будет не просто.
dimax вы правы только отчасти. На основании велчины напряжения можно судить о остаточной емкости, т.к. эта величина имеет свой закон зависимости. С учетом закона Пекерта можно построить довольно неплохой счетчик. Электровелосипедисты не плохо с этим справляются. Зная исходную емкость можно отнимать он ее величины затраченную и получить остаточную емкость.
sm4511022, да можно и готовый модуль найти при желании :) они продаются, вот например. Просто ввиду их малой распространённости искать тяжёловато. Примеров под ардуино может и не найдёте, но ситуацию облегчат тот факт, что под чипы I2C обработчики писать очень легко, благо библиотека для шины I2C вполне доступная к пониманию :)
Нашел интересную и не дорогую микросхему - DS2741 (полнофцнкциональная ИС контроля заряда литиевых аккумуляторов с интегрированным измерительным резистором). Только не до конца поняль суть этой микросхемы. Эта микросхема обеспечивает защиту от недонапряжения\перенапряжения или нет ? Не понял от чего она питается, я думал все микросхемы заряда аккумуляторов питаются от самих аккумуляторов
http://kazus.ru/lenta/view/0_7261_0.html
sm4511022, да можно и готовый модуль найти при желании :) они продаются, вот например. Просто ввиду их малой распространённости искать тяжёловато. Примеров под ардуино может и не найдёте, но ситуацию облегчат тот факт, что под чипы I2C обработчики писать очень легко, благо библиотека для шины I2C вполне доступная к пониманию :)
Спасибо, возможно это то что мне нужно. Посмотрел даташит на микросхему которая используется в этом модуле и там написано "Host-Side or Battery-Side Fuel Gauging 1 Cell (MAX17043) 2 Cell (MAX17044)". Это значит что можно использовать только 1 или 2 батареи или 1 или 2 батарейные сборки (где батареи подключены параллельно) ? В моем устройстве не менее 4 аккумулятора Li-ion.
Еще, судя по даташиту, в этой микросхеме нет схемызащиты от недонапряжения\перенапряжения
Достаточно контролировать только один элеменет.
и там написано "Host-Side or Battery-Side Fuel Gauging 1 Cell (MAX17043) 2 Cell (MAX17044)". Это значит что можно использовать только 1 или 2 батареи или 1 или 2 батарейные сборки (где батареи подключены параллельно) ? В моем устройстве не менее 4 аккумулятора Li-ion.
Я не изучал особенности этих чипов, но подозреваю что работать с паралельно-соединёнными аккумуляторами не смогут никакие контроллеры. Так что придёться соединять последовательно или отказываться от этого способо мониторинга.
Для максимки17043 оказывается и библиотека ардуиновская уже есть
dimax вы правы только отчасти. На основании велчины напряжения можно судить о остаточной емкости, т.к. эта величина имеет свой закон зависимости.
Кстати, судя по схеме выше названного модуля он тоже судит о заряде исключительно по напряжению :) Так что секреты только в фирменных алгоритмах разработчиков.
Осмелюсь предположить, что если учитывать скорость изменения напряжения на аккумуляторе, то зная характеристики этого аккумулятора, можно с достаточной точностью утверждать о его заряженности/разряженности. Т.е. от измерения тока переходим к измерению времени.
Вообще у меня была следующая мысль: контроллер заряда, предположим, включает зарядку если у аккумулятора напряжение ниже 3.2 и выключает если напряжение выше 4.0. Соответственно 3.2 В это будет 0%, а 4.0 - 100%. 4-3.2=0.8 - это наш отрезок напряжения от 0 до 100%. Делим 0.8 на 100 и получаем 0.008 - это будет 1% зарядки аккумулятора. Измеряем с помощью микроконтроллера напряжение на батареи, вычитаем из считанного значения 3.2 и далее делим на 0.008 и узнаем на сколько % заряжен аккумулятор. Не знаю на сколько это работает, пока ещё не изучал характеристики литиевых аккумуляторов.
С точки зрения оценки напряжения - это логично. Но можно ли это переносить на энергоёмкость аккумулятора - не уверен. Аккумуляторы могут быть разные. Очень удобно иметь оценку вероятного времени работы повербанка на конкретную нагрузку. А это зависит от ёмкости батареи. Её нужно как-то учитывать в рассчётах.
sm4511022, комментарий к посту 19 -этот алгоритм будет работать только при определённых условиях. Вот например взять типовой график разрядки лития при разных токах:
Тут хорошо видно то, про что я вам написал в #3 Возьмём например линию 3,5 вольта. На сильном токе -это только начало разрядки. На малом токе -это самый конец разрядки. Т.е. напряжение практически не говорит о заряжённости аккума. Огромная зависимость от тока нагрузки, а если аккум состарился, то эти графики расползаются ещё шире. Ну и понятно, что не спроста выпускают дорогие микросхемы для контроля, их навороченные алгоритмы как-то умеют понимать всё эти тонкости.
Дааа, готовую микросхему использовать лучше, в таком случае не нужно городить сложных схем и придумывать сложные алгоритмы (которые будут вероятно менее эффективны чем в готовой микросхеме), но судя по тому что я нашел в интернете - у нас они не пользуются особой популярностью. Весь список состоит в среднем из 10 таких микросхем, которые довольно дорогие, в неудачных корпусах и которых нет в наличии
sm4511022, не пользуются популярностью нигде потому, что их не покупают массово производители. А не покупают потому, что это существенное удорожение конечных изделий. Да не то что к мониторингу, даже к зарядке аккмуляторов относятся наплевательски. В недавно обсуждавшемся mp3-плеере за 100 рублей литиевый аккумулятор заряжается от 5 вольт через резистор 2 ома и диод. Очень экономное решение :)