Rfid-Reader funktioniert nicht immer - bei eingestecktem USB-Kabel PC/Arduino aber immer

Hallo zusammen,
bei mir funktioniert der Rfid-Reader nicht zuverlässig. Nach einschalten der Powerbank blinkt dieser manchmal nur und liest keine Karten. Wenn ich dann aber ein USB-Kabel einstecke (nur GND, Data+ und Data- zum Debuggen) leuchtet die LED plötzlich durchgängig und der Reader funktioniert.
Gleichzeitig kann ich beobachten, dass die LED des Arduino nur an der Powerbank schwach blinkt (Loop) und sobald ich das o.g. USB-Kabel einstecke, diese LED richtig hell wird. So richtig erklären kann ich mir das nicht. Was passiert, wenn der Onboard-USB/Serial-Konverter angesprochen wird?

Beste Grüße,
Matthias

Wie ist denn dein Aufbau? Nutzt du die Platine?
Wo speist du denn die 5V normalerweise ein?
Kannst du mal die Ausgabe des seriellen Monitor zeigen?

Aufbau auf Lochraster mit Buchsen/Steckerleisten (demontierbar). Normalerweise 5V aus dem BatteryShield v8 auf den 5V-Out des Arduino. Wahlweise auch auf den USB-In des Arduino. Das ändert am Verhalten nichts. Ich muss insofern korrigieren als dass der Reader meistens nur blinkt. Sobald ich das USB-Kabel in den PC (!) stecke leuchtet die LED dauerhaft. An der Powerbank gelingt das nach zahlreichen versuchen (ein aus, ein aus, …) auch.
Ausgabe serieller Monitor liefere ich gleich nach:

08:57:55.358 ->  ** TONUINO ** ALWAYS QUEUE **
08:57:55.358 ->  ** VERSION THOMAS LEHNERT ** 2021-01-01 **
08:57:55.358 -> 
08:57:55.358 -> Based on TonUINO Version 2.1
08:57:55.358 -> created by Thorsten Voß and licensed under GNU/GPL.
08:57:55.358 -> https://tonuino.de.
08:57:55.358 -> 
08:57:55.358 -> *** 3 Tasten-Modus ***
08:57:55.358 ->  
08:57:55.423 -> load Settings from Flash
08:57:55.423 -> Version: 2
08:57:55.423 -> Max Vol.Lsp : 22
08:57:55.423 -> Min Vol.Lsp : 7
08:57:55.423 -> Init Vol.Lsp: 7
08:57:55.423 -> EQ: 1
08:57:55.423 -> StBy Timer: 0
08:57:55.423 -> Inv.Vol.Buttons: 0
08:57:55.423 -> Adm.Menu locked: 0
08:57:55.423 -> Stop when Card away: 1
08:57:55.423 -> ShortCut-0: Reserviert für Letzte Karte !
08:57:55.423 -> ShortCut-1: 0
08:57:55.423 -> ShortCut-2: 0
08:57:55.423 -> ShortCut-3, Begrüßung : 0
08:57:55.423 -> ShortCut-4: Reserviert für Weckersound !
08:57:55.423 -> 
08:57:58.712 -> Ordner auf SD: 13
08:57:58.745 -> 
08:57:58.778 -> mfrc522-> RxGain_avg
08:57:58.778 -> Firmware Version: 0x92 = v2.0
08:57:58.844 -> Play ShortCut: 3
08:57:58.844 -> Shortcut nicht belegt!

Und bitte noch die Ausgabe wenn du eine Karte auflegst.

1 „Gefällt mir“

Das sieht mir nach einem Problem mit der Stromversorgung aus. Eventuell ist auch der Nano bezüglich der Stromversorgung etwas zickig. Hast du eventuell einen zweiten Nano zum Tauschen? Wenn das Problem weiter besteht, mal die Spannung am 5V Anschluss kontrollieren, ob die zusammenbricht wenn du über das batterieshield speist. Hast du die LED-Animation in Nutzung? Da du ja meinen Fork benutzt, kannst du die LED Animation mit gleichzeitigem langen Druck Vor/Zurück Tasten Aus bzw Einschalten. Wenn das der Fall ist, schalte die LED anim mal probeweise aus, ob sich das Verhalten dann ändert. Auch mal die Verdrahtung kontrollieren. Falls dein Aufbau mit Jumperkabeln realisiert ist, mal alle kabelverbindungen auf festen sitz und guten Kontakt prüfen.
Nutzt du auch die automatische abschaltung über den standbytimer? Bitte auch kontrollieren, ob das Auschaltsignal über den Powerdownpin den richtigen Pegel für dein Batterieshield führt. (LOW-aktiv oder HIGH aktiv).
Letzteres hat sich erledigt. Hab gerade gesehen, dass du den Standbytimer deaktiviert hast. Bei mir ist der standartmässig auf 5 min gesetzt.

Die Stromversorgung habe bzw hatte ich auch im Verdacht. Allerdings funktioniert ja alles problemlos und bei jedem Versuch, wenn ein USB-Kabel (dabei wie gesagt mit unterbrochenem +5V) am PC hängt. Es kommt also vom Rechner „nur“ nochmal ein GND und die Data+/-.
LED habe ich keine aktiv. Automatische Abschaltung ist deaktiviert, hätte aber eine Platine mit Mosfet zum Zwischenstecken. Möchte ich aber erst realisieren, wenn alles läuft.
Einen anderen Nano habe ich noch nicht getestet, da es ja mit gestecktem Daten-USB-Kabel funktioniert und ich mir das nicht erklären kann…
Vielleicht noch relevant: ich nutze einen Pegelwandler für das Ansprechen des Readers (AZ-Delivery, TXS0108E). Erklärt m.E. aber trotzdem nicht das Verhalten mit Daten-Kabel?

Ausgabe mit aufgelegter Karte kommt noch.

Dann würde ich mal auf das Batterieshield oder die Verbindung von diesem tippen. Hast du ein Multimeter? Miss mal bitte die Spannung am 5V anschluss des Arduino.
Das Blinken der LED am Reader deutet darauf hin, dass die Spannung zusammenbricht, da die LED über Widerstand direkt an der Betriebsspannung hängt und nur das Vorhandensein der Spannung anzeigt.

Spannung ist 4,96V. Verstehe ich ja. Aber warum funktioniert es dann sofort, wenn ich das Daten-Kabel an den PC hänge? Da kommt doch nur GND und Data+/- mit, keine Spannungsversorgung…?

Nein, das ist nicht korrekt. Über das USB Kabel kommen auch die 5 V. Oder hast du da die 5V Leitung (rote Ader) aufgetrennt?

Ja. Habe ich. Hatte versucht das in den vorigen Beiträgen auch schon darzustellen, ist mir aber offenbar nicht gelungen :upside_down_face:

Miss doch auch mal die 3,3V am RFID reader ob die zusammenbrechen.

Du hast Masse an der Powerbank UND am Rechner (über USB).
Keine gute Idee.
Aber seltsam, warum es dann funktioniert…

Sollte aber eigentlich kein Problem sein, da ja die Powerbank keinen weiteren Kontakt zum Rechner hat, und die 5V vom Rechner unterbrochen sind. Es könnte aber auch eine kalte Lötstelle im Stromversorgungskreis sein.

Warum ist die Masseverbinding kritisch? Ich denke dass das GND der Powerbank ja bzgl. Erdpotential nicht definiert ist. Das vom PC schon. Wenn ich also dir GNDs verbinde setze ich doch eigentlich nur das GND der PB auf ein definiertes Potential gegenüber Erde. Strom sollte da m.E. keiner fließen?

Sag ich ja, Stellt normalerweise kein problem dar. Prüfe bitte auch noch mal deine Lötstellen und steckkontakte.

Lötstellen schaue ich mir nochmal an, danke. Verstehe aber trotzdem nicht warum es mit dem Daten-Kabel funktioniert. Der Arduino kann sich ja nicht aus 5V PB und GND-PC speisen…?! Also nur über GND kommt doch keine Leistung. Oder?

So hab ich das nicht gesagt :wink: .
Finde es nur nicht gut. Aber ich könnte mir vorstellen, dass du irgend eine kalte Lötstelle hast.

Evtl. kannst ja mal Bilder deines Aufbaus zeigen.

Soweit ich das verstanden habe ist so ein Kabel mit getrennten 5V die einzige Möglichkeit im laufenden System auf der zukünftig gedachten Energiequelle zu debuggen, oder?

Erklären kann ich mir das Verhalten mit einer kalten Lötstelle aber nicht, daher habe ich das im Detail noch nicht geprüft…

Es kann aber sein, dass über die Datenleitungen ein wenn auch geringer Strom in den Arduino bzw den Schnittstellenbaustein fließt, der über die internen Schutzdioden auch auf die 5V Schiene gelangen kann. Das könnte das winzige i-Tüpfelchen sein, das vielleicht zum korrekten funktionieren fehlt.

Oder nur der mechanische Impuls des Einsteckens.