. : New eShop! - Mobilní verze - Pandatron.cz - Pandatron.sk - Diskuzní fórum - Zakázkový vývoj : .
 
RFID zámek s Mega128A
20. dubna 2012 - 8:00 | Pandatron | RFID zámek s Mega128A | Komentářů: 0  

RFID zámek s Mega128A

Praktická realizace RFID zámku s nedávno představenými moduly ID-12 a vývojovým kitem MEGA128A. Projekt je veden jako open-source i pro případné komerční použití.

Minulý týden jsem náš eShop rozšířili o portfolio základních a zároveň nejběžnějších RFID prvků. Článkem Moduly pro RFID identifikaci jsme zároveň představili základní vlastnosti integrovaných RFID modulů ID-12, ukázali jsem si jednoduché zapojení a přiblížili si formát komunikačního protokolu (ASCII).

V následujícím článku si na praktické konstrukci RFID zámku ukážeme skutečně jednoduché použití RFID prvků v praxi. Jako základ nám k tomu poslouží vývojový kit MEGA128A, který je rovněž dostupný prostřednictvím našeho eShopu.


Obr. 1: Radio Frequency Identification (RFID) - různé provedení identifikačních čipů

Výsledkem bude plně funkční a prakticky použitelná konstrukce programovatelného RFID zámku s výstupem například na relé. Maximální počet programovatelných identifikačních karet je omezen pouze kapacitou interní paměti EEPROM, ovšem pro snazší přehlednost byl konstantami RFID_MAX_LEN a RFID_EE_MAX omezen na 10. Jejich změnou lze pak využít plnou kapacitu integrované paměti a do zámku bude možné naprogramovat více než 400 identifikačních karet (4 kB/10 B délky ID).

MEGA128A
Bohatě vybavený vývojový kit Mega128A nabízí využití nejen při výuce a prvních krocích s mikrokontroléry řady AVR, ale své uplatnění nalezne i při vývoji prototypových zařízení, ověřovacích aplikací apod.


Obr. 2: Vývojový kit Mega128A, dostupný prostřednictvím našeho
eShopu

Základem vývojového kitu Mega128A je oblíbený 8-bitový mikrokontrolér ATmega128A od společnosti Atmel, vybavený 128 kB programové paměti a celou řadou integrovaných periferií. Kromě základních prvků, zajišťujících bezproblémový chod procesoru, jsou k dispozici například čtyři 8- a 16- bitové čítače/časovače, 6x PWM výstup, 8-kanálový 10-bitový A/D převodník, dvě sériová rozhraní SPI a I2C, 2x UART, programovatelný WatchDog, analogový komparátor a řada dalších.

Na vývojové desce Mega128A je pak vývojářům k dispozici velké množství ovládacích a zobrazovacích prvků, obvod reálného času, externí I2C paměť či například i vysokonapěťový budič krokových motorů a další. Rovněž kit nabízí přímé použití jak standardních znakových, tak i moderní grafických LCD displejů, ale o tom až později.



Obr. 3: Schéma vývojového kitu Mega128A

Více informací o vývojovém kitu je dostupných v našem článku Vývojový kit Mega128A.

RFID zámek
Následující konstrukce RFID zámku se snaží praktickou aplikací ukázat snadné použití RFID prvků v praxi. Díky jejich vlastnostem, jako je kupříkladu jediné napájecí napětí +5V, malé rozměry či široký rozsah provozních teplot, jsou moduly ID-12 vhodné nejen pro aplikace spotřební elektroniky a hračky, ale své uplatnění naleznou i v řadě dalších oborů z oblasti průmyslu, zabezpečovacích a automatizačních systémů.

Celý projekt je koncipován jako open-source a včetně okomentovaných zdrojových kódů je volně k dispozici jak pro soukromé, tak i komerční použití, bez jakýchkoliv závazků (jak už je ostatně našim zvykem). Přesto, že by se to nemělo, jsou zdrojové kódy okomentovány v českém jazyce, takže jejich použití i případné modifikace nebo doplnění o vlastní moduly, je velice snadné a zvládne jej i průměrný programátor se základní znalostí jazyka C.

Postup kompilace vlastní aplikace a naprogramování výsledného zdrojového souboru do procesoru, byl stručně popsán například v článku Mega128A – ADC, UART, LED.

Základní vlastnosti RFID modulů ID-12:

  • Pracovní rozsah s interní anténou: 12 cm
  • Rozměry: 26 x 25 x 7 mm
  • Pracovní frekvence: 125 kHz
  • Formát podporovaných RFID čipů: EM 4001 nebo kompatibilní (Unique)
  • Kódování: Manchester 64-bitů
  • Napájení: +5V, max. 13mA
  • Maximální výstupní proud I/O pinů: 75 mA

Pro snadné použití modulů jsme zvolili výstup ve formátu ASCII, který byl rovněž představen již v minulém článku. Pro příjem dat z modulu nám tak postačí jediný sériový port – UART, resp. pouze pin RxD. Moduly jsou již z výroby nakonfigurovány tak, aby při přiblížení identifikační karty automaticky odeslaly její ID. Z předchozího obrázku je však jasné, že 10-bytům ID slova předchozí vždy jeden byte <STX> (02h). Za ID dále následují dva byty kontrolního součtu, dále pak znaky <CR> <LF> a <ETX> (03h).

Příjem byl z modulu v aplikaci zajištěn sériovým rozhraním UART-1. Druhý sériový port nebyl v této aplikaci použit a může být propojen například s počítačem pro logování příchodů a odchodů zaměstnanců apod. Dalším použitým prvkem z vývojového kitu MEGA128A byl 8-místný LED displej a jako výstup například pro relé nám poslouží pin PC0 s LED1. Tlačítko KEY1 na pinu PB0 slouží k programování nových identifikačních karet.


Obr. 4: Blokové schéma ukázkové aplikace RFID zámku

Obslužný program:
Program pro mikrokontrolér vychází z ukázkových programových modulů z předchozího článku a je napsán v jazyce C, záměrně s českými komentáři. Mezi použité moduly patří BUTTON.C, DISPLAY.C, LED.C a UART1.C (samozřejmě včetně příslušných hlavičkových souborů). Doplněn byl modul BEEP.C ovládající integrovaný beeper na desce MEGA128A a samozřejmě nezbytný RFID.C. Právě v tomto modulu je umístěna veškerá obsluha RFID prvku, příjem dat, dekódování, programování nových karet do integrované EEPROM paměti, porovnání karet a řízení stavu „odemknuto“.


Obr. 5: Osm sedmisegmentových LED zobrazovačů je řízeno pomocí dekodéru 74LS138 a posuvného registru 74HC595

Přesto však soubor RFID.C obsahuje pouze dvě hlavní funkce: rfid_init(); která iniciuje port sériového rozhraní mikrokontroléru a rfid_refresh(); zajišťující vše ostatní. Zbylé dvě funkce, které se v souboru nacházejí, slouží výhradně pro interní potřebu zmíněné funkce rfid_refresh(); a nikde jinde se nepoužívají.

Vlastní program mikrokontroléru v souboru main.c zajistí nejprve nezbytnou inicializaci všech používaných prvků a poté přejde do nekonečné smyčky. V té opakovaně volá funkci rfid_refresh(); zajišťující veškerou obsluhu RFID modulu, obnovu displeje a také časování pro opětovné uzamčení (vypnutí výstupu s LED1, kde může být připojeno dveřní relé) a pípnutí.

Závěr:
Jak jsem již zmínil, veškeré zdrojové kódy jsou volně dostupné ke stažení pod článkem. Rovněž je v archivu dostupný zkompilovaný soubor MAIN.HEX, určený k okamžitému naprogramování. Po připojení RFID modulu k pinu RxD (PD2) portu UART1 a naprogramování je RFID zámek připraven k použití.

K ovládání slouží jediné tlačítko KEY1, umožňující naprogramování nových identifikačních karet. To se provádí stisknutím tlačítka KEY1 – přiblížením identifikační karty k RFID modulu a následným uvolněním tlačítka KEY1. V tu chvíli došlo k uložení ID nové karty do interní EEPROM paměti mikrokontroléru, kde zůstane uchováno i po odpojení napájecího napětí. Tento stav je na displeji identifikován nápisem WRITE (z důvodu omezení displeje na sedmisegmentovky bylo použito pouze jednoduché V).

Následným přiblížením již naprogramované karty k RFID modulu dojde k vyčtení jejího ID, porovnání s kartami v EEPROM paměti a odemčení zámku (sepnutí výstupu s LED1) na dobu cca. 5s (určuje hodnota konstanty OPENTIME v main.h). Tento stav je na displeji identifikován nápisem OPENED a trvalým tónem beeperu. Po uplynutí nastavené doby dojde k opětovnému uzamčení zámku (vypnutí výstupu s LED1) a zobrazení nápisu CLOSED.

Odkazy & Download:
Vývojový kit MEGA128A v našem eShopu
MiniProg – Univerzální programátor AVR
Síťový napáječ 12V/500mA

Informace o obvodu ATmega128A
Moduly pro RFID identifikaci
Mega128A – ADC, UART, LED

RFID zámek - Obslužný program pro mikrokontrolér







GooglePlus1 FaceBook Twitter del.icio.us DiGG Google StumbleUpon Google Buzz Email RSS PDF Tisk

Komentáře:
Název příspěvku: Vaše jméno: host
                 
  Zakázat formátování [Zakáže kódování a nahrazování smajlíky.]
Připojit soubory
reklama:
Vývojový kit MEGA48
Univerzálním a bohatě vybavený vývojový kit s obvodem ATmega48 společnosti ATMEL je vhodný jak pro začátečníky, tak i profesionály.
Skladem od 755 Kč

Informace uvedené v článcích jsou platné v době jejich vydání a samotné články jsou určeny pouze jako zdroj informací. Autor článku ani správce webu nenesou žádnou zodpovědnost za případné újmy na majetku a zdraví. Názvy společností a výrobků, loga a další multimediální materiál mohou být ochrannými známkami příslušných společností.
RSS kanály: | |
+420 723 846 377
info@pandatron.cz
Všechna práva vyhrazena | mobilní verze | © Copyright 2000 - 2016 ISSN 1803-6007