Detecta el movimiento de una manera muy eficiente en energía

1

Estoy trabajando en un dispositivo que puedo atar a un costoso instrumento electrónico, y cuando alguien lo mueve, el dispositivo lo detecta y envía su posición desde un GPS a un servidor, a través de WiFi, donde la gente puede echar un vistazo. -up en la última ubicación conocida de los instrumentos.

El dispositivo deberá funcionar con una batería, por lo que toda la configuración debe ser lo más eficiente posible.

El chip WiFi que estoy usando es el ESP8266. No es una gran sorpresa, lo sé, pero tiene un rango decente, no consume mucha energía en el modo de suspensión (alrededor de 20 uA si la memoria me funciona bien) y es barata como la madera.

Siguiente reto. Necesito una forma de detectar el movimiento de una manera "lo más baja posible", así que fui a cavar y encontré un par de formas. Hay un tipo de interruptores que pueden detectar movimiento, ya sea haciendo rodar una bola para hacer contacto o moviendo un resorte para hacer contacto ( interruptor de resorte ), pero quiero que sea omnidireccional, por lo que no hay "interruptor de bola rodante", y quiero que sea lo suficientemente sensible para detectar cuándo se mueve el instrumento, y no he podido encontrar un " interruptor de resorte "con suficiente sensibilidad.

También existe la posibilidad de usar un acelerómetro para detectar movimiento, pero eso consume mucha energía. Al menos, eso es lo que creo.

Pero! Encontré un acelerómetro que creo que proporciona una forma de ahorro de energía para activar el ESP8266 cuando se detecta movimiento. El acelerómetro es un MMA7660FC, fabricado por NXP ( Hoja de datos ). En la hoja de datos en la página 13, en "Auto-Despertar / Dormir", interpreto lo que escriben, ya que el acelerómetro puede dormir hasta que se detecta un cambio de dirección y proporciono una señal de interrupción, que puedo usar para activar el ESP8266! p>

Entonces, aquí vienen las dos preguntas que tengo:

  1. ¿Es verdad lo que digo sobre el MMA7660FC? No es la solución ideal debido a la corriente que consumirá, incluso si está durmiendo, pero es mejor tener que cambiar la batería un poco más que tener un proyecto fallido.
  2. ¿Hay alguna forma de detectar movimientos que haya omitido y que sea útil para mi aplicación?

Gracias de antemano :)

    
pregunta Fiskelord

2 respuestas

0
  1. Su suposición sobre el MMA7660FC es correcta. Puede generar una interrupción para su controlador en su "Modo Activo". En esta configuración, el dispositivo dibuja 47 μA.
  2. Una mejor solución sería utilizar este acelerómetro de 3 ejes de ST LIS3DH . Hace exactamente lo mismo, pero en su lugar utiliza 2 μA.

Yo diría que esta es la solución de más bajo consumo de energía para lo que está describiendo. Espero que te ayude.

    
respondido por el Martin
0

Esto no es una respuesta directa a su pregunta, sino una reacción a su declaración:

quiero que sea omnidireccional, por lo que no hay "interruptor de bola rodante"

Esto no tiene sentido. Los interruptores de bola rodante son omnidireccionales. Su orientación no importa. Cuando cambie su orientación o estén marcados, el estado del interruptor cambiará.

El cambio de estado del interruptor se puede utilizar para activar un microcontrolador. O bien, el micro puede despertarse periódicamente, activar la activación del interruptor, probar el interruptor y luego volver a dormir si no hay cambios. Despertar cada 50 ms aproximadamente durante unos pocos µs a la vez sigue siendo un consumo de corriente promedio muy bajo.

    
respondido por el Olin Lathrop

Lea otras preguntas en las etiquetas