Sensorgesteuerte Mülleimer Öffnung: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
 
(55 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 3: Zeile 3:
<!-- Kopieren Sie diesen Header in Ihren Artikel, damit er aufgelistet wird.  -->
<!-- Kopieren Sie diesen Header in Ihren Artikel, damit er aufgelistet wird.  -->
'''Autor: Ken Hilz & Denim Hilz''' <br/>
'''Autor: Ken Hilz & Denim Hilz''' <br/>
'''Betreuer: Prof. Göbel & Prof. Schneider''' <br/>
'''Betreuer: Prof. Schneider''' <br/>
 


== Einleitung ==
== 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.  
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 eine 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 eine Kunststoffgehäuse anzubringen. Das Gehäuse soll platz für den Ultraschallsensor platz. 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 nach 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.
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 ==
== Anforderungen ==


'''Tabelle 1: Testbare, atomare Anforderungen'''
'''Tabelle 1: Anforderungen des Projekts'''
{| class="wikitable"
{| class="wikitable"
|+ style = "text-align: left"|
|+ style = "text-align: left"|
Zeile 167: Zeile 166:
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 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.


[[Datei: Funktionaler Systementwurf - Projektskizze_Mülleimer.jpg|600px|thumb|zentriert|Abb. 1: Funktionaler Systementwurf]]
[[Datei: Funktionaler Systementwurf - Projektskizze_Mülleimer.jpg|600px|thumb|left|Abb. 1: Funktionaler Systementwurf]]
<br clear = all>


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.
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.
Zeile 181: Zeile 181:
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. <br>
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. <br>


[[Datei: Technischer Systementwurf - Signalflussplan_Mülleimer.jpg|600px|thumb|zentriert|Abb. 4: Technischer Systementwurf]]
[[Datei: Technischer Systementwurf - Signalflussplan_Mülleimer.jpg|600px|thumb|left|Abb. 4: Technischer Systementwurf]]
<br clear = all>


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.
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.
Zeile 190: Zeile 191:
</gallery>
</gallery>


 
Beschriftung:
 
# Microcontroller
# Rote LED
# Grüne LED
# Ultraschallsensor
# Servomotor
<!-- Füllen Sie Ihre Projektskizze bis hierher aus. Fügen Sie einen Projektplan unten ein.  -->
<!-- Füllen Sie Ihre Projektskizze bis hierher aus. Fügen Sie einen Projektplan unten ein.  -->


Zeile 212: Zeile 217:
== Umsetzung (HW/SW) ==
== Umsetzung (HW/SW) ==


'''Hardware Umsetzung'''<br>
=== 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.  
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.  
<gallery widths="250" heights="250">
<gallery widths="250" heights="250">
Zeile 222: Zeile 227:


'''Herausforderungen'''<br>
'''Herausforderungen'''<br>
Der Servomotor SG90 reichte nicht aus, da die Stellkraft zu gering ist. Aus diesem Grund wurde der stärker Servomotor "DS3218 20kg digital servo" benötigt, die genaue Beschreibung des Servomotors ist im Abschnitt Komponentenspezifikation vorzufinden.
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.
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.
<br>
<br>


'''Software Umsetzung'''<br>
In der folgenden Abbildung 11 ist die Software Umsetzung mittels Simulink zu sehen.


[[Datei:Simulink Schaltung Mülleimer.jpg|900px|thumb|zentriert|Abb. 11: Simulink Schaltung Mülleimer]]
=== Software Umsetzung ===


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 12 zu sehen.
'''Programm-Ablauf-Plan''' <br>
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. <br>
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.


[[Datei:PAP Sensorgesteuerte Mülleimer Öffnung.png|mini|left|Abb. 11: Programm-Ablauf-Plan]]
<br clear = all>


[[Datei:Simulink_Stateflow_Schaltung_Mülleimer.jpg|900px|thumb|zentriert|Abb. 12: Stateflow Schaltung Mülleimer]]
'''Simulink-Schaltung'''<br>
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.
 
<gallery widths="600" heights="400">
Datei:Simulink Schaltung Mülleimer.jpg|Abb. 12: Simulink Schaltung Mülleimer
Datei:Simulink_Stateflow_Schaltung_Mülleimer.jpg|Abb. 13: Stateflow Schaltung Mülleimer
</gallery>


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.  
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.
Die Entfernung und die Zeit bis zum Schließen des Deckels wird in den jeweiligen Blöcken angegeben.


'''Herausforderungen'''<br>
'''Herausforderungen'''<br>
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.
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.  
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.
Die Model Settings sind: EINFÜGEN


== Komponententest ==
== Komponententest ==
Zeile 254: Zeile 265:
● Die rote und grüne LED
● Die rote und grüne LED


'''Servomotor:'''
=== 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 13 ist der geschlossene und in Abbildung 14 der geöffnete Servomotor zu sehen. Die Abbildung 15 stellt die Ergebnisse der durchgeführten Tests in Bezug auf die Anforderungen ID 8 und 10 dar.  
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.  


<gallery widths="250" heights="250">
<gallery widths="250" heights="250">
  Datei:Servomotor geschlossen.jpg|Abb. 13: Servomotor geschlossen
  Datei:Servomotor geschlossen.jpg|Abb. 14: Servomotor geschlossen
  Datei:Servomotor geöffnet.jpg|Abb. 14: Servomotor geöffnet
  Datei:Servomotor geöffnet.jpg|Abb. 15: Servomotor geöffnet
</gallery>
</gallery>
  [[Datei:Testbericht Ultraschallsensor mit Servomotor.jpg|1600px|thumb|zentriert|Abb. 15: Testbericht Ultraschallsensor mit Servomotor]]
  [[Datei:Testbericht Ultraschallsensor mit Servomotor.jpg|1200px|thumb|left|Abb. 16: Testbericht Ultraschallsensor mit Servomotor]]
<br>
<br clear = all>
'''Ultraschallsensor:'''
 
=== 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.


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 16 ist der angeschlossene Ultraschallsensor zu sehen. Die Abbildung 17 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 18 stellt das Ergebnis des durchgeführten Tests von dem Ultraschallsensor in Bezug zu der Anforderung ID 6 dar.
<gallery widths="550" heights="400">
Datei:Ultraschallsensor Mülleimer.jpg|Abb. 17: Ultraschallsensor Mülleimer
Datei:Ultraschallsensor Messwerte Mülleimer.jpg|Abb. 18: Ultraschallsensor Messwerte Mülleimer
</gallery>
[[Datei:Testbericht Ultraschallsensor.jpg|1200px|thumb|left|Abb. 19: Testbericht Ultraschallsensor]]
<br clear = all>


[[Datei:Ultraschallsensor Mülleimer.jpg|200px|thumb|zentriert|Abb. 16: Ultraschallsensor Mülleimer]]
=== Benutzerfeedback über LED ===
[[Datei:Ultraschallsensor Messwerte Mülleimer.jpg|800px|thumb|zentriert|Abb. 17: Ultraschallsensor Messwerte Mülleimer]]
[[Datei:Testbericht Ultraschallsensor.jpg|1400px|thumb|zentriert|Abb. 18: Testbericht Ultraschallsensor]]
<br>
'''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 19 und 20 sind die beiden LEDs zu sehen. Abbildung 21 stellt das Ergebnis des durchgeführten Tests für die LED mit Ultraschallsensor in Bezug zu der Anforderung ID 7 dar.
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.


<gallery widths="250" heights="250">
<gallery widths="250" heights="250">
  Datei:Rote LED.jpg|Abb. 19: Rote LED
  Datei:Rote LED.jpg|Abb. 20: Rote LED
  Datei:Grüne LED.jpg|Abb. 20: Grüne LED
  Datei:Grüne LED.jpg|Abb. 21: Grüne LED
</gallery>
</gallery>
[[Datei:Testbericht Ultraschallsensor mit LED.jpg|1400px|thumb|zentriert|Abb. 21: Testbericht Ultraschallsensor mit LED]]
[[Datei:Testbericht Ultraschallsensor mit LED.jpg|1200px|thumb|left|Abb. 22: Testbericht Ultraschallsensor mit LED]]
<br>
 
<br clear = all>
 
=== 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.
[[Datei:Testbericht Gesamtkomponententest.jpg|1200px|thumb|left|Abb. 23: Testbericht Ultraschallsensor mit LED]]
<br clear = all>


== Ergebnis ==
== Ergebnis ==
In dem folgenden Kapitel werden die in Tabelle 1 aufgestellten Anforderungen überprüft, inwieweit diese umgesetzt werden konnten und ob das Projekt das Ziel erreicht hat, den Mülleimerdeckel sensorgesteuert öffnen zu können. In Tabelle 3 sind die Ergebnisse des Projekts aufgelistet. Der sich darunter befindende Link führt zu dem Youtube-Video des sensorgesteuerten Mülleimers.  
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'''
'''Tabelle 3: Getestete Anforderungen'''
Zeile 374: Zeile 396:
|}
|}


'''Die funktionalen Ergebnisse des Projekts, können dabei auf unter dem Punkt YouTube Video eingesehen oder [https://www.youtube.com/watch?v=kyCw4rFixsQ hier] direkt auf YouTube aufgerufen werden.
<gallery widths="350" heights="300">
Datei:Mülleimer Vorderansicht.jpg|Abb. 24: Mülleimer Vorderansicht
Datei:Mülleimer Seitenansicht.jpg|Abb. 25: Mülleimer - Seitenansicht
Datei:Mülleimer - Entfernung ≤ 30cm.jpg|Abb. 26: Mülleimer - Entfernung ≤ 30cm
Datei:Mülleimer - Entfernung 30cm.jpg||Abb. 27: Mülleimer - Entfernung > 30cm
</gallery>
 
'''Die funktionalen Ergebnisse des Projekts, können dabei unter dem Punkt YouTube Video eingesehen oder [https://www.youtube.com/watch?v=kyCw4rFixsQ hier] direkt auf YouTube aufgerufen werden.


== Zusammenfassung ==
== Zusammenfassung ==
Zeile 384: Zeile 413:
== Projektunterlagen ==
== Projektunterlagen ==
=== Projektplan ===
=== Projektplan ===
In Abbildung 22 ist der vorab erstellte Projektplan zu sehen, anhand welchem die Umsetzung erfolgen soll.
In Abbildung 28 ist der vorab erstellte Projektplan zu sehen, anhand welchem die Umsetzung erfolgen soll.
[[Datei:Projektplan Mülleimer.jpg|1000px|thumb|zentriert| Abb. 22: Projektplan]]
[[Datei:Projektplan Mülleimer.jpg|1000px|thumb|left| Abb. 28: Projektplan]]
<br clear = all>


Die folgende Abbildung 23 zeigt den Ressourcenplan für dieses Projekt.
Die folgende Abbildung 29 zeigt den Ressourcenplan für dieses Projekt.
[[Datei:Ressourcenplan Mülleimer.jpg|1000px|thumb|zentriert| Abb. 23: Ressourcenplan]]
[[Datei:Ressourcenplan Mülleimer.jpg|1000px|thumb|left| Abb. 29: Ressourcenplan]]
<br clear = all>


=== Projektdurchführung ===
=== 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.
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:
[[:Datei:Sensorgesteuerte Mülleimer Öffnung.zip|Sensorgesteuerte Mülleimer Öffnung]]


== YouTube Video ==
== YouTube Video ==

Aktuelle Version vom 16. Januar 2024, 16:18 Uhr

Autor: Ken Hilz & Denim 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

Anzahl Komponente Preis Link
1 Arduino Uno Starter Kit 43,99€ https://www.amazon.de/dp/B01ILR6AX4/ref=cm_sw_r_apin_dp_WZ4V7M55W61B3PP83N6Y
1 Servo Motor 14,99€ https://www.amazon.de/Miuzei-Servo-Torque-Digital-Waterproof/dp/B07Q65JY1K/ref=asc_df_B07Q65JY1K/?tag=&linkCode=df0&hvadid=356509582715&hvpos=&hvnetw=g&hvrand=15352743004812799599&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=9117197&hvtargid=pla-836619218557&mcid=8a335a4ae9d8331891978ed322e6824f&th=1&ref=&adgrpid=76119332550
1 Mülleimer 19,95€ https://www.amazon.de/Spirella-Kosmetikeimer-M%C3%BClleimer-Treteimer-Abfalleimer/dp/B00C1ZV3R6/ref=sr_1_7?__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&crid=YA4PKGCSQOMP&keywords=kosmetikm%C3%BClleimer%2Bgr%C3%BCn&qid=1704118288&sprefix=kosmetikm%C3%BClleimer%2Bgr%C3%BCn%2Caps%2C83&sr=8-7&th=1
1 Bodenplatte 4,59€ https://www.globus-baumarkt.de/p/gutta-hartschaumplatte-25-x-50-cm-3-mm-schwarz-0779401546/
1 Klingeldraht 8,99€ https://www.globus-baumarkt.de/p/klingeldraht-yk-2-x-0-6-25-meter-rot-weiss-0775060113/
1 Schrauben inkl. Unterlegscheiben und Muttern 4,74€ https://www.globus-baumarkt.de/p/connex-gewindeschraube-m6-x-30-mm-sechskant-innen-4-mm-flachkopf-1-stk-0763025236/

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.

Abb. 1: Funktionaler Systementwurf


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.

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.

Abb. 4: Technischer Systementwurf


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.

Beschriftung:

  1. Microcontroller
  2. Rote LED
  3. Grüne LED
  4. Ultraschallsensor
  5. 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.

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.

Abb. 11: Programm-Ablauf-Plan


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.

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. 16: Testbericht Ultraschallsensor mit Servomotor


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. 19: Testbericht Ultraschallsensor


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. 22: Testbericht Ultraschallsensor mit 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.

Abb. 23: Testbericht Ultraschallsensor mit LED


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

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.

Abb. 28: Projektplan


Die folgende Abbildung 29 zeigt den Ressourcenplan für dieses Projekt.

Abb. 29: Ressourcenplan


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

Video vom Projekt: Sensorgesteuerte Mülleimer Öffnung


Weblinks

Literatur


→ zurück zur Übersicht: WS 22/23: Angewandte Elektrotechnik (BSE)