Enkel Arduino Digital Ohmmeter Circuit

Prova Vårt Instrument För Att Eliminera Problem





I det här inlägget ska vi konstruera en enkel digital ohmmeterkrets med Arduino och 16x2 LCD-skärm. Vi kommer också att utforska andra möjliga kretsidéer med samma koncept.

Kretsmål

Mottoet för denna artikel är inte bara att skapa en ohm-mätare för att mäta motståndet som din multimeter bättre kan göra detsamma.



Huvudsyftet med detta projekt är att använda resistansvärdet som lästes av arduino för att göra några användbara projekt, till exempel brandlarm, där förändringen i motståndsvärde hos termistorn lätt kan detekteras eller automatiskt bevattningssystem där, om jordens motstånd går högt kan mikrokontrollern utlösa vattenpumpen. Möjligheten till projekt är upp till din fantasi.

Låt oss se hur man gör en ohm-mätare först och sedan går vi till andra kretsidéer.



Hur det fungerar

Arduino Ohmmeter Circuit

Kretsen består av Arduino. Du kan använda ditt favorit Arduino-kort, en 16x2 LCD-skärm för att visa det okända motståndsvärdet, en potentiometer för att justera LCD-skärmens kontrastnivå. Två motstånd används, varav ett är känt motståndsvärde och ett annat är okänt motståndsvärde.

Motståndet är en analog funktion, men värdet som visas på LCD-skärmen är digital funktion. Så vi måste göra analog till digital omvandling, lyckligtvis har Arduino inbyggd 10-bitars analog till digital omvandlare.

10-bitars ADC kan skilja 1024 diskreta spänningsnivåer, 5 volt appliceras på 2 motstånd och spänningsprovet tas mellan motstånden.

Med hjälp av några matematiska beräkningar kan spänningsfall vid noden och känt motståndsvärde tolkas för att hitta det okända motståndsvärdet.

De matematiska ekvationerna är skrivna i programmet, så ingen manuell beräkning behöver göras, vi kan läsa direktvärde från LCD-displayen.

Författarens prototyp:

Arduino Digital Ohmmeter Prototyp

Program för Ohm-mätare:

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

OBS: flyta R = 10000 // Känt motståndsvärde i Ohm

Du kan ändra det kända motståndsvärdet i kretsen, men om du gör det, ändra också värdet i programmet.

Liksom en vanlig multimeter har den här Arduino digitala ohmmeterkretsen också några intervall för att mäta motståndet. Om du försöker mäta ett motstånd med lågt värde i mega ohm-intervallet i din multimeter, får du säkert felvärden.

På samma sätt är det sant för den här ohmmetern också.

Om du vill mäta motstånd från 1K till 50K ohm kommer 10K ohm känt motstånd att räcka, men om du mäter Mega ohm-intervallet eller få ohm-intervall kommer du att få några avläsningar. Så det är nödvändigt att ändra värdet på det kända motståndet till ett lämpligt område.

I nästa avsnitt i den här artikeln ska vi studera LCD-skärmkretsen för ohmmetern och vi kommer att se hur man avläser sensorvärdet (okänt motstånd) i seriell bildskärm.

Vi kommer också att ange tröskelvärdet i programmet, när det korsar det förutbestämda tröskelvärdet, kommer Arduino att utlösa relä.

Kretsschema:

Programkod:

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

NOTERA:

• float th = 7800 // Ställ in motståndströskel i Ohms
Byt ut 7800 ohm med ditt värde.
• flottör R = 10000 // Känt värde Motstånd i Ohm
Byt ut 10000 ohm med ditt kända motståndsvärde.
• om (th> motstånd)

Denna rad i programmet anger att om sensormotståndet understiger tröskelvärdet slås utgången PÅ och vice versa.

Om du vill slå på reläet när sensoravläsningen går över tröskeln och tvärtom, byt bara ut “if (tresistor)”

Genom att mäta sensorns motstånd direkt (LDR eller termistor eller något annat) och ställa in en tröskel kan vi få stor noggrannhet för kontroll över relä, lysdioder, motor och andra kringutrustning.

Det är bättre än komparatorer, där vi ställer in en referensspänning och ställer in tröskeln genom att vrida ett variabelt motstånd blindt för att åstadkomma liknande slags projekt.




Tidigare: Material Storage Level Controller Circuit Nästa: 10 LED-varvräknerkrets