Power Switch via Push-Button


#1

Hallo zusammen,

da auf Thorstens Seite die Frage nach einer guten Möglichkeit zum Strom sparen aufgekommen ist, würde ich gerne meine Lösung präsentieren.

Auch ich habe mir Gedanken gemacht wie ich das am leichtesten bewerkstelligen könnte und bin in den Arduino Foren auf die verschiedensten Lösungen gestoßen. Leider hat meine Bastelkiste nicht die nötigen Teile hergegeben, daher habe ich mich für eine günstige fertige Lösung entschieden.

Erste Anforderung war, über einen Taster die Tonuino Box an- und ausschalten zu können.
Als zweite Anforderung wollte ich den Tonuino auch nach einer gewissen Standzeit automatisiert abschalten.

Auf folgende Hardware bin ich hierbei gestoßen:
Pololu Mini Pushbutton Power Switch SV. Erhältlich bei eBay für knapp 6€ inkl. Versand.

Anschlüsse vorhanden für einen Taster und jeweils ein Eingang zum An- oder Abschalten der Spannung. Am besten mal die Beschreibung des Herstellers googlen - die macht schlauer.

Mit einer Powerbank habe ich die Schaltung ausprobiert, und sie funktioniert - sofern es eine Powerbank ist, die keine selbstabschaltung bei Stromaufnahme kleiner der des Tonuino ist…

Softwaretechnisch ist die Umsetzung auch recht einfach gehalten.
Nach dem letzten gespielten Titel (also im Stop-Fall) geht der Tonuino nach 10min aus, im Pause-Fall nach 20min, ansonsten automatisch nach 3 Stunden - ist natürlich beliebig einstellbar.
Da ich meine Software komplett umgebaut habe, ist leider keine direkte Integration in Thorstens Projekt möglich. Vielleicht überlegt sich ja wer auf dieser Basis etwas.

Gruß,
Christian


ShutdownTimer mit Power-Switch
Stromversorgung über Magnetschaltung
#2

Hallo Christian,

MEGA!!! Vielen Dank für den Tipp!

Ich hatte ja eigentlich geplant eine solche Schaltung auf einer eigenen Platine zu realisieren - das ist aber nun nicht mehr nötig und ich werde mir direkt 2-3 dieser Dinger bestellen und den Support in meine Firmware einbauen!

Wird denke ich in der nächsten Woche kommen.


#3

Hallo Thorsten,

gerne doch :wink:

habe auch ein bisschen suchen müssen - hab ich ja geschrieben.

Die Pololu Platine hat insgesamt 4 Steuereingänge.

  1. Switch
  2. On
  3. Off
  4. CTRL

–> Vorsicht: On/Off können nicht zusammen mit dem CTRL verwendet werden - da geht die Platine wohl kaputt (laut Herstellerseite)

Ich habe lediglich den externen Switch angeschlossen und den Off-Engang an den Arduino angeklemmt. Klappt wunderbar.

Gruß,
Christian


#4

Wer auf eBay kein Glück mehr hat (sind nur noch 2 Stück verfügbar): https://eckstein-shop.de/Pololu-Mini-Pushbutton-Power-Switch-with-Reverse-Voltage-Protection-SV


#5

@ChristianHermes Ich war vor einiger Zeit auf Deinen Fork aufmerksam geworden, und das mit dem Switch gelesen. Hatte ich mittlerweile nicht mehr auf dem Schirm - Danke fürs teilen!


#6

Gerne doch.

Wenn ich dazu komme wollte ich auch noch eine kombinierte Platine entwerfen. Aber ich glaube das wird dieses Jahr nix mehr.


#7

Klingt gut!
Schließt man dann einen der drei Arcade-Knöpfe an um den TonUINO wieder aufzuwecken?


#8

Das wäre prinzipiell möglich, wenn ich es mir überlege. Der button müsste dann an den on Eingang angeschlossen werden. Off könnte dann nur über den arduino bedient werden.

Vielleicht probiert es ja mal jemand aus. Ich habe einfach einen vierten Button spendiert…


#9

Klingt sehr gut, habe mir auch mal zwei bestellt.
@Thorsten wäre sehr an einer Implementierung interessiert.
Was haltet ihr davon, wenn man bei dem Keep-It-Simple-Anzsatz bleibt,
und z.B. den Play/Pause-Knopf zum “Aufwecken” verwendet und zum manuellen Ausschalten einen langen Druck auf den gleichen Knopf bei Inaktivität (statt der Karten-Löschfunktion)?
Die Karten-Lösch-Funktion könnte man z.B. auf gleichzeitiges langes Drücken der Vor- & Zurück-Taste legen.
Das wäre auch sicherer, da unser Kleiner auf Anhieb die Löschfunktion ausgelöst hat.


#10

Finde die Idee sehr gut -
meine kleine hat dies auch hinbekommen :slight_smile: ^^


#11

Ich meine der Pololu reagiert beim schalten auf einen positiven Flankenwechsel auf den Pins On und Off.
Das beißt sich leider mit den bisherigen low aktiven Buttons des Tonuino.


#12

Ich habe bei mir das Löschen noch auf der Play/Pause Taste, aber mit erhöhtem Delay (5 Sekunden). Ist noch nicht Kampferprobt aber wäre vielleicht ne Idee.


#13

Was bedeutet denn das genau? ; )
Welcher Button wäre denn kompatibel?
Beim CubieKid hat Jens den Wakeup auch über die Arcade-Button gelöst:

_Highlights:
- Intended to be used with batteries, accu packs and USB-powerbanks
- Power-On with one of the three buttons
- Auto-standby-function saves battery live by reducing current down to just a few micro-amperes
- Battery voltage monitoring function with audio alert and shut-down
_


#14

Ohne jetzt genauer in das erwähnte Projekt reinzuschauen würde ich sagen, dass hier die sleep funktion des mikrocontrollers genutzt wurde.
Der Pololu soll die Schaltung komplett von der Versorgung trennen


#16

Wenn ich es richtig verstanden habe, wurde beim CubieKid auch eine vorgelagerte Schaltung verwendet um in den Standby-Modus zu gehen:

In Revision 1.3 the power needed on standby was reduced down to less than 0.02mA (20 microamperes).

Ist Jens hier auch im Forum?


#17

Ja @DB3JHF ist hier im Forum. Ich habe die Schaltung von ihm vorliegen und ja, seine Schaltung funktioniert zwar ähnlich (übrigens nicht über die sleep Funktion des Arduino), kann aber über jeden der 3 Buttons aktiviert werden.


#18

Mhh, in dem Pololu-Manual steht:

Alternatively, a separate pushbutton, such as a remote panel-mounted unit, can be connected to the A and B pins and used instead.Multiple pushbuttons can be wired in parallel for multiple control points, and each of the parallel pushbuttons, including the one on the board itself, will be able to turn the switch on or off. The latching circuit performs some button debouncing, but pushbuttons with excessive bouncing (several ms) might not function well with this product.

Haben unsere Arcade-Buttons denn ein “excessive bouncing”?

Und Christian hatte ja geschrieben, dass bei meinem Vorschlag der Play/Pause-Button an ON und der Arduino an OFF angeschlossen werden müsste.


#19

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.


#20

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


#21

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.)