Sensorgesteuerte Mülleimer Öffnung
Autor: Ken Hilz & Denim Mike Hilz
Betreuer: Prof. Schneider
Einleitung
Das Fachpraktikum "Angewandte Elektrotechnik" des Masterstudiengangs "Business and Systems Engineering (BSE)" enthält neben den vier Praktikumsversuchen ein Projekt in Eigenarbeit. Dieses Projekt wird in Gruppen durchgeführt. In der Gruppe "BSE_4“ ist die Projektidee eines sich selbst öffnenden Mülleimers entstanden.
Die Idee sieht vor, in einen Tretmülleimer einen Microcontroller, einen Servomotor und einen Ultraschallsensor zu integrieren, damit sich der Deckel sensorgesteuert öffnet. Das Fußpedal soll dabei entfernt werden, um an dieser Stelle ein Kunststoffgehäuse anzubringen. Das Gehäuse soll platz für den Ultraschallsensor bieten. Dieser soll erkennen, wenn sich ein Objekt oder eine Person unmittelbar davor befindet. Über den Controller soll dann der Servomotor angesteuert werden, sodass der Deckel automatisch geöffnet wird. Sobald sich kein Objekt oder keine Person mehr im Wirkbereich des Sensors befindet, muss der Motor den Deckel wieder schließen. Gleichzeitig soll es ein visuelles Benutzerfeedback geben, welches Signal der Sensor gerade erhält. Die genauen Anforderungen sind im nachfolgenden Abschnitt aufgelistet.
Anforderungen
Tabelle 1: Anforderungen des Projekts
ID | Beschreibung | Klasse | Bereich | Autor | Datum | Status |
---|---|---|---|---|---|---|
1 | Arduino wird als Hardware verwendet. | constraint | Hardware | Ken Hilz & Denim Hilz | 05.10.2023 | Offen |
2 | Die Komponenten (Mülleimer, Ultraschallsensor und Servomotor) werden benötigt. | constraint | Hardware | Ken Hilz & Denim Hilz | 05.10.2023 | Offen |
3 | Die Elektronik muss im Mülleimer unterhalb des Müllbehälters integriert werden. | constraint | Hardware | Ken Hilz & Denim Hilz | 05.10.2023 | Offen |
4 | Die Stromversorgung wird über eine 9V Batterie bereitgestellt. | constraint | Hardware | Ken Hilz & Denim Hilz | 05.10.2023 | Offen |
5 | Der Algorithmus muss in MATLAB Simulink entwickelt werden. | constraint | Software | Ken Hilz & Denim Hilz | 05.10.2023 | Offen |
6 | Der Sensor erkennt den Gegenstand bis 30cm Entfernung. | NFR | Software | Ken Hilz & Denim Hilz | 05.10.2023 | Offen |
7 | Solange der Sensor einen Gegenstand wahrnimmt leuchtet, für den Nutzer sichtbar, eine LED Lampe. | FR | Software | Ken Hilz & Denim Hilz | 05.10.2023 | Offen |
8 | Befindet sich ein Gegenstand 30cm oder näher vor dem Mülleimer wird der Servomotor direkt angesteuert. | FR | Software | Ken Hilz & Denim Hilz | 05.10.2023 | Offen |
9 | Der Servomotor öffnet die Einwurfklappe in einem Winkel von maximal 60 Grad direkt nach dem Signal des Sensors. | FR | Software | Ken Hilz & Denim Hilz | 05.10.2023 | Offen |
10 | Registriert der Sensor keine Bewegung mehr innerhalb von 30cm Entfernung für eine Dauer von 5 Sekunden, wird der Servomotor angesteuert. | NFR | Software | Ken Hilz & Denim Hilz | 05.10.2023 | Offen |
11 | Der Servomotor schließt die Einwurfklappe direkt nach dem Signal des Sensors. | FR | Software | Ken Hilz & Denim Hilz | 05.10.2023 | Offen |
Bill of materials (BOM)
Tabelle 2: BOM
Funktionaler Systementwurf/Technischer Systementwurf
Funktionaler Systementwurf
Der folgende Abschnitt zeigt die geplante Umsetzung der angestrebten späteren Funktion des Projekts.
Abbildung 1 zeigt den Auf- und Einbau der Hardware. Dabei ist zu sehen, wie der Mülleimer umgebaut werden soll, um den Deckel sensorgesteuert öffnen zu können. Es kann auch entnommen werden, wo die Komponenten für den späteren Umbau im und am Mülleimer platziert werden sollen.
Abbildung 2 und Abbildung 3 zeigen die Modellierung des Sensorgehäuses in CAD. Das Gehäuse wird mithilfe der Zeichnung aus einer Plastikplatte ausgesägt und anschließend gebogen. Die Maße des Gehäuses lassen sich aus Abbildung 3 entnehmen.
-
Abb. 2: CAD Modell Sensorgehäuse
-
Abb. 3: Technische Zeichnung Sensorgehäuse
Technischer Systementwurf
In diesem Abschnitt wird die geplante technische Umsetzung der Hard- und Software aufgezeigt.
Der Mülleimer soll über eine Schaltung geregelt werden (vgl. Abbildung 4). Dabei dient der Ultraschallsensor als Eingangssignal. Sobald dieser in der vorgegeben Entfernung (vgl. Abschnitt Anforderungen) ein Objekt erkennt, wird ein Signal an den Arduino weitergegeben. Dieser verarbeitet die Eingabe entsprechend seiner aufgespielten Software und gibt die erforderlichen Signale an die LEDs und den Motor weiter. Je nach Eingangssignal, wird der Arduino dann die rote oder grüne LED und den Servomotor entsprechend zum Deckel öffnen oder schließen ansteuern.
Die Verkabelung der Elektronik kann Abbildung 5 entnommen werden, beispielhaft in Fritzing auf einem Breadboard aufgebaut. Die Umsetzung der Schaltung auf dem Breadboard anhand des Verkabelung Plans ist in Abbildung 6 zu sehen.
-
Abb. 5: Verkabelungsplan Fritzing
-
Abb. 6: Breadboard-Aufbau
Beschriftung:
- Microcontroller
- Rote LED
- Grüne LED
- Ultraschallsensor
- Servomotor
Komponentenspezifikation
In diesem Kapitel werden die benötigten Komponenten für die Umsetzung des Projekts beschrieben. In der obigen Liste BOM sind alle verwendeten Kaufteile aufgelistet.
Hardware Board:
Für die Umsetzung wurde ein Arduino Uno R3 Hardwareboard benötigt.
Sensor:
Damit der Mülleimer ab einer bestimmten Entfernung des Objekts automatisch öffnet, wurde ein Ultraschall Sensor (Ultrasonic Sensor HC SR 04) verwendet. Dieser Sensor besitzt zwei Hauptkomponenten. Zum einen den Ultraschallsender (Trigger-Pin), der die Ultraschallwellen aussendet und zum anderen den Ultraschallempfänger (Echo-Pin), der die zurückgeworfenen Wellen auffängt. Dieser Sensor kann in einem Bereich von 2cm bis zu 4 Metern eingesetzt werden und misst dabei auf 3mm genau. Da die Anforderung für die Entfernung zur Öffnung des Mülleimers 30cm beträgt, wurde dieser Sensor ausgewählt, da der Wert im angegebenen Bereich des Sensors liegt.
Motor:
Um den Deckel des Mülleimers zuverlässig öffnen zu können, wurde ein Servomotor mit hohem Drehmoment beschafft. Der "DS3218 20kg digital servo" weist bei einer Betriebsspannung von 5V eine Kraft von 18 kg/cm auf. Mit diesem Motor kann der Mülleimerdeckel problemlos geöffnet werden. Der Motor wird durch das Signal vom Arduino auf 15 Grad eingestellt. In Simulink erfolgt dies mit der Verstärkung 20. Da der Motor maximal 270 Grad stellen kann erhält man 270/360=0,75. Dies wird mit 20 multipliziert und ergibt 15 Grad. Das führt dazu, dass der Mülleimerdeckel (der Anforderung 9) entsprechend geöffnet wird.
Benutzerfeedback:
Damit die Person vor dem Mülleimer auch sieht, ob der Sensor die Person erkannt hat, befinden sich am oberen Rand zwei LEDs. Eine grüne, die leuchtet, sobald der Sensor ein Objekt erkannt hat und eine rote LED, sobald sich das Objekt außerhalb der definierten Entfernung befindet.
Umsetzung (HW/SW)
Hardware Umsetzung
Der Mülleimer stellt die Hauptkomponente dar, in welcher die Elektronik und die Komponenten für die automatische Funktion untergebracht sind. Der Arduino, die Kabel und die Schaltung sind dabei unter dem Müllbehälter im Mülleimer verstaut. Für die LEDs, eine rote und eine grüne, welche vorne unterhalb des Deckels sitzen, wurden zwei Löcher gebohrt. So können die Kabel innen am Mülleimer verlaufen. Das Fußpedal des Mülleimers wurde entfernt und durch ein Gehäuse aus Plastik ersetzt (vgl. Abb. 8 und 9). Dieses beinhaltet den Ultraschallsensor. Für den Servomotor muss voraussichtlich eine zusätzliche Bodenplatte installiert werden, auf welcher dieser befestigt ist. An dem Motor ist die Umlenkstange montiert, über welche der Deckel geöffnet und geschlossen werden kann. Die vorhandene Substanz "Mülleimer" wurde somit in seiner grundsätzlichen Funktion nicht verändert, lediglich durch den Einbau einer Steuerung automatisiert. Abbildung 7 zeigt den Prototypen des Sensorgehäuses aus Pappe gefertigt. Die Abbildungen 8 und 9 zeigen das Sensorgehäuse, welches Anhand der Zeichnung in der oberen Abbildung 2 manuell ausgeschnitten und gebogen wurde. Der Abbildung 10 kann die Position des Servomotors im Mülleimer und der Öffnungsmechanismus entnommen werden.
-
Abb. 7: Sensorgehäuse Prototyp
-
Abb. 8: Sensorgehäuse Vorderansicht
-
Abb. 9: Sensorgehäuse Seitenansicht
-
Abb. 10: Motorposition im Mülleimer
Herausforderungen
Der Servomotor SG90 reichte nicht aus, da die Stellkraft zu gering ist. Aus diesem Grund wurde der stärkere Servomotor "DS3218 20kg digital servo" benötigt, die genaue Beschreibung des Servomotors ist im Abschnitt Komponentenspezifikation vorzufinden.
Für den DS3218 reichte eine Spannungsversorgung über eine 9V Batterie jedoch nicht aus. Aus diesem Grund wird ein 12V Netzteil benötigt, um den Motor zuverlässig zu betreiben.
Software Umsetzung
Programm-Ablauf-Plan
Abbildung 11 zeigt den Programm-Ablauf-Plan (PAP) der Software. Dieser zeigt auf wie die Software und damit später der Mülleimer funktionieren soll.
Laut dem PAP soll der Sensor für diese Steuerung die Eingangssignale liefern. Diese Signale werden verglichen, ob die Entfernung in dem zuvor definierten Bereich liegt. Ist das nicht der Fall wird die rote LED angesteuert und der Deckel bleibt geschlossen. Ist die Entfernung erreicht, wird der Servomotor und die grüne LED angesteuert. Die Schleife für die Deckelöffnung startet. Der Servomotor bekommt einen Stellwinkel von 15Grad und öffnet den Mülleimerdeckel somit der Anforderungs-ID 9 entsprechend. Die Eingangssignale des Sensors werden weiterhin verglichen. Sobald die Entfernung größer als 30cm ist, wird die Schleife beendet. Die Rote LED wird angesteuert und der Servomotor bekommt nach 5sek den Stellwinkel 0Grad übertragen, sodass sich der Deckel wieder schließt.
Simulink-Schaltung
In der folgenden Abbildung 12 ist die Software Umsetzung mittels Simulink zu sehen. Zu sehen ist, dass der Sensor als Eingangssignal für den Arduino fungiert. Die Eingänge für den Trigger- und Echo-PIN sind die digitalen PINs 3 und 2. Dieses Signal wird über einen Moving Average (Gleitender Mittelwert) Block geführt, sodass dieses geglättet wird, um etwaige Peaks herauszufiltern und ungewollte Öffnungen zu verhindern. Anschließend wird das Signal mit einem Wert von 0,3 verglichen, dieser Wert stellt die Entfernung von 30cm ein. Wird der Wert unterschritten wird ein Signal an die grüne LED (PIN 5) rausgegeben und über einen Moving Average (dieser dient dem langsameren Öffnen des Deckels) an den Motor (PIN 8) weitergegeben. Der Deckel wird nun geöffnet. Sobald der Sensor nichts mehr registriert, wird das Signal auf die rote LED (PIN 6) herausgegeben. Der Deckel schließt nicht direkt, sondern zeitverzögert. Die notwendige Programm-Schleife ist in der unteren Abbildung 13 zu sehen.
-
Abb. 12: Simulink Schaltung Mülleimer
-
Abb. 13: Stateflow Schaltung Mülleimer
Startpunkt des Stateflow Charts ist der geschlossene Motor bei dem "Close OutputState = 0" Block. Erhält dieser nun ein Signal (InputState == 1) wird der Deckel geöffnet und der Arduino wechselt in den Block "Open OutputState = 1". Ändert sich nun das Eingangssignal von 1 auf 0 geht der Arduino in die „ReadytoClose“ Phase. In dieser verweilt er 5 Sekunden bevor der Deckel geschlossen wird. Registriert der Sensor innerhalb dieser Verweildauer ein Signal, startet die "ReadytoClose" Phase erneut. Die Entfernung und die Zeit bis zum Schließen des Deckels wird in den jeweiligen Blöcken angegeben.
Herausforderungen
Nach dem Einbau der Hardware kam es zu Problemen mit der Öffnung des Mülleimerdeckels. Dieser öffnete und schloss unkontrolliert. Des Weiteren wurden die LEDs nicht mehr angesteuert. Das Problem lag in der Verstärkung die zum Öffnen des Motors verwendet wurde. Anfangs lag diese bei 25 und wurde durch die Optimierung der Schaltung auf 20 heruntergesetzt, wodurch die genannten Probleme behoben wurden.
Ein weiteres Problem besteht, welches die Schließung des Mülleimer in der Zeit extrem variieren ließ, obwohl ein spezifischer Wert in dem Stateflow Chart angegeben wurde (siehe Abbildung 12). Dieses Problem konnte trotz der Verwendung verschiedener "Solver Selections" in den "Model Settings" von Simulink nicht gänzlich behoben werden, allerdings konnte die Variation der Zeit verringert werden. Lediglich leichte Abweichungen sind dennoch vorhanden.
Komponententest
Die Komponenten, die getestet werden mussten, sind:
● Der Servomotor
● Der Ultraschallsensor
● Die rote und grüne LED
Servomotor
Der Servomotor kann erfolgreich über das Arduino Uno R3 Board betrieben werden. Damit der Motor genug Spannung erhält, muss eine externe Spannungsversorgung über ein Netzteil bereit gestellt werden. Wird das Signal zum Öffnen an den Motor ausgegeben, stellt dieser den geforderten Winkel ein. In Abbildung 14 ist der geschlossene und in Abbildung 15 der geöffnete Servomotor zu sehen. Die Abbildung 16 stellt die Ergebnisse der durchgeführten Tests in Bezug auf die Anforderungen ID 4, 8 und 10 dar.
-
Abb. 14: Servomotor geschlossen
-
Abb. 15: Servomotor geöffnet
Ultraschallsensor
Der Ultraschallsensor kann problemlos über das Arduino Uno R3 Board betrieben werden. Zwei Pins dienen der Spannungsversorgung und der Ground-Verbindung. Die restlichen der 4 PINs werden zur Messung benötigt. Wie in dem Kapitel Komponentenspezifikation beschrieben, wird ein Trigger-Pin zur Ultraschallwellen Aussendung benötigt und der Echo-Pin zum Empfangen dieser Wellen. In der Abbildung 17 ist der angeschlossene Ultraschallsensor zu sehen. Die Abbildung 18 zeigt die aufgenommenen Messsignale über Simulink. In der oberen Messdarstellung ist das ungefilterte Signal des Sensors zu sehen. Dort wird deutlich, dass eine Filterung des Eingangssignals notwendig ist, damit die Öffnung des Mülleimers zuverlässig funktioniert. In der Darstellung darunter ist das gefilterte Signal zu sehen. Deutlich wird die Glättung des Signals, da keine extremen Peaks des Sensors mehr zu sehen sind. Aus diesem Grund reagiert die Simulink Schaltung zur Öffnung zuverlässiger. Abbildung 19 stellt das Ergebnis des durchgeführten Tests von dem Ultraschallsensor in Bezug zu der Anforderung ID 6 dar.
-
Abb. 17: Ultraschallsensor Mülleimer
-
Abb. 18: Ultraschallsensor Messwerte Mülleimer
Benutzerfeedback über LED
Damit der Benutzer sieht, ob dieser vom Sensor registriert wurde, sollen zwei LEDs verbaut werden. Die rote LED leuchtet solange kein Objekt registriert wird. Erkennt der Sensor ein Objekt, wird die rote LED ausgeschaltet und die grüne LED eingeschaltet. Diese leuchtet solange der Sensor ein Objekt registriert. Die LEDs wurden für den Komponententest auf einem Breadboard aufgebaut und über die digitalen Pins des Arduino angesteuert. In den folgenden Abbildungen 20 und 21 sind die beiden LEDs zu sehen. Abbildung 22 stellt das Ergebnis des durchgeführten Tests für die LED mit Ultraschallsensor in Bezug zu der Anforderung ID 7 dar.
-
Abb. 20: Rote LED
-
Abb. 21: Grüne LED
Gesamtkomponententest
Abschließend wurde ein Gesamtkomponententest durchgeführt, bei dem die verwendeten Komponenten in der Hardware Umgebung eingebaut wurden. Im Zuge dieses Testes ließen sich die Anforderungen ID3, ID6, ID7, ID8, ID9, ID1 und ID11 überprüfen. Die daraus gewonnenen Ergebnisse sind dem folgenden Testbericht in Abbildung 23 zu sehen.
Ergebnis
In dem folgenden Kapitel werden die in Tabelle 1 aufgestellten und im Kapitel "Komponententest" überprüften Anforderungen bewertet, inwieweit diese umgesetzt werden konnten und ob das Projekt das Ziel erreicht hat. In Tabelle 3 sind die Ergebnisse aufgelistet. Das fertige Projekt ist in den Abbildungen darunter zu erkennen.
Tabelle 3: Getestete Anforderungen
ID | Beschreibung | Bereich | Autor | Überprüft am | Status |
---|---|---|---|---|---|
1 | Arduino wird als Hardware verwendet. | Hardware | Ken Hilz & Denim Hilz | 25.10.2023 | Erfolgreich |
2 | Die Komponenten (Mülleimer, Ultraschallsensor und Servomotor) werden benötigt. | Hardware | Ken Hilz & Denim Hilz | 25.10.2023 | Erfolgreich |
3 | Die Elektronik muss im Mülleimer unterhalb des Müllbehälters integriert werden. | Hardware | Ken Hilz & Denim Hilz | 26.12.2023 | Erfolgreich |
4 | Die Stromversorgung wird über eine 9V Batterie bereitgestellt. | Hardware | Ken Hilz & Denim Hilz | 02.11.2023 | Nicht erfolgreich. Es wird ein externes Netzteil benötigt. |
5 | Der Algorithmus muss in MATLAB Simulink entwickelt werden. | Software | Ken Hilz & Denim Hilz | 26.10.2023 | Erfolgreich |
6 | Der Sensor erkennt den Gegenstand bis 30cm Entfernung. | Software | Ken Hilz & Denim Hilz | 26.10.2023 | Erfolgreich |
7 | Solange der Sensor einen Gegenstand wahrnimmt leuchtet, für den Nutzer sichtbar, eine LED Lampe. | Software | Ken Hilz & Denim Hilz | 26.10.2023 | Erfolgreich |
8 | Befindet sich ein Gegenstand 30cm oder näher vor dem Mülleimer wird der Servomotor direkt angesteuert. | Software | Ken Hilz & Denim Hilz | 26.10.2023 | Erfolgreich |
9 | Der Servomotor öffnet die Einwurfklappe in einem Winkel von maximal 60 Grad direkt nach dem Signal des Sensors. | Software | Ken Hilz & Denim Hilz | 27.12.2023 | Erfolgreich |
10 | Registriert der Sensor keine Bewegung mehr innerhalb von 30cm Entfernung für eine Dauer von 5 Sekunden, wird der Servomotor angesteuert. | Software | Ken Hilz & Denim Hilz | 26.10.2023 | Zeitdauer variiert |
11 | Der Servomotor schließt die Einwurfklappe direkt nach dem Signal des Sensors. | Software | Ken Hilz & Denim Hilz | 27.12.2023 | Erfolgreich |
-
Abb. 24: Mülleimer Vorderansicht
-
Abb. 25: Mülleimer - Seitenansicht
-
Abb. 26: Mülleimer - Entfernung ≤ 30cm
-
Abb. 27: Mülleimer - Entfernung > 30cm
Die funktionalen Ergebnisse des Projekts, können dabei unter dem Punkt YouTube Video eingesehen oder hier direkt auf YouTube aufgerufen werden.
Zusammenfassung
Ziel des Projektes war es, einen Mülleimer mit einem Fußpedal mithilfe eines Microcontrollers zu automatisieren. Dieses Ziel konnte im Laufe des Semesters erreicht werden. Die Soft- und Hardware wurde in dem Mülleimer implementiert und öffnet den Deckel, wenn der Sensor ein Objekt in der festgelegten Entfernung erkennt. Somit konnten die meisten Anforderungen erfolgreich getestet werden. Lediglich die Anforderung ID4 und ID10 konnten nicht wie vorgenommen umgesetzt werden. Bezüglich ID4 reicht eine 9V Batterie nicht aus, damit der Servomotor den Deckel öffnen kann, weshalb die Stromversorgung über ein externes Netzteil bereitgestellt werden muss. ID10 konnte nur teilweise erfolgreich umsetzt werden, da die Zeitdauer zum Schließen des Deckels durch den Servomotor nicht bei genau 5sek liegt, sondern zwischen 4 und 8 Sekunden variiert. Die einzelnen Schritte sind zusätzlich zu diesem Wikipedia Eintrag in SVN dokumentiert.
Lessons Learned
Das Projekt „Sensorgesteuerte Mülleimer Öffnung“ ermöglichte einen Einblick in das Thema Projektmanagement. Dabei konnte erlernt werden, wie ein Projektplan gestaltet werden kann und worauf es in der Planungsphase, für eine erfolgreiche Umsetzung, ankommt . Gleichzeitig wurde ein erster Umgang mit einem Microcontroller sowie mit elektrischen Bauteilen und dem Aufbau einer Schaltung ermöglicht. Neben der Hardware Umsetzung bezüglich Schaltungsaufbau und Bauteilverständnisse, wurde die Handhabung der Software erlernt. Dazu zählt der Aufbau einer Steuerung für den Microcontroller mit der entsprechenden Kenntnis über die verfügbaren Matlab und Simulink Bausteine, sowie der Filterung von Signalen, um den Ultraschallsensor in seiner Funktion effizienter zu machen.
Projektunterlagen
Projektplan
In Abbildung 28 ist der vorab erstellte Projektplan zu sehen, anhand welchem die Umsetzung erfolgen soll.
Die folgende Abbildung 29 zeigt den Ressourcenplan für dieses Projekt.
Projektdurchführung
Die Projektdurchführung orientiert sich dabei an dem aufgestellten Projektplan. Es wurde darauf geachtet, die terminlichen Vorgaben einzuhalten. Die Durchführung an sich hat, abgesehen von krankheits- und feiertagsbedingten Ausfällen, zwischenzeitlich zu einer Verzögerung von 7 Tagen geführt. Durch Doppelschichten und einer guten Motivation ist es trotzdem gelungen, dass Projekt bis Ende des Jahres 2023 abzuschließen.
ZIP-Datei
Sämtliche Originaldateien und Unterlagen für die Erstellung des Projekts sind hier im ZIP-Format hinterlegt: Sensorgesteuerte Mülleimer Öffnung
YouTube Video
Weblinks
Literatur
Autoren
→ zurück zur Übersicht: WS 22/23: Angewandte Elektrotechnik (BSE)