Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

projektewise18:getraenkemixerpublic:start

Mixxxery--Projektdokumentation

Einführung

Unser Roboter kann Getränke mixen. Wenn kein Glas vorhanden ist, fängt der Roboter garnicht erst mit dem Prozess an. Ist ein Glas voll erkennt der Roboter dies und füllt somit nicht weiter ein. Der Roboter ist auch in der Lage relativ präzise Mengen der Zutaten, in verschiedenen Mischverhältnissen, abzufüllen. Er spricht sogar mit uns um den Auswahlprozess zu beschleunigen bzw. zu erleichtern. In der Theorie kann man basierend auf dem momentanen Modell unendlich viele Tanks für Getränke hinzuzufügen und dies mit recht wenig Arbeit.
Ein ähnliches Projekt wurde bereits im Wintersemester 17/18 gemacht:
http://www.mintgruen.tu-berlin.de/robotikWiki/doku.php?id=projektewise1718:barkeeperpublic:start

Aufbau














Im groben kann man den Roboter in vier Abschnitte unterteilen:

1. Die Elektrik mit Arduino

Der Arduino ist das Herz des ganzen Roboter, er steuert alle Teile die für die Funktionsweise des Roboters wichtig sind und sorgt dafür, dass alle miteinander harmonieren. An ihm sind ein Infrarotsensor, ein Ultraschallsensor, drei Mosfets mit je einem Magnetventil, eine Reihe von 5 Knöpfen und ein Emic 2 angebracht. Zudem ist eine Stromquelle angeschlossen, um den Roboter mit genügend Strom zu versorgen.

2. Die Magnetventile

Die drei Magnetventile, welche durch Mosfets an dem Arduino verbunden sind und dann entweder geöffnet ein Getränk einfüllen oder geschlossen nichts machen.

3. Die Sensorik

Die Sensorik bestehend aus einem Infrarotsensor und einem Ultraschallsensor ist dafür da zu erkennen ob ein Glas vorhanden ist und wie voll dieses ist, damit kein überlaufen des Glases oder auslaufen bzw. danebenlaufen passieren kann.

4. Das Interface

Irgendwie muss man auch die Getränke und das Mischverhältnis auswählen können. Hier kommt das Interface ins Spiel, welches bisher aus fünf einfachen Knöpfen besteht.


Systembestandteile

Der Rahmen

Die erste Herausforderung war bereits geschaffen als wir nur an die Idee des Mixxxery dachten. Wir brauchten einen großen und stabilen Rahmen, welcher es ermöglicht, die schweren Flaschen zu halten und ohne viel Aufwand nachzufüllen. Außerdem musste er groß genug sein, um mehrere große Flaschen gleichzeitig zu halten, damit man nicht zu oft diese nachfüllen muss und nicht zu letzt darf die Technik natürlich nicht nass werden, was sich später als schwierig herausstellte.
Damit der Rahmen diese Anforderungen erfüllt haben wir das Grundgerüst aus Holz, welches wir wie bei einem Tisch in einem großen Würfel aufgebaut haben, gebaut und mit Platten in drei verschiedene Ebenen unterteilt. In der obersten Zwischenebene befinden sich die Flaschen. Diese sind an einer Platte über ihnen befestigt. Durch die breite Öffnung und den auf drehbaren Deckeln der Flaschen, lassen sich die Flaschen ohne etwas zu verschütten und ohne andere Schwierigkeiten z.B. mit Hilfe eines Trichters befüllen. Zudem lassen sich die Flaschen leicht austauschen.
In der mittleren Zwischenebene wurde die Technik mit dem Arduino und den Magnetventilen untergebracht, so dass diese durch eine Platte zu den Flaschen getrennt und somit vor möglichen Wasserschäden geschützt sind, falls eine Flasche undicht sein sollte.
in der unteren Ebene befinden sich die Sensoren und die Schlauchöffnungen der Getränke.









Flaschenbefestigung

Der Verschluss

Der Verschluss ist eine Mischung aus Schläuchen und Magnetventilen, die den Durchfluss aus den Flaschen kontrollieren. Die Schläuche sind durch ein Loch unten an den Flaschen angebracht und verlaufen direkt zu den Ventilen. Weitere Schläuche verlaufen dann direkt bis über das Glas. Allgemein verlaufen die Schläuche vertikal, damit die Flüssigkeiten gut fließen. Die Magnetventile werden von dem Arduino gesteuert und lassen, sobald sie geöffnet wurden, Flüssigkeiten durchlaufen. Es war wichtig die Ventile mit Mosfets zu verbinden, damit die Ventile genug Strom haben um offen zu bleiben.

Die Sensoren

Der Ultraschallsensor befindet sich direkt über dem Glas. Er misst dauerhaft den Abstand zur Füllhöhe des Glases und übermittelt den Wert an den Arduino.
Der Infrarotsensor ist neben dem Glas angebracht und misst den Abstand zum Glas bzw. zur nächsten Wand des Roboters. Falls die Werte zu groß sind heißt das, dass kein Glas bereitsteht. Die Werte werden auch ständig an den Arduino übermittelt.
Wenn das Glas voll ist oder kein Glas vorhanden ist, schließt der Arduino die Magnetventile.

Das Interface + Sprachausgabe

Das Interface besteht aus fünf Knöpfen. Zwei sind für die Mischverhältnisse 50:50 und 70:30 da. Die drei anderen für jeweils ein Getränk. Man kann ein Mischverhältnis und zwei Getränke auswählen. Die Signale werden dann an den Arduino gesendet und dieser öffnet dann die jeweiligen Ventile für eine bestimmte Zeit.
Zwischen der Auswahl erfolgt eine Sprachausgabe, wofür wir einen Emic 2 verwendet haben. Dieser wandelt einfach gesagt Text in Sprache um. Er erlaubt einen auch dafür einen Lautsprecher anzuschließen.

Der Code

Der Code und der Arduino bilden zusammen das wichtigste Element des Roboters. Der Arduino steuert alle elektrischen Bauteile über seine Pins an. Schwierig war es alle Bauteile richtig, übersichtlich und effizient an der Steckplatine bzw. am Arduino anzuschließen. Auf dem Arduino ist der Code gespeichert, der diese Steuerung regelt. Wichtig war eine ständige Abfrage der beiden Sensoren in den Code einzubauen, so dass die Ventile im Notfall rechtzeitig geschlossen werden. Neben dieser ständigen Abfrage wartet der Code auf die Rückmeldung, dass ein Mischverhältnis-Knopf gedrückt wurde. Dann erfolgt eine Sprachausgabe. Den Code dafür haben wir vorgegeben bekommen, da er sonst zu schwer zu programmieren wäre. Sobald die Getränke-Knöpfe gedrückt wurden und eine weitere Sprachausgabe erfolgt ist, werden die Ventile angesteuert und geöffnet. Zum Schluss erfolgt wieder eine Sprachausgabe. Schon bei einem kleinen Fehler im Code oder falschen Verbindung auf der Steckplatine funktioniert der Roboter nicht oder tut was er möchte, daher war das die schwierigste Aufgabe beim Bau des Roboters.

(CODE)

Materialien

Wir haben folgende Bauteile verwendet:

  • 1x Arduino Nano
  • 2x Steckplatinen
  • 3x Magnetventile
  • 1x Ultraschallsensor
  • 1x Infrarotsensor
  • 3x Mosfets
  • 1x Emic 2
  • 6x Schläuche
  • 5x Knöpfe


Ergebnis und Diskussion

Endstand des Projekts

Nach nun einem Semester ist unser Projekt zu Ende. Rückblickend betrachtet haben wir das umsetzten können was wir uns am Anfang vorgenommen hatten.
Das Zusammenspiel von Hardware und Software haben wir oft während des ganzen Entwicklungprozesses getestet.

Der Mixxxery-Roboter funktioniert meist fehlerfrei. Er gibt dem Benutzer über den Lautsprecher Anweisungen, reagiert darauf wenn die Knöpfe gedrückt werden, mischt die Getränke und stoppt das eingießen, sobald das Glas voll oder kein Glas vorhanden ist.
Wenn er es nicht geschafft hat, lag es meistens daran, dass ein Kabel lose war oder ein Mosfet sich mit einem Widerstand berührt hatte. In solchen Fällen hat der Roboter zweimal das selbe Getränk eingegossen (wie hier im Video) oder hat ohne dass Knöpfe gedrückt worden sind die Ventile geöffnet.

Entwicklungspotential

Eine Verbesserungsmöglichkeit wäre, andere Ventile mit breiteren Öffnungen zu benutzen, da so die Durchflussrate höher ist und somit das Eingießen schneller geht, da dies bis jetzt recht lange dauert. Eine andere Idee wäre, einen Drehknopf einzubauen mit dem man die Mischverhältnisse individuell einstellen kann, so dass man nicht nur zwei Auswahlmöglichkeiten hat.
Man könnte auch noch mehr Flaschen bzw. Ventile einbauen, allerdings bräuchte man dafür einen weiteren Arduino, da auf dem jetzigen fast alle Pins belegt sind.

projektewise18/getraenkemixerpublic/start.txt · Zuletzt geändert: 2019/04/03 01:18 von d.golovko