Tabla de contenido:

Cómo leer el sensor de presión diferencial MPX5010 con Arduino: 5 pasos
Cómo leer el sensor de presión diferencial MPX5010 con Arduino: 5 pasos

Video: Cómo leer el sensor de presión diferencial MPX5010 con Arduino: 5 pasos

Video: Cómo leer el sensor de presión diferencial MPX5010 con Arduino: 5 pasos
Video: Sensor PRESIÓN Microcontrolador PIC ⭐️ [MEDICIÓN de NIVEL] Sensor MPX # 050 2024, Noviembre
Anonim
Cómo leer el sensor de presión diferencial MPX5010 con Arduino
Cómo leer el sensor de presión diferencial MPX5010 con Arduino

La forma en que escribí el código es tal que se puede cambiar fácilmente para adaptarse a un sensor de presión diferente. Simplemente cambie las siguientes variables constantes en el código según los valores de la hoja de datos para cualquier sensor de presión:

  • Valor "sensorOffset" en mV
  • valor de "sensibilidad" en mV / mmH2O

Una vez que obtuve este sensor de presión, busqué en línea para tratar de encontrar un código de ejemplo para extraer las lecturas de presión de este sensor en unidades reales de presión, KPa o cmH2O. Encontré un código de muestra para este sensor exacto, después de ejecutarlo noté que las lecturas no coincidían con lo que deberían estar en la hoja de datos, así que decidí escribir mi propio cálculo y mi propio código … parece años pero funciona, ¡¡Viva!! Así que pensé en compartirlo con el mundo para que otras personas no tuvieran que pasar por el mismo dolor.

¡¡Disfrutar!!

Suministros

Necesitarás:

  • Un sensor de presión MPX5010 (por supuesto)
  • Un Arduino, Uno o cualquier otro
  • Un poco de manguera de silicona (para conectar desde el sensor de presión al grifo de presión)
  • Bridas pequeñas (para asegurar la manguera de silicona)
  • Tubo pequeño de latón o plástico de 2 mm (utilicé el tubo de una lata WD40)
  • Un poco de cinta aislante (solo se necesita si su manguera de silicona es demasiado grande para su tubo WD40)

Paso 1: Conecte el circuito

Conectar circuito
Conectar circuito
Conectar circuito
Conectar circuito

Ver imagen de conexión súper fácil

Paso 2: Conecte el sensor de presión

Conecte el sensor de presión
Conecte el sensor de presión
Conecte el sensor de presión
Conecte el sensor de presión
Conecte el sensor de presión
Conecte el sensor de presión
  • Conecte su manguera de silicona al puerto del sensor de presión, use una brida para cables si la necesita para hacer un buen sellado
  • Taladre un orificio de 2 mm en la tubería en la que desea detectar la presión del aire
  • Empuje el tubo WD40 en el orificio, debe quedar bien ajustado. Use un poco de superpegamento para completar el sello.
  • Deslice su manguera de silicona sobre el tubo WD40 (tuve que envolver cinta aislante alrededor del tubo para que encaje). Luego agregue una pequeña brida para cables

Paso 3: Cargar código

Cargar código
Cargar código
Cargar código
Cargar código

Sube mi código a tu Arduino, luego haz clic en el terminal serial para ver los números (el botón con el símbolo de la lupa en la parte superior derecha de la pantalla).

Debería ver el tiempo en milisegundos, luego un ',' luego el valor de presión.

Tiene la opción en el código de calcular el número en kPa o cmH2O, simplemente comente la línea que no necesita.

Agregue un "retraso (500);" si desea ralentizar las lecturas para que sean más fáciles de preparar en el terminal.

La forma en que escribí el código es tal que se puede cambiar fácilmente para adaptarse a un sensor de presión diferente. Simplemente cambie las siguientes variables constantes en el código según los valores de la hoja de datos para cualquier sensor de presión:

  • Valor "sensorOffset" en mV
  • valor de "sensibilidad" en mV / mmH2O

Paso 4: Extraiga los valores del sensor a Excel

Extraiga los valores del sensor a Excel
Extraiga los valores del sensor a Excel
Extraiga los valores del sensor a Excel
Extraiga los valores del sensor a Excel
Extraiga los valores del sensor a Excel
Extraiga los valores del sensor a Excel
Extraiga los valores del sensor a Excel
Extraiga los valores del sensor a Excel
  1. Registre algunas lecturas en su terminal serial Arduino. Debe tener el formato: "tiempo (ms), lectura de presión"
  2. Desenchufe el cable USB
  3. Seleccione todos los valores de su terminal serial y copie
  4. Pégalos en un Bloc de notas
  5. Haga clic en archivo> guardar como
  6. Escriba su nombre de archivo, luego cambie la extensión a ".csv" (muy importante) y guárdelo
  7. Abra su explorador de archivos y debería ver su archivo con el logotipo de Excel (eso significa que ha creado correctamente el archivo.csv)
  8. Haga doble clic en su nuevo archivo.csv y se abrirá en Excel y debería haber ordenado automáticamente sus valores en dos columnas separadas y haber eliminado la coma (¡por eso los archivos.csv son geniales!)

Luego, puede seguir adelante y hacer gráficos de presión a lo largo del tiempo o lo que quiera.

Por cierto: CSV significa "valores separados por comas".

Paso 5: Extra Nerdy Bit

Bit extra nerd
Bit extra nerd
Bit extra nerd
Bit extra nerd

¡Bien hecho por llegar tan lejos! Esto significa que has pasado la prueba de nerd y como recompensa te contaré algunos detalles técnicos.

Así que mencioné al principio un código de muestra que encontré para este sensor exacto que me dio los valores incorrectos. Para verificarlo, usé su ecuación para calcular algunos puntos en el gráfico de respuesta (adjunto) de la hoja de datos y descubrí que estos no coincidían con el gráfico. Así que creé mi propio cálculo y lo crucé con el gráfico en la hoja de datos para demostrar que funciona en teoría, luego registré lecturas de datos con ambos códigos y superpuse los gráficos, que he adjuntado.

En los gráficos adjuntos, la línea azul es el código de ejemplo que encontré y la línea roja es mi código. El problema es razonablemente obvio al mirar el gráfico porque el código de ejemplo web no mide 0 en el ambiente, lo que debería hacer porque estamos midiendo la presión diferencial.

Ok, entonces no será demasiado técnico después de todo, lamento decepcionar, pero espero que lo hayas disfrutado de todos modos:)

Recomendado: