Проста схема на цифровия омметър Arduino

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





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

Цел на веригата

Девизът на тази статия не е просто да направите омметър за измерване на съпротивлението, което вашият мултиметър може да направи по-добре същото.



Основната цел на този проект е да се използва стойността на съпротивлението, прочетена от arduino, за да се направят някои полезни проекти, например пожарна аларма, където промяната в стойността на съпротивлението на термистора може лесно да бъде открита или автоматична напоителна система, където, ако съпротивлението на почвата отива високо микроконтролерът може да задейства водната помпа. Възможността за проекти зависи от вашето въображение.

Нека да видим как първо да направим омметър и след това да преминем към други идеи за вериги.



Как работи

Верига на омметър Arduino

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

Съпротивлението е аналогова функция, но стойността, показана на LCD, е цифрова функция. И така, трябва да направим аналогово-цифрово преобразуване, за щастие Arduino има вграден 10-битов аналогово-цифров преобразувател.

10-битовият ADC може да разграничи 1024 дискретни нива на напрежение, 5 волта се прилага към 2 резистора и пробата от напрежение се взема между резисторите.

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

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

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

Прототип на цифров омметър Arduino

Програма за измерване на ома:

//-------------Program developed by R.Girish--------//
#include
LiquidCrystal lcd(12,11,5,4,3,2)
int analogPin=0
int x=0
float Vout=0
float R=10000 //Known Resistor value in Ohm
float resistor=0
float buffer=0
void setup()
{
lcd.begin(16,2)
lcd.setCursor(0,0)
lcd.print('----OHM METER---')
}
void loop()
{
x=analogRead(analogPin)
buffer=x*5
Vout=(buffer)/1024.0
buffer=(5/Vout)-1
resistor=R*buffer
lcd.setCursor(0,1)
lcd.print('R = ')
lcd.print(resistor)
lcd.print(' Ohm')
delay(3000)
}
//-------------Program developed by R.Girish--------//

ЗАБЕЛЕЖКА: плаващ R = 10000 // Известна стойност на резистора в ома

Можете да промените известната стойност на резистора във веригата, но ако го направите, моля, променете стойността и в програмата.

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

По същия начин е вярно и за този омметър.

Ако искате да измерите съпротивление от 1K до 50K ohm, 10K ohm известен резистор ще бъде достатъчен, но ако измервате Mega ohm диапазон или няколко ohm диапазон, ще получите някои показания за боклук. Така че е необходимо да промените стойността на известния резистор до подходящ диапазон.

В следващия раздел на тази статия ще проучим схемата на LCD дисплея за омметъра и ще видим как да отчитаме стойността на сензора (неизвестно съпротивление) в серийния монитор.

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

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

Код на програмата:

//-------------Program developed by R.Girish--------//
float th=7800 // Set resistance threshold in Ohms
int analogPin=0
int x=0
float Vout=0
float R=10000 //Known value Resistor in Ohm
float resistor=0
float buffer=0
int op=7
void setup()
{
Serial.begin(9600)
pinMode(op,OUTPUT)
digitalWrite(op,LOW)
}
void loop()
{
x=analogRead(analogPin)
buffer=x*5
Vout=(buffer)/1024.0
buffer=(5/Vout)-1
resistor=R*buffer
Serial.print('R = ')
Serial.print(resistor)
Serial.println(' Ohm')
if(th>resistor) // if resistance cross below threshold value, output is on, if you want opposite result use '<' //
{
digitalWrite(op,HIGH)
Serial.println('Output is ON')
delay(3000)
}
else
{
digitalWrite(op,LOW)
Serial.println('Output is OFF')
delay(3000)
}
}
//-------------Program developed by R.Girish--------//

ЗАБЕЛЕЖКА:

• float th = 7800 // Задайте праг на съпротивление в ома
Заменете 7800 ома с вашата стойност.
• плаващ R = 10000 // Известна стойност Резистор в ома
Заменете 10000 ома с вашата известна стойност на резистора.
• if (th> резистор)

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

Ако искате да включите релето, когато отчитането на сензора надхвърли прага и обратно, просто заменете „if (thresistor)“

Чрез директно измерване на съпротивлението на сензора (LDR или термистор или каквото и да е друго) и задаване на праг, можем да придобием голяма точност на управлението на реле, светодиоди, мотор и други периферни устройства.

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




Предишна: Верига на контролера за ниво на съхранение на материали Напред: 10 LED схема на тахометър