Inhaltsverzeichnis:

Füllstandssensor (mit Ultraschall) - Gunook
Füllstandssensor (mit Ultraschall) - Gunook

Video: Füllstandssensor (mit Ultraschall) - Gunook

Video: Füllstandssensor (mit Ultraschall) - Gunook
Video: Füllstandsanzeige mit berührungslosen Ultraschall- Messungen. 2024, Juli
Anonim
Füllstandssensor (mit Ultraschall)
Füllstandssensor (mit Ultraschall)

Der Flüssigkeitsstandsensor erkennt den Flüssigkeitsstand vom Boden aus. Schaltet den Motor unter einem bestimmten Wert ein (erfordert einen Motortreiberverstärker) und schaltet ihn nach dem Einfüllen der Flüssigkeit über einem bestimmten Wert aus

Merkmale dieses Systems:

  • Funktioniert mit jeder Flüssigkeit (Wasser, Öl usw.).
  • Reichweite bis 250 cm Bodenabstand (auch Höhe des Tanks).
  • Präzise Messung (bis 2 cm Fehler) mit HC-SR04, Ping etc.
  • Ausgang der Motorsteuerung.
  • Kalibrierung (in Runtime) verfügbar für:

    • Bodenniveau: Kann für jeden Tank (bis zu 250 cm Höhe) bei laufendem System mit einem Druckknopf kalibriert werden.
    • EIN- und AUS-Stufen des Motors: Die EIN- und AUS-Stufen können mit den mitgelieferten Voreinstellungen und einer Moduswechseltaste eingestellt werden.
  • Grenzwertanzeige mit '0 cm'.
  • Funktioniert mit 5V DC.

Für den Bau benötigte Teile:

  1. Arduino (oder ATMega 328 mit Programmierer).
  2. HC-SR04 oder jedes gängige Ultraschallsensormodul.
  3. Voreinstellungen (20K oder 10K) - 2 Stück
  4. Stiftleiste - 6 Pin
  5. Buchsenleiste 16 Pin
  6. Push-Click-Mikroschalter
  7. Mikroschalter drücken
  8. 10K 1/4 Watt Widerstand
  9. 1N4007 Diode
  10. DC-Steckdose
  11. 220E Widerstand
  12. Veroboard (oder Breadboard, wenn Sie es vorziehen)
  13. Anschlussdrähte
  14. 16 * 2 LCD-Bildschirm mit Stiftleisten angebracht
  15. Motortreiber und Motor (wenn Sie möchten)
  16. Grundkenntnisse in Elektronik und Arduino

Schritt 1: Schaltplan

Schaltplan
Schaltplan

Schritt 2: Arbeiten

Arbeiten
Arbeiten

In unserer Sensorplatine haben wir Ultraschall-Tx- und -Rx-Teile. Der Sensor misst den Abstand vom Flüssigkeitsspiegel. Der Tx ist im Grunde ein 40-KHz-Lautsprecher, der Impulse von 40-KHz-Ultraschall sendet. Die Impulssendezeit und Impulsempfangszeit wird für jeden Impuls notiert. Diese Impulse werden in der MCU erfasst.

Die MCU merkt sich den Zeitunterschied zwischen und verwendet dann die Schallgeschwindigkeit, um die Entfernung zu berechnen. Die MCU muss vorkalibriert werden, um die Entfernung vom Boden aufzuzeichnen, dh wenn der Tank/Container leer ist. Die Differenz wird berechnet und somit erhalten wir den Füllstand der Flüssigkeit.

Der Füllstand wird im 16x2 LCD-Display angezeigt. Auch andere Details werden auf dem Bildschirm angezeigt.

Es gibt zwei Voreinstellungen für die Maximal- und Minimalwertbegrenzung des Pumpensignalgenerators. Das wird erzeugt, wenn der Flüssigkeitsstand den durch die Voreinstellung eingestellten Höchstwert überschreitet. Das Signal geht wieder auf Low, wenn es unter die durch andere Voreinstellungen festgelegte Mindestgrenze erreicht.

Die Kalibrierung der Bodenentfernung erfolgt über einen Schalter, der ein Signal an den atmega328-Chip sendet und die aktuelle Entfernung aufzeichnet und als Referenzmasse festlegt.

Schritt 3: Programm - Arduino

Das Programm ist in Arduino erstellt. Verwenden Sie dies, um auf Atmega328 (oder nach Ihrem Geschmack) zu brennen.

Programm ist bei git unter GPL-3.0 verfügbar.

Eine kompilierte Hex-Datei wird bereits zum einfachen Hochladen mit arduino-builder bereitgestellt.

Abhängigkeiten:

Neue Bibliothek.

Schritt 4: Kalibrierung und Daten

Der LCD-Bildschirm zeigt den aktuellen Pegel (Differenz) vom kalibrierten Pegel an.

Die beiden Voreinstellungen bestimmen den oberen (max. Pegel), nach dem die Last ausgeschaltet wird, und den unteren (min. Pegel), nach dem die Last eingeschaltet wird. Die hier gemeinte Last ist die Pumpe, da dieses System in einem automatisierten Pumpensystem anwendbar ist. Vier Header sind für Schall-(Ping-)Sensoren. Ich habe HC-SR04 verwendet. Ein Paar Header für Motor (digitaler Pin 9). Erfordert einen externen Pumpentreiber. Es verwendet EEPROM, um Kalibrierungsdaten zu speichern.

Es werden zwei Kalibrierungen bereitgestellt:

  • LEVEL_CAL
  • MOTOR_TRIGGER_CAL

Schritt 5: Pumpensteuerung

Die Platine hat 2 dedizierte Pins für das Pumpsignal

Einer gibt ein 5V-Signal aus, wenn die Pumpe eingeschaltet werden muss (wenn der Flüssigkeitsstand unter den voreingestellten unteren Grenzwert sinkt) und ein 0V-Signal, wenn die Pumpe ausgeschaltet bleiben soll (der Füllstand geht über den oberen Grenzwert).

Das Signal wird an eine Relaisplatine gesendet, um eine Wechselstrompumpe zu steuern.

Empfohlen: