Всем доброго времени суток. Начав изучение Arduino, подумал, что для многих проектов было бы неплохо собрать устройство резервного питания. Как я это вижу Устройство на базе Arduino питается от сети через адаптер 5V 1A, например. Если это питание пропадает (выключается свет), срабатывает реле, которое начинает запитывать устройство от павербанка, пока не появится ток в сети. А после этого павербанк переходит в режим зарядки.
Думаю, такая схема пригодилась бы многим, например, для самодельной сигнализации, устройств жизнеобеспечения для рыбок (вроде автоматической кормушки, компрессора, или ещё чего)
Ещё буду признателен, если подскажете как можно реализовать вот такую вещь. Есть системный блок, в нём прорезано отверстие под кулер в верхней части. Чтобы когда ПК выключен через него не садилась пыль, хочу, чтобы при остановке кулера, закрывалась шторка. Саму конструкцию сделать не сложно, а вот то, как она будет «понимать», что пора открыть/закрыть шторку не знаю. Думаю, что проще всего будет сделать, чтобы при включении (питание появляется) моторчик открывал отверстие, а при выключении (питание пропадает) — соответственно закрывал, но как это реализовать, не знаю.
Достойная батарея конденсаторов на выходе вполне поддержит питание устройства в то время, пока реле будет переключаться.
Единственно только, контроллер для этой задачи совершенно не требуется, а целая плата Ардуино — тем более. Все это реализуется на одном компараторе и горсти рассыпухи.
Можно сделать шторку достаточно легкой, чтобы ее поднимал поток воздуха от кулера.
_________________ Разница между теорией и практикой на практике гораздо больше, чем в теории.
Реклама
Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет
Вебинар поможет в выборе недорогих источников питания оптимальных для систем охраны, промышленных и телекоммуникационных приложений, а также для широкого применения. Будут представлены основные группы источников питания по конструктивным признакам и по областям применения в контексте их стоимости или их особенностей, позволяющих снизить затраты на электропитание конечного устройства.
As вот как раз суть вопроса в том, как сделать, чтобы устройство не тухло, когда вырубается свет, а начинало запитываться от аккумулятора. Так же как компьютерный ИБП.
Ys Вы не совсем правильно поняли. Я имел ввиду устройство на базе Ардуино (предположим, простейшая сигнализация на датчиках движения) работает от сети (через адаптер 5v 1a), а в случае отключения электроэнергии, начинает запитываться от аккумулятора. Это так же может быть самодельный насос, например, для аквариума. Вас дома нет, электричество отрубилось, а насос может дальше работать от аккумулятора. Когда я этим занимался, мне стрёмно было оставлять питомцев одних так.
Не могли бы вы поподробнее описать предложенный Вами способ. Я плохо в этом разбираюсь, знания отрывочны и узконаправлены. В идеале должен получится мини-ИБП 5V 1A. Насчёт лёгкой шторки- звучит очень разумно, (как я сам не додумался-то:))отличная мысль, спасибо.
Реклама
Реклама
Приглашаем всех желающих 13 октября 2021 г. посетить вебинар, посвященный искусственному интеллекту, машинному обучению и решениям для их реализации от Microchip. Современные среды для глубинного обучения нейронных сетей позволяют без детального изучения предмета развернуть искусственную нейронную сеть (ANN) не только на производительных микропроцессорах и ПЛИС, но и на 32-битных микроконтроллерах. А благодаря широкому портфолио Microchip, включающему в себя диапазон компонентов от микроконтроллеров и датчиков до ПЛИС, средств скоростной передачи и хранения информации, возможно решить весь спектр задач, возникающий при обучении, верификации и развёртывании модели ANN.
Тогда все еще проще. В такой постановке задача решается двумя диодами.
Резистор показан условно. Он символизирует схему контроля заряда батареи.
_________________ Разница между теорией и практикой на практике гораздо больше, чем в теории.
Реклама
Страница 1 из 1
[ Сообщений: 6 ]
Часовой пояс: UTC + 3 часа
Кто сейчас на форуме
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12
Источник
Battery Shield для автономного и резервного питания Arduino
Общие сведения:
Battery Shield — это источник автономного питания для 5В плат Arduino, позволяющий сделать Ваши устройства по настоящему мобильными. Battery Shield устанавливается на Arduino снабжая её питанием, как обычный аккумулятор снабжает питанием Ваш смартфон, планшет и т.д. Если к шинам питания Arduino подключены иные устройства, они также получат питание от Battery Shield. Уровень заряда LiPo (литий-полимерного) аккумулятора можно контролировать либо программно (по шине I2C), либо визуально (по светодиодному индикатору на плате). При необходимости аккумулятор можно зарядить через порт micro USB (питание Arduino не исчезнет во время заряда аккумулятора), блок зарядного устройства автоматически включается, выключается и выбирает тип заряда аккумулятора в зависимости от уровня его разряженности.
Источник автономного питания выполнен в виде Shield, что удобно при его использовании с платами Arduino Uno, Arduino Mega, Arduino Leonardo и им подобных плат Arduino с рабочим напряжением питания 5В. Если Вы используете платы Arduino Nano или Arduino Pro Mini 5V 16MHz, то их так же можно запитать от Battery Shield, без проводов, предварительно установив Arduino в модуль Trema Shield NANO. Использование Battery Shield не только превратит Ваши устройства в мобильные, но и избавит Вас от необходимости использования силовых проводов, блоков питания, батарейных отсеков с аккумуляторами, преобразователями и т.д.
Видео:
Спецификация:
Входное напряжение питания зарядного устройства: 5 В (порт micro USB).
Выходное напряжение питания модуля: 5 В (постоянного тока).
Напряжение заряда аккумулятора: 4,2 В.
Тип аккумулятора: LiPo (литий-полимерный) 3,7 В.
Ток заряда аккумулятора: до 2,1 А.
Ток на выходе модуля: до 1 А (в пиках до 1,5 А).
Время обнаружения перегрузки по току: 30 мс.
Время обнаружения КЗ нагрузки: до 200 мкс.
Время пробуждения: 50 мс.
Порог срабатывания защиты от перегрева: 125 °С.
Порог срабатывания защиты от пониженного питания на входе micro USB: 4,5 В.
Перед установкой Battery Shield дважды нажмите кнопку на плате, что бы выключить модуль.
Battery Shield устанавливается на Arduino или Trema Shield NANO, так чтобы все штекеры разъёмов модуля установились в гнёзда разъемов Arduino.
Колодка «POWER» на плате модуля должна совпадать с одноимённой колодкой на плате Arduino или Trema Shield NANO.
Отключение спящего режима:
Для предотвращения случайной разрядки батареи в модуле предусмотрена функция автоматического выключения при простое без нагрузки. Функция по умолчанию включена, если микроконтроллер не подключён или подключён, но не инициировал модуль или переключатель модуля находится в положении LED. Для отключения этой функции необходимо:
1) Перевести переключатель в положение I2C:
2) Подключить Shield к Arduino
3) Скачать и установить библиотеку Battery_Shield. О том как устанавливать библиотеки можно узнать здесь.
4) Добавить следующие строки в скетч:
Подробнее о Battery Shield:
Battery Shield построен на базе чипа IP-5108 оснащенным блоком управления заряда/разряда аккумулятора блоком управления повышающего DC-DC преобразователя, многоканальным управлением питанием, 14-ти битным АЦП для чтения напряжений в различных цепях схемы, защитой от перегрузки по току (на входе и выходе), от короткого замыкания, от перенапряжения, от перезарядки аккумулятора, от перегрева чипа. При срабатывании защиты, выходное напряжение отключается, для возобновления работы Battery Shield, необходимо подать питание на порт micro USB. Для согласования логических уровней шины I2C используется чип PCA9306. Контролировать текущее состояние аккумулятора и процесса его заряда, можно как программно (по шине I2C), так и визуально (посредством светодиодов на плате модуля). Установить подходящий Вам метод контроля можно используя переключатель на плате модуля.
Специально для Battery Shield, нами разработана библиотека Battery_Shield, которая позволяет управлять источником автономного питания по шине I2C. Для работы библиотеки, переключатель на плате должен находиться в положении «I2C». Библиотека позволяет: выключать модуль, включать/выключать зарядное устройство, получать силу тока аккумулятора, получать силу тока в цепи нагрузки, получать напряжение на аккумуляторе, получать напряжение на аккумуляторе без нагрузки, получать напряжение в цепи нагрузки, получать % заряда аккумулятора, получать используемый тип заряда аккумулятора (заряд не осуществляется, TK — заряд малым током, CC — заряд постоянным током, CV — заряд постоянным напряжением, Time Over). Дополнительно можно получить текущее КПД повышающего DC-DC преобразователя, а так же точное сопротивление резистора в цепи аккумулятора, используемого для расчёта силы тока аккумулятора.
Для включения модуля необходимо однократно нажать на единственную кнопку на плате. Выключить модуль можно либо двойным нажатием на ту же кнопку, либо программно (по шине I2C).
Перед первым включением Battery Shield (после покупки), подайте питание на порт micro USB (не менее чем на 2 секунды).
Для включения модуля необходимо однократно нажать на единственную кнопку на плате.
Для выключения модуля необходимо выполнить двойное нажатие на единственную кнопку на плате (выключайте модуль перед его установкой на Arduino).
Для заряда аккумулятора подайте питание на порт micro USB (при наличии питания от micro USB, модуль включится и не будет выключаться при нажатии на кнопку).
При срабатывании защиты Battery Shield (перегрузка по току, КЗ, перегрев и т.д), выходное напряжение модуля отключается, для возобновления работы Battery Shield, необходимо его включить, однократно нажав на кнопку.
При срабатывании защиты аккумулятора, его схема отключит питание на выходе, для возобновления работы аккумулятора необходимо подать питание на порт micro USB.
Для визуальной индикации (посредством светодиодов) состояния аккумулятора и его зарядки, переведите выключатель на плате модуля в положение «LED».
Для управления модулем и получения данных по шине I2C, переведите выключатель на плате модуля в положение «I2C».
Обратите внимание на то, что в режиме «LED» светодиодная индикация потребляет ток.
Если модуль находится без нагрузки (ток на выходе ниже 120 мА) дольше 32 секунд, то он автоматически выключится.
Для работы с Battery Shield по шине I2C предлагаем воспользоваться библиотекой Battery_Shield.
Библиотека Battery_Shield запрещает автоматическое выключение модуля при отсутствии нагрузки.
Примеры:
Вывод тока и напряжения:
Данный пример будет постоянно выводить IBAT, VBAT, IOUT, VOUT в монитор последовательного порта.
Вывод состояния и заряда аккумулятора:
Данный пример будет постоянно выводить состояние зарядного устройства, тип заряда и текущую ёмкость аккумулятора (в т.ч. и во время заряда).
Отключение Battery Shield:
Данный пример отключит Battery Shield через 5 секунд после его включения. Отключение не будет работать, если подано питание на разъем mocro USB.
Программная защита от перегрузки по току:
Данный скетч отключит Battery Shield если сила тока потребляемая Arduino и другими устройствами превысит 700 мА.
Описание основных функций библиотеки:
Библиотека Battery_Shield позволяет управлять источником автономного питания по шине I2C. Для работы библиотеки, переключатель на плате должен находиться в положении «I2C». Библиотека позволяет: выключать модуль, включать/выключать зарядное устройство, получать значения IBAT, VBAT, IOUT, VOUT, % заряда аккумулятора, текущий тип заряда аккумулятора (TK, CC, CV).
Подключение библиотеки:
Функция begin();
Назначение: Инициализация работы с Battery Shield.
Синтаксис: begin( RES [, КПД] );
Параметры:
RES — значение сопротивления в цепи аккумулятора, указывается в Ом (тип float).
КПД — необязательный параметр, коэффициент полезного действия повышающего DC-DC преобразователя, указывается в % (тип float).
Возвращаемое значение: (bool) результат инициализации true/false.
Примечание:
RES — сопротивление RBAT значение указано на вкладыше к Battery Shield, оно используется для расчёта IBAT.
КПД — значение (по умолчанию 94%) используется для расчёта IOUT.
Значение RES выше чем номинал резистора, так как оно учитывает сопротивление дорожек, припоя.
Точные значения RES и КПД Вашего Battery Shield можно получить используя функции ohmmeter() и efficiency().
Пример:
Функция off();
Назначение: Выключение Battery Shield.
Синтаксис: off();
Параметр: отсутствует.
Возвращаемое значение: (bool) результат выключения true/false.
Примечание: Функция не работает при наличии питания на micro USB.
Параметр: (bool) флаг разрешающий работу ЗУ. true — разрешить / false — запретить.
Возвращаемое значение: отсутствует.
Примечание: Если разрешить работу ЗУ но не подать питание на micro USB, то аккумулятор заряжаться не будет.
Пример:
Функция getLevel();
Назначение: Получение уровня заряда аккумулятора в %.
Синтаксис: getLevel();
Параметр: отсутствует.
Возвращаемое значение: (uint8_t) уровень заряда (от 0% до 100%).
Примечание:
возвращаемое значение кратно 5%.
ёмкость аккумулятора рассчитывается по его напряжению без нагрузки.
функция работает вне зависимости от работы зарядного устройства.
Пример:
Функция getState();
Назначение: Получение состояния Battery Shield.
Синтаксис: getState();
Параметр: отсутствует.
Возвращаемое значение:
CHARGING_IDLE — в данное время аккумулятор не заряжается.
CHARGING_TK — аккумулятор заряжается в режиме TK — малым током.
CHARGING_CC — аккумулятор заряжается в режиме CC — постоянным током.
CHARGING_CV — аккумулятор заряжается в режиме CV — постоянным напряжением.
CHARGING_TO — аккумулятор не заряжается, так как истекло отведённое время заряда.
Пример:
Функция voltmeter();
Назначение: Получение напряжения.
Синтаксис: voltmeter( БЛОК );
Параметр БЛОК — определяет блок схемы на котором требуется измерить напряжение:
BATTERY — измерить напряжение на аккумуляторе (UBAT). Вместо BATTERY можно указать INPUT.
BATTERY_IDLE — измерить напряжение на аккумуляторе (UBAT) без нагрузки.
OUTPUT — измерить напряжение на выходе (UOUT).
Возвращаемое значение: (float) значение измеренного напряжения в В.
Пример:
Функция amperemeter();
Назначение: Получение силы тока.
Синтаксис: amperemeter( ЦЕПЬ );
Параметр ЦЕПЬ — ток которой требуется получить:
BATTERY — измерить ток в цепи аккумулятора (IBAT). Вместо BATTERY можно указать INPUT.
OUTPUT- измерить ток нагрузки в цепи выхода (IOUT).
Возвращаемое значение: (float) значение силы тока в А.
Примечание:
Значение IBAT может быть отрицательным (это значит что аккумулятор заряжается).
Значения IBAT и IOUT рассчитываются в библиотеке, а не измеряются чипом модуля.
Значение IBAT зависит от RBAT (от сопротивления указанного в качестве параметра функции begin).
Значение IOUT зависит от КПД повышающего DC-DC преобразователя (по умолчанию 94%).
Точные значения RBAT и КПД Вашего Battery Shield можно получить используя функции ohmmeter() и efficiency().
Пример:
Описание дополнительных функций библиотеки:
Дополнительные функции требуют ввода токов измеренных внешними приборами (амперметром или мультиметром). Для выполнения указанных измерений требуются технические навыки и приборы. Любые конструктивные изменения в Battery Shield (в т.ч. обрыв проводов, следы пайки и т.д.) исключают гарантию и работоспособность устройства. Помните что аккумулятор является пожароопасным устройством.