¿Cómo compensar los cambios climáticos en el sensor de presión barométrica (BMP180)?

Estoy usando el sensor de presión barométrica BMP180 en un ascensor durante períodos prolongados (meses seguidos), a continuación se muestra la guía de Sparkfun.

Guía de Sparkfun : “También debe recordar que los cambios de presión debidos al clima afectarán sus lecturas de altitud. La mejor precisión se obtendrá si toma una p0 "nueva" (línea de base/presión de referencia) cuando la necesite y no confíe en que sea precisa durante períodos prolongados debido a cambios en el clima.

¿Cómo puedo obtener una nueva p0 (línea de base/presión de referencia) cuando el elevador está en movimiento continuo?

Debe ser un ascensor divertido si tienes que subir y bajar mientras se mueve. O tal vez en realidad no se está moviendo continuamente....
¿Está utilizando la presión absoluta para medir la posición del ascensor, o simplemente el cambio de presión para medir la posición relativa del ascensor?
@Ecnerwal Gente divirtiéndose en un ascensor continuo (también conocido como Paternoster): video de Youtube .
Estoy usando un BMP180 para una estación meteorológica y, por lo tanto, registro la temperatura y la presión cada pocos minutos desde hace aproximadamente 9 meses, creo. Si desea echar un vistazo a los datos ambientales reales, puedo ponerlos a su disposición. Esto podría ayudar a simular su configuración.

Respuestas (3)

Dos opciones:

  1. Detecta la planta baja y realiza un reinicio en cada llegada.

  2. Instale una segunda unidad en un piso específico y actualice la presión de referencia en el micro elevador, quizás mediante una conexión inalámbrica.

Y ...

  1. Trate de compensar en el software. Si puede detectar la diferencia entre los cambios rápidos de presión debido al movimiento del ascensor y los debidos a la variación atmosférica, puede ajustar en consecuencia cuando el ascensor se detenga (pero consulte las notas de precaución).

  2. Si hay un viaje razonablemente frecuente a los límites superior e inferior, puede volver a calibrar entonces. es decir,

if (p > pmax) { // p is pressure reading. pmax = p; // Must be at top floor. pmin = p - bottom_to_top; // bottom_to_top is the pressure span } if (p < pmin) { pmin = p; // Must be at bottom floor. pmax = p + bottom_to_top; } Tendría que administrar el encendido si el micro no tiene memoria no volátil.

Precaución

Si se trata de un edificio de oficinas con aire acondicionado, es posible que tenga problemas con las presiones variables en los diferentes pisos. Esto puede ser lo suficientemente alto como para 'inundar' las lecturas entre pisos. Una forma de evitar esto puede ser leer solo cuando las puertas del ascensor están cerradas y controlar la presión del hueco del ascensor, pero esto también puede variar debido a la compresión del aire durante el descenso y viceversa.

@user18197: Respuesta actualizada. ¿Puede editar su pregunta para indicar en cuántos pisos funcionará y qué presión barométrica espera en la parte inferior y superior?
gracias por su respuesta, serian alrededor de 70 pisos con cada piso de unos 2.5mts de altura, me gustaria saber la posicion del ascensor en tiempo real. En algunos casos, es posible que el ascensor no llegue a la planta baja durante varias horas para realizar el reinicio. Consulte el ascensor en funcionamiento en shutterstock.com/video/…
Buen video. Con una unidad industrial como esa, debería ser posible agregar un sensor en algún lugar para dar una referencia de paso. Mi lectura de la hoja de datos de su sensor indicó que obtendrá una diferencia de conteo para 0,25 m. ¿Averiguaste cuál es el cambio de presión para 70 pisos? ¿Y cómo se relaciona eso con el rango típico de presiones atmosféricas?
@transistor Su ejemplo de código de recalibración parece defectuoso. ¿Qué se supone que debe hacer y cuándo?
No es defectuoso. ¡Es simplemente incorrecto! He invertido los operadores de comparación. Gracias.

Mida la presión a nivel del suelo y ajuste la lectura del ascensor en consecuencia. A excepción de los eventos de frente de tormenta, la presión cambiará con bastante lentitud, pero puede actualizarse con la frecuencia que necesite. Saludos, Ross

Instale un interruptor para detectar un piso específico, podría ser superior, sótano o cualquiera intermedio. Las opciones de interruptor son interruptor mecánico real, imán y sensor Hall, luz y fotodiodo, las posibilidades son innumerables. Luego tome la presión cada vez que active ese interruptor.

Cómo usa esa lectura para actualizar su referencia es otra cuestión. Simplemente podría usar la lectura como la nueva referencia, o podría promediarla con las últimas (digamos) diez lecturas para reducir el inevitable ruido de lectura.