Preprosto vezje digitalnega ohmmetra Arduino

Preizkusite Naš Instrument Za Odpravo Težav





V tem prispevku bomo zgradili preprosto vezje digitalnega ohmmetra z uporabo Arduina in LCD zaslona 16x2. Z istim konceptom bomo raziskali tudi druge možne ideje o vezjih.

Cilj vezja

Moto tega članka ni samo izdelava merilnika ohmov za merjenje upora, ki ga lahko bolje stori tudi vaš multimeter.



Glavni cilj tega projekta je uporabiti vrednost odpornosti, ki jo odčitava arduino, za izvedbo nekaterih uporabnih projektov, na primer požarnega alarma, kjer je mogoče enostavno zaznati spremembo vrednosti upora termistorja ali samodejnega namakalnega sistema, kjer, če je odpornost tal gre visoko mikrokontroler lahko sproži vodno črpalko. Možnost projektov je odvisna od vaše domišljije.

Poglejmo, kako najprej narediti merilnik ohmov, nato pa preidemo na druge ideje vezja.



Kako deluje

Vezje ohmmetra Arduino

Vezje je sestavljeno iz Arduina, lahko uporabite svojo najljubšo ploščo Arduino, LCD zaslon 16x2 za prikaz neznane vrednosti upora, potenciometer za nastavitev stopnje kontrasta LCD zaslona. Uporabljata se dva upora, od katerih je ena znana vrednost upora, druga pa neznana vrednost upora.

Upor je analogna funkcija, vrednost, prikazana na LCD-ju, pa je digitalna. Torej moramo narediti analogno-digitalno pretvorbo, na srečo ima Arduino vgrajen 10-bitni analogno-digitalni pretvornik.

10-bitni ADC lahko razlikuje 1024 diskretnih nivojev napetosti, na dva upora se nanese 5 voltov in vzame se vzorec napetosti med upori.

Z uporabo nekaterih matematičnih izračunov lahko padec napetosti na vozlišču in znano vrednost upora interpretiramo, da najdemo neznano vrednost upora.

Matematične enačbe so zapisane v programu, zato ročnega izračuna ni treba izvajati, neposredno vrednost lahko beremo z LCD zaslona.

Avtorjev prototip:

Prototip digitalnega ohmmetra Arduino

Program za merilnik Ohm:

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

OPOMBA: plovec R = 10000 // Znana vrednost upora v ohmih

V vezju lahko spremenite znano vrednost upora, vendar če to storite, spremenite tudi vrednost v programu.

Tako kot običajni multimeter ima tudi to vezje digitalnega ohmmetra Arduino nekaj obsegov za merjenje upora. Če poskušate v multimetru izmeriti upor nizke vrednosti v mega ohmskem območju, zagotovo dobite vrednosti napak.

Prav tako velja tudi za ta ohmmeter.

Če želite izmeriti upor od 1K do 50K ohm, bo dovolj 10K ohm znanega upora, če pa izmerite Mega ohm ali nekaj ohmov, boste prebrali nekaj smeti. Zato je treba vrednost znanega upora spremeniti v ustrezen obseg.

V naslednjem poglavju tega članka bomo preučili vezje LCD zaslona za ohmmeter in videli bomo, kako odčitati vrednost senzorja (neznana upornost) v serijskem monitorju.

V programu bomo navedli tudi mejno vrednost, ko bo ta presegel vnaprej določen prag, bo Arduino sprožil rele.

Shema vezja:

Koda programa:

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

OPOMBA:

• float th = 7800 // Nastavite prag upora v ohmih
7800 ohm zamenjajte s svojo vrednostjo.
• float R = 10000 // Znana vrednost Upor v ohmih
Zamenjajte 10000 ohm s svojo znano vrednostjo upora.
• če (th> upor)

Ta vrstica v programu navaja, da če se upor senzorja zmanjša pod mejno vrednost, se izhod vklopi in obratno.

Če želite vklopiti rele, ko odčitavanje senzorja preseže prag in obratno, samo zamenjajte »if (tresistor)«

Z neposrednim merjenjem upora senzorja (LDR ali termistor ali karkoli drugega) in nastavitvijo praga lahko dosežemo veliko natančnost nadzora releja, LED, motorja in druge zunanje opreme.

Bolje je kot primerjalniki, kjer nastavimo referenčno napetost in nastavimo prag s slepim zasukom spremenljivega upora za izvedbo podobnih projektov.




Prejšnja: Vezje krmilnika nivoja skladiščenja materiala Naprej: 10 LED tahometrov