El desarrollo de un protocolo inalámbrico ligero

[Texane] reflexionó sobre cómo comprobar el estado de la puerta de su garaje desde un lugar distante. La puerta en sí no rodea ningún tomacorriente, y hay algunos pisos de donde estaría ubicado su servidor en su apartamento. Esto presentó una serie de desafíos de diseño, a saber, el sensor en sí debería tener una conexión inalámbrica al servidor, y ser de baja potencia sería una gran idea. Esto ha llevado al desarrollo de un marco minimalista para la comunicación inalámbrica que permite que un sensor funcione durante semanas sin cambiar la batería.

El protocolo inalámbrico en sí se basa en un simple par clave-valor; cada sensor individual, acoplado a una radio NRF905, tiene una dirección, clave y valor. Hay bonificaciones por sumas de verificación y reconocimiento, pero como dice el PDF, este es un protocolo mínimo.

Con el software fuera del camino, [Texane] se volvió hacia el hardware. El microcontrolador es un clon simple de Arduino, emparejado con una radio y una celda de moneda en una placa pequeña. El micrófono pasa la mayor parte del tiempo en un estado de bajo consumo, con el sensor, en este caso un interruptor, conectado a un pin de interrupción.

Sin embargo, hubo un problema con el consumo de energía de la radio: cuando se transmitió el mensaje corto de 17 bytes, hubo una caída de voltaje significativa. Esto estaba en orden con una batería completamente cargada, pero con una celda de botón parcialmente agotada, la posibilidad de falla era alta. Un gran límite paralelo fue suficiente para compensar esta caída de voltaje.

Todavía es un poco caro para un sistema de control y automatización del hogar todo en uno, pero desarrollar un protocolo inalámbrico funcional y el hardware para él no es una tarea fácil. De hecho, es una gran pieza de equipo. [Texane] sin duda encontrará algunos usos para.

  • Andrés dice:

    Si la pila tipo botón era demasiado pequeña, ¿por qué no utilizar AA alcalinos? El área de la placa en la imagen grita “celdas 4xAA” en un asa de batería de lado a lado. En el artículo hermoso, el área total es aún mayor.

  • Bogdan dice:

    Hace algo bastante malo si la corriente inactiva es 300uA. La radio debe apagar 2.5uA y el micrófono también alrededor de 1u.

    Además, si hay tanto espacio en la caja, ¿por qué molestarse con la celda de botón CR2477, costosa y difícil de encontrar? AA es mucho mejor y más fácil de reemplazar y encontrar.

    • Matias (@TheCodeBenders) dice:

      Proyecto de suministro de energía y estados io probablemente. Salir de los interruptores muy silenciosos puede ser difícil y poner todos los pines en el estado correcto para minimizar la tracción también puede ser difícil.

    • tekkieneet dice:

      Seguramente el LDO (sot23-5 parte en la imagen) en sí mismo en ese “arduino” puede extraer fácilmente 200uA de “corriente de tierra” sin carga en un buen día.

    • salec dice:

      ¿Está el microdibujo alrededor de 1uA solo si todos sus relojes son de CC? Supongo que tiene que dibujar al menos 5-10uA para algún tipo de despertador.

      Un receptor de radio necesita 3,65 ms para deshabilitarse, y luego debe haber un tiempo de espera de dos mensajes para recibir un mensaje inicial bueno, 2 × 135 bits / 50 kbps, o 5,4 ms, o aprox. 9 ms en total.

      Con mis valores elegidos arbitrariamente de 10uA de consumo total durante el sueño y 20mA durante la vigilia (recepción) y 9ms de tiempo de vigilia, para tener un consumo de corriente promedio de 300uA, el tiempo de reposo debe ser un poco más de 600ms, que es un tiempo de respuesta razonable limitante . Si quisiera menos potencia, tendría que aceptar tiempos de respuesta aún más largos.

      • Jaime dice:

        Que yo sepa, el sensor no recibe nada, solo envía cuando sucede algo (por ejemplo, una puerta está abierta). Por lo tanto, su cálculo del “tiempo de respuesta” parece irrelevante y el alto consumo de corriente debe provenir de otra cosa.

        • salec dice:

          Si mal no recuerdo, un protocolo permite que una base inicie la transferencia: anclar nodos y configurarlos con el aire. Es por eso que los nodos tienen que escuchar incluso cuando no pasa nada en sus publicaciones.

    • Bogdan dice:

      @tekkieneet tienes razón, hay un LDO en el tablero que me perdí. Esto podría explicar la corriente, asumiendo que implementó el modo de suspensión correctamente. También podría explicar su reinicio durante el encendido de la radio.

      @salec, atmega328 necesita 0.75uA con 32khz RTC. Pero debería poder despertarse con un cambio de pin sin la necesidad de un RTC / perro guardián.

      Sugerí usar RTC / perro guardián para activar el micrófono periódicamente y enviar “Estoy aquí y la batería está llena” de vez en cuando.

      • salec dice:

        atmega328 necesita 0.75uA con 32khz RTC

        Vaya, está bien :-), me gusta. Obviamente, mis datos son demasiado antiguos (y también lo es mi micro). De hecho, busqué datos sobre el consumo de chips RTC y encontré un sitio web donde encontré el bit 5uA, razoné que un microcontrolador completo debería ser menos económico que un simple RTC especializado, pero … ocurren sorpresas.

        Ah, y mientras escribía esto, verifiqué mejores RTC y encontré uno que baja a 0.4uA, por lo que el razonamiento (siempre puede haber un RTC que puede extraer menos que un MCU) sigue siendo válido hasta que a alguien se le ocurra incluso un mayor ahorro, pero los datos que elegí para la comparación eran incorrectos.

        Sin embargo, el consumo de energía promedio está controlado por el consumo de energía durante un estado de vigilia del nodo, por lo que no cambiaría mucho el análisis, incluso si un bajo consumo de energía fuera cero.

        • Bogdan dice:

          del sitio web: “La potencia se midió hasta 300 uA a aproximadamente 3,1 V en modo pasivo, con la activación durante la interrupción habilitada”, por lo que no es el promedio. Sin embargo, la emisión activa debe ser

          Para dar un ejemplo, digamos que abre / cierra la puerta 1 / hora, esto le da una corriente promedio para una transmisión de 5ms / 3600s * 25mA = 34nA. Entonces no, la corriente de transmisión no controla.

  • Jaime dice:

    Solo una idea dependiendo de cuánto tiempo se abre y se cierra la puerta, colocar un par de interruptores en el lugar correcto permitiría apagar el arduino cuando se abre o se cierra la puerta. Esto solo significaría actualizar el estado al abrir o cerrar la puerta. ¿Sería esto más eficiente o una puesta en marcha de dosis consumiría más energía que un modo de bajo consumo?

  • Pedram Azimaie dice:

    ¿Por qué dormir? simplemente puede conectar un interruptor a un circuito de clic y luego apagar completamente todo el circuito

    • Bogdan dice:

      Si tuviera que hacer esto, tendría que inicializar el radio micro + cada vez que se alterna el interruptor, lo que aumentará su consumo de energía. La suspensión del micrófono también le permite operar un temporizador que podría usar para transmitir periódicamente el estado del circuito, solo para asegurarse de que funciona.

  • Lwatcdr dice:

    Me alegra ver a alguien usar las siguientes partes de 1Ghz para tales cosas. El alcance más largo parece ideal para muchas aplicaciones sensoriales simples. Algo sorprendido de que no eligiera el RF9E5 SOC para eso.

    • Bogdan dice:

      Supongo que el chip arduino / atmel es más atractivo que el 8051 en el SOC.

      • Lwatcdr dice:

        Puedes programar el 8051 en cy tiene una buena cantidad de relámpagos. El tamaño del mensaje es de 17 bytes y el nodo solo informa el nivel de la batería y un solo interruptor. Debería ser bueno en la capacidad del RF9E5. Ahora el NRF905 podría estar disponible en una placa de descarga, por lo que sería mucho más sencillo simplemente armar un prototipo con el Arduino. Diablos, usamos arduinos en mi oficina para probar prototipos de ASIC porque son baratos y fáciles.

        • Bogdan dice:

          Es cierto, pero hay muchos otros problemas notables, como el hecho de que el 8051 no tiene una gran base de usuarios que admitir. Luego herramientas y otros ….

          Revisé algunos de estos SOC hace un tiempo, pero luego me di cuenta de que, para un pasatiempo, es mejor ceñirse a algo que sabía, en mi caso, se trataba de atmega X y rfm12 en ese momento.

          • zingzing dice:

            Esto es bastante ridículo. El 8051 (y variantes, como el AVR, también conocido como arduino, también conocido como el 40 o el 50% del mundo de la piratería de consumidores) son increíblemente populares y hay años de código fuente, proyectos, ejemplos y bibliotecas. En otras palabras, el 8051 es el tiburón de la era legal de todos estos sistemas, y les aseguro que está muy bien respaldado.

            El verdadero defecto aquí es que la energía de la unidad debe ser activada por el cambio de estado de la puerta y luego apagarse en 3-5 segundos. Puede hacer grandes cosas con interruptores de rodillo excesivos o interruptores de proxy magnéticos; solo use más imanes para obtener 3 o 4 pulsos. Utilice el poder para cargar la tapa, use la tapa para alimentar el micro.

            Vi una versión única de esto una vez, alguien arregló una polea en un gran motor paso a paso y accionó una línea alrededor de la polea desde la puerta del granero hasta un contrapeso. Producen excelentes generadores: estaba conectado por un cable telefónico muy largo conectado a un timbre de pieza, y sonaba muy claramente fuerte cuando se abría o cerraba la puerta.

          • No solo dice:

            Me pregunto sobre este SOC del que estás hablando. Estaba buscando SOC para ayudar a reducir el tamaño de un transmisor simple. Pero los suministros de referencia de PDF Nordic muestran las dimensiones de un PCB con este chip y, por alguna razón, es muy grande. No puedo encontrar ejemplos de este chip en una computadora de menos de 3 × 3 cm.

            Sin embargo, el chip es de solo 5×5 mm, por lo que sería genial ver una computadora no más grande que la batería de un reloj …

          • Lwatcdr dice:

            El 8051 ha existido durante mucho tiempo y tiene un gran apoyo. El problema real es que tendrás que crear tu propia placa y usar un programador jtag en lugar de usar un puerto USB o serial como variante femenina.

          • Bogdan dice:

            @NoJustNo Miré los SOC en la banda de 2,4 GHz, puede encontrar placas para nRF51822 de menos de 2×3 cm. Busque la baliza nRF51822. Consulte también CCI1x de TI.

            @zingzing Mi impresión es que 8051 tiene un legado para ser popular en productos, la mayoría de las cosas desarrolladas giran en torno a compiladores caros. Hay poca comunidad que se ocupe de las herramientas gratuitas 8051.
            Este proyecto es muy fácil de lograr con poca potencia. La mayoría de los microcontroladores pueden pasar a un estado de energía extremadamente bajo si los activa solo con un interruptor de clavija (en este caso, el interruptor). Como ya se mostró, el regulador es probablemente el que quema la energía.

          • adfv435tfg dice:

            @Bogdan: Gracias por la información. Eso es muy bueno. Por $ 30 tendré que verlo. ¿Conoce un transmisor con ¿Menos funciones y tamaño más pequeño?

        • zingzing dice:

          No me molestaré en decirte que busques en Google gratis el “código abierto 8051” para ver 90 mil millones de entradas.

          Dado que todas las plataformas que usa están basadas en 8051 de todos modos, supongo que algunos de nosotros (incluido yo mismo) hemos interpretado su comentario desde el lado equivocado del aprendizaje.
          Créelo a la experiencia de “no escocés real” que da el 80% de los comentarios aquí.

          La electrónica analógica de baja potencia (fuentes de alimentación, sensores, etc.) son un maravilloso agujero de conejo. ¡Disfrutar!

          • Bogdan dice:

            Obtengo 400.000 resultados basados ​​en su búsqueda. Reemplace 8051 con avr y obtendrá muchos millones. O con pic, o stm32 o arduino. No es que no haya cosas ahí fuera, solo que son pequeñas comparadas con el resto de las demás. El hecho de que otros núcleos provengan de 8051 no coincide con el compilador.
            Entonces tiene su respuesta sobre por qué un proyecto de hobby sería más apropiado con la microopción favorita + alguna radio en lugar de 8051-SoC.

          • Lwatcdr dice:

            @Bogdan para un prototipo o un pasatiempo, sí, tienes razón. Abrí la posibilidad de usar el nRF9E5 SOC. Las herramientas de desarrollo en realidad se ven bastante bien y parecen una plataforma ideal para pequeños nodos de sensores. Tiene UART, ADC y SPI, por lo que podría ser una interesante plataforma de sensores diminutos para todo tipo de proyectos.

  • michal dice:

    ¿Por qué utilizar pilas? También contamos con sensores de recolección de energía. Para esta aplicación, usaría un sensor táctil EnOcean y un controlador Openremote.

  • Jonathan Whitaker dice:

    ¡Me quedé impresionado cuando escuché que el duende eléctrico puede registrar datos cada minuto, cargarlos cada 15 minutos y durar 1.5 años con dos en baterías! Lo suficientemente loco para un dispositivo WiFi … Sin embargo, eso también es genial 🙂

    • Andrés dice:

      ¿Es usted un cómplice pagado o esas cosas realmente le sorprenden? ¿Y qué es un At-battery de todos modos?

  • notdave dice:

    perdón por la fuente infantil http://www.mysensors.org/build/

  • glamar dice:

    ¿Qué pasa con la energía solar, como con las calculadoras, esperaba que nuestros teléfonos inteligentes usaran el sol solar ahora?

Gloria Vega
Gloria Vega

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *