¡Saludos a todos los lectores de la sección de bricolaje o bricolaje en Habr! Hoy quiero hablar sobre mi próximo proyecto, este artículo tratará sobre un detector de fugas de agua alimentado por batería. Como en proyectos anteriores, este dispositivo se ejecuta en el microcontrolador nRF52832. Hay tres versiones de este sensor, en las tres versiones se utilizan módulos prefabricados con nRF52832, en este artículo hablaremos sobre la versión intermedia que utiliza el módulo YJ-17103 de HOLYIOT.

El detector de fluido se implementa en el chip SN74LVC1G00 |
Datashit Describa brevemente el diseño del circuito y el principio de funcionamiento. El electrodo del sensor n. ° 1 está conectado a tierra, el electrodo del sensor n. ° 2 está conectado a las patas A y B del microcircuito SN74LVC1G00 a través de una resistencia de 100 ohmios, 3.3V a través de una resistencia de 1M también está conectado a esta línea, también se agrega una capacitancia al circuito. Cuando no hay contacto con el líquido en las patas del microcircuito A y B, la unidad lógica, respectivamente, en la pata Y conectada a la pata MK (configurada programáticamente para detectar la interrupción a través del comparador incorporado) es el cero lógico. Tan pronto como se produce el contacto con el líquido y las patas A y B están bajas, la señal en la pata Y del microcircuito SN74LVC1G00 también se invierte, lo que provocará una interrupción, lo que a su vez eliminará la MK del sueño. En el futuro, el chip SN74LVC1G00 puede ser reemplazado por el chip SN74LVC1G14 |
Datashit , y tal vez no :). La detección de fluido de las patas MK a través del comparador incorporado no está planificada.
Al igual que todos mis otros proyectos, este también es un proyecto Arduino y, como todos los proyectos durante el año pasado (aproximadamente), este también se ha realizado para el proyecto Mysensors. Como en mis otros artículos, tocaré un poco el tema de Mysensors en este artículo.
Mysensors es una comunidad de desarrolladores de código abierto. La comunidad desarrolla este protocolo para crear redes de radio y cableadas. El proyecto fue desarrollado originalmente para la plataforma Arduino. Una red Mysensors estándar consta de una puerta (puerta de enlace), retransformadores y dispositivos finales (nodos). En una red puede haber hasta 254 dispositivos, cada uno de los dispositivos puede estar equipado con hasta 254 sensores, sensores, unidades de accionamiento. La operación de la red, el procesamiento de datos, la ejecución del script y la interacción en otros dispositivos se llevan a cabo utilizando el controlador UD. Algunos de los controladores (Majordomo) admiten trabajar con varias redes y Mysensors (multi-gate), respectivamente, puede haber muchas más redes que una controlada por un controlador.
Plataformas de hardware compatibles : Linux / Raspberry Pi / Orange Pi | ATMega 328P | ESP8266 | ESP32 | nRF5x (Cortex M0, M4) | Atmel SAMD utilizado en Arduino Zero (Cortex M0) | Teensy3 (MK66FX1M0VMD18) | STM32F1.
Transmisores de radio compatibles : NRF24L01 | RFM69 | RFM95 (LoRa) | nRF5x
Tipo de comunicación por cable compatible : RS485
Comunicación soportada entre la puerta y el controlador : MQTT | USB serie | Wifi | Ethernet | GSM
De vuelta al sensor de fugas. El dispositivo funciona con baterías CR2430, CR2450 o CR2477. El consumo de sueño es inferior a 3 μA. Velocidad de transmisión: 250 Kbps, 10-15 ms. El consumo de energía en el momento de la transmisión no es más de 8 mA. Teóricamente, la duración de la batería en una sola batería es aproximadamente igual al tiempo de autodescarga de la batería. En la práctica, por supuesto, todo es menos optimista, ya que hay un registro, presentación, envío periódico del nivel de carga, de modo que la duración de la batería está más cerca del valor: tiempo de autodescarga / 2 :). La energía se suministra directamente desde la batería, el nivel de la batería se controla directamente desde el pin VDD. Se instala un LED RGB en el sensor para indicar el registro del sensor en la red, para indicar los modos de servicio y para indicar la detección de fugas. Naturalmente, el LED puede no usarse en absoluto o usarse parcialmente.
La placa del dispositivo se fabricó para su posterior fabricación de acuerdo con el método LUT. Por lo tanto, a partir de los matices de esta opción, es un mayor ancho de las pistas, mayores distancias entre las pistas, mayores áreas para transiciones entre capas (para una perforación más conveniente de los agujeros) y la ausencia de relleno en áreas vacías debido al área pequeña del tablero. Más tarde, se hizo una opción para un pedido en producción.

La carcasa del dispositivo fue diseñada en dos partes. La cubierta superior con lugares para montar el tablero y la parte inferior (baño) con 2 orificios para tornillos de contacto de acero (el sellado es posible con sellador de silicona para la cabeza del tornillo o no es necesario) y dos tubos para botones (restablecimiento y modos) en el tablero. La impresión se realizó en una impresora ANICUBIC PHOTON SLA 3D. Después de la impresión, se procesaron papel de lija 320 y 1000 para adaptarse a las juntas de la tapa y la parte inferior del cuerpo.


Código de pruebawl_standart_test.ino
bool button_flag; bool send_flag; bool detection; bool nosleep; byte timer; bool AckG; bool AckB; bool AckL; bool PRESENT_ACK; bool flag_lq; unsigned long SLEEP_TIME = 172800000;
MyBoardNRF5.h
#ifndef _MYBOARDNRF5_H_ #define _MYBOARDNRF5_H_ #ifdef __cplusplus extern "C" { #endif
El nRF52832 está configurado mediante programación para funcionar en modo de baja potencia (modo DC-DC). El MC se despierta del modo inactivo mediante una señal del microcircuito SN74LVC1G00 a través del comparador interno LPCOMP. El dispositivo también tiene un botón de reloj para implementar modos de servicio, como emparejamiento de dispositivos, restablecimiento del dispositivo, etc. El botón está enrollado en el mismo pie MK que el detector de fugas. Ambas líneas están separadas por diodos Schottky. El chip SN74LVC1G00 en modo de monitoreo no consume nada. La administración de energía del microcircuito se lleva a cabo desde las patas del MK.
Por el momento, el desarrollo de un controlador para fugas de agua con el que deberían funcionar estos sensores está casi terminado.
Video que muestra el sensor de fugas
Proyecto Github(archivos gerber, software, modelos de casos, lista de componentes)
Un lugar donde siempre estará feliz de ayudar a todos los que quieran familiarizarse con MYSENSORS (instalar placas, trabajar con microcontroladores nRF5 en el entorno Arduino IDE, consejos para trabajar con el protocolo mysensors, discutir nuevos proyectos de derechos de autor -
telegram chat @mysensors_rus .