Dosieromat

Aus HRW FabLab MediaWiki
Wechseln zu: Navigation, Suche

Der Dosieromat dient der automatischen Dosierung bestimmter Zutaten insbesondere Schüttgut. Dieses wird zunächst in eine Vorrichtung gegeben und, gesteuert über eine App, in den jeweiligen Zielbehälter befördert. Eine Wägezelle misst gleichzeitig die geförderte Menge. Der Vorgang endet, wenn die in der App ausgewählte Menge erreicht ist.

Dosieromat

Plakat für den Dosieromaten

Entwickler

Robby Borcherding, Leon Scharlemann, Jonas Czeslik

Projektdateien

Alle 3D-Modelle, Mikrocontroller Quellcode, Android Quellcode

Verwendete Programmiersprache

Arduino C/C++ , Java (Android)

Eingesetzte Software

Android Studio, PlatformIO (IDE), Autodesk Fusion 360, Inkscape, Tinkercad, Cura

Eingesetzte Hardware

Ultimaker S5, Ultimaker 2+, Lasercutter

Motivation[Bearbeiten]

Die Zielgruppe des Dosieromaten bilden primär Menschen, die aufgrund körperlicher Behinderungen oder Beeinträchtigungen (z.B. Tremor, Spastik) feinmotorische Defizite haben, Zutaten möglichst genau abzumessen. Mithilfe des Dosieromaten soll diesen Menschen eine Möglichkeit geboten werden, eigenständig zu kochen oder zu backen. Dadurch kann einer fehlenden Marktverfügbarkeit entgegengewirkt und ein Mehrwert durch mehr Barrierefreiheit geschaffen werden. Das System kann zudem beliebig erweitert werden, sodass diverse Zutaten auch parallel dosiert werden können.
In unserem spezifischen Anwendungsbereich ist jedoch lediglich ein Behälter für das Dosieren von Kaffeepulver geplant. Aber auch hier kann eine Erweiterung genutzt werden, um z.B. zwischen diversen Sorten von Kaffeepulver oder auch zwischen koffeiniert und entkoffeiniert oder anderen Eigenschaften zu unterscheiden.
Dieses System wurde im Rahmen des Moduls Eingebettete Systeme in Kooperation mit der Rheinbabenwerkstatt des Diakonischen Werks Gladbeck-Bottrop-Dorsten in Bottrop entwickelt und war für die Küche vorgesehen, um den vor Ort arbeitenden Kaffeezubereiter zu entlasten.

Material-Liste[Bearbeiten]

Dosieromat Seitenansicht
Dosieromat in Action


Material Modell Kosten weiterfüherende Informationen
Zutatenbehälter eigenes Modell / Modell: Dosieromat, Filament: Amazon
Servo FS90R 5,40€/Stück Amazon
Kugellager 608 1,75€/Stück Amazon
Wägezellenverstärker + Wägezelle HX711 (Verstärker) 11,66€ Amazon
Mikrocontroller ESP32 9,99 Conrad

3D-Druck[Bearbeiten]

Dosieromat[Bearbeiten]

Erste Version (Testversion)[Bearbeiten]

Die erste Testversion wurde im Maßstab 1:10 gedruckt und wies nach ersten Tests noch einige Mängel auf, die es für die zweite Version zu beheben galt. Vor allem feinkörniges Schüttgut wie Mehl hat sich häufig in der schrägen Fläche des Trichters verfangen. Des Weiteren war an einigen Stellen die Wanddicke nicht ausreichend, sodass es an diesen Stellen an Stabilität mangelte. Zuletzt wurde dieses Modell mit PLA gedruckt, einem Filament, das die Ansprüche an die Lebensmittelsicherheitsstandards nicht erfüllt und daher für die finale Version nicht in Frage kam.

Zweite Version (überarbeitetes Modell)[Bearbeiten]

In der zweiten, modifizierten Version wurden die genannten Schwächen des ersten Modells ausgebessert. Dafür wurde die Steigung zweier Trichterwände so angepasst, dass sie orthogonal zur Fläche sind, sodass auch Mehl problemlos gefördert werden kann. Des Weiteren wurde vor allem die Verbindungsstelle zum Motor hin mit einer dickeren Wand stabilisiert.
Um das gesamte Modell mehr zu stabilisieren, wurden außerdem Änderungen am Förderrohr vorgenommen. Dieses ist nun an beiden Enden mit einer Vorrichtung für jeweils ein Kugellager ausgestattet. Die Zutaten werden daher nicht mehr durch das Ende des Förderrohrs gefördert, sondern lediglich bis zu einer Stelle, an der das neue Modell nun ein Loch am Boden aufweist.
Die Förderschnecke wurde diesbezüglich auch modifiziert und um ein Verbindungsstück zum zweiten Kugellager erweitert. Zudem wurde für eine bessere Kraftübertragung das Verbindungsstück zum Motor abgeflacht.
Zuletzt wurde die Förderschnecke etwas abgefeilt, damit sie weniger Berührpunkte mit dem Förderrohr aufweist und so mit geringerem Widerstand fördern kann. Diese Änderung ergab sich aus der Problematik, dass der zwischenzeitlich verwendete Schrittmotor 28BYJ-48 zu wenig Kraft besaß und die Förderschnecke mit enthaltenem Kaffeepulver nicht mehr antreiben konnte.
Da das 3D-Modell einen Behälter darstellt, der Lebensmittel lagern soll, ergab sich die Notwendigkeit, lebensmittelechtes Filament zu verwenden. Dafür wählten wir PETG, ein modifiziertes PET, das diese Voraussetzung erfüllt.

weitere 3D-Modelle[Bearbeiten]

Um den Dosieromaten mit einem Motor zu fixieren, wurden zwei weitere Verbindungsstücke gedruckt. Ein Außenstück ermöglicht die Verbindung des Motors mit dem 3D-Modell, sodass der Motor nicht um die eigene Achse rotiert, sondern die Bewegung auf die Förderschnecke übertragen werden kann. Dieser Adapter wird an den Dosieromaten mithilfe von zwei Schrauben befestigt.
Ein zweites Stück verbindet die Motorwelle mit der Förderschnecke und sorgt für die Kraftübertragung, sodass der Motor die Förderschnecke antreibt und die Zutat gefördert werden kann.
Motor Adapter
Motorkupplung 3D-Modell

Sonstiges[Bearbeiten]

Gestell[Bearbeiten]

Für das Gestell des Dosieromaten werden vier Holzstäbe verwendet, um zwei überkreuzte "Füße" zusammenzuschrauben, dank derer die Dosierhilfe auf eine Höhe von etwa 30cm gebracht wird. Auf diese Weise ist gewährleistet, dass die Wägezelle zusammen mit der Schüssel Platz finden. Für bessere Stabilität sind die beiden Füße mithilfe von vier Acrylscheiben verbunden, welche mithilfe des Lasercutters erstellt wurden. Diese Scheiben haben jeweils zwei Aussparungen, mit denen sie in leicht angesägte Stellen der Holzstäbe gesteckt werden können.
Dosieromat Gestell

Deckel[Bearbeiten]

Des Weiteren wurde ein an den Dosieromaten angespasster Deckel erstellt, damit der Dosieromat gleichzeitig zur Lagerung des Kaffeepulvers dienen kann und die Zutaten nicht einstauben. Dazu wurde ein Deckel aus Acrylglas, bestehend aus einem Außenring sowie einer Deckelplatte, mit dem Lasercutter angefertigt. Der Außenring wird dabei auf die Deckelplatte geklebt, sodass der Deckel auf den Behälter aufgelegt werden kann. Die Maße sind dabei so gewählt, dass sich der Außenring genau um den Dosieromaten legt.
Dosieromat Deckel

Waage[Bearbeiten]

Zuletzt wird eine Waage benötigt, die in das System integriert ist und bei ausreichendem Gewicht den Motorstopp veranlassen kann. Dazu wird eine Wägezelle verwendet, welche mit zwei Holzplatten zu einer Waage zusammengebaut wird. Je nach Druck, der auf diesen Sensor ausgeübt wird, gibt die Wägezelle eine Spannung weiter, die mit einem Umrechnungsfaktor als Gewicht interpretiert werden kann.
Dosieromat Waage

Mikrocontroller-System[Bearbeiten]

Das Mikrocontroller System verwendet zur Anbindung des HX711-Wägezellenverbunds eine Bibliothek des GitHub-Nutzers bogde unter der MIT-Lizenz.

Das grobe Prinzip:

  1. Warten bis vom Smartphone eine Bluetooth Low Energy (BLE) Verbindung aufgebaut wird
  2. Warten, bis vom Smartphone eine Nachricht per BLE gesendet wird
  3. Mittels Regular Expressions analysiert der Mikrocontroller die gesendete Nachricht
    • Ist es ein bekannter Befehl (bspw. WEIGH zum manuellen wiegen), wird dieser ausgeführt.
    • Ist es eine für den Dosieromaten verfügbare Zutat und die Menge (bspw. "COFFEE;60" für 60g Kaffee) wird der Dosiervorgang gestartet. Dabei wird der entsprechende Motor gestartet und solange gedreht, bis das gewünschte Gewicht auf der Waage vorhanden ist.
    • Wenn der Befehl unbekannt ist, wird nichts gemacht.
  4. Wieder zu Schritt 3



  void onWrite(BLECharacteristic *pCharacteristic)
  {
    std::string rxValue = pCharacteristic->getValue();
    Serial.println("raw value");
    Serial.println(rxValue.c_str());

    if (rxValue.length() > 0)
    {
      Serial.println("*********");

      bool matched = false;

      for (auto const &ingredient : availableIngredients)
      {
        String regexString = String("(" + ingredient.first + ");(\\d*)");

        if (std::regex_match(rxValue, std::regex(regexString.c_str())))
        {
          matched = true;
          Serial.println("Matched value:");
          Serial.println(rxValue.c_str());

          Serial.println("First");
          Serial.println(ingredient.first.c_str());
          Serial.println("Second");
          Serial.println(ingredient.second); // PIN NUMBER
          Serial.println("amount");
          int amount = std::atoi(split(rxValue, ";", 1).c_str()); // amount
          Serial.println(amount);

          //TODO: Start the motor and the weighing process
        }
      }
      if (!matched)
      {
        if (rxValue.find("WEIGH") != std::string::npos)
        {
          Serial.println("Weigh command found!");
          //DosieromatHelper::weighItem(scale);
          DosieromatHelper::measureOut(scale, 1000);
        }
        else
        {
          Serial.println("NOT matched value:");
          Serial.println(rxValue.c_str());
        }
      }

      Serial.println("*********");
    }
  }

Android-App[Bearbeiten]

Die Android-App ist prinzipiell nur ein spezialisierter Bluetooth Low Energy-Client. Er kann nach dem Mikrocontroller mittels einer UUID scannen und sich nach erfolgreicher Suche mit diesem verbinden. Wenn die Verbindung steht, kann der Nutzer über einen Button eine Dosieranweisung über BLE an den Mikrocontroller senden.
Zusätzlich kann die App noch verschiedene Rezepte mit mehreren Zutaten aus einer XML-Datei lesen. In unserem spezifischen Fall ist sie begrenzt auf das "Rezept" für eine Kanne Kaffee mit der einen Zutat (Kaffee). Dabei werden 60 Gramm pro Kanne als Referenzwert genommen.

Die App ist so gestaltet, dass sie für die Zielgruppe leicht zu bedienen ist. Sie ist einfach gehalten, sodass sie schnell und intuitiv bedienbar und auf ihre wesentlichen Funktionen beschränkt ist. Des Weiteren sind die Knöpfe groß genug angelegt, sodass auch Menschen mit feinmotorischen Schwierigkeiten die App problemlos verwenden können. Diese Faktoren sorgen dafür, dass die App keine Überforderung und Frustration auslöst, sondern eine schlichte und effiziente Funktionalität bietet.

User Interface der App

Hindernisse und weiterführende Ideen / Ausblick[Bearbeiten]

Auch am Ende der Entwicklung des Prototypen bleiben noch weiterführende Ideen zur Optimierung des Dosieromaten. Ein Problem stellt zum Beispiel die Struktur des 3D-Modells dar, die dafür sorgt, dass grobkörnigere Zutaten wie Kaffeepulver nicht optimal in die Förderschnecke nachrutschen, sodass die Fördermenge und Effizienz nach einiger Zeit abnimmt. Als Lösungsansatz könnte man das 3D-Modell anpassen, indem man die Wände etwas steiler gestaltet oder das Förderrohr vergrößert, sodass das Kaffeepulver weniger im Behälter hängenbleibt.
Auch der Motor ist vor allem für hohe Anforderungen an die zu fördernde Menge verbesserungswürdig. Ursprünglich sollte ein Nema 17 Schrittmotor die Förderschnecke antreiben, welcher eine deutlich höhere Leistung erbringt. Dieser musste jedoch durch einen langsameren Servo ersetzt werden, da sich der Schrittmotor am Ende des Projekts nicht mehr ansteuern ließ. Aus dieser mehrfachen Änderung des verwendeten Motors ergab sich die Notwendigkeit, diverse Verbindungsstücke zu designen beziehungsweise zu drucken, welche im Nachhinein hinfällig wurden.

Dieser Prototyp arbeitet in seinem spezifischen Anwendungsfall mit Kaffeepulver, allerdings ist dieses System mit vielen anderen Zutaten oder Rohstoffen austauschbar und erweiterbar. So war das Projekt ursprünglich auf das Gebiet "Kochen mit Behinderung" ausgelegt und sollte verschiedene Schüttgüter (Salz, Zucker, Mehl, ...) in separaten Behältern abdecken. Diese sollen gemäß eines eingegebenen Rezeptes einzeln auswählbar und dosierbar sein. So sollen vor allem für die gewählte Zielgruppe problematische Bereiche des Kochens automatisiert werden.

Während der Abschlussveranstaltung ist bereits durch das Interesse potenzieller Anwender ersichtlich geworden, dass das allgemeine Prinzip des Systems auch in vielen anderen Bereichen Anwendung finden kann. So könnte der Dosieromat aufgrund seiner guten Skalierbarkeit auch in größeren Dimensionen für Rohstoffe wie Sand oder zum Abzählen von Kleinteilen wie Muttern oder Schrauben verwendet werden.