Bauanleitung RFID Akku Scanner

Stand 07.12.2013

Anhand dieser Anleitung sollte jedem mit etwas elektronischem Grundwissen und Geschick der Nachbau des RFID Akku Scanners gelingen. Wenn alles vorhanden ist, sollte das locker an einem verregnetem Sonntag zu schaffen sein. Viel Spaß beim basteln.

Als erstes müssen die Teile beschafft werden. Ebay und Pollin sind da die ersten Adressen die man ansteuern sollte. Alle hier verbauten Teile sind dort zu bekommen. Evtl. hat der eine oder andere von euch auch noch etwas passendes in der Bastelkiste liegen.  Das benötigte Material findet Ihr hier am Ende der Seite. Info: Ab Software v1.09  ist auch die Verwendung von NDEF formatierten Tags möglich.

Los geht`s mit dem bestellen der Teile und anschließendem installieren der Arduino Software IDE 1.0.5. Diese entsprechend für euer System laden und installieren.           (IDE-1.5beta) wurde auch erfolgreich getestet.

Mittlerweile hat der Postbote geklingelt und alle nötigen Teile gebracht. Nun können wir alle benötigten Komponenten in das Gehäuse einbauen. Dazu mit der Laubsäge die entsprechenden Ausschnitte im Kunststoffgehäuse 129x64x45mm für das 1,8″ TFT Display, die beiden Schalter, Ladebuchse und USB Anschluss vornehmen. Danach das Display mit Micro USB Karte und die RFID Platine in den Deckel einbauen. Dazu musste ich bei meinem Gehäuse an dem TFT die Lötleiste abschneiden und direkt auf den Lötpunkten die Kabel anlöten.

P1000816

Hier noch einmal die Gesamtansicht vom inneren des Gehäuses. Es ist gut zu erkennen, daß ich die RTC komplett in Schrumpfschlauch gepackt habe, damit es mit der Batterie keinen Kurzschluss gibt.

P1000815

 

P1000824

Anschließend nach folgendem Schaltplan mit dem Arduino Mega 2650 Board verdrahten.

Schaltplan RFID-Akkuscan v1.1

Einige Getränke und Stunden später können wir dann mit dem flashen der RFID Scanner Software beginnen. Den benötigten Sketch könnt Ihr aktuell hier RFID_Scanner_1_10 und die von mir dazu benutzten Arduino IDE 1.05_libraries hier laden. EDIT 19.052017: Libraries funktionieren nicht mehr mit der Arduino 1.8.2, deshalb hier die aktuellen RFIDakkuscan_lib_19_05_2017. Es kann auch das Platformio Projekt RFIDakkuscan_1.10_platformio geladen werden. Beides wird an die entsprechenden Stellen entpackt.  Als nächstes öffnen wir die Arduino IDE und stecken das Mega 2650 board an den USB Anschluss. Nun öffnen wird den Sketch RFID_Scanner_1_10. Jetzt wählt Ihr unter  Tools -> Board -> Arduino 2560 oder ADK aus.  Anschließend wählt Ihr den passen Port unter Tools-> Serieller Port aus an dem der Arduino hängt. Als nächstes wird der Sketch zum Test ob alle Libs vorhanden sind kompiliert, dazu den linken Button oben in der Leiste (Überprüfen) drücken. Wenn das ohne Fehler funktioniert hat, können wir mit dem zweiten Button von links (Upload) das Programm (Sketch) in den Mega 2560 laden. Danach sollte das Programm starten und wenn alles richtig gemacht ist auf dem TFT „PC Modus“ anzeigen.

P1000791

Da jetzt die Software und Hardware soweit funktioniert, muss nur noch die RTC eingestellt werden. Seit Software Version v1.02 kann die RTC auch über sie serielle Schnittstelle eingestellt werden. Dazu wird der folgende String im Format „t;year;month;day;hour;minute;secunde;“ an den Mega2560 gesendet.

„t;2013;2;27;19;36;00;“

Damit wird RTC eingestellt und aktiviert.

Als nächstes sollte man sich eine Liste seiner Akkus in einer Text Datei (Notepad etc.) anlegen. Hier sollte man die Daten Datenformat konform reinschreiben. Damit kann man jederzeit den entsprechenden String kopieren und in dem Seriellen Monitor einfügen. Nachdem die RFID Coins auf den Akkus angebracht wurden,

P1000803P1000798 P1000795P1000822

kann das Programmieren der RFID Coins beginnen. Dazu wird rechts oben der        „Serial Monitor“ geöffnet, im Monitor unten rechts „Sowohl NL als auch CR“ und „9600 Baud“ eingestellt. Jetzt die Befehlszeile für den Akku eingegeben:

„n;Lipo ;SLS APL 30C+  ;2;0;850;3;20;25;70;27;01;13;0;8;99;“

Sobald der Befehl mit „Enter“ abgeschickt wurde ist der RFID Scanner bereit den RFID-Coin zu beschrieben. Dazu diesen an die Scanner Fläche bringen. Jetzt werden alle Daten auch im Display angezeigt. Damit die der neue Akku fertig. Wiederhole diesen Vorgang für jeden Akku. Wenn alle Akkus fertig sind,oder auch zwischendurch kann der befehl „r;“ abgesetzt werden. Mit diesem Befehl spuckt der Mega das aktuelle Datum und Uhrzeit und alle bekannten Akkudaten auf der Seriellen Schnittstelle aus.

SerielleAusgabe

 

P1000818

Das das Booten etwas lange dauert, wenn der original Arduino bootloader aktiv ist, er wartet nach dem einschalten schließlich auf einen Befehl um ein Programm in den controller zu laden, werde wir die Fuse Bits so verändern das der bootloader übersprungen wird. Dazu benötigen wir allerdings einen ISCP Programmer.

Die originalen Fuse Einstellungen des Arduino Boards sind in der Datei boards.txt unter ../arduino-1.0.3/hardware/arduino/boards.txt zu finden. Dort sind als Standard folgende Fuse einsgestellt;

low_fuses=0xFF      high_fuses=0xD8      extended_fuses=0xFD

Ein Blick auf http://www.engbedded.com/fusecalc/ verrät was dahinter steckt.

Die einzige Änderung die ich vorgenommen habe ist die high_fuses=0xD8 in high_fuses=0xD9 zu ändern. Damit wird folgende Funktion deaktiviert.

Boot Reset vector Enabled (default address=$0000); [BOOTRST=0]

Das hat zu Folge, das das Programm zwar direkt ohne Bootloader geladen wird, aber der mega 2560 nicht mehr sofort mit der Arduino IDE geflashed werden kann.

Ein ändern der Fuse wird mit avrdude vorgenommen, hier der Befehl als root dazu.

sudo avrdude -c usbasp -v -p m2560 -U hfuse:w:0xd9:m

oder mit

sudo avrdude -c usbasp -v -p m2560 -U hfuse:w:0xd8:m

zurück zum Original. Man kann auch alle Fuses auf einmal schreiben einfach am ende alle Fuses anhängen.

-U lfuse:w:0xff:m -U hfuse:w:0xd9:m -U efuse:w:0xfd:m

Normalerweise kann das Progamm mit folgendem Befehl über USBasp geflashed werden.

sudo avrdude -c usbasp -v -p m2560 -U flash:w:RFID_Scanner_1_00.cpp.hex

Das ändern der Fuse beschleunigt den start von ca 8 Sekunden auf 3 Sekunden was akzeptabel ist.

Wenn alles fertig ist könnte das Gerät im Gebrauch so aussehen:

P1000835

P1000837

 

2 Kommentare zu Bauanleitung RFID Akku Scanner

  1. Hermann sagt:

    Als Modellflieger sind wir per ‚Du‘, wenn’s recht ist. Super Sache was Du da entwickelt hast. Inzwischen nachgebaut und in Betrieb genommen. Ich stelle mir auch vor unter Verwendung von Raspberry PI die Sache nochmals zu verbessern.
    Meine LCD Anzeige kommt allerdings nicht über ein „card failure“ hinaus.
    Eine PC Modus Anzeige erscheint nicht. Mehrere SD in FAT Format schon verendet, immer die gleiche Meldung. Woran könnte das liegen? Gibt es inzwischen hierfür evtl. ein Forum?
    Rotor, Rippen & Holmbruch,
    Hermann

  2. sven sagt:

    Hallo Hermann,
    danke für dein Lob und ich freue mich, dass Du den RFIDAkkuscan nachgebaut hast.
    Die Sache mit dem PI werde ich sicher in den Wintermonaten weiter intersiver verfolgen, denn momentan ist ja Flug und nicht Programmier Saison 😉
    Wenn dein TFT das „card failure“ anzeigt, dann ist scheinbar fast alles ok. Was mir anfangs passiert ist, das ich die SD Karte nicht „ganz“ bis zum Anschlag eingesteckt habe. Man muss schon etwas festen Druck ausüben bis die richtig steckt. Evtl ist auch die CS Leitung für die Karte nicht korrekt angeschlossen oder in der Software für den richtigen Pin definiert.
    Siehe Programm :
    #define SD_CS 53 // Set the chip select line to whatever you use (4 doesnt conflict with the library)

    Zum Test kannst Du den Teil hier mal mit // auskommentieren um zu sehen ob der Rest soweit läuft. Falls ja, dann kann man sich direkt auf die Karte konzentrieren.

    //if (!SD.begin(SD_CS)){ // see if the card is present and can be initialized:
    // tft.setCursor(0, 0);
    // tft.println(„Card failed“);
    // while (1); // don’t do anything more:
    // return;
    // }

    Ein Forum direkt habe ich nicht, aber ich habe mal im RC-Network darüber geschrieben Link gibts unten. Das können wir gerne nutzen.

    Wir kriegen das Problem schon in den Griff 😉

    Gruß
    Sven

    Link

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.