Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Moduł czytnika kart RFID RDM6300 - krótki opis i test działania

grala1 04 Sty 2020 12:44 1266 1
  • Chciałbym dzisiaj opisać i przybliżyć Wam bardziej czytnik kart RFID. Opis będzie dotyczył modułu RDM6300.
    Moduł czytnika kart RFID RDM6300 - krótki opis i test działania

    Jest to czytnik kart i TAGów RFID pracujący z częstotliwością 125kHz, urządzenie to nie potrafi zapisywać kart/TAGów. Moduł sprzedawany jest w komplecie z anteną.
    Jego wymiary to: 39x19x12mm, wymiary anteny 46x35x2,5mm + ok 15cm przewodu. Antena to cewka wykonana z nawiniętego drutu miedzianego, jest ona dość sztywna ale warto zabezpieczyć miejsce połączenia cewki w przewodem - może dojść tutaj do urwania wyprowadzenia. Pomocny może okazać się tutaj "lej na gorąco".
    Poniżej zdjęcie opisu wyprowadzeń czytnika.
    Moduł czytnika kart RFID RDM6300 - krótki opis i test działania

    Napięcie zasilania modułu to 5VDC, pobór prądu ok 40mA. Mamy tutaj 3 złącza goldpin. Masa pomiędzy złączem P1 a P3 jest połączona więc wystarczy tutaj podać tylko jedną masę. Niestety piny odpowiedzialne za zasilanie po stronie plusa nie są połączone pomiędzy złączem P1 i P3. W złączu P3, pin 1 mamy wyjście opisane jako LED - jest to wyjście na którym pojawia się stan niski przy odczycie karty. Można go wykorzystać do sygnalizacji umieszczenia karty w zasięgu i dokonania odczytu z niej. Nie wiem jednak czemu służy zasilanie na złączu P3. Bez podania tam zasilania czytnik działa prawidłowo, sygnał na wyjściu tego złącza (LED) również działa prawidłowo.
    Maksymalny zasięg czytnika w moim przypadku to ok 50mm dla karty i 40mm dla taga. Zasięg tej jest różny w zależności od kąta pomiędzy anteną a kartą. Największy zasięg uzyskujemy gdy odczytywany przedmiot jest przykładany równolegle do anteny.
    Na PCB naszego czytnika możemy zauważyć mikrokontroler C8051F330 w obudowie QFN-20 od firmy Silicon Labs, wzmacniacz operacyjny LM358 oraz z powodu zasilania mikrokontrolera stabilizator napięcia AMS1117 3.3V.
    Nasz czytnik do komunikacji ze światem używa interfejsu UART. W niektórych dokumentacjach znajdziemy informację że logika UART dla tego czytnika to 3.3V. Powiem tak, że na początku używałem konwertera USB-UART z przełącznikiem na 3.3V ale przy podłączaniu modułu do płytki uruchomieniowej AVR nie chciało mi się bawić z konwerterem napięć i używałem 5V. Czytnik działał bez problemu i w niczym nie zaszkodziło mu wyższe napięcie logiki. Patrząc w notę katalogową C8051F330 znajdziemy informację że maksymalne napięcie dla portów I/O to 5.8VDC więc raczej można tutaj bezpiecznie działać przy obu poziomach napięcia.

    Ceny RDM6300 wraz z wysyłką na Allegro zaczynają się od niespełna 20zł, na Aliexpress taki moduł wraz z wysyłką to koszt niepełna 5zł.
    Pamiętajcie że do zabawy z czytnikiem potrzebujecie jeszcze kart czy też tzw. tagów. Na Allegro dokładacie 1zł i macie możliwość zakupu czytnika wraz z brelokiem.
    Przy osobnym zakupie kart zwróćcie uwagę że nie każda karta zadziała z RDM6300. w tym przypadku muszą to być karty zgodne z EM4100, pracujące przy częstotliwości 125kHz.
    Na początku, przy zakupie kart nie zwróciłem na to uwagi i kupiłem karty 125kHz ale EM4305. Później przy pracy z czytnikiem coś mi nie działało więc dokupiłem kartę EM4100 125kHz oraz taga.

    Zamówienie z Aliexpress z RDM6300 dotarło do mnie po ok. 2 tygodniach.
    Moduł przychodzi w takiej formie, zapakowany w kopercie bąbelkowej.
    Moduł czytnika kart RFID RDM6300 - krótki opis i test działania
    Moduł czytnika kart RFID RDM6300 - krótki opis i test działania

    Do czego możemy użyć takiego czytnika?
    Możemy go wykorzystać np. do zrobienia zamka otwieranego za pomocą karty lub rejestracji czasu pracy.

    Rodzajów takich czytników jest kilka, ten moim zdaniem ma przewagę nad innymi z powodu rodzaju interfejsu do komunikacji jaki został tutaj użyty - UART. Możemy znaleźć czytniki np. z komunikacją SPI, I2C lub takie gdzie mamy możliwość przełączenia komunikacji, jednak ten omawiany tutaj można podłączyć bardzo prosto i szybko do komputera za pomocą konwertera USB-UART. Wystarczy odpalić w komputerze terminal, skonfigurować ustawienia by po chwili móc odczytywać kody z kart.

    Poniżej konfiguracja ustawień dla programu COM Port Toolkit:
    Moduł czytnika kart RFID RDM6300 - krótki opis i test działania

    Po podłączeniu zasilania do naszego czytnika, połączeniu "na krzyż" linii Rx i Tx czytnika i konwertera, zmiany ustawień w programie i wybraniu odpowiedniego portu COM na monitorze możemy obserwować reakcję na przyłożenie karty do anteny czytnika.
    Moduł czytnika kart RFID RDM6300 - krótki opis i test działania

    Powyżej mamy dwa odczyty - z taga i karty.
    Jak widać odczyt karty/taga składa się z 14 bajtów.
    Po lewej mamy odczyt w formacie szesnastkowym (HEX) a po prawej w ASCII.
    Pierwsza linia to odczyt taga, druga linia to odczyt karty.
    Odczyt z taga to: .32001152DFAE.
    W programie COM Port Toolkit widzimy że początek i koniec to kropki w ASCII. Nie są to kropki a są to znaki początku i końca tekstu. Możemy znaleźć w tabeli znaków ASCII że 02HEX to znak początku tekst zaś 03HEX to znak końca teksu. Program ten pokazuje w formie ASCII że mamy do czynienia z kropkami ale jak widać nie są to kropki.
    Moduł czytnika kart RFID RDM6300 - krótki opis i test działania

    Mamy więc tutaj odczyt jako 12 bajtów: 32001152DFAE
    Jest to 12 bajtów w zapisie HEX.
    Ostatnie 2 bajty to suma kontrolna - AE
    Jak ona jest wyliczana?
    Liczymy ją w systemie szesnastkowym za pomocą funkcji XOR.
    32XOR00XOR11XOR52XDF=AE
    Numer naszej karty to bajty od 4 do 10 czyli 001152DF. Jest to nr w zapisie szesnastkowym. Po przekonwertowaniu go na zapis dziesiętny otrzymujemy liczbę 1135327. Taki też numer jest wygrawerowany na tagu który zakupiłem.
    Dlaczego druga linijka w programie to 000000000000?
    Z tego powodu że ta karta jest "pusta".

    Inne programy jak np. Hyperteminal pokazują w innej formie taki odczyt. Mamy tutaj tylko odczyt ASCII gdzie widać nasze bajty w systemie szesnastkowym. Można też zauważyć że program inaczej interpretuje tutaj znaki początku i końca tekstu - mamy tutaj do czynienia z serduszkami i buźkami.
    Moduł czytnika kart RFID RDM6300 - krótki opis i test działania

    Jeżeli ktoś umie pisać programy na PC to może np. dzięki takiemu odczytowi zrobić program do rejestracji obicia kart - np. jaki nr karty i o jakim czasie została użyta.

    Wyżej pisałem o podłączeniu czytnika do płytki uruchomieniowej. Tutaj skorzystałem z ZL2AVR.
    Poniżej program dla takiej zestawu. Dość łatwo przerobić go na inny mikrokontroler, dzięki komentarzom w opisie będzie jaśniej jak podłączyć wyświetlacz LCD czy czytnik do zestawu uruchomieniowego.
    Kod: vbnet
    Zaloguj się, aby zobaczyć kod

    Dzięki temu programowi możemy obserwować na wyświetlaczu odczyt z przyłożonej karty do anteny.
    W pierwszej linii wyświetlacza mamy odczyt 12 bajtów (zmienna K2), w drugiej linii mamy wyświetlony numer naszej karty w zapisie szesnastkowym - zmienna Id.
    W dolnej linii wyświetlacza wyświetlane jest tylko szejść bajtów licząc od piątego. Jeżeli ktoś chciałby wyświetlać cały numer (ja pominąłem zera na początku) to trzeba zmienić program w jednym miejscu.
    Kod: vbnet
    Zaloguj się, aby zobaczyć kod

    Po takiej zmianie będziemy mieli wyświetlane 8 bajtów z numerem naszej karty.

    Tutaj krótki filmik z odczytu numerów kart:


    Do swoich zabaw kupiłem dwa rodzaje kart oraz jednego taga. Dwie karty zamówione na początku okazały się źle dobranymi kartami do tego czytnika ale jak widać działają jednak są "czyste" (EM4305), drugi rodzaj karty który wedle sprzedawcy pracuje z tą samą częstotliwością i również jest EM4100, nie działa tutaj (wygląda to na uszkodzoną kartę), tag działa poprawnie i jako jedyny ma nadany numer.
    Proponuję przy zakupie kart lub tagów wybrać opcję z już nadanymi numerami - pozwoli to na identyfikację każdej karty w waszych aplikacjach.
    Podobno karty EM4100 i EM4305 są zamienne.
    Poniżej zdjęcie moich kart:
    Moduł czytnika kart RFID RDM6300 - krótki opis i test działania

    Jak widać numer wygrawerowany na tagu zgadza się z numerem odczytanym na komputerze czy też na uC.

    Jeżeli ktoś dobrze przypatrzy się na filmie to zauważy że odczyt na wyświetlaczu miga przy przykładaniu karty, tak samo jedna z diod LED na ZL2AVR. Jest to spowodowane tym że urządzenie nie dokonuje jednego odczytu lecz czyta cały czas póki karta jest w zasięgu.

    Gdzie widzicie zastosowanie tego typu czujnika?
    Może już do czegoś wykorzystaliście ten lub podobny czujnik.
    jeżeli tak to zapraszam to podzielenia się opisem swojej aplikacji czy też programu.

    Chciałbym tutaj podziękować bardzo użytkownikowi bart-projects, który jest autorem programu, mój program nie działał do końca prawidłowo a kolega pomógł i napisał program który działa dużo lepiej. Ja dopisałem tylko kilka linijek do programu i parę komentarzy.

    W załączniku dokumentacja czytnika RM6300.

    Fajne! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz kartę SD 64GB.
    O autorze
    grala1
    Specjalista grupy V.A.G.
    Offline 
  • #2
    TechEkspert
    Redaktor