Lihtne Arduino digitaalse oomeetri skeem

Proovige Meie Instrumenti Probleemide Kõrvaldamiseks





Selles postituses ehitame Arduino ja 16x2 LCD-ekraani abil lihtsa digitaalse oommeetri vooluringi. Uurime sama kontseptsiooni abil ka teisi võimalikke vooluringide ideid.

Ringraja eesmärk

Selle artikli moto ei ole lihtsalt oomimeetri valmistamine takistuse mõõtmiseks, mida teie multimeeter saab paremini teha.



Selle projekti peamine eesmärk on kasutada arduino poolt loetud takistuse väärtust mõne kasuliku projekti tegemiseks, näiteks tulekahjusignalisatsioon, kus termistori takistuse väärtuse muutust saab hõlpsasti tuvastada, või automaatne niisutussüsteem, kus pinnase takistuse korral läheb kõrgele, võib mikrokontroller veepumba käivitada. Projektide võimalus sõltub teie kujutlusvõimest.

Vaatame, kuidas kõigepealt teha oomimeeter ja seejärel liigume teiste vooluahela ideede juurde.



Kuidas see töötab

Arduino Ohmmeter Circuit

Vooluring koosneb Arduinost. Võite kasutada oma lemmik Arduino plaati, 16x2 LCD-ekraani tundmatu takisti väärtuse esitamiseks, potentsiomeetrit LCD-ekraani kontrastsuse reguleerimiseks. Kasutatakse kahte takistit, millest üks on teada takisti väärtus ja teine ​​on tundmatu takisti väärtus.

Takistus on analoogfunktsioon, kuid LCD-ekraanil kuvatav väärtus on digitaalne funktsioon. Niisiis, peame tegema analoog-digitaalse muundamise, õnneks on Arduinos sisseehitatud 10-bitine analoog-digitaalmuundur.

10-bitine ADC suudab eristada 1024 diskreetset pingetaset, 5 takti rakendatakse 2 takisti külge ja pingeproov võetakse takistite vahele.

Mõningate matemaatiliste arvutuste abil saab tundmatu takistuse väärtuse leidmiseks tõlgendada sõlme pingelangust ja teadaolevat takistuse väärtust.

Matemaatilised võrrandid on programmis kirjutatud, nii et käsitsi arvutamist pole vaja teha, saame otsest väärtust lugeda LCD-ekraanilt.

Autori prototüüp:

Arduino digitaalse omomeetri prototüüp

Ohmimeetri programm:

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

MÄRKUS: ujuk R = 10000 // Takisti teadaolev väärtus oomides

Saate muuta vooluahela teadaolevat takisti väärtust, kuid kui te seda teete, muutke ka programmi väärtust.

Nagu tavalisel multimeetril, on ka sellel Arduino digitaalse oomeetri skeemil takistuse mõõtmiseks mõned vahemikud. Kui proovite mõõta multimeetris madala väärtusega takistit megaohmi vahemikus, saate kindlasti vea väärtused.

Samuti kehtib see ka selle oommeetri kohta.

Kui soovite mõõta takistust vahemikus 1K kuni 50K oomi, piisab 10K oomi teadaolevast takistist, kuid kui mõõta mega-oomi vahemikku või vähe oomi vahemikku, saate prüginäidud. Seega on vaja teadaoleva takisti väärtus sobivaks vahemikuks muuta.

Selle artikli järgmises osas uurime ohmmeetri vedelkristallekraani vooluringi ja näeme, kuidas anduriväärtust (tundmatu takistus) seeriamonitorilt lugeda.

Samuti märkime programmis läviväärtuse, kui see ületab eelnevalt määratud künnise, käivitab Arduino relee.

Vooluahela skeem:

Programmi kood:

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

MÄRGE:

• ujuk th = 7800 // Pange takistuslävi oomides
Asendage 7800 oomi oma väärtusega.
• ujuk R = 10000 // teadaolev väärtus Takisti ohmides
Asendage 10000 oomi teadaoleva takisti väärtusega.
• kui (th> takisti)

See rida programmis ütleb, et kui anduri takistus läheb alla läviväärtuse, lülitub väljund sisse ja vastupidi.

Kui soovite relee sisse lülitada, kui anduri näit ületab künnise ja vastupidi, asendage lihtsalt 'if (thresistor)'

Anduri otsese takistuse (LDR või termistor või muu) takistuse mõõtmine ja läve seadmine võimaldab meil saavutada relee, valgusdioodide, mootori ja muude lisaseadmete juhtimise suure täpsuse.

See on parem kui võrdlusanalüüsid, kus me paneme võrdluspinge ja määrame künnise, muutes takisti pimesi keerates sarnaste projektide saavutamiseks.




Paar: Materjali hoidmise taseme kontrolleri vooluring Järgmine: 10 LED-tahhomeetri ahelat