PN5180 troubleshooting

Hallo,

nach einiger Zeit mitlesen kam ich nun auch endlich dazu, einen TTGO T8 als Espuino auf einem Breadboard aufzusetzen. Mit einem RC522 reader funktioniert das Setup tadellos. Wenn ich allerdings einen PN5180 anschließe, reagiert der ESPUuino nicht. Fehlerquellen gibt es viele, aber wenn jemand mit mehr Erfahrung hier vielleicht mal mit drauf schauen könnte, wäre mir sehr geholfen:

  1. Ich sehe keine LED am PN5180 leuchten; soll das so sein?

  2. Da die Pins meines PN5180 in einer anderen Reihenfolge als der RC522 sind und es gestern Abend etwas spät war, war ich etwas schusselig, und habe möglicherweise (wahrscheinlicherweise) mal VCC und GND vertauscht. Ist damit die Fehlersuche schon abgeschlossen? Gibt es eine einfache Möglichkeit zu sehen ob der überhaupt noch tut, ohne einen neuen Aufbau auf dem Breadboard mit einem minimalen Programm?

  3. Die Pins meines PN5180 sind in einer anderen Reihenfolge als der RC522. Nach Recherche im Netz vermute ich, dass NSS == CS ist, richtig? Den Rest erkenne ich wieder, nicht verbunden sind GPIO, AUX und REQ

  4. Ich hatte beim Belegen der Buttons und des LED Strips schon einige Probleme mit im SD_MMC 1 BIT MODE belegten Pins. Im folgenden sind meine belegten Pins. Habe ich da doch noch einen erwischt, der Problematisch ist? Hinweis: ich verwende keinen rotary encoder.

    #define RST_PIN 99 // Not necessary but has to be set anyway; so let’s use a dummy-number
    #define RFID_CS 21 // GPIO for chip select (RFID)
    #define RFID_MOSI 23 // GPIO for master out slave in (RFID)
    #define RFID_MISO 19 // GPIO for master in slave out (RFID)
    #define RFID_SCK 18 // GPIO for clock-signal (RFID)

    #ifdef RFID_READER_TYPE_PN5180
    #define RFID_BUSY 32 // PN5180 BUSY PIN
    #define RFID_RST 33 // PN5180 RESET PIN
    #define RFID_IRQ 34 // PN5180 IRQ PIN (only needed for low power card detection)
    #endif

Das ist korrekt.

@compactflash Du hattest doch demletzt nen Schaltplan zu dem Ganzen ausgegraben. Findest du den nochmal? Da könnte man das ggf. draus ableiten.
@metty Am PN5180 befinden sich direkt nebeneinander 5V und 3.3V. Die müssen BEIDE auf 3.3V gelegt werden. Hast du das so angeschlossen?

Sollte hiermit gehen: PN5180-Library/PN5180-ReadUID.ino at b8408b883780bfd78620c254b97c61da5c76ebee · tueddy/PN5180-Library · GitHub

Korrekt.

Beim IRQ-Pin muss man halt einen PullUp-Widerstand einbauen, wenn man einen GPIO >=34 benutzt. Und zwar deswegen, weil GPIOs >= 34 keinen internen PullUp haben, den man zuschalten kann. Tust du das nicht, so wird der ESPuino sofort nach dem Schlafenlegen wieder aufwachen.
Ansonsten: Ja, die GPIOs werden dann irgendwann knapp.

Nachtrag:
@tueddy Bin mir gerade nicht sicher, ob es wirklich einen PullUp braucht. Der PN5180 wird ja nicht ausgeschaltet. Insofern braucht es den PullUp nicht, oder?

Ich kann die Schaltung nicht mehr finden , auch die Quelle nicht mehr wo ich es her hatte . Sorry !

Edit : Hier ist die besagte Schaltung . Dort sieht man auch dass keine 5V erforderlich sind ,
also einfach 3,3V an Pin 3,3V und 5V legen . Die erforderlichen Spannungungen werden im Chip selbst erzeugt .

Vielen Dank für die Hinweise. Ich habe heute leider keine Möglichkeit das zu testen, aber den 5V Pin hatte ich gestern tatsächlich nicht angeschlossen. Das probiere ich morgen Abend und melde mich dann nochmal.

Hi,
Ein PullUp/PullDown Widerstand für den IRQ PIN wird aus meiner Sicht nicht benötigt,
der ist also entweder low oder high…

Großartig, damit geht es! Danke für den Hinweis, danach hätte ich als letztes gesucht…

@compactflash, danke für die Schaltung. Jetzt bin ich mit meinen rudimentären Elektronik-Kenntnissen aber doch neugierig geworden und würde gerne was dazu lernen: sieht man auf dem Schaltplan eigentlich auch, dass ich die 3,3V und 5V gleichzeitig Anschließen muss, und falls ja: wodurch sieht man das?

Ja ganz verstanden habe ich es auch nicht! 3.3 & 5V Pins müssen beide angeschlossen werden. Wenn keine 5V vorhanden sind beide PINs an 3.3V anschließen. Hier der Schaltplan:

Hi @metty
Ich habe selbst keinen PN5180 habe mir das damals aber angesehen .
Die Schaltung ist für mich etwas „merkwürdig“ . Da wird suggeriert dass man beide Spannungen braucht . Der Hersteller gibt für alle Spannungseingänge im Datenblatt einen Bereich von 2,7V-5,5V an . Auf dem Chip selbst sind Spannungsregler integriert .
Also sollte es problemlos mit 3,3V gehen und einige haben es ja damit laufen . Wenn man sich die Schaltung ansieht stellt man fest , dass viele Bauteile garnicht bestückt sind . Was damit bezweckt wird ??? . Es gibt ja keine Doku . NC heißt not connected und 0R ist 0 Ohm also eine Drahtbrücke. Wenn man beide Spannungen anlegt passiert nichts , weil die wegen nc und 0R nirgendwo zusammenkommen . Also entweder 3,3V oder 5V an beide Pins gleichzeitig und es sollte funktionieren .
VG

1 „Gefällt mir“

Danke für die Zusatzerklärungen! Ja es funktioniert wenn beide angeschlossen sind.

Hi,
ich habe nun den RC522 durch den PN5180 Leser getauscht. Es funtkioniert soweit auch.
Ich habe nur ein kleines Problem:
Wenn die Karte beim abspielen auf dem Leser bleibt, dann wird sie von Zeit zu Zeit als neue Karte erkannt und das Lied wird von neuem gestartet.

Kennt jemand dieses Phänomen?

Es wurde hier schon berichtet. @jpellenz war der Erste, der dieses Problem hatte. Ich konnte es nicht nachstellen und hatte die Vermutung, dass es zwischendrin einzelne Events gibt, bei der die Karte nicht erkannt wird. Also habe ich gesagt: Ok, ich erlaube dazwischen EINEN Event, bei dem ich eine Nichterkennung akzeptiere in dem Sinne, dass ich die Karte dann trotzdem noch als aufgelegt betrachte (ESPuino/RfidPn5180.cpp at 7d2a0ad9cbba9b0acce3b65b0145c8e2d4baf6fd · biologist79/ESPuino · GitHub). Aber offenbar kommt es vereinzelt zu Situationen, wo es mehr als einen Event lang nicht erkannt wird. Vielleicht hat ja jmd. ne Idee dazu. Mir fällt spontan nur ein, dass man die Anzahl der Events erhöht und konfigurierbar macht. Aber das ist so technisch, dass ich irgendwie Skrupel habe, sowas auszulagern. Es verlängert gleichzeitig dann auch die Reaktionszeit bei Kartenaktionen generell.

Wie gesagt: Ich bin ja kein Fan von diesem Feature :joy:.

Ich nutze das Karten Play/Pause Feature ohne Probleme!
Hast Du evt. ein Problem mit der RF-Reichweite? Der PN5180 hat zwar eine gute Empindlichkeit, aber bei einigen Tags funkktioniert das nicht so gut. Probiere es doch mal mit der beigelieferten ISO-15693 Karte, hier ist die Empfindlichkeit deutlich besser…

Tatsächlich ist die Reichweite erheblich besser. Allerdings habe ich irgendwie die Erfahrung gemacht, dass die nicht zwangsläufig auch mitgeliefert werden. Oft sind beide Tags 14443. Beim offenen Versuchsaufbau habe ich mit 15693 eine Reichweite von etwa 12cm.

@biologist @tueddy danke für eure Tipps. Die Reichweite hatte ich erst auch im Verdacht. Allerdings eher die minimale Reichweite, da zwischen Leser und Karte nur 5mm Holz sind. Habe dann den Abstand vergrößert, ohne Erfolg.

Aber ich glaube ich habe einen Störer im Gehäuse und habe schwer den Lautsprecher im Verdacht. Außerhalb des Gehäuses mit den gleichen Parametern (Leser<->5mm Holz<->Karte) funktioniert alles bestens. Die Reichweite ist auch wesentlich besser. Ich habe auch schon den Neopixel abgeklemmt und das Lolin D32 Pro Träger Board aus dem Gehäuse genommen, ohne Erfolg. Da bleibt eigentlich nur der Lautsprecher übrig :D. Dieser stammt aus einem alten Lautsprecher-Projekt und hat einen etwas dickeren Magneten.
Interessant, dass hier der RC522 weniger störanfällig ist.

Na ich weiß nicht, ob man das so sagen kann. Für diesen ist das Feature bisher nicht implementiert (,weil dessen Programmierung so schrecklich ist).

@Harry Bist bei der Fehlersuche schon weitergekommen?
Ich für meinen Teil habe auf jeden Fall die Erfahrung gemacht, dass die Reichweite bei RFID deutlich nachlässt, wenn viel „metallischer Kram“ in der Nähe ist. Also im ESPuino meiner Tochter geht es relativ eng zu und da hatte ich mit dem RC522 doch deutliche Probleme. Mit dem PN5180 hatte ich hier keine Probleme.
Das hier angesprochene Feature habe ich dort allerdings auch noch nicht getestet.

Ja bin ich und ich habe das Gleiche festgestellt, was du beschrieben hast :smile:
Bei meinem Gehäusedesign geht es auch eng zu und der RFID Leser befindet sich mittig unter dem Neopixelring. Der Ring beeinflusst den PN5180 so stark, dass die Reichweite komplett einbricht und ich das beschriebene Verhalten habe. Der RC522 lässt sich etwas weniger vom Neopixel stören. Da habe ich lustigerweise eine bessere Reichweite, aber diese ist auch nicht zufriedenstellend. Wahrscheinlich werde ich den PN5180 erstmal provisorisch an eine andere Stelle im Gehäuse packen und mich mittelfristig an ein neues Gehäuse wagen.

Hier noch was zu Problemen beim PN5180: RC522: Erkennung wann Karte aufliegt und wann nicht - #23 von tueddy

Ich schreibe jetzt einfach mal hier rein anstatt ein neues Thema aufzumachen.

Bei mir tritt das Problem auf, dass der ESPuino, wenn er nicht von einer LPCD Karte aufgeweckt wird und direkt wieder schlafen geht, sofort wieder aufwacht und in einer Schleife endet. Die Schleife kann nur beendet werden indem eine passende LPCD Karte aufgelegt wird, nicht aber durch ein aufwecken per Button.
Aufwecken mit LPCD Karte funktioniert normal, er bleibt ja dann auch an.

Den Beiträgen hier im Forum zufolge sollte ja kein pullup oder pulldown nötig sein. Auch software pinMode pullup/pulldown hilft nichts.

Hat jemand eine Idee, was hier das Problem sein könnte?