Hochsicherheitssafe

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen

Autoren:Viktor Mirosch, Daniel Schwarz, Maik Kleinspohn
Betreuer: Marc Ebmeyer


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

Hochicherheitssafe


Einleitung

Im Rahmen des Praktikums im Fach "Angewandte Elektrochtechnik" im Studiengang Business and Systems Engineering, soll ein Projekt erstellt werden. In diesem Projekt soll ein Sensor ein Signal empfangen, welches an einen Microcontroller weitergegeben wird, der dieses Signal verarbeitet. Im Anschluss gibt der Microcontroller ein Signal an den Aktor, der eine bestimmte Aktion durchführt.

Wir haben uns für einen Hochsicherheitssafe entschieden. Dieser lässt sich nur mithilfe einer Chipkarte und einem Code entsperren. Bei falscher Eingabe ertönt ein Alarmsignal, eine rote Diode leuchtet und der Safe bleibt geschlossen. Bei richtiger Eingabe erfolgt ein Kontrollpiepen, eine grüne Diode leuchtet und der Safe entsperrt sich.

Anforderungen

  1. Steuerung durch Nummernfeld und RFID Chip
  2. Code änderbar
  3. Akustisches Signal bei jedem Tastendruck
  4. Grünes Licht + einmaliges Piepen bei richtiger Eingabe
  5. Rotes Licht + 3 sekündiger Alarmton bei falscher Eingabe
  6. Öffnen und Schließen durch Servomotor
  7. Schließen des Bolzens durch Taster im Safe

Funktionaler Systementwurf/Technischer Systementwurf

Der Safe schließt mit einem Bolzen automatisch, sobald die Tür im Inneren des Safes einen Taster berührt. Entriegelt wird der Safe mithilfe eines RFID Chips und einem Code der im Tastenfeld eingegeben werden muss. Bei jedem Tastendruck des Bedienfelds gibt es ein kleines akustisches Feedback. Sobald der richtige Code eingegeben und der passende Chip vor den Sensor gehalten wurde, entsperrt der Bolzen mit einem akustischen Signal und eine grüne Diode leuchtet auf. Sollte entweder der falsche Chip oder der falsche Code eingegeben werden, bleibt der Safe geschlossen und es ertönt ein Alarmsignal und eine rote Diode leuchtet.

Der Code soll durch eine bestimmte Tasteneingabe am Bedienfeld änderbar sein.

Funktionszeichnung Hochsicherheitssafe
Safe mit geschlossener Tür
Safe mit geöffneter Tür









































Komponentenspezifikation

Anzahl Name Spezifikationen
1 Arduino Uno R3
Betriebsspannung:		5 V                      
Eingangsspannung:		7 – 12 V                                                  
Digitale Ein/Ausgänge:	        14 (6 PWM)                                                 
Analoge Eingänge:		6                                                            
Takt:				16 MHz
1 Servomotor TowerPro SG90
Drehmoment:			1,8 kg/cm
Geschwindigkeit:		0,12 sek/60°
Gewicht:			9 g
Maße:			        23 x 12,2 x 29
Pulsweite:			500 – 2400 µs
1 Tastenfeld Debo Test 4x3
Schnittstelle:			7 Pin Stiftkontakt
Maße:				70 x 77 x 1
Kabellänge:			88 mm (mit Verbinder)
3 Widerstand
Widerstandswert:               100 Ω
3 LED (Grün, Gelb, Rot)
Wellenlänge:			700 nm
Sperrspannung:			5 V
1 Piezo Speaker
Geräusch-Entwicklung:		85 db
Resonanz-Frequenz:		2,3 kHz
Spannung:			5 V
1 RFID RC522 Chipleser
Frequenz:			13,56 MHz
Leseabstand:			0 – 60 mm
Maße:				85,5 x 54 x 0,87
1 RFID RC522 Chip
IC Chip:			MFRC522
Maße:				32 x 40,5 x 4,2
1 AC/DC Adapter LJH-186
Input:				100 – 240 V AC
Output:			        9 V DC 1 A

Umsetzung (HW/SW)

In diesem Abschnitt werden alle genutzten Software und Hardware Komponenten genauer betrachtet. Dabei geht es hauptsächlich um die Programmierung mit Arduino IDE, die Erstellung des Gehäuses mit dem "ANYCUBIC Chiron" 3D Drucker und dem Aufbau der Schaltung mithilfe des Arduino Uno Startersets.

Schaltungsaufbau

Das Arduino Uno Starterset liefert bereits viele wichtige Bauteile die für die Schaltung benötigt werden. Dazu gehören die LED's, die Widerstände, der Servomotor, der Buzzer und vor allen Dingen der Arduino Uno Microcontroller. Den RFID RC522 Chipsensor, den dazugehörigen Chip und das Nummernfeld mussten zusätzlich beschafft werden. Die folgenden Abbildungen zeigen die Schaltung für den Hochsicherheitssafe mit den Programmen Fritzing und Multisim. Durch die Fritzingdarstellung lässt sich ein Schaltplan erstellen, in dem die Schaltungsverbindungen und die Bauteile leicht nachzuvollziehen und zu verstehen sind, während Multisim sich auf die fachgerechte Darstellung in einem Schaltplan spezialisiert. Um bei Multisim die Schaltung möglichst verständlich zu halten wurden der Microcontroller, das Nummernfeld und der Sensor vereinfacht dargestellt.

Fritzingschaltung
Multisimschaltung




























Beginnend mit dem Tastenfeld sehen wir, dass dieses an den Pins A 0 - A 5 & D 2 angeschlossen wurden. Den Schaltungsaufbau konnten wir durch Recherche ermitteln. Die Funduino Seite bietet hier eine Menge nützlicher Infos, aus der wir auch die Schaltung für das Nummernfeld umsetzen konnten. Für weitere Informationen stehen folgende Links zur Verfügung: Anschluss Tastenfeld (1)Anschluss Tastenfeld (2)

Um die gesamte Schaltung auf dem Arduino unterzubringen haben wir uns für die analogen Pins 0 - 5 statt den vorgegebenen digitalen Pins entschieden. Diese funktionieren genauso gut wie die digitalen Pins da für die Tasteneingaben kein digitales Signal benötigt wird.

Der genutzte Summer ist ein Piezzo Speaker. Dieser wurde an dem Pin D 4 angeschlossen, da der Summer ein sogenannter aktiver Buzzer ist und somit die Frequenz variieren kann. Um diesen anzusteuern und verschiedene Töne zu erzeugen wird der digitale Pin benötigt.

Die 3 LED's sind an den Pins D 5 - 7 angeschlossen. Um die LED's vor zu hohen Strömen zu schützen sind jeweils Widerstände in höhe von 100 Ohm vorgeschaltet.

Der Servomotor ist das einzige Bauteil, welches eine höhere Spannung benötigt und ist deswegen mit der 5 Volt Quelle verbunden. Damit der Arduino wie gewünscht die Stellung des Motors bestimmen kann wird auch hier der digitale Pin D 3 genutzt. Weitere Informationen zum Aufbau findet man hier.

Das letzte Bauteil der Schaltung ist der RFID RC 522 Sensor. Wie auch beim Tastenfeld konnten wir sehr nützliche Quellen auf der Funduino Seite finden die den richtigen Anschluss des Sensors schildern. Die genutzten Pins sind die digitalen Pins D 9 - 13. Für weitere Informationen steht der folgenede Link zur Verfügung: RFID Sensor

Um Platz zu sparen haben wir bewusst auf ein Breadboard für die Bauteile verzichtet. Dadurch kann der Platz innerhalb des Safes hauptsächlich für die Aufbewahrung von Gegenständen genutzt werden, während das Design des Safes trotzdem klein bleibt.

Fertige Schaltung


























Programmierung

Zuerst haben wir bestimmt welche Position des Motors der Anfangszustand ist. Wir haben uns für eine Drehung auf die 180° Position entschieden, da so der Servomotor den Safe schließt sobald er an den Strom angeschlossen wird. Dadurch kann der Safe nicht ausgetrickst werden, indem man ihn kurz vom Strom nimmt. Die geöffnete Position liegt demnach bei der 90° Position. Im gleichen Schritt wurden noch die Pins für die 3 LED's festgelegt, die auf Pin 5-7 liegen.

Servomotor deklarieren













Als nächstes haben wir das Nummernfeld deklariert. In diesem Schritt haben wir der Software zu verstehen gegeben, das unser Nummernfeld 3 Spalten und 4 Zeilen hat. Dadurch konnten wir dann für jede Taste einen Pin definieren. In diesem Schritt wurde auch das erste Passwort festgelegt, dass man später durch eine bestimmte Tastenkombination noch beliebig ändern kann.

Nummernfeld deklarieren

























Im folgenden Schritt findet die Deklaration des RFID Lesers statt. Um diesen zu deklarieren wurden 2 Libarys eingebunden die benötigt werden um den Sensor zu betreiben. Die Pins 9 und 10 wurden mit der Reset- und der Auswahlleitung belegt. Nun überprüft die Software ob der Safe geschlossen ist und lässt die Rote LED leuchten wenn sich der Zustand des Motors auf der Position geschlossen befindet.

RFID Leser deklarieren

















Wird jetzt der richtige Chip vor den Leser gehalten kann ein Code eingegeben werden. Der Scanner findet durch den Code auf dem Chip heraus, ob dieser der passende Schlüssel ist. Sollte dies der Fall sein leuchtet eine gelbe LED und das Passwort kann eingegeben werden. Sollten die Tastatureingaben mit den vorgesehenen variablen (dem festgelegten Passwort) übereinstimmen öffnet sich der Safe, indem der Motor sich auf die Position geöffnet stellt und die grüne LED leuchtet. Wurde das Passwort falsch eingegeben leuchtet die Rote LED für eine kurze Zeit und ein Signalton ist zu hören. Anschließend findet ein neuer Versuch statt. Nach 3 falschen Eingaben springt die LED wieder auf Rot und man muss den Chip erneut vor den Leser halten um das Passwort einzugeben.

Authentifikation































Jetzt überprüft das Programm ob der Safe offen ist. Sollte dies der Fall sein leuchtet eine grüne LED. Mit der Raute Taste kann dieser dann geschlossen werden, indem der Motor wieder auf die geschlossene Position fährt. Um dem Safe einen neuen Code zuzuweisen muss die Stern Taste gedrückt und der alte Code eingegeben werden. Bei richtiger Eingabe leuchtet die gelbe LED und ein neuer Code kann eingegeben werden.

Safe schließen/ Code ändern




















Der hier gezeigte Quellcode beinhaltet nicht die gesamte Programmierung, da dies zu viel Platz einnehmen würde. Daher haben wir uns in diesem Abschnitt auf die Programmierung der wesentlichen Funktionen konzentriert. Den vollständigen Quellcode kann man im SVN unter folgendem Link finden: Programmierung Safe

Gehäuse

Die erste Überlegung beim Gehäuse galt dem zu verwendenden Material. Zuerst wollten wir den Safe aus Metall fertigen. Jedoch wäre dies ein sehr hoher Aufwand gewesen und da unser Projekt sich auf die Umsetzung des Microcontrollers und der Funktionen konzentriert, haben wir beschlossen das Material so zu wählen, dass der Hauptteil der Arbeit sich auf die Funktionen konzentrieren kann. Daher entschieden wir uns für die Nutzung eines 3D Druckes (ANYCUBIC Chiron) mit einem Kunststoff (PLA) Filament. Dieses erwies sich als sehr Widerstandsfähig und ist für unseren Zweck das optimale Material. Zur Erstellung des 3D Modells für den Drucker wurden die Programme Fusion 360 und Ultimaker genutzt. Dabei haben wir uns das Programm selber näher gebracht und durch ausprobieren die erforderlichen Handgriffe erlernt.

Das Tresorgehäuse besteht aus 3 Komponenten. Die erste Komponente ist der Aufbewahrungskasten des Safe's. Die Größe die dieser haben soll wurde abgeschätzt, indem wir unsere Wertsachen zusammengelegt haben und um diese ein Gehäuse gezeichnet haben, sodass genug Stauraum vorhanden ist. Zusätzlich haben wir noch die Schaltung im inneren berücksichtigt und den Deckel für die Schaltung. Diese sollte verdeckt sein, sodass auch bei geöffnetem Safe niemand einfach so etwas an der Schaltung ändern kann. Um den Safe möglichst klein zu halten wurde, wie bereits in einem früheren Abschnitt erwähnt, auf ein Breadboard verzichtet. Um die Schaltung mit Strom zu versorgen wurden hinten im Kasten noch ein Loch gebohrt um ein Kabel für den Microcontroller hindurch zu legen. Am Boden wurden 4 kleine Beine hinzugefügt, damit die Tür beim öffnen nicht über den Boden schleift. Die Tür schließt, indem der Motor den Arm vor den kleinen Schließmechanismus in der Mitte des Gehäuses fährt. In den folgenden Abbildungen sehen wir den Safe zusammengebaut.

Draufsicht
Links unten
























Die Tür hat an der Vorderseite Aussparungen für die 3 verschiedenen Signal LED's. Zudem befindet sich darunter ein kleines Fenster für den RFID Sensor und ein Schlitz für die Verkabelung des Nummernfeldes. Dieses wird mithilfe einer Klebefläche auf der Rückseite auf den Tresor geklebt. Links an der Tür ist ein kleiner Griff zu sehen der das öffnen des Safe's erleichtern soll. Die Rückseite bietet Platz für den Arduino Microcontroller und die Schaltung. Um den Arduino zu befestigen befinden sich in der Mitte 4 Schraublöcher, die mit dem Lochbild auf dem Arduino übereinstimmen. Beim Fenster für den RFID Sensor befinden sich 4 weitere Schraubverbindungen um den Sensor zu befestigen. Die gesamte Schaltung ist umrahmt von einem Kasten, der genau auf die Schaltung passt und an den Ecken angeschraubt werden kann. Für die Stromversorgung und für die Kabel des Servomotors befindet sich unter der Schaltung eine kleine Aussparung. Rechts an den beiden Armen mit den Schraublöchern wird der Motor befestigt. Um die Tür mit dem inneren des Safe's zu verbinden, befinden sich links noch Angeln für die Tür die durch kleine Metallstäbe mit dem Gehäuse verbunden werden und so ein leichtes öffnen der Tür gewährleisten.

Vorderansicht Tür
Rückansicht Tür

































Komponententest

Die LED's konnten getestet werden, indem wir diese mit den Widerständen angeschlossen haben und dadurch überprüfen konnten ob alles in Ordnung ist. Die Widerstände wiederum wurden vorher mit einem Multimeter überprüft.

Auch der Servomotor wurde einzeln an den Arduino angeschlossen. So wurde überprüft ob jede Stellung ordnungsgemäß angesteuert werden kann.

Das Nummernfeld gibt im Programm Arduino IDE bei richtigem Anschluss ein Feedback, indem es anzeigt welche Taste gedrückt wurde. So wurde überprüft ob bei gedrückter Taste auch das gewünschte Signal weitergeleitet wurde.

Den Buzzer haben wir bereits in den vorgegangenen Praktika genutzt und konnten so die Funktionalität bestätigen. Auf die gleiche Weise wurde das Arduino Board geprüft.

Den RFID Sensor haben wir überprüft, indem wir die Chips umprogrammiert haben und einen "passenden" Chip und einen "unpassenden" nutzten. Dadurch konnten wir sehen ob der Sensor den Zugriff beim falschen Chip verweigert und beim richtigen Chip gewährt.

Ergebnis

Das Projekt kann insgesamt als erfolgreich bewertet werden. Alle Funktionen in der Anforderungsliste wurden nicht nur erfüllt, sondern sogar sinnvoll verbessert und ergänzt.

Der Tresor lässt sich wie gewünscht öffnen durch eine 2 Faktor Authentifikation durch den Chip und einen Code.

Bei Gewalteinwirkung ist es natürlich ein leichtes den Safe zu zerstören und an den Inhalt zu kommen. Jedoch war es nicht unser Ziel einen unzerstörbaren Safe zu entwerfen, sondern einen sicheren Safe, der nicht so einfach ohne Gewalteinwirkung geöffnet werden kann.

Zusammenfassung

Zu Beginn des Projektes hatten wir eine klare Vorstellung wie unser Hochsicherheitssafe aussehen sollte. Im laufe der Zeit haben sich die Anforderungen geändert, da wir gesehen haben, dass wir diese Teilweise zu niedrig gesetzt oder falsche Prioritäten hatten. Ein gutes Beispiel ist die Auswahl des Materials. Vorher war es uns wichtig, dass man nur schwer durch das Material an das innere gelangt. Im Nachhinein haben wir unseren Fokus auf das wesentliche verschoben, was die Schaltung und die Programmierung ist. Trotzdem gelang es uns ein gut formbares Material zu finden und trotzdem ein widerstandsfähiges Gehäuse zu entwerfen.

Der Weg von der Skizze zum fertigen Safe fiel uns durch die Praktika um einiges leichter als zu Anfang. Wir wussten ohne große Recherche welche Bauteile verwendet werden mussten. Auch im Schaltungsaufbau und der Programmierung hatten wir bereits vorher Erfahrungen gesammelt. Die einzige Recherche die wir hier betreiben mussten waren die für uns neuen Bauteile Nummernfeld und RFID Sensor. Das Gehäuse wiederum war Neuland für uns, weswegen wird dort bei vielen Sachen erst einmal testen mussten wie es richtig gemacht wird.

Insgesamt konnten wir uns um einiges vertrauter mit dem Ablauf und den Programmierungen und Schaltungen von Microcontrollern machen. Das Projekt hat Spaß gemacht und war aus unserer Sicht ein voller Erfolg.

Lessons Learned

Rückblickend betrachtet ist uns vor allem aufgefallen, dass wir bei der Planung des Gehäuses etwas genauer sein mussten. Dabei haben wir viele Prototypen gedruckt, die uns entweder wegen der Oberflächenbeschaffenheit oder aufgrund falscher Abmessungen nicht gefallen haben. Da der Drucker allein für die Tür einige Stunden benötigt hat, wäre es sinnvoll gewesen dies besser zu planen um Zeit und Kosten zu sparen. Die Abbildungen zeigen einige unserer Prototypen, die es nicht ins fertige Projekt geschafft haben.

Fehlversuch Aufbewahrungskasten
Fehlversuch Türen



































Die zweite Sache die im Nachhinein betrachtet keine gute Idee war, war der Schließmechanismus des Safe's. Dieser war mit einem Taster im Inneren des Safe's geplant, sodass die Tür den Taster betätigt und der Mechanismus schließt. Dabei bot sich das Problem, dass der Taster zum aktivieren auch wieder losgelassen werden musste, was nach dem schließen der Tür nicht möglich war. Zudem hätte es passieren können, dass die Tür zufällig zufällt und der Safe schließt. Die elegantere und auch bessere Lösung war es den Schließmechanismus kontrolliert auf die Raute Taste zu legen.

Projektunterlagen

Projektplan

Projektablaufplan
































Projektdurchführung

Alle Dateien, Fotos, Dokumente und Zeichnungen die für die Projektdurchführung genutzt und erstellt wurden findet ihr unter diesem SVN Link.

YouTube Video

Für ein kurzes Video das den fertigen Safe in Aktion zeigt und dabei auch alle Funktionen präsentiert findet ihr unter folgendem Link:Youtube

Weblinks

RFID Kit

Servomotor

Tastenfeld A

Tastenfeld B

3D Drucker

Fusion 360

Ultimaker

Literatur

Brühlmann, Thomas (2019): Arduino Praxiseinstieg, 4. Auflage, mitp Verlag, Frechen


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