[MiniTagebuch] PC mit RFID-TAGs schalten (inkl.Video´s) -- Nie wieder Password
Dieses Projekt ist im Rahmen einer Lehrveranstaltung im Masterstudiengang Informatik und Kommunikationssysteme an der HS Merseburg (FH) entstanden. Das eigentliche Ziel war es, mit einem Mikrocontroller einfache RFID Karten, bzw. deren TAGs auszulesen, um diese auf einem 16x2 LCD anzuzeigen. Jetzt möchte ich, dass mir das Ganze auch Privat nutzt. Ich kam auf die Idee, dass man einen Rechner per RFID-Card sichern könnte und sich somit das Kennwort spart. Vielleicht kann es ja der eine oder andere gebrauchen. Der Nachbau ist relativ einfach.
Ziel:
Mein Rechner soll nicht mehr über den An/Aus-Taster ein- oder ausgeschaltet werden, sondern mit einer RFID-Card / einem RFID-Schlüsselanhänger / einer sonstigen Bauform eines RFID-TAGs.
Wozu?
Wenn man den Rechner ohne die Card nicht einschalten kann, ist auch ein Kennwort hinfällig
Grobes Konzept:
Als erstes muss eine geeignete Hardware entworfen werden, die RFID Tags auswerten kann, um damit den Rechner zu steuern (vorerst nur ein/aus). Hierzu möchte ich einen einfachen Mikrocontroller verwenden. Die Steuerung tritt dann an die Stelle des Ein/Ausschalters.
Es wäre allerdings auch denkbar, über ein Relais direkt die Versorgungsspannung (230V) des Rechners zu schalten. Das möchte ich hier nicht beschreiben, weil ich nicht schuld sein möchte, wenn beim Nachbau Todesfälle auftreten.
In jedem Fall übernehme ich keine Verantwortung für Schäden an eurer Hardware, wenn ihr das Projekt nachbaut und verwendet.
Funktionen:
- Speichern eines RFID-Tags (also registrieren der Zugangskarte/Schlüsselanhänger o.ä.)
- Auslesen des RFID Tags
o Entscheidung ob registriertes oder nicht registriertes TAG
o Ein- Ausschalten des Rechners bei Erkennung des richtigen TAGs
o Verweigern bei falschem TAG
o Anzeige auf einem LCD
Los geht’s
Soviel sei gesagt: Es funktioniert bereits. In den folgenden Tagen/Wochen/Monaten möchte ich das RFID Modul vorstellen. Los geht’s mit einem Schaltplan und dem ersten Versuchsaufbau auf einem Steckbrett. So kann schon mal die Funktion überprüft werden.
Der Schaltplan:
Der Schaltplan ist in zwei Seiten unterteilt. Die erste Seite enthält die Beschaltung des Mikrocontrollers AT Mega8. Die zweite Seite beschäftigt sich mit der Beschaltung des EM4095. Diese beiden ICs bilden das eigentliche Herzstück des Projekts. Ich möchte nun kurz erläutern, wie und evtl. auch warum bestimmte Elemente verschalten wurden.
Die Controllerbeschaltung
Diese Schaltung enthält die notwendige Beschaltung des Controllers AT Mega 8. Angebunden ist ein Display, ein Taster zur Nutzereingabe (SAFE_TAG) und ein Reset-Taster um den Controller in den Ausgangszustand zurückzusetzen. Eigentlich müsste man eher sagen, "um das Programm zurückzusetzen". Die grobe Beschaltung des Controllers kann eigentlich schon dem Datenblatt entnommen werden. Dieses findet ihr unter:
DATENBLATT ATMEGA8
Was immer beschalten werden muss:
- VCC / AVCC an 5V Versorgungsspannung
- GND an die Masse bzw. "Minus"-Pol einer Batterie
Zwischen die Betriebsspannung und die Masse sollen laut Datenblatt immer 100nF Kondensatoren geschalten werden, um Störspannungen (AC) vom Controller fern zu halten. Das Prinzip ist dabei einfach. Vereinfacht gesagt stellen die Kondensatoren für Gleichstrom einen unendlichen Widerstand dar. Der Strom fließt also lieber woanders lang (immer nach dem Motto : Der Weg des geringsten Widerstands). Der Gleichstrom fließt also in den Controller, wo er auch hin soll. Sollten auf der Gleichspannung Wechselstromanteile vorhanden sein, fließen diese über die Kondensatoren gegen die Masse. Für AC, also Alternating Current (Wechselstrom) stellt der Kondensator keinen Widerstand dar. Die beschriebenen Kondensatoren könnt ihr im Schaltbild sehen (C11;C13)
Kommen wir zu den Schaltern. Die Schalter schalten gegen Masse. Das heißt: Ist ein Taster gedrückt, detektiert der Controller einen LOW-Pegel, also eine logische Null. Ist der Schalter nicht gedrückt, muss sichergestellt werden, dass die Leitung irgendwie wieder auf
5V Spannung kommt, um eine logische 1 zu signalisieren. Dafür sind die Widerstände R2 und R5 da. Ist der Taster nicht gedrückt, fließt ein sehr kleiner Strom und der Pegel beträgt 5V.
Das Display ist nur durch seine Steckkontakte eingezeichnet. Dieses wird an PORTC des Controllers angebunden. Es gibt vier Datenleitungen (PC0...PC3) und zwei Steuerleitungen (PC4 und PC5). Weiterhin seht ihr einen Widerstand von 100 Ohm. Dieser ist für die Strombegrenzung der Displaybeleuchtung. Dazu kommt natürlich die Betriebsspannung und Masse. Der Trimmer R4 dient der Einstellung des Kontrasts am Display. Weitere Informationen über ein solches Display könnt ihr zum Beispiel folgendem Datenblatt entnehmen.
DATENBLATT DISPLAY
Jetzt haben wir es fast geschafft. Es gibt da jetzt noch einige Leitungen, an denen zwar etwas steht, die aber scheinbar in die "Luft" führen. Das ist natürlich nicht so. Sehen wir uns den Schaltplan des EM4095 an, so werden wir die Leitungen mit der gleichen Bezeichnung finden. Das ist ein übliches Mittel um eine Übersichtlichkeit zu schaffen. Merke: Leitungen die nicht verbunden sind, aber den gleichen Namen haben, sind eigentlich verbunden.
Die Pins, die mit ISP1..6 bezeichnet sind, führen auf eine 2*3 polige Stiftleiste und dienen dem Anschluss des Programmiergeräts. Das wird dann im noch folgenden Bordlayout sichtbar.
Das letzte Element im Schaltplan ist die Ansteuerung eines Transistors, der dann letztendlich den PWR_BTN im Rechner ersetzt. Wird am Controller am Pin 0 des Ports B ein HIGH-Pegel (5V) ausgegeben, steuert der Transistor vollständig durch und schließt die beiden PINS des PWR_Connectors am Mainboard kurz (genauso, wie es auch der PWR_BTN tun würde). Der Widerstand R12 mit 1000 Ohm sorgt für eine Strombegrenzung. Wer noch nie mit Transistoren gearbeitet hat, kann sich das in diesem Fall wie einen kleinen elektronischen Schalter vorstellen (stark vereinfacht).
Die Beschaltung des EM4095
Wenn man mal in das Datenblatt des EM4095 schaut, wird man feststellen, dass auch die Beschaltung des EM4095 keine Hexerei ist, sondern vieles bereits vorgegeben wird.
DATENBLATT EM4095
Ausser den Kondensatoren C8,C9,C10 und dem Widerstand R1 kann der Rest der Beschaltung dem Datenblatt entnommen werden. Das einzig schwierige ist die Herstellung eines Serienschwingkreises aus der Luftspule (1,62mH) und den Kondensatoren C8,C9 und C10. Der Widerstand R1 dient auch hier wieder der Strombegrenzung. Der Kondensator C8 ist dierekt mit der Spule (im Schaltplan ANTENNE) in Reihe geschaltet. Parallel dazu sind die Kondensatoren C9 und C10 als kapazitiver Spannungsteiler geschalten. Ich möchte an dieser Stelle nicht weiter darauf eingehen. Dies überlasse ich der Fachliteratur Wie berechnet man nun die richtigen Werte für C8 C9 und C10 ???
Wir wissen, dass wir eine Resonanzfrequenz von f=125kHz für die Spule erzeugen wollen. Dazu kennen wir die Induktivität der Luftspule, bzw. Antenne mit L=1,62mH.
f = 1/ (2PI*SQRT[LC]) ist die Formel für die Resonanzfrequenz des Schwingkreises. Wir wollen die Kapazität von C wissen. ACHTUNG! C setzt sich aus C8, C9 und C10 zusammen.
Man könnte obige Formel erstmal nach C umstellen. Ich habs allerdings durch probieren gemacht. Für C8 habe ich 1nF angenommen und die anderen beiden Werte variiert, bis ich meine Frequenz nach obiger Formel hatte.
C= C8 + [(C9*C10)/(C9+C10)]
Ich hoffe, dass ich mich einigermaßen verständlich ausgedrückt habe... Wenn nicht, fragt einfach.
Materialliste:
- 1x Lochrasterplatine
- 1x AT Mega8 µC
- 2x Taster
- Widerstände (siehe Schaltplan)
- Kondensatoren (siehe Schaltplan)
- 1x Luftspule (1,62 mH)
- 1x EM4095
- 1x 16x2 Display
- Stiftleisten
- Buchsenleiste
- Litzen
- ISP Programmer
- Lötkolben
- RFID TAG(s)
Der Aufbau auf dem Steckbrett:
Das folgende Video zeigt die Funktion ganz gut. An die Stelle der LED (die leuchtet, wenn das richtige Tag vorhanden ist) rücken dann die PWR_BTN Pins des Mainboards.
VIDEO
Für mehr Informationen besuche die Datenschutz-Seite.
Im Video ist zu sehen, dass vorerst keine der beiden Karten angenommen wird. Dies ist der Fall, wenn der Controller frisch programmiert ist. Es muss also zuerst eine
Karte als "gültige Karte" registriert werden. Dies geschieht über den Taster. Neue Karten können so oft wie nötig registriert werden, zurzeit allerdings nur eine zur selben Zeit.
Wird die richtige Karte über die Luftspule geführt, leuchtet die LED kurz auf. Auf dem Display wird der Status auch noch mal angezeigt.
Erster Test am Rechner:
Für den ersten Test am Rechner ist es wichtig, eine 5V Standbyleitung zu finden, um die Schaltung mit Strom zu versorgen, wenn der Rechner nicht an ist. Ich nutze dazu einfach die USB Header.
Über den Transistor (siehe Schaltplan) werden die beiden Pins auf dem Mainboard kurzgeschlossen, wenn das richtige TAG erkannt wird. Ich denke, dass man das im folgenden Video ganz gut sehen
kann, dass es auch im Prototypenstatus ganz gut funktioniert...
VIDEO
Für mehr Informationen besuche die Datenschutz-Seite.
BOARDLAYOUT
Ich habe für meine Zwecke ein Boardlayout ohne Display erstellt, da man dieses eigentlich nicht braucht. Im RAR-Archiv (unter "Wie kommt das Programm in den Controller?") findet ihr auch die Layoutdateien, die ihr mit dem Programm eagle 6 von CADsoft auch noch nachbearbeiten könnt. Wenn ihr die Platine fertigen lassen wollt, schaut euch mal das hier an: Platinensammler - Leiterkarten für 30ct/cm² - Mikrocontroller.net
Schaltplan und Boardlayout (eagle-files) gibts hier: http://db.tt/mJaqr0gM
Wie kommt das Programm in den Controller?
Das Hex-File gibt es hier: http://db.tt/mJaqr0gM
Um das Programm in den Controller zu programmieren braucht man eine geeignete Entwicklungsumgebung und ein Programmiergerät. Ich verwende das AVR Studio in Version 6 und den zugehörigen
kleinsten Programmer aus dem Hause Atmel. Ihr könnt aber auch gerne einen Nachbau verwenden. Es gibt eine ganze Menge von Nachbauten. Schaut euch evtl. auch mal in der Bucht um. Der Haken
daran ist nur, dass es keine Garantie für die Funktion der Nachbauten gibt. Habt ihr also vor, euch etwas intensiver mit den Controllern von Atmel zu beschäftigen, rate ich zum originalen AVR ISP mkII.
Wenn Ihr das Hex-File heruntergeladen habt, müsst ihr den Programmer entsprechend den Pins (ISP1..6) aus dem Schaltplan verdrahten. Startet das Atmel AVR Studio.
In der oberen Buttonleiste startet ihr den Programmiermodus
Das Fenster des Programmiermodus sollte sich nun öffnen.
1. Tool auswählen
2. Device auswählen
3. APPLY KLICKEN
4. Read Signature klicken.
Wenn bis jetzt keine Fehlermeldung kommt, ist das schon mal sehr gut. Sollte eine Fehlermeldung auftreten, liegt höchstwahrscheinlich ein Verdrahtungsfehler vor.
5. Setzt den ISP Clock auf 125kHz (Wenn ihr einen nagelneuen Controller gekauft habt, ist dieser auf eine interne Arbeitsfrequenz von 1 MHz programmiert worden. Die Programmierfrequenz muss <1/4 des Systemtakts sein. Also < 250kHz)
6. Wechselt am linken Rand in den Reiter Fuses
1. Um den Controller mit 8 MHz zu betreiben, müsst ihr dies entsprechend des Bildes einstellen (SUT_CKSEL)
2. Klickt auf Program!
3. Wechselt zurück auf den Reiter Interface Settings und stellt den ISP Clock auf 1MHz
4. Wechselt zum Reiter Memories
Jetzt kommen wir zum eigentlichen Programmiervorgang.
1. Wählt unter Flash die heruntergeladene Hex-Datei aus.
2. Klickt PROGRAM
Jetzt sollte das Programm auf dem Controller laufen.
Dieses Projekt ist im Rahmen einer Lehrveranstaltung im Masterstudiengang Informatik und Kommunikationssysteme an der HS Merseburg (FH) entstanden. Das eigentliche Ziel war es, mit einem Mikrocontroller einfache RFID Karten, bzw. deren TAGs auszulesen, um diese auf einem 16x2 LCD anzuzeigen. Jetzt möchte ich, dass mir das Ganze auch Privat nutzt. Ich kam auf die Idee, dass man einen Rechner per RFID-Card sichern könnte und sich somit das Kennwort spart. Vielleicht kann es ja der eine oder andere gebrauchen. Der Nachbau ist relativ einfach.
Ziel:
Mein Rechner soll nicht mehr über den An/Aus-Taster ein- oder ausgeschaltet werden, sondern mit einer RFID-Card / einem RFID-Schlüsselanhänger / einer sonstigen Bauform eines RFID-TAGs.
Wozu?
Wenn man den Rechner ohne die Card nicht einschalten kann, ist auch ein Kennwort hinfällig
Grobes Konzept:
Als erstes muss eine geeignete Hardware entworfen werden, die RFID Tags auswerten kann, um damit den Rechner zu steuern (vorerst nur ein/aus). Hierzu möchte ich einen einfachen Mikrocontroller verwenden. Die Steuerung tritt dann an die Stelle des Ein/Ausschalters.
Es wäre allerdings auch denkbar, über ein Relais direkt die Versorgungsspannung (230V) des Rechners zu schalten. Das möchte ich hier nicht beschreiben, weil ich nicht schuld sein möchte, wenn beim Nachbau Todesfälle auftreten.
In jedem Fall übernehme ich keine Verantwortung für Schäden an eurer Hardware, wenn ihr das Projekt nachbaut und verwendet.
Funktionen:
- Speichern eines RFID-Tags (also registrieren der Zugangskarte/Schlüsselanhänger o.ä.)
- Auslesen des RFID Tags
o Entscheidung ob registriertes oder nicht registriertes TAG
o Ein- Ausschalten des Rechners bei Erkennung des richtigen TAGs
o Verweigern bei falschem TAG
o Anzeige auf einem LCD
Los geht’s
Soviel sei gesagt: Es funktioniert bereits. In den folgenden Tagen/Wochen/Monaten möchte ich das RFID Modul vorstellen. Los geht’s mit einem Schaltplan und dem ersten Versuchsaufbau auf einem Steckbrett. So kann schon mal die Funktion überprüft werden.
Der Schaltplan:
Der Schaltplan ist in zwei Seiten unterteilt. Die erste Seite enthält die Beschaltung des Mikrocontrollers AT Mega8. Die zweite Seite beschäftigt sich mit der Beschaltung des EM4095. Diese beiden ICs bilden das eigentliche Herzstück des Projekts. Ich möchte nun kurz erläutern, wie und evtl. auch warum bestimmte Elemente verschalten wurden.
Die Controllerbeschaltung
Diese Schaltung enthält die notwendige Beschaltung des Controllers AT Mega 8. Angebunden ist ein Display, ein Taster zur Nutzereingabe (SAFE_TAG) und ein Reset-Taster um den Controller in den Ausgangszustand zurückzusetzen. Eigentlich müsste man eher sagen, "um das Programm zurückzusetzen". Die grobe Beschaltung des Controllers kann eigentlich schon dem Datenblatt entnommen werden. Dieses findet ihr unter:
DATENBLATT ATMEGA8
Was immer beschalten werden muss:
- VCC / AVCC an 5V Versorgungsspannung
- GND an die Masse bzw. "Minus"-Pol einer Batterie
Zwischen die Betriebsspannung und die Masse sollen laut Datenblatt immer 100nF Kondensatoren geschalten werden, um Störspannungen (AC) vom Controller fern zu halten. Das Prinzip ist dabei einfach. Vereinfacht gesagt stellen die Kondensatoren für Gleichstrom einen unendlichen Widerstand dar. Der Strom fließt also lieber woanders lang (immer nach dem Motto : Der Weg des geringsten Widerstands). Der Gleichstrom fließt also in den Controller, wo er auch hin soll. Sollten auf der Gleichspannung Wechselstromanteile vorhanden sein, fließen diese über die Kondensatoren gegen die Masse. Für AC, also Alternating Current (Wechselstrom) stellt der Kondensator keinen Widerstand dar. Die beschriebenen Kondensatoren könnt ihr im Schaltbild sehen (C11;C13)
Kommen wir zu den Schaltern. Die Schalter schalten gegen Masse. Das heißt: Ist ein Taster gedrückt, detektiert der Controller einen LOW-Pegel, also eine logische Null. Ist der Schalter nicht gedrückt, muss sichergestellt werden, dass die Leitung irgendwie wieder auf
5V Spannung kommt, um eine logische 1 zu signalisieren. Dafür sind die Widerstände R2 und R5 da. Ist der Taster nicht gedrückt, fließt ein sehr kleiner Strom und der Pegel beträgt 5V.
Das Display ist nur durch seine Steckkontakte eingezeichnet. Dieses wird an PORTC des Controllers angebunden. Es gibt vier Datenleitungen (PC0...PC3) und zwei Steuerleitungen (PC4 und PC5). Weiterhin seht ihr einen Widerstand von 100 Ohm. Dieser ist für die Strombegrenzung der Displaybeleuchtung. Dazu kommt natürlich die Betriebsspannung und Masse. Der Trimmer R4 dient der Einstellung des Kontrasts am Display. Weitere Informationen über ein solches Display könnt ihr zum Beispiel folgendem Datenblatt entnehmen.
DATENBLATT DISPLAY
Jetzt haben wir es fast geschafft. Es gibt da jetzt noch einige Leitungen, an denen zwar etwas steht, die aber scheinbar in die "Luft" führen. Das ist natürlich nicht so. Sehen wir uns den Schaltplan des EM4095 an, so werden wir die Leitungen mit der gleichen Bezeichnung finden. Das ist ein übliches Mittel um eine Übersichtlichkeit zu schaffen. Merke: Leitungen die nicht verbunden sind, aber den gleichen Namen haben, sind eigentlich verbunden.
Die Pins, die mit ISP1..6 bezeichnet sind, führen auf eine 2*3 polige Stiftleiste und dienen dem Anschluss des Programmiergeräts. Das wird dann im noch folgenden Bordlayout sichtbar.
Das letzte Element im Schaltplan ist die Ansteuerung eines Transistors, der dann letztendlich den PWR_BTN im Rechner ersetzt. Wird am Controller am Pin 0 des Ports B ein HIGH-Pegel (5V) ausgegeben, steuert der Transistor vollständig durch und schließt die beiden PINS des PWR_Connectors am Mainboard kurz (genauso, wie es auch der PWR_BTN tun würde). Der Widerstand R12 mit 1000 Ohm sorgt für eine Strombegrenzung. Wer noch nie mit Transistoren gearbeitet hat, kann sich das in diesem Fall wie einen kleinen elektronischen Schalter vorstellen (stark vereinfacht).
Die Beschaltung des EM4095
Wenn man mal in das Datenblatt des EM4095 schaut, wird man feststellen, dass auch die Beschaltung des EM4095 keine Hexerei ist, sondern vieles bereits vorgegeben wird.
DATENBLATT EM4095
Ausser den Kondensatoren C8,C9,C10 und dem Widerstand R1 kann der Rest der Beschaltung dem Datenblatt entnommen werden. Das einzig schwierige ist die Herstellung eines Serienschwingkreises aus der Luftspule (1,62mH) und den Kondensatoren C8,C9 und C10. Der Widerstand R1 dient auch hier wieder der Strombegrenzung. Der Kondensator C8 ist dierekt mit der Spule (im Schaltplan ANTENNE) in Reihe geschaltet. Parallel dazu sind die Kondensatoren C9 und C10 als kapazitiver Spannungsteiler geschalten. Ich möchte an dieser Stelle nicht weiter darauf eingehen. Dies überlasse ich der Fachliteratur Wie berechnet man nun die richtigen Werte für C8 C9 und C10 ???
Wir wissen, dass wir eine Resonanzfrequenz von f=125kHz für die Spule erzeugen wollen. Dazu kennen wir die Induktivität der Luftspule, bzw. Antenne mit L=1,62mH.
f = 1/ (2PI*SQRT[LC]) ist die Formel für die Resonanzfrequenz des Schwingkreises. Wir wollen die Kapazität von C wissen. ACHTUNG! C setzt sich aus C8, C9 und C10 zusammen.
Man könnte obige Formel erstmal nach C umstellen. Ich habs allerdings durch probieren gemacht. Für C8 habe ich 1nF angenommen und die anderen beiden Werte variiert, bis ich meine Frequenz nach obiger Formel hatte.
C= C8 + [(C9*C10)/(C9+C10)]
Ich hoffe, dass ich mich einigermaßen verständlich ausgedrückt habe... Wenn nicht, fragt einfach.
Materialliste:
- 1x Lochrasterplatine
- 1x AT Mega8 µC
- 2x Taster
- Widerstände (siehe Schaltplan)
- Kondensatoren (siehe Schaltplan)
- 1x Luftspule (1,62 mH)
- 1x EM4095
- 1x 16x2 Display
- Stiftleisten
- Buchsenleiste
- Litzen
- ISP Programmer
- Lötkolben
- RFID TAG(s)
Der Aufbau auf dem Steckbrett:
Das folgende Video zeigt die Funktion ganz gut. An die Stelle der LED (die leuchtet, wenn das richtige Tag vorhanden ist) rücken dann die PWR_BTN Pins des Mainboards.
VIDEO
Eingebundener Inhalt
Youtube
An dieser Stelle findest du externe Inhalte von Youtube. Zum Schutz deiner persönlichen Daten werden externe Einbindungen erst angezeigt, wenn du dies durch Klick auf "Alle externen Inhalte laden" bestätigst:
Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden. Damit werden personenbezogene Daten an Drittplattformen übermittelt.Für mehr Informationen besuche die Datenschutz-Seite.
Im Video ist zu sehen, dass vorerst keine der beiden Karten angenommen wird. Dies ist der Fall, wenn der Controller frisch programmiert ist. Es muss also zuerst eine
Karte als "gültige Karte" registriert werden. Dies geschieht über den Taster. Neue Karten können so oft wie nötig registriert werden, zurzeit allerdings nur eine zur selben Zeit.
Wird die richtige Karte über die Luftspule geführt, leuchtet die LED kurz auf. Auf dem Display wird der Status auch noch mal angezeigt.
Erster Test am Rechner:
Für den ersten Test am Rechner ist es wichtig, eine 5V Standbyleitung zu finden, um die Schaltung mit Strom zu versorgen, wenn der Rechner nicht an ist. Ich nutze dazu einfach die USB Header.
Über den Transistor (siehe Schaltplan) werden die beiden Pins auf dem Mainboard kurzgeschlossen, wenn das richtige TAG erkannt wird. Ich denke, dass man das im folgenden Video ganz gut sehen
kann, dass es auch im Prototypenstatus ganz gut funktioniert...
VIDEO
Eingebundener Inhalt
Youtube
An dieser Stelle findest du externe Inhalte von Youtube. Zum Schutz deiner persönlichen Daten werden externe Einbindungen erst angezeigt, wenn du dies durch Klick auf "Alle externen Inhalte laden" bestätigst:
Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden. Damit werden personenbezogene Daten an Drittplattformen übermittelt.Für mehr Informationen besuche die Datenschutz-Seite.
BOARDLAYOUT
Ich habe für meine Zwecke ein Boardlayout ohne Display erstellt, da man dieses eigentlich nicht braucht. Im RAR-Archiv (unter "Wie kommt das Programm in den Controller?") findet ihr auch die Layoutdateien, die ihr mit dem Programm eagle 6 von CADsoft auch noch nachbearbeiten könnt. Wenn ihr die Platine fertigen lassen wollt, schaut euch mal das hier an: Platinensammler - Leiterkarten für 30ct/cm² - Mikrocontroller.net
Schaltplan und Boardlayout (eagle-files) gibts hier: http://db.tt/mJaqr0gM
Wie kommt das Programm in den Controller?
Das Hex-File gibt es hier: http://db.tt/mJaqr0gM
Um das Programm in den Controller zu programmieren braucht man eine geeignete Entwicklungsumgebung und ein Programmiergerät. Ich verwende das AVR Studio in Version 6 und den zugehörigen
kleinsten Programmer aus dem Hause Atmel. Ihr könnt aber auch gerne einen Nachbau verwenden. Es gibt eine ganze Menge von Nachbauten. Schaut euch evtl. auch mal in der Bucht um. Der Haken
daran ist nur, dass es keine Garantie für die Funktion der Nachbauten gibt. Habt ihr also vor, euch etwas intensiver mit den Controllern von Atmel zu beschäftigen, rate ich zum originalen AVR ISP mkII.
Wenn Ihr das Hex-File heruntergeladen habt, müsst ihr den Programmer entsprechend den Pins (ISP1..6) aus dem Schaltplan verdrahten. Startet das Atmel AVR Studio.
In der oberen Buttonleiste startet ihr den Programmiermodus
Das Fenster des Programmiermodus sollte sich nun öffnen.
1. Tool auswählen
2. Device auswählen
3. APPLY KLICKEN
4. Read Signature klicken.
Wenn bis jetzt keine Fehlermeldung kommt, ist das schon mal sehr gut. Sollte eine Fehlermeldung auftreten, liegt höchstwahrscheinlich ein Verdrahtungsfehler vor.
5. Setzt den ISP Clock auf 125kHz (Wenn ihr einen nagelneuen Controller gekauft habt, ist dieser auf eine interne Arbeitsfrequenz von 1 MHz programmiert worden. Die Programmierfrequenz muss <1/4 des Systemtakts sein. Also < 250kHz)
6. Wechselt am linken Rand in den Reiter Fuses
1. Um den Controller mit 8 MHz zu betreiben, müsst ihr dies entsprechend des Bildes einstellen (SUT_CKSEL)
2. Klickt auf Program!
3. Wechselt zurück auf den Reiter Interface Settings und stellt den ISP Clock auf 1MHz
4. Wechselt zum Reiter Memories
Jetzt kommen wir zum eigentlichen Programmiervorgang.
1. Wählt unter Flash die heruntergeladene Hex-Datei aus.
2. Klickt PROGRAM
Jetzt sollte das Programm auf dem Controller laufen.
Anhänge
Zuletzt bearbeitet: