Erstmal vielen Dank an die Community für die rundum sorglos Lösung für den frustfreien Nachbau. Die größte Herausforderung lag in der Umsetzung eines passenden Gehäuses. Die Elektronik, einfach wie Malen nach Zahlen. Software lief auf Anhieb. Aber das wäre doch zu einfach gewesen ;o).
Entsprechend möchte ich meinen Beitrag mit einem Ansatz zur energetischen Sanierung leisten.
Aufhänger war der gefühlt hohe Ruhestrom der Schaltung von fast 70 mA in PAUSE, fürs Nichts tun gegen knapp 82 mA im PLAY (ohne Lautsprecher). Und der Ehrgeiz günstigen Werbegeschenk Powerbanks (im Folgenden PB) mit knapp 2000 mAh aus der Restekiste ein sinnvolles Dasein zu geben.
Auch aus Gewichtsgründen. Eine Box, die mit 250g PB im Parkett einschlägt hinterlässt andere Spuren wie eine mit 60g PB.
Hinzu kam die Diskussion über Pegelanpassungen wegen sporadisch defekter RFID Module (3,3V Spannungsversorgung aber 4,xV auf den IO Signalen?!) und Störgeräusche des DF-Players hier im Forum, weil auch der nicht wirklich 5V Nennspannung hat, gern mal brummt und beim Einschalten so ein „nettes“ Zirpen von sich gibt.
Siehe: Brummen aus dem Lautsprecher
Schon deswegen macht es Sinn, die Spannungslevel abzusenken und zu vereinheitlichen. Und Strom spart es auch.
Damit hatte ich dann auch Blut geleckt, auf der Jagt nach Laufzeit und mA.
Letztlich gibt es 3 Ansätze:
1.) Abschalten was man grad nicht braucht. Und grad ist eben jetzt, und nicht wieder in 250 ms. Also dynamisch abschalten.
2.) Spannung runter, weil die hohe Spannung treibt teils sogar exponentiell die Ströme hoch und macht wie oben erwähnt auch diverse Probleme.
3.) ggf. Taktfrequenz runter. Wir haben ja quasi ewig Zeit. Was soll der Stress ;o).
Bestandsaufnahme zur Stromaufnahme Originalaufbau:
Arduino NANO (mit passivem USB-Treiber, also ohne laufende Kommunikation) + MP3-Player + RFID Reader bei direktem Anschluss über 5V Pin mit 5V aus USB Powerbank @16 Mhz
PAUSE: ca. 68,8 mA
Im PLAY: ca. 82 mA (Lautsprecher bewusst abgezogen, weil die Last bei jedem anders sein wird).
Dabei entfallen auf:
Arduino Nano: ca. 38,8 mA (davon ca. 4 mA USB Treiber IC, ca. 2,5 mA LED's)
NFC Modul: ca. 15,8 mA (+6 mA wenn die Karte aufliegt)
MP3 Modul in Pause: ca. 14,1 mA (Davon ca. 6 mA Ruhestrom des Verstärker ICs)
MP3 Modul in Play: ca. +12,7 mA
Für das Erfassen der Differenzen, habe ich einfach den Vcc des jeweiligen Moduls getrennt. Der NANO hatte also belastete IO Treiber, auch wenn keiner drauf reagiert. Gemessen immer auf 5V Ebene direkt am Ausgang der PB.
Was auffällt:
Der Unterschied zwischen PAUSE, also dem Warten auf Bedienung, und Betrieb im PLAY sind gerade mal 12 mA. Der Grundbedarf fürs nichts tun ist mit knapp 70 mA relativ hoch.
Zu Lösungsansatz 1.) Dynamische Abschalten:
Funktional betrachtet brauchen wir im PLAY nur das MP3 Modul (ca. 27 mA). Den Rest der Komponenten (ca. 55 mA) können wir temporär abschalten und nur gelegentlich wieder wecken um z.B. alle 250 ms nach neuen Bedienhandlungen oder einer Karte zu schauen. Der Player läuft derweil unabhängig weiter.
Einsparpotential bezogen auf Ansatz 1.):
- 14 mA durch Abschalten des Players im Standby (davon entfallen ca. 6 mA allein auf den Standby des Verstärkers).
- Durchgängig 55 mA für einen Großteil der Laufzeit, durch Nutzung von Schlaffunktionen, weil es reicht, alle 250 ms, für wenige ms nach dem Rechten zu schauen.
- Statisches Abschalten nicht benötigter Prozessorfunktionen (z.B: Timer, Watchdog, Interne Spannungsreferenzen usw.) und nicht benötigter Peripherie (USB Treiber, LED’s)
Ums kurz zu machen:
- Dynamisches Abschalten des DF-Players scheidet aus: Die Initialisierung dauer deutlich zu lange ( >> 1s). Der Sleep Befehle ist eine reine Tastensperre. An der Stromaufnahme ändert sich nichts. Lediglich Disable DAC bringt gute 3 mA. Nachteil: Egal was man abschaltet, er vergisst die letzte „Pause“. Man kann also auch gleich den Tonuino komplett abschalten und neu starten. Hier bietet es sich also nur an nach Titelende den DAC auszuschalten, damit man das Pausieren bei PAUSE weiter funktioniert.
- Dynamisches Abschalten des Verstärkers (6 mA) im STOP oder PAUSE: Funktioniert hervorragend. Keine Initialisierungsgeräusche, keine Rauschen in Pausen. Einschaltverzögerung ca. 500 ms vor Track start ist vertretbar. Zudem löst es diverse lästige Eigenschaften des DF-Players nachhaltig.
- Dynamisches Abschalten des RFID Readers: Funktioniert hervorragend. RFID Power UP -> Karte auselesen -> Karte merken -> Karte Abmelden -> RFID Power Down. Nach 250 ms wieder von vorne. Spart satte 16 mA + 6 mA wenn die Karte grad drauf liegt.
- Dynamisches Abschalten des NANO (Deep Sleep): Funktioniert hervorragend. Entsprechenden Code Modifikationen (Loop fähiges Programm) vorausgesetzt. Watchdog Wakeup -> Tasten auslesen -> RFID Lesen -> Programm einmal durchlaufen -> Tiefschlaf für 250 ms. Spart satte ca. 30 mA. Die Restlichen 8 mA entfallen auf LED’s, Spannungsregler und USB Treiber IC.
- Nicht benötigte Prozessorfunktionen abschalten: Funktioniert hervorragend. TIMER 1/2, Watchdog, AD-Wandler, interne Spannungsreferenz, TWI aus. 3 Zeilen Code im Setup -1,5mA.
- LED’s Abschalten: Geht einfach, lohnt sich aber nur bei der LED des RFID Readers. Die zeigt letztlich keinen Status an und ist verzichtbar und relativ hungrig. Ein Schnitt mit dem Teppichmesser zwischen LED und Vorwiderstand => -1,3 bzw. -2,5 mA. Die vom DF-Player und dem Nano liegen unter 1 mA und sind für die Diagnose hilfreich. Das lohnt nicht.
- USB Treiber IC abhängen oder über USB versorgen: Technisch aufwendig. Wenig Ertrag, da Leckströme über RX und TX aus dem ATMEL das Ergebnis stark schmälern.
Zu Lösungsansatz 2.) Spannungsabsenkung:
Mit Blick aufs Datenblatt des ATMEL, zeigt sich, dass der Stromhunger des ATMEL mit der Spannung quadratisch ansteigt und mit der Frequenz linear. Das gilt letztlich auch für den MP3 Decoder auf dem DF-Player. Auch auf Nebenverbraucher wie LED’s wirkt sich eine Spannungsabsenkung günstig aus. Im Hinblick auf die Pegelanpassungsprobleme kommt uns das gerade recht. Gehen wir generell mit der Spannung runter, sparen wir ordentlich Strom und sind zudem die Pegelgefälle (und die Probleme die damit einhergehen) los.
Um den Effekt zu verdeutlichen: Wenn man die 5V USB PB statt über den 5V Anschluss über den Vin Anschließt, und damit über den Spannungsregler geht, kassiert man einen Spannungsabfall auf ca. 3,9 V für alle Komponenten. Damit fällt der Stromhunger bereits von ca. 69 mA in PAUSE um knapp 14 mA. -20% für lau. Klar der Spannungsregler regelt dann nicht mehr, der schaltet auf Durchzug. Aber das ist bei eine geregelten Eingangsspannung von 5V über die PB auch gar nicht relevant.
Das schöne bis hier hin: Man muss an dem aktuellen Aufbau prinzipiell fast nichts ändern. Bis auf die Abschaltung des Verstärkers und die Speisung über VIN sind das alles Softwarefunktionen. Und schon damit kommt man auf unter 30 mA eff. Strombedarf mal eben halbiert.
Die Verstärkerabschaltung ist für den Tonuino AIO auch schon vorhanden, und für den Klassik lässt es sich (leicht) nachrüsten. Siehe Bild im Anhang und Beschreibung am Ende.
ABER ich empfehle:
-> > 200µF DIREKT am Spannungseingang des DF-Players
-> KURZE Leitungen von PB -> Nano -> DF-Player. KURZ bedeutet <10cm zur PB. Zwischen Nano und DF-Player so kurz wie möglich.
-> Richtige Kupferleitung mit mehr Querschnitt
Warum: Es hat sich immer wieder gezeigt das der DF-Player sensibel gegen Unterspannung ist. Minimum laut Datenblatt 3,1 V. Wenn der Verstärker einen Basshub macht und spontan „ordenlich“ Strom zieht, gräbt er dem MP3 Decoder kurz die Spannung ab. Der steigt aus, mit den üblichen Symptomen. Daher ist für Ansatz 2 eine solide Spannungsversorgung des Players wichtig.
Ich habe das auf die Spitze getrieben:
Einen 3,3 V Spannungsregler im NANO eingesetzt. Ziemlicher Fummelkram. Aber man kann natürlich auch einen externen Regler über den 5 V Eingang verwenden. Das bringt dann nochmal ca. 8 mA auf < 35 mA im PLAY und < 23 mA in PAUSE und hat gereicht, um die PB in PAUSE in die Abschaltung zu treiben. Mein Tonuino bräuchte jetzt einen Neopixel, um am Leben zu bleiben. Aber der liefe jetzt Strombedarfsmäßig quasi umsonst mit.
Bei der Absenkung auf 3,3 V habe ich jedoch das Verstärker IC vom MP3 Decoder abgekoppelt und direkt mit 5 V versorgt, um volle Leistung am Verstärker zu behalten und die oben beschriebene Wechselwirkung bei Spannungsschwankungen zu unterbinden. Siehe Bild anbei und Beschreibung am Ende.
Zu 3.) Taktfrequenz reduzieren 16 auf 8 MHz:
Bei der Taktfrequenz könnte man nun abwägen. Höherer Takt heißt gleiches Programm in kürzerer Zeit, heißt längere Power Down Phasen. Mehr Ersparnis. Oder langsamer Takt, weniger Strom, aber längere Programmlaufzeit. Was mehr wiegt, schwer zu sagen. Der ATMEL ist bei 3,3 V bis max. 8 MHz spezifiziert. Bei mir laufen die 16 MHz stabil. Lass ich so.
Nachfolgend für interessierte meine Messdaten:
Die Tabelle ist so zu lesen, dass von oben nach unten zusätzliche Maßnahmen ergriffen wurden. Soweit nicht anders angegeben, mit statisch aufliegender RFID Karte und ohne Lautsprecher. Verstärker wie nachfolgend beschrieben vom MP3-Decoder getrennt und direkt an 5 V der PB.
Stromwerte in mA: Playing Paused AmpOff DACDisable
Original via 5V USB aktiv 82,0 75 71,5 68,5
Original via 5V USB inaktiv 77,5 71,4 67,8 65,0
Original 5V via VIN (3,9V) USB aktiv 69.0 61,4 57,9 55,0
Original 5V via VIN (3,9V) USB inaktiv 66,1 58,4 54,8 51,9
PRR, ADC, Timer, Watchdog OFF 64,9 57,0 53,3 50,4
Bei 5V via VIN (Spannungsabfall auf 3,9V)
RFID LED OFF 61,5 53,8 50,0 47,1
NANO POWER LED 60,7 53,1 49,3 46,3
NFC SwPower Down 2s Pause* 34,5 26,2 21,8 18,8
ATMEL Power Down 2s Pause* 28,8 20,3
NFC + ATMEL PW Down 120ms** 35,5 27,2 - -
USB Treiber separiert 31,5 23,5
Mit 3,3V Spannungsregler
3,3V Spannungsregler 62,4 55,1 51,0 47,8
3,3V RFID LED OFF 61,2 53,8 49,7 46,5
3,3V ohne RFID Karte 54,8 47,1 42.9 39,7
NFC SwPower Down 2s Pause* 32,5 24,8 20,3 17,1
ATMEL Power Down 2s Pause* 27,8 20,0 15,5 12,3
NFC + ATMEL PW Down 120ms** 34,6 27,0 22,8 19,9
*) Power Down auf 2s gestreckt um quasi statisch Messung machen zu können
**) Messtechnisch nicht sauber erfassbar. "Effektivwert"? auf dem Multimeter.
Fazit Stromreduktion je Maßnahme:
Differenz via 5V zu VIN ca. 13 mA
USB Treiber ca. 3-4 mA
Differenz Play / Pause ca. 7 mA
Verstärker abschalten ca. 3,5 mA (Verstärker immer direkt an 5V PB)
DAC Abschalten ca. 2,9 mA
DF-Player Sleep kein Effekt
PRR, ADC, Timer, Watchdog OFF ca. 1,5 mA
Absenkung 3,3V ca. 2,5 mA
RFID LED OFF ca. 2,5 mA@5V; 1,3 mA@3,3V
NANO Power LED ca. 0,7 mA@5V;
SwPowerDown RFID & ATMEL ca. 26.6 mA?! Eff.
Umbau DF-Player für Verstärker Abschaltung:
Das Verstärker IC unterstützt einen Powerdown Mode über einen Shutdown Pin. In folgendem Block sehr schön beschrieben. Blitter Nasty: DFPlayer MP3 module - high quiescent power consumption and clicks when power applied and removed - FIX!.
Ich habe die Variante erweitert und den 0 Ohm Widerstand nicht auf das Nachbar Pad zur Verbindung mit Busy gelötet, sondern zur freien Verwendung heraus geführt. Der Pin 9 (IO1) des DF-Players und dessen Vorwiderstand liegen verführerisch nah neben der alternativen Platzierung des 0 Ohm Widerstandes. Den Pin 9 benötigt der Tonuino zudem nicht. Man kann also sehr einfach den Shutdown für dem Verstärker auf PIN 9 legen und somit für den NANO zugänglich machen. Man muss hierzu nur den Vorwiderstand für Pin 9 (IO1) des DF-Players entfernt und den 0 Ohm Widerstand auf der alternativen Platzierung um 90° drehen.
Umbau DF-Player getrennte 5V Versorgung Verstärker IC:
Auch hier liegt der 5V Pin des Verstärker IC’s direkt gegenüber dem Vorwiderstand von Pin 11 (IO2). Prädestiniert, um die Spannungsversorgung des IC’s über Pin 11 heraus zu führen. Auch der Pin wird vom Tonunino nicht verwendet. Hierzu habe ich den Vorwiderstand von Pin 11 (IO2) des DF-Players entfernt und eine Brücke zum IC eingesetzt.
Dazu folgende Schritte durchführen:
- Zur Trennung der Spannungsversorgung von Decoder IC und Verstärker IC genügt es die im Bild markierte VIA z.B. mit einem feinen scharfen Bohrer per Hand leicht raus zu drehen. Mit Durchgangsprüfer prüfen! Dann sind die Potential getrennt. Decoder IC und Verstärker IC können dann auf zwei getrennten Spannungsebenen laufen.
- Vorwiderstand von Pin 11 des DF-Player Moduls entfernen
- Pin 6 vom Verstärker IC auf das frei gewordene Pad des Pin 11 des DF-Player Moduls brücken.
- Bei der Gelegenheit gleich einen 10 µF + 100 nF gestapelt als Block Kondensator zwischen Pin 6 (Vcc) und Pin 7 (GND) des Verstärker IC platzieren. Johannes hatte das in seinem Beitrag eingebracht. Das mit dem Stapeln von 10 µf und 100 nF macht zwar bei einer Bauteiltolleranz von 10% auf den ersten Blick keinen Sinn. Aber ich habe mir erklären lassen, dass der 10 µF keine guten Hochfrequenzeigenschaften hat. Der ist also quasi nur fürs Grobe. Daher gibt man ihm noch mal einen kleinen 100 nF dazu, der sich dann um hochfrequente Störungen kümmert. Wieder was gelernt.
- Den Pin 11 legt man dann direkt auf die 5 V der USB Power Bank. Dabei auf kurze Wege und dicke Drähte achten. Ich habe zusätzlich direkt an PIN 10 und PIN 11 des DF-Players noch einen 200µF Kondensator platziert.
- Der Original VCC Pin 1 des DF-Players wird dann mit der reduzierten Spannung versorgt. Auch hier habe ich noch extern direkt am Pin 47 µF zur Stabilisierung spendiert.
Inspiriert von Johannes habe ich dann noch den DF-Player etwas optimiert.
Siehe: Brummen aus dem Lautsprecher
- Erhöhung des Bypass Kondensators für Unterdrückung von Pop und Klick geräuschen beim Einschalten (Huckepack +10 µF +100 nF) wie von Johannes vorgeschlagen. Verzögert das Einschalten des Verstärker IC’s auf ca. 900 ms. Habe es daher später auf 4,7 µF +100 nF korrigiert, um den Vorgang schneller zu gestalten.
- 10 µF Block Kondensator direkt am Verstärker IC zwischen VCC und GND zur Stabilisierung + 100 nF huckepack für Entstörung (siehe oben).
- Halbierung der Verstärkung durch Reduktion des Feedback Widerstandes 51K auf die Hälfte (einfach noch mal 51K huckepack drauf). Vorteil dieser Variante gegenüber dem Vorschlag von Johannes ist, dass man den Hochpassfilter am Eingang nicht verstimmt. Generell reduziert diese Maßnahme das Rauschen und ermöglich auch nächtliche Einschlafgeschichten in Flüsterlautstärke auf Volume Stufe 1.
Details zum Umbau siehe Bild anbei.
In Summe: Es gibt Einsparpotential. Ggf. auch was für die neue TONUINO Software?