Измерение ёмкости аккумулятора
Потребовалось измерить емкость аккумуляторной батареи. Однако никакого готового устройства для этого в доме не оказалось.
Заказывать на амазоне не хотелось, поэтому собрал из того что было небольшое устройство для измерения ёмкости аккумулятора на базе Arduino и ino219.
На макетной плате расположены arduino pro mini датчик тока и напряжения ina219 контроллер зарядки TP4056 и стабилизатор step-up который повышает напряжение 3.7 Вольт аккумулятора до 5 Вольт который нужен arduino и OLED дисплей. Устройство питается от элемента 18650.
Данная схема позволяет измерять ёмкость аккумулятора при зарядке и разрядке литий-ионных аккумуляторов и отображать ее на дисплее.
Когда внешнего питания нет устройство работает от аккумулятора и одновременно измеряет ёмкость аккумулятора при его разрядке.
На дисплее показывается циклические напряжение аккумулятора ток который течет через него и одновременно накапливается ёмкость в ампер часах и в Ватт часах.
Если мы подключим что-нибудь ещё дополнительно какую-нибудь нагрузку мы можем ускорить процесс разрядки и испытать аккумулятор под нагрузкой. В теории, емкость аккумулятора при разных токах разрядки может отличаться.
Если мы подключим внешнее питание, то устройство перейдет в режим зарядки, для чего нужно нажать кнопку для подтверждения смены режима. Это нужно для того чтобы если вы случайно отключили питание чтобы устройство осталось в том же режиме в котором было и продолжило считать параметры зарядки и это не повлияло бы на уже накопленные результаты.
Кроме этого, каждая сессия заряда или разряда записывается в EEPROM устройства и если вы случайно выключите все устройство то после включения устройство продолжит зарядку с прерванного момента. В EEPROM устройства сохраняются последние десять сессий заряда разряда.
Таким образом можно измерить емкость литий-ионного или литий-полимерного аккумулятора при его разрядке или зарядке.
Устройство можно использовать как продвинутый power bank для питания других устройств, в случае, если вам необходимо контролировать параметры энергопотребления схемы, или же как зарядное устройство с контролем емкости заряжаемого аккумулятора.
Прошивка, как всегда, выложена на github.
Альтернативное IDE для Ардуино
Давно ищу замену для Arduino IDE которое очень примитивное и жутко неудобное.
Пробовал использовать для этого Атом и Eclipse но так и не смог их настроить для компиляции скетчей. Приходилось все равно использовать родное IDE но оно не умеет автобновлять содержимое файлов если их изменить в сторонней программе, поэтому скетч нужно постоянно закрывать и открывать заново, что жутко неудобно.
Оказалось что Visual Studio Code прекрасно умет почти из коробки запускать скетни Arduino. Просто ставится соответствующее расширение и ваши скетчи начинают волшебным образом компилироваться. При этом, как я понял, используются те же библиотеки, которые используются для компиляции скетчей в Arduino IDE.
Как же это здорово, когда можно пользоваться нормальной подсветкой синтаксиса и использовать автоподсказки. К хорошему быстро привыкаешь.
Заказал интересную плату
Вторую неделю вся контекстная реклама мне подсовывает новую железку от TTGo : TTGO T-SIM7000G Module ESP32-WROVER-B Chip WiFi Bluetooth 18560 Batterie Halter Solar Ladung Entwicklung Bord
Выглядит очень интересно - процессор ESP32, на борту 3g интернет, WiFi, GPS, и все это питается от аккумулятора 18560 с возможностью зарядки от солнечной батареи. По автономности это должна быть очень крутая штука для всяких дистанционных устройств - онлайн трекеров и подобных самоделок с автономным питанием.
Стоит удовольствие около 30 Евро. Неизвестно правда, нужно ли будет платить пошлину - в Германии весь китайский импорт облагается пошлиной, и не маленькой, - вот и посмотрим.
P.S. Уже давно амфиботропная асфиксия мешает мне заказать нормальный Raspberry Pi чтобы, наконец, доделать GSM гейт - а тут под действием момента взял и заказал совершенно ненужный девайс. Сработала контекстная реклама.
Велотрекер
Согласно статистике каждые полторы минуты в одной только Германии воруют один велосипед. В прошлом году было украдено 332 486 велосипедов на сумму более 120 миллионов евро, и это только задокументированные случаи воровства. Во всем остальном мире ситуация обстоит не лучшим образом.
После того как моему любимому велосипеду приделали ноги, стал думать как бы этого можно было бы избежать подобного в будущем. Как правило, украденный велосипед не увозят далеко - одному моему коллеге повезло больше чем мне - тот нашел свой велосипед на соседней улице пристегнутым к забору другим замком. Свой велосипед подобным образом мне найти, увы, не удалось. Если бы на велосипеде стоял GPS трекер, то его можно было бы найти за считанные минуты.
После того как TTGO выпустили плату с ESP32 и SIM600 на борту я подумал, что это почти готовый GPS трекер, на нём уже есть контроллер LiPo аккумулятора и слот для SIM карты - нужно только добавить в связку GPS! Из недорогих на рынке оказался модуль NEO6m который удивительно прост в управлении. Трекер питается от LiPo аккумулятора емкостью 700mAh.
Все компоненты достаточно компактные, их можно поместить, например, в велофонарь, раму, сиденье - в велосипеде не так много вариантов, но они есть.
Сейчас одной зарядки хватает сейчас примерно на два дня. Моей целью является увеличение этого времени хотя бы до недели, два для это слишком мало - ведь иногда велосипед может стоять без движения достаточно долго. Устройство заряжается от велогенератора встроенного в колесо через специальный стабилизатор.
Трекер посылает телеметрию на собственный сервер каждые десять минут - возможно в будущем это время будет увеличено чтобы добиться большей автономности.
Готовое устройство внешне выглядит как обычный задний велофонарь и является неразборным, для герметичности фара залита термоклеем, поэтому прошивку нужно обновлять по воздуху, это первое что я реализовал, так как снимать устройство каждый раз когда нужно залить новую прошивку мне совершенно не хочется. Сама прошивка написана на C++ в среде Ардуино.
Насколько подобное устройство окажется полезным - время покажет, пока же это такой хобби-проект где я могу поэкспериментировать с интересными мне технологиями.
Все ссылке в этой статье ведут на немецкий Амазон где я заказывал компоненты устройства. В России те же самые детали можно купить на AliExpress, в Германии из за высоких пошлин и трудностей с таможней AliExpress, увы, не так популярен.
В ближайшее время планирую сфокусироваться на функциональности - добавить в работу bluetooth и wifi, улучшить автономность, сделать мобильное приложение и улучшить серверную часть. Как только будет возможно - выложу исходники и схему в открытый доступ. Пока же, если кто-нибудь захочет поучаствовать в разработке или повторить - пишите мне в личку - обязательно поделюсь исходниками.