Главная » Arduino
Призовой фонд
на июнь 2019 г.
1. 1000 руб
Паяльник
2. Тестер компонентов LCR-T4
Сайт Паяльник
3. 100 руб.
От пользователей

4-канальный вольтметр с ЖК-индикатором на базе Arduino

Четырехканальный "Arduino-вольтметр" может измерять четыре независимых напряжения постоянного тока в диапазоне от 0 до 50В. Аналоговые каналы с A2 по A5 на Arduino Uno используются для измерения четырех различных напряжений. Измеренные значения напряжений отображаются на 16-символьном, двухстрочном ЖК-индикаторе.

Напряжения отображаются в виде значения с одной цифрой после запятой, напр., 5.3В, 12.8В и т.д.

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

Принцип работы вольтметра

Каждый канал вольтметра на базе Arduino имеет пару резисторов, которые образуют делитель напряжения. Делитель напряжения уменьшает входное напряжение до уровня, который может быть измерен микроконтроллером Arduino. Запущенный код на Arduino вычисляет действительное значение напряжения и отображает результат на ЖК-дисплее.

Электрическая схема вольтметра на базе Arduino
Электрическая схема вольтметра на базе Arduino

Перед началом сборки схемы убедитесь в том, что ваш ЖК-дисплей имеет такое же количество выводов, что и дисплей, указанный на схеме. При неправильном подключении ЖК-дисплей может выйти из строя.

В данном учебном материале Arduino LCD показано, как подключить ЖК-дисплей к плате Arduino Uno. 

Напряжение измеряется между точками A, B, C или D и землей или 0В. Не забудьте отрегулировать уровень контрастности с помощью потенциометра, чтобы показания на ЖК-дисплее были видимыми.

Резистор R1 обеспечивает ограничение тока для опциональной задней подсветки и позволяет ей быть постоянно включенной.

Скетч вольтметра на базе Arduino

Переменные sum и voltage объединяются в массив, что позволяет сохранять значения показаний от четырех аналоговых каналов. 

Калибровка

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

Значения калибровки могут быть легко изменены в верхней части кода:

// voltage divider calibration values
#define DIV_1    11.1346
#define DIV_2    11.1969
#define DIV_3    11.0718
#define DIV_4    11.0718
// ADC reference voltage / calibration value
#define V_REF    4.991

Калибровка опорного напряжения

Измерьте напряжение 5В и измените значения константы V_REF в соответствии с измеренным значением. Измерьте напряжение в схеме с подключенным ЖК-дисплеем и при запущенном скетче, поскольку напряжение может измениться при подключении ЖК-дисплея. Например, при подключенной схеме, значение напряжения с величины 5.015В при отключенном ЖК-дисплее может упасть до 4.991В при подключенном ЖК-дисплее на том же «железе».

Калибровка делителя напряжения

Измените значения делителя напряжения для каждого делителя напряжения от DIV_1 до DIV_4 в верхней части скетча. DIV_1 - DIV_4 соответствуют аналоговым выводам A2 - A5.

Список радиоэлементов

Обозначение Тип Номинал Количество ПримечаниеМагазинМой блокнот
Плата Arduino
Arduino Uno
1 Поиск в Utsource В блокнот
R1 Резистор
47 Ом
1 Поиск в Utsource В блокнот
R2, R4, R6, R8 Резистор
1 МОм
4 Поиск в Utsource В блокнот
R3, R5, R7, R9 Резистор
100 кОм
4 Поиск в Utsource В блокнот
RV1 Подстроечный резистор10 кОм1 Поиск в Utsource В блокнот
LCD LCD-дисплей16x2 HD447801 Поиск в Utsource В блокнот
Добавить все

Скачать список элементов (PDF)

Оригинал статьи

Прикрепленные файлы:

Теги:

Опубликована: 0 0
Я собрал 0 0
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 0 Проголосовало: 0 чел.

Комментарии (8) | Я собрал (0) | Подписаться

0
Zimakos #
Не вижу смысла в такой игрушке... единственно, если применить 4 оптоизолированных ОУ, с независимым питанием, и превратить его в 4-х канальный вольтметр, которым можно измерять напряжения от 4-х разных источников, не объединяя их отрицательные цепи питания. А так это просто игрушка...
Ответить
0
am #
Почему игрушка, можно следить за напряжениями блока питания компа, 3,3 в, 5 в, 12 в и т.п.
Ответить
0
игорь #
Подобное может пригодится если Ардуина (или просто МК) питается от блока из аккумуляторов, и нужно следить за зарядом каждой отдельной батареи (что бы не посадить ниже уровня разряда).
Ответить
0
nemmo #
Спасибо за проект! Буду применять в зарядном устройстве на 4 аккумулятора 18650.
Ответить
0
Евгений #
Вообще здорово!
То, что искал. У меня в машине проблема, идет утечка где-то. Все описывать не буду, но есть желание измерять напряжение раздельно на аккумуляторе, генераторе и на панели приборов. (у меня выходит разница аж в 2 вольта.... А иногда и больше (между генератором и общей сетью).
Ответить
0
ТИМУР #
Добрый день форумчане!
Недавно приобрел набор АРДУИНО-УНО в надежде собрать вольтметр самописец для тестирования аккумуляторов.
Дело в том что моя работа заключается в постоянном тестировании аккумуляторных батарей. Каждый обслуживаемый объект имеет от одной до трех групп АКБ по 12В-170A. В каждой группе по четыре АКБ. Тестером замерять каждую батарею через каждые 20 минут в течении 3 часов, очень утомительно. В сети имеются подобные схемы, но это не совсем то что мне надо.
Хотелось бы собрать такой приборчик, который сам, через каждые 20 минут замерял напряжение каждой группы (порядка 51-52V) и каждый аккумулятор(13-14V) в отдельности и результаты записывал на съемный носитель.
Поделитесь пожалуйста идеями если сможете.
Ответить
0
Михаил #
Имею схожую идею по мониторингу напряжения в нескольких точках с учётом времени (нужно записать некий переходный процесс в некой схеме). Здесь описано, как мониторить напряжение в 4 точках, больше не позволяет сама Arduino в связи с ограничением по количеству аналоговых входов.
В этой связи есть идея (до воплощения которой пока не дошёл по причине нехватки времени, но надеюсь когда-нибудь сделать) вариант последовательного контроля напряжений при помощи мультиплексора, скажем, восьмиканального CD4051B ( https://pdf1.alldatasheet.com/datasheet-pdf/view/177006/HARRIS/CD4051B.html ). Точки замера напряжения подаются на входы мультиплексора, выбор канала с 0 по 7 производится последовательно, для этого с Ардуины на входы выбора канала мультиплексора подаётся последовательно бинарное число 0-7 в цикле с достаточно высокой частотой (в принципе, для моих целей за глаза хватит и трёх замеров на канал в секунду, т.е., переключение каналов происходит с частотой 24 Гц). Для замеров напряжения на Адруино в этом случае будет использоваться всего один аналоговый порт (ещё три можно использовать аналогично, с мультиплексорами, получив в итоге 32 канала контроля напряжения).
Регистрацию уже замеренных напряжений можно делать, скажем, либо на флешку ( http://sagis.ru/blog/?p=53 ), либо (что мне более предпочтительно, но несколько более геморройно) на комп, в Excel ( https://vk-book.ru/peredacha-dannyx-v-excel-iz-arduino/ ).
Есть, правда, ряд ограничений.
1. Мультиплексор позволяет подавать не более 20В на канал (для меня не критично, нужно примерно до 15В).
2. Если используем один делитель напряжения (на аналоговом входе Ардуино - так проще), то замеряемые напряжения должны быть соразмерны (т.е., одновременно замерять 15 и 1,5 вольта может и не получиться с достаточной точностью), ну или ставить делители на каждый вход мультиплексора - более мудрёно, но более точно.
Единственный вопрос... Насколько быстро Ардуино производит замер уровня сигнала на аналоговом входе? При частоте переключений, скажем, 24 Гц, время на замер каждого напряжения будет не более 0,04 секунды - хватит ли Ардуине этого времени?
Ответить
0
Михаил #
Да, для Вашего случая такой вариант может подойти. Три группы аккумуляторов, по 4 шт - это 2 сдвоенных 4 канальных мультиплексора CD4052B, где для замеров напряжения на каждом аккумуляторе используются в итоге 3 аналоговых входа Ардуино (делители на входах Ардуино), а на входы оставшегося свободным 4 канального мультиплексора со 2 микросхемы вешаются делители 1:12 (с запасом) и уже полученное значение отдаётся на оставшийся свободным 4 аналоговый порт Ардуино. С учётом того, что замеры производятся не так часто (раз в 20 минут, время переключения между каналами можно поставить хоть несколько секунд), это может оказаться подходящим решением.
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется сила тока?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Модуль измерения тока на ACS712 (30А)
Модуль измерения тока на ACS712 (30А)
UNI-T UT-61A Бокс для хранения компонентов
вверх