Wasstertank Projekt – von der Idee bis zur fertigen Leiterplatte

Projektübersicht

Bei diesem Projekt möchte ich einen Wassertank automatisieren und Rückmeldung über die Wassertemperatur (DS18B20 Sensor) und den Füllstand mittels Ultraschallsensor (HC-SR04) erhalten.

Der Tank kann vom eigenen Brunnen befüllt werden oder alternativ von Stadtwasser. Die Wasserversorgung zum Haus erfolgt standardmässig vom Tank und der Druckpumpe, aber bei Stromausfall oder einem Problem im System, kann über die Stadtwasserleitung das Haus mit Wasser versorg werden. Bei Stromausfall soll diese Umschaltung automatisch erfolgen.

Zur Datenübertragung verwende ich MQTT über das Add-on Mosquitto, dass auf dem Home Assistant Server läuft. 

zum vergrössern auf das Bild klicken!       Download PDF Version 

Die Steuerung der Magnetventile

Wir haben drei Magnetventile wobei das Mittlere, dass für die Stadtwasserversorgung verwendet, wird ein NO-Typ (normaly open) ist, dass sich öffnet wenn keine Spannung anliegt. Die beiden anderen sind vom Typ NC (normale closed).

Zusätzlich sind noch Handventile installiert und ein Wasserfilter. Die beiden Magnetventile für die Versorgung über das Stadtwasser und dem Tank sind gegenseitig verriegelt. 

Geschalten werden die 12 Volt Ventile über Relais die von einem Wemos d1 mini gesteuert werden. Eine Übersicht wie das Projekt angeschlossen wird seht ihr auf der Fritzing Zeichnung im PDF file. 

Die eigene Leiterplatte

Um den ganzen Projekt noch einen Feinschliff zu geben, habe ich eine Leiterplatte erstellt. Dafür ist es nötig, zuerst ein Schema über den Aufbau der Schaltung zu zeichen, und aus diesem kann eine Leiterplatte erstellt werden. 

Material der Schaltung: BOM

Hier findet ihr eine Auflistung der verwendeten Teile für das Projekt.

YAML - Home Assistant

				
					
mqtt:
  sensor:
   - state_topic: "waterTemp"
     unique_id: "Water_Temp"
     name: "Water Temperatur"
   - state_topic: "waterAmountLiter"
     unique_id: "Tank_Liter"
     name: "Tank volume in Liter"
   - state_topic: "waterAmountPercent"
     unique_id: "Tank_VolumePercent"
     name: "Tank volume in Percent"
   - state_topic: "tankFillLevel"
     unique_id: "Tank_FillLevel"
     name: "Tank Level Empty distance"
  binary_sensor:
    - state_topic: motionsensor
      name: "Motion Sensor"
  valve:
    - state_topic: "waterValve1Status"
      command_topic: "waterValve1"
      state_closed: "state_closed"
      state_open: "state_open"
      name: "Fill Tank with Citywater"
      unique_id: "FillTankCityWater"
      retain: true
    - state_topic: "waterValve2Status"
      command_topic: "waterValve2"
      state_closed: "state_closed"
      state_open: "state_open"
      name: "Citywater supply OFF"
      unique_id: "CityWater"
      retain: true
    - state_topic: "waterValve3Status"
      command_topic: "waterValve3"
      state_closed: "state_closed"
      state_open: "state_open"
      name: "Tankwater supply"
      unique_id: "TankWater"
      retain: true
				
			

Der Sketch auf Github

Zum Video

★☆★ Wenn ihr den Kanal unterstützen wollt über ★☆★

oder über

Twint Spenden Code