Egyszerű Arduino digitális ohmmérő áramkör

Próbálja Ki A Műszerünket A Problémák Kiküszöbölésére





Ebben a bejegyzésben egy egyszerű digitális ohmmérő áramkört fogunk létrehozni Arduino és 16x2 LCD kijelző segítségével. Meg fogjuk vizsgálni a többi lehetséges áramköri ötletet is ugyanezen koncepció segítségével.

Áramkör célja

A cikk mottója nem csupán egy ohmos mérő készítése az ellenállás mérésére, amelyet a multiméter is jobban megtehet.



A projekt fő célja az arduino által leolvasott ellenállási érték felhasználása néhány hasznos projekt végrehajtására, például tűzjelzésre, ahol a termisztor ellenállási értékének változása könnyen detektálható, vagy automatikus öntözőrendszerre, ahol, ha a talaj ellenállása magasra megy, a mikrovezérlő kiválthatja a vízszivattyút. A projektek lehetősége az Ön fantáziájától függ.

Először nézzük meg, hogyan készítsünk egy ohmos mérőt, majd térjünk át más áramköri ötletekre.



Hogyan működik

Arduino Ohmmeter áramkör

Az áramkör Arduino-ból áll, használhatja kedvenc Arduino kártyáját, egy 16x2 LCD-kijelzőt az ismeretlen ellenállás értékének bemutatásához, egy potenciométert az LCD-kijelző kontrasztszintjének beállításához. Két ellenállást használnak, az egyik ismert ellenállás értéke, a másik ismeretlen ellenállás értéke.

Az ellenállás analóg funkció, de az LCD-n megjelenített érték digitális funkció. Tehát analóg-digitális átalakítást kell végeznünk, szerencsére az Arduino beépített 10 bites analóg-digitális átalakítóval rendelkezik.

A 10 bites ADC 1024 diszkrét feszültségszintet képes megkülönböztetni, 2 ellenállásra 5 voltot adnak, és az ellenállások közé veszik a feszültségmintát.

Néhány matematikai számítás segítségével a csomópont feszültségesése és az ismert ellenállási érték értelmezhető az ismeretlen ellenállási érték megtalálásához.

A matematikai egyenletek a programba vannak írva, ezért nem kell kézi számítást végezni, közvetlen értéket olvashatunk le az LCD kijelzőről.

A szerző prototípusa:

Arduino Digital Ohmmeter prototípus

Program Ohm mérőhöz:

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

MEGJEGYZÉS: úszó R = 10000 // ismert ellenállás értéke Ohm-ban

Megváltoztathatja az ismert ellenállás értékét az áramkörben, de ha így tesz, kérjük, változtassa meg az értéket a programban is.

A hagyományos multiméterhez hasonlóan ez az Arduino digitális ohmmérő áramkör is rendelkezik bizonyos tartományokkal az ellenállás mérésére. Ha megpróbál egy alacsony értékű ellenállást mega ohm tartományban mérni a multiméterén, akkor biztosan hibaértékeket kap.

Hasonlóképpen, ez az ohmmérő is igaz.

Ha 1K és 50K ohm közötti ellenállást szeretne mérni, akkor az ismert ellenállás 10K ohm is elegendő lesz, de ha mega vagy néhány ohmos tartományt mér, akkor néhány szemetes értéket kap. Tehát meg kell változtatni az ismert ellenállás értékét egy megfelelő tartományra.

A cikk következő szakaszában tanulmányozzuk az ohmmérő LCD kijelző áramkörét, és megtudjuk, hogyan lehet leolvasni az érzékelő értékét (ismeretlen ellenállás) a soros monitoron.

A programban megadjuk a küszöbértéket is, miután átlépi az előre meghatározott küszöbértéket, az Arduino váltót vált ki.

Kördiagramm:

Program kód:

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

JEGYZET:

• float th = 7800 // Állítsa be az ellenállási küszöböt ohmban
Cserélje ki a 7800 ohm értéket.
• úszó R = 10000 // ismert ellenállás Ohm-ban
Cserélje le a 10000 ohmot az ismert ellenállási értékre.
• ha (th> ellenállás)

A program ezen sora azt állítja, hogy ha az érzékelő ellenállása a küszöbérték alá esik, a kimenet bekapcsol és fordítva.

Ha be akarja kapcsolni a relét, amikor az érzékelő leolvasása meghaladja a küszöbértéket, és fordítva, csak cserélje ki az „if (thresistor)” szót

Az érzékelő (LDR vagy termisztor vagy bármi más) ellenállásának közvetlen mérésével és egy küszöbérték beállításával nagy pontosságot érhetünk el a relé, a LED-ek, a motor és más perifériák felett.

Jobb, mint a komparátoroknál, ahol referenciafeszültséget és küszöbértéket állítunk be egy változó ellenállást vakon elforgatva hasonló típusú projektek megvalósításához.




Előző: Anyagtárolási szint vezérlő áramkör Következő: 10 LED-es fordulatszámmérő áramkör