Benutzer-Werkzeuge

Webseiten-Werkzeuge


projektesose24:wasola:projektdoku

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
projektesose24:wasola:projektdoku [2024/09/29 18:38]
JonaReiffersberger
projektesose24:wasola:projektdoku [2024/09/29 21:06] (aktuell)
Lasse.Zahnen
Zeile 2: Zeile 2:
 ==== Themenbeschreibung ==== ==== Themenbeschreibung ====
 Unser Roboter soll automatisch Gläser mit gefiltertem Wasser auffüllen. Die Umsetzung dafür ist so einfach wie genial: Man stelle sein leeres Glas auf die dafür vorgesehene Fläche und schon wird das Glas mit frisch gefiltertem Wasser aufgefüllt. Und das geht nicht nur mit einem ausgewählten Glas, sondern mit nahezu beliebigen Gläsern aus jedem Haushalt. Denn das besondere ist, dass es eine Nutzerfreundliche Aufnahme neuer Gläser in das System gibt. Mit dieser Funktion können neue Gläser ausgemessen und durch einmaliges Befüllen abgespeichert werden, sodass ab dann auch das neue Glas eigenständig befüllt wird. Zusätzlich gibt es auch eine Korrekturfunktion,​ die erkennt, wenn es bei der Füllmenge Abweichungen gibt, und zum nächsten Auffüllen die jeweiligen Parameter anpasst. Die Bedienung ist mit nur einem Knopf für alle Funktionen minimalistisch gehalten und gibt einem durch diverse Töne Feedback, wodurch die Nutzung erleichtert ist. Es ist zwar auch möglich, einen manuellen Modus zu aktivieren, wodurch funktionsbezogen ein herkömmlicher Wasserhahn imitiert wird, allerdings setzt Wasola vorrangig auf die automatisierte Nutzung, die daher mit geringster Interaktion ermöglicht wird. Unser Roboter soll automatisch Gläser mit gefiltertem Wasser auffüllen. Die Umsetzung dafür ist so einfach wie genial: Man stelle sein leeres Glas auf die dafür vorgesehene Fläche und schon wird das Glas mit frisch gefiltertem Wasser aufgefüllt. Und das geht nicht nur mit einem ausgewählten Glas, sondern mit nahezu beliebigen Gläsern aus jedem Haushalt. Denn das besondere ist, dass es eine Nutzerfreundliche Aufnahme neuer Gläser in das System gibt. Mit dieser Funktion können neue Gläser ausgemessen und durch einmaliges Befüllen abgespeichert werden, sodass ab dann auch das neue Glas eigenständig befüllt wird. Zusätzlich gibt es auch eine Korrekturfunktion,​ die erkennt, wenn es bei der Füllmenge Abweichungen gibt, und zum nächsten Auffüllen die jeweiligen Parameter anpasst. Die Bedienung ist mit nur einem Knopf für alle Funktionen minimalistisch gehalten und gibt einem durch diverse Töne Feedback, wodurch die Nutzung erleichtert ist. Es ist zwar auch möglich, einen manuellen Modus zu aktivieren, wodurch funktionsbezogen ein herkömmlicher Wasserhahn imitiert wird, allerdings setzt Wasola vorrangig auf die automatisierte Nutzung, die daher mit geringster Interaktion ermöglicht wird.
-==== Umsetzung ====+==== Methoden/Umsetzung==== 
 +=== Überblick ​===
 Für uns gab es unterschiedliche Aufgaben zu lösen. Zunächst mussten wir uns entscheiden,​ wie wir ein Glas erkennen. Hier haben wir uns für eine Waage entschieden,​ die mittels des Gewichts der Gläser erkennt welches Glas abgestellt wurde. Dadruch kann die entsprechende gespeicherte Wassermenge eingefüllt werden. Diese Waage bildet unsere erste Baugruppe. Eine weiteres essenzielles Problem war das Steuern und Messen des Wasserflusses. Dafür haben wir ein Ventil und ein Wasserflusssensor verwendet. Diese Elemente bilden unsere zweite Baugruppe. Die letzte Baugruppe bilden ein Taster und ein Piezo. Diese waren nicht notwendig um die Grundaufgabe zum laufen zu bringen, jedoch für viele Zusatzfunktionen notwendig. Beispielsweise lässt sich mit dem Knopf ein neues Glas speichern oder ein manueller Einfüllmodus aktivieren. Für uns gab es unterschiedliche Aufgaben zu lösen. Zunächst mussten wir uns entscheiden,​ wie wir ein Glas erkennen. Hier haben wir uns für eine Waage entschieden,​ die mittels des Gewichts der Gläser erkennt welches Glas abgestellt wurde. Dadruch kann die entsprechende gespeicherte Wassermenge eingefüllt werden. Diese Waage bildet unsere erste Baugruppe. Eine weiteres essenzielles Problem war das Steuern und Messen des Wasserflusses. Dafür haben wir ein Ventil und ein Wasserflusssensor verwendet. Diese Elemente bilden unsere zweite Baugruppe. Die letzte Baugruppe bilden ein Taster und ein Piezo. Diese waren nicht notwendig um die Grundaufgabe zum laufen zu bringen, jedoch für viele Zusatzfunktionen notwendig. Beispielsweise lässt sich mit dem Knopf ein neues Glas speichern oder ein manueller Einfüllmodus aktivieren.
 <figure Aufbau> <figure Aufbau>
Zeile 9: Zeile 10:
 </​figure>​ </​figure>​
  
-Glas speichern +=== Beschreibung im Detail === 
-Zum Einspeichern eines neuen Glases, stellt man das Glas auf die Fläche. Anschließend hält man den Taster für drei Sekunden gedrückt bis der Piezo für zwei Sekunden einen Ton abgibt. Jetzt lässt man den Taster los. Drückt man den Taster nun erneut und hält ihn gedrückt, so fließt Wasser bis man ihn loslässt. Somit füllt man das Glas erstmals manuell auf. Während dieses Vorgangs werden das leere Gewicht, das volle Gewicht und die Anzahl an Pulsen des Wasserflusssensors im EEPROM gespeichert.+== Glas speichern ​== 
 +Zum Einspeichern eines neuen Glases, stellt man das leere Glas auf die Fläche. Anschließend hält man den Taster für drei Sekunden gedrückt bis der Piezo für zwei Sekunden einen Ton abgibt. Jetzt lässt man den Taster los. Drückt man den Taster nun erneut und hält ihn gedrückt, so fließt Wasser bis man ihn loslässt. Somit füllt man das Glas erstmals manuell auf. Die Menge, die man hierbei einstellt, wird in Zukunft automatisch in das Glas eingefüllt werden. Während dieses Vorgangs werden ​nämlich ​das leere Gewicht, das volle Gewicht und die Anzahl an Pulsen des Wasserflusssensors im EEPROM gespeichert.
  
-Glas erkennen und befüllen +== Glas erkennen und befüllen ​== 
-Hierbei handelt es sich um die Kernfunktion des Roboters. Das aktuelle gemessene Gewicht der Waage wird mit den Gewicht der eingespeicherten Gläser verglichen. Entspricht das Gewicht mit einer Toleranz von 5% einem der Gläser, wird für eine halbe Sekunde überprüft ob das Gewicht konstant bleibt um Fehlmessungen zu verhindern. Bleibt das Gewicht im Toleranzbereich des Glases so öffnet sich das Ventil. Das Ventil schließt sich erst, wenn die beim Speichern des Glases bestimmte Anzahl an Pulsen des Wasserflusssensors erreicht ist. Somit ist der Vorgang des Befüllens abgeschlossen.+Hierbei handelt es sich um die Kernfunktion des Roboters. Das aktuelle gemessene Gewicht der Waage wird mit den Gewicht der eingespeicherten ​leeren ​Gläser verglichen. Entspricht das Gewicht mit einer Toleranz von 5% einem der Gläser, wird für eine halbe Sekunde überprüft ob das Gewicht konstant bleibt um Fehlmessungen zu verhindern. Bleibt das Gewicht im Toleranzbereich des Glases so öffnet sich das Ventil. Das Ventil schließt sich erst, wenn die beim Speichern des Glases bestimmte Anzahl an Pulsen des Wasserflusssensors erreicht ist. Somit ist der Vorgang des Befüllens abgeschlossen.
  
-Manuell Befüllen +== Manuell Befüllen ​== 
-Möchte man ein unbekanntes Gefäß oder nur bis zu einer bestimmten Füllmenge auffüllen, dann drückt man nur kurz auf den Taster, woraufhin ein kurzer Ton zuhören ​ist. Dies aktiviert den manuellen Befüll-Modus. Drückt man nun erneut auf den Taster und hält ihn gedrückt, dann fließt Wasser bis man den Taster loslässt.+Möchte man ein unbekanntes Gefäß oder nur bis zu einer bestimmten Füllmenge auffüllen, dann drückt man nur kurz auf den Taster, woraufhin ein kurzer Ton zu hören ​ist. Dies aktiviert den manuellen Befüll-Modus. Drückt man nun erneut auf den Taster und hält ihn gedrückt, dann fließt Wasser bis man den Taster loslässt. ​Danach wird der Modus wieder zurückgesetzt
  
-Automatische Korrektur+== Automatische Korrektur ​==
 Nach dem automatischen Befüllen eines Glases, wird das Gewicht des vollen Glases gewogen und mit dem beim einspeichern gewogenen Gewicht des vollen Glases verglichen. Weicht dieses Gewicht um mehr als 5 Gramm ab wird die Anzahl der Pulse für die nächsten Male um eins erhöht bzw. verringert. So soll sich das Gewicht über die Zeit immer näher dem Zielgewicht und somit der Zielmenge annähern. Dies ist notwendig da ein Pulse beispielsweise je nach Druck einer an Wassermenge entspricht. Nach dem automatischen Befüllen eines Glases, wird das Gewicht des vollen Glases gewogen und mit dem beim einspeichern gewogenen Gewicht des vollen Glases verglichen. Weicht dieses Gewicht um mehr als 5 Gramm ab wird die Anzahl der Pulse für die nächsten Male um eins erhöht bzw. verringert. So soll sich das Gewicht über die Zeit immer näher dem Zielgewicht und somit der Zielmenge annähern. Dies ist notwendig da ein Pulse beispielsweise je nach Druck einer an Wassermenge entspricht.
  
Zeile 38: Zeile 40:
 ==== Pinanordnung ==== ==== Pinanordnung ====
 ^ Pin  ^ Bauteil ​           ^ ^ Pin  ^ Bauteil ​           ^
-   | Wasserflusssensor ​ | +D2    | Wasserflusssensor ​ | 
-   | Ventil ​            | +D3    | Ventil ​            | 
-   | WaageDT ​           | +D4    | WaageDT ​           | 
-   | WaageSCK ​          | +D5    | WaageSCK ​          | 
-   | Taster ​            | +D6    | Taster ​            | 
-   | Piezo              |+D7    | Piezo              |
  
 ==== Ergebnis und Diskussion ==== ==== Ergebnis und Diskussion ====
 === Endstand des Projekts === === Endstand des Projekts ===
 Der Stand von Wasola zum Zeitpunkt der Abgabe ist wie folgt:\\ Der Stand von Wasola zum Zeitpunkt der Abgabe ist wie folgt:\\
-Alle Grundfunktionen stehen und funktionieren. Das heißt: ​Das hinzufügen neuer Gläser, das automatische Befüllen nachdem ein Glas abgestellt wurde, die Bedienung über den Taster ​und damit auch das manuelle Auffüllen. Auch die Korrekturfunktion funktioniert prinzipiell,​ muss allerdings noch weiter getestet und gegebanenfalls ​angepasst werden.\\ +Alle Grundfunktionen stehen und funktionieren. Das heißt: ​Die Bedienung über den Taster und auch das manuelle Auffüllen funktioniert. Auch das hinzufügen neuer Gläser ​funktioniert reibungslossowohl ​das erreichen des Modus über den Taster, als auch das Speichern der Werte im Arduino. Das automatische Befüllen nachdem ein Glas abgestellt wurde wird genau wie erhofft gestartet ​und greift korrekt auf die gespeicherten Werte zu. Auch die Korrekturfunktion funktioniert prinzipiell,​ muss allerdings noch weiter getestet und gegebenenfalls ​angepasst werden.\\ 
-Was allerdings noch fehlt, ist die Fertigstellung Der 3D-Drucke und damit der Hülle. Zusätzlich wollten wir noch alle Teile miteinander verlöten, anstatt sie auf dem Breadboard zusammenzustecken,​ damit sie kompakter und auch weniger felheranfällig durch hinausrutschen der Kabel etc. sind+Was allerdings noch fehlt, ist die Fertigstellung Der 3D-Drucke und damit der Hülle. Zusätzlich wollten wir noch alle Teile miteinander verlöten, anstatt sie auf dem Breadboard zusammenzustecken,​ damit sie kompakter und auch weniger felheranfällig durch hinausrutschen der Kabel etc. sind.
 === Verbesserungs- oder Erweiterungsmöglichkeiten === === Verbesserungs- oder Erweiterungsmöglichkeiten ===
-Wie bereits erwähnt, fehlt unserem Roboter noch die Hülle, also quasi der Körper. Diesen zu realisieren,​ in Verbindung mit dem Verlöten der Kabel sind die nächsten, wichtigsten Schritte dur komplettierung von "​Wasola"​. Danach sind noch einzelne Kleinigkeiten möglich, einersets die Verschönerung des Codes, sowie einbauen ​einzlener ​Verbesserungen wie besserer Rückmeldung über den Piezo. Außerdem wollen wir wahrscheinlich noch die Korrekturfunktion perfektionieren,​ damit sie so effektiv und präzise wie möglich ist. Wenn während dieser Phasen und voallem in der darauffolgenden Testphase dann noch Verbesserungsmöglichkeiten auffallen wollen wir sie selbstverständlich auch noch in Angriff nehmen, um dann schlussendlich ein möglichst "​glattgebügeltes"​ Endprodukt zu erhalten.+Wie bereits erwähnt, fehlt unserem Roboter noch die Hülle, also quasi der Körper. Diesen zu realisieren,​ in Verbindung mit dem Verlöten der Kabel sind die nächsten, wichtigsten Schritte dur komplettierung von "​Wasola"​. Danach sind noch einzelne Kleinigkeiten möglich, einersets die Verschönerung des Codes, sowie einbauen ​einzelner ​Verbesserungen wie besserer Rückmeldung über den Piezo. Außerdem wollen wir wahrscheinlich noch die Korrekturfunktion perfektionieren,​ damit sie so effektiv und präzise wie möglich ist. Wenn während dieser Phasen und voallem in der darauffolgenden Testphase dann noch Verbesserungsmöglichkeiten auffallen wollen wir sie selbstverständlich auch noch in Angriff nehmen, um dann schlussendlich ein möglichst "​glattgebügeltes"​ Endprodukt zu erhalten. ​Dieses wollen wir dann schlussendlich am dafür vorgesehenen Wasserhahn fest installieren. 
 + 
 +=== Code: === 
 +{{:​projektesose24:​wasola:​wasolacode.zip|}}
projektesose24/wasola/projektdoku.1727627917.txt.gz · Zuletzt geändert: 2024/09/29 18:38 von JonaReiffersberger