Power Switch via Push-Button

Also ich versuche das nochmal zu erklären. Du möchtest via play/pause die Box einschalten.

Der Pololu Switch bietet verschiedene Eingänge. A+B kannst du nicht nehmen, weil dann die Box bei jedem Tastendruck auf play/pause an bzw. aus geht. So wie TonUINO momentan beschaltet ist, kannst du ON aber auch nicht nehmen weil dieser Eingang auf HIGH Pegel schaltet unsere Buttons (genauer: die Verschalung selbiger) aber LOW aktiv sind. Sprich sie ziehen wenn man drückt die Arduino Pins auf GND. Aus diesem Grund hat @ChristianHermes einfach einen weiteren Button verbaut.

1 „Gefällt mir“

Verstehe, sehr schade!
Dann schicke ich die Pololu Switches ggf. wieder zurück und beschäftige mich mal näher mit Jens Schaltung (CubieKid).

Ich werde mir das anschauen.

Zurückschicken wird sich für ein 4 Euro Produkt nicht lohnen - da zahlst du ja mehr Versandkosten.

Jens hat einige Dioden eingebaut damit alle Buttons parallel verwendet werden können. Um nur einen Button zu verwenden müsste ich mal schauen den halt mit PULL_DOWN anstelle von PULL_UP zu verwenden. Wie gesagt, ich bleibe dran (nachdem die Platinen verschickt wurden! Sind gerade aus dem Zoll raus und kommen hoffentlich noch heute Abend oder halt morgen hier an.)

2 „Gefällt mir“

Ansonsten wäre ja ein 4. Button/Schalter hinten an der Box auch nicht tragisch. Hab ich ja an der ein oder anderen Box hier schon schicke Versionen gesehen. In Silber usw.

Jens hat in seinem Cubiekid schon mal eine interessante Schaltung mit Selbsthaltung eingebaut, die mit sechs Dioden zur Entkopplung der drei Tasten dient (ähnlich Wired Or). Damit startet Cubiekid beim Druck auf eine der Tasten den vorgeschalteten P-FET, der die Versorgungsspannung auf den Arduino gibt. Und der wiederum aktiviert über einen gepufferten Pin ein externes RS-Flipflop. Der Arduino kann sich dann nach Ablauf einer wählbaren Zeit bei Inaktivität wieder abschalten
Ich hatte ihm auf seiner Github-Seite schon vorgeschlagen, dieses RS-Flipflop durch einen Transistor zu ersetzen, aber das war wohl mitten in der Umstellung auf seine neue Projekt-Seite und ist daher verloren gegangen.
Eine weitere Verbesserung dort wäre bei Verwendung von Primärzellen die von ihm vorgesehene Verpolschutzdiode wegzulassen, weil der P-FET schon Verpolungsschutz ist (so etwas wird in der Automobil-Branche verwendet). Wenn das vorher vorgesehene RS-Flipflop entfallen kann, ist nur der Gatewiderstand in der negativen Zuleitung.

Aus meiner Sicht spricht nicht dagegen, diese Ideen auch beim Tonuino einzubauen. Es spart den zusätzlichen Einschalter, außerdem gibts die automatische Abschaltung nebenbei mit.

Ich fürchte 90% der Leute die das lesen verstehen nur Bahnhof. Wer sowas machen will/kann soll es tun. Ich werde ja auch Support dafür in die Firmware einbauen aber eher für das fertige Modul was hier gestern genannt wurde.

TonUINO ist und bleibt für jeden. Ich denke gerade darum ist das Projekt doch recht erfolgreich. Eine Platine, ein paar fertige Module drauf und noch selber kreativ mit der Box werden… Zack fertig und man kann ganz stolz behaupten: hat Papa oder Mama gebaut.

Es gab vorher schon viele Lösungen die genau die Richtung von der du sprichst eingeschlagen haben. Warum unser Projekt hier so viel mehr Zuspruch erfahren hat wird denke ich an der Einfachheit liegen.

Bitte nicht falsch verstehen, ich bin dankbar für den Input und die Diskussion - hier soll aber niemand verschreckt werden oder sich ausgeschlossen fühlen… JEDER SO WIE ER ODER SIE KANN ist und bleibt das Motto!

6 „Gefällt mir“

Finde ich gut.
Wenn das eigentliche Projekt simpel bleibt kann es jede/r nutzen.
Und die ‘extended’ Versionen haben ebenfalls ihre Berechtigung bleiben aber optional

1 „Gefällt mir“

Passt schon. Ich hatte kurzzeitig den Modulgedanken und die Einfachheit aus den Augen verloren. Mit MOSFETs kann eben auch nicht jedee umgehen, weil sie unverbaut sehr empfindlich sind.

Andere Idee: Einen Reed-Kontakt in die Stromzufuhr einbauen, in der Version als Öffner -> wird der Deckel geöffnet schaltet sich der TonUINO ein.

Ja, wieder ein etwas anderer Anwendungsfall, da nicht jede Box einen Deckel hat und das mit dem Standby damit auch nicht gelöst ist - deshalb auch nur als weitere Idee, vielleicht passt’s ja bei jemandem!

1 „Gefällt mir“

Da bin ich gespannt. Mit Pull_Down meinst Du den PIN nicht auf GRD sondern auf +5V des Akkus laufen zu lassen? Sollte doch eigentlich auch gehen und man könnte den Switch damit ON schalten.
Der Power-Switch wird bei mir erst in 8-10 Tagen geliefert. Dann können wir ja mal ausprobieren.

Der Widerstand müsste dann dementsprechend recht hoch gewählt werden um den Akku nicht unnötig leer zu saugen.
Der Pololu Power Switch hat im abgeschalteten Zustand eine wirklich sehr geringe Stromaufnahme <0,05µA. Durch den Pulldown Widerstand steigt natürlich die Stromaufnahme.

Aus meiner Sicht war für diese Lösung eindeutig der zusätzliche Taster der einfachere Weg, ohne noch mehr an der SW und der Platine zu verändern.

Was auch absolut im vibe des Projektes ist. :wink:

Die Platine ist wirklich interessant. Aber was ist denn eigentlich aus den guten alten Bi-Stabilen Relais geworden? Zwei Spulen, an eine den Schalter (einschalten) und an die andere den Arduino Pin (plus Transistor) zum abschalten. Verbraucht keinen Standby Strom und sollte günstig zu realisieren sein. Oder spricht da was gegen?

Der Grund der dagegen spricht ist die verhältnismäßig hohe Stromaufnahme in der Selbsthaltung via Relais. Damit würde die potentielle Ersparnis im Akkubetrieb verpuffen.

Ein Bi-Stabiles Relais benötigt keinen Strom, nur beim Umschalten. Daher Bi-Stabil!
Zitat Wikipedia: Bistabile Relais sind gekennzeichnet durch ihre Eigenschaft, dass sie im stromlosen Zustand zwei verschiedene stabile Schaltzustände einnehmen können.

Oha. Hatte nur Relais gelesen und habe an selbsthaltung via Strom gedacht.
Schande über mein Haupt.

@papa
Die Lösung finde ich sehr sympathisch! Aber bitte helft meinem gefährlichen Halbwissen auf die Sprünge, warum noch ein Transistor zwischen den Arduino und den Relaiseingang sollte? Das erstbeste Bistabile Relais mit zwei Spulen meiner Googlesuche (HFD2) hat eine Spulenspannung von 3-24V, das sollte doch auch so funktionieren?

Von der Spannung her passt es. So ein PIN vom ARDUINO kann bei 5V je nach Datenblatt ungefähr 20…40mA schalten. Das ist auch noch davon abhängig wieviele Ports zeitgleich belastet werden und an die Grenze von 40mA sollte man auch nicht unbedingt gehen. Selbst wenn das rechnerisch passt, handelt man sich beim schalten von induktiven Lasten sehr viele Probleme ein, wenn es überhaupt funktioniert. Daher werden Relais(spulen) immer mit einem Transistor (Freilaufdiode nicht vergessen) geschaltet.

Genaue Erklärung mit Beispielen findest Du hier: https://www.mikrocontroller.net/articles/Relais_mit_Logik_ansteuern

1 „Gefällt mir“

Ich konnte heute endlich den Push Button mit der POLOLU Platine realisieren.
In der Firmware von @Stephan ist ja schon alles Nötige drin, erstmal wird der CUBIEKID aktiviert und dazu muss man noch beim initiieren des Shutdowns den Shutdown Pin auf HIGH setzten und beim Pin Mode muss der Shutdown Pin auf LOW gesetzt werden.
So müssten die angepassten Zeilen im Sketch danach aussehen:

// shutdown the system
void cubiekidShutdown() {
Serial.println(F("inactivity shutdown…"));
digitalWrite(cubiekid.shutdownPin, HIGH);
}
#endif

void setup() {
#if defined(CUBIEKID)
pinMode(cubiekid.shutdownPin, OUTPUT);
digitalWrite(cubiekid.shutdownPin, LOW);

Zum Aufbau: Eingangsstrom an VIN und GND und den Ausgangsstrom für den Arduino an VOUT und GND. Den Button muss man dann auf VIN und ON klemmen und OFF zum Arduino auf D7 führen.

3 „Gefällt mir“

Mein Pololu-Switch ist noch in der Post.
@Talla das ist dann aber ein zusätzlicher Button, oder?
Gegen alle guten Ratschläge hier, habe ich die Hoffnung noch nicht aufgegeben den Wake-Up mit einem der drei bestehenden Button zu realisieren :wink: