Powerbank-Wächter Bauanleitung

s.ochs

BOFH
Ich habe ja schon häufiger mal über das Abschalten von "smarten" Powerbänken bei zu geringem Entnahmestrom geschrieben. Handelsübliche Powerbänke sind meistens zum Laden von Handys etc. konzipiert. Wenn deren Akku voll ist, sinkt der Entnahmestrom und damit die Powerbank dann nicht immer weiter läuft, schaltet die "Smart"-Funktion sie ab. Will man die Powerbank als externe Energiequelle für z. B. ein WLANThermo Nano oder einen Lüfter (am Pitmaster-Cube) nutzen, kann dieses Abschalten der Powerbank kontraproduktiv sein. Ein Nano v1, dessen interner Akku voll geladen ist, verbraucht weniger als 100 mAh. Auch ein Lüfter braucht bei geringem Pitmasterwert meist nicht genug Strom, um das Abschalten zu verhinden. Abhilfe schafft das Anschließen eines Verbrauchers, der konstant einen Strom von über 100 mA entnimmt: USB-Lampe oder so eine USB-Kaffeewärmebecher 😀. Natürlich entleert das die Powerbank aber unnötig schnell. Die bessere Alternative ist ein kleiner Powerbank-Wächter, der alle paar Sekunden kurz Strom entnimmt und so das Abschalten der Powerbank verhindert.

Die Bauteile für einen kleinen PB-Wächter habe ich schon länger hier liegen, bin bisher aber nicht dazu gegekommen, einen Baubericht dazu zu schreiben. Jetzt also ein kleiner bebildeter Baubericht, wie man sich so einen Wächter (Guard) aus wenigen Bauteilen fix selber bauen kann. Alle Bauteile sind bei reichelt erhältlich (die BOM habe ich in den Anhang gepackt). Wer nicht selber bauen kann/will, der kann sich auch bei mir melden, ich habe alle Teile da und kann euch den Wächter fix zusammenlöten und programmieren.

Folgende Bauteile werden benötigt: Ein Digispark ATtiny85 (super Teil für kleine Bastelleien), ein N-FET zum Schalten des 27 Ohm Leistungswiderstands sowie eine kleine LED, die uns signalisiert, dass der Wächter auch tut was er soll.

PB017771n-min.jpg

Für den Zusammenbau braucht ihr einen kleinen Seitenschneider, Lötkolben und Lötzinn und eventuell eine Pinzette. Der Digispark ATtiny85 ist ein kleiner preisgünstiger Microcontroller, den wir nach dem Zusammenbau mit einer Timerfunktion programmieren. Auf der Rückseite vom ATtiny Board ist genug Platz für unsere kleine Schaltung. Außerdem kommt das Board schon mit einem USB-Anschluss für die Powerbank und braucht keine weiteren Bauteile wie Spannungsversorgung etc. für einen Betrieb.

Also los. Zuerst müssen wir den N-FET vorbereiten. Mit der Zange die Anschlussbeine des FET wie auf dem Foto abgebildet zurechtbiegen. Den mittleren Pin (Drain) kürzt ihr ein. Den brauchen wir nicht, da er ebenfalls an der Oberseite des FET verfügbar ist, wo wir besser hinkommen.

PB017774n-min.jpg

Ist der FET vorbereitet, kann er auch schon auf der Rückseite des ATtiny aufgesteckt und verlötet werden. Beim Einlöten unbedingt darauf achten, dass der FET nicht ganz auf der Platine aufliegt, sondern ein kleiner Spalt vorliegt (siehe Foto weiter unten). Auf der Rückseite von der Platine sind kleine Durchgangslöcher für Leiterbahnen und die sollten auf keinen Fall mit dem Drain-Anschluss vom FET auf dessen Rückseite in Kontakt kommen. Wer will kann am Ende der Lötarbeiten auch noch ein Stück Papier oder Klebeband unter den FET schieben, als Isolierung zur Platine.

Das linke Beinchen (Gate) gehört an P0 und das rechte Beinchen (Source) an GND. Wir wollen später P0 zwischen HIGH und LOW hin- und herschalten und damit den FET öffnen und schließen. Ist er offen, kann GND von Source nach Drain "fließen" und durchströmt dann den Leistungswiderstand, der den Stromverbrauch an der Powerbank simuliert.

PB017779n-min.jpg

Der 27 Ohm Widerstand kann direkt mit verlötet werden. Die eine Seite an den oberen Drain-Anschluss vom FET; die andere Seite kommt an 5V.

PB017784n-min.jpg

Für die eigentliche Funktion des Powerbank-Wächters war's das eigentlich schon. Wenn der FET geöffnet ist, fließen durch den Widerstand etwa 5V / 27 Ohm = 185 mA. Der Strom reicht, um das Abschalten der Powerbank zu verhinden, dabei muss der Strom aber nicht durchgängig fließen, es reicht, wenn wir den FET alle paar Sekunden kurz öffnen. Dadurch wird die Powerbank nicht unnötig schnell leer gezogen und der Leistungswiderstand wird nicht zu warm.

Damit wir später im Betrieb direkt sehen können, ob der Wächter auch funktioniert, bringen wir noch eine LED an. Hier am besten eine LED mit integriertem Vorwiderstand benutzen (siehe BOM). Für den Einbau die Beinchen wie im Foto abgebildet vorbiegen. Das längere Beinchen (+ Pol) kurz hinter der LED 90° abwinkeln. Das kürzere Beinchen (- Pol) mit einer kleinen Stufe versehen (direkt wo das Beinchen aus dem LED-Kopf rauskommt).

PB017788n-min.jpg

Das längere Beinchen (das mit dem 90° Knick) kommt in das Bohrloch von P4. Das kürzere Beinchen kürzen und an den Drain-Anschluss vom FET anlöten, wo auch die eine Seite vom Widerstand angelötet ist. Die Stufe in diesem Beinchen soll einen Kontakt zum Anschluss P5 vermeiden.

PB017789n-min.jpg

Hier sieht man den Spalt zwischen FET und Platine. Wie gesagt, wer will kann da jetzt noch etwas Klebeband drunter schieben.

PB017808n-min.jpg

Wer von euch noch gute Augen hat, der hat auf dem ersten Foto noch einen kleinen SMD-Kondensator gesehen. Wer sich das zutraut, kann den Kondensator auf der Oberseite des ATtiny noch zwischen 5V und GND löten. Der Kondensator ist kein Muss, kann also auch weggelassen werden.

PB017797n-min.jpg

Das war's auch schon mit dem Zusammenlöten. Zeitaufwand beim ersten Bau etwa 30 min, ab dem zweiten geht es in 5 Minuten 🙃.

PB017809n-min.jpg

Ganz fertig sind wir aber noch nicht, weil es fehlt ja noch die Software. Der Digispark ATtiny85 lässt sich mit der Arduino IDE flashen. Den Programm-Code habe ich euch angehängt. Darin ist auch ein Video (nicht von mir) verlinkt, in dem Schritt für Schritt erklärt wird, wie man die Arduino IDE und den PC vorbereiten muss, damit man den ATtiny flashen kann. Das bizarre daran, das eigentliche Flashen des Codes dauert keine 5s, aber der PC und die Arduino IDE müssen eben erst vorbereitet werden. Anders als die "großen" ATmegas (Arduino UNO etc.) hat der Digispark ATtiny85 keine "originale" USB-Schnittstelle sondern eine reduzierte Form, nur für Energieversorgung und zum kurzen Flashen. Deshalb muss der USB-Treiber am PC manuell installiert werden. Wie gesagt, schaut euch das Video an, dort wird alles erklärt.

Noch ein paar Worte zur Software:

C++:
 /***************************************************
    Copyright (C) 2018  Steffen Ochs

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.

    GUIDE: Flash Attiny85 Digispark
    https://www.youtube.com/watch?v=MmDBvgrYGZs

****************************************************/

unsigned long ontimer;

void setup() {
  // put your setup code here, to run once:
  pinMode(0,OUTPUT);
  pinMode(4,OUTPUT);
  digitalWrite(0, LOW);
  digitalWrite(4, HIGH);
  ontimer = 0;
}

void loop() {
  // put your main code here, to run repeatedly:
  if (millis() - ontimer > 4000) {
    ontimer = millis();
    digitalWrite(0,HIGH);
  }

  if (millis() - ontimer > 1000) {
    digitalWrite(0, LOW);
  }

}
Die Timer-Funktion könnte man auch direkt im Register vom Microcontroller umsetzen, aber ich wollte es bewusst einfach halten, damit man es auch nachvollziehen und ggf. anpassen kann. In setup() werden die beiden Pins P0 (Anschluss des Gates vom FET) und P4 (+ Pol von der LED) initalisiert. Nachdem setup() einmal durchlaufen ist, läuft danach die loop() ständig von oben nach unten durch. Innerhalb von loop() wird geschaut, ob seit dem Start schon 4 Sekunden (4000 ms) vergangen sind, wenn ja, wird P0 auf HIGH gesetzt und damit der FET geöffnet. Gleichzeitig wird der Timer zurückgesetzt. Nach 1 Sekunde (1000 ms) wird nun P0 wieder auf LOW gesetzt und der FET abgeschaltet. Nach weiteren 3 Sekunden (4 -1) fängt das Ganze dann wieder von vorne an.

Je nach Powerbank könnte der Intervall von 4 Sekunden auch länger (bis zu 20 s) gestaltet werden. Kommt drauf an, wie schnell die Abschalte-Funktion der Powerbank arbeitet. Gleichzeitig könnte auch die HIGH-Zeit von 1 Sekunde verkürzt werden (500 ms). Auch hier kommt es darauf an, was die Powerbank an Stromfluss braucht, um nicht abzuschalten. Die aktuelle Konfiguration sollte mit so ziemlich jeder Powerbank funktionieren. Wer den Energieverbrauch des Wächters optimieren will, der kann für seine Powerbank ja ein paar andere Zeiten ausprobieren und hier berichten.

Wenn die Software auf dem Wächter installiert wurde, ist er auch schon für den Betrieb bereit. Einfach in die Powerbank einstecken und los geht's. Nach ein paar Sekunden (etwa 10s, der Bootmodus muss erst abschalten) sollte die LED das erst mal aufleuchten und dann immer wieder im Intervall von 4s.

PB017800-min.JPG
PB017801-min.JPG

Auf der Platinenvorderseite befindet sich noch eine kleine SMD-LED, diese leuchtet immer, wenn am USB-Anschluss Spannung anliegt. Damit kann man also zusätzlich zum Wächterintervall schnell sehen, ob die Powerbank noch läuft, oder abgeschaltet hat.

Ok, das war's. Viel Spaß euch beim Nachbauen.
Steffen
 

Anhänge

Zuletzt bearbeitet:

s.ochs

BOFH
Beim Schreiben des Berichts ist mir gerade noch eine Idee gekommen, wie man sich auch einen Wächter ohne Programmierung aus den Teilen bauen kann. Bei Auslieferung sind die Digispark ATtiny mit einem "Blink"-Programm programmiert. Im 1 Sekunden Takt geht eine Onboard-LED an P1 an/aus (LED gegen GND, mit HIGH an P1 leuchtet sie auf). Wer nicht programmieren will, könnte dieses "Blink"-Programm nutzen. In dem Fall müsste der Gate-Anschluss vom N-FET an P1 anstelle von P0. Die zusätzliche LED an P4 lässt man weg. Dann kann der Wächter nach dem Anlöten vom FET und dem Widerstand direkt genutzt werden. Allerdings fließt dann im Mittel ein Strom von etwa 90 mAh, ist also nicht der sparsamste Wächter, dafür aber minimaler Aufwand.

Natürlich könnte man sich in der obigen Anleitung mit Programmierung auch die separate LED sparen und anstelle von P0 dann P1 und dessen LED nutzen. Allerdings zeigt die Onboard-LED dann nur an, dass der FET geschaltet werden soll, nicht, ob er auch wirklich schaltet und Strom durch den Widerstand fließt. Aus dem Grund macht eine separate LED weiterhin Sinn.
 

DerPapa

Der mit dem Thermo tanzt
Teammitglied
Hab mal 4 Stück Attiny bei Ali bestellt. 1,17$ pro Stück! Free shipping.
 

s.ochs

BOFH
Warum nur 4 ;). Wie gesagt, ich find die für kleine Bastelprojekte ideal. Bei Ali gibt es die auch im 20er Pack.
 

DerPapa

Der mit dem Thermo tanzt
Teammitglied
Übrigens: bei meinen ist kein Blink Programm drauf gewesen! Einfach nix!
 

s.ochs

BOFH
Aufgrund der Anregung von @Gefrierbrand: Wer seine Wächter-Platine etwas schützen will, kann sich ja ein Gehäuse drum herum bauen. Im Anhang findet ihr die STLs für eine geschlossene Version und eine Version, die eine Bohrung für die Durchführung eines USB-Kabels hat. So kann man sich ein Kabel mit Mikro-USB-Stecker an die Platine anlöten und so den Anschluss der Powerbank weiternutzen. Idealerweise druckt man das Gehäuse in einem transparenten Material, damit man die LEDs noch sieht. Die Gehäusehälften sind zum Verkleben gedacht, also keine Schrauben oder so.

Die Datenleitungen des USB-Busses, also D+ und D-, im USB-Kabel sollten mit einem Widerstand < 200 Ohm miteinander gebrückt werden, damit der USB-Chip im Nano die Quelle als ordentliche USB-Quelle erkennt.

EDIT: Je nach Ausführung der Powerbank kann es sein, dass der Wächter mit Gehäuse nicht mehr fest in der USB-Buchse sitzt. Sollte das so sein, kann man mit einem USB-Verlängerungskabel arbeiten oder die andere Seite vom zertrennten USB-Kabel auch noch anlöten, sodass der Wächter einfach zwischen der Leitung hängt.

Anstelle von einem Gehäuse kann man natürlich auch einfach etwas Klebeband oder Schrumpfschlauch benutzen, um die Platine vor groben Einflüssen zu schützen.

Viel Spaß damit!
Steffen

1111
1112
1115
1113
1114
 

Anhänge

Zuletzt bearbeitet:

bbq_nulli

Member
Geht dann der Wächter (USB-Kabel-MicroUSB) zur Nano wo normal das Netzteil angesteckt wird?

Und am Cuboid braucht man dann keine Spannung 5V mehr? (denke braucht man trotzdem)

Wie würde die Verbindung NanoV1 mit Wächter + Powerbank und zusätzlich an NanoV1 + Cuboid aussehen?

Von der Powerbank dann mir 2 Wächter oder reicht einer für die Nano und der 2.USB Port zum Cuboid?

Kannst du mal ein Bild Anhängen wie das dann aufgebaut sein muss? (Am besten mit XLR Buchse am Cuboid)
 

s.ochs

BOFH
Nicht so kompliziert denken. Normalerweise hat eine PB eine Abschaltvorrichtung. So lang also an einem Port genug Strom entnommen wird, läuft sie. Der Cube braucht immer eine externe Quelle, also muss der, sofern als Quelle nur die PB da ist, an die PB. Das Nano muss nicht mal zwingend an die PB, hat ja seinen eigenen Akku. Will man es trotzdem mit an die PB anschließen, hat an der PB aber nur zwei Ports, dann muss kann man eben an den Wächter wieder ein USB-Kabel anlöten, was dann entweder zu Nano oder Cube geht, welches ist komplett egal. Oder man nimmt gleich eine PB mit 3 oder 4 Ports.
 

bbq_nulli

Member
Irgendwas verstehe ich noch nicht.

also gehen wir mal davon aus die PB hat 2 Ports und Mann will beide (Cube und Nano) daran betreiben.

Dann braucht man doch niemals 3/4 Ports an der PB

Wo macht der Wächter mehr Sinn an der Nano oder Cube?

also an der PN mit 2 Ports
1. Port mit Wächter mit (Nano oder Cube)
2. Port normales USB-A auf microUSB Kabel (Nano oder Cube)

Oder meintest du am Wächter mit 2 Kabel weggehen?
 

a.schaefer85

Entwickler
also gehen wir mal davon aus die PB hat 2 Ports und Mann will beide (Cube und Nano) daran betreiben
Beide gleichzeitig können trotzdem so wenig beziehen das eine Powerbank abschaltet.

Dann braucht man doch niemals 3/4 Ports an der PB
Wenn du nano und cube an einer Powerbank nutzt kannst du ja nicht ohne weiteres den Wächter anschließen. Da wäre ein 3/4 schon praktisch.
Wenn du aber nur eine mit 2 hast must du am Wächter ein USB Kabel anlöten und da entweder nano oder cube anscheinen.

Wo macht der Wächter mehr Sinn an der Nano oder Cube?
Absolut egal. Der Wächter soll ja nur die Powerbank etwas stressen damit die nicht abschaltet. Was dann am Wächter zusätzlich hängt ist dabei Wurst.


Oder meintest du am Wächter mit 2 Kabel weggehen?
Würde ich nicht machen.
 

s.ochs

BOFH
Ganz einfache Rechnung:

2 USB-Geräte (Nano + Cube) = 2 Ports an der PB
3 USB-Geräte (Nano + Cube + Wächter) = 3 Ports an der PB

Den Rest hast du dir schon selbst beantwortet. Hat man nur 2 Ports, will aber 3 Geräte anschließen, muss man einen Port "durchschleifen". Da 5V und GND am Wächter, so wie er hier beschrieben ist, frei zugänglich sind, kann man das Durchschleifen mit einem USB-Kabel machen.

Man kann aber auch genauso gut den Akku vom Nano vor dem Grillen voll laden. Den Cube und den Wächster an eine PB mit 2 Ports anschließen und das Nano nicht. Es gibt diverse Möglichkeiten. Wichtig ist ja nur, dass sich am Ende der Lüfter dreht, wenn er soll.
 

a.schaefer85

Entwickler
Ich glaub du hast den Sinn des Wächters nicht ganz verstanden.

Die nano selbst hat einen Akku und kann locker 24+ Stunden messen. Für PP oder sonst was reicht das dicke.

Wenn man zb einen Lüfter mit der nano steuern möchte braucht man einen cude der extern mit Strom versorgt werden muss. Es darf nicht aus der nano kommen da die dann ruck zuck leer gesaugt wäre.

Draußen am grill haben viele Leute aber kein Strom und nutzen dafür eine Powerbank.
Diese haben aber eine abschaltelektronik. Wenn zu wenig Strom entnommenen wird schaltet die einfach ab.

Jetzt kann es vorkommen das nano und cube so wenig Strom verbrauchen das die Powerbank abschaltet. Genau dann brauchst du einen Wächter
 

bbq_nulli

Member
Verstehe hat mich nur interessiert
Hab ja keine Nano sondern die miniv2 die ich auch mit einer PB und über einen XLR den Damper (Servo/Lüfter) vom Heatermeter :)

hat die Nano eigentlich einen internen Temperatursensor?

Sowas vermisse ich bei der miniv2 auch um die Aussentemperatur zu wissen ohne einen extra Fühler zu benutzen.

War heute schon auf der Suche nach so USB Gadgets wie du oben geschrieben hast aber nur Müll gefunden. ( Glaub da gibt es nix sinnfolles der Wächter ist schon eine Super Lösung)
 

s.ochs

BOFH
hat die Nano eigentlich einen internen Temperatursensor?
Nein, haben wir aber getestet, bringt nichts, auch beim Mini nicht, im Gehäuse ist immer eine andere Temperatur als draußen, aufgrund der Verluste der Elektronikteile. Ein Fühler außerhalb des Gehäuses ist deutlich besser und genug Messbuchsen gibt es ja.
 

a.schaefer85

Entwickler
Interne Temperaturmessung macht wenig Sinn. Sowohl die mini als auch die nano erzeugen im Gehäuse Wärme. Dann wüsstest du nur wie warm es in Gehäuse ist. Das hat aber wenig mit der Umgebungstemperatur zu tun da locker 10 grad plus höher ist.

Als Wächter Alternative kannst du sch so was nehmen. Verbraucht zwar mehr Strom, dafür musst du aber nichts löten, programmieren oder sonst was

https://s.click.aliexpress.com/e/rJaYoup
 

s.ochs

BOFH
Hast du mal eins von den Dingern an einer PB getestet? Kann sein, dass die nur 10-20 mA ziehen, das könnte für manche PB wieder zu wenig sein. Eventuell reicht es in Kombination mit Nano+Cube.

Ein Licht kann man aber immer gut gebrauchen.
 
Oben Unten