Једноставни Ардуино дигитални омметар

Испробајте Наш Инструмент За Елиминисање Проблема





У овом посту ћемо конструисати једноставан круг дигиталног охмметра користећи Ардуино и ЛЦД екран 16к2. Такође ћемо истражити и друге могуће идеје о кругу користећи исти концепт.

Циљ круга

Мото овог чланка није само израда мерача охма за мерење отпора који ваш мултиметар може боље учинити исто.



Главни циљ овог пројекта је употреба вредности отпора коју очитава ардуино за извођење неких корисних пројеката, на пример, противпожарног аларма, где се промена вредности отпора термистора може лако открити или аутоматског система за наводњавање где, ако отпор тла иде високо, микроконтролер може покренути пумпу за воду. Могућност пројеката зависи од ваше маште.

Погледајмо како прво направити охм мерач, а затим прелазимо на друге идеје кола.



Како то ради

Ардуино охмметер круг

Коло се састоји од Ардуина, а можете користити своју омиљену Ардуино плочу, ЛЦД дисплеј 16к2 за приказ непознате вредности отпорника, потенциометар за подешавање нивоа контраста ЛЦД екрана. Користе се два отпорника, од којих је један познате вредности отпорника, а други непознате вредности отпорника.

Отпор је аналогна функција, али вредност приказана на ЛЦД-у је дигитална функција. Дакле, морамо да извршимо аналогно-дигиталну конверзију, срећом Ардуино има уграђени 10-битни аналогно-дигитални претварач.

10-битни АДЦ може разликовати 1024 дискретна нивоа напона, на 2 отпорника се примењује 5 волти, а узорак напона узима се између отпорника.

Користећи неке математичке прорачуне, пад напона на чвору и позната вредност отпора могу се протумачити како би се пронашла непозната вредност отпора.

Математичке једначине су записане у програму, тако да не треба ручно рачунати, можемо очитати директну вредност са ЛЦД екрана.

Ауторски прототип:

Прототип дигиталног охмметра Ардуино

Програм за мерач ома:

//-------------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--------//

НАПОМЕНА: плутајући Р = 10000 // Вредност познатог отпорника у Охм

Можете променити познату вредност отпорника у кругу, али ако то учините, такође промените вредност у програму.

Попут уобичајеног мултиметра, и овај Ардуиноов круг дигиталног охмметра има неке домете за мерење отпора. Ако у мултиметру покушате да измерите отпор мале вредности у мега охмском опсегу, сигурно ћете добити вредности грешке.

Исто тако, тачно је и за овај охмметар.

Ако желите да измерите отпор од 1К до 50К охма, 10К охм познати отпорник ће бити довољан, али ако мерите опсег мега охма или опсег од неколико охма, добићете очитавање смећа. Дакле, неопходно је променити вредност познатог отпорника у одговарајући опсег.

У следећем одељку овог чланка проучићемо коло ЛЦД екрана за охмметар и видећемо како очитати вредност сензора (непознати отпор) на серијском монитору.

Такође ћемо навести вредност прага у програму, када пређе унапред одређени праг, Ардуино ће активирати релеј.

Кружни дијаграм:

Програмски код:

//-------------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--------//

БЕЛЕШКА:

• флоат тх = 7800 // Подесите праг отпора у ома
Замените 7800 охма са вашом вредношћу.
• флоат Р = 10000 // Отпорник познате вредности у Охм
Замените 10000 охма вашом познатом вредношћу отпорника.
• иф (тх> отпорник)

Овај ред у програму наводи да се, ако отпор сензора падне испод граничне вредности, излаз укључује и обрнуто.

Ако желите да укључите релеј када очитавање сензора пређе праг и обрнуто, само замените „иф (тхресистор)“

Директним мерењем отпора сензора (ЛДР или термистор или било шта друго) и подешавањем прага, можемо постићи велику тачност управљања релејем, ЛЕД-има, мотором и другом периферном опремом.

Боље је од упоређивача, где постављамо референтни напон и постављамо праг слепим окретањем променљивог отпорника да бисмо постигли сличне пројекте.




Претходно: Круг регулатора нивоа складиштења материјала Следеће: 10 ЛЕД тахометар круг