Jednostavni krug digitalnog ohmmetra Arduino

Isprobajte Naš Instrument Za Uklanjanje Problema





U ovom ćemo postu izraditi jednostavan krug digitalnog ohmmetra pomoću Arduina i LCD zaslona 16x2. Također ćemo istražiti i druge moguće ideje o krugovima koristeći isti koncept.

Cilj kruga

Moto ovog članka nije samo izrada mjerača ohma za mjerenje otpora koji vaš multimetar može bolje učiniti isto.



Glavni cilj ovog projekta je koristiti vrijednost otpora koju očitava arduino za izvedbu nekih korisnih projekata, na primjer, vatrodojave, gdje se promjena vrijednosti otpora termistora može lako otkriti ili sustav automatskog navodnjavanja gdje, ako otpor tla ide visoko mikrokontroler može pokrenuti pumpu za vodu. Mogućnost projekata ovisi o vašoj mašti.

Pogledajmo kako prvo napraviti mjerač ohma, a zatim prelazimo na druge ideje o krugovima.



Kako radi

Arduino ohmmetar krug

Krug se sastoji od Arduina, a možete koristiti svoju omiljenu Arduino ploču, LCD zaslona 16x2 za prikaz nepoznate vrijednosti otpora, potenciometra za podešavanje razine kontrasta LCD zaslona. Koriste se dva otpornika, od kojih je jedan poznata vrijednost otpora, a drugi nepoznata vrijednost otpora.

Otpor je analogna funkcija, ali vrijednost prikazana na LCD-u je digitalna funkcija. Dakle, moramo napraviti analogno-digitalnu pretvorbu, srećom Arduino ima ugrađeni 10-bitni analogno-digitalni pretvarač.

10-bitni ADC može razlikovati 1024 diskretne razine napona, na dva otpornika primijenjeno je 5 volti, a uzorak napona uzima se između otpornika.

Koristeći neke matematičke proračune, pad napona na čvoru i poznata vrijednost otpora mogu se protumačiti kako bi se pronašla nepoznata vrijednost otpora.

Matematičke jednadžbe zapisane su u programu, tako da ne treba raditi ručni izračun, možemo očitati izravnu vrijednost s LCD zaslona.

Autorski prototip:

Prototip digitalnog ohmmetra Arduino

Program za mjerač ohma:

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

NAPOMENA: plovak R = 10000 // Poznata vrijednost otpornika u Ohm

Možete promijeniti poznatu vrijednost otpornika u krugu, ali ako to učinite, također promijenite vrijednost u programu.

Poput uobičajenog multimetra, i ovaj Arduinoov krug digitalnog ohmmetra ima neke domete za mjerenje otpora. Ako u multimetru pokušate izmjeriti otpor male vrijednosti u mega ohmskom opsegu, sigurno ćete dobiti vrijednosti pogreške.

Isto tako, to vrijedi i za ovaj ohmmetar.

Ako želite izmjeriti otpor od 1K do 50K ohma, bit će dovoljan 10K ohm poznati otpornik, ali ako izmjerite opseg mega ohma ili opseg od nekoliko ohma, dobit ćete neka očitanja smeća. Stoga je potrebno vrijednost poznatog otpora promijeniti u odgovarajući raspon.

U sljedećem odjeljku ovog članka proučit ćemo krug LCD zaslona za ohmmetar i vidjet ćemo kako očitati vrijednost senzora (nepoznati otpor) na serijskom monitoru.

Također ćemo navesti vrijednost praga u programu, nakon što prijeđe unaprijed određeni prag, Arduino će aktivirati relej.

Kružni dijagram:

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

BILJEŠKA:

• plutajuće th = 7800 // Podesite prag otpora u Ohm
Zamijenite 7800 ohma sa svojom vrijednošću.
• plutajuće R = 10000 // Poznata vrijednost Otpornik u Ohm
Zamijenite 10000 ohma vašom poznatom vrijednošću otpora.
• ako (th> otpornik)

Ovaj redak u programu navodi da se, ako otpor senzora padne ispod praga, izlaz uključuje i obrnuto.

Ako želite uključiti relej kada očitanje senzora pređe prag i obrnuto, samo zamijenite 'if (tresistor)'

Izravnim mjerenjem otpora senzora (LDR ili termistor ili bilo što drugo) i postavljanjem praga možemo postići veliku točnost upravljanja relejem, LED-ima, motorom i ostalim perifernim uređajima.

Bolja je od usporedbi, gdje postavljamo referentni napon i postavljamo prag slijepim okretanjem promjenjivog otpora za postizanje sličnih projekata.




Prethodno: Krug regulatora razine pohrane materijala Sljedeće: 10 krugova LED tahometra