mikrocontroller gesteuertes türschloss
Post on 16-Jul-2015
177 Views
Preview:
TRANSCRIPT
Mikrocontroller-gesteuertes Türschloss
Markus Schwer
12 Jahre
Schüler experimentieren-Projekt 2014
Deutschorden-Schule Lauchheim
Inhaltsverzeichnis
Kurzfassung .............................................................................2
Idee ..........................................................................................2
Hintergründe ...........................................................................2
Material und Methoden ..........................................................3
Durchführung ..........................................................................4
Ergebnis .................................................................................10
Ausblick .................................................................................11
Danksagung ...........................................................................12
Anhang ..................................................................................12
Kurzfassung
Damit ausschließlich ich meine Zimmertür öffnen kann, habe
ich ein mikrocontroller-gesteuertes Türschloss konstruiert.
Dafür habe ich ein Holzkästchen gebaut, das den Zugriff auf
das Schloss kontrolliert. Ich kann mit einem elektronischen
Schlüssel den Zugang zum Schloss öffnen und schließen.
Dafür habe ich den Mikrocontroller Arduino benutzt.
Idee:
Ich habe eine Zwillingsschwester, die mich oft nervt. Sie
kommt immer wieder in mein Zimmer, auch wenn ich die Tür
zugeschlossen habe. Sie hat den gleichen Schlüssel wie ich
und ich kann ihr ihren eigenen Schlüssel nicht wegnehmen.
Deshalb hatte ich die Idee ein elektronisches Türschloss zu
bauen.
Hintergründe:
Letztes Jahr (2012) zu Weihnachten habe ich ein Arduino Uno
Board und ein Arduino Buch („Die elektronische Welt mit
Arduino entdecken“ von Erik Bartmann) bekommen.
Danach habe ich mich viel mit Arduino auseinandergesetzt.
Ich habe mich auch schon vorher mit Programmieren etwas
beschäftigt (C#). Durch das Arduino-Buch habe ich C++
gelernt.
Im Juli 2013 habe ich an einem Mikrocontroller-Kurs von
explorhino bei Herrn Reiner teilgenommen. Bei diesem Kurs
haben wir ein Mikrocontroller-Board mit Arduino selber
zusammengelötet. Im September 2013 habe ich auch bei
Herrn Reiner einen Fortgeschrittenen Kurs besucht. Dabei
haben wir eine Verstärkerplatine mit Motor-IC für den
Mikrocontroller gelötet. Dabei habe ich viel über die
Elektronik der verwendeten Bauteile gelernt. Leider haben
wir nicht wirklich programmiert.
Material und Methoden:
Material:
Arduino Nano
Schrittmotor mit Treiber von OzHobbies
(http://www.ozhobbies.eu/)
Netzteil DC 5V 1,2A - 7,5V-20V (AC/DC) von OzHobbies
NFC Modul von ElecFreaks
(http://www.elecfreaks.com/5418.html)
Software: Arduino ver. 1.0.5
Methoden:
Programmierung mit C++
Durchführung:
Als ich Herrn Bich, den Leiter der Jugend forscht-AG an
meiner Schule, von meiner Idee, ein Mikrocontroller-
gesteuertes Türschloss zu bauen, erzählt hatte, hat er ein
altes Türschloss mitgebracht. Ich habe es geöffnet und dabei
sprangen Federn heraus. Leider konnte ich das Schloss nicht
mehr zusammenbauen. Er hatte aber noch ein zweites
Schloss mitgebracht, das nicht auseinanderfiel. Das habe ich
mir genauer angeschaut. Dabei bin ich auf die Idee
gekommen, den Riegel mit einem Motor zu bewegen. Auf
dem Motor befindet sich ein Zahnrad, das mit Hilfe einer
Zahnstange, die sich am Riegel befindet, den Riegel
verschiebt. Wenn ich z.B. einen Code eingebe, dann sollte
sich der Riegel bewegen und das Schloss versperren.
Dann habe ich ein neues Türschloss gekauft um es
umzubauen. Leider war das Schloss genietet, sodass ich es
nicht öffnen konnte.
Danach wollte ich einen Schrittmotor kaufen, damit ich den
Riegel bewegen kann. Beim Mükra in Aalen (ein kleiner
Elektronikladen) habe ich keinen bekommen, bekam jedoch
den Tipp zum Spielwaren Wanner zu gehen. Dort bekam ich
zwar auch keinen Schrittmotor, aber den Tipp einen
Schrittmotor aus einem alten Drucker auszubauen. Gott sei
Dank hatten wir einen alten Drucker zu Hause. Diesen habe
ich zerlegt und den Scanner-Motor ausgebaut.
Leider hatte ich dazu keinen passenden Motortreiber.
Deshalb habe ich bei OzHobbies (http://www.ozhobbies.eu/)
einen Schrittmotor mit Treiber gekauft. Dann habe ich mit
Videoanleitung (http://www.youtube.com/watch?v=cCNT0J-
X4mM) den Schrittmotor versucht zum Laufen zu bringen, hat
aber nicht funktioniert. Deshalb habe ich den Sketch-Code
aus dem Buch „Die elektronische Welt mit Arduino
entdecken“ verwendet. Nun hat der Motor auf Anhieb
funktioniert.
Leider war der Motor zu schwach um den Riegel zu bewegen.
Nun habe ich nach einem stärkeren Schrittmotor gesucht. Ich
habe deshalb auf www.Gutefrage.de nach einer Empfehlung
gefragt. Mir wurde als Lösung ein Hubmagnet vorgeschlagen.
In der Zwischenzeit bin ich zu Mayer-Werkzeuge in Aalen
gefahren um ein aufschraubbares Türschloss zu kaufen. Ich
habe eins gekauft und bei dieser Gelegenheit bin ich zum
nahegelegenen Bauhaus (Baumarkt) gefahren und habe mir
dort ein elektronisches Türschloss angeschaut.
Dabei kam mir die Erleuchtung: „Ich muss verhindern, dass
man das Schloss aufkriegt.“ (nicht das Schloss versperren)
Dazu hatte ich mehrere Ideen:
Eine Idee war, dass die Klinke im Leerlauf ist. Diese Idee habe
ich dann verworfen, da dies zu schwierig ist.
Ich habe mich nach längeren Überlegungen dazu
entschlossen, statt im Schloss etwas zu verändern (zu
schwierig), außen ein Kästchen anzubringen, das den Zugang
zum Schloss versperrt.
Ich habe nun provisorisch ein Kartonkästchen ausgesucht und
Löcher passend ausgeschnitten.
Dann habe ich eine Kartonscheibe auf den Motor geklebt. Die
Platinen (Arduino, Netzteil, Motortreiber) habe ich mit einem
doppelseitigen Klebeband ins Kästchen geklebt.
Jetzt musste ich nur noch dafür sorgen, dass nur ich den
Zugriff auf das Schloss habe. Ich habe mich für die RFID-
Technik entschieden. RFID heißt „radio-frequency
identification“ und bedeutet „Identifizierung mit Hilfe
elektromagnetischer Wellen“. Man verwendet diese Technik
häufig für Zutrittskontrollen. Mehr Informationen über RFID
stehen im Anhang.
Ich habe im Internet ein NFC Modul von ElecFreaks
(http://www.elecfreaks.com/5418.html) bestellt. NFC heißt
„Near Field Communication“ und ist ein internationaler
Übertragungsstandard zum kontaktlosen Austausch von
Daten per Funktechnik über kurze Strecken von wenigen
Zentimetern. Mehr Informationen unter
http://de.wikipedia.org/wiki/Near_Field_Communication.
Als ich es bekommen hatte, habe ich die Library dafür im
Internet gesucht, jedoch leider nichts gefunden. Eine Library
ist ein Programm, das z.B. beim Ansteuern von Motoren hilft
(Informationen zu C++ im Anhang).
Auf http://www.elecfreaks.com/5418.html habe ich dann ein
passendes Programm mit Library gefunden. Die Anleitung zur
Portbelegung habe ich dort ebenfalls gefunden.
Leider hat es auch nach mehreren Versuchen nicht geklappt.
Zuerst habe ich festgestellt, dass ich beim User Guide die
falsche PIN-Belegung benutzt habe. Nach Lösung dieses
Problems hat es aber immer noch nicht funktioniert. Erst
nach langer Fehlersuche habe ich festgestellt, dass ich mich
bei der PIN-Belegung geirrt hatte. Meine Mutter hat darauf
bestanden, dass ich alle Verbindungen noch einmal
überprüfe. Dabei habe ich festgestellt, dass ich ein Kabel
falsch angeschlossen hatte. Endlich hat es funktioniert.
Als nächstes habe ich das Programm so umgeschrieben, dass
es die ID von dem RFID-Tag prüft. Meine eigenen Ideen haben
zuerst nicht funktioniert, aber die Grundidee war richtig. (Die
richtige und die aktuelle ID werden verglichen). Auch die
Suche in verschiedenen Internetforen nach Hilfe hat nichts
gebracht. Dann kam mir die Idee, die Daten in Strings (oder
Zeichenketten) zu konvertieren. Leider kannte ich den Befehl
nicht. Deshalb habe ich gegoogelt wie man konvertiert.
Auf
http://www.netzmafia.de/skripten/hardware/Arduino/progr
ammierung.html habe ich einen wichtigen Hinweis gefunden.
Ich habe programmiert und es hat geklappt!!!
Dann habe ich das Programm mit dem bereits vorhandenen
Programm für den Schrittmotor erweitert. Das hat auch
funktioniert!!!
Nun habe ich den Arduino von der USB-Verbindung mit dem
PC getrennt, da das Ganze ja nicht am Computer hängen,
sondern unabhängig laufen soll. Nun hat sich jedoch der
Motor nicht mehr gedreht.
Ich habe deshalb alle Kabel überprüft und isoliert und eine
frische Batterie verwendet. Nun hat alles endlich
funktioniert!!!
Nun musste ich nur noch ein Kästchen aus Holz bauen, das ich
dann auf der Tür befestigen konnte.
Beim Bau des Kästchens hat mir meine Mutter geholfen, da
sie handwerklich ein wenig begabter ist als ich.
Nun dachte ich es ist alles fertig. Nur noch die Kabel, Platinen
und Motor im Kästchen befestigen und das Ganze
funktioniert. Ich musste das Arduino nur noch so
programmieren, dass der Motor sich vor und zurück dreht.
Das sollte kein Problem sein, dachte ich. Doch leider drehte
er sich nur in eine Richtung. Und das auch noch kurz vor
Silvester. Es war unerklärlich. Dann hat meine Mutter die
Kabel vom Motor umgesteckt, obwohl ich fest davon
überzeugt war, dass das nicht funktionieren wird. Doch
plötzlich drehte er sich so wie er sollte.
Fazit: Ich habe gelernt, dass Murphys Laws stimmen!
Ergebnis:
Das ist ein Ausschnitt aus meinem fertigen Programm.
Die vollständige Datei kann ich per E-mail schicken.
Ein Foto von dem fertigen Türschloss:
Das Kästchen wird außen auf meiner Zimmertür befestigt.
Normalerweise ist die Öffnung geschlossen. Wenn ich meinen
RFID-Tag an die Markierung halte dreht sich der Motor und
öffnet mir den Zugang zum Schloss. Nach 15 Sekunden
schließt sich der Zugang wieder.
Ausblick:
Eine Erweiterung dieses mikrocontroller-gesteuerten Systems
wäre, dass es über Ethernet steuerbar ist. Das ist jedoch ein
etwas größeres Unterfangen und könnte ein wenig länger
dauern. Außerdem könnte man es noch etwas kompakter
gestalten.
Danksagung:
Ich bedanke mich bei Herrn Bich für die Unterstützung bei der
Anmeldung und für Ideen.
Ich bedanke mich besonders bei meiner Mutter für die
anregenden Diskussionen und die Hilfe bei den Internet-
Recherchen, beim Kauf der benötigten Materialien und beim
Schreiben. Ohne die Motivation durch sie hätte ich das
Projekt vielleicht nicht in der Zeit geschafft.
Anhang:
C++ : http://de.wikipedia.org/wiki/C%2B%2B
RFID-Technik : http://de.wikipedia.org/wiki/RFID
Arduino : http://arduino.cc/
Software : http://arduino.cc/en/main/software
explorhino : http://www.explorhino.de/
Fotos: Markus Schwer
top related