Circuit senzill d’ohmetre digital Arduino

Proveu El Nostre Instrument Per Eliminar Problemes





En aquest post anem a construir un circuit senzill d’ohmímetres digitals mitjançant Arduino i pantalla LCD de 16x2. També explorarem les altres possibles idees de circuits utilitzant el mateix concepte.

Objectiu del circuit

El lema d’aquest article no és només fer un ohmímetre per mesurar la resistència que pot fer el vostre multímetre.



L’objectiu principal d’aquest projecte és utilitzar el valor de resistència llegit per arduino per fer alguns projectes útils, per exemple, l’alarma d’incendi, on es pot detectar fàcilment el canvi de valor de resistència del termistor o el sistema de reg automàtic on, si la resistència del sòl puja el microcontrolador pot activar la bomba d'aigua. La possibilitat de projectes depèn de la vostra imaginació.

Vegem com fer un ohmímetre primer i després passem a altres idees de circuits.



Com funciona

Circuit Ohmímetre Arduino

El circuit consisteix en Arduino: podeu utilitzar la vostra placa Arduino preferida, una pantalla LCD de 16x2 per mostrar el valor de la resistència desconegut, un potenciòmetre per ajustar el nivell de contrast de la pantalla LCD. S'utilitzen dues resistències, una de les quals és el valor de resistència conegut i l'altra és un valor de resistència desconegut.

La resistència és una funció analògica, però el valor que es mostra a la pantalla LCD és una funció digital. Per tant, hem de fer conversions analògiques a digitals; afortunadament, Arduino ha incorporat un convertidor analògic a digital de 10 bits.

L’ADC de 10 bits pot diferenciar 1024 nivells de voltatge discret, s’aplica 5 volts a 2 resistències i es pren la mostra de voltatge entre les resistències.

Utilitzant alguns càlculs matemàtics, es pot interpretar la caiguda de tensió al node i el valor de resistència conegut per trobar el valor de resistència desconegut.

Les equacions matemàtiques s’escriuen al programa, de manera que no cal fer cap càlcul manual, podem llegir el valor directe des de la pantalla LCD.

Prototip de l'autor:

Prototip d

Programa per a Ohm meter:

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

NOTA: flotant R = 10000 // Valor de resistència conegut en ohm

Podeu canviar el valor de resistència conegut al circuit, però si ho feu, també canvieu el valor del programa.

Igual que un multímetre convencional, aquest circuit d’ohmímetres digitals Arduino també té alguns intervals per mesurar la resistència. Si intenteu mesurar una resistència de valor baix en un rang de mega ohms al multímetre, segur que obtindreu valors d'error.

De la mateixa manera, també és cert per a aquest ohmetre.

Si voleu mesurar la resistència d’1K a 50K ohm, la resistència coneguda de 10K ohm serà suficient, però si mesureu el rang de Mega ohm o el rang de pocs ohm, obtindreu algunes lectures d’escombraries. Per tant, cal canviar el valor de la resistència coneguda a un rang adequat.

A la següent secció d’aquest article, estudiarem el circuit de pantalla LCD de l’ohmímetre i veurem com llegir el valor del sensor (resistència desconeguda) al monitor sèrie.

També indicarem el valor llindar al programa, un cop superi el llindar predeterminat, Arduino activarà el relé.

Esquema de connexions:

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

NOTA:

• float th = 7800 // Estableix el llindar de resistència en ohms
Substituïu 7800 ohms pel vostre valor.
• float R = 10000 // Valor conegut Resistència en ohm
Substituïu 10.000 ohms pel valor de resistència conegut.
• if (th> resistència)

Aquesta línia del programa indica que, si la resistència del sensor va per sota del valor llindar, la sortida s’activa i viceversa.

Si voleu engegar el relé quan la lectura del sensor supera el llindar i viceversa, només cal que substituïu 'if (thiristor)'

Mesurant la resistència del sensor directament (LDR o termistor o qualsevol altra cosa) i establint un llindar, podem adquirir una gran precisió de control sobre el relé, els LED, el motor i altres perifèrics.

És millor que els comparadors, on establim un voltatge de referència i establim un llindar girant una resistència variable a cegues per realitzar tipus similars de projectes.




Anterior: Circuit del controlador de nivell d’emmagatzematge de materials Següent: 10 circuits de tacòmetres LED