Вольтметр на Arduino

Вольтметр на Arduino

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

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

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

Одним из простейших примеров использования Arduino может стать реализация на базе этой сборки вольтметра постоянного напряжения повышенной точности с диапазоном измерения от 0 до 30 В.

Вольтметр на Arduino

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

Вольтметр на Arduino
Схема подключения Areduino через делитель напряжения

Делитель напряжения состоит из двух последовательно соединенных сопротивлений. Расчет его производится по формуле:

Вольтметр на ArduinoГде, в данном случае,  – максимальное измеряемое напряжение,  – напряжение после делителя, поступающее на аналоговые вход Arduino, R1 и R2 – значения сопротивлений первого и второго элемента делителя, соответственно.

Чтобы установить определенный «запас прочности» разрабатываемого вольтметра и для простоты подсчетов можно принять величину сопротивлений R1=10кОм и R2=100кОм. В этом случае, на сборку можно подавать напряжение до 55 В.

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

Вольтметр на Arduino

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

Обычные резисторы, используемые в радиолюбительской массе, имеют среднюю погрешность 10 % от номинала. Использование же прецизионных сопротивлений высокой точности не всегда может быть возможным из-за их высокой стоимости.

Поэтому, если при проверке образцовым лабораторным измерительным прибором, обнаружилась погрешность измерения, необходимо проверить реальное сопротивление каждого элемента делителя и отредактировать программу (R1, R2).

Следующим шагом наладки должен стать замер напряжения между клеммами +5 и общей («земля») Arduino. В случае, если полученное значение не будет ровно 5 В, нужно также произвести изменения в коде (заменить число 5 в строке vout=(value*5)…) на действительное напряжение.

Следует не забывать, что даже небольшое превышение напряжения (выше 55 В)приведет к выходу из строя Arduino, поэтому, рационально не применять вольтметр для высоких величин, установив верхней планкой 30 В.

Вольтметр на Arduino
Схема вольтметра на Areduino

Код программы :

#include <LiquidCrystal.h>
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
int analogInput = 0;
float vout = 0.0;
float vin = 0.0;
float R1 = 100000.0; // resistance of R1 (100K) -see text!
float R2 = 10000.0; // resistance of R2 (10K) - see text!
int value = 0;
void setup(){
pinMode(analogInput, INPUT);
begin(16, 2);
print("DC VOLTMETER");
}
void loop(){
// read the value at analog input
value = analogRead(analogInput);
vout = (value * 5.0) / 1024.0; // see text
vin = vout / (R2/(R1+R2));
if (vin<0.09) {
vin=0.0;//statement to quash undesired reading !
}
setCursor(0, 1);
print("INPUT V= ");
print(vin)
delay(500);
} 


Прикрепленные файлы: Код программы СКАЧАТЬ 

Автор: Николай Владимирович.


 


Понравилась статья? Поделиться с друзьями:
Комментариев: 3
  1. Haoen

    В коде надо добавить lcd. перед: begin(16, 2), setCursor

  2. Haoen

    и print

  3. serjio

    кто-то видимо мешает поставить стабилитрон на 5.1 В параллельно R2.

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

8 + семь =