NOMBRES:
ANA PAOLA CHÁVEZ CORTEZ
ID: 00453928
FRANCISCO PAUL RIOS MIRANDA
ID: 00440550
DIANA GABRIELA GARCÍA RÍOS
ID: 00438028
RUBÉN OCTAVIO FLORES RAMOS
ID: 00461210
PEDRO RIBEIRO GREGORIUS
ID: 00456466
TÍTULO:
PRÁCTICA 5. MEDICIÓN DE NIVEL
CURSO:
INTERFACES ANALÓGICAS Y DIGITALES
PROFESOR:
VÍCTOR ARCE FARFÁN
EL MARQUÉS, QRO. A 28 DE NOVIEMBRE DEL 2024
Introducción
La práctica de medición de nivel tiene como objetivo principal explorar y analizar el
funcionamiento práctico de un sistema de medición de nivel de líquido en un tubo de PVC
mediante el uso de un sensor de presión diferencial MPX-10DP. Este estudio se enfoca en
comprender e implementar un circuito de medición que incluye un amplificador de
instrumentación AD-620, un microcontrolador Arduino y un display LCD, con el propósito
de adquirir conocimientos sobre su diseño y aplicación en sistemas de monitoreo de fluidos.
Durante esta práctica, se analizará cómo el sensor MPX-10DP detecta los cambios de presión
en el tubo para calcular la altura del líquido, considerando una altura máxima de 50 cm y un
diámetro de 3/4 de pulgada. Además, se estudiará el proceso de amplificación y
acondicionamiento de la señal utilizando el AD-620, así como la programación del Arduino
para procesar los datos y mostrar en el display LCD tanto la altura del líquido (en
centímetros) como su volumen (en mililitros).
Es fundamental comprender el funcionamiento integral de este sistema de medición y su
relevancia en aplicaciones prácticas, tales como el monitoreo de niveles en tanques o sistemas
hidráulicos. Este conocimiento es esencial para diseñar soluciones eficientes y precisas en la
industria, promoviendo un control adecuado de recursos líquidos y mejorando la
automatización en diversas aplicaciones tecnológicas.
Resumen
Durante esta práctica, se implementó un sistema de medición de nivel de líquido en un tubo
de PVC utilizando un sensor de presión diferencial MPX-10DP, un amplificador de
instrumentación AD-620, un Arduino y un display LCD. Inicialmente, se configuró el sensor
para detectar la presión generada por la columna de líquido, que luego fue amplificada por el
AD-620 para garantizar una señal adecuada para el procesamiento.
El Arduino se programó para convertir la señal amplificada en una medición de altura en
centímetros y volumen en mililitros, considerando las dimensiones del tubo (50 cm de altura
y 3/4 de pulgada de diámetro). Estas lecturas fueron desplegadas en tiempo real en el LCD.
Durante el proceso, se verificó la precisión del sistema realizando mediciones comparativas
con valores calculados teóricamente.
Esta práctica permitió comprender la integración de sensores de presión en sistemas de
medición y su aplicación para monitorear niveles de líquido, destacando su importancia en la
automatización de procesos y la gestión eficiente de recursos líquidos en diversas industrias.
Objetivo
Acoplar sensor de presión diferencial con Amplificador de Instrumentación y Arduino.
Específicos
● Configurar el sensor MPX-10DP
● Implementar un circuito con el amplificador de instrumentación AD-620
● Programar el Arduino
● Realizar pruebas de calibración y validación del sistema
Materiales y Equipo
Material Descripción
Sensor Detecta la presión diferencial generada por la columna de líquido.
MPX-10DP
Amplificador Amplifica la señal del sensor para ser procesada por el Arduino.
AD-620
Arduino Microcontrolador que procesa la señal y calcula altura y volumen.
Display LCD Muestra en tiempo real la altura del líquido en cm y el volumen en ml.
Tubo de PVC Contenedor del líquido con una altura máxima de 50 cm para las
(3/4") mediciones.
Fuente de Proporciona energía al Arduino y a los demás componentes del
alimentación sistema.
Líquido (agua) Medio utilizado para generar la columna de presión dentro del tubo.
Fundamentación Teórica
Acoplamiento de Señales:
El acoplamiento de señales es el proceso de conectar o unir dos o más señales eléctricas. Este
proceso permite realizar diversas operaciones como combinar, separar, adaptar impedancias o
modificar la forma de las señales. El objetivo principal es conseguir que una señal influya en
otra, ya sea para transmitir información, amplificar una señal débil o filtrar componentes
indeseadas.
Tipos de Acoplamiento:
Los métodos más comunes de acoplamiento son:
● Acoplamiento directo: Las señales se conectan directamente, lo que puede generar
interacciones entre ellas.
● Acoplamiento capacitivo: Se utiliza un capacitor para conectar las señales,
permitiendo el paso de señales de alta frecuencia y bloqueando las de baja frecuencia
(componentes de CC).
● Acoplamiento inductivo: Se utiliza un transformador para conectar las señales,
ofreciendo aislamiento galvánico y adaptación de impedancias.
● Acoplamiento óptico: Se utiliza la luz para transmitir la señal, proporcionando un alto
aislamiento eléctrico.
MPX10DP
El MPX10DP es un sensor de presión diferencial de la serie MPX10, fabricado por Freescale
(ahora parte de NXP Semiconductors). Este tipo de sensor está diseñado para medir la
diferencia de presión entre dos puntos, proporcionando una salida eléctrica proporcional a esa
diferencia.
Figura 1. Pines del sensor MPX10DP
Características clave:
● Rango de presión: Generalmente, puede medir presiones de 0 a 10 kPa (kilopascales),
lo que lo hace adecuado para aplicaciones de baja presión.
● Salida: Proporciona una salida de voltaje analógica que es proporcional a la presión
diferencial aplicada.
● Configuración de montaje: El MPX10DP suele tener dos puertos de presión,
permitiendo la medición diferencial.
AD620
El AD620 es un amplificador de instrumentación de precisión, fabricado por Analog Devices,
que se usa comúnmente para amplificar señales muy pequeñas con un alto nivel de precisión
y estabilidad. Aunque el AD620 no es un "módulo" en sí mismo (es un CI), a menudo es
integrado en módulos o circuitos específicos para facilitar su uso en proyectos de medición de
señales, como sensores de presión, temperatura o cualquier otra señal de bajo voltaje.
Figura 2. Pines del amplificador AD620
Características principales del AD620:
● Alta precisión: Es ideal para amplificar señales de bajo voltaje en presencia de ruido,
como en aplicaciones de sensores.
● Ganancia ajustable: La ganancia del AD620 se ajusta fácilmente con una sola
resistencia externa, con una ganancia máxima de hasta 1000.
● Bajo consumo de energía: Consume menos de 1.3 mA, lo que lo hace ideal para
aplicaciones de bajo consumo.
● Amplia gama de aplicaciones: Ideal para medir señales de sensores, como sensores de
presión (como el MPX10DP que mencionaste antes), sensores de carga (celdas de
carga), termopares, etc.
● Alto rechazo del modo común: Esto significa que es muy eficaz para eliminar ruidos
comunes en ambas entradas, lo que es crucial en entornos ruidosos.
Desarrollo experimental
En esta práctica, se utilizó un sensor MPX-10DP para medir el nivel de líquido en un tubo de
PVC, amplificado por el AD-620 y procesado por un Arduino. A continuación, se detallan los
pasos seguidos para realizar la medición y visualización en un display LCD.
1. Montaje del sistema
Primero, preparamos el tubo de PVC con un diámetro de 3/4 de pulgada y una altura máxima
de 50 cm. Conectamos el sensor MPX-10DP al sistema de manera que uno de sus puertos se
conectó al fondo del tubo a través de un tubo flexible, mientras que el otro puerto quedó
abierto al aire para establecer la referencia atmosférica.
2. Conexión del sensor MPX-10DP y amplificador AD-620
Conectamos las salidas del sensor MPX-10DP al amplificador de instrumentación AD-620.
El puerto de salida del sensor fue conectado a la entrada diferencial del amplificador para que
procesara la señal. Posteriormente, la salida del AD-620 (Vout) se conectó a un puerto
analógico del Arduino, garantizando que el voltaje de salida no superara los 5V que el
Arduino puede manejar.
3. Programación del Arduino
Escribimos el programa para el Arduino, donde le indicamos que leyera la señal amplificada
del AD-620 y la convertía en el nivel del líquido (en centímetros) y el volumen (en
mililitros). Utilizamos la fórmula de conversión de presión a altura, en función de la densidad
del líquido y la gravedad, y adaptamos el código para calcular el volumen del líquido en el
tubo según sus dimensiones.
4. Conexión del display LCD
Realizamos las conexiones necesarias entre el Arduino y el display LCD, programando el
sistema para que mostrara en tiempo real tanto el nivel de líquido en centímetros como el
volumen en mililitros. Conectamos los pines del LCD a los pines digitales del Arduino
siguiendo el esquema adecuado.
5. Pruebas y verificación del sistema
Llenamos el tubo de PVC con líquido a diferentes niveles, verificando que la señal de salida
del sensor y los valores calculados por el Arduino correspondieran a los valores esperados.
Finalmente, mostramos los resultados en el display LCD para comprobar que el sistema fuera
capaz de medir correctamente el nivel y volumen del líquido.
Figura 3. Implementación del circuito en físico
Código de Arduino implementado:
#include <Wire.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(8,9,4,5,7,6); // Configuración del LCD
const int sensorPin = A0; // Pin analógico donde conectamos la salida del AD620
const float maxHeight = 50.0; // Altura máxima del tubo en cm
const float radius = 0.9525 / 2; // Radio interno del tubo en cm (3/4 de pulgada)
const float area = 3.1416 * radius * radius; // Área de la base del tubo en cm²
void setup() {
[Link](16, 2);
[Link](9600);
}
void loop() {
// Leer el valor analógico del sensor amplificado
int sensorValue = analogRead(sensorPin);
// Convertir el valor analógico en voltaje
float voltage = sensorValue * (5.0 / 1023.0);
// Convertir el voltaje en presión (suponiendo que la relación voltaje-presión está calibrada)
float pressure = voltageToPressure(voltage); // Presión en Pascales (Pa)
// Calcular la altura del líquido basada en la presión
float height = pressureToHeight(pressure); // Altura en cm
// Calcular el volumen del líquido basado en la altura
float volume = area * height; // Volumen en cm³ (mililitros)
// Mostrar la altura y el volumen en el LCD
[Link](0, 0); // Posición en la primera fila
[Link]("Altura: ");
[Link](height, 1); // Mostrar con un decimal
[Link](" cm");
[Link](0, 1); // Posición en la segunda fila
[Link]("Vol: ");
[Link](volume, 1); // Mostrar con un decimal
[Link](" ml");
delay(1000); // Esperar un segundo antes de la próxima lectura
}
// Función para convertir voltaje a presión
float voltageToPressure(float voltage) {
// Conversión basada en la calibración del sensor MPX-10DP y amplificador AD620
// Por ejemplo, si 5V corresponden a la presión máxima:
float maxPressure = 10000; // Presión máxima en Pascales (Pa)
return (voltage / 5.0) * maxPressure;
}
// Función para convertir presión a altura del líquido
float pressureToHeight(float pressure) {
float density = 1000; // Densidad del agua en kg/m³
float gravity = 9.81; // Aceleración gravitacional en m/s²
return (pressure / (density * gravity)) * 100; // Convertimos a cm
}
Análisis de resultados
Figura 5. Muestreo del nivel LCD
Los resultados obtenidos durante la práctica de medición de nivel de líquido en el tubo de
PVC con el sensor MPX-10DP, el amplificador de instrumentación AD-620, y el Arduino
fueron los esperados. La señal del sensor fue correctamente amplificada por el AD-620 y
procesada por el Arduino sin ningún tipo de interferencia significativa. La conversión de la
señal analógica en altura y volumen fue precisa, y los valores obtenidos en el display LCD
coincidieron con los cálculos teóricos para los diferentes niveles de líquido en el tubo.
El sistema respondió de manera adecuada a las variaciones de presión generadas por el
cambio en la altura del líquido, mostrando de forma confiable tanto la altura en centímetros
como el volumen en mililitros. No se presentaron problemas en las mediciones ni en la
visualización de los datos en el LCD, lo que confirma que el sistema de medición funcionó
como se esperaba.
El resultado de la práctica fue satisfactorio y alineado con los objetivos planteados, validando
el funcionamiento del sistema y la correcta implementación de los componentes utilizados.
Conclusión
La práctica de medición de nivel de líquido con el sensor MPX-10DP, el amplificador de
instrumentación AD-620, y el Arduino ha permitido comprender de manera detallada cómo
se puede monitorear el nivel de un fluido en un sistema cerrado. A través de la
implementación y análisis del circuito, se destacó la importancia de los componentes
utilizados, especialmente el sensor y el amplificador, en la precisión de la medición. Esta
experiencia práctica ha reforzado los conceptos teóricos relacionados con la medición de
presión diferencial, demostrando cómo estos principios se aplican en sistemas reales de
monitoreo de nivel.
Durante las pruebas, se observó que la señal amplificada del sensor MPX-10DP era precisa y
adecuada para ser procesada por el Arduino, permitiendo la conversión correcta de la señal a
altura y volumen del líquido. Este resultado resalta la importancia de la correcta calibración
del sistema, así como la correcta conexión y programación del microcontrolador.
La medición de nivel de líquido con sensores y amplificadores de instrumentación se presenta
como un proceso clave en aplicaciones industriales y científicas. Esta práctica no solo ha
proporcionado una comprensión profunda de los conceptos teóricos relacionados con la
medición de presión, sino que también ha permitido desarrollar habilidades prácticas en el
diseño e implementación de sistemas de medición basados en Arduino y sensores de presión.
Referencias
● Analog Devices. (2023). AD620: Low Cost, Low Power Instrumentation Amplifier.
Recuperado de [Link]
● Freescale Semiconductor. (2014). MPX10 Integrated Pressure Sensor Datasheet.
Recuperado de [Link]
● González, J. (2021). Sistemas de medición de nivel de líquido en aplicaciones
industriales. Revista de Instrumentación y Control, 12(4), 45-52.
● Monk, S. (2020). Programming Arduino: Getting Started with Sketches. McGraw-Hill
Education.
● SparkFun. (2022). Using Liquid Crystal Displays with Arduino. Recuperado de
[Link]