Vienkārša Arduino digitālā ommetra shēma

Izmēģiniet Mūsu Instrumentu Problēmu Novēršanai





Šajā ziņojumā mēs izveidosim vienkāršu digitālo ommetra shēmu, izmantojot Arduino un 16x2 LCD displeju. Mēs arī izpētīsim citas iespējamās ķēdes idejas, izmantojot to pašu koncepciju.

Ķēdes mērķis

Šī raksta moto ir ne tikai izveidot omu skaitītāju, lai izmērītu pretestību, ko jūsu multimetrs var darīt labāk.



Šī projekta galvenais mērķis ir izmantot arduino nolasīto pretestības vērtību, lai veiktu dažus noderīgus projektus, piemēram, ugunsgrēka trauksmi, kur var viegli noteikt termistora pretestības vērtības izmaiņas vai automātisku apūdeņošanas sistēmu, ja, ja augsnes pretestība iet uz augšu, mikrokontrolleris var iedarbināt ūdens sūkni. Projektu iespējamība ir jūsu iztēle.

Apskatīsim, kā vispirms izveidot omu skaitītāju, un pēc tam mēs pārejam pie citām ķēdes idejām.



Kā tas strādā

Arduino Ohmmeter ķēde

Shēma sastāv no Arduino. Jūs varat izmantot savu iecienīto Arduino dēli, 16x2 LCD displeju, lai parādītu nezināmu rezistora vērtību, potenciometru, lai pielāgotu LCD displeja kontrasta līmeni. Tiek izmantoti divi rezistori, no kuriem viens ir zināms rezistora vērtība, bet otrs nav zināms.

Pretestība ir analogā funkcija, bet LCD ekrānā redzamā vērtība ir digitālā funkcija. Tātad, mums ir jāveic analogais ciparu pārveidojums, par laimi Arduino ir iebūvēts 10 bitu analogais uz ciparu pārveidotājs.

10 bitu ADC var diferencēt 1024 diskrētos sprieguma līmeņus, 2 rezistoriem tiek piemērots 5 volti un starp rezistoriem tiek ņemts sprieguma paraugs.

Izmantojot dažus matemātiskus aprēķinus, var interpretēt sprieguma kritumu mezglā un zināmo pretestības vērtību, lai atrastu nezināmo pretestības vērtību.

Matemātiskie vienādojumi ir ierakstīti programmā, tāpēc nav jāveic manuāls aprēķins, mēs varam nolasīt tiešo vērtību no LCD displeja.

Autora prototips:

Arduino digitālā ommetra prototips

Ohm skaitītāja programma:

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

PIEZĪME: pludiņš R = 10000 // Zināmā rezistora vērtība omos

Jūs varat mainīt zināmo rezistora vērtību ķēdē, bet, ja to izdarāt, lūdzu, mainiet vērtību arī programmā.

Tāpat kā parastajam multimetram, arī šai Arduino digitālā ommetra ķēdei ir daži diapazoni, lai izmērītu pretestību. Ja jūs mēģināt izmērīt zemas vērtības rezistoru mega omu diapazonā savā multimetrā, jūs noteikti saņemat kļūdas vērtības.

Tāpat tas attiecas arī uz šo ommetru.

Ja vēlaties izmērīt pretestību no 1K līdz 50K om, pietiek ar zināmo rezistoru ar 10K om, bet, ja izmērīsit Mega omu diapazonu vai dažus omus diapazonu, jūs saņemsiet dažus atkritumu rādījumus. Tāpēc ir jāmaina zināmā rezistora vērtība atbilstošā diapazonā.

Šī raksta nākamajā sadaļā mēs pētīsim ommetra LCD displeja ķēdi un redzēsim, kā sērijas monitorā nolasīt sensora vērtību (nezināma pretestība).

Mēs arī norādīsim sliekšņa vērtību programmā, tiklīdz tā pārsniegs iepriekš noteikto slieksni, Arduino aktivizēs releju.

Ķēdes shēma:

Programmas kods:

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

PIEZĪME:

• pludiņš th = 7800 // Iestatiet pretestības slieksni omos
Nomainiet 7800 omi ar savu vērtību.
• pludiņš R = 10000 // Zināmā vērtība Rezistors omos
Nomainiet 10000 omi ar zināmo rezistora vērtību.
• ja (th> rezistors)

Šī programmas līnija norāda, ka, ja sensora pretestība ir zemāka par sliekšņa vērtību, izeja ieslēdzas un otrādi.

Ja vēlaties ieslēgt releju, kad sensora rādījums pārsniedz slieksni, un otrādi, vienkārši nomainiet “if (thresistor)”

Tieši mērot sensora pretestību (LDR vai termistoru vai jebko citu) un nosakot slieksni, mēs varam iegūt lielu releja, gaismas diodes, motora un citu perifērijas ierīču vadības precizitāti.

Tas ir labāk nekā salīdzinātāji, kur mēs iestatām atskaites spriegumu un slieksni, akli pagriežot mainīgu rezistoru, lai veiktu līdzīga veida projektus.




Pāri: Materiālu uzglabāšanas līmeņa kontroliera ķēde Nākamais: 10 LED tahometra shēma