Yksinkertainen Arduino Digital Ohmmeter -piiri

Kokeile Instrumenttia Ongelmien Poistamiseksi





Tässä viestissä aiomme rakentaa yksinkertaisen digitaalisen ohmimittaripiirin käyttämällä Arduino- ja 16x2 LCD-näyttöä. Tutkimme myös muita mahdollisia piiriideoita samalla konseptilla.

Piirin tavoite

Tämän artikkelin motto ei ole vain ohmimittarin tekeminen vastuksen mittaamiseksi, jonka yleismittari voi paremmin tehdä samoin.



Tämän projektin päätavoitteena on käyttää arduinon lukemaa vastusarvoa hyödyllisiin hankkeisiin, esimerkiksi palohälytys, jossa termistorin resistanssiarvon muutos voidaan helposti havaita tai automaattinen kastelujärjestelmä, jos, jos maaperän vastus nousee korkealle, mikrokontrolleri voi laukaista vesipumpun. Hankkeiden mahdollisuus on mielikuvituksesi mukainen.

Katsotaanpa, miten ensin tehdään ohmimittari, ja sitten siirrymme muihin piiriideoihin.



Kuinka se toimii

Arduino Ohmmeter -piiri

Piiri koostuu Arduinosta. Voit käyttää suosikki Arduino-korttiasi, 16x2 LCD-näyttöä tuntemattoman vastuksen arvon esittelemiseksi, potentiometri LCD-näytön kontrastitason säätämiseksi. Käytetään kahta vastusta, joista toinen on tunnettu vastuksen arvo ja toinen tuntematon vastuksen arvo.

Vastus on analoginen toiminto, mutta LCD-näytöllä näkyvä arvo on digitaalinen toiminto. Joten meidän on tehtävä analoginen digitaalimuunnos, onneksi Arduinolla on sisäänrakennettu 10-bittinen analogia-digitaalimuunnin.

10-bittinen ADC voi erottaa 1024 erillistä jännitetasoa, 5 volttia syötetään 2 vastukseen ja jännitteen näyte otetaan vastusten väliin.

Joitakin matemaattisia laskelmia käyttämällä voidaan tulkita solmun jännitehäviö ja tunnettu vastusarvo tuntemattoman vastusarvon löytämiseksi.

Matemaattiset yhtälöt kirjoitetaan ohjelmaan, joten manuaalista laskutoimitusta ei tarvitse tehdä, voimme lukea suoran arvon LCD-näytöltä.

Kirjoittajan prototyyppi:

Arduino Digital Ohmmeter -prototyyppi

Ohmimittarin ohjelma:

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

HUOMAUTUS: kelluva R = 10000 // Tunnettu vastuksen arvo ohmoina

Voit muuttaa tunnettua vastuksen arvoa piirissä, mutta jos teet niin, vaihda arvo myös ohjelmassa.

Kuten tavanomaisessa yleismittarissa, myös tällä Arduino-digitaalimittaripiirillä on joitain alueita resistanssin mittaamiseksi. Jos yrität mitata pieniarvoista vastusta megaohmin alueella yleismittarissasi, saat varmasti virhearvot.

Samoin se pätee myös tähän ohmimittariin.

Jos haluat mitata resistanssin välillä 1K - 50K ohm, 10K ohmin tunnettu vastus riittää, mutta jos mitataan megaohmialue tai muutama ohmialue, saat roskilukemia. Joten on tarpeen muuttaa tunnetun vastuksen arvo sopivaksi alueeksi.

Tämän artikkelin seuraavassa osassa aiomme tutkia ohmimittarin LCD-näyttöpiiriä ja näemme kuinka lukea anturin arvo (tuntematon vastus) sarjavalvonnassa.

Ilmoitamme myös kynnysarvon ohjelmassa, kun se ylittää ennalta määrätyn kynnyksen, Arduino laukaisee releen.

Piirikaavio:

Ohjelmakoodi:

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

HUOMAUTUS:

• float th = 7800 // Aseta vastuskynnys ohmina
Korvaa 7800 ohmia arvollasi.
• kelluva R = 10000 // Tunnettu arvo vastus ohmina
Korvaa 10000 ohmia tunnetulla vastusarvollasi.
• jos (th> vastus)

Tämä ohjelman rivi kertoo, että jos anturin vastus menee alle kynnysarvon, lähtö kytkeytyy päälle ja päinvastoin.

Jos haluat kytkeä releen päälle, kun anturin lukema ylittää kynnyksen ja päinvastoin, korvaa vain 'if (thresistor)'

Mittaamalla anturin resistanssi suoraan (LDR tai termistori tai mikä tahansa muu) ja asettamalla kynnysarvo, voimme saada suuren tarkkuuden releiden, LEDien, moottorin ja muiden oheislaitteiden hallintaan.

Se on parempi kuin vertailijat, joissa asetamme vertailujännitteen ja asetamme kynnyksen kääntämällä muuttuvaa vastusta sokeasti samanlaisten projektien toteuttamiseksi.




Pari: Materiaalin varastointitason ohjainpiiri Seuraava: 10 LED-kierroslukumittarin piiri