U tekstu koji sledi, videćemo kako je u kućnoj izvedbi moguće napraviti RFID čitač. Ovaj čitač očitava tagove koji rade na frekvenciji od 125 kHz. Korišćen je protokol EM4100. U projektu su korišćeni tagovi u obliku kartice (veličine kreditne kartice) i priveska za ključeve. Uređaj se napaja jednosmernim naponom od 5V.
Izvor: 125 kHz RFID reader based on ATtiny13 by Vassilis Serasidis
Najpre, da vidimo kako funkcioniše naš uređaj. Glavna komponenta uređaja, čija je šema prikazana na slici 1, je AVR mikrokontroler ATtiny13. Mikrokontroler koristi funkciju generisanja PWM-a, kako bi proizveo pravougaoni signal frekvencije 125 kHz. Ovaj signal se generiše na pinu PB0. Pri pojavi opadajuće ivice na PB0 (logička nula), T1 ne provodi, pa se kalem L1, preko otpornika R1, dovodi pod napon. Kada dođe do rastuće ivice na PB0 (logička jedinica), T1 provodi, pa jedan kraj kalema ode na GND. U tom slučaju kalem sa kondenzatorom C1 čini LC oscilator. Promena logičkog stanja na PB0 se dešava 125.000 puta u sekundi (125 kHz).
Slika 1. Električna šema uređaja
RFID čitač obezbeđuje energiju tagu stvaranjem elektromagnetnog polja. Prenos energije između čitača i taga je isti kao kod transformatora koji npr. pretvara mrežni napon od 230 VAC u napon od recimo 12 VAC, gde elektromagnetno polje stvara primarni namotaj. U našem slučaju, primarni namotaj je RFID čitač, a sekundarni RFID tag.
Slika 2. Talasni signal od 125 kHz, poslat sa LC oscilatora
Prenos podataka između taga i čitača
Kako tag komunicira sa čitačem? Ideja je jednostavna ali veoma pametna. Kada tag treba da pošalje logičku nulu ka čitaču, on zahteva više energije sa čitača. Usled toga dođe do malog pada napona na RFID čitaču. Taj naponski nivo predstavlja logičku nulu. Istovremeno, dok čitač šalje signal od 125 kHz, on i očitava napon poslatog signala preko filtra koji čine dioda D1, kondenzatori C1 i C3 i otpornik R5. Znači, kada tag “obori” napon na LC oscilatoru, čitač ovaj pad napona registruje kao logičku nulu, a kada ne dođe do pada napona, čitač registruje logičku jedniciu. Na slici 2, sa leve strane prikazan je signal koji sadrži samo logičke jedinice, dok je sa desne strane prikazan signal koji sadrži i logičke jedinice i logičke nule.
Struktura podataka iz RFID taga
RFID tag koji radi pri frekvenciji od 125 kHz šalje 64 bita. Na slici 3 prikazana je struktura podataka. Prvih 9 bitova su zaduženi za početak komunikacije. Svih 9 bitova su jedinice. Narednih 4 bita su bitovi nižeg značaja korisničkog ID-a (D00,…,D03). P0 je bit parnosti prethodna 4 bita. Naredna četiri bita predstavljaju bitove višeg značaja korisničkog ID-a (D04,…,D07). P1 je, kao i P0, bit parnosti prethodna četiri bita. Narednih 32 bita predstavljau (D08,…,D39) predstavljaju serijski broj taga. PC0 bit predstavlja bit parnosti za bitove D00, D04, D08, D12, D16, D20, D24, D28, D32 i D36 (bitovi u istoj koloni). PC1, PC2 i PC3 predstavljaju takođe bitove parnosti za naredne tri kolone. Provera podataka vrši mikrokontroler računanjem bitova parnosti za svaki red i svaku kolonu i upoređivanjem istih, sa bitovima parnosti dobijenim od taga.
Slika 3. Struktura podataka koji se dobijaju sa RFID taga
Konstruisanje kalema
Kalem sadrži 58 zavojaka i prečnika je 120 mm. Za svaki slučaj, treba ostaviti bakarnu žicu za još 2-3 zavojka. Kako bi se ostvarilo maksimalno rastojanje između RFID taga i čitača (taga i antene – kalema) potrebno je kalibrisati kalem. Ako povežete osciloskop na čvor gde se spajaju kalem L1 i otpornik R1 videćete da se javlja šum, koji je prikazan i obeležen na slici 4. Ovo je razlog zbog kog kalem mora biti kalibrisan.
Slika 4. Šum koji se javlja prilikom očitavanja tagova
Kako ga možete kalibrisati? Uključite RFID čitač, povežite osciloskop kao što je već objašnjeno i probajte da produžite ili skratite bakarnu žicu od koje je napravljen kalem (dodavanje ili oduzimanje zavojaka) sve dok se šum ne eliminiše. U slučaju da vam osciloskop nije dostupan možete probati i drugi način. Približite tag kalemu, sve dok se tag ne očita. Ako je vaš tag prepoznat na distanci od 2 cm od kalema, probajte da dodate još zavojaka, pa vidite da li će vaš tag sada biti prepoznat sa veće udaljenosti (npr. 3 cm). Probajte i sa oduzimanjem zavojaka pa ćete na taj način utvrditi koja je najveća daljina sa koje čitač može da prepozna tag. Na slici 5 prikazan je gotov uređaj (sa gornje i donje strane). Na ovom uređaju kalem je imao 116 zavojaka prečnika 60 mm.
Slika 5. Izgled gotovog uređaja
Šemu uređaja i firmware za mikrokontroler možete preuzeti OVDE.
Izvor: 125 kHz RFID reader based on ATtiny13 by Vassilis Serasidis
Preveo: Miloš Jurošević