Projekt 87: Kaffeekannen Kamera
→ zurück zur Übersicht: WS 18/19: Angewandte Elektrotechnik (BSE)
Autoren: Maximilian Harrer und Tobias Wemmer
Betreuer: Daniel Klein
Thema
Konfliktmanagement im Arbeitsleben durch fortschrittliche Technik. Frei nach dem Motto:
„Büro ist Krieg“ – Bernd Stromberg
Aufgabe
Entwickeln Sie eine Erweiterung für eine Kaffeekanne, welche zum einen den Füllstand überwacht und zum anderen ein Foto von der Person macht, welche die Kaffeekanne leert. Dieses Foto soll anschließend auf einem Bildschirm angezeigt werden, wenn die Person keinen neuen Kaffee kocht.
Erwartungen an Ihre Projektlösung
- Planung des Gesamtsystems
- Funktionsspezifikation:
- Überwachung des Füllstands der Kaffeekanne
- Kameraüberwachung der Kaffeekanne
- Bildschirmanzeige des Fotos (sofern kein Kaffee nachgekocht wird)
- Bild löschen, wenn Kaffee nachgekocht wird
- Beschaffung der Bauteile
- Hard- und Softwareseitige Realisierung des Aufbaus
- Machen Sie ein tolles Videos, welches die Funktion visualisiert.
- Test und wiss. Dokumentation
- Live Vorführung während der Abschlusspräsentation
Kür: Modellbasierte Programmierung der Hardware via Simulink
Einleitung
Im Rahmen der von Prof. Dr.-Ing. Ulrich Schneider und Herrn Klein betreute Veranstaltung "Angewandte Elektrotechnik" ist, neben vier praktischen Versuchen, die Erarbeitung eines Projekts in zweier Teams teil der zu erbringen Prüfungsleistung. Aus diesem Anlass fanden sich im Rahmen der Einführungsveranstaltung am 28.09.2018 die Studenten Tobias Wemmer und Maximilian Harrer des Masterstudiengangs "Buisness and Systems Engineering" zusammen. In einem ersten Gespräch wurde die Möglichkeit der Bearbeitung eines bestehenden Projekts verworfen und sich darauf verständigt, ein alltägliches Problem in Büros, mittels einer Kamera und Wiegemechanismus ausgestatteten Kaffeekanne, anzugehen. Ziel des Projekts ist daher, einen Prototyp einer Kaffeemaschine zu entwerfen, welche den Füllstand der Kaffeekanne erkennt, bewertet und mittels einer Kamera den letzten Benutzer erfasst, um eine, etweilige, unkollegiale Nutzung zu detektieren. Unkollegial bedeutet in diesem Fall, die Kaffeekanne in einem Füllstand von unter einer Tasse zurückzulassen, sodass der nächste Benutzer gezwungen ist, zunächst einen neuen Kaffee aufzusetzen.
Zunächst musste, im Rahmen der Projektplanung, festgelegt werden, wie das Projekt (z.B. hinsichtlich der Art des Wiegemechanismus) umgesetzt wird und welche Bauteile hierfür benötigt werden. Nach Abgabe der BOM (Bill of Material) wurde ein Zeitplan erstellt und die einzelnen Aufgaben verteilt. Diese beinhalten, neben der Konstruktion und dem Bau des Kaffeemaschinenprototyps, die Montage des Wiegemechanismus. Zudem mussten die verwendeten Mikrocontroller initialisiert und für die Anwendung programmiert werden. Eine weitere Aufgabe im Verlauf des Projekts stellen die Erstellung einer Platine zur Spannungsteilung zur Verbindung des Arduino und Rasperry PI und einer Platine zur Zusammenfassung der Spannungs- und Groundanschlüsse der Schiebepotentiometer dar. Kontinuerlich mussten zudem Funktionstests der einzelnen Elemente, Datensicherung in SVN und die Dokumentation des Projekts im Hochschul-Wikipedia durchgeführt werden. Nach abschließendem Test und Inbetriebnahme wurde das Projektergebniss im Rahmen der am Messe am 18.01.2019 dem Betreuern und Kommilitonen vorgestellt. Zur Präsentation wurde zudem ein Youtube-Video erstellt, welches innerhalb von zwei Minuten die Funktionsweise den Projektablauf wiedergibt. Hinsichtlich der Projektdokumentation wird abschließend ein Fazit gezogen und mögliche Verbesserungspotentiale hinsichtlich unseres, sowie eines möglichen Entwurfs dargestellt.
Projekt
Verwendete Bauteile
Projektplan
1. Erstellung Lösungskonzepte | 6.2 Test am Steckbrett | 8.3 Ansteuerung Bildschirm |
2. Erstellung BOM | 6.3 Erstellung Gerber Daten | 9. Zusammenbau Gehäuse und Komponennten |
3. Kontruktion Gehäuse/Kaffeemaschine | 7. Erstellung Simulink Programm | 10. Test des Geräts |
3.1 Beschaffung Kaffeekanne | 7.1 Installation Arduino Toolbox | 11. Vorbereitung Präsentation |
3.2 Anpassung Gehäuse an Maße der Kaffeekanne | 7.2 Einlesen Messwerte | 11.1 Ausdruck Projekt Schilder |
3.3 Konstruktion Wiegemechanismus | 7.3 Kalibrierung | 11.2 Ausdruck Konstruktion |
5. Bauteiltest | 7.4 Ausgabe an Raspberry Pi | 11.3 Ausdruck Schaltung |
5.1 Erstellung Arduino Programm für Bauteil Tests | 7.5 Funktionstest Simulink | 11.2 Ausdruck Simulink Programm |
5.2 Bauteiltest | 8. Programmierung Raspberry Pi | Kontinuierlich: |
6. Erstellung Platinen | 8.1 Einlesen Arduino Signale | Dokumentation in SVN und im Wiki |
6.1 Entwurf Schaltung | 8.2 Ansteuerung Kamera | Test und Verbesserung |
Projektdurchführung
Aufsetzen und Vorbereiten des Raspberry Pi
Zum Aufsetzen des Raspberry Pis wird die folgende Hardware benötigt:
Benötigte Hardware:
- Lan-Kabel (Wird beim ersten Start und zur Wartung benötigt)
- Raspberry Pi Netzteil / Micro USB Kabel (Zur Spannungsversorgung, auf Dauer ist ein festes Netzteil ratsam)
- Micro-SD-Karte (Entspricht der Festplatte des Raspberry Pi)
- SD-Adapter (USB oder Karte)
- PC (Zum Aufsetzen der SD-Karte und zur weiteren Programmierung)
Benötigt Software
- Raspbian (Betriebssystem des Raspberry Pi)[1]
- Win32 Discimager (zum Bespielen der SD-Karte)[2]
- 7zip File Manager (zum Packen und Entpacken von zip-Dateien)[3]
- Putty (SSH-Client zur Kommunikation von PC und Raspberry Pi)[4]
- Wordpad, Word, Editor, OpenOffice Wirter oder sonstiges Textprogramm
Raspbian entpacken und auf SD-Karte spielen
Zum aufsetzen des Raspberry Pi muss zunächst Raspbian auf der SD-Karte installiert werden. Dazu muss der Download zunächst entpackt werden. Zum Entpacken wird das Tool 7zip verwendet. Anschließend wird das Image (Raspian) auf die SD-Karte gespielt. Hierzu wird die Micro-SD-Karte in den Adapter gesteckt, der wiederum in den PC gesteckt wird. Anschließend wird der Win32 gestartet. Hierbei können die Standard-Einstellungen verwendet werden. Das entpackte Image wird ausgewählt (siehe Abbildung: Win32 Disk Imager - Nr. 1). Anschließend muss der Datenträger (siehe Abbildung: Win32 Disk Imager F- Nr.2) geprüft und gegebenenfalls korrigiert werden. Das Aufspielen kann einige Minuten in Anspruch nehmen.
SSH-Schnittstelle aktivieren
In den neueren Raspian Versionen ist die SSH-Schnittstelle (für Kommunikation über das Netzwerk, z.b. via Putty) aus Sicherheitsgründen deaktiviert. Daher muss dieser manuell aktiviert werden. Dazu muss in das Boot Verzeichnis der bespielten SD-Karte eine Datei mit dem Namen SSH eingefügt werden. Dies geht z.B. mittels Editor, indem ein leeres Textdokument mit dem Namen SSH erstellt wird. Diese Datei jedoch darf keine Dateiendung haben. Daher muss die Datei (SSH) zunächst auf den Desktop verschoben werden (sofern nicht schon dort vorhanden), anschließend kann über die Eingabeaufforderung von Windows die Dateiendung entfernt werden dazu müssen die folgenden Befehle eingegeben werden
cd desktop rename ssh.txt ssh
Auch wenn die Datei (SSH) mit einem anderen Programm erstellt wurde und/oder eine andere Endung hat, so bleiben die Befehle gleich. Lediglich die Datei Änderung muss bei zweiten Befehl entsprechend der tatsächlichen Endung angepasst werden. Durch die Eingabe von „cd dektop“ wird die Datei mit der entsprechenden Endung angezeigt.
HDMI Schnittstelle aktivieren
In manchen Versionen von Raspbian kommt es vor, dass die HDMI-Schnittstelle nicht aktiviert ist. Für das Aufsetzen des Raspberry Pi ist dies nicht zwangsläufig nötig, jedoch für spätere Funktion der Anzeige des Bildes, daher sollte die Schnittstelle schon bei Aufsetzen aktiviert werden. Hierzu genügt es im Boot verzeichnis die Datei: „config.txt“ zu öffnen und die Zeile „hdmi_safe=1“ am Ende der Datei zu ergänzen.
Raspberry Pi – Einstellung via Bildschirm, Maus und Tastatur
Anschließend kann die SD-Karte aus PC und Adapter entfernt werden und in den Raspberry Pi gesteckt werden. Danach können die Maus, die Tastatur und der Bildschirm sowie das LAN-Kabel angeschlossen werden. Die Reihenfolge ist egal. Wichtig ist nur, dass das Netzteil des Raspberry Pi zum Schluss angesteckt wird, da dieser dann sofort startet. Anschließend muss das Betriebssystem eingestellt werden. Hierzu genügt es den Aufforderungen am Bildschirm zu folgen. Es werden die Region und die Sprache (auch die Tastatur: default ist US-Tastatur) eingestellt. Anschließend sollte das Passwort geändert werden. Der Standard-Login lautet wie folgt:
Name: pi Passwort: raspberry
Raspberry Pi – Einstellung via PC und Putty
Alternativ, wenn Bildschirm, Maus oder Tastatur fehlen, kann die Einstellung über Putty erfolgen. Hierzu muss zunächst die IP-Adresse des Raspberry Pi ermittelt werden. Die Ermittlung erfolgt über den Router. Je nach Modell sieht der Ablauf anders aus. Sobald der Raspberry Pi angeschaltet und im Netzwerk ist, wird dieser im Router als „raspberrypi“ mitsamt der IP-Adresse angezeigt. Anschließend wird Putty gestartet. Anschließen wird die IP-Adresse eingegeben (siehe Abbildung: Putty – Nr. 1). Anschließend wird der Port eingestellt (siehe Abbildung: Putty – Nr. 2), diese ist im Normalfall die 22. Sollte die 22 nicht funktionieren, kann eine beliebige andere Zahl ausprobiert werden. In den meisten Fällen genügt dies aus. Andernfalls muss der Raspberry Pi neugestartet werden. Danach werden die Einstellungen zunächst gespeichert und dann geladen eingegeben (siehe Abbildung: Putty – Nr. 3), bevor auf „open“ geklickt wird eingegeben (siehe Abbildung: Putty – Nr. 4). Danach wird vom Raspberry Pi nach dem Namen und dem Passwort gefragt. Diese wurden bereit ober aufgeführt. Anschließend sollte das Passwort geändert und die Tastatur eingestellt werden. Hierzu muss der Befehl „sudo raspi-config“ eigegeben werden. Dadurch öffnet sich das Einstellungsmenü. Je nach Raspbian Version variiert der Aufbau.
Aktivierung Kamera
Damit das Kameramodul verwendet werden kann, muss dieses Aktiviert werden. Dazu wird zunächst das Kameramodul in den entsprechenden Anschluss (Buchse neben der HDMI-Buchse)gesteckt werden. Dieser besitzt eine Sicherung. Die Sicherung muss vor dem Stecken hochgezogen werden. Anschließend wird das Kabel gesteckt und die Sicherung wieder herunter gedrückt. Nachdem das Kameramodul physisch angeschlossen wurde, kann die Aktivierung über den folgenden Befehl begonnen werden.
sudo raspi-config
Die Freischaltung erfolgt in fünf Schritten (siehe Abbildung X), entweder über Putty oder direkt am angeschlossenen Bildschirm über die Einstellungen. Je nach Software Version kann der Aufbau der Menüs unterschiedlich gestaltet sein. 1. "Interfacing Opitons" ankicken 2. "Camera" anklicken 3. "Ja anklicken 4. "Ok" anklicken 5. Reboot des Raspberry Pi
Verbindung zwischen Arduino und Raspberry Pi
Die Verbindung zwischen Arduino uns Raspberry Pi erfolgt über drei Leitungen. Diese senden jeweils ein Signal vom Arduino zum Raspberry Pi, dessen Pins (GPIOs) mit der BCM-Zählweise deklariert wurde. Je nach Zählweise sind die Nummern unterschiedlich.
- Arduino Pin11 auf Pi GPIO 17 für die Aufnahme des Fotos
- Arduino Pin12 auf Pi GPIO27 für die Anzeigen des Fotos
- Arduino Pin13 auf Pi GPIO 22 zum Löschen des Foto.
Da der Arduino 5V auf seinen digitalen Ausgängen aussendet und der Raspberry Pi auf seinen Eingängen maximal 3,3V verträgt, muss die Spannung der Signale entsprechend gedrosselt werden. Dies erfolgt durch einen simplen Spannungsteiler, dessen Schaltung im folgenden Kapitel näher erläutert ist.
Erstellung der Platinen zur Spannungsteilung und Zusammenführung
Für die Erstellung der Platine, welche den Arudino mit dem Raperry PI verbinden soll, wurde die Software Multisim/Ultiboard genutzt. Zunächst wurde mittels Multiboard der Schaltplan konzipiert. Für die Funktion der Kaffeemaschine werden für die Weitergabe von Signalen für das Aufnehmen eines Fotos, das Anzeigen eines Fotos und dem Löschen des Fotos In- und Outputschnittstellen für Arduino und Rasperry PI benötigt. Um die Funktionsfähigkeit zu testen wurden zudem für jeden Vorgang eine LED integriert, welche bei einer Signalübertragung aufleuchten soll. Zudem musste ein Masseanschluss integriert werden. Anschließend wurde das Schaltbild in Ultiboard übertragen. Dort wurden die einzelnen Bauteile angeordnet und miteinander verbunden. Für das Fräsen der Platine wurden Gerber-Files im Format RS274X exportiert und an Herrn Ramesohl übergeben. Der erstellte Schaltplan in Multisim und das Platinenlayout in Ultiboard sind in Abbildung X wiedergegeben. Eine weitere Platine (siehe Abbildung X) wurde konzipiert, um Spannungsversorgung und Ground der 4 Schiebepotentiometer, auf Grund der limitierten Steckplätze des Arduino, zusammenzuführen (siehe Abbildung X).
Die beiden zuvor beschriebenen und in Multisim/Ultiboard konzipierten Platinen konnten nicht abschließend in die Kaffeemaschine implementiert werden, da diese mehrfach beim Löten, durch fehlende praktische Fähigkeiten im Bereich der Lötung der projektdurchführenden Studenten unbrauchbar gemacht wurden. Um dies bei weiteren Platinen zu verhindern und die betriebsfähigkeit des Projekts zur Abgabe zu gewährleisten, wurden beide Platinen, anhand der Layouts aus Multisim/Ultiboard, als Lochrasterplatinen (Abbildung X) realisiert.
Schaltung des Wiegemechanismus
Der Wiegemechanismus wird über vier Potentiometer realisiert. Diese werden über eine Spannungsversorgungsplatine auf jeweils eine Spannungsversorgung und eine Masse zusammengefasst, da der Arduino nur begrenzte Pins zur Spannungsversorgung zur Verfügung hat. Die Signalleitungen werden direkt an die analogen Eingänge A1-A4 des Arduinos angeschlossen.
Konstruktion der Kaffeemaschine
In der frühen Planungsphase des Projekts wurde deutlich, dass die Modifizierung einer bereits vorhandenen Kaffeemaschine nicht sinnvoll wäre. Grundlage dieser Entscheidung war hauptsächlich das Material. Daher entschieden wir uns, einen eignen Prototyp aus Holz zu fertigen. Das Holzgehäuse inklusive Wiegemeachanismus wurde mit Hilfe der Software zur Erstellung von 3-D Modellen "SketchUp" konzipiert. Anhand des in SketchUp modellierten Konstruktionsplans wurden anschließend die Einzelteile aus Holz gefertigt und durch Schrauben miteinander verbunden. Die Schiebepotentiometer und Federn wurden verklebt. Die Konstruktion lässt sich in 4 Teile aufgliedern:
Teil 1: Zunächst wurde das Grundgerüst entworfen, welches jeweils 4 Löcher auf den rechten und linken Seite für die Verkabelung der Schiebepotentiometer aufweist. Wichtig dabei ist zudem, dass die Höhe ausreichend für die Federn des Wiegemechanismus ist.
Teil 2: Verbunden mit den Reglern die Potentiometer und auf den Federn lagernd soll eine Holzplatte der Kaffeekanne als Stellfläche dienen. Die Holzplatte im Zusammenspiel mit Federn und Schiebepotentiometern bilden den Wiegemechanismus, welcher sich in Abhängigkeit des auf ihn lastenden Gewichts absenkt. Diese Absenkung wird durch die Schiebepotentiometer aufgenommen und an den Arduino weitergegeben.
Teil 3: Darauf wurde ein Aufbau gesetzt, welcher die Kaffeekanne umschließt. Dieser enthält zudem ein Loch auf der Oberseite für das Einsetzen eines handelsüblichen Trichters zum befüllen der Kaffeekanne, ohne diese zu entnehmen.
Teil 4: Für die Montage der Kamera sowie der Befestigung weiterer Komponenten wie Arduino und Rasperry PI wurde zuletzt eine Platte auf die Rückseite der Konstruktion gesetzt, welche die anderen beiden Teile überragt. Dies ist von Nöten, um der Kamera einen optimalen Aufnahmewinkel zu ermöglichen.
Berechnung der Federkonstante der Federn für den Wiegemechanismus
Wie in der Konstruktionsphase konzipiert, sollen für den Wiegemechanismus neben Schiebepotentiometern 4 Druckfedern verwendet werden. Um zu ermitteln, welche Federn beschafft werden müssen, mussten im Vorfeld einige Kennzahlen ermittelt werden. Zunächst wurden die Gewichte der für den Wiegemechanismus relevanten Teile gemessen (siehe Tabelle "Kennzahlen für Wiegemechanismus"). Daraus wurden die optimalen Federeigenschaften errechnet (siehe Tabelle "Optimale Feder"). Die wichtigste Kennzahl stellt dabei die Federrate (R) dar. Diese gibt an, wie stark sich die Feder bei einer Krafteinwirkung staucht und lässt sich mit der Formel errechnen. Daraus ergibt sich . Die Masse "m" stellt sich dabei aus dem Gewicht der Bodenplatte, der Kaffeekanne und dem maximalen Inhalt (700 ml) zusammen, ist die Reichweite des Schiebepotentiometers und g die durch ein Schwerefelde verursachte Kraft auf einen Körper, welche mit definiert ist. Abschließend konnte daraus eine Feder ermittelt werden, derer Eigenschaften der "optimalen Feder" am nähsten kommen. Folgend werden die ermittelten Daten in drei Tabellen wiedergegeben.
Bezeichnung | Gewicht |
Kaffeekanne | 0,17 kg |
Inhalt (min.) 100 ml | 0,10 kg |
Inhalt (max.) 700 ml | 0,70 kg |
Bodenplatte | 0,17 kg |
Kaffeekanne + Inhalt (leer) | 0,44 kg |
Kaffeekanne + Inhalt (voll) | 1,04 kg |
Optimale Feder
Bezeichnung | Formelzeichen | Kennzahlen |
Aufzunehmende Kraft Fn(min) | Fn | 4,31 N |
Aufzunehmende Kraft Fn(max) | Fn | 10,19 N |
Maximale Höhenveränderung | Delta h | 38 mm |
Federkonstante bei einer Feder | R | 0,27 N/mm |
Federkonstante je Feder bei 4 Federn | R/4 | 0,07 N/mm |
Bezeichnung | Kennzahl | |
L0 | Maximale Höhe | 71,30 mm |
Ln | Minimale Höhe | 23,25 mm |
Delta h | Maximale Höhenveränderung | 48,05 mm |
D | Äußerer Durchmesser | 20,00 mm |
Fn | Maximale Krafteinwirkung | 16,82 N |
R | Federkonstante | 0,09 N/mm |
Simulink Programm zum Auslesen der Potentiometer
Zunächst Tests mit LEDs für den Status (Rot, Gelb, Blau) zur Simulation der Ausgabe des Arduinos
Raspberry Pi Programm zur Aufnahme/Anzeige des Fotos
test
Tests
Begleitende Test z.B. des Simulink Programms (s.o.) Abschließende Tests: Test der gesamten Konstruktion -Leere Kanne -Volle Kanne -Grenzwerte überprüfen -Kannenposition ändern
Ergebnis
Zusammenfassung
Lessons Learned
Ausblick
Verbesserungspotenzial hinsichtlich unseres Entwurfs
- Konstruktion der Kaffeemaschine für Kaffeekannen mit größerem Umpfang
- Konzipierung des Wiegemechanismus mit einer größeren Anzahl Federn für Stabilitätszugewinn
- Komplettrealisierung mit Rasperry PI, verzicht auf Arduino
Verbesserungspotenzial hinsichtlich eines neuen Entwurfs
- RFID Kartenleser (z.B. Arbeitsausweis) zur Erkennung der Person. Foto wird aus Datenbank verwendet, wodurch immer ein "gutes" Foto vorhanden ist. Ggf. problematisch hinsichtlich der DSGVO.
- Mehrere Kameras die den gesamten Raum überwachen. Zusätzlich Gesichtserkennung und automatische Auswahl des "besten" Bildes"
- Sabotage Schutz: Diverse Möglichkeiten z.B.
- Wiege-Mechanismus unter und auf der Kanne (zur Ermittlung des tatsächlichen Gewichts des Inhalts)
- Füllstand ebenfalls mittels Kamera überwachen (nur bei Transparenter Kaffeekanne möglich)
- Prüfung ob neuer Kaffee gekocht wird, direkt in der Kaffeemaschine prüfen
Projektdaten
Die Projektdaten sind in SVN im Projektordner abgespreichert. Diese umfassen folgende Punkte:
- Projektplan
- Konstruktionsplan Wiegemechanismus
- Konstruktionsplan Gehäuse Prototyp
- Leiterplatten Layout Spannungsversorgungsplatine
- Leiterplatten Layout Spannungsteilerplatine
- Raspberry Pi Programm Code
- Arduino Programm Code
- Simulink Programm
- Testdokumentationen
YouTube Video
Weblinks
Raspberry Pi - Desktop Image für virtuelle Maschine - Download unter: https://www.raspberrypi.org/downloads/
Raspberry Pi - Raspbian Image - Download unter: https://www.raspberrypi.org/downloads/raspbian/
Literatur
- ↑ Download des Betriebssystems Raspbian. Abgerufen am 02.01.2019.
- ↑ Download des Win32 Discimagers. Abgerufen am 02.01.2019.
- ↑ Download des 7zip File Managers. Abgerufen am 02.01.2019.
- ↑ Download des SSH-Clients Putty. Abgerufen am 02.01.2019.
→ zurück zur Übersicht: WS 18/19: Angewandte Elektrotechnik (BSE)