Projekt 87: Kaffeekannen Kamera: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Zeile 132: Zeile 132:
==== Erstellung der Platine zur Spannungsteilung ====
==== Erstellung der Platine zur Spannungsteilung ====


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.
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 wurde konzipiert, um Spannungsversorgung und Ground der 4 Schiebepotentiometer, auf Grund der limitierten  Steckplätze des Arduino, zusammenzuführen (siehe Abbildung X).


==== Schaltung des Wiegemechanismus ====
==== Schaltung des Wiegemechanismus ====

Version vom 3. Januar 2019, 09:01 Uhr


Autoren: Maximilian Harrer und Tobias Wemmer
Betreuer: Prof. Schneider

→ zurück zur Übersicht: WS 18/19: Angewandte Elektrotechnik (BSE)

Abbildung X: Schematischer Aufbau der Kaffeekannen Kamera

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

Projekt

Projektplan

Abbildung X: Projektplanung Gantt-Chart
Tabelle X: 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 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

Abbildung X: Win32 Disk Imager
  • 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

Abbildung X: Kommunikation über Putty

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
 Passowort: 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.

Verbindung zwischen Arduino und Raspberry Pi

3 Leitungen (1 Foto; 2 Anzeigen; 3 Löschen) Anpassund der Spannung von 5V (Arduino) auf 3,3V (Raspberry Pi) via Spannungsteiler


Erstellung der Platine zur Spannungsteilung

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 wurde konzipiert, um Spannungsversorgung und Ground der 4 Schiebepotentiometer, auf Grund der limitierten Steckplätze des Arduino, zusammenzuführen (siehe Abbildung X).

Schaltung des Wiegemechanismus

4 Potentiometer - jeweils eins pro seite 1 Taster

Konstruktion der Kaffeemaschine

Abbildung X: Kaffemaschine in SketchUp

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 Federkonstantede 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 Kaffekanne 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.

Abbildung X: Wiegemechanismus
Tabelle X: Kennzahlen für Wiegemechanismus
Bezeichnung Gewicht
Kaffekanne 0,17 kg
Inhalt (min.) 100 ml 0,10 kg
Inhalt (max.) 700 ml 0,70 kg
Bodenplatte 0,17 kg
Kaffekanne + Inhalt (leer) 0,44 kg
Kaffekanne + Inhalt (voll) 1,04 kg

Optimale Feder

Tabelle X: 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
Tabelle X: Gewählte Feder
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

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

- 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

Leiterplatten Layout
Schaltplan
Konstruktionsplan Wiegemechanismus
Konstruktionsplan Gehäuse Prototyp
Raspberry Pi Programm Code (Auslesen Arduino Signale, Ansteuerung Kamera und Bildschirm)
Arduino Programm Code (Auslesen Sensoren und Signale an Raspberry Pi)
Simulink Programm (Arduino Code)

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

  1. Download des Betriebssystems Raspbian. Abgerufen am 02.01.2019.
  2. Download des Win32 Discimagers. Abgerufen am 02.01.2019.
  3. Download des 7zip File Managers. Abgerufen am 02.01.2019.
  4. Download des SSH-Clients Putty. Abgerufen am 02.01.2019.

→ zurück zur Übersicht: WS 18/19: Angewandte Elektrotechnik (BSE)