Kako podesiti pametne telefone i računare. 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 ponovo učitava nakon svake 64 smjene kako bi se podaci resetirali i počeli ispočetka. Ulazi registra su sljedeći:
  • Obrazac sinhronizacije: 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
  • Kontrolna suma: 4 paritetna bita, broji kolonu po kolonu
  • Stop bit: "0"

Čak su i šifrirane oznake podložne višestrukim napadima. Osim toga, postaje sve lakše oponašati oznake na pametnim telefonima koji imaju NFC (koji obično rade na 13,56 MHz). Samo ispravno napišite svoju aplikaciju za modulaciju na terenu i možete raditi šta god želite.

Kao standardni izgovor, da podsjetim da je autor (I prevodilac! - Pribl. transl.) ne preuzima nikakvu odgovornost za posljedice korištenja informacija u ovom članku. Čitalac mora biti odgovoran za sve svoje postupke.

Okvir

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

Kada je mašina pokrenuta, dobili smo priliku da testiramo naš projekat u stvarnom životu. Kućište za našu RFID oznaku je napravljeno od stakla debljine 2 mm. Ovaj korpus je prvi objekat napravljen sa PhotonSaw-om, da!

Rodila se ideja da se zavojnica postavi na vanjsku stranu kućišta. U početku je odlučeno da se koristi polovina visine karoserije, ali to u praksi nije funkcioniralo (dodatne rupe na dugim stranama se stoga ne koriste). Zavojnica je baš bila odlično postavljena po obodu cijelog kućišta, iako sam sumnjao da bi pravokutni namotaj (105x55 mm) bio prevelik za normalno elektromagnetno spajanje.

Ispitna zavojnica je namotana, bez ikakvih proračuna, sa žicom od 0,4 mm, 66 zavoja. I, očito, opet smo imali sreće, jer je zavojnica ispala tačno kako treba, sa induktivnošću 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 sa ovom zavojnicom.

Sa zavojnicom na vanjskoj strani kućišta, debljina potonjeg može se smanjiti. Unutrašnja debljina sada zavisi samo od visine delova na ploči, a uzimajući u obzir debljinu ploče, trebalo bi da bude oko 6 mm. Također, bilo bi lijepo dodati gravuru. Flemming je predložio zaokruživanje strana kućišta iz estetskih i ergonomskih razloga. Zakrivljeno tijelo će također bolje zaštititi strane zavojnice, jer tamo gdje nema jake napetosti, zavoji žice imaju tendenciju da ispuze.

PhotonSaw još uvijek nije na nivou: gravura na gornjem poklopcu je značajno skliznula. Potrebno ga je finalizirati prije izrade konačne verzije slučaja. Zakrivljene konture su također pretrpjele grešku u proračunu u softveru jer se snop nije vratio u prvobitni položaj nakon što je prošao zatvorenu putanju. Ali u svakom slučaju, krive izgledaju zaista glatko.

PCB sklop

Naručena uplata je stigla:

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

Preko kapacitivnosti za blokiranje (47 pF ima otpor od oko 27 kOhm na frekvenciji od 125 kHz) i zaštitnih dioda struja teče do energetskih šina. Energija koja se napaja 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 sa ovakvom vrstom napajanja. Nažalost, uz ovakvu napetost dešavaju se čudne stvari. 74HC ima interno kolo za resetiranje i morate se uvjeriti da radi. Imajte na umu da onemogućavanje zaštitnih dioda ne pomaže. Na ulazima mikrokola nalaze se unutrašnje zaštitne diode, koje se u ovom slučaju otvaraju i obavljaju isti posao.

Resetovanje napajanja se pokreće samo ako napon napajanja padne ispod određenog nivoa tokom određenog vremenskog perioda. Ako napon ostane previsok, unutrašnja logika može postati zbunjena, jer neki njeni dijelovi mogu biti u neodređenom stanju, dok drugi rade kako se očekuje. Potrebno je interno resetiranje da bi se svi čipovi doveli u konzistentno stanje. Stoga će krug biti nestabilan pri vrlo niskim naponima napajanja.

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

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 da izbaci višak energije. Druga metoda dovodi do povećanja curenja tokom rada i zapravo nije potrebna kada se kondenzator smanji. Međutim, to je predviđeno kao opcija, a ipak je bolje od nedefinisanog stanja mikrokola.

Modulacija strujom ili naponom

Modulator je doneo novi deo glavobolje. Modulacija je potpuno nestala kada je kalem postavljen na određenoj udaljenosti od čitača. To se također može dogoditi kada se zavojnica pomjera prema ili od čitača.

Ispostavilo se da je razlog bio u krugu modulatora. MOSFET-ovi povezuju zavojnicu na otpornik određenog otpora. Međutim, ako je potrošnja energije iz petlje velika, otpor modulatora je mnogo veći od otpora strujnih krugova. To dovodi do činjenice da dubina modulacije zavisi od potrošene struje, š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 sa modulacije napona na modulaciju struje. Za prvi način rada, otpornik je bio u strujnom kolu, 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.

Testiranje prototipa je pokazalo 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 odlično djelovati i na druge čitaoce, a tag će sada vjerovatno moći raditi i na većini njih.

Završena verzija 1

Izmjene koje su napravljene možete vidjeti na PCB-u. Nisam imao SMD kondenzator od 15pF, morao sam zalemiti običan sa 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 krugovima, ali to nije sasvim tačno. Prvo, porodica 74HC danas nije toliko stara. Drugo, kola male snage su uvijek relevantna. Treće, single gate IC-ovi (kao što je korišteni Schmitt okidač) često se koriste u modernim dizajnima. Često se zaboravlja da razvoj tehnologije ne prestaje za starije porodice mikrokola. Oni su samo postali manje uočljivi na pozadini opšte raznolikosti.

Pokazalo se da je analogni dio teže dizajnirati od digitalnog. To je dijelom zbog nedostatka specifikacija, ali uglavnom zbog mnogih kompromisa potrebnih da bi se zadovoljili parametri i nepredviđenih nuspojava. Digitalni dizajn ima relativno malo opcija, 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 šta rade i postigli su vrlo nisku potrošnju energije. U početku sam imao sumnje da li tag može raditi iz pasivnog napajanja, ali nakon čitanja specifikacija, ostalo je samo pitanje ispravnog kola. Ipak, još uvijek ima prostora za optimizaciju različitih dijelova etikete.

Sada da vidimo kako se ovaj projekat ponaša u konkurenciji 7400 2012. Podnošenje prijava na konkurs završava se 31. novembra. Poželimo autoru sreću! - Pribl. transl.

Tagovi:

  • RFID
  • 7400 Contest
  • overengineering
  • 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: zalijepimo karticu na dno laptopa, a čitač stavimo na mjesto gdje se obično puni računar.

Rezultat: kada laptop stavimo na "punjenje", automatski se uključuje utičnica sa punjačem. I ostalo vrijeme, utičnica je, naravno, isključena. Da ne kažem da je posebno korisno, već zabava.

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

Za razumijevanje: ovaj čitač nije kompletan uređaj, već periferija za kontroler ili računar. Iz tog razloga će biti potrebno malo truda za korištenje. Nema gotovih recepata "iz kutije", ali sve ostalo zavisi od mašte i sposobnosti.

Šta obično rade? Najčešće - brave sa otvaranjem karticom, praćenje vremena, sistemi kontrole pristupa kućnim ljubimcima (prihvat hrane, na primjer).

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

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

Osnovni princip rada je prilično jednostavan za razumijevanje. U kartici i u čitaču postoje antene, dok signal čitača (suština elektromagnetnog polja) istovremeno služi i kao izvor napajanja za karticu. One. i u smislu energije i u smislu prijenosa podataka, ovo je vrlo slično super popularnim bežičnim punjačima.

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

U kompletu su bila dva češlja, ali ja sam, oprostite, već zalemio jedan (ugaoni). Dakle, 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 eksperimentisanje.

.

.

.

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

Sa AAA baterijom

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

Između ostalog, ploča ima i crvenu LED diodu, koja je, nažalost, potpuno neinformativna. Suština je da gori čak i sa isključenim napajanjem - očito, ima dovoljno nivoa na SPI interfejsu. I ne reaguje ni na koji način na karte.

Jednom riječju, svijetli kada je čitač na neki način povezan s Arduinom, što ne garantuje njegove performanse.

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

Karakteristike (od prodavca):

Napon: 3.3V

Aktivna potrošnja struje: 13-26 mA

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

Struja mirovanja: manje od 80uA

Maksimalna potrošnja: manje od 30mA

Radna frekvencija: 13,56 MHz

Podržani tipovi kartica: MIFARE S50, MIFARE S70, MIFARE UltraLight, MIFARE Pro, MIFARE DESfire

Interfejs: SPI

Dimenzije: 40x60 mm

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

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

Drugo, SPI interfejs zahteva 5 (!) žica za povezivanje. One. ukupno, petlja od 7 provodnika je pogodna za čitač, a to je prilično rasipno. Da biste uštedjeli novac, imalo je smisla fokusirati se na I2C, ali gdje sam ja i gdje je ovo značenje ?!

Veza
Ž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. Ali iz nekog razloga niko ne postavlja pitanje zašto readme prikačen uz biblioteku i ploča u jednom od svojih primjera imaju potpuno drugačiji "pinout" veze čitača.

Valjda je to jedan od razloga vječitih problema sa ovom bibliotekom. 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) dozvoljavaju proizvoljno povezivanje i konfigurisani 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, propustit ć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 igle, jer sam imao Arduino Mega ploču pri ruci. Stoga me je, inače, druga nevolja zaobišla.

Ali prvo - povezivanje SPI pinova me je mučilo do mile volje. Nisam mogao ni zamisliti da osoba koja je napravila uspješnu biblioteku može zabrljati u tako banalnoj vezi od tri žice.

Drugim riječima, povezivanje prema prvoj ili drugoj opciji navedenoj u opisu biblioteke nije pomoglo. U početku sam mislio da imam "mrtvu ploču". Stoga sam se, uprkos kasnom vremenu, pribrao i odlemio češalj na drugi (štedljiv sam i kupio sam tri odjednom). Ispostavilo se da je rezultat isti, uprkos činjenici da sam više puta provjeravao vezu koristeći "pinoute" koje sam imao pri ruci.

Nemojte čak ni pitati zašto nisam otišao na Arduino.cc da vidim kako je SPI spojen na Mega. Po mom mišljenju, to je bila neka vrsta zamućenja.

Ali sam proguglao i, ukratko (a ne kao ja) opisao kupovinu i njenu vezu sa bibliotekom, koliko sam ja shvatio, od kineskih drugova. Ruke su već bile spuštene i nisam mogao spavati u ovom stanju, pa sam sebi dozvolio još jedan eksperiment sa svježe pronađenim pinoutom i bibliotekom.

I obe naknade su zaradile.

Da očistim svoju savjest - skinuo sam primjer sa "problematičnom" bibliotekom i ispostavilo se da i on radi.

Ovo su karte kojima sam mučio čitaoca. 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 njenim primjerom DumpInfo

Muka rezime: pinout od gore pomenutog druga se poklapa sa i, iznenađujuće, poklapa se sa pinoutom u RFID biblioteci readme. S obzirom na ovo drugo, mogu pretpostaviti da sam ili sam pomešao pinove noću i sve moje nedaće su počele sa ovim, ili izvorna kineska biblioteka nekako pametno inicijalizuje čitač, nakon čega počinje da radi.

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

Mega RC522
3.3V VCC
GND GND
RESET RST

50 MISO
51 MOSI
52 SCK
53 NSS

I za Uno (nisam ga testirao):

Uno RC522
3.3V VCC
GND GND
5 RST

12 MISO
11 MOSI
13 SCK
10 NSS

Zajedno sa starijom sestrom

.

.

Kao rezultat jednostavnih testova, koje sam ipak izvršio, pokazalo se i da čitač normalno piše (ovo je takva igra riječi) MIFARE 1K kartice od onih koje su došle uz njega.

Druga karakteristika je da ova stvar adekvatno reaguje ako joj se istovremeno donese više karata. Ponovo sam predstavio dvije karte od onih koje su bile u kompletu. Pri tome, primjer DumpInfo iz RFID biblioteke ispisuje sadržaj obje kartice po redu. One. 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. Šta je sledeć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 svoj, obukao ga, divio se njegovom sadržaju. Kao što je obećano: MIFARE UltraLight, 64 bajta memorije i nije baš jasno gde su putovanja, gde je rok važenja, a uopšte nije baš jasno.

Guglanje o korištenju Arduina sa ovim karticama nije donijelo ništa posebno korisnog. Najčešće se metro kartice, kako se ispostavilo, koriste kao ultra jeftine (tj. besplatne) NFC oznake u svim vrstama samoproizvedenih sistema poput brava, izvršavanja skripti 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 ih zaista nije bilo (pogledajte sindrom neuhvatljivog Joea).

Ali pronašao sam divan i vrlo romantičan tekst Aleksandra "Dark Simpson" Simonova pod naslovom "", objavljen, očigledno, u nekim Hackerovim izdanjima. Uprkos radoznaloj prirodi teksta, on sadrži mnogo korisnih informacija o strukturi skladištenja podataka, uključujući i karte koje me zanimaju.

Značajan dio karte - broj - vizualno se provjerava

Tako da sam sledećeg dana pokušao da prevaziđem svoju odbojnost prema HEX-u i počeo da shvatam to. Evo deponije karata koji sam dobio koristeći RFID biblioteku:

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

Page 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, uočio sam najkorisnije tačke:

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

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

3) Važenje u danima - treći bajt na strani 8: 5A.

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

Već je bilo moguće raditi s ovim.

Kopam dublje u primjer DumpInfo iz RFID biblioteke, u svom vlastitom kodu, kako bih shvatio koje su funkcije odgovorne za šta 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, na nekim mjestima rezultat je skrojen prema odgovoru, ali u cjelini sve je manje-više u skladu sa stvarnošću. Dakle, nema šta pucati u pijanistu koji svira najbolje što ume. Tu je, inače, čak i osnovno rukovanje greškama: skica će upozoriti na nepodržanu karticu ili na nemogućnost čitanja.

#include #include #define SS_PIN 53 #define 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 ++) (// računaj godinu i broj dana koji su prošli od izdavanja karte ako ((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 dodajte jedinice dayOfMonth = dolazni - (dana + 1);) else (dayOfMonth = dolazni - (dana); // ako je prvi - ništa ne dodaj, jer smjena počinje od februara)) else (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;))

Šta mi ova skica daje? Pa, prvo, malo treninga glave - znate, morao sam razmišljati kada sam imao posla sa čitačem i kodom. Drugo, uvijek mogu saznati koliko je putovanja ostalo i kada će se 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 ne govorimo ni o pravljenju "kopije" tiketa. Ovo je čisto informativna funkcija koja duplira terminal u predvorju metroa.

Generalno, nakon ovakvog uspjeha, bilo je moguće preuzeti drugi predloženi zadatak, koji bi teoretski trebao biti prvi zbog svoje jednostavne implementacije.

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

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

SOCKET MONSTER

#include #include #define SS_PIN 53 #define RST_PIN 9 MFRC522 mfrc522 (SS_PIN, RST_PIN); // Kreiraj MFRC522 instancu. nepotpisani dugi uidDec, uidDecTemp; #include RCSwitch mySwitch = RCSwitch (); boolean switchOn = lažno; boolean cardRead = lažno; void setup () (Serial.begin (9600); // Inicijaliziraj serijsku komunikaciju s PC-om SPI.begin (); // Init SPI bus mfrc522.PCD_Init (); // Init MFRC522 kartica mySwitch.enableTransmit (8); Serial .println ("Čeka se na karticu...");) void loop () (status bajtova; bajt byteCount; bafer bajtova; // dužina niza (16 bajta + 2 bajta kontrolni zbroj) byteCount = sizeof (međuspremnik); uidDec = 0 status = mfrc522.PICC_RequestA (bafer, & byteCount); if (mfrc522.PICC_ReadCardSerial ()) (za (bajt 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 mapu kao okidač, možete izvršiti različite scenarije kućne automatizacije. Na primjer, stavite karticu u e-knjigu i stavite čitač na noćni ormarić.

Kada stavimo knjigu na ivičnjak, kuća pomisli da smo odlučili da idemo u Morfejevo kraljevstvo i ugasi osvetljenje. A ako uzmemo knjigu sa ivičnjaka, onda se pretpostavlja da želimo da čitamo, a onda se, naprotiv, upali pozadinsko svetlo kako bi se videlo elektronsko mastilo i da se oči ne bi slomile .

Ovako radi čudovište utičnice

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

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

Sve vrste linkova
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 ponovo učitava nakon svake 64 smjene kako bi se podaci resetirali i počeli ispočetka. Ulazi registra su sljedeći:
  • Obrazac sinhronizacije: 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
  • Kontrolna suma: 4 paritetna bita, broji kolonu po kolonu
  • Stop bit: "0"

Čak su i šifrirane oznake podložne višestrukim napadima. Osim toga, postaje sve lakše oponašati oznake na pametnim telefonima koji imaju NFC (koji obično rade na 13,56 MHz). Samo ispravno napišite svoju aplikaciju za modulaciju na terenu i možete raditi šta god želite.

Kao standardni izgovor, da podsjetim da je autor (I prevodilac! - Pribl. transl.) ne preuzima nikakvu odgovornost za posljedice korištenja informacija u ovom članku. Čitalac mora biti odgovoran za sve svoje postupke.

Okvir

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

Kada je mašina pokrenuta, dobili smo priliku da testiramo naš projekat u stvarnom životu. Kućište za našu RFID oznaku je napravljeno od stakla debljine 2 mm. Ovaj korpus je prvi objekat napravljen sa PhotonSaw-om, da!

Rodila se ideja da se zavojnica postavi na vanjsku stranu kućišta. U početku je odlučeno da se koristi polovina visine karoserije, ali to u praksi nije funkcioniralo (dodatne rupe na dugim stranama se stoga ne koriste). Zavojnica je baš bila odlično postavljena po obodu cijelog kućišta, iako sam sumnjao da bi pravokutni namotaj (105x55 mm) bio prevelik za normalno elektromagnetno spajanje.

Ispitna zavojnica je namotana, bez ikakvih proračuna, sa žicom od 0,4 mm, 66 zavoja. I, očito, opet smo imali sreće, jer je zavojnica ispala tačno kako treba, sa induktivnošću 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 sa ovom zavojnicom.

Sa zavojnicom na vanjskoj strani kućišta, debljina potonjeg može se smanjiti. Unutrašnja debljina sada zavisi samo od visine delova na ploči, a uzimajući u obzir debljinu ploče, trebalo bi da bude oko 6 mm. Također, bilo bi lijepo dodati gravuru. Flemming je predložio zaokruživanje strana kućišta iz estetskih i ergonomskih razloga. Zakrivljeno tijelo će također bolje zaštititi strane zavojnice, jer tamo gdje nema jake napetosti, zavoji žice imaju tendenciju da ispuze.

PhotonSaw još uvijek nije na nivou: gravura na gornjem poklopcu je značajno skliznula. Potrebno ga je finalizirati prije izrade konačne verzije slučaja. Zakrivljene konture su također pretrpjele grešku u proračunu u softveru jer se snop nije vratio u prvobitni položaj nakon što je prošao zatvorenu putanju. Ali u svakom slučaju, krive izgledaju zaista glatko.

PCB sklop

Naručena uplata je stigla:

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

Preko kapacitivnosti za blokiranje (47 pF ima otpor od oko 27 kOhm na frekvenciji od 125 kHz) i zaštitnih dioda struja teče do energetskih šina. Energija koja se napaja 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 sa ovakvom vrstom napajanja. Nažalost, uz ovakvu napetost dešavaju se čudne stvari. 74HC ima interno kolo za resetiranje i morate se uvjeriti da radi. Imajte na umu da onemogućavanje zaštitnih dioda ne pomaže. Na ulazima mikrokola nalaze se unutrašnje zaštitne diode, koje se u ovom slučaju otvaraju i obavljaju isti posao.

Resetovanje napajanja se pokreće samo ako napon napajanja padne ispod određenog nivoa tokom određenog vremenskog perioda. Ako napon ostane previsok, unutrašnja logika može postati zbunjena, jer neki njeni dijelovi mogu biti u neodređenom stanju, dok drugi rade kako se očekuje. Potrebno je interno resetiranje da bi se svi čipovi doveli u konzistentno stanje. Stoga će krug biti nestabilan pri vrlo niskim naponima napajanja.

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

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 da izbaci višak energije. Druga metoda dovodi do povećanja curenja tokom rada i zapravo nije potrebna kada se kondenzator smanji. Međutim, to je predviđeno kao opcija, a ipak je bolje od nedefinisanog stanja mikrokola.

Modulacija strujom ili naponom

Modulator je doneo novi deo glavobolje. Modulacija je potpuno nestala kada je kalem postavljen na određenoj udaljenosti od čitača. To se također može dogoditi kada se zavojnica pomjera prema ili od čitača.

Ispostavilo se da je razlog bio u krugu modulatora. MOSFET-ovi povezuju zavojnicu na otpornik određenog otpora. Međutim, ako je potrošnja energije iz petlje velika, otpor modulatora je mnogo veći od otpora strujnih krugova. To dovodi do činjenice da dubina modulacije zavisi od potrošene struje, š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 sa modulacije napona na modulaciju struje. Za prvi način rada, otpornik je bio u strujnom kolu, 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.

Testiranje prototipa je pokazalo 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 odlično djelovati i na druge čitaoce, a tag će sada vjerovatno moći raditi i na većini njih.

Završena verzija 1

Izmjene koje su napravljene možete vidjeti na PCB-u. Nisam imao SMD kondenzator od 15pF, morao sam zalemiti običan sa 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 krugovima, ali to nije sasvim tačno. Prvo, porodica 74HC danas nije toliko stara. Drugo, kola male snage su uvijek relevantna. Treće, single gate IC-ovi (kao što je korišteni Schmitt okidač) često se koriste u modernim dizajnima. Često se zaboravlja da razvoj tehnologije ne prestaje za starije porodice mikrokola. Oni su samo postali manje uočljivi na pozadini opšte raznolikosti.

Pokazalo se da je analogni dio teže dizajnirati od digitalnog. To je dijelom zbog nedostatka specifikacija, ali uglavnom zbog mnogih kompromisa potrebnih da bi se zadovoljili parametri i nepredviđenih nuspojava. Digitalni dizajn ima relativno malo opcija, 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 šta rade i postigli su vrlo nisku potrošnju energije. U početku sam imao sumnje da li tag može raditi iz pasivnog napajanja, ali nakon čitanja specifikacija, ostalo je samo pitanje ispravnog kola. Ipak, još uvijek ima prostora za optimizaciju različitih dijelova etikete.

Sada da vidimo kako se ovaj projekat ponaša u konkurenciji 7400 2012. Podnošenje prijava na konkurs završava se 31. novembra. Poželimo autoru sreću! - Pribl. transl.

Oznake: Dodaj oznake

RFID čitač - kartice i privjesci
na mikrokontroleru ATtiny13

izvor: www.serasidis.gr
Vassilis serasidis

prijevod: Vadim naručio RadioLocman

U posljednje vrijeme široku popularnost su stekli različiti projekti bazirani na RFID ključevima, koji se koriste u sigurnosnim sistemima, sigurnosnim sistemima i sistemima kontrole pristupa. U nekim preduzećima i organizacijama takvi sistemi, dopunjeni specijalizovanim softverom, koriste se za evidentiranje radnih sati, obračun materijalnih vrednosti itd.

Svaki sistem identifikacije radio frekvencije (RFID) sastoji se od čitača (čitača, čitača ili ispitivača) i transpondera (aka RFID oznaka, ponekad se koristi i termin 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. Ovaj tip RFID ključa može biti u obliku privezka za ključeve ili kreditne kartice (slika ispod).

Glavna komponenta čitača je mikrokontroler Atmel AVR ATtiny13 , koji čita 10-cifreni jedinstveni identifikacioni broj ključa i prenosi ga u ASCII kodiranju preko serijskog interfejsa (UART) brzinom od 2400 bps do Host uređaja. Drugim riječima, čitač je poseban modul koji se povezuje sa glavnim procesorom ili mikrokontrolerom sistema (slika 2).

Šematski dijagram RFID čitača je prikazan na slici ispod:

Razmotrimo glavne karakteristike kola. Mikrokontroler koristi ugrađeni PWM modulator za generiranje 125 kHz kvadratnih impulsa na PB0 izlazu. Ako je na izlazu PB0 log. 0 (padajući rub impulsa), tranzistor T1 je u isključenom stanju, a napon napajanja od +5 V se primjenjuje na zavojnicu L1 preko otpornika R1. Uzlazni rub na izlazu PB0 (log. 1) otvara tranzistor T1, a vrh kola, izlaz zavojnice je spojen na masu. U ovom trenutku, zavojnica je spojena paralelno sa kondenzatorom C2, formirajući LC generator (oscilatorni krug). Tranzistor se prebacuje 125.000 puta u sekundi (125 kHz). Kao rezultat toga, zavojnica generiše sinusoidni signal frekvencije od 125 kHz.

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

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

Proces razmjene podataka između RFID ključa i čitača je vrlo jednostavan, ali promišljen do najsitnijih detalja. Ako bi RFID ključ trebao prenijeti zapisnik. 0, onda povezuje određeno "opterećenje" na svoj izvor napajanja, što zahtijeva više energije koju prenosi čitač. Ovo će uzrokovati blagi pad napona na strani čitača; to je taj nivo koji čitalac percipira 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 identifikacionog broja korisnika (D00 - D03).
  3. 1 bit (P0) - bit parnosti prethodna 4 bita.
  4. 4 bita - najvažniji bitovi identifikacionog 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) - bit parnosti prethodna 4 bita.
  8. Zatim se prenose sljedeće grupe od 4 bita ključnog serijskog broja, svaka sa paritetnim bitom.
  9. Zatim se prenose 4 bita parnosti bitnih kolona. Na primjer, PC0 bit parnosti 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 bitova parnosti za svaki red i kolonu i poređenjem sa 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 prilikom namotavanja. Da bi se poboljšala efikasnost zavojnice i povećala udaljenost čitanja podataka RFID ključa, potrebno je kalibrirati oscilatorno kolo. Ako spajanjem osciloskopa na spojnu tačku R1 i L1, vidite izobličene vrhove na ekranu uređaja (slika 7), onda to ukazuje na potrebu kalibracije zavojnice L1.

Izobličenje signala koji generiše zavojnica L1 ukazuje na potrebu kalibracije.

Kalibracija se može izvršiti na dva načina nakon uključivanja napajanja na modul.

  1. Sonde osciloskopa priključiti 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 okreta, a zatim ponovno provjeriti udaljenost s koje se ključ može s povjerenjem očitati. Uz pomoć kalibracije, autor šeme je postigao pouzdano očitavanje RFID ključa sa 3 cm.

Prilikom programiranja mikrokontrolera potrebno je podesiti sljedeću konfiguraciju Fuse-bitova: niži bajt 0x7A i visoki bajt 0x1F (mikrokontroler radi od ugrađenog generatora takta od 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, prilikom proširenja funkcionalnosti čitača, bolje koristiti drugi 8-pinski AVR mikrokontroler, na primjer, ATtiny85.

Preuzimanja:

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

U posljednje vrijeme se mnogo pričalo o upotrebi RFID oznaka, a diskusije su čak sugerirale da, ako žele, ljudi s određenim kompjuterskim vještinama mogu provaliti u vaš kućni sistem i dobiti potpune informacije o vašim stvarima.

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

U ovom članku ću vam pokazati 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 talas), ali ne radi na 1,25 kHz (talasna dužina ispod AM opsega). Napravio sam čitač koji radi na industrijskoj standardnoj frekvenciji od 125 kHz. To znači da je mom čitaocu potrebna drugačija kombinacija antene i kondenzatora. Osnovni dijagram i osnovna formula to ilustruju. Da biste dobili željenu vrijednost, odaberite odgovarajuću formulu, uključite svoje vrijednosti i koristite kalkulator da biste dobili rezultat.

Spisak komponenti:

  • Otprilike 12m tanka žica, 22 do 30 gauge (ja sam koristio 30 gauge).
  • Bilo koja dioda (ja sam koristio crvenu).
  • Jedan 0,005 μF kondenzator ili dva 0,01 μF disk kondenzatora u seriji.
  • 2-5 disk kondenzatora 100 pF.
  • Baza zavojnice (bilo koja baza, prečnik zavojnice mora biti 10 cm).
  • Štampana ploča za izradu prototipa, za probne sklopove.
  • Štampana ploča za uredno i precizno sklapanje.
  • Mogućnost pristupa čitaču radi uzimanja očitavanja sa prijemnika.
  • Nisu potrebne baterije jer se prijemnik napaja bežično iz čitača.

Korak 2



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

Sa žicom namotanom oko baze, uporedio sam zavojnicu sa drugim zavojnicama koje sam već imao. Tako sam grubo procijenio induktivnost nove zavojnice - dobio sam oko 330 μH.

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

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

Korak 3


Na matičnoj ploči prvo 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 kola, što je povećalo domet čitača. Tada sam saznao da bih dodavanjem drugog kondenzatora iste vrste paralelno cijelom kolu dodatno povećao domet čitača. Nasuprot tome, dodavanje trećeg kondenzatora smanjilo je ovaj radijus. Tako sam ustanovio da je 5200pF optimalno za moju zavojnicu (ilustracija iz trećeg pokušaja).

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

Korak 4




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. Sastaviti ga je prilično jednostavno 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 štampanoj ploči i zalemljene. Zatim sam zalijepio kolo na zavojnicu tako da se cijeli uređaj može pomicati 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

Pošto znam da se maksimalna luminiscencija diode na datoj udaljenosti postiže kapacitivnošću od 0,0052 μF, ubacio sam ovu vrijednost zajedno sa talasnom dužinom od 125 kHz u odgovarajuću formulu i dobio vrijednost induktivnosti od 312 μH, umjesto 330 μH Očekivao sam.

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

Top srodni članci