Projekt 37d: Keyless Entry: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
(19 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 3: | Zeile 3: | ||
<!-- Kopieren Sie diesen Header in Ihren Artikel, damit er aufgelistet wird. --> | <!-- Kopieren Sie diesen Header in Ihren Artikel, damit er aufgelistet wird. --> | ||
[[Datei:Keyless_Entry.jpg|300px|right|Keyless Entry]] | [[Datei:Keyless_Entry.jpg|300px|right|Keyless Entry]] | ||
''' | '''Autor:''' [[Benutzer:Yanick-Christian_Tchenko|Yanick Christian Tchenko]] <br/> | ||
<br/> | <br/> | ||
'''Betreuer:''' Daniel Klein<br/> | '''Betreuer:''' Daniel Klein<br/> | ||
Zeile 21: | Zeile 21: | ||
== Einleitung == | == Einleitung == | ||
Das vorliegende Projekt | 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: | 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, den | 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 == | == Verwendete Bauteile == | ||
Zeile 55: | Zeile 56: | ||
Nach der hier definierten Philosophie musste die funktionsfähige Schaltung der Hardware-Bestandteile die grundsätzliche Voraussetzung zur Überleitung zu Software. Die | Nach der hier definierten Philosophie musste die funktionsfähige Schaltung der Hardware-Bestandteile die grundsätzliche Voraussetzung zur Überleitung zu Software. Die funktionierende Software sollte dann auf die Hardware implementiert werden, um die gewünschte Steuerung bekommen zu können.<br/><br/> | ||
=== Schaltung === | === 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 | 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 werden. Es entstand somit die auf der unteren Abbildung zu sehende Schaltung. <br /> | ||
[[Datei:Schaltplan Servosteuerung Steckplatine.jpg |1000px]] | [[Datei:Schaltplan Servosteuerung Steckplatine.jpg |1000px]] | ||
Zeile 68: | Zeile 69: | ||
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. | 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. Als endlicher Lösungsansatz erfolgte dann die durch den unteren Code dargestellte Konstellation. | ||
Dabei wurde zum ersten mal die durch den RFID gescannte Karte codiert. Der entstehende Code wurde dann gespeichert und drauf basiert konnte dann die verschieden in der Loop Funktion zu sehenden bedingten Ereignisse realisiert werden. <br /> | |||
'''Bibliotheken und Setup''' | |||
<div style="width:1100px; height:200px; overflow:auto; border: 2px solid #088"> | |||
<source lang=c> | |||
// 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); | |||
... | |||
} | |||
</source> | |||
</div> | |||
<br/> | |||
Die Anwendung der Bibliotheken ermöglicht dann die Implementierung der gewünschten Steuerung des Spindes, wie man im folgenden Programmabschnitt erkennen kann.<br/> | |||
'''Loop-Funktion: Öffnen und Schließen des Spindes''' | |||
<div style="width:1100px; height:320px; overflow:auto; border: 2px solid #088"> | |||
<source lang=c> | |||
// 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; | |||
} | |||
} | |||
{ …… } | |||
</source> | |||
</div> | |||
<br/> | |||
== Ergebnis == | == 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 == | == Zusammenfassung == | ||
Auch wenn die Durchführung des gesamten Projekts alleine eine umfangreiche Auseinandersetzung mit dem ganzen Thema erfragte, umfasste 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 === | === Lessons Learned === | ||
Die Durchführung des Projekts war trotz erfolgreicher Ergebnisse ohnehin auch mit einigen Herausforderungen versehen.<br/> | |||
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.<br /> | |||
2. Es musste demnach eine gewisse Zeit zur Restrukturierung der gesamten Arbeit angewendet werden.<br /> | |||
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 == | == Projektunterlagen == | ||
== YouTube Video == | == YouTube Video == | ||
https://www.youtube.com/watch?v=swv9mqhb2WA | |||
== Weblinks == | == Weblinks == | ||
== Literatur == | == Literatur == | ||
1- https://i.ytimg.com/vi/23aMjljCLZI/maxresdefault.jpg<br/> | |||
2- https://www.quora.com/What-is-the-difference-between-a-DC-motor-a-servomotor-and-a-stepper-motor <br /> | |||
3- https://www.mikrocontroller.net/topic/447870 <br /> | |||
4- https://www.servocity.com/hs-311-servo <br /> | |||
5- https://www.elektroniknet.de/elektronik/messen-testen/auswertung-kapazitiver-sensoren-122555.html <br /> | |||
Aktuelle Version vom 25. Oktober 2019, 07:06 Uhr
Autor: Yanick Christian 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 funktionierende 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 werden. 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. Als endlicher Lösungsansatz erfolgte dann die durch den unteren Code dargestellte Konstellation.
Dabei wurde zum ersten mal die durch den RFID gescannte Karte codiert. Der entstehende Code wurde dann gespeichert und drauf basiert konnte dann die verschieden in der Loop Funktion zu sehenden bedingten Ereignisse realisiert werden.
Bibliotheken und Setup
// 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);
...
}
Die Anwendung der Bibliotheken ermöglicht dann die Implementierung der gewünschten Steuerung des Spindes, wie man im folgenden Programmabschnitt erkennen kann.
Loop-Funktion: Öffnen und Schließen des Spindes
// 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;
}
}
{ …… }
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, umfasste 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
https://www.youtube.com/watch?v=swv9mqhb2WA
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)