Електрическа верига DC Voltmeter, базирана на Arduino - конструктивни детайли и тестване

Опитайте Нашия Инструмент За Премахване На Проблемите





В тази публикация ще конструираме DC волтметър, използвайки Arduino, където показанията се показват в LCD 16x2.



Предложената конструкция на волтметър може да отчита до 30V с толеранс от +/- 0,5 волта. Ще видим как функционира тази настройка и ще проучим други възможности, които можем да постигнем, освен измерване на напрежението.



Този проект е доста прост, дори начинаещите могат да го постигнат с лекота, но трябва да се внимава, докато се прототипира веригата, тъй като ще прилагаме външно напрежение, всяко неправилно свързване с Arduino може да доведе до фатални щети на вашата дъска.

Нека предупреждението е странично, нека да проучим как функционира.



Тук използваме процес на преобразуване от аналог в цифрово. Напрежението от който и да е източник е аналогова функция, показанията показани на 16x2 LCD са цифрова функция.

Предизвикателството е преобразуването на тези аналогови функции в цифрови. За щастие, Arduino има функционалност за четене на аналогови функции и преобразуването им в дискретна функция.

Микроконтролер Arduino, оборудван с 10-битов аналогово-цифров преобразувател (ADC). Това означава, че Arduino може да чете 2 ^ 10 = 1024 дискретни нива на напрежение.

С други думи, напрежението, приложено към аналоговия щифт на Arduino, се изважда от 1024 дискретни нива на напрежение по отношение на референтното напрежение, получената стойност на пробата се показва на LCD. Това е принципът зад този волтметър или почти всеки цифров волтметър.

Приложеното външно напрежение обаче не се измерва директно от Arduino. Напрежението се намалява с помощта на делители на напрежението и в програмата се прави някаква математика, за да се получи действителното отчитане на напрежението.

Как работи

Веригата се състои от два резистора, един LCD дисплей и Arduino, който е мозък на цифровия волтметър. Двата резистора действат като делител на напрежението, възелът на делителя е свързан към аналогов щифт # A0 на Arduino, който отчита входното напрежение. Установява се наземна връзка между Arduino и външен източник на напрежение.

Минималното напрежение, което може да измери този волтметър, е 0,1V, този праг е зададен в програмата, така че да отчита 0,00 волта след изключване на източника на напрежение и да не показва показания поради статичен заряд около измервателната сонда.

Прототип на автора:

Резултати от теста на волтметър с постоянен ток, базиран на Arduino

Не обръщайте полярността, докато измервате напрежението, това няма да навреди на веригата, но не отчита напрежение и показва 0,00 V, докато не коригирате полярността. Регулирайте контраста на LCD дисплея до оптимално ниво, като завъртите потенциометъра.

Уверете се, че не прилагате никакъв източник на напрежение, който може да скочи по-високо от 30V, това може да повреди вашата платка Arduino. Технически можете да увеличите максималното измервателно напрежение на тази верига, като промените стойностите на резистора и модифицирате програмата, но за илюстрираната настройка 30V е ограничена.

За точно отчитане изберете фиксирани резистори с минимална стойност на толеранс, резисторите играят важна роля при калибриране на отчитането на напрежението.

Електрическа схема:

Верига за постоянен ток на волтметър, базирана на Arduino

Другата възможност на този волтметър е, че можем да модифицираме програмата, за да автоматизираме някои задачи.

Например, открийте пълното напрежение на батерията и изключете батерията от зарядното устройство или изключете батерията, ако напрежението падне под предварително зададеното ниво на напрежение и т.н., тези задачи могат да бъдат изпълнени дори без LCD дисплей. Това обаче е предмет на друга статия.

Програма:

//--------Program developed by R.Girish---------//
#include
LiquidCrystal lcd(12,11,5,4,3,2)
int analogInput = 0
float vout = 0.0
float vin = 0.0
float R1 = 100000
float R2 = 10000
int value = 0
void setup()
{
pinMode(analogInput, INPUT)
lcd.begin(16, 2)
lcd.print('DC VOLTMETER')
Serial.begin(9600)
}
void loop()
{
value = analogRead(analogInput)
vout = (value * 5.0) / 1024
vin = vout / (R2/(R1+R2))
if (vin<0.10) {
vin=0.0
}
lcd.setCursor(0, 1)
lcd.print('INPUT V= ')
lcd.print(vin)
delay(500)
}
//--------Program developed by R.Girish---------//

Моля, проверете показанията с добър волтметър / мултицет.




Предишен: Верига за заключване на запалването на автомобил Bluetooth - Защита на автомобила без ключ Напред: Алармена верига за магнитна врата за предупреждение, ако вратата е била отворена