Inhaltsverzeichnis:

Ultraschall-Füllstandsregler - Gunook
Ultraschall-Füllstandsregler - Gunook

Video: Ultraschall-Füllstandsregler - Gunook

Video: Ultraschall-Füllstandsregler - Gunook
Video: Как спрятать данные в ячейках Excel? 2024, Juli
Anonim
Ultraschall-Füllstandsregler
Ultraschall-Füllstandsregler

EinführungWie Sie wahrscheinlich wissen, herrscht im Iran trockenes Wetter und in meinem Land herrscht Wassermangel. Manchmal, besonders im Sommer, sieht man, dass die Regierung das Wasser abschneidet. So verfügen die meisten Wohnungen über einen Wassertank. In unserer Wohnung befindet sich ein 1500-Liter-Tank, der Wasser liefert. Außerdem befinden sich in unserer Wohnung 12 Wohneinheiten. Als Ergebnis ist zu erwarten, dass der Tank sehr bald leer wird. Am Tank ist eine Wasserpumpe angebracht, die Wasser in das Gebäude fördert. Immer wenn der Tank leer ist, arbeitet die Pumpe ohne Wasser. Diese Situation führt zu einem Anstieg der Motortemperatur und kann im Laufe der Zeit zu einem Ausfall der Pumpe führen. Vor einiger Zeit trat dieser Pumpenausfall bei uns zum zweiten Mal auf und nach dem Öffnen des Motors sahen wir, dass Spulendrähte durchgebrannt waren. Nachdem wir die Pumpe ausgetauscht hatten, um dieses Problem wieder zu vermeiden, entschied ich mich, einen Wasserstandsregler zu bauen. Ich hatte vor, einen Stromkreis zu bauen, um die Stromversorgung der Pumpe zu unterbrechen, wenn das Wasser im Tank unter die Untergrenze fiel. Die Pumpe funktioniert nicht, bis das Wasser einen hohen Grenzwert erreicht hat. Nach dem Überschreiten des oberen Grenzwerts wird die Schaltung die Stromversorgung wieder herstellen. Am Anfang habe ich im Internet recherchiert, ob ich eine passende Schaltung finde. Allerdings habe ich nichts passendes gefunden. Es gab einige Arduino-basierte Wasserindikatoren, die mein Problem jedoch nicht lösen konnten. Als Ergebnis entschied ich mich, meinen Wasserstandsregler zu entwickeln. Ein All-in-One-Paket mit einer einfachen grafischen Benutzeroberfläche zum Einstellen von Parametern. Außerdem habe ich versucht, EMV-Standards zu berücksichtigen, um sicherzustellen, dass das Gerät in verschiedenen Situationen gültig funktioniert.

Schritt 1: Prinzip

Prinzip
Prinzip

Das Prinzip kennen Sie wahrscheinlich schon. Wenn das Ultraschallimpulssignal in Richtung eines Objekts emittiert wird, wird es vom Objekt reflektiert und das Echo kehrt zum Sender zurück. Wenn Sie die Zeit berechnen, die der Ultraschallimpuls zurücklegt, können Sie die Entfernung des Objekts ermitteln. In unserem Fall ist der Gegenstand das Wasser.

Beachten Sie, dass Sie beim Ermitteln der Entfernung zum Wasser das Volumen des leeren Raums im Tank berechnen. Um das Wasservolumen zu erhalten, müssen Sie das berechnete Volumen vom Gesamtvolumen des Tanks subtrahieren.

Schritt 2: Sensor, Netzteil und Controller

Sensor, Netzteil und Controller
Sensor, Netzteil und Controller
Sensor, Netzteil und Controller
Sensor, Netzteil und Controller
Sensor, Netzteil und Controller
Sensor, Netzteil und Controller
Sensor, Netzteil und Controller
Sensor, Netzteil und Controller

Hardware

Für den Sensor habe ich den wasserdichten Ultraschallsensor JSN-SR04T verwendet. Die Arbeitsroutine ist wie bei HC-SR04 (Echo und Triggerstift).

Spezifikationen:

  • Abstand: 25cm bis 450 cm
  • Arbeitsspannung: DC 3.0-5.5V
  • Arbeitsstrom: <8mA
  • Genauigkeit: ±1cm
  • Frequenz: 40 kHz
  • Arbeitstemperatur: -20 ~ 70 ℃

Beachten Sie, dass dieser Controller einige Einschränkungen hat. zum Beispiel: 1- JSN-SR04T kann keine Entfernung unter 25 cm messen, daher müssen Sie den Sensor mindestens 25 cm über der Wasseroberfläche installieren. Darüber hinaus beträgt die maximale Entfernungsmessung 4,5 m. Dieser Sensor ist also nicht für große Tanks geeignet. 2- die Genauigkeit beträgt 1CM für diesen Sensor. Dadurch kann die Auflösung des Volumens, das das Gerät anzeigt, basierend auf dem Durchmesser des Tanks variiert werden. 3- Die Schallgeschwindigkeit kann je nach Temperatur variieren. Als Ergebnis kann die Genauigkeit von verschiedenen Regionen beeinflusst werden. Diese Einschränkungen waren für mich jedoch nicht entscheidend und die Genauigkeit war angemessen.

Der Controller

Ich habe STM32F030K6T6 ARM Cortex M0 von STMicroelectronics verwendet. Die Spezifikation dieses Mikrocontrollers finden Sie hier.

Die Stromversorgung

Der erste Teil besteht darin, 220V/50Hz (Iran Electricity) in 12VDC umzuwandeln. Zu diesem Zweck habe ich das HLK-PM12-Buck-Step-Down-Netzteilmodul verwendet. Dieser AC/DC-Wandler kann 90 ~ 264 VAC in 12 VDC mit 0,25 A Ausgangsstrom umwandeln.

Wie Sie wahrscheinlich wissen, kann die induktive Last des Relais mehrere Probleme an der Schaltung und der Stromversorgung verursachen, und Schwierigkeiten bei der Stromversorgung können zu Inkonstanz führen, insbesondere beim Mikrocontroller. Die Lösung besteht darin, Netzteile zu isolieren. Außerdem müssen Sie an den Relaiskontakten eine Snubber-Schaltung verwenden. Es gibt mehrere Methoden, um Netzteile zu isolieren. Sie können beispielsweise einen Transformator mit zwei Ausgängen verwenden. Darüber hinaus gibt es isolierte DC/DC-Wandler in einer winzigen Größe, die den Ausgang vom Eingang isolieren können. Ich habe zu diesem Zweck MINMAX MA03-12S09 verwendet. Es handelt sich um einen 3W DC/DC-Wandler mit Isolierung.

Schritt 3: Der Supervisor-IC

Der Supervisor-IC
Der Supervisor-IC

Laut TI App Hinweis: Ein Spannungsüberwacher (auch als Reset Integrated Circuit [IC] bekannt) ist eine Art Spannungsmonitor, der die Stromversorgung eines Systems überwacht. Spannungsüberwachungen werden häufig mit Prozessoren, Spannungsreglern und Sequenzern verwendet – im Allgemeinen, wenn Spannungs- oder Stromerfassung erforderlich ist. Supervisor überwachen die Spannungsschienen, um sicherzustellen, dass die Stromversorgung eingeschaltet ist, erkennen Fehler und kommunizieren mit eingebetteten Prozessoren, um den Systemzustand sicherzustellen. Diese App-Notiz finden Sie hier. Obwohl STM32-Mikrocontroller über eingebaute Supervisoren wie z. B. den Einschaltmonitor verfügen, habe ich einen externen Supervisor-Chip verwendet, um sicherzustellen, dass alles gut funktioniert. In meinem Fall habe ich TL7705 von TI verwendet. Die Beschreibung für diesen IC finden Sie unten auf der Texas Instruments-Website: Die TL77xxA-Familie von integrierten Schaltungs-Versorgungsspannungs-Überwachern wurde speziell für den Einsatz als Reset-Controller in Mikrocomputer- und Mikroprozessorsystemen entwickelt. Der Versorgungsspannungs-Überwacher überwacht die Versorgung auf Unterspannungszustände am SENSE-Eingang. Beim Einschalten wird der RESET-Ausgang aktiv (low), wenn VCC einen Wert nahe 3,6 V erreicht. An diesem Punkt (vorausgesetzt, dass SENSE über VIT+ liegt) aktiviert die Verzögerungszeitfunktion eine Zeitverzögerung, nach der die Ausgänge RESET und RESET(NOT) inaktiv (High bzw. Low). Tritt während des Normalbetriebs eine Unterspannungsbedingung auf, werden RESET und RESET(NOT) aktiv.

Schritt 4: Die Leiterplatte (PCB)

Die Leiterplatte (PCB)
Die Leiterplatte (PCB)
Die Leiterplatte (PCB)
Die Leiterplatte (PCB)
Die Leiterplatte (PCB)
Die Leiterplatte (PCB)
Die Leiterplatte (PCB)
Die Leiterplatte (PCB)

Ich habe die Platine in zwei Teilen entworfen. Der erste Teil ist die LCD-Platine, die mit einem Flachbandkabel mit dem Mainboard verbunden ist. Der zweite Teil ist die Controller-Platine. Auf dieser Platine habe ich Netzteil, Mikrocontroller, Ultraschallsensor und zugehörige Komponenten platziert. Und auch der Leistungsteil, der Relais-, Varistor- und Snubber-Schaltung ist. Wie Sie wahrscheinlich wissen, können mechanische Relais wie ein Relais, das ich in meinem Stromkreis verwendet habe, abbrechen, wenn sie immer funktionieren. Um dieses Problem zu lösen, habe ich den normalerweise geschlossenen Kontakt (NC) des Relais verwendet. In einer normalen Situation ist das Relais also nicht aktiv und der normalerweise geschlossene Kontakt kann Strom zur Pumpe leiten. Immer wenn das Wasser unter die untere Grenze fällt, schaltet sich das Relais ein und dies unterbricht die Stromversorgung. Dies ist jedoch der Grund, warum ich die Snubber-Schaltung an NC- und COM-Kontakten verwendet habe. In Anbetracht der Tatsache, dass die Pumpe eine hohe Leistung hatte, habe ich das zweite 220-Relais dafür verwendet und ich fahre es mit dem Relais auf der Platine.

Sie können PCB-Dateien wie Altium-PCB-Dateien und Gerber-Dateien von meinem GitHub hier herunterladen.

Schritt 5: Code

Image
Image
Installation am Tank
Installation am Tank

Ich habe die STM32Cube IDE verwendet, eine All-in-One-Lösung für die Codeentwicklung von STMicroelectronics. Es basiert auf Eclipse IDE mit GCC ARM Compiler. Außerdem enthält es STM32CubeMX. Weitere Informationen finden Sie hier. Zuerst schrieb ich einen Code, der unsere Tankspezifikation (Höhe und Durchmesser) enthielt. Ich habe mich jedoch entschieden, es auf GUI zu ändern, um Parameter basierend auf verschiedenen Spezifikationen einzustellen.

Schritt 6: Installation am Tank

Installation am Tank
Installation am Tank
Installation am Tank
Installation am Tank

Am Ende habe ich eine einfache Box dafür gemacht, um die Platine vor Wasser zu schützen. Außerdem habe ich ein Loch auf der Oberseite des Tanks gemacht, um den Sensor darauf zu setzen.

Empfohlen: