Elektronischer Safe: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 53: Zeile 53:
== Umsetzung (HW/SW) ==
== Umsetzung (HW/SW) ==
===Software===
===Software===
Bei diesem Projekt bietet es sich an, die Software mithilfe von Zustandsautomaten zu realisieren. Ein Zustandsautomat ist eine bestimmte Art und Weise, ein Programm umzusetzen. Dabei unterscheidet man zwischen einem Mealy- Automaten und einem Moore-Automaten, wobei beide Äquivalente zueinander herstellen und ineinander überführt werden können.  
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. <br/>
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. <br/>
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. <br/>
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. <br/>
 
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===





Version vom 14. Januar 2021, 13:17 Uhr

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

  1. Elektromechanischer Schließmechanismus
  2. Sicherung mit einem Code
  3. Flexible Eingabe mit einer Fernbedienung
  4. Optische und akustische Signalgebung
  5. Möglichkeit, das Passwort ändern zu können
  6. Erkennen, ob der Deckel geschlossen oder geöffnet ist
  7. 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.

Blockdiagramm der Komponenten
Illustration des Schließmechanismus


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

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)