Schaltung mit SBM-20 Zählrohr

Begonnen von DO1MUE, 01. Mai 2022, 13:14

⏪ vorheriges - nächstes ⏩

NuclearPhoenix

Zitat von: DO1MUE am 03. Februar 2023, 06:59Hier noch mal ein neuerer Stand meines GZ, mit ein paar Verbesserungen.

Will aber nicht nur ein Video posten sondern habe auch ein, zwei Fragen.

Ich messe mit dem Multimeter 30 mA Stromaufnahme. Das scheint mir ein wenig verschwenderisch - selbst wenn ich das Display abklemme sind es immer noch etwa 25 mA. Auch die PWM (GP3) scheint keinen Einfluss zu haben; mit 1 kHz selber Verbrauch wie mit 10 kHz (klar, Multimetermessung ist ungenau aber grob kann man es schon einschätzen).

Irgendeinen Ratschlag wie man den Stromverbrauch senken könnte? Ich hätte es evtl. mit einem 4V Spannungsregler statt dem 5V und kleinerer Batterie versucht; im Prinzip benötigt der ganze Aufbau ja nur 3.3V. Die HV würde mit der Maßnahme etwas geringer werden aber das kann man sicher über Frequenz und TG wieder anpassen.

Dann gibt es was komplett Neues - IoT Fähigkeit via BLE (Bluetooth Low Energy). Was mich ziemlich überrascht hat: kaum ein Bastler scheint BLE zu nutzen, womit ich mich entsprechend hart tue Codebeispiele und Projekte zu finden. Auch professionelle Geräte scheinen eher nicht über Bluetooth zu verfügen (nur die sehr teuren?). Warum das so ist kann ich mir nicht so wirklich erklären, ist ja eigentlich äußerst komfortabel wenn man mal verstanden hat wie man es benutzt bzw. implementiert.

Vielleicht habt ihr ja eine Idee.




Grüße und schönes Wochenende.
Ein anderer linearer Spannungsregler wird dir nichts bringen, außer eine niedrigere "Quiescent current" laut Datenblatt. Das ist zwar schön, aber für alles andere musst du entweder die Spannungsdifferenz vor und nach dem Regler so klein wie möglich machen, oder besser gleich auf einen richtigen DC-DC-Wandler umsteigen.

Ansonsten würde ich vermuten, dass der Raspberry Pi Pico sicherlich den meisten Strom zieht. Das sind im Idle ohne Ruhemodus o.Ä. schnell 10 - 20 mA. Vielleicht bekommst du da die low-power Modi eingerichtet und zusätzlich dazu noch eine niedrigere CPU Geschwindigkeit.

Ich finde es aber schon interessant, dass du da tatsächlich 30 mA ziehst. Hast du schon irgendwelche Standby Modi implementiert? Weil sonst kann ich mir gut vorstellen, dass fast 2/3 davon wirklich auf den Pico entfallen. Der Rest ist schon schwieriger festzustellen... vielleicht hast du einen recht hohen Verlust durch Leckstrom deiner 82V Dioden? Das würde ich mir auch mal anschauen.

Andere Frage: Wieso benutzt du nicht eigentlich den Spannungswandler, der am Pico verbaut ist? Das ist ein Schaltnetztteil, welches gut mit kleinen Spannungen bis bisschen über 5 V klar kommt und dir 3.3 V liefert. Das wäre doch perfekt um den Regler zu ersetzen. Ist auch ganz einfach anzuschließen, siehe RPi Pico Datenblatt, "4.5. Powering Pico".

https://datasheets.raspberrypi.com/pico/pico-datasheet.pdf

RD-Gamma

Deine Schaltung der Hochspannungserzeugung hat die vier Zenerdioden hinter der Diode D1. Das hat den Nachteil, dass dauerhaft etwas Strom abfließt und so das Netzteil immer arbeiten muss. Du könntest sie wie  hier im Schatbild von Raddet gezeigt vor die Diode D1 hängen und dann nur einen Impuls an einer letzten nachgestellten 4,6V Zenerdiode über einen Interrupt abgreifen um deinem Comtroller zu bestätigen, dass C voll geladen ist. Dadurch sparst du einiges an Strom. So habe ich es auch bei einem Gerät von mir gelöst. Hatte es damals ausprobiert. Mit Zenerdioden hinter D1 musste ich mit 10Hz Takten weil sonst die Hochspannung schon im Leerlauf zusammenbrach. Mit genanntem Trick brauche ich bei Hintergrundzählraten nur 4x pro Minute einen einzigen Impuls HV mit dem Netzteil erzeugen.

Andererseits denke ich auch, dass du durch den Pi Pico das meiste der Stromaufnahme erzeugst. Hast du die 5mA Stromaufnahme von dem Display gemessen? Laut Recherche zieht ein 1306 0.91" 128x64 mit 50% der Pixel an ca. 20mA. Zudem kannst du das Display direkt an 3,3V hängen, weil ein LDO dran ist, der dann nochmal Verluste erzeugt wenn du es mit 5V betreibst.

DO1MUE

Das war jetzt eine Menge an Infos, danke erstmal. Wird eine Zeit dauern bis ich mich da durchgearbeitet habe.

Auf eine Sache kann ich aber spontan eingehen.

Zitat von: RD-Gamma am 03. Februar 2023, 13:17Hast du die 5mA Stromaufnahme von dem Display gemessen? Laut Recherche zieht ein 1306 0.91" 128x64 mit 50% der Pixel an ca. 20mA.

Hab mal eine Vergleichsmessung gemacht mit den zwei verwendeten Displays. Für Interessierte, hier die Ergebnisse:



Datenblatt OLED:
https://cdn-reichelt.de/documents/datenblatt/A300/DEBO_OLED_0-96_DB-EN.pdf
Datenblatt LCD:
https://cdn-reichelt.de/documents/datenblatt/A300/SBC-LCD16X2_DB.pdf

Henri

Beim OLED kann man auch noch etwas sparen. Da nur die leuchtenden Pixel Strom verbrauchen, ist ein dünner heller Schriftfont auf dunklem Hintergrund sparsamer als ein dicker font, oder ein schwarzer auf hellem Hintergrund. Es gibt auch (große) fonts, die nur die Umrisse der Ziffern zeichnen - schon hat man wieder ein paar Pixel gespart. Dafür ist Dein Display aber wohl zu klein.

Und Du kannst die Pixel ein wenig dimmen, was zudem die Lebensdauer deutlich erhöht. Das bringt auch noch mal etwas Einsparung.

Die recherchierten 20 mA beziehen sich garantiert darauf, wenn alle Pixel mit maximaler Helligkeit leuchten.

Raddet

Zitat von: RD-Gamma am 03. Februar 2023, 13:17Mit genanntem Trick brauche ich bei Hintergrundzählraten nur 4x pro Minute einen einzigen Impuls HV mit dem Netzteil erzeugen.

Wie wäre es mit einer indiskreten Frage? -- Welche Art von Hochspannungskondensator haben Sie in diesem Produkt verwendet? Hersteller, Modell?...

DO1MUE

Zitat von: NuclearPhoenix am 03. Februar 2023, 12:45Vielleicht bekommst du da die low-power Modi eingerichtet und zusätzlich dazu noch eine niedrigere CPU Geschwindigkeit.

Also auf deine Anmerkung hin (edit: und der von DL3HRT) habe ich mal gesucht und tatsächlich auf Anhieb ein Beispiel im offiziellen Raspberry Pi Pico SDK Repo (wieder)entdeckt mit dem man auf einfache Art und Weise die Clock ändern kann.

https://github.com/Florian-Wilhelm/pico-examples/tree/master/clocks/hello_48MHz

Die Systemfrequenz hab ich von 125 MHz auf 48 MHz verringert (was die GZ Funktion selbst offenbar nicht beeinträchtigt hat), und bekomme jetzt das auf dem Multimeter angezeigt:



Stromersparnis von (28,5 - 17,6)/28,5 * 100% = 38%. Hat sich also wohl gelohnt die Aktion.

@Raddet war das eine Frage an mich oder an RD-Gamma?

Raddet

Zitat von: DO1MUE am 03. Februar 2023, 18:54Die Systemfrequenz hab ich von 125 MHz auf 48 MHz

Reduzieren Sie die Frequenz auf mindestens 5 Megahertz. Sie werden vom Ergebnis überrascht sein. Und dann - und zwar bis zu einem Megahertz, wenn der Prozessor-Timer es zulässt. Es war interessant, das Ergebnis zu sehen.

Die Frage war an RD-Gamma.

NuclearPhoenix

Zitat von: DO1MUE am 03. Februar 2023, 18:54Also auf deine Anmerkung hin (edit: und der von DL3HRT) habe ich mal gesucht und tatsächlich auf Anhieb ein Beispiel im offiziellen Raspberry Pi Pico SDK Repo (wieder)entdeckt mit dem man auf einfache Art und Weise die Clock ändern kann.
In der SDK (https://raspberrypi.github.io/pico-sdk-doxygen/group__sleep.html#details) gibt es auch ein paar low-power Modi (über sleep_ms usw). Du könntest zB. zwischen den HV-Wandler-Pulsen auch immer wieder in Standby gehen und die Signal-Pulse über einen Interrupt reinladen (der im Standby-Modus trotzdem funktioniert). Wäre interessant, ob das bei dir funktioniert. Ich weiß aber auch nicht wie viel Programmiererfahrung du da hast um dich damit zu spielen.

Du kannst natürlich auch die Taktfrequenz reduzieren, aber ich denke mal, dass der Pico die meiste Zeit irgendwie im idle ist. Deshalb wäre so ein "sleep delay" sicher nett :)

EDIT: Ich habe grade in deinem GitHub repo nachgesehen und ich würde tatsächlich in deinem while true loop einfach ein sleep_ms() einbauen. Das macht sicher nichts, wenn du mal ein paar ms zwischen deinen Funktionen wartest.

EDIT2: Vielleicht hilft dir das mehr: https://github.com/raspberrypi/pico-extras/blob/master/src/rp2_common/pico_sleep/sleep.c

Henri

Zitat von: Raddet am 03. Februar 2023, 19:05Reduzieren Sie die Frequenz auf mindestens 5 Megahertz. Sie werden vom Ergebnis überrascht sein. Und dann - und zwar bis zu einem Megahertz, wenn der Prozessor-Timer es zulässt. Es war interessant, das Ergebnis zu sehen.

Ich bastele gerne mit Arduino Pro Mini 3,3 V. Man kann einen neuen Bootloader aufspielen und ihn dann mit 1 MHz und 1,8 V betreiben. Die LED und den Spannungswandler entferne ich noch. Dann läuft er mit nicht mal 1 mA direkt aus 2 Eneloop-Akkus stabil, bis deren Entladekurve am Ende steil abfällt. Zusammen mit einem LCD (250 µA, von Electronics Assembly) und dem Theremino Geiger Adapter sind es dann ca. 2 mA. Und das noch ganz ohne "sleep" Funktion.

Man darf halt nur 1 Mal in der Sekunde etwas mit den gezählten Impulsen tun, oder auch seltener. Jeder Schleifendurchlauf und jeder Rechenvorgang verbraucht ein wenig Strom.


Hier ist gut zusammengefasst, an welchen Hebeln man ansetzen kann (Hardware und Software):

https://www.mikrocontroller.net/articles/Ultra_low_power

Es gibt auch noch eine andere sehr gute Seite mit genauen Strommessungen für die einzelnen Maßnahmen, ich finde die aber leider gerade nicht mehr.

Viele Grüße!

Henri

DG0MG

"Bling!": Irgendjemand Egales hat irgendetwas Egales getan! Schnell hingucken!

Henri

Zitat von: DG0MG am 03. Februar 2023, 21:45
Zitat von: Henri am 03. Februar 2023, 21:34mit einem LCD (250 µA, von Electronics Assembly)

Dieses? https://de.elv.com/electronic-assembly-lcd-punktmatrixdisplay-ea-dogm163w-a-365-mm-3x16-069317

Das da:

https://www.reichelt.de/de/de/lcd-grafikmodul-mit-display-ram-33-6-x-22-4-mm-weiss-schwarz-ea-dogs102n-6-p101652.html?r=1

Obwohl im Datenblatt anders angegeben, setzen die erst ab 2,0 V aus. Das heißt, man bekommt die Eneloops bis zu ihrer Entladeschlußspannung leer  :)

Es gibt verschiedene Varianten: transflexiv oder Durchlicht, dann ist auch Beleuchtung möglich.
 

Hattest Du mir die nicht sogar mal empfohlen? Falls ja: war ein guter Tip!  :good3:

Raddet

Zitat von: Henri am 03. Februar 2023, 21:34Man kann einen neuen Bootloader aufspielen und ihn dann mit 1 MHz und 1,8 V betreiben.

Mein Radtus R103" für den Eigenverbrauch" hat jetzt einen Bootloader, der den Prozessortakt für die Zeit des Ladens einer neuen Firmware auf die vollen 8 Megahertz anhebt. Und nach dem Laden der Firmware setzt es die Frequenz wieder auf 128 Kilohertz zurück. Dies ist praktisch, da die Firmware-Aktualisierung fast sofort erfolgt, buchstäblich in 1 Sekunde (115.200 Baud). Dabei spielt der Stromverbrauch keine Rolle, da das Gerät noch per Kabel mit der USB-Stromversorgung verbunden ist.

Zitat von: Henri am 03. Februar 2023, 21:34Und das noch ganz ohne "sleep" Funktion.

Versuchen Sie es mit ,,power down" statt ,,sleep". Dies führt zu deutlich spürbareren Energieeinsparungen. In diesem Modus arbeitet der Zähltimer, der Partikel zählt, noch weiter (der ATMega-Mikrocontroller ist völlig statisch. Seine Taktfrequenz kann also allgemein auf 1 Hertz eingestellt werden. Aber das ist so, eine kleine Anmerkung). Alle Hardware-Interrupts auf allen Ports des Mikrocontrollers funktionieren. Basierend auf Ereignissen an diesen Ports kann der Prozessor einschalten und in den aktiven Verarbeitungsmodus umschalten. Auch der Watchdog-Timer funktioniert, nach dem periodische Ereignisse bedient werden können. Lesen Sie zum Beispiel einmal pro Sekunde die Messwerte des Partikelzählers aus und senden Sie sie irgendwo hin. Es gibt viele Möglichkeiten da draußen.

Zitat von: Henri am 03. Februar 2023, 21:34Hier ist gut zusammengefasst, an welchen Hebeln man ansetzen kann (Hardware und Software):

Sie lassen mich nicht in dieses Forum, weil ich... Russin in Russland bin. :( Und ich möchte noch nicht durch die Hintertür durch das VPN dorthin gehen. Da ich mich absolut nichts schuldig fühle. Sie wollen mich nicht sehen? Und tun es nicht.
Was die "Tricks" und "Hebel" angeht, sind alle Möglichkeiten normalerweise im Datenblatt des Mikrocontrollers aufgeführt. Es reicht aus, es etwas genauer und länger zu studieren...

Raddet

Zitat von: Henri am 03. Februar 2023, 22:14Obwohl im Datenblatt anders angegeben, setzen die erst ab 2,0 V aus.

MAX17220 ;)

Henri

Zitat von: Raddet am 03. Februar 2023, 22:38
Zitat von: Henri am 03. Februar 2023, 22:14Obwohl im Datenblatt anders angegeben, setzen die erst ab 2,0 V aus.

MAX17220 ;)

Ja, so etwas nehme ich manchmal gerne, man kann es billig als "Stromdieb" kaufen aus China, aber in diesem Fall ist es tatsächlich nicht nötig! Es gibt ihn ja auch für 3,3 V Ausgangsspannung, dann verbraucht der Controller aber deutlich mehr, als wenn er mit 2,4 V aus zwei Eneloop Akkus läuft. Hinzu kommt noch der kleine Wandlungsverlust. Und man kann ohne zusätzliche Komponenten direkt die Batteriespannung messen, was auch sehr praktisch ist. Gut, man könnte mit ihm natürlich das Gewicht einer Batterie einsparen  ;)

Für den Theremino Geiger Adapter macht es aber Sinn, die Spannung etwas hochzuwandeln, wenn man Zählrohre mit 500 V verwendet, weil sonst sehr schnell die Zählrohr-Spannung einbricht. Bei 400 V Zählrohren bleibt sie bis 2,2 V stabil, wenn ich mich recht erinnere.

Ich sollte mich tatsächlich mal mehr mit den Stromspar-Möglichkeiten beschäftigen. Es ist so faszinierend, was da möglich ist.

Das Erhöhen der Taktfrequenz beim Aufspielen der Firmware ist ein eleganter Trick, es nervt sehr beim Programmieren, dass es bei 1 MHz immer so lange dauert!  :)

ZitatSie lassen mich nicht in dieses Forum, weil ich... Russin in Russland bin. :(

Tja, das mit dem Forum tut mir sehr leid. Man sollte nie aufhören, sich auszutauschen.
Vielleicht liegt es nicht daran, dass Deine IP aus Russland stammt. Manchmal werden ganze IP-Pools (die bestimmte Provider für privates Internet vergeben) blockiert, weil aus diesem IP-Pool z.B. verstärkt Angriffe von Bots oder Trojanern von infizierten PCs kommen. Nach ein paar Tagen wird es dann wieder automatisch freigegeben, wenn nichts mehr auffällig ist. Vielleicht war Deine IP-Adresse gestern noch an einen infizierten PC vergeben, und heute wurde sie Dir zugeteilt. Versuche es doch in ein paar Tagen noch mal, vielleicht geht es dann wieder! (Hoffentlich) 

Viele Grüße!

Henri


Raddet

Zitat von: Henri am 04. Februar 2023, 02:56Für den Theremino Geiger Adapter macht es aber Sinn, die Spannung etwas hochzuwandeln, wenn man Zählrohre mit 500 V verwendet, weil sonst sehr schnell die Zählrohr-Spannung einbricht.

Mit dem oben genannten Chip ist dies nicht schwierig. Es gibt nur einen Widerstand, der die Ausgangsspannung einstellt, indem Sie dessen Wert ändern, können Sie die Spannung von 1,8 bis 5 Volt einstellen. Außerdem habe ich eine funktionierende erprobte Schaltung, mit deren Hilfe der Mikrocontroller je nach Bedarf seine eigene Versorgungsspannung ändert. Beispielsweise erhöht er für die Dauer des Hochspannungspumppulses die Spannung zu sich selbst und an der Hochspannungsdrossel auf einen vorgegebenen Wert bis zu 5 Volt. Und nach dem Ende des Impulses senkt es ihn wieder auf 1,8 Volt ab. Das heißt, die Spannung von 5 Volt wirkt nicht ständig, sondern nur für eine sehr, sehr kurze Zeit, um einen Hochspannungsimpuls zu erzeugen. Die restliche Zeit liegen der Prozessor und die gesamte Schaltung auf niedriger Versorgungsspannung. Generell gibt es dort auch viele interessante Lösungen, die darauf abzielen, dass man so selten wie möglich an den Akku denkt, ihn lädt oder tauscht (das ,,Einschalten und Vergessen"-Prinzip, wie ich es für mich nenne.) :)

Zitat von: Henri am 04. Februar 2023, 02:56Vielleicht liegt es nicht daran, dass Deine IP aus Russland stammt.

Nein, diese Typen wissen, was sie tun. Das ist, was ich auf ihrer Website-Seite bekomme:

Sie dürfen in diesem Board keine Dateianhänge sehen.

Die Übersetzung ist diese:
"Sehr geehrter russischer Benutzer unserer Website! Aus Protest gegen die russische Invasion am der Ukraine ist diese Seite in Ihrem Land gesperrt. Sie können diese Seite weiterhin mit dem TOR-Browser aufrufen: ..."

Ein offen rassistischer "Hinweis"... Deshalb möchte ich solche Orte nicht selbst besuchen. Auch wenn sie den Zugang wieder öffnen. Es ist besser, sich überhaupt nicht mit solchen Leuten zu beschäftigen...

Zitat von: Henri am 04. Februar 2023, 02:56Man sollte nie aufhören, sich auszutauschen.

Das dachte ich auch immer. Die Wissenschaft zum Beispiel war schon immer außerhalb der Politik. Aber die Zeiten haben sich geändert, und die Politiker von heute haben ihre Politik in buchstäblich alle Bereiche des menschlichen Lebens gezogen. Schlechte Zeiten...