Kako postaviti pametne telefone i računala. Informativni portal
  • Dom
  • Windows 10
  • RFID je jednostavan. Implementacija vlastitog RFID transpondera i čitača

RFID je jednostavan. Implementacija vlastitog RFID transpondera i čitača

Oznaka EM4100 pohranjuje 64 bita podataka, što znači da dizajn mora sadržavati 64-bitni pomični registar sastavljen od osam 8-bitnih 74HC165 registara. Registar se ponovno učitava nakon svake 64 smjene kako bi se podaci poništili i počeli ispočetka. Ulazi registra su sljedeći:
  • Uzorak sinkronizacije: devet jedinica
  • ID dobavljača/verzije: 2 bloka od 5 bitova, od kojih su 4 podaci, a peti paritet
  • Jedinstveni identifikator: 8 blokova od 5 bitova, od kojih su 4 bita podaci, a peti je paritet
  • Kontrolni zbroj: 4 paritetna bita, broji stupac po stupac
  • Stop bit: "0"

Čak su i šifrirane oznake osjetljive na višestruke napade. Osim toga, postaje sve lakše oponašati oznake na pametnim telefonima s NFC-om (koji obično rade na 13,56 MHz). Samo ispravno napišite svoju aplikaciju za modulaciju na terenu i možete raditi što god želite.

Kao standardnu ​​ispriku, da podsjetim da je autor (I prevoditelj! - Cca. prev.) ne preuzima nikakvu odgovornost za posljedice korištenja informacija u ovom članku. Čitatelj mora biti odgovoran za sve svoje postupke.

Okvir

Ponekad vrlo sretan. Lijepo kućište bilo bi sjajno sada kada je prototip gotov i PCB naručen. I u to vrijeme Fleming je završio sastavljanje i lansiranje OSAA PhotonSaw stroja za lasersko rezanje. Nakon godinu dana rada na projektu, laser je spreman za rezanje svojih prvih dijelova. Flemming i Rune vrše konačna podešavanja i zamjenjuju aluminijski poklopac laserskog ormarića. Možete zamisliti koliko smo svi bili sretni što smo vidjeli da ova stvar funkcionira.

S radom stroja dobili smo priliku testirati naš projekt u stvarnom životu. Kućište za našu RFID oznaku izrađeno je od stakla debljine 2 mm. Ovaj korpus je prvi objekt napravljen s PhotonSawom, da!

Rodila se ideja da se zavojnica smjesti na vanjsku stranu kućišta. Isprva je odlučeno koristiti polovicu visine tijela, ali to u praksi nije funkcioniralo (dodatne rupe na dugim stranama se stoga ne koriste). Zavojnica je baš bila izvrsno postavljena po obodu cijelog kućišta, iako sam sumnjao da bi pravokutni namot (105x55 mm) bio prevelik za normalno elektromagnetsko spajanje.

Ispitni svitak je namotan, bez ikakvih proračuna, sa žicom od 0,4 mm, 66 zavoja. I, očito, opet smo imali sreće, jer je zavojnica ispala točno kako treba, s induktivitetom od 645 μH, sa spojenom oznakom, dajući rezonantnu frekvenciju od 125,2 kHz. Test čitača vrata pokazao je da prototip radi sasvim dobro s ovom zavojnicom.

S zavojnicom na vanjskoj strani kućišta, debljina potonjeg može se smanjiti. Unutarnja debljina sada ovisi samo o visini dijelova na ploči, a uzimajući u obzir debljinu ploče, trebala bi biti oko 6 mm. Također, bilo bi lijepo dodati graviranje. Flemming je predložio zaokruživanje stranica kućišta iz estetskih i ergonomskih razloga. Zakrivljeno tijelo također će bolje zaštititi stranice zavojnice, jer tamo gdje nema jake napetosti, zavoji žice imaju tendenciju da ispuze.

PhotonSaw još uvijek nije sasvim na razini: gravura na gornjem poklopcu je značajno skliznula. Potrebno ga je doraditi prije izrade konačne verzije slučaja. Zakrivljene konture također su pretrpjele računsku grešku u softveru jer se snop nije vratio u prvobitni položaj nakon što je prošao zatvorenu stazu. Ali u svakom slučaju, obline izgledaju stvarno glatko.

PCB sklop

Naručena uplata je stigla:

Skupština nije bila jako teška. Na ploču je ucrtana pasta za lemljenje, svi dijelovi su postavljeni, a zatim zalemljeni u domaćoj pećnici.

Kroz blokirni kapacitet (47 pF ima otpor od oko 27 kOhm na frekvenciji od 125 kHz) i zaštitne diode struja teče do energetskih tračnica. Energija koja se dovodi iz zavojnice dovoljna je za održavanje napona napajanja od oko 1 V. Struja može doseći 250-500 μA. Iznenađujuće, čini se da 74HC radi s ovakvom vrstom napajanja. Nažalost, uz ovakvu napetost događaju se čudne stvari. 74HC ima unutarnji krug za resetiranje i morate biti sigurni da radi. Imajte na umu da onemogućavanje zaštitnih dioda ne pomaže. Na ulazima mikrosklopova nalaze se unutarnje zaštitne diode, koje se u ovom slučaju otvaraju i rade isti posao.

Resetiranje napajanja pokreće se samo ako napon napajanja padne ispod određene razine tijekom određenog vremenskog razdoblja. Ako napon ostane previsok, tada se unutarnja logika može zbuniti, jer neki njeni dijelovi mogu biti u neodređenom stanju, dok drugi rade kako se očekuje. Potrebno je interno resetiranje kako bi se svi čipovi doveli u konzistentno stanje. Dakle, krug će biti nestabilan pri vrlo niskim naponima napajanja.

Uočeni su sljedeći simptomi: oznaka radi neko vrijeme, dok šalje točne podatke. Ako izvadite zavojnicu iz čitača, a zatim ga vratite natrag, možete se kladiti hoće li se oznaka isključiti. Ponekad radi, ponekad ne. Onemogućavanje PLL-a pogoršava situaciju. Mala potrošnja energije dovodi do toga da će čitač povremeno primati podatke s isključene oznake. To je ono što znači "energetski učinkovit sustav".

Postoje dva rješenja: 1) smanjiti kondenzator u krugu za oporavak takta na 15pF i 2) umetnuti otpornik od 22-100k između napajanja i uzemljenja kako bi se ispraznio višak energije. Druga metoda dovodi do povećanja curenja tijekom rada i zapravo nije potrebna kada se kondenzator smanji. Međutim, on je dostupan kao opcija, a ipak je bolji od nedefiniranog stanja mikro krugova.

Modulacija strujom ili naponom

Modulator je donio svježi dio glavobolje. Modulacija je potpuno nestala kada je zavojnica postavljena na određenu udaljenost od čitača. To se također može dogoditi kada se zavojnica pomiče prema ili od čitača.

Pokazalo se da je razlog u krugu modulatora. MOSFET-ovi povezuju zavojnicu s otpornikom određenog otpora. Međutim, ako je potrošnja energije iz petlje velika, otpor modulatora je mnogo veći od otpora napojnih krugova. To dovodi do činjenice da dubina modulacije ovisi o potrošenoj struji, što nije baš dobro. Situaciju je pogoršao izbor ograničavajuće Zener diode za niži napon nego u prototipu.

Odlučeno je da se modulator prebaci s modulacije napona na modulaciju struje. Za prvi način rada otpornik je bio u odvodnom krugu, a sada je spojen između izvora i mase. Napon gejt-izvor će pasti na ovom otporniku sve dok vrijednost ne ostane malo iznad praga otvaranja tranzistora (0,9-1,1 V), što će tranzistor prebaciti u linearni način rada. Sada će struja kroz tranzistor biti stabilna, bez obzira na napon na odvodu.

Ispitivanje prototipa pokazalo je da strujna modulacija radi vrlo dobro. Jeftin, bezimeni čitač se više ne ruši (u redu, možda jednom u stotinjak). Može se pretpostaviti da će ova promjena izvrsno djelovati i na druge čitatelje, a tag će sada vjerojatno moći raditi i na većini njih.

Dovršena verzija 1

Izmjene koje su napravljene možete vidjeti na PCB-u. Nisam imao SMD kondenzator od 15pF, morao sam zalemiti obični s nogama. Modulator je obrastao dodatnim otpornicima na izvorima tranzistora. Općenito prihvatljivo za prvu verziju.

(slike se mogu kliknuti)





Video demo

Zaključak

Možda mislite da se ovaj logički dizajn 7400 može pripisati retro sklopovima, ali to nije sasvim točno. Prvo, obitelj 74HC danas nije toliko stara. Drugo, krugovi male snage uvijek su relevantni. Treće, IC-ovi s jednim vratima (kao što je korišteni Schmittov okidač) često se koriste u modernim dizajnima. Često se zaboravlja da razvoj tehnologije ne prestaje za starije obitelji mikro krugova. Samo su postali manje uočljivi na pozadini opće raznolikosti.

Analogni dio se pokazao težim za dizajn od digitalnog. To je dijelom zbog nedostatka specifikacija, ali uglavnom zbog mnogih kompromisa potrebnih za ispunjavanje parametara i nepredviđenih nuspojava. Digitalni dizajn ima relativno malo mogućnosti, dok analogni dizajn obično zahtijeva ravnotežu između različitih (i često suprotstavljenih) kriterija.

Moram priznati da je 74HC napravljen jako, jako dobro. Programeri su znali što rade i postigli su vrlo nisku potrošnju energije. U početku sam imao dvojbe da li oznaka može raditi iz pasivnog napajanja, ali nakon čitanja specifikacija ostalo je samo pitanje ispravnog sklopa. Ipak, još uvijek ima prostora za optimizaciju različitih dijelova etikete.

Pogledajmo sada kako se ovaj projekt ponaša u natjecanju 7400 2012. Podnošenje prijava na natječaj završava 31. studenog. Poželimo autoru puno sreće! - Cca. prev.

Oznake:

  • RFID
  • 7400 Natjecanje
  • prekomjerno inženjerstvo
  • logika
  • grablje posvuda
Dodaj oznake

U nekom trenutku mi je opet dosadilo i pomislio sam da sam smislio dobar razlog da kupim čitač kartica. Koncept je bio sljedeći: karticu zalijepimo na dno laptopa, a čitač stavimo na mjesto gdje se računalo obično puni.

Rezultat: kada laptop stavimo na "punjenje", automatski se uključuje utičnica s njegovim punjačem. A ostatak vremena, utičnica je, naravno, isključena. Da ne kažem da je posebno korisno, nego zabava.

Ali, kao i obično, nešto je pošlo po zlu. Odnosno, umjesto napornog rada na području prodajnih mjesta, prije svega sam iz nekog razloga naučio saznati koliko je putovanja ostalo na mojoj karti za lokalni metro.

Za razumijevanje: ovaj čitač nije kompletan uređaj, već periferija za kontroler ili računalo. Iz tog razloga bit će potrebno malo truda za korištenje. Nema gotovih recepata "iz kutije", ali sve ostalo ovisi o mašti i sposobnostima.

Što obično rade? Najčešće - brave s otvaranjem karticom, praćenje vremena, sustavi kontrole pristupa kućnim ljubimcima (prijam hrane, na primjer).

Za eksperimente sam odabrao jeftin i više-manje svestran čitač. RFID u nazivu ove stvari znači tehnologiju radio identifikacije, odnosno ne znači ništa konkretno. No iz specifikacija proizlazi da je komad željeza kompatibilan s uobičajenim RFID karticama s MIFARE protokolom.

Najvjerojatnije ste se više puta susreli s takvim karticama. Najčešće - u obliku uredske propusnice. Još jedan odličan primjer su beskontaktne karte za metro.

Osnovno načelo rada prilično je jednostavno za razumjeti. U kartici i u čitaču postoje antene, dok signal čitača (bit elektromagnetskog polja) istovremeno služi i kao izvor napajanja za karticu. Oni. i po energiji i po prijenosu podataka, ovo je vrlo slično super popularnim bežičnim punjačima.

Same kartice, ovisno o modifikaciji, mogu prenositi od nekoliko desetaka bajtova do nekoliko kilobajta podataka (uključujući jedinstveni serijski broj). Također, ovisno o modifikaciji, kartica može biti opremljena kriptografskom zaštitom podataka.

U kompletu su bila dva češlja, ali ja sam, oprostite, već zalemio jedan (kutni). Stoga nema vrste daske bez češljeva.

Ovaj komplet uključuje čitač, češalj za jednostavnu izradu prototipa, pa čak i montažu na "matičnu ploču" i dva identifikatora: MIFARE 1K karticu i privjesak za ključeve sličnih mogućnosti. To je sasvim dovoljno za eksperimentiranje.

.

.

.

Ploča za čitanje, kao što vidite, izgleda vrlo uredno. I, što je zgodno, nakon ugradnje kutnog češlja, dimenzije uređaja se ne povećavaju, budući da se češalj zapravo po visini podudara s najvišim elementom na ploči.

Sa AAA baterijom

Oni. ne morate se mučiti kompromisom između praktičnosti i svestranosti (češalj) te uštede prostora po ugradnji (izravno lemljenje žica).

Između ostalog, ploča ima i crvenu LED diodu, koja je, nažalost, potpuno neinformativna. Zaključak je da gori čak i s isključenim napajanjem - očito ima dovoljno razina na SPI sučelju. A na karte nikako ne reagira.

Jednom riječju, svijetli kada je čitač nekako spojen na Arduino, što ne jamči njegovu izvedbu.

Što se tiče raspona odziva, subjektivno, prag se nalazi na udaljenosti od 2 cm od površine ploče. Unutar 2 - 2,5 cm - područje nesigurnog odgovora.

Značajke (od prodavača):

Napon: 3.3V

Aktivna potrošnja struje: 13-26 mA

Potrošnja struje u stanju pripravnosti: 10-13mA

Struja mirovanja: manje od 80uA

Vršna potrošnja: manje od 30mA

Radna frekvencija: 13,56 MHz

Podržane vrste kartica: MIFARE S50, MIFARE S70, MIFARE UltraLight, MIFARE Pro, MIFARE DESfire

Sučelje: SPI

Dimenzije: 40x60 mm

Iz navedenog se vidi da sam zabio dva puta. Prvo, nisam gledao napon napajanja. A 3,3V, inače, znači da je ovu ploču najlakše koristiti s Arduino Uno, Mega i drugim (ili sličnim pločama) opremljenim regulatorima napona i 3,3V izlazom. Srećom, maksimalna potrošnja struje ne nadilazi mogućnosti platforme.

Inače, morate koristiti jedno napajanje od 3,3 V ili dodatni regulator / stabilizator / pretvarač napona.

Drugo, SPI sučelje zahtijeva 5 (!) Žica za povezivanje. Oni. ukupno je petlja od 7 vodiča prikladna za čitač, a to je prilično rasipno. Da biste uštedjeli novac, imalo je smisla usredotočiti se na I2C, ali gdje sam ja i gdje je to značenje ?!

Povezivanje
Želio bih podijeliti vezu na meku i tvrdu, ali sve je tako usko isprepleteno - i rezultiralo je ne baš zanimljivim problemom.

Ukratko, svi znaju za RC522. No iz nekog razloga nitko ne postavlja pitanje zašto readme priložen uz knjižnicu i ploča u jednom od svojih primjera imaju potpuno drugačiji "pinout" veze čitača.

Valjda je to jedan od razloga vječnih problema s ovom knjižnicom. Drugi razlog je taj što se veza za Arduino Uno i Mega vrši na različitim pinovima. To je zbog posebnosti platformi.

Konačno, treći razlog je taj što dva pina (SS i RST) dopuštaju proizvoljno povezivanje i konfigurirani su u kodu. U isto vrijeme, prema zadanim postavkama, konfiguracija za Arduino Uno je ukucana u primjer koda, a ako imate Mega i spojili ste se miješanjem iz readme-a ili ploče na početku primjera, onda, naravno, nedostajat ćeš.

Ali trik je u tome što je treći razlog sasvim očigledan, a ja sam ga manje-više zaobišao tako što sam odmah postavio pinove, jer sam imao pri ruci Arduino Mega ploču. Stoga me je, inače, druga nevolja zaobišla.

Ali prvi - spajanje SPI pinova me mučio do mile volje. Nisam mogao ni zamisliti da bi se osoba koja je napravila uspješnu knjižnicu mogla zabrljati u tako banalnom spoju od tri žice.

Drugim riječima, povezivanje prema prvoj ili drugoj opciji navedenoj u opisu knjižnice nije pomoglo. Isprva sam mislio da imam "mrtvu ploču". Stoga sam se, unatoč kasnom vremenu, pribrao i odlemio češalj na drugi (štedljiv sam i kupio sam tri odjednom). Rezultat se pokazao istim, unatoč činjenici da sam više puta provjeravao vezu pomoću "pinouta" koje sam imao pri ruci.

Nemojte ni pitati zašto nisam otišao na Arduino.cc da vidim kako je SPI spojen na Mega. Po meni je to bila neka vrsta zamućenja.

Ali sam proguglao i, što je ukratko (a ne kao ja) opisalo kupnju i njezinu povezanost s knjižnicom, kako ja razumijem, od kineskih drugova. Ruke su već bile spuštene i nisam mogao spavati u ovom stanju, pa sam si dopustio još jedan eksperiment sa svježe pronađenim pinoutom i bibliotekom.

I obje naknade su zaradile.

Da očistim savjest - skinuo sam primjer s "problematičnom" bibliotekom, a pokazalo se da i on radi.

Ovo su karte kojima sam mučio čitatelja. S lijeva na desno: kartica iz kompleta, kartica sa slovom N, karta za metro MIFARE UltraLight, karta Ruskih željeznica

A ovako izgleda dump sadržaja i općenito prepoznavanje kartica s RFID bibliotekom i njezinim primjerom DumpInfo

Muka sažetak: pinout od gore spomenutog suborca ​​podudara se i, začudo, poklapa se s pinoutom u readme knjižnici RFID. S obzirom na potonje, mogu pretpostaviti da sam ili sam pomiješao pinove noću i sve moje nedaće su počele s ovim, ili izvorna kineska knjižnica nekako pametno inicijalizira čitač, nakon čega počinje raditi.

Konačno, ispravan pinout za kinesku knjižnicu i Mega na koji sam se povezivao:

Mega RC522
3,3 V VCC
GND GND
RESET RST

50 MISO
51 MOSI
52 SCK
53 NSS

I za Uno (nisam ga testirao):

Uno RC522
3,3 V VCC
GND GND
5 RST

12 MISO
11 MOSI
13 SCK
10 NSS

Zajedno sa starijom sestrom

.

.

Kao rezultat jednostavnih testova, koje sam ipak proveo, pokazalo se i da čitač inače ispisuje (ovo je takva igra riječi) MIFARE 1K kartice od onih koje su došle s njim.

Druga značajka je da ova stvar reagira adekvatno ako joj se istovremeno donese nekoliko karata. Predstavio sam dvije karte, opet, od onih koje su bile u kompletu. Pri tome, primjer DumpInfo iz RFID biblioteke ispisuje sadržaj obiju kartica redom. Oni. prvo, sadržaj jedne kartice, a zatim druge.

I karirano, i jahanje
Dakle, spojili smo ga, divili se dumpu memorijskog sadržaja MIFARE 1K kartica. Što je sljedeće? A onda sam bio malo previše lijen da petljam po utičnici i sjetio sam se da izgleda da metro kartice rade po istom protokolu.

Otišao sam, uzeo svoje, obukao ga, divio se njegovom sadržaju. Kao što je obećano: MIFARE UltraLight, 64 bajta memorije i nije baš jasno gdje su putovanja, gdje je rok valjanosti, a uopće nije baš jasno.

Guglanje o korištenju Arduina s ovim karticama nije donijelo ništa posebno korisno. Najčešće se metro kartice, kako se pokazalo, koriste kao ultra jeftine (tj. besplatne) NFC oznake u svim vrstama vlastitih sustava poput brava, izvršavanja skripte i drugih stvari, gdje je dovoljno znati serijski broj karticu za identifikaciju. Ali iz nekog razloga nisam pronašao gotove biblioteke i rješenja za prikaz informacija o putovanjima: ili sam toliko želio spavati, ili stvarno nisu postojale (vidi sindrom Neuhvatljivog Joea).

Ali pronašao sam prekrasan i vrlo romantičan tekst Aleksandra "Dark Simpson" Simonova pod naslovom "", objavljen, očito, u nekim Hackerovim izdanjima. Unatoč zanimljivoj prirodi teksta, sadrži mnogo korisnih informacija o strukturi pohrane podataka, uključujući i karte koje me zanimaju.

Značajan dio karte - broj - provjerava se vizualno

Tako sam sljedeći dan pokušao prevladati svoju odbojnost prema HEX-u i počeo to shvaćati. Ovo je ispis ulaznica koji sam dobio koristeći RFID knjižnicu:

UID kartice: 04 6F 25 62 04 33 82
PICC tip: MIFARE Ultralight ili Ultralight C

Stranica 0 1 2 3
0 04 6F 25 C6
1 62 04 33 82
2 D7 48 F0 00
3 00 07 FF FC
4 45 DA 21 06
5 D0 E5 3D 00
6 1F E8 00 00
7 1F E8 00 00
8 1F 8F 5A 00
9 40 19 2E D2
10 19 91 59 7C
11 1F AB 91 C8
12 1F 8F 5A 00
13 40 19 2E D2
14 19 91 59 7C
15 1F AB 91 C8

Ovdje je UID kartice jedinstveni identifikator kartice (koji je serijski broj), a ostatak je 16 stranica memorije, od kojih svaka sadrži 4 bajta. Zajedno - 64 bajta.

Čitajući tekst o kartama za metro, zabilježio sam najkorisnije točke:

1) Broj tiketa (koji je otisnut na njemu) je vezan u 32 bita, počevši od 21 bita na stranici 4: 10 6D 0E 53;

2) Datum izdavanja karte u danima od 01.01.1992. - prva dva bajta stranice 8: 1F 8F;

3) Valjanost u danima - treći bajt na stranici 8: 5A.

4) Konačno, broj preostalih vožnji je drugi bajt na stranici 9: 19.

S ovim se već moglo raditi.

Kopam dublje u primjer DumpInfo iz RFID biblioteke, u vlastitom kodu, kako bih razumio koje su funkcije odgovorne za što i kako mogu biti korisne, na Arduino forumima da vidim implementaciju izračunavanja datuma (općenito, možete gledati na bilo kojem jeziku, ali meni je bilo lakše pogledati bliže ciljnoj platformi).

Kao rezultat toga, rođeno je čudovište. Odnosno, skica je izrezana iz krpa, ponegdje je rezultat skrojen prema odgovoru, ali u cjelini sve je manje-više u skladu sa stvarnošću. Prema tome, nema se što pucati na pijanista koji svira najbolje što zna. Tamo, usput, postoji čak i osnovno rukovanje pogreškama: skica će upozoriti na nepodržanu karticu ili na nemogućnost čitanja.

#uključiti #uključiti #definiraj SS_PIN 53 #definiraj RST_PIN 9 MFRC522 mfrc522 (SS_PIN, RST_PIN); // MFRC522 objekt unsigned long uidDec, uidDecTemp; // za prikaz broja kartice u decimalnom formatu bajt bCounter, readBit; nepotpisani dugi broj karte; void setup () (Serial.begin (9600); SPI.begin (); // SPI inicijalizacija mfrc522.PCD_Init (); // MFRC522 inicijalizacija Serial.println ("Waiting for card ...");) void loop ( ) (// Traži novu karticu if (! Mfrc522.PICC_IsNewCardPresent ()) (return;) // Odaberite karticu if (! Mfrc522.PICC_ReadCardSerial ()) (return;) uidDec = 0; // Izdajte serijski broj kartice Serial.print ("UID kartice:"); za (bajt i = 0; i< mfrc522.uid.size; i++) { // Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "); // Serial.print(mfrc522.uid.uidByte[i], HEX); uidDecTemp=mfrc522.uid.uidByte[i]; uidDec=uidDec*256+uidDecTemp; } Serial.println(uidDec); Serial.println(); // Выдача типа карты byte piccType = mfrc522.PICC_GetType(mfrc522.uid.sak); // запрос типа Serial.print("Card type: "); Serial.println(mfrc522.PICC_GetTypeName(piccType)); // трансляция типа в читаемый вид if (piccType != MFRC522::PICC_TYPE_MIFARE_UL) { // если не билетная карта Serial.print("Not a valid card: "); // так и говорим Serial.println(piccType); // Halt PICC mfrc522.PICC_HaltA(); // остановка чипа return; } // сюда мы приедем, если чип правильный byte status; byte byteCount; byte buffer; // длина массива (16 байт + 2 байта контрольная сумма) byte pages={4, 8}; // страницы с данными byte pageByte; // счетчик байтов страницы byteCount = sizeof(buffer); byte bCount=0; for (byte i=0; i<2; i++) { // начинаем читать страницы status = mfrc522.MIFARE_Read(pages[i], buffer, &byteCount); if (status != MFRC522::STATUS_OK) { Serial.print("Read error: "); Serial.println(mfrc522.GetStatusCodeName(status));} else { if (pages[i] == 4) { bCounter = 0; // 32-битный счетчик для номера // биты 0-3 for (bCount=0; bCount<4; bCount++) { readBit = bitRead(buffer, (bCount+4)); setBitsForGood(readBit); } // биты 4 - 27 for (pageByte=5; pageByte >2; pageByte--) (za (bCount = 0; bCount<8; bCount++) { readBit = bitRead(buffer, bCount); setBitsForGood(readBit); } } // биты 28-31 for (bCount=0; bCount<4; bCount++) { readBit = bitRead(buffer, bCount); setBitsForGood(readBit); } Serial.print("Ticket number: "); Serial.println(ticketNumber, DEC); } if (pages[i] == 8) { // читаем дату выдачи Serial.print("Issued: "); unsigned int issueDate = buffer * 256 + buffer; // количество дней с 01.01.1992 в десятичном формате, 256 - сдвиг на 8 бит printIssueDate(issueDate); Serial.print("Good for (days): "); // срок действия Serial.print(buffer, DEC); Serial.println(); Serial.print("Trip reminder: "); // количество оставшихся поездок Serial.print(buffer, DEC); Serial.println(); } } } // Halt PICC mfrc522.PICC_HaltA(); } void printIssueDate(unsigned int incoming) { boolean isLeap = true; // признак високосного года int days={0,31,59,90,120,151,181,212,243,273,304,334}; // последний по порядку день месяца для обычного года byte dayOfMonth, monthCounter; unsigned int yearCount; incoming = incoming+1; // подогнал под ответ, но возможно это как раз необходимая коррекция, потому что начало отсчета - 01.01.1992, а не 00.01.1992 for (yearCount = 1992; incoming >366; yearCount ++) (// broji godinu i broj dana koji su prošli od izdavanja karte ako je ((yearCount% 4 == 0 && yearCount% 100! = 0) || yearCount% 400 == 0) ( incoming = incoming - 366; isLeap = true;) else (incoming = incoming - 365; isLeap = false;)) za (monthCounter = 0; incoming> days; monthCounter ++) (// saznajte broj mjeseca) // broji dan u mjesecu if (isLeap == true) (/ / ako je prijestupna godina if (dana> 31) (// ako nije prvi mjesec, onda dodaj jedinice dayOfMonth = dolazni - (dana + 1);) else (dayOfMonth = dolazni - (dana); // ako je prvi - ništa ne dodaj, jer smjena počinje od veljače)) ostalo (dayOfMonth = dolazni - (dana); // ako nije prijestupna godina) Serial.print (dayOfMonth) ; Serial.print (""); Serial.print (monthCounter); Serial.print (""); Serial.print (yearCount); Serial.println (); ) void setBitsForGood (byte daBeat) (if (daBeat == 1) (bitSet (ticketNumber, bCounter); bCounter = bCounter + 1;) else (bitClear (ticketNumber, bCounter); bCounter = bCounter + 1;))

Što mi daje ova skica? Pa, prvo, malo treninga glave - znate, morao sam razmišljati kad sam imao posla s čitačem i kodom. Drugo, uvijek mogu saznati koliko je putovanja ostalo i kada će kartica završiti. Uzimajući u obzir činjenicu da nemam NFC u svom pametnom telefonu, ispada prilično zgodno.

Rezultat rada čudovišta

Naravno, u ovom slučaju niti ne govorimo o izradi “kopije” karte. Ovo je isključivo informativna funkcija koja duplicira terminal u predvorju metroa.

Općenito, nakon takvog uspjeha, bilo je moguće preuzeti drugi predloženi zadatak, koji bi teoretski trebao biti prvi zbog svoje jednostavne provedbe.

Dakle, utičnica koja se uključuje kada vam je potrebna. Ovdje se kartica (bilo koja koju podržava čitač i prikladna za postavljanje u ciljni uređaj) koristi isključivo kao propusnica, odnosno interesantan je samo njezin serijski broj.

Logika je jednostavna: ako čitač vidi karticu s određenim brojem, uključuje utičnicu. Ako ga ne vidi, isključuje ga.

SOCKET MONSTER

#uključiti #uključiti #definiraj SS_PIN 53 #definiraj RST_PIN 9 MFRC522 mfrc522 (SS_PIN, RST_PIN); // Kreiraj instancu MFRC522. nepotpisani dugi uidDec, uidDecTemp; #uključiti RCSwitch mySwitch = RCSwitch (); boolean switchOn = lažno; boolean cardRead = lažno; void setup () (Serial.begin (9600); // Inicijaliziraj serijsku komunikaciju s PC SPI.begin (); // Init SPI bus mfrc522.PCD_Init (); // Init MFRC522 kartica mySwitch.enableTransmit (8); Serial .println ("Čeka se kartica...");) void loop () (status bajta; bajt byteCount; bajt međuspremnik; // duljina niza (16 bajta + 2 bajta kontrolni zbroj) byteCount = sizeof (međuspremnik); uidDec = 0 ; status = mfrc522.PICC_RequestA (buffer, & byteCount); if (mfrc522.PICC_ReadCardSerial ()) (za (byte i = 0; i< mfrc522.uid.size; i++) { uidDecTemp=mfrc522.uid.uidByte[i]; uidDec=uidDec*256+uidDecTemp; } if ((uidDec==2218415941) && (switchOn == false)) { mySwitch.sendTriState("00110000F000"); switchOn = true; // Serial.println("Switched On"); } mfrc522.PICC_ReadCardSerial(); } else { if (switchOn == true) { mySwitch.sendTriState("001100000000"); // Serial.println("Switched Off"); switchOn = false; } } }

Isto tako, koristeći kartu kao okidač, možete izvesti različite scenarije kućne automatizacije. Na primjer, stavite karticu u e-knjigu, a čitač stavite na noćni ormarić.

Kada stavimo knjigu na rubnjak, kuća pomisli da smo odlučili otići u kraljevstvo Morpheusa i ugasi rasvjetu. A ako uzmemo knjigu s rubnjaka, onda se pretpostavlja da želimo čitati, a onda se, naprotiv, upali pozadinsko svjetlo kako bi se mogla vidjeti elektronska tinta i kako se oči ne bi slomile .

Ovako radi čudovište utičnice

Da rezimiramo: jeftino, jednostavno, prilično zgodno i maštovito.

P.s. Siguran sam da možeš bolje i da se ne razumijem ništa o Arduinu i programiranju.

Sve vrste poveznica
Svidjela mi se recenzija +67 +173

Oznaka EM4100 pohranjuje 64 bita podataka, što znači da dizajn mora sadržavati 64-bitni pomični registar sastavljen od osam 8-bitnih 74HC165 registara. Registar se ponovno učitava nakon svake 64 smjene kako bi se podaci poništili i počeli ispočetka. Ulazi registra su sljedeći:
  • Uzorak sinkronizacije: devet jedinica
  • ID dobavljača/verzije: 2 bloka od 5 bitova, od kojih su 4 podaci, a peti paritet
  • Jedinstveni identifikator: 8 blokova od 5 bitova, od kojih su 4 bita podaci, a peti je paritet
  • Kontrolni zbroj: 4 paritetna bita, broji stupac po stupac
  • Stop bit: "0"

Čak su i šifrirane oznake osjetljive na višestruke napade. Osim toga, postaje sve lakše oponašati oznake na pametnim telefonima s NFC-om (koji obično rade na 13,56 MHz). Samo ispravno napišite svoju aplikaciju za modulaciju na terenu i možete raditi što god želite.

Kao standardnu ​​ispriku, da podsjetim da je autor (I prevoditelj! - Cca. prev.) ne preuzima nikakvu odgovornost za posljedice korištenja informacija u ovom članku. Čitatelj mora biti odgovoran za sve svoje postupke.

Okvir

Ponekad vrlo sretan. Lijepo kućište bilo bi sjajno sada kada je prototip gotov i PCB naručen. I u to vrijeme Fleming je završio sastavljanje i lansiranje OSAA PhotonSaw stroja za lasersko rezanje. Nakon godinu dana rada na projektu, laser je spreman za rezanje svojih prvih dijelova. Flemming i Rune vrše konačna podešavanja i zamjenjuju aluminijski poklopac laserskog ormarića. Možete zamisliti koliko smo svi bili sretni što smo vidjeli da ova stvar funkcionira.

S radom stroja dobili smo priliku testirati naš projekt u stvarnom životu. Kućište za našu RFID oznaku izrađeno je od stakla debljine 2 mm. Ovaj korpus je prvi objekt napravljen s PhotonSawom, da!

Rodila se ideja da se zavojnica smjesti na vanjsku stranu kućišta. Isprva je odlučeno koristiti polovicu visine tijela, ali to u praksi nije funkcioniralo (dodatne rupe na dugim stranama se stoga ne koriste). Zavojnica je baš bila izvrsno postavljena po obodu cijelog kućišta, iako sam sumnjao da bi pravokutni namot (105x55 mm) bio prevelik za normalno elektromagnetsko spajanje.

Ispitni svitak je namotan, bez ikakvih proračuna, sa žicom od 0,4 mm, 66 zavoja. I, očito, opet smo imali sreće, jer je zavojnica ispala točno kako treba, s induktivitetom od 645 μH, sa spojenom oznakom, dajući rezonantnu frekvenciju od 125,2 kHz. Test čitača vrata pokazao je da prototip radi sasvim dobro s ovom zavojnicom.

S zavojnicom na vanjskoj strani kućišta, debljina potonjeg može se smanjiti. Unutarnja debljina sada ovisi samo o visini dijelova na ploči, a uzimajući u obzir debljinu ploče, trebala bi biti oko 6 mm. Također, bilo bi lijepo dodati graviranje. Flemming je predložio zaokruživanje stranica kućišta iz estetskih i ergonomskih razloga. Zakrivljeno tijelo također će bolje zaštititi stranice zavojnice, jer tamo gdje nema jake napetosti, zavoji žice imaju tendenciju da ispuze.

PhotonSaw još uvijek nije sasvim na razini: gravura na gornjem poklopcu je značajno skliznula. Potrebno ga je doraditi prije izrade konačne verzije slučaja. Zakrivljene konture također su pretrpjele računsku grešku u softveru jer se snop nije vratio u prvobitni položaj nakon što je prošao zatvorenu stazu. Ali u svakom slučaju, obline izgledaju stvarno glatko.

PCB sklop

Naručena uplata je stigla:

Skupština nije bila jako teška. Na ploču je ucrtana pasta za lemljenje, svi dijelovi su postavljeni, a zatim zalemljeni u domaćoj pećnici.

Kroz blokirni kapacitet (47 pF ima otpor od oko 27 kOhm na frekvenciji od 125 kHz) i zaštitne diode struja teče do energetskih tračnica. Energija koja se dovodi iz zavojnice dovoljna je za održavanje napona napajanja od oko 1 V. Struja može doseći 250-500 μA. Iznenađujuće, čini se da 74HC radi s ovakvom vrstom napajanja. Nažalost, uz ovakvu napetost događaju se čudne stvari. 74HC ima unutarnji krug za resetiranje i morate biti sigurni da radi. Imajte na umu da onemogućavanje zaštitnih dioda ne pomaže. Na ulazima mikrosklopova nalaze se unutarnje zaštitne diode, koje se u ovom slučaju otvaraju i rade isti posao.

Resetiranje napajanja pokreće se samo ako napon napajanja padne ispod određene razine tijekom određenog vremenskog razdoblja. Ako napon ostane previsok, tada se unutarnja logika može zbuniti, jer neki njeni dijelovi mogu biti u neodređenom stanju, dok drugi rade kako se očekuje. Potrebno je interno resetiranje kako bi se svi čipovi doveli u konzistentno stanje. Dakle, krug će biti nestabilan pri vrlo niskim naponima napajanja.

Uočeni su sljedeći simptomi: oznaka radi neko vrijeme, dok šalje točne podatke. Ako izvadite zavojnicu iz čitača, a zatim ga vratite natrag, možete se kladiti hoće li se oznaka isključiti. Ponekad radi, ponekad ne. Onemogućavanje PLL-a pogoršava situaciju. Mala potrošnja energije dovodi do toga da će čitač povremeno primati podatke s isključene oznake. To je ono što znači "energetski učinkovit sustav".

Postoje dva rješenja: 1) smanjiti kondenzator u krugu za oporavak takta na 15pF i 2) umetnuti otpornik od 22-100k između napajanja i uzemljenja kako bi se ispraznio višak energije. Druga metoda dovodi do povećanja curenja tijekom rada i zapravo nije potrebna kada se kondenzator smanji. Međutim, on je dostupan kao opcija, a ipak je bolji od nedefiniranog stanja mikro krugova.

Modulacija strujom ili naponom

Modulator je donio svježi dio glavobolje. Modulacija je potpuno nestala kada je zavojnica postavljena na određenu udaljenost od čitača. To se također može dogoditi kada se zavojnica pomiče prema ili od čitača.

Pokazalo se da je razlog u krugu modulatora. MOSFET-ovi povezuju zavojnicu s otpornikom određenog otpora. Međutim, ako je potrošnja energije iz petlje velika, otpor modulatora je mnogo veći od otpora napojnih krugova. To dovodi do činjenice da dubina modulacije ovisi o potrošenoj struji, što nije baš dobro. Situaciju je pogoršao izbor ograničavajuće Zener diode za niži napon nego u prototipu.

Odlučeno je da se modulator prebaci s modulacije napona na modulaciju struje. Za prvi način rada otpornik je bio u odvodnom krugu, a sada je spojen između izvora i mase. Napon gejt-izvor će pasti na ovom otporniku sve dok vrijednost ne ostane malo iznad praga otvaranja tranzistora (0,9-1,1 V), što će tranzistor prebaciti u linearni način rada. Sada će struja kroz tranzistor biti stabilna, bez obzira na napon na odvodu.

Ispitivanje prototipa pokazalo je da strujna modulacija radi vrlo dobro. Jeftin, bezimeni čitač se više ne ruši (u redu, možda jednom u stotinjak). Može se pretpostaviti da će ova promjena izvrsno djelovati i na druge čitatelje, a tag će sada vjerojatno moći raditi i na većini njih.

Dovršena verzija 1

Izmjene koje su napravljene možete vidjeti na PCB-u. Nisam imao SMD kondenzator od 15pF, morao sam zalemiti obični s nogama. Modulator je obrastao dodatnim otpornicima na izvorima tranzistora. Općenito prihvatljivo za prvu verziju.

(slike se mogu kliknuti)





Video demo

Zaključak

Možda mislite da se ovaj logički dizajn 7400 može pripisati retro sklopovima, ali to nije sasvim točno. Prvo, obitelj 74HC danas nije toliko stara. Drugo, krugovi male snage uvijek su relevantni. Treće, IC-ovi s jednim vratima (kao što je korišteni Schmittov okidač) često se koriste u modernim dizajnima. Često se zaboravlja da razvoj tehnologije ne prestaje za starije obitelji mikro krugova. Samo su postali manje uočljivi na pozadini opće raznolikosti.

Analogni dio se pokazao težim za dizajn od digitalnog. To je dijelom zbog nedostatka specifikacija, ali uglavnom zbog mnogih kompromisa potrebnih za ispunjavanje parametara i nepredviđenih nuspojava. Digitalni dizajn ima relativno malo mogućnosti, dok analogni dizajn obično zahtijeva ravnotežu između različitih (i često suprotstavljenih) kriterija.

Moram priznati da je 74HC napravljen jako, jako dobro. Programeri su znali što rade i postigli su vrlo nisku potrošnju energije. U početku sam imao dvojbe da li oznaka može raditi iz pasivnog napajanja, ali nakon čitanja specifikacija ostalo je samo pitanje ispravnog sklopa. Ipak, još uvijek ima prostora za optimizaciju različitih dijelova etikete.

Pogledajmo sada kako se ovaj projekt ponaša u natjecanju 7400 2012. Podnošenje prijava na natječaj završava 31. studenog. Poželimo autoru puno sreće! - Cca. prev.

Oznake: Dodaj oznake

RFID čitač - kartice i privjesci
na mikrokontroleru ATtiny13

Izvor: www.serasidis.gr
Vasilis serasidis

Prijevod: Vadim naručio RadioLocman

U posljednje vrijeme široku su popularnost stekli različiti projekti temeljeni na RFID ključevima, koji se koriste u sigurnosnim sustavima, sustavima sigurnosti i kontrole pristupa. U nekim poduzećima i organizacijama takvi sustavi, dopunjeni specijaliziranim softverom, koriste se za evidentiranje radnih sati, obračun materijalnih vrijednosti itd.

Svaki sustav radiofrekventne identifikacije (RFID) sastoji se od čitača (čitača, čitača ili ispitivača) i transpondera (poznatog kao RFID oznaka, ponekad se koristi i izraz RFID oznaka). U ovom članku ćemo pogledati jednostavan uređaj za čitanje RFID ključeva koji podržavaju EM4100 protokol i rade na frekvenciji od 125 kHz. Ova vrsta RFID ključa može biti u obliku privjeska za ključeve ili kreditne kartice (slika ispod).

Glavna komponenta čitača je mikrokontroler Atmel AVR ATtiny13 , koji čita 10-znamenkasti jedinstveni identifikacijski broj ključa i prenosi ga u ASCII kodiranju preko serijskog sučelja (UART) brzinom od 2400 bps do Host uređaja. Drugim riječima, čitač je zaseban modul koji se spaja na glavni procesor ili mikrokontroler sustava (slika 2.).

Shematski dijagram RFID čitača prikazan je na donjoj slici:

Razmotrimo glavne značajke kruga. Mikrokontroler koristi ugrađeni PWM modulator za generiranje impulsa kvadratnog vala od 125 kHz na PB0 izlazu. Ako na izlazu PB0 log. 0 (padajući rub impulsa), tranzistor T1 je u isključenom stanju, a na zavojnicu L1 se preko otpornika R1 dovodi napon napajanja od +5 V. Uzlazni rub na izlazu PB0 (log. 1) otvara tranzistor T1, a vrh strujnog kruga, izlaz zavojnice je spojen na masu. U ovom trenutku zavojnica je spojena paralelno s kondenzatorom C2, tvoreći LC generator (oscilatorni krug). Tranzistor se prebacuje 125 000 puta u sekundi (125 kHz).). Kao rezultat toga, zavojnica generira sinusni signal s frekvencijom od 125 kHz.

Modul čitača stvara elektromagnetno polje čija se energija koristi za napajanje RFID ključa. Prijenos energije između RFID ključa i čitača temelji se na principu rada konvencionalnog transformatora: primarni namot transformatora stvara EMF indukcije u svim ostalim namotima. U našem slučaju, primarna zavojnica je zavojnica čitača, a sekundarna zavojnica je zavojnica RFID ključa. Elementi D1, C3 i R5 tvore amplitudno modulirani demodulator signala.

Razmjena podataka između ključa i čitača

Proces razmjene podataka između RFID ključa i čitača vrlo je jednostavan, ali promišljen do najsitnijih detalja. Ako bi RFID ključ trebao prenijeti zapisnik. 0, tada na svoj izvor napajanja povezuje određeno "opterećenje", što zahtijeva više energije koju prenosi čitač. To će uzrokovati blagi pad napona na strani čitača; upravo tu razinu čitatelj doživljava kao balvan. 0

RFID ključ općenito prenosi 64 bita podataka u sljedećem nizu (slika 6):

  1. Prvih 9 bitova (uvijek log. 1) su početni bitovi koji označavaju početak razmjene podataka.
  2. 4 bita su najmanji bitovi identifikacijskog broja korisnika (D00 - D03).
  3. 1 bit (P0) - bit parnosti prethodna 4 bita.
  4. 4 bita - najvažniji bitovi identifikacijskog broja korisnika (D04 - D07).
  5. Bit 1 (P1) je bit parnosti prethodna 4 bita.
  6. 4 bita - prvi dio 32-bitnog serijskog broja RFID ključa (D08 - D11).
  7. 1 bit (P2) - paritetni bit prethodna 4 bita.
  8. Zatim se prenose sljedeće grupe od 4 bita ključnog serijskog broja, svaka s paritetnim bitom.
  9. Zatim se prenose 4 bita parnosti bitnih stupaca. Na primjer, bit parnosti PC0 za bitove D00, D04, D08, D12, D16, D20, D24, D28, D32 i D36.
  10. 1 stop bit.

Podaci (64-bitni niz) koji se prenose pomoću RFID ključa.

Integritet podataka provjerava mikrokontroler izračunavanjem paritetnih bitova za svaki redak i stupac i uspoređivanjem s primljenim podacima iz RFID ključa.

Dizajn zavojnice.

Induktor bez okvira u uređaju za čitanje promjera 120 mm namotan je žicom promjera 0,5 mm i ima 58 zavoja, međutim, autor preporučuje dodavanje još 2 - 3 zavoja pri namatanju. Kako bi se poboljšala učinkovitost zavojnice i povećala udaljenost čitanja podataka RFID ključa, potrebno je kalibrirati oscilatorni krug. Ako spajanjem osciloskopa na spojnu točku R1 i L1 vidite izobličene vrhove na zaslonu uređaja (slika 7), onda to ukazuje na potrebu kalibracije zavojnice L1.

Izobličenje signala koji generira zavojnica L1 ukazuje na potrebu kalibracije.

Kalibracija se može izvesti na dva načina nakon uključivanja napajanja na modul.

  1. Sonde osciloskopa spojiti na spoj R1 i L1 i povećanjem ili smanjenjem broja zavoja zavojnice L1 postići eliminaciju izobličenja signala.
  2. Ako nemate osciloskop, polako prinesite RFID ključ do zavojnice dok se ključ ne prepozna, što se signalizira zvučnim signalom. Ako je ključ određen s udaljenosti od 2 cm, tada je potrebno dodati/obrisati nekoliko zavoja i zatim ponovno provjeriti udaljenost s koje se ključ može s povjerenjem očitati. Uz pomoć kalibracije, autor sheme postigao je pouzdano očitavanje RFID ključa od 3 cm.

Prilikom programiranja mikrokontrolera potrebno je postaviti sljedeću konfiguraciju Fuse-bitova: niži bajt 0x7A i visoki bajt 0x1F (mikrokontroler radi od ugrađenog generatora takta 9,6 MHz, djelitelj frekvencije takta za 8 je onemogućen). Programski kod zauzima 1024 bajta u memoriji mikrokontrolera - koristi se sva raspoloživa memorija mikrokontrolera ATtiny13. Stoga je u budućnosti, pri proširenju funkcionalnosti čitača, bolje koristiti drugi 8-pinski AVR mikrokontroler, na primjer, ATtiny85.

Preuzimanja:

Izvorni kod programa mikrokontrolera (AVRStudio 6), firmware (.hex) i dijagram kola -

U posljednje vrijeme puno se govori o korištenju RFID oznaka, a rasprave su čak sugerirale da, ako žele, ljudi s određenim računalnim vještinama mogu hakirati u vaš kućni sustav i dobiti potpune informacije o vašim stvarima.

Odlučio sam sam shvatiti ovu tehnologiju. Da bih to učinio, naručio sam potrebne komponente i vlastitim rukama sastavio RFID čitač.

U ovom članku pokazat ću vam kako sastaviti radni RFID čitač.

Korak 1


U jednom od članaka koje sam pročitao, autor je rekao da njegov mobilni RFID čitač radi samo na 13,56 MHz (kratki val), ali ne radi na 1,25 kHz (valna duljina ispod AM pojasa). Napravio sam čitač koji radi na industrijskoj standardnoj frekvenciji od 125 kHz. To znači da moj čitatelj treba drugu kombinaciju antene i kondenzatora. Osnovni dijagram i osnovna formula to ilustriraju. Da biste dobili željenu vrijednost, odaberite odgovarajuću formulu, uključite svoje vrijednosti i upotrijebite kalkulator da biste dobili rezultat.

Popis komponenti:

  • Oko 12 m tanke žice, 22 do 30 gauba (ja sam koristio 30 gauge).
  • Bilo koja dioda (ja sam koristio crvenu).
  • Jedan kondenzator od 0,005 μF ili dva kondenzatora diska od 0,01 μF u seriji.
  • 2-5 disk kondenzatora 100 pF.
  • Baza zavojnice (bilo koja baza, promjer zavojnice mora biti 10 cm).
  • Tiskana ploča za izradu prototipa, za probne sklopove.
  • Tiskana ploča za uredno i precizno sastavljanje.
  • Mogućnost pristupa čitaču radi uzimanja očitanja s prijemnika.
  • Nisu potrebne baterije jer se prijemnik napaja bežično iz čitača.

Korak 2



Prvo sam žicu namotao na podlogu promjera 10-ak cm (više sam nego siguran da par centimetara, plus minus, neće igrati ulogu).

Sa žicom namotanom oko baze, usporedio sam zavojnicu s drugim zavojnicama koje sam već imao. Tako sam otprilike procijenio induktivitet nove zavojnice - dobio sam oko 330 μH.

Zamijenio sam 330 μH u formulu i dobiveni rezultat znači da je ovoj zavojnici potreban kondenzator od 0,005 μF da bi par zavojnica-kondenzator "rezonirao" na 125 kHz, a bilo je dovoljno struje za napajanje diode.

Prije nego što sam nastavio s lemljenjem, napravio sam preliminarnu montažu na matičnoj ploči.

Korak 3


Na matičnoj ploči najprije spojimo zavojnicu, diodu i dva diska kondenzatora od 0,01 μF (spojeni u seriji jedan s drugim, a zatim paralelno s diodom, što daje ukupni kapacitet od 0,005 μF (5000 pF)), zatim upalimo RFID čitač. Kada je čitač postavljen na udaljenosti od oko 10 cm od zavojnice, dioda je uključena. Dioda gori vrlo jako na udaljenosti od oko 1,5 cm.

Zatim sam dodao kondenzator od 100pF (0,0001uF) preko strujnog kruga, što je povećalo domet čitača. Tada sam saznao da bih dodavanjem drugog kondenzatora iste vrste paralelno cijelom krugu dodatno povećao domet čitača. Nasuprot tome, dodavanje trećeg kondenzatora smanjilo je ovaj polumjer. Tako sam ustanovio da je 5200pF optimalno za moju zavojnicu (ilustracija trećeg pokušaja).

Moj prijemnik bi aktivirao 10 cm koristeći kondenzator od 0,005 uF paralelno sa zavojnicom i diodom, ali je matična ploča dopuštala dodatne kondenzatore i tako povećala udaljenost na 12,5 cm.

4. korak




Fotografije jasno pokazuju kako se svjetlina sjaja diode povećava kako se zavojnica približava čitaču.
Ovaj mali uređaj radi na 125 kHz. Prilično ga je jednostavno sastaviti koristeći više ili manje prikladne materijale.

Korak 5

Sve komponente korištene u sklopu prototipa na matičnoj ploči sastavljene su na tiskanoj ploči i zalemljene. Zatim sam sklop zalijepio na zavojnicu kako bi se cijeli uređaj mogao premještati s mjesta na mjesto samo u ruci, bez nepotrebnih žica ili priključaka. Uređaj radi ispravno. Očekivao sam da će odgovoriti na sve RFID čitače unutar 7-12 cm i raditi na 125 kHz.

Korak 6

Budući da znam da se maksimalna luminiscencija diode na određenoj udaljenosti postiže kapacitivnošću od 0,0052 μF, ubacio sam ovu vrijednost zajedno s valnom duljinom od 125 kHz u odgovarajuću formulu i dobio vrijednost induktivnosti od 312 μH, umjesto 330 μH očekivao sam.

Matematički izračuni ovdje ne igraju veliku ulogu, iako sam zahvaljujući njima izračunao kapacitet kondenzatora prikladnih za moju zavojnicu. To bi se, naravno, moglo odgonetnuti pokušajima i pogreškama, ali bi to potrajalo.

Vrhunski povezani članci