Elektronischer Safe
Autoren:Thomas Brice Datche Kenge,Timo Malchus, Dominik Schröer
Betreuer: Marc Ebmeyer
→ zurück zur Übersicht: WS 20/21: Fachpraktikum Elektrotechnik (MTR)
Einleitung
Dieses Projekt ist Teil des GET Fachpraktikums im 5. Semester Mechatronik, WISE 2020/2021. Es soll ein mechatronisches System erstellt werden. Wir haben uns für einen elektronischen Safe entschieden, die kleine Wertsachen, wie Ihren Schmuck, Bargeld oder Kreditkarten sicher aufbewahrt.
Anforderungen
- Elektromechanischer Schließmechanismus
- Sicherung mit einem Code
- Flexible Eingabe mit einer Fernbedienung
- Optische und akustische Signalgebung
- Möglichkeit, das Passwort ändern zu können
- Erkennen, ob der Deckel geschlossen oder geöffnet ist
- Groß genug, um Schlüssel, Brieftasche oder das Handy zu verstauen
Funktionaler Systementwurf/Technischer Systementwurf
Das System besteht aus einem kleinen Kasten, der entweder aus Holz, Kunststoff oder Metall gefertigt ist. Man kann ihn mit einer Fernbedienung ansteuern. Durch Eingabe eines Passworts wird der Schließmechanismus betätigt, der aus einem Servomotor besteht und einen Riegel in einer Raste platziert, sodass sich der Deckel nicht mehr öffnen lässt.
Mit einem Ultraschallsensor wird überprüft, ob der Deckel geschlossen oder geöffnet ist. Mithilfe eines LCD Displays wird mit dem Benutzer kommuniziert. Er zeigt an, ob das Passwort korrekt ist, oder der Deckel gerade geöffnet oder geschlossen ist.
Weiterhin wird mit dem Summer ein Alarm realisiert, der beispielsweise auslöst, wenn der Code mehrmals falsch eingeben wurde.
Komponentenspezifikation
Die größte Komponente des Safes umfasst die Konstruktion und den Bau eines angemessenen Gehäuses, um Wertsachen unterbringen zu können. Dazu wird ein Kasten aus Edelstahl verwendet. Es ist sehr stabil und verschleißfest. Im Gegensatz zur ursprünglichen Idee den Verschlußmechanismus von Außen anzubringen hat es sich als sinnvoller herausgestellt, den Servomotor innen einzubauen. Die gesamte Elektronik wird ebenfalls im Inneren des Safes untergebracht.
Damit
Herstellung des Safes aus Edelstahl
Abstandserfassung mit dem Ultraschallsensor
Kommunikation über eine IR- Fernbedienung
Um den Safe ansteuern zu können und Benutzereingaben zu verarbeiten, wird eine drahtlose Infrarotverbindung über eine Fernbedienung und einen Infrarotempfänger aufgebaut. Beide Elemente sind im Packet des Arduino Startersets enthalten.
Das Infrarotsignal verwendet Wellenlängen von 950nm, die von der Fernbedienung ausgesendet werden. Dabei wird, um Daten übertragen zu können, das Signal über eine Trägerfrequenz moduliert. Das bedeutet, dass der Sender das Licht in einer entsprechenden Taktfrequenz zwischen 30kHz und 60kHz ein- und ausschaltet, wobei hierdurch noch keine kompletten Informationspakete übertragen werden. Wird das Licht schnell ein- und ausgeschaltet, so wird eine Information übertragen (mark); registriert der Empfänger kein moduliertes Signal, ist es ein space. Hardwaremäßig geschieht dies mithilfe einer Mikroelektronik, die das einprogrammierte Protokoll auf einen Transistor weiterleitet, sodass eine Infrarotdiode angesteuert wird. Auf der Empfängerseite wird das Signal von einer Filter- und Verstärkerschaltung entgegengenommen. Das Signal wird von einer Photodiode empfangen und auf einen Verstärker gegeben. Damit dann auch die richtigen Trägerfrequenzen verarbeitet werden, wird ein Bandpassfilter zwischengeschaltet. Nach der Demodulation wird das Signal mit einer Komparatorschaltung verglichen, um festzustellen, ob ein Signal empfangen wird. Wird kein Signal empfangen, so erzeugt die Schaltung am Ausgang eine 1, ansonsten eine Null. Die Übertragung der Zeichen von der Fernbedienung auf den Empfänger wird durch das Protokoll festgelegt. Darin ist festgeschrieben, in welche Zeitabstände eine bestimmte Anzahl von marks und spaces eingeteilt wird, um ein Zeichen zu übermitteln. Dabei benutzt jeder Hersteller sein eigenes Übertragungsprotokoll.
Verschlussmechanismus
Ansteuerung des LCD-Displays
Umsetzung (HW/SW)
Software
Bei diesem Projekt bietet es sich an, die Software mithilfe von Zustandsautomaten zu realisieren. Zustandsautomaten sind ein Konzept der Informatik, bei dem der Ablauf eines Programms nicht nur durch die Eingabe bestimmt ist, sondern auch von den Eingaben, die in der Vergangenheit getätigt wurden. Man unterscheidet zwischen dem Mealy-Automaten und dem Moore-Automaten, wobei beide ineinander überführt werden können.
Ein Automat befindet sich zu Anfang in einem fest definierten Zustand, dem Initialzustand. Wird eine Eingabe getätigt, die seinem Eingabealphabet entspricht, so wird diese verarbeitet und es wird eine Ausgabe produziert, die von der jeweiligen Eingabe und von dem Zustand abhängig ist, in dem sich der Automat aktuell befindet. Gleichzeitig wechselt der Automat seinen Zustand und das Verfahren beginnt von Neuem. Dabei müssen die Eingaben nicht zwangsläufig durch den Benutzer gemacht werden, eine Eingabe kann beispielsweise auch ein Sensorwert oder ein abgelaufener Timer-Interrupt sein.
Auf diesem Konzept aufbauend ist ein Zustandsautomat entwickelt worden, der den Betrieb des Elektronischen Safes koordiniert. Eine vereinfachte, handschriftliche Version des Zustandsautomaten ist im nebenstehenden Bild zu sehen.
Der Safe befindet sich zunächst im Initialzustand, also das Schloss ist geöffnet. Damit er aber in Betrieb gehen kann, muss die Klappe geschlossen werden. Erst dann kann ein PIN ausgewählt und bestätigt werden. Nach erfolgreicher Pineingabe ist der Safe betriebsbereit. Ein PIN kann zweimal falsch eingeben werden. Nach der dritten Falscheingabe wechselt der Safe in den Zustand "Alarm" der erst nach einer gewissen Zeit aufhört und dann im Zustand "Safe geschlossen" weitermacht. Ebenso wechselt der Safe in den Alarmzustand, wenn in den Zuständen in denen das Schloss geschlossen ist, der Ultraschallsensor ein Öffnen der Klappe registriert, was einem manuellen Aufbrechen entsprechen würde. Der Übersichtlichkeit wegen wurde in der Zeichnung darauf verzichtet.
Die Programmierung der Software selbst wurde mit der Arduino IDE realisiert. Sie umfasst einen Editor inklusive Compiler und Bootloader, jedoch keine Möglichkeiten zum Debuggen des Quellcodes. Die Programmiersprache ist C, jedoch in einer etwas abgewandelten Form, sodass man bei der Programmierung durchaus auf einige Eigenheiten gestoßen ist.
Hardware
Komponententest
Ergebnis
Zusammenfassung
Lessons Learned
Projektunterlagen
Projektplan
Projektdurchführung
YouTube Video
Weblinks
Literatur
→ zurück zur Übersicht: WS 20/21: Fachpraktikum Elektrotechnik (MTR)