No Image

Точный вольтметр на arduino

1 просмотров
11 марта 2020

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

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

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

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

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


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

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

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

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

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

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

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

Калибровка

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

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

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

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

Читайте также:  Водонагреватель аристон моргают все индикаторы

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

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

Представлена полезная схема для любителей поэкспериментировать с Ардуино. Это простой цифровой вольтметр, которым надежно можно измерять постоянное напряжение в диапазоне 0 – 30В. Плату Ардуино, как обычно, можно питать от 9В батареи.

Как вам вероятно известно, аналоговые входы Ардуино можно использовать для измерения постоянного напряжения в диапазоне 0 – 5В и этот диапазон можно увеличить,
используя два резистора в качестве делителя напряжения. Делитель уменьшит измеряемое напряжение до уровня аналоговых входов Ардуино. А затем программа вычислит реальную величину напряжения.

Аналоговый датчик на плате Ардуино определяет наличие напряжения на аналоговом входе и преобразует его в цифровую форму для дальнейшей обработки микроконтроллером. На рисунке напряжение подается на аналоговый вход (А0) через простой делитель напряжения, состоящий из резисторов R1 (100кОм) и R2 (10кОм).

При этих значениях делителя на плату Ардуино можно подавать напряжение от 0 до
55В. На входе А0 имеем измеряемое напряжение деленное на 11,т.е.55В / 11=5В. Иначе говоря, при измерении 55В на входе Ардуино имеем максимально допустимое значение 5В. На практике лучше на этом вольтметре написать диапазон “0 – 30В”, чтобы оставался
Запас по безопасности!

Примечания

• Если показания дисплея не совпадают с показаниями промышленного (лабораторного) вольтметра, то необходимо точным прибором измерить величину сопротивлений R1 и R2 и вставить эти значения вместо R1=100000.0 и R2=10000.0 в коде программы. Затем следует измерить лабораторным вольтметром реальное напряжение между выводами 5В и “Земля” платы Ардуино. Получится значение меньшее, чем 5В, например, получилось 4.95В. Это реальное значение следует вставить в строке кода
vout = (value * 5.0) / 1024.0 вместо 5.0.
Кроме того, старайтесь применять прецизионные резисторы с допуском 1%.

Читайте также:  Asus maximus viii ranger bios

• Резисторы R1 и R2 обеспечивают некоторую защиту от повышенных входных напряжений.Однако следует помнить, что любые напряжения выше 55В могут вывести из строя плату Ардуино. Кроме того, в этой конструкции не предусмотрены другие виды защиты(от скачков напряжения, от переполюсовки или повышенного напряжения).

Программа цифрового вольтметра

/*
DC Voltmeter
An Arduino DVM based on voltage divider concept
T.K.Hareendran
*/
#include

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);
lcd.begin(16, 2);
lcd.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 Перечень компонентов

• Плата Arduino Uno
• 100 кОм резистор
• 10 кОм резистор
• 100 Ом резистор
• 10кОм Подстроечный резистор
• LCD дисплей 16?2 ( Hitachi HD44780)

Представлена полезная схема для любителей поэкспериментировать с Ардуино. Это простой цифровой вольтметр, которым надежно можно измерять постоянное напряжение в диапазоне 0 – 30В. Плату Ардуино, как обычно, можно питать от 9В батареи.

Как вам вероятно известно, аналоговые входы Ардуино можно использовать для измерения постоянного напряжения в диапазоне 0 – 5В и этот диапазон можно увеличить,
используя два резистора в качестве делителя напряжения. Делитель уменьшит измеряемое напряжение до уровня аналоговых входов Ардуино. А затем программа вычислит реальную величину напряжения.

Аналоговый датчик на плате Ардуино определяет наличие напряжения на аналоговом входе и преобразует его в цифровую форму для дальнейшей обработки микроконтроллером. На рисунке напряжение подается на аналоговый вход (А0) через простой делитель напряжения, состоящий из резисторов R1 (100кОм) и R2 (10кОм).

При этих значениях делителя на плату Ардуино можно подавать напряжение от 0 до
55В. На входе А0 имеем измеряемое напряжение деленное на 11,т.е.55В / 11=5В. Иначе говоря, при измерении 55В на входе Ардуино имеем максимально допустимое значение 5В. На практике лучше на этом вольтметре написать диапазон “0 – 30В”, чтобы оставался
Запас по безопасности!

Читайте также:  Эксель проверка нескольких условий

Примечания

• Если показания дисплея не совпадают с показаниями промышленного (лабораторного) вольтметра, то необходимо точным прибором измерить величину сопротивлений R1 и R2 и вставить эти значения вместо R1=100000.0 и R2=10000.0 в коде программы. Затем следует измерить лабораторным вольтметром реальное напряжение между выводами 5В и “Земля” платы Ардуино. Получится значение меньшее, чем 5В, например, получилось 4.95В. Это реальное значение следует вставить в строке кода
vout = (value * 5.0) / 1024.0 вместо 5.0.
Кроме того, старайтесь применять прецизионные резисторы с допуском 1%.

• Резисторы R1 и R2 обеспечивают некоторую защиту от повышенных входных напряжений.Однако следует помнить, что любые напряжения выше 55В могут вывести из строя плату Ардуино. Кроме того, в этой конструкции не предусмотрены другие виды защиты(от скачков напряжения, от переполюсовки или повышенного напряжения).

Программа цифрового вольтметра

/*
DC Voltmeter
An Arduino DVM based on voltage divider concept
T.K.Hareendran
*/
#include

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);
lcd.begin(16, 2);
lcd.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 Перечень компонентов

• Плата Arduino Uno
• 100 кОм резистор
• 10 кОм резистор
• 100 Ом резистор
• 10кОм Подстроечный резистор
• LCD дисплей 16?2 ( Hitachi HD44780)

Комментировать
1 просмотров
Комментариев нет, будьте первым кто его оставит

Это интересно
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
Adblock detector