Wie funktioniert die Saufmaschine?

Bauteile

Die Saufmaschine besteht aus einigen Hauptkomponenten, die essentiell für die Funktion sind. Die folgenden Komponenten wurden verwendet:

  • Magnetventile: Diese Ventile können über eine Spannung in der Höhe von 12V gesteuert werden. Dabei wurden in diesem Projekt NO Ventile verbaut. „NO“ bedeutet „normalerweise offen“. Somit schließen sich die Ventile, wenn die Spannung anliegt. Der Grund für meine Wahl ist, dass man trotz Stromverlust wegen eines leeren Akkus oder vergleichbaren Störungen die Saufmaschine weiterverwendet kann. Jedoch ist die Funktion des Webservers nicht mehr gegeben.
  • Dioden: Die Magnetventile beinhalten eine Spule. Diese Spule baut ein magnetisches Feld auf und öffnet beziehungsweise schließt das Ventil. Sobald die Stromversorgung aber durch Ausschalten oder anderem unterbrochen wird, kann es aufgrund der Beziehung aus Strom und Spannung zur Zerstörung von anderen Bauteilen kommen. Um dies zu vermeiden, werden Dioden oder Freilaufdioden eingebaut. Somit besteht diese Gefahr bei der Maschine nicht.
  • Durchflusssensoren: Die Sensoren messen die durchgeflossene Menge und geben die Daten an den Mikrocontroller (ESP32) weiter. Aus diesem Grund können Daten und in weiterer Folge die Gewinner ermittelt werden.
  • Relais: Ein Relais ist eine Schalteinrichtung, mit der große Ströme geschalten werden können. Diese werden verwendet, um die Magnetventile über den Webserver, parallel zu den Hardware LED-Taster zu steuern.
  • Mikrocontroller: Es wird der Mikrocontroller ESP32 von der Firma „Espressif“ verwendet, um die Daten auszulesen, zu verarbeiten und am Webserver darzustellen.
  • OLED-Display: Das Display ist 1.3″ groß und auf diesem werden die Daten live dargestellt.

Aus diesen Bauteilen setzt sich die Saufmaschine zusammen. Dabei war mir immer wichtig alles steuern zu können. Aus diesem Grund wurden auch Magnetventile für eine elektrische Ansteuerung verwendet. Dies bietet eine höhere Komfortabilität gegenüber manuellen Ventilen.

Im linken Bild kann man die Magnetventile und Durchflusssensoren erkennen. Im rechten ist der gesamte Aufbau der Saufmaschine dargestellt.

Funktion

Wie in nahezu jedem Projekt gibt es ein Bauteil/Komponente, die unerlässlich ist. In unserem Fall ist dies der Mikrocontroller. Dieser kann alle Bauteile in der Saufmaschine steuern. Des weiteren stellt dieser Controller einen Webserver zur Verfügung. Folgend ist ein kurzer Code-Ausschnitt der „Loop“-Funktion der Saufmaschine dargestellt. Der Code wird in der Programmiersprache „C“ geschrieben.

void loop(){
  game1();
  //Serial.println(ventil1State);
  if (ventil1State == "on"){
    digitalWrite(SWITCH1,HIGH);
  }else{
    digitalWrite(SWITCH1,LOW);
  }

  if (ventil2State == "on"){
    digitalWrite(SWITCH2,HIGH);
  }else{
    digitalWrite(SWITCH2,LOW);
  }

  if (ventil3State == "on"){
    digitalWrite(SWITCH3,HIGH);
  }else{
    digitalWrite(SWITCH3,LOW);
  }
  
  //Reset Button
  if(resetstate == "on"){
    value = 1;
    ventil1State = "on";
    ventil2State = "on";
    ventil3State = "on";
    digitalWrite(SWITCH1,HIGH);
    digitalWrite(SWITCH2,HIGH);
    digitalWrite(SWITCH3,HIGH);
  }else if(resetstate == "off" && ventReset == "on"){
    value = 0;
    digitalWrite(SWITCH1,LOW);
    digitalWrite(SWITCH2,LOW);
    digitalWrite(SWITCH3,LOW);
    ventReset = "off";
  }
  if(resetstate == "off"){
    value = digitalRead(resetPin);
    //Serial.println(value);
    pinMode(resetPin, INPUT);
  }

  if(value == 1){
  reset();
  }
  
  flowMeasure();
  displayFlow();
}