PR09 Sensor de Caudal Con Arduino

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 10

GUIA DE PRÁCTICAS

UNIVERSIDAD NACIONAL DE LOJA


Campus: Ciudad Universitaria Guillermo Falconí E.

FACULTAD DE LA ENERGÍA, LAS INDUSTRIAS Y LOS RECURSOS NATURALES NO


RENOVABLES

MATERIA
Instrumentación Industrial

ESTUDIANTE
Lenin Javier Contento Chamba

DOCENTE
Ing. Fernando Ramirez M.Sc.

PERIODO ACADEMICO
Septiembre 2022 – febrero 2023

FECHA
12 de enero de 2023

PRACTICA Nº9
1. DATOS ACADÉMICOS
TEMA: Medidores volumétricos
 Diseñar un sistema de medición de volumen usando un
microcontrolador (Arduino).
OBJETIVOS:
 Diseñar el código necesario para obtener la información del
sensor y mostrarla en una pantalla lcd.
 Diseña un sistema para medir un flujo volumétrico de agua y
RESULTADOS DE
desarrolla un programa en C++ para visualizar la información
APRENDIZAJE:
en un microcontrolador.

2. MATERIALES Y REACTIVOS – EQUIPOS Y HERRAMIENTAS


MATERIALES EQUIPOS
Sensor de Caudal YF-s201 Computador
Microcontrolador Arduino uno Programa Arduino
Placa lcd 16x2 Herramientas de office

3. INSTRUCCIONES
La siguiente práctica tiene como propósito el montaje de un medidor de flujo comercial en una
placa Arduino, además de conectar una pantalla lcd para el monitoreo de la información que se
extrae del sensor de flujo volumétrico. El sensor de caudal es un sensor YF-s201 que brinda
información en pulsos, por lo que para la simulación del sensor en la librería de Proteus se recurrirá
a una generador de pulsos, sin embargo, el docente proveerá a los estudiantes un sensor para que
sea agregado a la librería y se pueda realizar las simulaciones.

4. ACTIVIDADES PARA DESARROLLAR


Actividad 1: Realice el montaje del sensor de flujo, para ello deberán descargar el archivo de
Proteus llamado “Sensor de flujo - librería” en el encontraras un modelo de sensor de flujo
generado con un contador de pulsos. Una vez descargado el archivo se procederá a buscar y
recuperar en la librería de Proteus los elementos necesarios para el montaje:

 Microcontrolador ARDUINO UNO R3


 Resistencia variable: 3005P-1-103
 Pantalla lcd: LM016L

Realizar el montaje del circuito como se observa en la imagen

Figura1: Diseño de montaje

Una vez realizado el montaje se debe escribir el código en el Programa Arduino, esta actividad
se la realizara con la guía del docente siguiendo el siguiente Seudocódigo

include <LiquidCrystal.h> // incluimos la libreria del display

// declarar variables.
float vol = 0.0,l_minute;
unsigned char flowsensor = 2; // Sensor de entrada
unsigned long currentTime;
unsigned long cloopTime;
unsigned long flow_frequency;

// Especificamos donde hemos conectado la lcd


LiquidCrystal lcd(rs, enable, d4, d5, d6, d7)

// Función de interrupción para incrementar el flujo

//Instrucciones para el inicio del programa con void setup


void setup(){
//iniciamos la comunicacion serial
// Pin flow sensor, configurado como entrada
// Pin flowsensor en alto
// Interrumpir Setup
// iniciamos la interfaz del lcd
// limpiamos la pantalla
// colocamos el cursor en la columna 0 y fila 0
// Imprimimos texto
// colocamos el cursos en la columna 0 y fila 1
// imprmimos en la pantalla “sensando”
// esperamos medio segundo
// obtenemos el tiempo que ha pasado desde que empezo la ejecucion del código y lo
declaramos como currentTime
cloopTime = currentTime; // declaramos la variable cloopTime
}
// iniciamos el void loop
// Cada segundo calcula e imprime litros/hora
// iniciamos la sentencia If
if(currentTime >= (cloopTime + 1000))
{
cloopTime = currentTime; // Actualiza cloopTime
if(flow_frequency != 0)
{

l_minute = (flow_frequency / 7.5); // (fercuencia de pulso x 60 min) / 7.5Q = flowrate in


L/hour (7.5 es el factor de conversión)
lcd.clear(); // limpiamos lcd
lcd.setCursor(0,0); // colocamos lcd en la posición 0,0
lcd.print("Rango: "); // imprimimos rango
lcd.print(l_minute); // imprimimos l_minute
lcd.print(" L/M"); // imprimimos L/M
l_minute = l_minute/60;
lcd.setCursor(0,1);
vol = vol +l_minute;
lcd.print("Vol:");
lcd.print(vol);
lcd.print(" L");
flow_frequency = 0; // Reset Counter
Serial.print(l_minute, DEC); // Print litros/hora
Serial.println(" L/Sec");
}
else {
Serial.println(" Rango de flujo = 0 ");
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Rango: ");
lcd.print( flow_frequency );
lcd.print(" L/M");
lcd.setCursor(0,1);
lcd.print("Vol:");
lcd.print(vol);
lcd.print(" L");
}
}
}

5. MARCO TEORICO
SENSOR DE FLUJO
Los sensores de flujo, también conocidos como "detector de flujo" o "interruptor de
caudal" son equipos para monitoreo de fluidos en tuberías y funcionan con el
desplazamiento de un pistón magnético que indica el aumento o disminución del flujo de
líquido, accionando el contacto de un interruptor de láminas (reed switch). El pistón es
controlado por un resorte y regresa a la posición inicial cuando no hay fluido, incluso si
hay presión en la tubería.
(EICOS, 1982)
ARDUINO
Arduino es una plataforma electrónica de código abierto basada en hardware y software
fáciles de usar. Los tableros Arduino pueden leer entradas (luz en un sensor, un dedo en
un botón o un mensaje de Twitter, y convertirlo en una salida, activando un motor,
encendiendo un LED, publicando algo en línea. Puede decirle a su tablero qué hacer
enviando un conjunto de instrucciones al microcontrolador en el tablero. Para hacerlo,
utiliza el lenguaje de programación Arduino (basado en el cableado) y el software Arduino
(IDE), basado en el procesamiento.

Con los años, Arduino ha sido el cerebro de miles de proyectos, desde objetos cotidianos
hasta instrumentos científicos complejos. Una comunidad mundial de fabricantes
(estudiantes, aficionados, artistas, programadores y profesionales) se ha reunido en torno
a esta plataforma de código abierto, sus contribuciones se han sumado a una increíble
cantidad de conocimiento accesible que puede ser de gran ayuda tanto para los novatos
como para los expertos. (ARDUINO EDUCATION, s.f.)

6. RESULTADOS OBTENIDOS
Actividad 1
Realización del montaje de un sensor de flujo en Proteus

Figura 2: Montaje de un sensor de flujo. Elaboración propia


Realización del código en el programa Arduino
#include <LiquidCrystal.h>// incluimos la libreria del display

float vol =0.0,l_minute;


unsigned char flowsensor = 2 ;//Sensor de entrada
unsigned long currentTime;
unsigned long cloopTime;
unsigned long flow_frequency;

//Especificamos donde hemos conectado la lc


LiquidCrystal lcd(12, 11, 6, 5, 4, 3);//lcd (rs, enable, d4, d5, d6, d7)

void flow ()// función de interrupción para incrementar el flujo


{
flow_frequency++;
}

void setup() {
Serial.begin(96000);//inclinamos la comunicación serial
pinMode(flowsensor, INPUT);// Pin flow sensor, configurado como entrada
digitalWrite(flowsensor, HIGH);// Pin flow sensor en alto
attachInterrupt(digitalPinToInterrupt(flowsensor),flow, RISING);//Interruptor

lcd.begin(16, 2);//iniciamos la interfaz del lcd


lcd.clear();//limpiamos la pantalla
lcd.setCursor(0,0);// colocamos el cursor en la columna 0 y fila 0
lcd.print("Medidor caudal de agua");//Imprimimos texto
lcd.setCursor(0,1);//colocamoss el cursor en lña columna 0 y fila 1
lcd.print("sensando....");
delay(500);//esperamos medio segundo
currentTime=millis();//obtenemos el tiempo que ha pasado desde que inicio
cloopTime=currentTime;//declaramos una variable
}
void loop ()
{

currentTime=millis();// cada segundo calcula e imprime litro7hora


if(currentTime >= (cloopTime + 1000))
{
cloopTime=currentTime;//Actualiza cloopTime
if(flow_frequency != 0)
{

l_minute = (flow_frequency / 7.5);//(frecuencia de pulso *60)/7.5


lcd.clear();
lcd.setCursor(0,0);
lcd.print("Rango: ");
lcd.print(l_minute);
lcd.print("L/M");
l_minute=l_minute/60;
lcd.setCursor(0,1);
vol= vol+l_minute;
lcd.print("Vol: ");
lcd.print("vol");
lcd.print(" L");
flow_frequency=0; //REset counter
Serial.print(l_minute, DEC);// Print litros/ hora
Serial.println(" L/ sec");
}

else {
Serial.println("Rango de flujo =0 ");
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Rango: ");
lcd.print(flow_frequency);
lcd.print("L/M");
lcd.setCursor(0,1);
lcd.print("Vol: ");
lcd.print("vol");
lcd.print(" L");
}
}
}

7. DISCUSIÓN
La realización de la práctica se basó en diseñar un circuito que me permita controlar el
Volumen del agua a través de un sensor de flujo, para esto se utilizó una placa Arduino, un
sensor de flujo, un potenciómetro, una pantalla entre otros. El circuito consiste medir el volumen
de agua y controlar su caudal, permitiéndonos con el potenciómetro que actué como una válvula.
. Con respecto al montado se tuvo complicación en encontrar el Hex el cual se lo puede obtener
en la carpeta con terminación hex que se da al copilar el código.

8. CONCLUSIONES
 Se logró diseñar un sistema de medición de volumen usando un microcontrolador
(Arduino) el cual nos permitió tener una base de cómo funcionaría un montaje en la vida
real.
 Se diseñó el código necesario para obtener la información del sensor y mostrarla en una
pantalla lcd es de mucha importancia tener las bases de programación e irlo describiendo
para no perderse en las líneas del código.
9. RECOMENDACIONES
 Para la buena realización de la práctica se recomienda tener un ceniciento previo de los
componentes y la programación.

 Observar de manera detenida la conexión de cada componente y llevar su línea de


conexión al lugar indicado ya que una mala conexión puede dañar el circuito o si se lo
emplea en la vida real podría llevar a algo mayor.

10. BIBLIOGRAFIA

Bibliografía
ARDUINO EDUCATION. (s.f.). Arduino.cc. Obtenido de Arduino.cc: https://www.arduino.cc/

EICOS. (1982). Funcionamiento sensor de flujo. Sensor de flujo.

También podría gustarte