Hallo zusammen,
Da ich aktuell „Corona-Urlaub“ habe und somit etwas mehr Freizeit als erwartet, habe ich mir bzw. für meine beiden Töchter auch einen Tonuino nachgebaut. Leider ist mir dann aufgefallen, dass die Powerbank (10Ah) zu schnell leer geht. Ich habe dann mal ein paar unterschiedliche Dinge ausprobiert.
Normaler Stromverbrauch im Betrieb: 60-70mA
Stromverbrauch im Standby: 30mA
Sollte der Tonuino also garnicht verwendet werden, ist er nach ca. 13 Tagen leer, in der Regel war es eine starke Woche.
Ich habe dann zum einen mir den Code angeschaut und dann die einzelnen Komponenten. Dabei ist mir aufgefallen dass der DFplayer nicht richtig einschläft, bzw. im Sleep-Mode nur 2mA weniger benötigt. Also wusste ich, dass ich hier etwas verbessern kann. Außerdem gibt es bei der verwendeten Library des DFplayer keine Wake-Funktion. Da ich die Powerbank komplett in der Box verbaut habe und nicht durch einen extra Schalter trennen wollte, hab ich mir darüber auch ein paar Gedanken gemacht.
Ich verwende einen Arduino Nano. Bei diesem ist gibt es 2 Interrupt Pins um den Deep-Sleep-Mode Hardware-seitig zu unterbrechen. Leider sind Pin 2 und 3 schon belegt. Also musste ich hier etwas am Schaltplan ändern. Um den DFPlayer auch stromsparender zu bekommen, habe ich die Masse (GND) über einen Transistor gesteuert. Dieser wird nun von Pin 8 angesteuert. Somit kann der DFplayer komplett ausgeschaltet werden. Leider kann ich das RFID-Shield nicht auch über die Selbe weise deaktivieren, weil es irgendeine Verbindung zu den Bussen gibt und somit GND unterbrechen nicht das Shield komplett deaktiviert. Außerdem gibt es sehr unschöne Störgeräusche beim DFplayer.
Zusammengefasst ist nun bei mir:
DFplayer RX - Pin 6
DFplayer TX - Pin 5
Schalter zum Deaktivieren des Deep-Sleep - Pin 2
Transistor für DFplayer GND - Pin 8
Wenn nun alles schläft, dann komme ich auf 8mA. Da ich eine Powerbank habe, die sich nicht deaktivert bei <25mA, komme ich nun so auf ca. 50 Tage Standby-Zeit.
Ich musste natürlich auch ein paar Zeilen im Quellcode anpassen. Da muss ich aber noch einmal genau schauen, was ich alles umgebaut habe.
Fazit:
Ich habe nun eine 3x so lange Standby-Zeit und kann mit dieser Lösung über einen Knopf den Tonuino wieder anschalten. Theoretisch wäre es auch möglich über diesen Taster den Deep-Sleep manuell zu aktivieren.
Anbei habe ich einen Schaltplan angehängt wie es nun bei mir aufgebaut ist.
Bei Fragen und Anregungen stehe ich gerne zur Verfügung.
Gruß und schöne Ostern
Felix