Hola a todos, hoy hablaré sobre cómo decidí actualizar el sensor de humedad del suelo con Aliexpress. Hace aproximadamente un mes, se compró un sensor de humedad del suelo. Por qué lo compré y no lo sé, probablemente todo por el precio de 40 rublos :)
Después de haber recibido y probado con éxito el sensor (con la ayuda de Arduino Nano), comencé a pensar dónde conectarlo en un sistema basado en Maysensors que ya funciona (que explicaré más adelante). Como el sensor es muy barato, me gustaría encontrar una solución igualmente barata y sin pretensiones.

El circuito del sensor está construido en un chip temporizador TLC555. El regulador de voltaje XC6206P332 (
hoja de datos ) se agrega al circuito a 3.3v, respectivamente, el circuito puede alimentarse desde una fuente de un máximo de 6v. Cuando la tensión de alimentación es inferior a 3,3 V, el estabilizador también proporciona la salida, que recibe en la entrada.
Ya en dos meses, dos módulos de nRF52832 de la compañía EBYTE estaban inactivos: E73-2G4M04S1B. Módulos muy baratos, en términos de precio, todos los demás módulos nRF52 están muy por detrás.

Pero tienen 2 desventajas significativas para mí. El primero y menos importante es el tamaño del módulo. Son bastante grandes. El segundo menos, más importante es la falta de dos elementos pequeños en el circuito debido a que el módulo pierde la mitad de su atractivo. Los elementos que faltan son dos inductores conectados a las patas DCC y DEC4. Esto es malo porque no permite el uso de módulos en modo de baja potencia, 7-8mA VS 15-16mA. No entiendo por qué no comenzaron a ponerlos, la opción "debido a los ahorros" no encaja, ya que el esquema podría ahorrar en otros elementos. En general, agregamos a la lista de deseos la instalación de inductancias y la presencia del modo DC-DC.
Lo siguiente a resolver es la administración de energía del sensor. Dado que nuestro tema es un tema de batería, la energía constante es una mala opción. Lo más simple que suplica de inmediato es el uso de un transistor en modo clave. La elección recayó en el transistor de canal p de campo IRLML6402TRPBF.
Lo siguiente en lo que pensar es en el puerto de programación; bajo SWD y Serial, acabo de hacer pads. Por supuesto, también agregué un micro conector, que uso en otros dispositivos
2x3P | 6pin | 1.27mm | SMT | Pin Header Female , pero esto es ahora una cosa puramente opcional.
También debe agregar un botón de reloj y al menos un LED, para que sea más fácil de entender si funciona o no :).
Lo siguiente a resolver fue cómo conectar el módulo de radio y el sensor capacitivo. No quería usar el enchufe que está instalado en el sensor y los cables del kit. El paso del agujero en el conector de la placa donde se suelda el zócalo es de 2,54 mm, también se muestra una fila de duplicación adicional en la placa. Se decidió usar el "peine" habitual en incrementos de 2.54, y el uso de ambas filas a la vez dará rigidez adicional a la conexión.
Parece ser todo, de los bollos hay varios elementos que pueden dejarse o soldarse para un día lluvioso y un zócalo con un cable (será útil en algún lugar :)).
El tablero, como de costumbre, se hizo en el programa Diptrace. La primera opción fue hecha para LUT, de hecho sobre lo que resultó ser solo el discurso en este artículo. Más tarde, se realizó una variante del tablero para un pedido en la fábrica.

Después de decapado, estañado, corte, perforación y soldadura, es hora de realizar pruebas. En general, no esperaba nada especial del sensor en el módulo de EBYTE, especialmente con algún tipo de medidor de humedad externo con Ali. Pero al final incluso me sorprendieron algunos resultados. El consumo en el modo de transferencia de datos no fue más de 9 mA (para una batería medio descargada), el consumo en el modo de medición no fue más de 5 mA. ¡El consumo en modo de reposo fue de 2.1-2.2 μA!

Total que el sensor puede ahora. Trabaja en modo de baja potencia. Mida y transmita al controlador UD a través de la red Maysensors las lecturas de la humedad del suelo, la temperatura, la carga restante de la batería y la intensidad de la señal de radio.

¿Y qué es Maysensors?
A es una comunidad de código abierto de desarrolladores de software. La comunidad desarrolla este protocolo para crear redes de radio y cableadas. El proyecto fue desarrollado originalmente para la plataforma Arduino.
Plataformas de hardware compatibles: Linux / Raspberry Pi / Orange Pi | ATMega 328P | ESP8266 | ESP32 | nRF5x | 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 admitida entre la puerta y el controlador: MQTT | USB serie | Wifi | Ethernet | GSM
Código del programauint16_t m_s_m; uint16_t m_s_m2; uint16_t m_s_m_calc; boolean flagSendmsm = 0; float celsius = 0.0; uint32_t rawTemperature = 0; uint32_t rawTemperature2 = 0; uint16_t currentBatteryPercent; uint16_t batteryVoltage = 0; uint16_t battery_vcc_min = 2300; uint16_t battery_vcc_max = 3000; int16_t linkQuality;
El software es una prueba natural, que ciertamente agregaría (y agregaré), esto tiene en cuenta el coeficiente de descarga de la batería, aunque utilizo la configuración de voltaje de referencia en el software como una batería externa vdd / 4, pero aún hay poco ruido al medir con diferentes niveles de voltaje. Tampoco está claro si introducir o no el coeficiente de temperatura en los cálculos. No está claro porque todavía no hay estadísticas. Pero, en general, el resultado es resultados muy comprensivos :). El costo de todo lo que debía agregarse al sensor de humedad chino era de alrededor de 400 rublos. No está nada mal.
Proyecto GitHubEse es el tipo de proyección que salió ... mientras que Ala Arduino es un módulo, pero ha proporcionado lugares para el montaje en el caso de antemano, por lo que el caso será más allá. Consume poco, básicamente siempre duerme con un consumo de aproximadamente 2 μA, por lo que las baterías CR2450 deberían durar mucho tiempo.
Un lugar donde siempre estará feliz de ayudar a todos los que quieran familiarizarse con MYSENSORS (instalar tableros, trabajar con microcontroladores nRF5 en el entorno Arduino IDE, consejos para trabajar con el protocolo mysensors, discutir proyectos - telegram chat
@mysensors_rus .