Tabla de contenido:
- Paso 1: demostración
- Paso 2: Recursos utilizados
- Paso 3: ¿Por qué medir la presión?
- Paso 4: La familia de sensores de presión MPX
- Paso 5: el MPX5700DP
- Paso 6: para la demostración
- Paso 7: Calibración del ESP ADC
- Paso 8: Calcular la presión
- Paso 9: Montaje
- Paso 10: código fuente
- Paso 11: Archivos
Video: ¡Aprenda aquí sobre un sensor extremadamente importante !: 11 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:43
¿Cómo se puede averiguar el nivel del agua en un tanque de agua? Para monitorear este tipo de cosas, puede usar un sensor de presión. Este es un equipo muy útil para la automatización industrial, en general. Hoy, vamos a hablar sobre esta familia exacta de sensores de presión MPX, específicamente para la medición de presión. Le presentaré el sensor de presión MPX5700 y realizaré un ensamblaje de muestra utilizando el ESP WiFi LoRa 32.
Hoy no usaré la comunicación LoRa en el circuito, ni WiFi ni Bluetooth. Sin embargo, opté por este ESP32 porque ya enseñé en otros videos cómo usar todas las funciones que discuto hoy.
Paso 1: demostración
Paso 2: Recursos utilizados
• Sensor de presión diferencial MPX5700DP
• Potenciómetro de 10k (o potenciómetro)
• Protoboard
• Cables de conexión
• Cable USB
• ESP WiFi LoRa 32
• Compresor de aire (opcional)
Paso 3: ¿Por qué medir la presión?
• Existen numerosas aplicaciones en las que la presión es una variable de control importante.
• Podemos involucrar sistemas de control neumáticos o hidráulicos.
• Instrumentación médica.
• Robótica.
• Control de procesos industriales o medioambientales.
• Medición de nivel en depósitos de líquido o gas.
Paso 4: La familia de sensores de presión MPX
• Son transductores de presión en tensión eléctrica.
• Se basan en un sensor piezo resistivo, donde la compresión se convierte en una variación de la resistencia eléctrica.
• Existen versiones capaces de medir pequeñas diferencias de presión (de 0 a 0.04atm), o grandes variaciones (de 0 a 10atm).
• Aparecen en varios paquetes.
• Pueden medir presión absoluta (relativa al vacío), presión diferencial (la diferencia entre dos presiones, p1 y p2) o manométrica (relativa a la presión atmosférica).
Paso 5: el MPX5700DP
• La serie 5700 cuenta con sensores absolutos, diferenciales y de calibre.
• El MPX5700DP puede medir una presión diferencial de 0 a 700 kPa (aproximadamente 7 atm).
• El voltaje de salida varía de 0.2V a 4.7V.
• Su potencia es de 4,75 V a 5,25 V
Paso 6: para la demostración
• Esta vez, no haremos una aplicación práctica usando este sensor; solo lo montaremos y realizaremos algunas medidas a modo de demostración.
• Para ello, utilizaremos un compresor de aire directo para aplicar presión en la entrada de alta presión (p1) y obtener la diferencia en relación a la presión atmosférica local (p2).
• El MPX5700DP es un sensor unidireccional, lo que significa que mide diferencias positivas donde p1 siempre debe ser mayor o igual que p2.
• p1> p2 y la diferencia será p1 - p2
• Hay sensores diferenciales de dos vías que pueden evaluar diferencias positivas y negativas.
• Aunque es solo una demostración, podríamos usar fácilmente los principios aquí para controlar, por ejemplo, la presión en un depósito de aire, alimentado por este compresor.
Paso 7: Calibración del ESP ADC
• Como sabemos que la conversión analógico-digital de ESP no es completamente lineal y puede variar de un SoC a otro, comencemos por hacer una simple determinación de su comportamiento.
• Utilizando un potenciómetro y un multímetro, mediremos la tensión aplicada al AD y la relacionaremos con el valor indicado.
• Con un sencillo programa para leer el DA y recoger la información en una tabla, pudimos determinar la curva de su comportamiento.
Paso 8: Calcular la presión
• Aunque el fabricante nos proporciona la función con el comportamiento del componente, siempre es recomendable realizar una calibración cuando hablamos de tomar medidas.
• Sin embargo, dado que es solo una demostración, usaremos directamente la función que se encuentra en la hoja de datos. Para ello, lo manipularemos de forma que nos dé la presión en función del valor ADC.
* Recuerde que la fracción del voltaje aplicado al ADC por el voltaje de referencia debe tener el mismo valor que el ADC leído por el ADC total. (Sin tener en cuenta la corrección)
Paso 9: Montaje
• Para conectar el sensor, busque la muesca en uno de sus terminales, que indica el pin 1.
• Contando desde allí:
El pin 1 proporciona salida de señal (de 0 V a 4,7 V)
El pin 2 es la referencia. (GND)
Pin 3 para poder. (Vs)
• Como la salida de la señal es 4.7V, usaremos un divisor de voltaje para que el valor máximo sea equivalente a 3V3. Para ello, realizamos el ajuste con el potenciómetro.
Paso 10: código fuente
Código fuente: #Incluye y #define
// Bibliotecas para utilização do display oLED # include // Necessário apenas para o Arduino 1.6.5 e posterior #include "SSD1306.h" // o mesmo que #include "SSD1306Wire.h" // Os pinos do OLED estão conectado ao ESP32 pelos sigue GPIO's: // OLED_SDA - GPIO4 // OLED_SCL - GPIO15 // OLED_RST - GPIO16 #define SDA 4 #define SCL 15 #define RST 16 // RST deve ser ajustado por software
Fuente: Variables y constantes globales
Pantalla SSD1306 (0x3c, SDA, SCL, RST); // Instanciando y ajustando los pinos del objeto "display" const int amostras = 10000; // número de amostras coletadas para a média const int pin = 13; // pino de leitura const float fator_atm = 0.0098692327; // fator de conversão para atmosferas const float fator_bar = 0.01; // fator de conversão para bar const float fator_kgf_cm2 = 0.0101971621; // fator de conversão kgf / cm2
Código fuente: Configuración ()
configuración vacía () {pinMode (pin, ENTRADA); // pino de leitura analógica Serial.begin (115200); // iniciando una serie // Inicia o display display.init (); display.flipScreenVertically (); // Vira a tela verticalmente}
Código fuente: Loop ()
void loop () {float medidas = 0.0; // variável para manipular as medidas float pressao = 0.0; // variável para armazenar o valor da pressão // inicia a coleta de amostras do ADC for (int i = 0; i
Código fuente: función que calcula la presión en kPa
float calculaPressao (float medida) {// Calcula a pressão com o // valor do AD corrigido pela função corrigeMedida () // Esta função foi escrita de acordo com dados do fabricante // e NÃO LEVA EM CONSIDERAÇÃO OS POSSÍVEIS DESVIOS DO COMPONENTE (erro) return ((corrigeMedida (medida) / 3.3) - 0.04) / 0.0012858; }
- IMÁGENES
Código fuente: función que corrige el valor AD
float corrigeMedida (float x) {/ * Esta função foi obtida através da relação entre a tensão aplicada no AD e valor lido * / return 4.821224180510e-02 + 1.180826610901e-03 * x + -6.640183463236e-07 * x * x + 5.235532597676e-10 * x * x * x + -2.020362975028e-13 * x * x * x * x + 3.809807883001e-17 * x * x * x * x * x + -2.896158699016e-21 * x * x * x * x * x * x; }
Paso 11: Archivos
Descarga los archivos:
INO
Recomendado:
Brújula servo extremadamente básica sin calibrar: 7 pasos
Brújula servo extremadamente básica y sin calibrar: este es solo un instructivo básico para un proyecto en el que estoy trabajando. Este no está calibrado y es un prototipo muy básico hecho para la clase. En un instructable posterior, mostraré cómo calibrarlo. No esperaría mucha grandeza de esto si fuera tú, eso
Una forma extremadamente simple de comenzar con la automatización del hogar usando módulos de bricolaje: 6 pasos
Una forma extremadamente simple de comenzar con la automatización del hogar usando módulos de bricolaje: Me sorprendió gratamente cuando decidí intentar agregar algunos sensores de bricolaje al asistente de hogar. Usar ESPHome es extremadamente simple y en esta publicación, aprenderemos cómo controlar un pin GPIO y también obtener temperatura & datos de humedad de un n
Robot SCARA: ¡Aprendiendo sobre cinemática inversa e inversa! (Plot Twist Aprenda a hacer una interfaz en tiempo real en ARDUINO usando PROCESAMIENTO !!!!): 5 pasos (con imágenes)
Robot SCARA: ¡Aprendiendo sobre cinemática inversa e inversa! (Plot Twist Aprenda a hacer una interfaz en tiempo real en ARDUINO usando PROCESAMIENTO !!!!): Un robot SCARA es una máquina muy popular en el mundo de la industria. El nombre significa Brazo robótico de ensamblaje compatible selectivo o Brazo robótico articulado compatible selectivo. Básicamente es un robot de tres grados de libertad, siendo los dos primeros visualiz
SaQai: teléfono extremadamente asequible: 11 pasos
SaQai: Teléfono extremadamente asequible: Hola, Gracias por interesarse en nuestro proyecto, llamado SaQai (pronunciado Say-Qwah). Nuestro objetivo es ayudarlo a recrear este proyecto y en futuros esfuerzos relacionados con la impresión 3D, la programación y el diseño de hardware. Soy Sam Conklin y soy cu
Sismómetro casero barato extremadamente sensible: 8 pasos (con imágenes)
Sismómetro casero extremadamente sensible y barato: sismómetro Arduino sensible, fácil de construir y económico