Simpel Arduino Digital Ohmmeter Circuit

Prøv Vores Instrument Til At Fjerne Problemer





I dette indlæg skal vi konstruere et simpelt digitalt ohmmeter-kredsløb ved hjælp af Arduino og 16x2 LCD-skærm. Vi vil også udforske de andre mulige kredsløbsideer ved hjælp af det samme koncept.

Kredsløbsmål

Mottoet for denne artikel er ikke kun at lave en ohm-meter til at måle modstanden, som dit multimeter bedre kan gøre det samme.



Hovedformålet med dette projekt er at bruge modstandsværdien læst af arduino til at udføre nogle nyttige projekter, for eksempel brandalarm, hvor ændringen i modstandsværdien af ​​termistoren let kan detekteres eller automatisk vandingssystem, hvor, hvis jordens modstand går højt kan mikrocontrolleren udløse vandpumpen. Muligheden for projekter er op til din fantasi.

Lad os se, hvordan man først laver en ohm-meter, og derefter går vi videre til andre kredsløbsideer.



Hvordan det virker

Arduino Ohmmeter Circuit

Kredsløbet består af Arduino, du kan bruge dit yndlings Arduino-kort, en 16x2 LCD-skærm til at fremvise den ukendte modstandsværdi, et potentiometer til at justere LCD-displayets kontrastniveau. Der anvendes to modstande, hvoraf den ene er kendt modstandsværdi, og den anden er ukendt modstandsværdi.

Modstanden er en analog funktion, men værdien, der vises på LCD, er digital funktion. Så vi er nødt til at gøre analog til digital konvertering, heldigvis har Arduino indbygget 10-bit analog til digital konverter.

10-bit ADC kan differentiere 1024 diskrete spændingsniveauer, 5 volt påføres 2 modstande, og spændingsprøven tages imellem modstandene.

Ved hjælp af nogle matematiske beregninger kan spændingsfald ved noden og kendt modstandsværdi fortolkes for at finde den ukendte modstandsværdi.

De matematiske ligninger er skrevet i programmet, så der er ikke behov for en manuel beregning, vi kan læse direkte værdi fra LCD-displayet.

Forfatterens prototype:

Arduino Digital Ohmmeter Prototype

Program til Ohm meter:

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

BEMÆRK: float R = 10000 // Kendt modstandsværdi i Ohm

Du kan ændre den kendte modstandsværdi i kredsløbet, men hvis du gør det, skal du også ændre værdi i programmet.

Som et konventionelt multimeter har dette Arduino digitale ohmmeter-kredsløb også nogle områder for at måle modstanden. Hvis du prøver at måle en modstand med lav værdi i mega ohm-rækkevidde i dit multimeter, får du bestemt fejlværdier.

Ligeledes gælder det også for dette ohmmeter.

Hvis du ønsker at måle modstand fra 1K til 50K ohm, vil 10K ohm kendt modstand være nok, men hvis du måler Mega ohm rækkevidde eller få ohm rækkevidde, får du nogle skraldeaflæsninger. Så det er nødvendigt at ændre værdien af ​​den kendte modstand til et passende område.

I det næste afsnit af denne artikel skal vi studere LCD-skærmkredsen til ohmmeteret, og vi vil se, hvordan man læser sensorværdien (ukendt modstand) i seriel skærm.

Vi angiver også tærskelværdien i programmet, når det krydser den forudbestemte tærskel, vil Arduino udløse relæ.

Kredsløbsdiagram:

Programkode:

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

BEMÆRK:

• float th = 7800 // Indstil modstandstærskel i Ohms
Udskift 7800 ohm med din værdi.
• flyde R = 10000 // Kendt værdi Modstand i Ohm
Udskift 10000 ohm med din kendte modstandsværdi.
• hvis (th> modstand)

Denne linje i programmet angiver, at hvis sensormodstanden går under tærskelværdien, slukkes output og omvendt.

Hvis du vil tænde relæet, når sensoraflæsningen går over tærsklen og omvendt, skal du bare udskifte “if (Thresistor)”

Ved at måle sensorens modstand direkte (LDR eller termistor eller noget andet) og indstille en tærskel, kan vi opnå stor nøjagtighed ved kontrol over relæ, lysdioder, motor og andet perifert udstyr.

Det er bedre end komparatorer, hvor vi indstiller en referencespænding og indstiller tærskel ved at dreje en variabel modstand blindt for at udføre lignende slags projekter.




Forrige: Materiale opbevaring niveau controller kredsløb Næste: 10 LED-omdrejningstællerkredsløb