Контроль заряда аккумулятора на ардуино своими руками

Обновлено: 05.07.2024

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 не только превратит Ваши устройства в мобильные, но и избавит Вас от необходимости использования силовых проводов, блоков питания, батарейных отсеков с аккумуляторами, преобразователями и т.д.

Видео:

Спецификация:

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

Отключение спящего режима:

Для предотвращения случайной разрядки батареи в модуле предусмотрена функция автоматического выключения при простое без нагрузки. Функция по умолчанию включена, если микроконтроллер не подключён или подключён, но не инициировал модуль или переключатель модуля находится в положении LED. Для отключения этой функции необходимо:

1) Перевести переключатель в положение I2C:


2) Подключить Shield к Arduino

4) Добавить следующие строки в скетч:

Подробнее о Battery Shield:

Battery Shield построен на базе чипа IP-5108 оснащенным блоком управления заряда/разряда аккумулятора блоком управления повышающего DC-DC преобразователя, многоканальным управлением питанием, 14-ти битным АЦП для чтения напряжений в различных цепях схемы, защитой от перегрузки по току (на входе и выходе), от короткого замыкания, от перенапряжения, от перезарядки аккумулятора, от перегрева чипа. При срабатывании защиты, выходное напряжение отключается, для возобновления работы Battery Shield, необходимо подать питание на порт micro USB. Для согласования логических уровней шины I2C используется чип PCA9306. Контролировать текущее состояние аккумулятора и процесса его заряда, можно как программно (по шине I2C), так и визуально (посредством светодиодов на плате модуля). Установить подходящий Вам метод контроля можно используя переключатель на плате модуля.

Для включения модуля необходимо однократно нажать на единственную кнопку на плате.
Выключить модуль можно либо двойным нажатием на ту же кнопку, либо программно (по шине I2C).

Примеры:

Вывод тока и напряжения:

Данный пример будет постоянно выводить IBAT, VBAT, IOUT, VOUT в монитор последовательного порта.

Вывод состояния и заряда аккумулятора:

Данный пример будет постоянно выводить состояние зарядного устройства, тип заряда и текущую ёмкость аккумулятора (в т.ч. и во время заряда).

Отключение Battery Shield:

Данный пример отключит Battery Shield через 5 секунд после его включения.
Отключение не будет работать, если подано питание на разъем mocro USB.

Программная защита от перегрузки по току:

Данный скетч отключит Battery Shield если сила тока потребляемая Arduino и другими устройствами превысит 700 мА.

Описание основных функций библиотеки:

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

Функция begin();

  • Назначение: Инициализация работы с Battery Shield.
  • Синтаксис: begin( RES [, КПД] );
  • Параметры:
    • RES - значение сопротивления в цепи аккумулятора, указывается в Ом (тип float).
    • КПД - необязательный параметр, коэффициент полезного действия повышающего DC-DC преобразователя, указывается в % (тип float).
    • RES - сопротивление RBAT значение указано на вкладыше к Battery Shield, оно используется для расчёта IBAT.
    • КПД - значение (по умолчанию 94%) используется для расчёта IOUT.
    • Значение RES выше чем номинал резистора, так как оно учитывает сопротивление дорожек, припоя.
    • Точные значения RES и КПД Вашего Battery Shield можно получить используя функции ohmmeter() и efficiency().

    Функция 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).

          Функция amperemeter();

          • Назначение: Получение силы тока.
          • Синтаксис: amperemeter( ЦЕПЬ );
          • Параметр ЦЕПЬ - ток которой требуется получить:
            • BATTERY - измерить ток в цепи аккумулятора (IBAT). Вместо BATTERY можно указать INPUT.
            • OUTPUT- измерить ток нагрузки в цепи выхода (IOUT).
            • Значение IBAT может быть отрицательным (это значит что аккумулятор заряжается).
            • Значения IBAT и IOUT рассчитываются в библиотеке, а не измеряются чипом модуля.
            • Значение IBAT зависит от RBAT (от сопротивления указанного в качестве параметра функции begin).
            • Значение IOUT зависит от КПД повышающего DC-DC преобразователя (по умолчанию 94%).
            • Точные значения RBAT и КПД Вашего Battery Shield можно получить используя функции ohmmeter() и efficiency().

            Описание дополнительных функций библиотеки:

            Дополнительные функции требуют ввода токов измеренных внешними приборами (амперметром или мультиметром). Для выполнения указанных измерений требуются технические навыки и приборы. Любые конструктивные изменения в Battery Shield (в т.ч. обрыв проводов, следы пайки и т.д.) исключают гарантию и работоспособность устройства. Помните что аккумулятор является пожароопасным устройством.


            Arduino тестер емкости батареи своими руками
            Проект очень простой и основан на законе Ома.


            Шаг 1: Элементы и необходимые инструменты

            2. 0,96 "OLED-дисплей

            3. МОП-транзистор - IRLZ44

            4. Резистор ы (4 х 10кОм, 1/4W)

            5. Ре зистор ы (10кОм, 10Вт)

            6. Винтовые клеммы (3 NOS)

            8. 18650 Батарея

            2. Припой

            Шаг 2: Схема и принцип работы

            Схема:
            Конструкция очень проста, который основан на Arduino Nano. OLED-дисплей используется для отображения параметров. Винтовые клеммы используются для подключения аккумуляторной батареи и нагрузки сопротивления. Зуммер используется для подачи сигнала тревоги. Два делители напряжения цепи используются для контроля напряжения на сопротивлении нагрузки. МОП-транзистор для возможности подключать или отключать сопротивление нагрузки с батареей.
            Принцип работы

            Arduino проверяет состояние батареи, если батарея нормальная, дает команду на ВКЛЮЧЕНИЕ полевого транзистора. Это позволяет току проходить от положительной клеммы батареи, через резистор, МОП-транзистори затем завершает путь обратно к отрицательному полюсу. Это разряжает батарею в течение периода времени. Arduino измеряет напряжение на нагрузке, а затем разделяет на сопротивление, чтобы выяснить, ток разряда. Умножаем это на время, чтобы получить значение миллиампер-час (мощности).

            Шаг 3: Напряжение, ток и емкость измерения

            Измерение напряжения

            Мы должны найти напряжение на нагрузке. Напряжения измеряются с использованием двух делителей напряжения цепи. Он состоит из двух резисторов со значениями 10кОм каждый. Он подключен к Arduino аналоговый пин A0 и A1.

            Ток (I) = Напряжение (V) - падение напряжения на MOSFET / сопротивления (R)

            Делим на 1000, чтобы преобразовать его в миллиамперы.

            Таким образом, максимальный ток разряда = 4,2 / 10 = 0.42A = 420mA

            Накапливаемый заряд (Q) = Ток (I) X Время (T).

            Шаг 4: Выбор нагрузочного резистора

            Выбор нагрузки резистора зависит от величины разрядного тока. Допустим, вы хотите разрядить аккумулятор на 500 мА, то значение резистора
            Сопротивление (R) = Макс напряжение батареи / ток разряда = 4,2/ 0,5 = 8,4 Ом
            Резистор должен рассеивать немного мощности, так что размер действительно имеет значение в данном случае.

            Потери тепла = I ^ 2 х R = 0,5 ^ 2 х 8,4 = 2,1 Вт

            Поддерживая некоторый запас вы можете выбрать 5W. Если вы хотите больше пользы, берите 10Вт.

            Шаг 5: Выбор МОП-транзистора

            Когда сигнал 5В (высокий) подается на затвор полевого МОП-транзистора, что позволяет току проходить от положительной клеммы батареи, через резистор, а МОП-транзистор затем завершает путь обратно к отрицательному полюсу. Это разряжает батарею в течение определенного периода времени. Тоисть МОП-транзистор должен быть выбран таким образом, что он может обрабатывать максимальный разрядный ток без перегрева.

            Тут использован N-канальный MOSFET-IRLZ44. L показывает, что это логический уровень МОП-транзистор. Усилитель MOSFET логического уровня означает, что он предназначен для включения полностью от логического уровня микроконтроллера. Стандартный МОП-транзистор предназначен для работы от 10V.

            Если вы используете IRF сери. МОП-транзисторf, то ононе будет полностью включен путем применения 5V от Arduino. Я имею в виду МОП-транзистор не будет нести номинальный ток. Необходима настройка на этих МОП-транзисторах, дополнительная схема для повышения напряжения на затворе.


            Шаг 6: OLED-дисплей
            Чтобы отобразить напряжение аккумуляторной батареи, ток разряда и мощность, тут использованл 0,96 "OLED display. Он имеет разрешение 128x64 и использует шину I2C для связи с Arduino. Два контакта SCL (А5), СПУ (А4) в Arduino Uno используются для связи.

            Используется библиотека U8glib для отображения parameters.First вы должны загрузить библиотеку U8glib .Затем установил его.

            Соединения должны быть следующими

            OLED">Arduino -> OLED
            Vcc">5V ----> Vcc
            GND">GND --> GND
            SDA">A4 ----> SDA
            SCL">A5 ----> SCL

            Шаг 7: Звуковой сигнал для предупреждения

            Для того, чтобы обеспечить различные предупреждения или оповещения, использован пьезоэлектрический зуммер.
            Для различных предупреждений:
            1. Низкое напряжение батареи
            2. Высокое напряжения батареи
            3. Отсутствие батареи

            Соединения должны быть следующими

            Buzzer">Arduino -> Зуммер
            Positive terminal">D9 -> Положительный полюс
            Negative terminal">GND -> Отрицательный полюс

            Шаг 8: Монтаж стоек
            После пайки и монтажа, монтировать распорки на 4 угла. Это обеспечит достаточный зазор для пайки и проводов от земли.

            Шаг 9: Программное обеспечение
            Программное обеспечение делает следующие задачи

            1. Измеряет напряжение
            2. Проверяет состояние батареи, чтобы дать сигнал тревоги или начать цикл разряда
            3. Отображение параметров на OLED
            4. Запись данных на монитор последовательного порта

            Отказ от ответственности: Пожалуйста, обратите внимание, что вы работаете с литий-ионными аккумуляторами, которые являются взрывоопасными и опасными. Я не могу нести ответственность за любую потерю имущества, повреждения или утраты жизни, если дело дойдет до этого.

            Измеритель ёмкости аккумуляторов

            Представлен проект измерителя емкости аккумуляторов, основанный на микроконтроллере, который может измерять практически все типы аккумуляторов. Измеритель может подключаться к компьютеру и давать полную информацию о аккумуляторе - график разряда и емкости.
            Обратите внимание, что это мой первый серьёзный проект на Arduino.

            Что должно получится в итоге

            На этом графике произведены замеры аккумулятора с заявленной емкостью 2000 mAh. Реальная емкость оказалась 1580 mAh:

            График напряжения

            График измерений Li-Ion аккумулятора:

            График измерений Li-Ion аккумулятора

            Таблица замеров

            Все графики сформированны из текстового документа, с значениями измерений, на ПК.

            Начало начал – Arduino

            Arduino

            Эту копию Arduino Diecimila я ждал примерно 2 недели, поэтому я купил ATmega168 и подумал что смогу заставить её работать не хуже Arduino без нескольких компонентов (в частности без кварца). Но это не получилось и мне пришлось ждать 16МГц кварц и два конденсатора 22 пФ.

            Конструкция измерителя

            FET-транзистор с резистором 10 Ватт

            К транзистору подключен резистор 2.2Ом 10 Вт. К резистору я подключил два A/D контакта Arduino и измерял падение напряжения на нем, вычисляя из этого значения ток I = DeltaV/R.
            Я также добавил зуммер для оповещения окончания заряда и необходимости отключения аккумулятора.

            Внешний вид измерителя

            Для индикации я использовал ЖК-дисплей 2*16. Я нашел документацию и пример работы с ним на сайте Arduino и начала разрабатывать программу.

            Тип используемого аккумулятора (NiMH/NiCD или Li-ION) определяется по диапазону напряжения. После определения типа аккумулятора, начнется его разрядка для определения параметров.

            Внешний вид измерителя

            Цикл разряда аккумулятора длится 30-120 минут. Длительность цикла зависит от емкости аккумулятора.

            Схема управления нагрузкой

            Параллельно резистору подключаются 2 A/D контакта.
            Vr = Vbat-Vfet.

            Программа

            Схема подключения LCD к Arduino - стандартная. Посмотреть можно на официальном сайте по Arduino.

            Фальсификация аккумуляторов — особенно литий-ионных (Li-ion) и никель-металлогидридных (NiMH) аккумуляторов — печальный факт. Многие компании рекламируют аккумуляторы или PowerBank, указывая огромные значения емкости, которые значительно превышают фактические параметры этих компонентов.

            Благодаря данному устройству вы можете легко измерить реальную емкость аккумуляторов и выбрать те, которые имеют соответствующие параметры. Трудно проверить реальную емкость аккумуляторов, особенно когда вы их покупаете много.

            Точно так же трудно определить доступную емкость восстановленных ячеек формата 18650 (например, с ноутбуков). Устройство для измерения фактической емкости аккумуляторов позволит выбрать подходящий элемент для питания какого-либо устройства.

            Схема, представленная ниже, представляет собой второе поколение измерителя емкости аккумуляторов, созданного автором проекта на портале Instructables под ником Open Green Energy.



            Схема, построенная ранее в 2016 году, разряжала элемент через постоянный резистор, а модуль Arduino измерял ток и напряжение как функцию времени. В конце, после разрядки элемента до заданного уровня, емкость определялась как произведение тока разряда и времени, которое потребовалось для разрядки элемента до установленного уровня.

            Однако во время измерения при уменьшении напряжения батареи также уменьшается и ток. Это делало процесс вычисления емкости достаточно сложным и неточными. Чтобы устранить эту проблему, автор создал версию V2.0, которая была разработана таким образом, чтобы ток оставался постоянным на протяжении всего процесса разрядки.

            Это достигнуто за счет использования активной нагрузки для разрядки аккумулятора. Ток разряда аккумулятора может быть постоянным на протяжении всего процесса измерения.

            Основные преимущества тестера емкости аккумуляторов:

            • Возможность измерять емкость элементов NiMH, NiCd, Li-Ion, Li-Poli и LiFePo4 различных размеров — AA, AAA, 18650 и др. Единственным условием является напряжение аккумулятора ниже 5 В.
            • Настраиваемый ток разряда аккумулятора.
            • Пользовательский интерфейс на основе легко читаемого OLED-дисплея.
            • Возможность использования устройства в качестве программируемой электронной нагрузки.

            Для создания данного тестера нам понадобятся:

            • Печатная плата.
            • Arduino Nano .
            • Операционный усилитель LM358 .
            • Дисплей OLED с диагональю 0,96 дюйма.

            Конструкция тестера аккумуляторов

            Принципиальная схема показана на следующем рисунке:

            Измеритель емкости для аккумуляторов на Arduino Nano. Схема

            Условно всю конструкцию можно разделить на следующие части:

            1. Источник питания.
            2. Нагрузка постоянного тока.
            3. Измерение напряжения аккумулятора.
            4. Интерфейс пользователя.
            5. Сигнализатор — зуммер.

            Источник питания

            Схема нагрузки постоянного тока

            Основным элементом этой схемы является интегральная схема LM358, которая включает в себя два операционных усилителя. ШИМ-сигнал с цифрового вывода D10 Arduino подается на фильтр нижних частот, состоящий из компонентов R1 и C3.

            Далее он поступает на неинвертирующий вход операционного усилителя сконфигурированного вместе с полевым транзистором VT1 в качестве источника тока.

            Операционный усилитель DD1 питается от стабилизированного напряжения 5 В, отфильтрованного конденсатором, который должен быть расположен как можно ближе к операционному усилителю.

            ОУ DD1 вместе с R3 и VT1 , образует активную нагрузку постоянного тока, которая разряжает батарею. Ток, протекающий через резистор R3, управляется широтно-импульсной модуляцией (ШИМ), подаваемой с Arduino на транзистор VT1 .

            Принцип работы источника питания, встроенного в эту систему, очень прост. Операционный усилитель DD1 сравнивает напряжение на контакте 2 (инвертирующий вход) и контакте 3 (неинвертирующий вход).

            Сам операционный усилитель настроен как буфер с единичным усилением. Отфильтрованный ШИМ сигнал подается на неинвертирующий вход, что вызывает появление некоторого напряжения на выходе усилителя, который открывает затвор MOSFET.

            Когда MOSFET включается, ток, протекающий через R3, вызывает определенное падение напряжения на этом резисторе, что обеспечивает отрицательную обратную связь для операционного усилителя. Схема управляет полевым транзистором таким образом, что напряжения на инвертирующем и неинвертирующем входах одинаковы (с помощью управления затвором MOSFET).

            Таким образом, ток, протекающий через нагрузочный резистор, будет пропорционален напряжению на неинвертирующем входе операционного усилителя. Напряжение на неинвертирующем входе, которое управляет работой источника тока, поступает от низкочастотного фильтра RC, на который подается прямоугольный сигнал с переменным заполнением, генерируемый Arduino.

            На следующем рисунке показан ШИМ сигнал от Arduino (канал 1, желтый) и сигнал после фильтра (канал 2, зеленый). Таким образом, из ШИМ и RC-фильтра собран простой ЦАП.

            ШИМ сигнал от Arduino

            Значения элементов фильтра RC могут быть подобраны с помощью осциллографа и анализа выходного сигнала от фильтра для различных значений аккумуляторов и/или частоты сигнала ШИМ.

            Схема измерения напряжения аккумулятора

            Напряжение аккумулятора измеряется через контакт A0 (вход аналого-цифрового преобразователя в Arduino). Два конденсатора С1 и С2 используются для фильтрации помех, присутствующих в цепи испытуемого аккумулятора, которые возникают из-за пульсаций тока в цепи активной нагрузки. Эти помехи могут снизить точность измерения АЦП в Arduino.

            Интерфейс пользователя

            Схема интерфейса пользователя состоит из двух кнопок и 0,96-дюймового модуля OLED-дисплея, управляемого по I2C. Две кнопки (Вверх и Вниз) используются для увеличения или уменьшения ширины импульса ШИМ, что позволяет регулировать ток разрядки аккумулятора.

            Резисторы R2 и R4 подтягивают обе линии, подключенные к кнопкам. Третья кнопка (RST) используется для сброса Arduino. Напряжение аккумулятора, ток разряда и измеренная емкость отображаются на OLED-дисплее.

            Его разрешение составляет 128 × 64 пикселей, а связь с Arduino осуществляется через шину I2C, благодаря которой для передачи данных требуются только две сигнальные линии — контакт SCL (A5) и SDA (A4). Два других контакта платы дисплея являются источником питания (+5 В и GND).

            Сигнализация — зуммер

            5-вольтный зуммер подключен к цифровому выводу D9 Arduino. Этот выход управляет сигналом тревоги, который сигнализирует о начале и конце измерения емкости ячейки.

            Программное обеспечение

            Во время измерения емкости аккумулятора схема стабилизирует ток на заданном уровне и разряжает аккумулятор до получения установленного напряжения в зависимости от типа батареи (например, 3,2 В для литий-ионного элемента). Емкость (в мАч) рассчитывается как установленный ток разряда (в мА) умноженный на время (в часах) необходимое для разрядки до порогового напряжения.

            Ток разряда можно регулировать путем изменения заполнения ШИМ-сигнала, который управляет источником тока. Прежде чем мы перейдем к саму скетчу, мы должны загрузить и установить две библиотеки:

              — используется для управления кнопками. — поддержка дисплея OLED с драйвером SSD1306.

            Скетч для Arduino

            Перед компиляцией в коде необходимо заполнить два значения калибровки:

            • Массив значений тока для различных величин ШИМ и используемого силового резистора. Этот ток мы измеряем, подключая мультиметр последовательно с ячейкой, уже после сборки нашего устройства. Кнопками меняем заполнение управляющего сигнала и измеряем текущий для отдельных порогов ток ячейки. Полученные значения помещаем в переменную Current.
            • Уровень напряжения VCC в нашей схеме. Мы измеряем напряжение 5 В с помощью мультиметра на выводе VCC Arduino и вводим фактическое значение в переменную Vcc.

            После вышеуказанной калибровки код программы готов к компиляции. Мы еще можем изменить значение переменной Low_BAT_ Level — это порог напряжения, до которого будет разряжаться элемент. Это зависит от типа аккумулятора. Хорошей идеей будет установить этот порог чуть выше минимально возможного напряжения для конкретного типа аккумулятора.

            Далее следуют минимальные напряжения ячеек различной химии для разрядки ячеек током 1С:

            Предлагаемая схема для зарядки аккумулятора, реализован на Arduino nano и модуле mcp4725, она отображает информацию о напряжении аккумулятора и токе на экране ЖК. При тестах свинцовая батарея от мотоцикла использовалась для проверки зарядки. Есть в конце статьи в архиве схемы, чертежи печатной платы и исходный код.

            Материалы для сборки зарядного устройства

            1. Arduino Nano,
            2. цифро-аналоговый преобразователь MCP4725,
            3. два мощных транзистора BD911 на 90 Вт, ОУ LM358,
            4. жидкокристаллический экран SSD1306 и пассивные элементы.

            Схема зарядки аккумулятора на Ардуино

            ЗАРЯДКА АККУМУЛЯТОРОВ НА АРДУИНО

            Позже в схему были добавлены некоторые изменения, а также в файлы кода.

            ЗАРЯДКА АККУМУЛЯТОРОВ НА АРДУИНО

            ЗАРЯДКА АККУМУЛЯТОРОВ НА АРДУИНО

            • A0 0,22 Ом позволяет рассчитывать потребляемый ток путем измерения напряжения, падающего на резисторах.
            • Разница потенциалов между А1 и А2 позволяет увидеть, подключен ли аккумулятор и каково напряжение аккумулятора.
            • RV1 был использован для ограничения напряжения от транзисторов.
            • RV2 предназначен для регулировки усиления напряжения операционного усилителя.
            • RV3 и RV4 служат для калибровки, чтобы точно измерить напряжение аккумуляторной батареи.

            ЗАРЯДКА АККУМУЛЯТОРОВ НА АРДУИНО

            Следует помнить, что для правильного измерения аналоговых входов необходимо отрегулировать подстроечники с помощью измерителя. При вычислениях в программе Arduino может потребоваться внести незначительные изменения.

            ЗАРЯДКА АККУМУЛЯТОРОВ НА АРДУИНО
            ЗАРЯДКА АККУМУЛЯТОРОВ НА АРДУИНО

            Читайте также: