Меню

Питание ардуино от зарядки



Arduino.ru

Комбинированное питание ардуины от портативной зарядки

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

Имеется портативная зарядка, которую планирую постоянно держать включенную в сеть. От неё питать ардуину и датчики. Цель использовать портативную зарядку как источник бесперебойного питания.

Отсюда вопрос №1 возможно ли это и какие ньюансы подключения существуют?

Хочу осуществлять контроль пропадания напряжения сети т.к. контролировать напряжение подаваемое БП на портативную зарядку.

Отсюда вопрос №2 насколько реально это реализовать и какие ньансы могут возникнут от новичка?

Как я понял для контроля нарпяжения на БП нужно соединить землю, землю портативной зарядки и землю контроллера. Верно?

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

Имеется портативная зарядка, которую планирую постоянно держать включенную в сеть. От неё питать ардуину и датчики. Цель использовать портативную зарядку как источник бесперебойного питания.

Отсюда вопрос №1 возможно ли это и какие ньюансы подключения существуют?

Хочу осуществлять контроль пропадания напряжения сети т.к. контролировать напряжение подаваемое БП на портативную зарядку.

Отсюда вопрос №2 насколько реально это реализовать и какие ньансы могут возникнут от новичка?

Как я понял для контроля нарпяжения на БП нужно соединить землю, землю портативной зарядки и землю контроллера. Верно?

Что такое «портативная зарядка»? Мобильный пауэрбанк? — убедитесь, что ваша зарядка позволяет рабтать в «проходном режиме», то есть позволяет одновременно и заряжаться и питать нагрузку. На некоторых пауэрбанках стоит переключатель и одновременно эти режимы не работают.

2. Для контроля напряжения БП подайте это напряжение на аналоговый вход ардуины через делитель с большим номиналом сопротивлений — 10К или больше. Земля, да. должна быть общей. но обычно в цепи -БП-Зарядка-нагрузка земля и так единая.

Источник

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 В.
  • Частота повышающего DC-DC преобразователя: 650 кГц.
  • Интерфейс: I2C.
  • Адрес на шине I2C: 0x75.
  • Рабочая температура: 0 . 70 °С.
  • Габариты: Shield.

Подключение:

  • Перед установкой 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().
  • Пример:
Читайте также:  Сообщение правильное питание для 3 класса

Функция off();

  • Назначение: Выключение Battery Shield.
  • Синтаксис: off();
  • Параметр: отсутствует.
  • Возвращаемое значение: (bool) результат выключения true/false.
  • Примечание: Функция не работает при наличии питания на micro USB.
  • Пример:

Функция charging();

  • Назначение: Включение/выключение зарядного устройства.
  • Синтаксис: charging( ФЛАГ );
  • Параметр: (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 (в т.ч. обрыв проводов, следы пайки и т.д.) исключают гарантию и работоспособность устройства. Помните что аккумулятор является пожароопасным устройством.

Источник