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
R1 Резистор
47 Ом
1
R2, R4, R6, R8 Резистор
1 МОм
4
R3, R5, R7, R9 Резистор
100 кОм
4
RV1 Подстроечный резистор 10 кОм 1
LCD LCD-дисплей 16x2 HD44780 1

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

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

Top