«Arduino» вольтметр

Вольтметр — устройство для измерения напряжения в цепи. Этот пост является наглядным пособием для постройки вольтметра постоянного напряжения на Ардуино с LCD дисплеем. Он теоретически может измерять напряжение до 55 В. При необходимости вы сможете самостоятельно внести небольшие изменения в схему и скетч, для увеличения верхнего измеряемого значения.

 

 

Требуемое оборудование

Для изготовления простого цифрового вольтметра своими руками в домашних условиях понадобятся:

  • Arduino uno
  • 16×2 LCD жидкокристаллический дисплей
  • Резистор 100 кОм
  • Резистор 10 кОм
  • Потенциометр 10 кОм
  • Макетная плата
  • Провода (перемычки)

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

Верхний предел аналоговых выводов Arduino составляет 5 вольт. Для измерения напряжения до 5 В можем напрямую подключить источник напряжения к аналоговому выводу Arduino. В случае измерения напряжения выше 5 В необходимо использовать делитель напряжения. Он защитит от перегрузки по напряжению выходы микроконтроллера. Схема делителя напряжения состоит из двух резисторов, в нашем случае 100 кОм и 10 кОм.

Схема делителя напряжения
Делитель напряжения

Номиналы резисторов берутся в зависимости от необходимого верхнего предела измерения. Если быть точными, то нас интересует не столько номиналы резисторов, сколько их отношение. Номиналы подбираются по формуле:

R1/R2=Uin/Uout1

Где R1 и R2 — это номиналы необходимых нам сопротивлений.
Uout — это напряжение на выходе делителя. В нашем случае 5 Вольт. Как уже писалось выше, это максимальное значение, которое мы сможем скормить Ардуино.
Uin — это напряжение на входе делителя, который является верхним пределом измерения вольтметра. В нашем случае 55В.
В качестве примера возьмём равенство для нашего делителя:

100000/10000=55/51

Равенство выполняется, значит всё верно. Если вам нужен вольтметр с другим верхним пределом, можете подставить своё значение Uin. И подобрать свои резисторы с необходимым отношением.

«Arduino вольтметр», схема подключения

Схема вольтметра на Ардуино
Arduino вольтметр 

На схеме выше изображено подключение к Ардуино LCD дисплея справа и делителя, состоящего из двух резисторов слева. Потенциометр на 10кОм необходим для регулировки подсветки дисплея.

Программа (скетч)

Программа ниже использует библиотеку LiquidCrystal. Эта библиотека содержит функции, необходимые для записи результатов измерения на ЖК-дисплей.
Цикл считывает аналоговое значение аналогового входа, и потом вычисляет фактическое значение напряжения. Результат расчета напряжения записывается на ЖК-дисплей.

#include"LiquidCrystal.h" // БИБЛИОТЕКА ДЛЯ ДОСТУПА К ЖК-ДИСПЛЕЮ
LiquidCrystal lcd(2, 3, 4, 5, 6, 7); пины на ардуино куда подключён дисплей
float input_volt = 0.0;
float temp=0.0;
float r1=100000.0; //значение R1, здесь вы можете установить своё значение
float r2=10000.0; //значение R2, здесь вы можете установить своё значение
void setup(){
Serial.begin(9600); // открываем последовательный порт, устанавливаем скорость передачи данных 9600 бит / с
lcd.begin(16, 2); //настраиваем количество столбцов и строк на ЖК-дисплее
lcd.print("DC DIGI VOLTMETER");
}
void loop(){
int analogvalue = analogRead(A0);
temp = (analogvalue * 5.0) / 1024.0; // Формула для преобразования аналогового сигнала в напряжения
input_volt = temp / (r2/(r1+r2)); // Формула коррекции напряжения с учётом делителя
if (input_volt>0.1) // Устанавливаем минимальное напряжение, возможное к измерению
{
input_volt=0.0;
}
Serial.print("v= "); // печатает значение напряжения на последовательном мониторе
Serial.println(input_volt);
lcd.setCursor(0, 1);
lcd.print("Voltage= "); // печатает значение напряжения на ЖК-дисплее
lcd.print(input_volt);
delay(300);
}

Поверка вольтметра

Поверка вольтметра заключается в сравнении показаний вольтметра на ардуино с рабочим вольтметром (мультиметром). Если значения отличаются, нужно проверить напряжение на пинах Ардуино 5V и GND. Напряжение может слегка отличаться от 5 вольт. Например, 4,95 В. Тогда в формуле temp = (analogvalue * 5.0) / 1024.0 нужно значение 5 заменить на 4,95. И также необходимо проверить точное сопротивление резисторов R1 и R2 и в строчки float r1=100000.0 и float r2=10000.0 вписать свои значения. После такой поверки мы получим точный вольтметр на Ардуино. Данный прибор способен измерять напряжение до сотых вольт.
И напоследок хотел бы предостеречь вас. Использовать данный вольтметр для измерения 55 вольт не рекомендуется. Это максимальный предел. При незначительном скачке измеряемого напряжения микроконтроллер выйдет из строя. Необходимо дать некий запас для непредвиденных ситуаций. И ограничить диапазон измеряемого напряжения до 45 вольт.

Комментарии 3

  • В строчке: » if (input_volt < 0.1) // » , что такое &lt ?
    IDE ругается..

    • !! странно.. в коментарии преобразовывается в «<", а в листигне сверху &lt !!

    • Опечатка, исправил. Строчка должна выглядеть как «if (input_volt>0.1)». Спасибо Виталий за внимательность.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *