Verhindern, dass der Tonuino im Betrieb neu gestartet wird (bei Verwendung eines Tasters zum Einschalten bei automatischer Abschaltung durch Powerbank)

Hallo alle Tonuino-Bastler,
ich möchte hier nur kurz meine Lösung für ein Problem vorstellen, dass eventuell einige hier haben.

Achtung: Es ist in der beschriebenen Schaltung inzwischen ein Defekt am Mosfet aufgetreten (siehe Beitrag weiter unten), daher bitte erstmal nicht nachbauen, jedenfalls nicht ohne tiefergehende Elektronik-Kenntnisse!

Zunächst zum Problem:

Wird zum Ausschalten des Tonuinos der Timer in Kombination mit der automatischen Abschaltung einer Powerbank genutzt, so kann die Powerbank und damit der Tonuino wieder aufgeweckt werden, indem in der Zuleitung zwischen Powerbank und Arduino ein Taster (Öffner) verbaut wird, der den Stromkreis normalerweise schließt, beim Drücken aber kurz unterbricht, sodass ein erneutes Anstecken an der Powerbank simuliert wird.
Soweit, so gut. Blöd ist es aber, wenn die Nutzer noch zu jung sind, um das Konzept so richtig zu verstehen. Oder wenn Geschwister einander ärgern wollen… Dann drücken sie nämlich gegebenenfalls den Taster während des Betriebes, und da hilft dann auch der Krabbler-Modus nicht (weil es ja eine Hardware-Modifikation ist) - der Tonuino geht aus, schaltet sich neu an, und der Fortschritt im Track ist natürlich verloren. Ärgerlich.

Die Lösung:

Parallel zu dem öffnenden Taster kann ein MOSFET verbaut werden, der vom Arduino gesteuert wird. Der Mosfet schaltet durch, wenn er vom Arduino einen high-Pegel auf dem Gate bekommt. Ich nutze dazu den PowerON-Led-Pin in der Software von @marco-117. Ich bin gerade überfragt, ob es etwas entsprechendes in der DEV gibt, aber das wissen sicher andere oder können Hinweise geben, was da wo modifiziert werden müsste.
Die Funktion ist nun so: Solange der Arduino an ist und nicht schläft, ist der Mosfet durchgängig und eröffnet dem Strom damit einen Weg von der Powerbank zum Arduino, am Taster vorbei. Damit hat ein Betätigen des Tasters keinerlei Wirkung mehr. Geht der Arduino nach Ablauf des Timers in den Sleep-Modus oder nach Abschalten der Powerbank ganz aus, sperrt der Mosfet und der Taster erfüllt wieder seine ursprüngliche Funktion zum Einschalten. Funktioniert bei mir prima.

Genaue Infos zum Bauteil und eine Skizze liefere ich nach, wenn ich mal wieder mehr Zeit habe - mit Glück heute Abend…

Sollte es den Tipp schon irgendwo geben, bitte einen kurzen Hinweis an mich - dann lösche ich den Beitrag oder verlinke den entsprechenden Thread, damit er leichter gefunden werden kann. Ich bin bisher noch nicht drüber gestolpert und habe auch mit der Suche auf die Schnelle nichts gefunden.

Viel Spaß und viele Grüße!

Die Idee gefällt mir. Wenn man ein solches Problem hat, ist das sicher eine sehr gute Lösung. Das Problem kann ja auch nicht nur bei einem Öffner, sondern auch bei einem Schalter auftreten. Dann ist dein Aufbau sicherlich hilfreich. Um deine gute Idee noch zugänglicher zu machen:

Für die DEV kann der ShutdownPin (D7) genutzt werden. Das Verhalten muss nur umgedreht werden.
Also im setup High statt Low


und beim Abschalten Low statt High schreiben.

Nachdem die Schaltung jetzt etwa zwei Wochen funktioniert hat, ist nun offenbar der Mosfet kaputt - jedenfalls hat er dauerhaft Durchgang unabhängig von der Gate-Source-Spannung. Da ich noch nicht weiß, woran das liegt, würde ich erstmal niemandem empfehlen, die Schaltung so wie beschrieben umzusetzen! Glücklicherweise hatte ich den Mosfet auf einer Lochrasterplatine und mit Pins versehen, sodass ich ihn nun durch Umstecken einfach wieder rausnehmen konnte - dann funktioniert die Box wie zuvor, versehentlicher Neustart wird nur eben nicht mehr verhindert.
Ich melde mich wieder, falls ich den Grund für den Defekt finden sollte. Das kann aber dauern, momentan ist hier recht wenig Zeit…

Ich glaube ich bin hier an etwas großem dran.
Gestern beim Gassi gehen kam mir DIE Idee, schreibt mal bitte, wo mein Denkfehler ist, denn irgendwie kommt es mir zu primitiv vor.

Arduino, DFPlayer, … kommen alle direkt an die 5V der Powerbank. Die Powerbank befindet sich in ihrem normalen ausgeschaltetem Zustand.
Um sie aufzuweckn, benötige ich den Moment, dass ein Verbraucher angesteckt wird.
Und den bekomme ich doch einfach simuliert, indem ich einen 100 Ohm Widerstand anklemme, der lässt 50mA fließen.

Einschaltung

Die Powerbank wird wach, gibt die 5V frei und der Arduino läuft los.

Ich kann den Taster wieder loslassen, der Strom des TonUINOs reicht um wach zu bleiben, durch die spätere Abschaltung der Powerbank habe ich auch genügend Zeit Verbraucher anzuwerfen um genügend Strom zu verbrauchen.
Drückt jemand nochmal den Taster, werden 0,25W verschenkt, die sollte der Widerstand abkönnen. Dem TonUINO ist der Tastendruck aber völig egal.
Sicher ist das keine Variante für ein Kind das gerne Knöpfe drückt und hält, aber auf jeden Fall eine einfache Variante einen Schließer als Einschalter zu nutzen.

Heute morgen habe ich an meiner NuggetBox mal schnell einen 100Ohm dran gehalten, der Laderegler sprang an, könnt ihr eure Powerbanken bitte auch mal testen?

Diesen habe ich verbaut.

Liebe Grüße

1 Like

Das ist abhängig von der Powerbank sehr unterschiedlich
Viele powerbaenke müssen vor dem wieferaufwecken vollständig vom Verbraucher getrennt werden
Deshalb kann das nicht in jedem Fall so funktionieren.

Oh, dann muss ich meine nochmal testen, denn ich habe ja die ganzen Verbraucher auch getrennt.

Meine leider auch :pensive: