Tonuino stoppt abspielen nach paar Sekunden

Ich habe immer wieder (alle paar Wochen) folgendes Problem: Ich lege eine Karte auf, dann fängt er an abzuspielen hört aber nach ein paar Sekunden wieder auf.

Die Lösung des Problems ist es alle MP3s einmal neu aufzuspielen dann geht’s wieder für ein paar Wochen.

Dachte erst die SD-Karte ist kaputt und habe diese getauscht. Vielleicht braucht’s eine spezielle SD-Karte? Oder sonst was das ich machen kann? Ist das Format der MP3s vielleicht nicht das richtige?

Leider wissen wir über deinen TonUINO fast nichts. Von diesem Fehlerbild wurde bisher noch nicht berichtet.

Ich versuche, etwas sinnvoll im „Nebel des Fehlers“ herumzustochern:

  • Da der TonUINO ja über eine ganze Zeit vernünftig zu laufen scheint, ist ein fehlerhaftes Format der mp3-Dateien auszuschließen und wir müssen nach einer Ursache suchen, die erst mit der Zeit wirksam wird.
  • Wenn der Fehler auftritt, scheint er ja durchaus permanent bzw. reproduzierbar zu sein. In diesem Fall wäre es wichtig, die Konsole zur Fehleranalyse zu benutzen. Hier könnte man dann sehen, ob die Wiedergabe tatsächlich von der Software abgebrochen wird oder ob ein Fehler vorliegt, der im DF-Player liegt.
  • Solch ein Fehler mit einer derartigen Zeitkomponente deutet auch schon Mal auf eine nicht perfekte Verbindung, deren Übergangswiderstand sich mit der Zeit bis zum Ausfall verändert (Stichwort: „kalte Lötstelle“). - Da Du ja den TonUINO vermutlich öffnen musst, um die SD-Karte zu entnehmen und neu zu bespielen komt dabei Bewegung, welcher Art auch immer, auf die Verbindungsleitungen und das Neu-bespielen der Karte ist überhaupt nicht die eigentlich wirksame Abhilfe sondern die Bewegung in den Verbindungsleitungen.
  • Bleiben wir bei den Verbindungsleitungen, wären zunächst die Leitungen zur Spannungsversorgung (+5 V und GND) des DF-Players im Fokus. Ebenso wichtig auch die Busy-Leitung vom DF-Player zum Arduino (D4). Über diese Leitung signalisiert der DF-Player der Software, dass das Abspielen des Tracks beendet ist.

Für weitere Analysen zeige uns doch den Aufbau des TonUINO und beschreibe, ob Du steckbare Verbindungen oder verlötete verwendet hast.
Mit welcher Art von Stromversorgung arbeitest Du?

Hi Nobi,

Danke für deine ausführliche Antwort!

Ich würde erstmal abwarten bis der Fehler wieder auftritt und ihn dann per USB mit der Konsole verbinden damit ich mehr Hinweise liefern kann.

Ich habe einen TonUINO All-In-One Plus Platine Plug&Play also zum Anstecken und einem EREMIT LiIon Akku.

Ausserdem musste ich folgende Einstellungen setzen damit bei der Firmware nicht immer der missing OnPlayFinished Fehler beim Abspielen kommt:

diff --git a/src/constants.hpp b/src/constants.hpp
index 1f10c03..d0f9015 100644
--- a/src/constants.hpp
+++ b/src/constants.hpp
@@ -589,11 +589,11 @@ inline constexpr uint8_t       maxTracksInFolder        = 255;
 inline constexpr uint8_t       dfPlayer_busyPin         = 4;
 inline constexpr levelType     dfPlayer_busyPinType     = levelType::activeLow;
 #if defined(DFMiniMp3_T_CHIP_MH2024K24SS_MP3_TF_16P_V3_0)
-inline constexpr unsigned long dfPlayer_timeUntilStarts = 2500;
+inline constexpr unsigned long dfPlayer_timeUntilStarts = 3000;
 #elif defined(DFMiniMp3_T_CHIP_GD3200B)
-inline constexpr unsigned long dfPlayer_timeUntilStarts = 2500;
+inline constexpr unsigned long dfPlayer_timeUntilStarts = 3000;
 #else
-inline constexpr unsigned long dfPlayer_timeUntilStarts = 1200;
+inline constexpr unsigned long dfPlayer_timeUntilStarts = 3000;
 #endif

 // ####### tonuino #####################################
@@ -658,7 +658,7 @@ inline constexpr HardwareSerial &dfPlayer_serial         = Serial3;
 inline constexpr uint8_t        maxTracksInFolder        = 255;
 inline constexpr uint8_t        dfPlayer_busyPin         = 13;
 inline constexpr levelType      dfPlayer_busyPinType     = levelType::activeLow;
-inline constexpr unsigned long  dfPlayer_timeUntilStarts = 1200;
+inline constexpr unsigned long  dfPlayer_timeUntilStarts = 3000;
 inline constexpr uint8_t        dfPlayer_noHeadphoneJackDetect     = 21;
 inline constexpr levelType      dfPlayer_noHeadphoneJackDetectType = levelType::activeLow;

@@ -724,7 +724,7 @@ inline constexpr uint8_t       dfPlayer_transmitPin     = 3;
 inline constexpr uint8_t       maxTracksInFolder        = 255;
 inline constexpr uint8_t       dfPlayer_busyPin         = 4;
 inline constexpr levelType     dfPlayer_busyPinType     = levelType::activeLow;
-inline constexpr unsigned long dfPlayer_timeUntilStarts = 1200;
+inline constexpr unsigned long dfPlayer_timeUntilStarts = 3000;

 // ####### tonuino #####################################

@@ -792,11 +792,11 @@ inline constexpr uint8_t       maxTracksInFolder        = 255;
 inline constexpr uint8_t       dfPlayer_busyPin         = D4;
 inline constexpr levelType     dfPlayer_busyPinType     = levelType::activeLow;
 #if defined(DFMiniMp3_T_CHIP_MH2024K24SS_MP3_TF_16P_V3_0)
-inline constexpr unsigned long dfPlayer_timeUntilStarts = 2500;
+inline constexpr unsigned long dfPlayer_timeUntilStarts = 3000;
 #elif defined(DFMiniMp3_T_CHIP_GD3200B)
-inline constexpr unsigned long dfPlayer_timeUntilStarts = 2500;
+inline constexpr unsigned long dfPlayer_timeUntilStarts = 3000;
 #else

Da sollten die Verbindungen eigentlich sicher und gut sein, aber selbst bei professionellen Platinen sind „kalte Lötstellen“ nicht ganz ausgeschlossen.

Eigentlich per se schon ungewöhnlich für die AiO Plus und die Firmware.
Mit welcher Version der Firmware bist Du da unterwegs?

Ich hab jetzt am Wochenende auf die aktuellste geupdated.

Es ist schon eigenartig, dass du bei der AiOplus solche Probleme hast. Auch, dass du die Timeouts hochsetzen musstest. Ich würde da aber ziemlich sicher auf ein Problem mit der SD-Karte tippen.
Wieviel Ordner hast du denn auf der Karte und wieviel Dateien sind in den Ordnern? Wie lang sind die Namen der mp3 Dateien? Und, hast du es schon mal mit Fatsort probiert? Welche SD-Karte (Marke) hast du eigentlich?

Ich hab die Karte vor einer Weile getauscht und das hat geholfen aber nach einer Weile kam das Problem wieder. Es ist eine SanDisk Extreme PRO 32GB V30 also jetzt nicht die schlechteste. Falls es eine gibt die besonders kompatibel ist würde ich das aber probieren, gerne her mit den Tipps!

Neben advertund mp3 hab ich gar nicht so viel:

/Volumes/TONU/01
/Volumes/TONU/01/001.mp3
/Volumes/TONU/01/002.mp3
/Volumes/TONU/01/003.mp3
/Volumes/TONU/01/004.mp3
/Volumes/TONU/01/005.mp3
/Volumes/TONU/01/006.mp3
/Volumes/TONU/01/007.mp3
/Volumes/TONU/02
/Volumes/TONU/02/001.mp3
/Volumes/TONU/03
/Volumes/TONU/03/001.mp3
/Volumes/TONU/04
/Volumes/TONU/04/001.mp3
/Volumes/TONU/05
/Volumes/TONU/05/001.mp3
/Volumes/TONU/05/002.mp3
/Volumes/TONU/05/003.mp3
/Volumes/TONU/06
/Volumes/TONU/06/001.mp3
/Volumes/TONU/07
/Volumes/TONU/07/001.mp3
/Volumes/TONU/07/002.mp3
/Volumes/TONU/07/003.mp3
/Volumes/TONU/08
/Volumes/TONU/08/001.mp3
/Volumes/TONU/09
/Volumes/TONU/09/001.mp3
/Volumes/TONU/09/002.mp3
/Volumes/TONU/09/003.mp3
/Volumes/TONU/09/004.mp3
/Volumes/TONU/09/005.mp3
/Volumes/TONU/10
/Volumes/TONU/10/001.mp3
/Volumes/TONU/11
/Volumes/TONU/11/001.mp3
/Volumes/TONU/12
/Volumes/TONU/12/001.mp3
/Volumes/TONU/12/002.mp3
/Volumes/TONU/12/003.mp3
/Volumes/TONU/12/004.mp3
/Volumes/TONU/12/005.mp3
/Volumes/TONU/12/006.mp3
/Volumes/TONU/12/007.mp3
/Volumes/TONU/13
/Volumes/TONU/13/001.mp3
/Volumes/TONU/14
/Volumes/TONU/14/001.mp3
/Volumes/TONU/14/002.mp3
/Volumes/TONU/14/003.mp3
/Volumes/TONU/14/004.mp3
/Volumes/TONU/14/005.mp3
/Volumes/TONU/15
/Volumes/TONU/15/001.mp3

Und zur Sicherheit jetzt nochmal alle mit ffmpeg -y -v error -i „$f“ -ar 44100 -ac 2 -b:a 128k -map_metadata -1 -write_xing 0 -id3v2_version 0 -f mp3 „$tmp“kodiert. Fatsort hab ich auch laufen lasse und dot_clean auf macos ausgeführt. Bisher läuft alles mal abwarten…

Ok, dann warte mal, bis es wieder auftritt und schicke ein Log (bitte mit Zeitstempel).

…nur weil ursprüngliche Fehlerbeschreibung mich an mein „Kondensatorproblem“ erinnert:

Tritt das Problem auch bei niedrigen Lautstärken auf?

Falls es nicht das Dateiformatencoding oder die SD-Karte ist, hast Du Pufferkondensatoren parallel zur Stromversorgung (+/- vom Arduino zur MP3 Platine) in Verwendung?

Bei mir waren Elkos mit 2000 µF für kleine Lautsprecher (und 3600 für eine größere Box) notwendig, sonst stoppte auch bei mir das Abspielen nach ein paar Sekunden.

Hängt sich Deine Schaltung auf, oder bricht sie nur das Abspielen ab? (zB andere Karte neu auflegen, spielt wieder?)

Ich drück’ die Daumen, dass Du so oder so den Fehler finden und beheben wirst. :slight_smile: