Fehlersuche wie beginnen? Wie Fehler eingrenzen?

Hallo,

seit einer Woche versuche ich jeztt meinen TONuino zum laufen zu bringen. Leider ohne Erfolg. Hätte ich nicht bereits Stunden in die Gehäuseherstellung investiert, hätte ich das Projekt vermutlich schon für gescheitert erklärt. Ihr seid meine letzte Hoffnung. Da ich nicht weiß, ob es sich um ein Hardware- oder Softwareproblem handelt, poste ich unter Sonstiges.

Zu allererst schreibe ich, was funktioniert. :+1:

  • Der Arduino wird problemlos per USB (COM5) erkannt
  • Das Kompilieren verläuft mit diversen Warnung (was laut verschiedener Einträge scheinbar nicht relevant ist) und das hochladen klappt.
  • Die Tasten geben das korrekte Signal an den Unio (laut seriellem Monitor)
  • Lege ich eine neue Karte auf, wird diese als neu erkannt, und programmieren klappt auch
  • Dücke ich die eine Taste länger, fragt mich die Box, welche Karte ich löschen möchte.
  • Löschen einer Karte klappt
  • Lege ich eine bekannte Karte auf, so startet das mp3 File.

Soweit so gut. Jetzt die Problematik:

  • Entferne ich die Karte, passiert nichts. Die mp3 Datei läuft weiter. Pause/Play funktioniert noch. Andere Karten werden nicht mehr erkannt. Die serielle Schnittstelle zeigt nichts neues mehr an. Diese muss ich dann schließen und neu starten.
    Entferne ich die Stromversorgung und stecke sie wieder an, geht das ganze Spiel von neuem los. Die Box funktioniert scheinbar nur bis zum ersten Kartenauflegen korrekt.

Ich weiß beim besten Willen nicht, wo ich jetzt weitersuchen soll. Vielleicht hat jemand von euch den entscheidenen Tipp.

Die Verkabelung habe ich bereits zweimal überprüft. Die Lötstellen nachgelötet.

Ist dies eher ein Hardwareproblem oder ein Problem mit der Software. Ich weiß nicht wo ich starten soll. Eher beim kompilieren eine Fehlersuche starten oder mit dem Austausch von Komponenten beginnen? Oder aufgeben und mich geschlagen geben? :cold_sweat:

Ich hoffe auf eure Unterstützung.

Viele Grüße,

Christoph

Hallo Christoph,

zu deinen Fragen.

Entferne ich die Karte, passiert nichts. Die mp3 Datei läuft weiter.

Ich dachte die Karte wird nur zum „Starten“ der MP3 benötigt.
Bei mir ist es auch so, dass die MP3 weiterläuft.
Lege ich eine andere bereits angelernte Karte auf, dann spielt er den jeweiligen anderen Ordner ab.
Lege ich die selbe Karte nochmal auf, dann wird ein anderer Track aus demselben Ordner gespielt.

Andere Karten werden nicht mehr erkannt.

Wie meinst Du das genau?
Wenn Du eine neue Karte auflegst, kommt dann die Meldung das eine neue Karte erkannt wird?
Hast du bereits mehr als eine Karte angelernt?

Zuallererst: Welche Software setzt du ein?

Das ist gewollt.

Das ist nicht gewollt. :wink:

Gut das ist klar, ist ja quasi ein Reset.

Wow. Das ging schnell. Vielen Dank.

Ich dachte, die Datei läuft nur so lange, wie eine Karte aufgelegt ist. Dann scheint das kein Fehler zu sein. Ich hatte gedacht, das liegt vielleicht am kompilieren und habe Stunden im Code verbracht um diesen Fehler zu finden. :tired_face: Danke für dieses Feedback.
Eine Offtopic-Frage hierzu: Kann der Card-Reader ein Signal geben, wenn die Karte entfernt wird um einen Code zu starten (z.B. Stop/Pause) oder kann der Card-Reader nur ein Signal bei auflegen der Karte abgeben?

Was für eine Software? Nur die TONuino.ino aus dem Github (per zip-Paket) und die neusten Versionen der Libaries. Zum hochladen habe ich die neuste Version der Homepage (ohne installation) genommen.

Leider nein. Wie gesagt. Lege ich eine andere Karte auf, passiert nichts. Es wird nicht gesagt, dass diese neu ist. Auch wird kein Ordner gewechselt bei einer bekannten Karte. Was genau im Arduino passiert, kann ich leider nicht sagen, die serielle Schnittstelle zeigt nichts mehr an.

Nein. Das müsste man selber programmieren. Es gibt auch einige User die da dran arbeiten oder es proof of concept für sich implementiert haben. Ich persönlich sehe es eher als Feature, daß die Box weiter spielt.

Also die master [link]? Es gibt ja auch noch DEV [link] und auch alternativen [link]. Deswegen frage ich. Und von wann ist das .zip? Es gibt ja immer mal wieder Änderungen. Hast du mal neu runtergeladen?

Es hört sich für mich so an, als wenn der Reader hängt nachdem er eine Karte gelesen hat. So ein Bug ist in aktuellen Firmware Versionen eigentlich nicht bekannt.

Ist das ggf. die Warteschlange? Sprich die zweite Karte wird in die Warteschlange geladen und wird erst abgespielt, wenn der Ordner der ersten Karte vollständig abgespielt wurde?

Wir haben keine Warteschlange.

Dann nehm ich das zurück. Ich dachte ich hätte von dem Feature hier im Forum gelesen. Vieleicht auch nur als etwas das ggf für die Dev geplant ist. Aber ich habe tatsächlich keine Übersicht über das was in der aktuellen Dev schon alles drin ist und was nicht.

Wäre aber eine schlüssige Erklärung gewesen.

Gäbe es eine Warteschlange, sollten dann nicht weitere Karten erkannt werden und nicht wie beim @_Christoph einfach gar nichts mehr passieren? :wink: Aber das wird jetzt hier OT.

Hallo,
ich bin jetzt leider (!) bei der Arbeit und habe keinen Zugriff auf das Gerät. Ich würde viel lieber weiterbasteln. Heute Abend werde ich nochmal genau den Output der Schnittstelle analysieren (jetzt weiß ich ja dass das mp3 weiter abspielen kein Problem ist) und vielleicht mal den Card-Reader tauschen und mit mehreren Karten “üben”. Ich melde mich wieder.

Vielen Dank bereits jetzt für eure Hilfe.
:+1::+1:

Hast Du hier alles schon gecheckt?

Ich würde mal auf Stromversorgung tippen. Hast Du mal eine andere/stärkere Stromquelle probiert?
Vielleicht bekommt der Reader nicht mehr genug Saft, wenn der Player spielt.

Oder Abstand Karte ↔ Reader mal variiert?

Schau auch mal hier:

Oh das Problem kenn ich nur zu gut :wink:

Ich meine in der Libary des RC522 kann man einen Debug-Modus einschalten, dann sieht man manschmal was da los ist. Komme aber gerade nicht dazu am Rechner nachzuschauen, daher ohne Gewähr

So, da bin ich wieder.

Vielen Dank für eure Tipps.

Die Stromquelle schließe ich aus. Die hat 12V und 36W, da ich ein 2.1 System bastel. Den Arduino speise ich direkt mit 12V über VIN. Das Problem besteht aber auch, wenn ich diesen über die USB Buchse am Notebook anschließe.

In einem guten Moment, habe es hinbekommen 3 Karten anzulernen. Der Wechsel zwischen diesen funktioniert im normalen Abspielmodus reibungslos. Im Abspielmodus funktioniert lauter/leiser, pause/play, next/previous.

Das „Chaos“ geht los beim anlernen der Karten. Drücke ich im Pausemodus
lange die Pausetaste, will Unio die Karte löschen. → Ok → Nach Karte auflegen wird diese erkannt → ok → Jetzt bei der Ordnerwahl läuft Uni wahllos durch die Ordner. Mal aufwärts, mal abwärts, mal bestätigt sie die Eingabe, dann geht es genauso bei der Wahl des Abspielmodus weiter (und das alles, ohne das ich auch nur in der Nähe des Tisches bin und wackle, geschweige denn einen Taster drücke).
Alle Massepunkte habe ich nachgelötet (diesesmal sogar die Kabel getauscht) und ohmisch durchgemessen. Soweit passt das. Messe ich im eingebauten Zustand (jaja, ich weiß, das ist nicht wirklich aussagekräftig) den Widerstand zwischen A0/A1/A2 jeweils zu Masse, messe ich jeweils etwa 700 Ohm. Ist das normal und bei euch ähnlich? Bekomme ich das ganze irgendwie Abgebrochen, wird danach keine Karte mehr erkannt.

Wieso tritt der Fehler nur beim anlernen der Karten auf, nicht aber im Abspielbetrieb?
Jemand eine Idee, wie das Niveau an A0/A1/A2 soweit absinkt, dass Unio denkt, der Knopf wird gedrückt?

Also 12V dürften zuviel sein.
Ich sprach eher von 5V und einer höheren Stromstärke.

EDIT: Müsste doch passen:

Poste doch mal Fotos von Deinem Aufbau und die Ausgabe der Konsole. Dann können wir Dir ggf. besser helfen.

Mess mal ob auch wirklich 12V aus Deinem Netzteil rausgehen.
Ich hatte neulich ein 12V Netzteil das 18V geliefert hat. Wäre jetzt niht ganz optimal für den Nano.

Ich würde auch mit dem Abstand zum RFID Reader experimentieren und ggfls, die Taster mal komplett wegmachen.
Imitiere einfach selber einen Tastendruck mit kurzschliessen der beiden Kabel.
So kannst Du zumindest sicher sein, das die Taster nicht das Problem hervorrufen.
Hört sich für mich immer noch nach einem Kontaktproblem an.

Wenn man über den VIN geht gibt es soweit ich weiß eine 500mA Fuse irgendwo im Stromkreis. Das könnte durchaus ein Problem werden! Besser direkt saubere 5 Volt an den 5V Pin (oder USB) einspeisen.

Die 12V funktionieren zwar, dürften aber für den armen kleinen Längsregler auf dem Nano eine ganz schön Herausforderung sein, da diese die überschüssige Energie in Wärme umwandeln muss. ( Bei einem Verbrauch von 200mA bleiben da 1.4W übrig die den Chips heizen.

Die 500mA Sicherung ist auf jeden Fall kein Problem, da diese ja nur auf den Strom und nicht die Spannung anspricht.

Ich habe ein Bild angehängt. Beim ersten verdahten sah das ganze noch ordentlich aus. Inzwischen nach 5 versuchen sieht das ganz schön zerfleddert aus.
Um die Schalter als Fehlerquelle auszuschließen, habe ich diese wieder ausgelötet und neue Kabel verwendet. Der Fehler bleibt.

Die serielle Schnittstelle zeigt keine Fehler.

Da ich die Spannungsquelle ausschließen will, habe ich meine Verstärkerplatinen entfernt, und befeuere nur über USB. Der LS ist jetzt direkt an den Player angeschlossen. Jetzt höre ich nichts mehr. Der Player scheint aber zu funktionieren (LED wird hell bei play). Ich vermute der Player kommt nicht mit 2 Ohm Lautsprechern klar. Hat jemand damit Erfahrung?

Kann dieses ganze Problem mit dem ungewollten Niveau von A0-A1 auf Masse ziehen, durch das Netzteil verursacht werden?

Langsam schwindet echt die Freude.

Hier der Code. Soweit sieht das ordentlich aus, denke ich. Allerdings fällt mir auf, dass der Pauseknopf bei Betätigung keinen Eintrag erzeugt. Lauter und Leiser bei kurzem Druck auch nicht. Ist das normal?
Die COM Error 6 ercheinen, weil Unio wahrlos durch die Ordner springt, und auch zu Ordnern wechselt die nicht existieren. Ich habe bloß zwei Ordner auf der SD-Karte (01 & 02).

Zuerst habe ich eine Karte aufgelegt, dann die Karte gewechselt. Lauter und leise gemacht. Pause und Play gedrückt und dann eine bekannte Karte gelöscht. Irgendwie, ohne dass ich was gedrückt habe, hat das tatsächlich funktioniert und die Karte wurde beschrieben. Am Ende nochmal eine Karte aufgelegt und lauter/leise/pause/play getestet.

TonUINO Version 2.0
(c) Thorsten Voß
Firmware Version: 0x92 = v2.0
Card UID: 41 51 68 20
PICC type: MIFARE 1KB
Authenticating using key A...
Current data in sector:
   1      7   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ] 
          6   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
          5   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
          4   13 37 B3 47  01 01 02 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 

Reading data from block 4 ...
Data in block 4:
 13 37 B3 47 01 01 02 00 00 00 00 00 00 00 00 00

1 Dateien in Ordner 1
Album Modus -> kompletten Ordner wiedergeben
Card UID: 03 D3 A5 21
PICC type: MIFARE 1KB
Authenticating using key A...
Current data in sector:
   1      7   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ] 
          6   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
          5   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
          4   13 37 B3 47  01 01 02 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 

Reading data from block 4 ...
Data in block 4:
 13 37 B3 47 01 01 02 00 00 00 00 00 00 00 00 00

1 Dateien in Ordner 1
Album Modus -> kompletten Ordner wiedergeben
Volume Up
Volume Up
Volume Up
Volume Down
Volume Down
Volume Down
Karte resetten...
Karte wird neu Konfiguriert!Neue Karte konfigurierenTrack beendet270
Track beendet256
Track beendet1
Track beendet2
Track beendet3
Track beendet4

Com Error 6
Track beendet5

Com Error 6
Track beendet4

Com Error 6
Track beendet3

Com Error 6
Track beendet2
Track beendet3

Com Error 6
Track beendet2
Track beendet3

Com Error 6
Track beendet2
Track beendet257
Authenticating again using key B...
Writing data into block 4 ...
 13 37 B3 47 01 02 02 00 00 00 00 00 00 00 00 00

Track beendet268
Card UID: 41 51 68 20
PICC type: MIFARE 1KB
Authenticating using key A...
Current data in sector:
   1      7   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ] 
          6   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
          5   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
          4   13 37 B3 47  01 01 02 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 

Reading data from block 4 ...
Data in block 4:
 13 37 B3 47 01 01 02 00 00 00 00 00 00 00 00 00

1 Dateien in Ordner 1
Album Modus -> kompletten Ordner wiedergeben
Card UID: 03 D3 A5 21
PICC type: MIFARE 1KB
Authenticating using key A...
Current data in sector:
   1      7   00 00 00 00  00 00 FF 07  80 69 FF FF  FF FF FF FF  [ 0 0 1 ] 
          6   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
          5   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 
          4   13 37 B3 47  01 02 02 00  00 00 00 00  00 00 00 00  [ 0 0 0 ] 

Reading data from block 4 ...
Data in block 4:
 13 37 B3 47 01 02 02 00 00 00 00 00 00 00 00 00

1 Dateien in Ordner 2
Album Modus -> kompletten Ordner wiedergeben
Volume Down
Volume Down
Volume Down
Volume Up
Volume Up
Volume Up
Albummodus ist aktiv -> vorheriger Track

`

Also wenn ich das alles so sehe. Mein Rat: Bitte baue TonUINO einmal nach Empfehlung auf. Heißt, ein kleiner 3W Lautsprecher mit 4-8Ohm. Keine Verstärker. Spannung über USB. Idealerweise mit der Platine von Thorsten. Das soll nicht heißen das dir ohne die Platine keiner weiterhilft, aber sie schließt halt diverse Verdrahtungsprobleme aus.

Buttons ganz simpel an A0-A3. Es sieht so aus, als wenn die Firmware bei dir dauernd long press erkennt oder irgendwie sowas. Du nutzt ja master - da ist long press lauter/leiser und short press nächster Track.