Grüße an alle Leser des DIY- oder Do-it-yourself-Bereichs auf Habr! Heute möchte ich über mein nächstes Projekt sprechen. In diesem Artikel geht es um einen batteriebetriebenen Wasserleckdetektor. Wie in früheren Projekten läuft dieses Gerät auf dem Mikrocontroller nRF52832. Es gibt drei Versionen dieses Sensors. In allen drei Versionen werden vorgefertigte Module mit nRF52832 verwendet. In diesem Artikel wird auf die mittlere Version eingegangen, die das YJ-17103-Modul von HOLYIOT verwendet.

Der Flüssigkeitsdetektor ist auf dem Chip SN74LVC1G00 | implementiert
Datashit . Ich werde kurz das Schaltungsdesign und das Funktionsprinzip beschreiben. Die Sensorelektrode Nr. 1 ist mit Masse verbunden, die Sensorelektrode Nr. 2 ist über einen 100-Ohm-Widerstand mit den Beinen A und B des SN74LVC1G00-Chips verbunden, 3,3 V über einen 1-M-Widerstand sind ebenfalls mit dieser Leitung verbunden, und der Schaltung wird ebenfalls eine Kapazität hinzugefügt. Wenn kein Kontakt mit der Flüssigkeit auf den Schenkeln der Mikroschaltung A und B besteht, ist die logische Einheit auf dem Schenkel Y, der mit dem MK-Schenkel verbunden ist (programmgesteuert konfiguriert, um eine Unterbrechung über den eingebauten Komparator zu erkennen), logisch Null. Sobald Kontakt mit der Flüssigkeit auftritt und die Beine A und B niedrig sind, wird auch das Signal am Bein Y des Mikroschaltkreises SN74LVC1G00 invertiert, was zu einer Unterbrechung führt, die wiederum den MK aus dem Schlaf entfernt. In Zukunft kann der Chip SN74LVC1G00 durch den Chip SN74LVC1G14 | ersetzt werden
Datashit und vielleicht auch nicht :). Der Nachweis von Flüssigkeit aus den MK-Beinen durch den eingebauten Komparator ist nicht geplant.
Wie alle meine anderen Projekte ist auch dieses ein Arduino-Projekt und wie alle Projekte des letzten Jahres (ungefähr) wurde dieses auch für das Mysensors-Projekt erstellt. Wie in meinen anderen Artikeln werde ich in diesem Artikel ein wenig auf das Thema Mysensoren eingehen.
Mysensors ist eine Open-Source-Community von Entwicklern. Dieses Protokoll wurde von der Community entwickelt, um Funk- und Kabelnetzwerke zu erstellen. Das Projekt wurde ursprünglich für die Arduino-Plattform entwickelt. Ein Standard-Mysensors-Netzwerk besteht aus einem Gate (Gateway), Retransformatoren und Endgeräten (Knoten). In einem Netzwerk können bis zu 254 Geräte vorhanden sein. Jedes der Geräte kann mit bis zu 254 Sensoren, Sensoren und Betätigungseinheiten ausgestattet sein. Der Netzwerkbetrieb, die Datenverarbeitung, die Skriptausführung und die Interaktion in anderen Geräten werden mit dem UD-Controller ausgeführt. Einige der Controller (Majordomo) unterstützen die Arbeit mit mehreren Netzwerken und Mysensoren (Multi-Gate), sodass es viel mehr Netzwerke geben kann als eines, das von einem Controller gesteuert wird.
Unterstützte Hardwareplattformen : Linux / Raspberry Pi / Orange Pi | ATMega 328P | ESP8266 | ESP32 | nRF5x (Cortex M0, M4) | Atmel SAMD verwendet in Arduino Zero (Cortex M0) | Teensy3 (MK66FX1M0VMD18) | STM32F1.
Unterstützte Funksender: NRF24L01 | RFM69 | RFM95 (LoRa) | nRF5x
Unterstützte drahtgebundene Kommunikationsart : RS485
Unterstützte Kommunikation zwischen Gate und Controller : MQTT | Serielle USB | Wifi | Ethernet | GSM
Zurück zum Lecksensor. Das Gerät wird mit CR2430-, CR2450- oder CR2477-Batterien betrieben. Der Schlafverbrauch beträgt weniger als 3μA. Übertragungsgeschwindigkeit - 250 Kbit / s, 10-15 ms. Der Stromverbrauch zum Zeitpunkt der Übertragung beträgt nicht mehr als 8 mA. Theoretisch entspricht die Batterielebensdauer einer einzelnen Batterie ungefähr der Selbstentladungszeit der Batterie. In der Praxis ist natürlich alles weniger rosig, da der Ladezustand registriert, präsentiert und regelmäßig gesendet wird, so dass die Batterielebensdauer eher dem Wert entspricht - Selbstentladungszeit / 2 :). Die Stromversorgung erfolgt direkt über die Batterie, der Batteriestand wird direkt über den VDD-Pin gesteuert. Im Sensor ist eine RGB-LED installiert, um die Registrierung des Sensors im Netzwerk anzuzeigen, Servicemodi anzuzeigen und die Lecksuche anzuzeigen. Natürlich darf die LED überhaupt nicht oder nur teilweise verwendet werden.
Die Geräteplatine wurde für die weitere Herstellung nach der LUT-Methode hergestellt. Aufgrund der Nuancen dieser Option ist es daher eine größere Breite der Gleise, größere Abstände zwischen den Gleisen, größere Flächen für Zwischenschichtübergänge (zum bequemeren Bohren von Löchern), mangelndes Ausfüllen leerer Flächen aufgrund der kleinen Fläche der Platte. Später wurde eine Option für einen Auftrag in der Produktion gemacht.

Das Gerätegehäuse besteht aus zwei Teilen. Die obere Abdeckung mit Platz für die Montage der Platine und der untere Teil (Bad) mit 2 Löchern für Stahlkontaktschrauben (Abdichtung mit Silikondichtmittel für den Schraubenkopf möglich oder nicht erforderlich) und zwei Rohren für Knöpfe (Reset und Modi) auf der Platine. Der Druck wurde auf einem ANICUBIC PHOTON SLA 3D-Drucker durchgeführt. Nach dem Drucken wurden die Schleifpapiere 320 und 1000 so verarbeitet, dass sie in die Fugen des Deckels und der Unterseite des Körpers passten.


Testcodewl_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
Der nRF52832 ist programmgesteuert für den Betrieb im Energiesparmodus (DC-DC-Modus) konfiguriert. Der MC wird durch ein Signal vom Mikrokreis SN74LVC1G00 über den internen LPCOMP-Komparator aus dem Ruhezustand geweckt. Das Gerät verfügt außerdem über eine Uhrentaste zum Implementieren von Servicemodi, z. B. Gerätekopplung, Zurücksetzen des Geräts usw. Der Knopf ist auf den gleichen MK-Fuß wie der Lecksucher gewickelt. Beide Leitungen sind durch Schottky-Dioden getrennt. Der Chip SN74LVC1G00 im Überwachungsmodus verbraucht nichts. Die Energieverwaltung der Mikroschaltung erfolgt über die Beine des MK.
Derzeit ist die Entwicklung einer Steuerung für Wasserleckagen, mit der diese Sensoren arbeiten sollen, fast abgeschlossen.
Video zeigt den Leckagesensor
Github-Projekt(Gerber-Dateien, Software, Fallmodelle, Komponentenliste)
Ein Ort, an dem Sie immer gerne allen helfen, die sich mit MYSENSORS vertraut machen möchten (Installation von Boards, Arbeit mit nRF5-Mikrocontrollern in der Arduino IDE-Umgebung, Tipps zur Arbeit mit dem mysensors-Protokoll, Erörterung neuer Copyright-Projekte -
Telegramm-Chat @mysensors_rus .