0% encontró este documento útil (0 votos)
73 vistas20 páginas

Temperatura Con Arduino

Este documento describe el acondicionamiento de sensores de temperatura utilizando Arduino. Explica cómo instalar el software de Arduino, configurar la placa, y programarla para leer sensores de temperatura como RTD y LM35. También cubre cómo conectar un display LCD al Arduino y los comandos básicos para mostrar información en el display.

Cargado por

RenssonMartinez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
73 vistas20 páginas

Temperatura Con Arduino

Este documento describe el acondicionamiento de sensores de temperatura utilizando Arduino. Explica cómo instalar el software de Arduino, configurar la placa, y programarla para leer sensores de temperatura como RTD y LM35. También cubre cómo conectar un display LCD al Arduino y los comandos básicos para mostrar información en el display.

Cargado por

RenssonMartinez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 20

Acondicionamiento de sensores de Temperatura

ARDUINO

A) Instalación del Software de Arduino

1.- Descargar Java última edición e instalarlo

2.- En Google, entrar a la pagina web de Arduino y la opción Download


3.- Elegir Windows Installer y descargar el software

4.- Elegir “Just Download”


5.- Se instala el software descargado

arduino-1.6.8-windows.exe

B) Configuración del Software

1.- Se conecta el Arduino al PC por el puerto USB

2.- Se corre el Software de Arduino


3.- Ir a Herramientas y comprobar el reconocimiento de la placa Arduino Uno

4.- En Herramientas también seleccionar el puerto USB por el que está conectado Arduino

5.- Dejar el Software activo con la pantalla tal como se muestra:


Se puede realizar el primer programa en Arduino
void setup()
{
pinMode(13, OUTPUT);
}
void loop()
{
digitalWrite(13, HIGH); // LED on
delay(1000); // espera 1 segundo
digitalWrite(13, LOW); // LED off
delay(1000); // espera 1 segundo
}

Este programa realiza el parpadeo de un LED incorporado en el Arduino a través del Pin digital 13

C) Lectura a traves del puerto de un divisor de tensión

1.- Armado del circuito


2.- Programa de Control
void setup()
{
Serial.begin(9600); // Lenguaje WIRING
}
void loop()
{
Serial.print("puerto A0 = ");
Serial.print(analogRead(0));
Serial.println();
delay(100);
}

3.- Monitoreo

4.- Se interpreta que el Arduino lee el puerto a través de su ADC de 10 bits


Para calcular la tensión Vo que se aplica por el puerto, la ecuación sería:

5.- Programa para hallar el voltaje aplicado utilizando la ecuación anterior:


void setup()
{
Serial.begin(9600); // WIRING
}
void loop()
{
int Vleido = analogRead(0);
int Vin = 5*Vleido/1023;
Serial.print("puerto A0 = ");
Serial.print(Vleido);
Serial.print(" Voltaje in = ");
Serial.print(Vin);
Serial.println();
delay(100);
}

6.- Monitoreamos el puerto


7.- Mejora del programa con valores decimales
float Vleido,Vin;
void setup()
{
Serial.begin(9600); // WIRING
}
void loop()
{
Vleido = analogRead(0);
Vin = 5*Vleido/1023;
Serial.print("puerto A0 = ");
Serial.print(Vleido);
Serial.print(" Voltaje in = ");
Serial.print(Vin);
Serial.println();
delay(1000);
}

8.- Monitoreando el programa:

D) Determinación del valor Rx de un resistor del divisor de tensión a través del valor leído
1.- Se determina la relación entre Rx y el Valor leido
2.- Se programa

float Vleido,Rx;
void setup()
{
Serial.begin(9600); // WIRING
}
void loop()
{
Vleido = analogRead(0);
Rx= (Vleido*1000)/(1023-Vleido);
Serial.print("puerto A0 = ");
Serial.print(Vleido);
Serial.print(" Resistencia Rx = ");
Serial.print(Rx);
Serial.println();
delay(1000);
}

3.- Se monitorea

E) Acondicionamiento de una RTD

1.- Se determina la relación entre la temperatura y el Valor leido, para esto recordamos que

el sensor RTD está normalizado de acuerdo a la tabla siguiente:


Para hallar la relación de la Resistencia con la temperatura utilizamos la ecuación básica del RTD

Ahora podemos deducir Vo

…Y cuanto vale alfa?

Son 15 valores de varios estándar y diversas procedencias…


Utilizaremos: alfa = 0,00385 de la norma DIN-43760 y IEC-751

Reemplazamos esto en la ecuación de Vo del Arduino:


2.- Se programa

float Vleido,Rx,T;
void setup()
{
Serial.begin(9600); // WIRING
}
void loop()
{
Vleido = analogRead(0);
Rx= (Vleido*1000)/(1023-Vleido);
T=((Vleido*1100)-102300)/(393.855-0.385*Vleido);
Serial.print("puerto A0 = ");
Serial.print(Vleido);
Serial.print(" Resistencia Rx = ");
Serial.print(Rx);
Serial.print(" Temperatura T = ");
Serial.print(T);
Serial.println();
delay(1000);
}
3.- Se monitorea:
Tarea: Programar el Arduino para realizar una lectura con RTD Pt100 de acuerdo a:

Trabajamos con esta fórmula:

Nota1: Rt viene a ser el valor de la resistencia obtenido de la lectura (Rx)

Nota2: El otro valor de T se descarta pues queda fuera de rango


El programa queda asi:

float Vleido,Rx,T,T2,r,m,d,f,a,b,c;
void setup()
{
Serial.begin(9600); // WIRING
}
void loop()
{
Vleido = analogRead(0);
Rx= (Vleido*1000)/(1023-Vleido);
T=((Vleido*1100)-102300)/(393.855-0.385*Vleido); // T de acuerdo a la formula clasica
a = 0.00005775;
b = -0.398;
c= Rx-100;
f = b*b-4*a*c;
r=sqrt(f);
m= -b-r;
T2=m/(2*a);
Serial.print("puerto A0 = ");
Serial.print(Vleido);
Serial.print(" Resistencia Rx = ");
Serial.print(Rx);
Serial.print(" Temperatura T = ");
Serial.print(T);
Serial.print(" Temperatura T2 = ");
Serial.print(T2);
Serial.println();
delay(1000);
}

Nota: El programa se puede optimizar utilizando librería matemática

La ejecución resulta asi:


Sensor de CI LM35

Se conecta el sensor al Arduino al puerto análogo 0 (a0)

El sensor leerá un valor análogo entre 0 y 1023 para una entrada correspondiente entre 0 a 5 V,
por otro lado el sensor proporciona en Vout un valor de 10mV/ºC juntando estas 2 relaciones
tenemos que el valor de la temperatura en grados Celsius será:

Vo=5xVleido/1023

T=Vs/10mV

Vs = T.10mV

Vo=5xVleido/1023= Vs = T.10mV cuando el sensor se conecta a la entrada analoga

5xVleido/1023= T.10mV

10mVT=5xVleido/1023

Temp= (Valor_Leido x 5 x 100 ) / 1023


En wiring al pasarlo al Arduino IDE queda así:

Para visualizar resultados activar monitor serial en Herramientas


Conexión de un display LCD (1602g) al Arduino 1

 VSS que es el pin de negativo o masa o 0 volts o GND.


 VDD es la alimentación principal de la pantalla y el chip, lleva 5 voltios
(recomendable ponerle en serie una resistencia para evitar daños, con una de 220
ohmnios es suficiente).
 VO es el contraste de la pantalla, debe conectarse con un potenciometro de unos
10k ohms o una resistencia fija una vez que encontremos el valor deseado de contraste.
Tengan en cuenta que si no conectan esto, no verán nada.
 RS es el selector de registro (el microcontrolador le comunica a la LCD si quiere
mostrar caracteres o si lo que quiere es enviar comandos de control, como cambiar
posición del cursor o borrar la pantalla, por ejemplo).
 RW es el pin que comanda la lectura/escritura. En nuestro caso siempre estará en
0 (conectado a GND) para que escriba en todo momento.
 E es enable, habilita la pantalla para recibir información.
 D0~D3 no los vamos a utilizar. Como pueden ver la pantalla tiene un bus de datos
de 8 bits, de D0 a D7. Nosotros solamente utilizaremos 4 bits, de D4 a D7, que nos
servirán para establecer las líneas de comunicación por donde se transfieren los datos.
 A y K son los pines del led de la luz de fondo de la pantalla. A se conectará a 4 o 5
volts y K a gnd.
La comunicación entre Arduino y LCD requerirá de 6 lineas de datos discretos. Estas 6 lineas
pueden ser cualquiera de los puertos digitales del Arduino, a continuación armaremos un circuito
donde utilizamos los puertos del Arduino 5, 4, 3, 2 para los terminales de datos del LCD d4-d5-d6-
d7 respectivamente y los puertos del Arduino 12 y 11 para los bits de control del LCD RS y EN.

Palabra de control:

LiquidCrystal lcd(RS, EN, d4, d5, d6, d7);

De acuerdo a lo proyectado sería:

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

Comandos utilizados para displayar información con el LCD

Al Inicio del programa:

 Comando de llamada de librería: #include <LiquidCrystal.h>


 Palabra de control: LiquidCrystal lcd(RS, EN, d4, d5, d6, d7);

En void setup()

 Comando de operación del LCD:


lcd.begin(columnas, filas); lcd.begin(16, 2);
 Comando de ubicación del cursor del LCD:
lcd.setCursor(columna, fila); lcd.setCursor(0,1);

En void loop()

 lcd.setCursor(0, 1);
 lcd.print(" ");
 lcd.clear();

 lcd.setCursor(0, 0); // esquina superior izquierda


 lcd.setCursor(15, 0); // esquina superior derecha
 lcd.setCursor(0, 1); // esquina inferior izquierda
 lcd.setCursor(15, 1); // esquina inferior derecha

También podría gustarte