Projekt 37d: Keyless Entry
Autoren:Tchenko
Betreuer: Daniel Klein
→ zurück zur Übersicht: WS 18/19: Fachpraktikum Elektrotechnik (MTR)
Aufgabe
Rüsten Sie die Schließfächcher des Spindes so um, dass dieses mit der Studentenkarte elektronisch geöffnet und verschlossen werden können.
Erwartungen an die Projektlösung
- Elektronisches Öffnen und Schließen des Spindes
- Morphologischer Kasten – Auswahl der „besten“ Lösung
- Technische Umsetzung der Lösung mit minimalem Aufwand
- Datenbankschnittstelle für die Buchung der Spinde
- Test und wiss. Dokumentation
- Live Vorführung während der Abschlusspräsentation
Einleitung
Das vorliegende Projekt sollte im Rahmen des GET-Fachpraktikums durchgeführt werden, welches Bestandteil des Bachelor Studiums Mechatronik und auch des Master Studiengangs Business and Systems Engineering ist.
Ziel des Projekts 37d, welches in dieser Arbeit behandelt wird, ist es, den Entwurf sowie die Umrüstung eines Schließsystems durchzuführen. Anwendung mit einer Studentenkarte sollte das Öffnen bzw. das Schließen eines Schließfaches ermöglichen. Dabei muss das entstandene System auf die Schließfächer eines Spindes abgestimmt werden. Die Aufteilung des Projekts erfolgt auf zwei Ebenen: Es wird zum ersten Mal den bestehenden Mechanismus, der bei den vorigen Projekten 37b und 37c konstruiert werde, so angepasst, dass letztendlich die gewünschten Ergebnis gekriegt werden können. die zweite Ebene der Aufteilung befasst sich mit der Thematik der Software. Genau diese Variante umfasst die hauptsächliche Zielsetzung der gesamten Arbeit. Hierbei ist eine funktionierende elektronische Erkennung zu realisieren, die eine Art der elektronischen Identifizierung darstellt. Dem Servo- bzw. Schließmotor wird ein Öffnungsbefehl geliefert, wenn die Identifizierung erfolgreich verlaufen ist und die elektronisch erhaltenen Informationen in einer Datenbank der berechtigten Zugangscodes übereinstimmen.
Verwendete Bauteile
1x Ultra-Bright RGB Diffused Common Anode LED Red Green Blue
2x 250Ω Widerstand
1x Arduino Uno R3
5x RFID Chip
1x Debo RFID-Lesegerätschlüssel
Jumper Wire female to male
Jumper Wire male to male
1x Breadboard
Vorgehensweise beim Projekt
Die erste Aufgabe zum Realisieren des festgelegten Ziels war es, die verschiedenen Möglichkeiten zu sammeln, um ein Keyless Entry System auf die Beine zu beringen. Es kam dann zu einer Vielzahl an Lösungen, welche sich deutlich den Ansatz folgenden morphologischen Kastens sortieren ließen.
Entscheidend bei der Lösungsauswahl waren aufgrund der begrenzten Projektdauer und des geringeren zur Verfügung gestellten Budgets hauptsächlich die die kostengünstige Realisierung sowie eine limitierte Komplexität der endlichen Methodik. Daneben war eine die Frage die Zuverlässigkeit des entworfenen Systems ein Prioritätszentrum.
Vier Einheiten umfassten die Knoten zur Ausarbeitung der vorgegebenen Anforderungen. Diese sind ebenfalls im oben stehenden morphologischen Kasten, nämlich auf seiner linksten Spalte zu erkennen: Das Erkennungsmittel, die Steuereinheit, die Ansteuerung sowie der Drehmotor (Vorlage zum Schließen bzw. zum Öffnen des Spindes). Für alle Einheiten wurden mindesten drei Lösungsalternativen gesammelt. Unter diesen waren nach den festgelegten Kriterien und Anforderungen die ausgewählten Lösungen die Besten, also die Anwendung des RFID (Abk. für radio-frequency Identification, zu deutsch: Identifizierung mithilfe elektromagnetischer Wellen) zur Kartenerkennung und von Arduino als Steuerfreiheit für den aussortierten Servomotor. Die Orchestrierung bzw. der Parameter zur Steuerung sollte durchs Nutzen einer Karte eingestellt werden.Die RFID Technologie hat ferner den Vorteil, diese sich von der Hochschule auch bei den Studentenausweisen und Mensakarten verwenden lässt.
Projektdurchführung
Nach der Festlegung der Lösungsmethodik mithilfe des morphologischen Kastens musste man dann mit der Projektdurchführung anfangen. Die Strecke zum Ziel unter dem Ansatz der arrangierten Lösungsvarianten entsprach den folgenden Arbeitsschritten:
Nach der hier definierten Philosophie musste die funktionsfähige Schaltung der Hardware-Bestandteile die grundsätzliche Voraussetzung zur Überleitung zu Software. Die unktionierende Software sollte dann auf die Hardware implementiert werden, um die gewünschte Steuerung bekommen zu können.
Schaltung
Erster Arbeitsschritt war die Beschaltung der Bauelemente. Zunächst musste der RFID Sensor mit dem Arduino UNO Board verbunden werden. Danach musste nach vielen Recherchen in Internet, neben dem eingesetzten Servomotor noch zusätzliche Überprüfungseinheiten (LED, Widerstand)hinzugeschaltet werdend. Es entstand somit die auf der unteren Abbildung zu sehende Schaltung.
Nächster Schritt nach dem erfolgreichen Testen der Schaltung durch eine einfache Einspeisung mit einer Spannung von 3 V bis 5 V war die softwaremäßige Steuerung.
Programmierung
Die ersten softwaremäßigen Einstellungen erfolgten mithilfe der grundsätzlichen Informationen aus Internet. Tiefere Auseinandersetzung mit dem Thema kam in Frage bei der Suche der Möglichkeit, Daten auf dem Arduino möglichst zuverlässig für den Anwendungsfall zu speichern. Bei der Recherche, wie man auf dem Microcontroller gespeicherte Daten aus mehreren Programmen abfragen kann, kam dann auf die Möglichkeit, Daten auf dem EEPROM (electrically erasable programmable read-only memory) zu speichern. Da der EEPROM ein nichtflüchtiger Speicher ist, bietet eine solche Dateispeicherung außer dem Dateizugriff aus mehreren Programmen auch den Vorteil, dass Daten bei einem Stromausfall gespeichert bleiben.
Basierend auf den Informationen aus den Anforderungen einige Wurden die folgenden Funktionen geschrieben
Programmierung
Die ersten softwaremäßigen Einstellungen erfolgten mithilfe der grundsätzlichen Informationen aus Internet. Tiefere Auseinandersetzung mit dem Thema kam in Frage bei der Suche der Möglichkeit, Daten auf dem Arduino möglichst zuverlässig für den Anwendungsfall zu speichern. Bei der Recherche, wie man auf dem Microcontroller gespeicherte Daten aus mehreren Programmen abfragen kann, kam dann auf die Möglichkeit, Daten auf dem EEPROM (electrically erasable programmable read-only memory) zu speichern. Da der EEPROM ein nichtflüchtiger Speicher ist, bietet eine solche Dateispeicherung außer dem Dateizugriff aus mehreren Programmen auch den Vorteil, dass Daten bei einem Stromausfall gespeichert bleiben.
Basierend auf den Informationen aus den Anforderungen einige Wurden die folgenden Funktionen geschrieben
// Includes und Setup-Funktion
#include <SPI.h>
#include <MFRC522.h>
#define SS_PIN 10
#define RST_PIN 9
MFRC522 mfrc522(SS_PIN, RST_PIN);
#include <Servo.h>
Servo Motorsteuerung; //Servo einbinden
int geoeffnet = 0; //Variablen, die den Zustand speichern
int geschlossen = 1; //Zu Beginn ist "zu" = 1, da das Schloss ja zu ist
void setup()
{
Serial.begin(9600);
SPI.begin();
mfrc522.PCD_Init();
pinMode (4, OUTPUT); //LED-Einstellung
pinMode (2, OUTPUT);
Motorsteuerung.attach(6);
...
}
Mit gegebener Bibliothek lässt sich die Sensorik einfach implementieren. Auf gleiche Art wird auch der Drucksensor der Außenstation programmiert. Dabei wird nur eine andere Bibliothek verwendet.
Verbindung zur Außenstation:
// Loop-Funktion
void loop()
{
if ( ! mfrc522.PICC_IsNewCardPresent())
{
return;
}
if ( ! mfrc522.PICC_ReadCardSerial())
{
return;
}
long Karte = 0;
for (byte i = 0; i < mfrc522.uid.size; i++)
{
Karte=((Karte + mfrc522.uid.uidByte[i])*10);
}
Serial.print("Der Transponder hat den Code:");
Serial.println(Karte);
if (Karte==RFID-Code)
{
//Nur bei den beiden registrierten Karten
…
//if-Abfrage für Änderung von geschlossen auf geöffnet
if (geschlossen==1)
{
geschlossen=0;
geoeffnet=1;
...
//Positionsänderung des Motors auf 0°
Motorsteuerung.write();
...
Karte=0;
}
}
{ …… }
Specher(byte code [], byte Stelle)
Speichert die Informationen eines RFID Chips, die im Array Code [] abgelegt sind an der übergebenen Stelle. Die Stelle stellt nicht die im EEPROM belegten Plätze dar, sondern ist eine rein anschauliche Zahl, aus der die Speicherplätze im EEPROM berechnet werden.
Vergleich (byte Code [])
Liefert einen booleschen Wert, der die Information enthält, ob der übergebene Code zu den auf dem EEPROM gespeicherten Codes zählt (true) oder nicht (false).
Loesche(byte Pos)
Ergebnis
Am Ende der Arbeit wurde ein funktionsfähiges System entwickelt. Dieses Ermöglicht eine elektronische Erkennung von auf einem Chip gespeicherten Informationen sowie deren Auswertung und liefert darauf basierend einen Ausgabewert, welcher zur Steuerung der Schließmotors zum Ansatz kommt. Der geöffnete oder geschlossene Zustand des Spindes lässt sich durch dir rote oder grüne Beleuchtung der LED veranschaulichen.
Zusammenfassung
Auch wenn die Durchführung des gesamten Projekts alleine eine umfangreiche Auseinandersetzung mit dem ganzen Thema erfragte, umfassten am Ende das Erreichen der definierten Projektziele eine besondere Erleichterung und Freude.Die praktische Anwendbarkeit ist durch die Einbindung der Öffnung und Verschließung mittels Studierendenausweis oder Mensakarte gegeben.Die Beschäftigung mit diesem Projekt vertiefte verschiedene im Studium bereits erworbene Kenntnisse und brachte außerdem das selbstständige Arbeiten bei einer Projektdurchführung näher.
Lessons Learned
Die Durchführung des Projekts war trotz erfolgreicher Ergebnisse ohnehin auch mit einigen Herausforderungen versehen.
1. Die erste Schwierigkeit tauchte beriets bei der Projektplanung auf, nach der der Kommilitone, zusammen mit dem eine Zweier-Gruppe zum Thema bestand, kein Interesse mehr an dem Projekt zeigte.
2. Es musste demnach eine gewisse Zeit zur Restrukturierung der gesamten Arbeit angewendet werden.
3. Das Verstehen der Konstruktion der vorigen Gruppe war am Anfang schwierig. Als Lösung dagegen wurde eine neue Beschaltung des gesamten Systems durchgeführt. Dabei wurde immer klarer, dass die Weiterentwicklung davon, was nicht von einem selbst entwickelt wurde, schwieriger und zeitaufwendiger sein kann als von einem eigenen Entwurf.
Projektunterlagen
YouTube Video
Weblinks
Literatur
1- https://i.ytimg.com/vi/23aMjljCLZI/maxresdefault.jpg
2- https://www.quora.com/What-is-the-difference-between-a-DC-motor-a-servomotor-and-a-stepper-motor
3- https://www.mikrocontroller.net/topic/447870
4- https://www.servocity.com/hs-311-servo
5- https://www.elektroniknet.de/elektronik/messen-testen/auswertung-kapazitiver-sensoren-122555.html
→ zurück zur Übersicht: WS 18/19: Fachpraktikum Elektrotechnik (MTR)