Elektronischer Safe

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen

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

Datei:Poster.PNG
Werbeplakat für die virtuelle Projektmesse
  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

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.[1] Dabei benutzt jeder Hersteller sein eigenes Übertragungsprotokoll.[2]

Verschlussmechanismus

Für unser Projekt werden wir einen Servomotor als Schließmechanismus für unsere elektronische Safe verwenden.Ein Servo ist ein kleines Gerät, das eine Abtriebswelle hat.Ein Servo verfügt über einige Steuerkreise und ein Potentiometer (einen variablen Widerstand, auch Poti genannt), der mit der Ausgangswelle verbunden ist. Mit diesem Potentiometer kann die Steuerschaltung den aktuellen Winkel des Servomotors überwachen. Wenn sich die Welle im richtigen Winkel befindet, schaltet der Motor ab. Wenn die Schaltung feststellt, dass der Winkel nicht korrekt ist, wird der Motor in die richtige Richtung gedreht, bis der Winkel korrekt ist. Die Abtriebswelle des Servos kann sich um 180 Grad bewegen. Normalerweise liegt es irgendwo im 210-Grad-Bereich, variiert jedoch je nach Hersteller. Mit einem normalen Servo wird eine Winkelbewegung zwischen 0 und 180 Grad gesteuert. Ein normaler Servo kann sich mechanisch nicht weiterdrehen, da ein mechanischer Anschlag am Hauptausgangsgetriebe angebracht ist. Die an den Motor angelegte Leistungsmenge ist proportional zur Entfernung, die er zurücklegen muss. Wenn also die Welle eine große Strecke drehen muss, läuft der Motor mit voller Drehzahl. Wenn nur ein geringer Betrag gedreht werden muss, läuft der Motor langsamer. Dies wird als Proportionalsteuerung bezeichnet.Außerdem hat Jeder Servo drei Anschlüsse: Speisung, Masse und PWM Signal.In diesem Projekt wurde die Strom- und Masse-Pins direkt mit den Arduino 5 V- und GND-Pins verbunden . Der PWM-Eingang wurde an einen der digitalen Ausgangspins des Arduino angeschlossen.Der Motor mit dem Arduino wurde wie in der folgenden Bild angeschloßen. Rotes Kabel - 5 V Pin Arduino Braunes/schwarzes Kabel - Erdungspin Arduino Gelbes Kabel- PWM (10) Pin Arduino

Servomotor mit Arduino

Ansteuerung des LCD-Displays

Eine LCD, oder Flüssigkristallanzeige, basiert auf Flüssigkristallen, die ihre Polarisationsrichtung ändern, wenn eine elektrische Spannung angelegt wird. Sie werden undurchsichtig. In LCD-Anzeigen sind diese Flüssigkristalle in Segmenten angeordnet und können unabhängig voneinander ihre Transparenz verändern. Sie werden z.B. in digitalen Armbanduhren, Druckerbildschirmen, Thermometern oder in Autos eingesetzt.Für unser Projekt wird es als Ausstiegshilfe verwendet, d.h. um dem Benutzer Informationen zu geben. LCD-Displays gibt es in verschiedenen Formen und mit den unterschiedlichsten Segmentanordnungen, zum Beispiel als Pixelraster. Im Arduino-Bereich sind mehrzeilige alphanumerische LCD-Displays mit 16-poligen Anschlüssen beliebt. Sie basieren oft auf dem HD44780-Chip von Hitachi und sind mit der LiquidCrystal-Bibliothek von Arduino erhältlich. Sie sind relativ einfach anzuschließen ein LCD Display kann im 4 oder 8 Bit Modus angesprochen werden. Im 4 Bit Modus benötigt man 4, im 8 Bit Modus 8 Datenkabel aus ebenso vielen digitalen Pins des Arduino-Boards. Es wird wie auf dem recht unten dargestellten Schaltbild angeschlossen. Je nach Display-Typ gibt es einen Anschluss für die Hintergrundbeleuchtung und ein Potentiometer, um den Anzeigekontrast zu regeln. Zu beachten ist, dass die Displays, die mit deutlich weniger Pins auskommen, einen zusätzlichen Controller haben und einfach über die I2C-Schnittstelle vom Arduino angesteuert werden können. So ist I2C eine Datenverbindung, die Steuersignale zwischen verschiedenen elektronischen Komponenten ermöglicht.

Anschließen des LCD an den Arduino



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.[3]
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

https://starthardware.org/lcd/

Literatur


→ zurück zur Übersicht: WS 20/21: Fachpraktikum Elektrotechnik (MTR)

  1. IR Remote Control Theory abgerufen am 15.01.2021
  2. IR-Protokolle abgerufen am 15.01.2021
  3. [Vorlesungsskript: Zustandsautomation von Prof.Dr. Axel Thümmler]