RC522 RFID

Uit MakerSpace Leiden
Ga naar: navigatie, zoeken
Schematic-rfid-revspace.png

Zie ook https://revspace.nl/RC522Hacking and a document AN12810: How to use the NanoVNA for the NFC reader antenna design or AN11019: CLRC663, MFRC630, MFRC631, SLRC610 Antenna Design Guide Rev. 1.5 — 2 and the box with parts and a VNA - Vector Network Analyser

RC522

In het a bleken de RC522 kaartlezers niet alle kaarten van deelnemers (goed) te kunnen lezen, terwijl de toegepaste NXP RC522 chip deze kaarten wel zou moeten kunnen lezen.

De makerspace heeft een heel aantal dergelijke kaartlezers, uit minstens 2 verschillende bestellingen. Er is een simpele indeling te maken in "goede" en "slechte" kaartlezers: De "slechte" lezers lezen alleen de meegeleverde kaarten en druppels, en niet b.v. de OV-chipkaart of andere kaarten die deelnemers als deurkaart gebruiken.

De "goede" kaartlezers kunnen naast de meegeleverde blauwe druppels en witte kaarten (Beide Mifare 1K) de OVchipkaart (Mifare 4K), wegwerpOVchipkaart (Mifare ultralight / ultralight C), en diverse eigen kaarten (ISO/IEC14443-4) lezen. Dit is getest door om beurten 2 verschillende lezers aan te sluiten op een Arduino met een kaartlees-sketch en enkele (hiervoor genoemde types) kaarten te proberen te lezen, waarbij dus bij beide kaartlezers identieke software is gebruikt en identieke kaarten. (Er lijkt een methode te zijn om "slechte" kaartlezers te fixen, zie Fix)

Er zijn een paar visuele verschillen aan de PCB:

Vergelijking. Let op de condensators, kristal, silkscreen. Klik om te vergroten
Vergelijking. Let op de condensators, kristal, silkscreen. Klik om te vergroten
Let op de condensators, kristal, silkscreen en chipdatumcode. Klik om te vergroten.
Let op de condensators, kristal, silkscreen en chipdatumcode. Klik om te vergroten.

De silkscreentekst is kleiner en netter op de "slechte", verder hebben deze een SMD kristal ipv troughhole en de kleur van C6,7,8,9,10 is anders. Dit zijn slechts optische verschillen, en niet de oorzaak van het slecht lezen van kaarten (Al zou de capaciteit of andere eigenschappen van C6-10 ook anders kunnen zijn, het is in elk geval een ander merk/type). De datumcode van de IC's is ook anders.

Dit was een test op basis van 2 lezers, echter meer "slechte" lezers zijn getest door andere makers die tegen hetzelfde probleem aan liepen, en de kaartlezers van het huidige deursysteem, die dus alle kaarten lezen, komen visueel overeen met de "goede" lezers.

Tevens schijnen er dergelijke kaartlezers in omloop te zijn met een Mxp chip ipv NXP. (Fakes?):

MXP. Klikbaar om te vergroten. (Van circuitsonline)

Op basis hiervan vallen hopelijk op ali/ebay "goede" lezers te bestellen, door lezers uit te kiezen die op de foto op de "goede" lezers lijken. (Moet je ook nog maar net krijgen wat op de foto staat, natuurlijk... Maar "Ik heb een ander product gekregen dan op de foto" is een standaard claim, "werkt toevallig niet met mijn kaartjes" lijkt mogelijk lastiger.)

Wilde ideeën

  • "slechte" lezer condensatoren af solderen en capaciteit meten (Evt ook PCB spoel nameten indien mogelijk... Resonantiefrequentie?). Vergelijken met appnote/datasheet en evt. met een "goede" lezer.
  • Heel wild idee: Chip van een "slechte" overzetten (Met hete lucht) op een "goeie", kijken of het daar aan ligt of aan de randcomponenten/PCB spoel.
  • Aart's idee: Zelf printjes maken, onderdelen bij betrouwbare leverancier halen, danwel de bestaande lezertjes voorzien van "known good" onderdelen.

Handig: de datasheet en AN1445: https://www.nxp.com/products/identification-and-security/nfc/nfc-reader-ics/standard-performance-mifare-and-ntag-frontend:MFRC52202HN1?fpsp=1&tab=Documentation_Tab&lang_cd=en

Ook handig: https://www.nxp.com/docs/en/application-note/AN11535.pdf

uitwerking wilde ideeën

Welk onderdeel is welk?

Voor de uitwerking van bovenstaande ideeën kan het handig zijn te weten welk onderdeel op de printjes overeenkomt met het schema van figuur 27 in de datasheet (Het applicatieschema). (Dit gaat er van uit dat inderdaad figuur 27 gevolgd wordt, dus antennetopologie I, en er niet gekozen is voor antennetopologie II uit AN1445)

RFID reader PCB Figuur 27 datasheet
C12,C13 Oscilator C's (Niet genummerd)
C2 CVmid
R3 R1
R4 R2
C3 Crx
L1,L2 L0 (2x)
R1 + D1 Pwr led, not shown
C1 pwr decoupling, not shown
R2 NRST pull-up, not shown
C4,C5 C0 (2x)
C6,C7 C1 (2x)
C8//C10 C9//C11 C2 (2x)

C8 en C10 (PCB) staan parallel en vormen zo C2 (fig. 27). Idem C9 en 11.

C4 en C5 (PCB) zijn beiden een C0 (fig 27) en zouden dus elk een gelijke waarde moeten hebben, hetzelfde geld voor C6=C7=C1 en C8+C10=C9+C11 (pcb) = C2 (f27).

Chip overpotten

Omdat het makkelijker is dan alle condensatortjes 1 voor 1 over te zetten, heb ik de chip van mijn "goede" RFID lezer (Datumcode 1108) afgesoldeerd, en er een chip van een "slecht" lezertje op gezet (Met datumcode 1411). Vervolgens heb ik opnieuw de "dump kaartgegevens" sketch gerund.

Mijn "Goede" lezer leest nog steeds kaarten, ook de kaarten die de "slechte" lezers niet kunnen lezen.

RFID Chipovergezet.JPG

Hieruit valt te concluderen dat de chips van de "slechte" lezers gewoon goed zijn, en het dus aan de randcomponenten ligt.

condensatortjes vervangen

TODO. Eerst uitzoeken welke waarde het moet zijn / danwel resonantiefrequentie LC kring nameten (op 13,... Mhz... Wat de functiegenerator op de space niet haalt, en die thuis ook niet...) Als we door het vervangen van enkele condesatortjes de "slechte" lezers werkend kunnen krijgen zou mooi zijn.


In fig. 27 Op silkscreen Gemeten waarde "slechte" lezer Gemeten waarde "goede" lezer Afgeronde standaardwaarde
C0 C4, C5 48 pF C5: 49 pF 47pF
C2 (C10 en C8 staan parallel) C10 208 pF 12 pF 180 pF? 220pF?
C2 (C11 en C9 staan parallel) C11 215 pF niet gemeten, is identiek C10 idem
C1 C6, C7 16 pF C6: 16pF 12 pF? 18pF?
C2 (C10 en C8 staan parallel) C8 10 pF 203 pF 6,8pF? 10pF?
C2 (C11 en C9 staan parallel) C9 11 pF Niet gemeten, is identiek C8 12pF? 10pF?

(Gemeten waardes zijn gemeten met een handmultimeter met condensatortester en kunnen 10% afwijken. Tevens 3-5pF te hoog, omdat SMD condensators niet in de klemmetjes passen (op een manier dat ze correct contact maken) en ik dus draadjes heb moeten vasthouden, hetgeen bij afwezigheid van enige condensator reeds een meetwaarde van 3 tot 5pF aangeeft)

Op de "goede" en "slechte" RFID lezers zitten dus dezelfde condensatortjes, althans, dezelfde capaciteitswaarde. (C11 (C10) en C9 (C8) staan parallel en tellen dus op) Aangezien de kleur anders is valt aan te nemen dat het een ander type betreft met andere eigenschappen op gebied van b.v. verlieshoek / Q / ESR / ESL.

Ook zijn waarschijnlijk de antennespoelen en mogelijk de EMC filterspoelen (L1,L2 op PCB, L0 in fig 27) verschillend. (TODO: nameten... Maar hoe? het gaat om ordegrote 0,5 - 3 uH... En moet exact.)

Dat de 200pF en 12 pF zitten omgewisseld tussen de "goede" en de "slechte" lezer zou omdat deze parallel staan eigenlijk niet uit moeten maken, maar het verschil dat ervoor zorgt dat de ene lezer wél OVkaarten leest en de ander niet is duidelijk erg subtiel, dus het valt te proberen ze om te wisselen.

Een echt goede oplossing wordt waarschijnlijk pas gevonden door de prinstpoel - antenne zelf correct te tunen met onze VNA - Vector Network Analyser.

Fix

Zoals in het Bestand:VNA 171228 183031 Origineel.pdf gezien kan worden ligt de resonantiefrequentie van het geheel van de antenne (Vanaf L0 gemeten) bij een "slechte" lezer op 12.75 Mhz. Door het verwijderen van C8,9,10 en 11, en daarna terugplaatsen van 188pF voor C2 uit figuur 27 verschuift deze resonantiefrequentie naar net iets onder de 13,56Mhz. Zie Bestand:VNA 171228 190306 4x47pfcondensaTOREN.pdf. Dit is getest door 2x 47pF te plaatsen op C8,9,10,11 ieder, dus 8 condensators totaal per print. Waarschijnlijk werkt 100pF + 82 pF ook, dat scheelt stapelen.

IMG 0282.JPG

RFID Newcaps 1.JPG

Rfidnewcaps 2.JPG

IMG 0273 condensa toren.JPG


Deze aanpassing is op 2 van de "slechte" lezers getest en resulteert er in dat deze lezers nu ook OVchipkaarten e.d. kunnen lezen, net als de "goede" lezers.

Hiermee is de antenne van de RFID-lezer echter nog niet correct getuned, dus "wordt vervolgd..."