RP Pico Spannung über 5V von externen Stromkreis messen

  • Hallo Leute,

    ich habe eine Frage über ein Problem, das mit den ADCs des Raspberry Pi Picos zu tun hat. Ein Freund und ich versuchen momentan, ganz simpel, mit einer Solarzelle eine Powerbank zu laden. Zwar haben die meisten Powerbanks einen Ladeschutz, auf den wir aber, mit unserer 20€-China-Powerbank, nicht 100% vertrauen wollen. Wir haben es bereits geschafft, dass die Ausgangs-Spannung U2 bei 5V bleibt, wenn die Eingangs-Spannung U1 durch die Solarzelle über 5V liegt. Jetzt wollen wir aber noch, dass falls die Eingangs-Spannung U1 unter 5V fällt, der Stromkreis unterbrochen wird. Dazu dachten wir uns, ein RP Pico würde sich anbieten, da dieser später auch noch sehr nützlichen werden könnte. Nun haben wir aber zwei Probleme: die ADCs können nur Spannung bis 3,3V messen (die Spannung liegt aber über 5V) und anscheinend "verschwindet" der Strom der in den ADC läuft in dem Pico. Bei dem ersten Problem dachten wir uns, wir könnten es mit einem Spannungsteiler probieren. Was wir mit dem zweiten Problem meinen ist, dass es uns am liebsten wäre, wenn die Spannung, die in den ADC, läuft nicht in der Masse des Picos verschwindet (vermuten wir zu mindestens so), sondern wir wieder in den Stromkreis der Solarplatte einfließen lassen würden. Wir hoffen, man kann diese etwas hackligere Erklärung verstehen ;).

    Als absolute Anfänger auf diesem Gebiet, fragen wir uns, wie denn der Stromkreis dazu aussehen würde. Es wäre nett, wenn jemand Vorschläge dazu anbringen könnte (am aller Besen mit Skizze, da wir auch oft von dem Fach-Chinesisch, das man manchmal in solchen Foren findet, verwirrt sind)

    Der Einfachheit halber:

    - Ihr könnt gerne die Solarzelle als Stromquelle, die immer 5V oder drunter liefert, und die Powerbank als normalen Verbraucher einzeichnen

    - Der RP Pico muss seinen Strom nicht aus dem Stromkreis der Solarplatte beziehen


    Bei Fragen und Missverständnissen, wegen unserer etwas umständlichen Erklärung, bitte einfach fragen

    Vielen Dank,

    Niklas

  • Spannungsteiler (unbelastet) wäre schon der richtige Ansatz.
    Keine Angst, da geht nichts im Pi verloren. Man sollte aber die maximale Spannung nicht überschreiten, sonst geht der ADC kaputt.

  • Hallo,


    ich würde hier einen ähnlichen Ansatz wie Mimamau verfolgen.
    Der Spannungsteiler ist schon richtig, wenn es um die Einstellung der Maximalspannung für den ADC geht.
    Nur über einen Spannungsteiler fließt auch ständig ein Strom, der den Akku früher oder später entlädt.
    Hier kann man nun mehrere Ansätze verfolgen, um diesen Stromverlust zu eliminieren.
    Die einfachste Möglichkeit ist ein OPV der via SHDN ein und ausgeschaltet werden kann. Dazu benötigt man einen Rail-to-Rail OPV, welcher auch mit der Maximalspannung deiner Stromeinspeisung = Vc des OPV klar kommt. Diesen beschaltet mal wie folgt:


    Damit erreicht man ein Stromverstärkung für den Spannungsteiler. Zudem muss vor dem Meßvorgang der OPV, welcher auch gleich mit der Spannung des Akkus betreiben werden kann nur noch via des SHDN Signals eingeschaltet werden. An den Ausgang Ua kommt dann der 1:1 Spannungsteiler, der bei 10kOhm / 10kOhm dann bis zu einer Eingangsspannung Ue von 6,6 Volt = 3,3 Volt am ADCs Eingang des Pico betrieben werden kann. Nach Beendigung der ADC Abfrage setzt man den SHDN wieder auf den anderen Pegel, und damit fließt auch kein Strom mehr durch den Spannungsteiler. Gute Rail-to-Rail OPVs haben einen Ruhestrombedarf im Bereich weniger nA ( Nano-Ampere) was man somit wirklich vernachlässigen kann.
    Noch dieser Hinweis. SHDN gibt es als SHDN und mit einen Querstrich oberdrüber.
    Hier gibt es auch die Angabe CS ! Das heißt, bei SHDN mit Querstrich muss an dem PIN eine positiven Spannung größer 0,2 * Vc anliegen, damit diese Funktion ( Einschalten ) aktiv wird. Bei CS ohne Strich ist es wie bei SHDN mit Strich, also es muss ein Spannung anliegen, und bei CS mit Strich muss dieser PIN auf GND gezogen werden, damit der Chip / OPV aktiv wird. Das kann man aber ggf auch recht einfach testen.
    Einfache Merkhilfe. SHDN ohne alles heißt - liegt eine Spannung an, schaltet der OPV ab, mit Strich darüber ist es genau umgekehrt. CS verhält sich genau anders herum wie SHDN.

  • Also du nimmst einen OPV, um den Strom zu verstärken, und dann an einen Spannungsteiler zu lenken, der möglichst wenig Strom verbraten soll und für den Betrieb des OPV verwndest du den Akku, der von der Solarzelle geladen werden soll... Kann es sein, dass da "die Brüh teurer kommt, wie die Brocken"?

    Ein Spannungsteiler im Bereich von 100 KOhm lässt bei 5 Volt 50µA durch. Bei welcher Solarzelle bzw. Powerbank fällt denn sowas ins Gewicht? 100 Stunden laden mit diesen 50 µA mehr brächte gerade mal 5 mAh Akkuladung zusätzlich.

    Schon die Versorgung des Pico braucht mehr Strom als die ganze Sache wert ist.

    Bei Solarzellen ist die Spannung kaum von der Helligkeit abhängig. Insofern werden die 5 Volt, wenn sie im Normalfall eingehalten werden, auch bei hoher Lichtstärke kaum überschritten. Wäre es nicht im Zweifel einfacher, eine Überspannung einfach mit einer Suppressordiode oder einer Zenerdiode zu kappen?


    Abgesehen davon: Wenn man einen Spannungsteiler "abschalten" will, würde es doch auch genügen, ihn nicht direkt mit GND zu verbinden, sondern an einen GPIO anzuschließen und diesen auf hochohmig (Input ohne Pullup/down) zu schalten. Wem das suspekt ist, der kann auch einen Mosfet nehmen, um den Spannungsteiler auf GND zu legen.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

    Edited once, last by Gnom ().

  • Hallo,


    mal abgesehen von deinen Vorschlägen, die in der Tat umsetzbar sind, was hier keiner bestreiten möchte, ist keine Aussage gemacht worden, wie weit sich der Spannungsteiler von der eigentlichen Batterie entfernt befindet - Leitungslänge !

    Betrachtet man nun diesen Teil der Schaltung und was ebenfalls bekannt ist: hochohmige Spannungsteiler werden sehr empfänglich für Störeinstrahlung, wenn die Zuleitungslänge anwächst. Dann beginnt auf der Seite zwischen Spannungsteiler und dem ADC Eingang die nächste, viel größere Baustelle. Man benötigt RC Filter, oder auch kleine Glättungskondensatoren, die wiederum zu einer Meßwertverscheibung führen können. Da der Strom im geschalteten Zustand nur eine Momentaufnahme ist und sich bei einem OPV, oder einem MOSFET, der auch einen Innenwiderstand mitbringt, sollte man die Summe bestehend aus Anzahl der Messungen / Zeiteinheit mit dem Dauerstrom ohne aktiv geschaltetes Element mit einander vergleichen, und dann eine Entscheidung treffen. Hier muss oder kann man aufwendige Berechnungen ausführen, um zu sagen welche Methode ist über eine Betriebszeit wirklich sparsamer.

    Es weiß auch niemand, weil auch dieses nicht ausgeführt wurde, wie oft oder alle welcher Zeiteinheit eine solche Spannungsmessung vorgenommen werden soll ? Wenn man den Vorgang als solches betrachtet, wie viele Messungen ein RP2040 pro Sekunde machen kann, dann sollte klar sein, dass es ein Irrweg ist, bei einer Samplingrate von 500kS/s hier Dauermessungen / Sampling durchzuführen. Das wird ein ganz tolles EKG ;) -> Hier kann man problemlos in den Bereich von maximal 5 Messungen / Sekunde bis auf eine Messung aller 1 bis 5 Sekunden runter gehen.

    Auch von der Methode einen GPIO Pin Hochohmig zu machen, damit kein mittelbares GND Potential anliegt, würde ich tunlichst die Finger lassen, wenn nicht alle Teile der Schaltung 100 % berührungssicher ausgelegt sind. Ein statisch aufgeladenes Menschlein, durch Kunststoffklamotten, Kunststofffußboden, oder was auch immer und dann ein kurzer Kontakt mit der Plus führenden Leitung, ohne das eine gemeinsame Masse am GND Ausgang des Spannungsteilers besteht, und schon war es das letzte Aufbäumen des Pico ! Wenn man Glück hat, hat man nur den GPIO zerschossen, wenn man Pech hat, waren es die letzten Zuckungen des RP2040 ! Ich hoffe du weißt, dass sich ein Mensch durchaus auf über 12KV aufladen kann ?

    Hier wäre dann ein niederohmiger Spannungsteiler vom Vorteil, den man aber auch den Strom geben muss, dass man sich nicht mit Störfeldern die über die Zuleitung eintragen werden herumärgern muss, und zudem ständig ein GND Potential anliegt.

    Und ob es wirklich Sinn macht das Plus über einen MOS zu schalten, darüber können sich die Geister streiten.

    Steffen.

  • Moinsen,

    Hier muss man mal wieder, Entschuldigung hyle feststellen, daß Gnom in diesem Falle nur wieder an dem Thema vorbei diskutiert, und absoluten Unsinn verbreitet ! Was ich natürlich auch anhand eine Auflistung widerlegen möchte.
    Dazu beziehe ich mich auf seine Aussage, daß das PICO als µController einen viel zu hohen Eigenstromverbrauch hätte.

    Nach der Formel P = U * I erreichtet sich das ganze wie folgt:
    laut Herstellerangabe
    0,4 W bei Vc 5,0 Volt ergibt einen Strombedarf von 80 mA unter Vollast, und

    0,006 W bei Vc 5,0 V ergibt einen Strombedarf von 1,2 mA im IDLE Modus.


    Jetzt weiß ich nicht was sich Gnom darunter vorstellt, wie man ein Spannung messen und darstellen kann und das mit noch weniger Strom ? Also rechnen wir mal weiter.
    Gut, wir brauchen noch eine Anzeige.
    Was steht theoretisch zur Auswahl ?
    - eine 4x7 Segmentanzeige mit TM1637, die schon mal ganz sportliche 30 mA bis 80mA verbraucht ( 2 Datenleitungen )
    - ein einzeiliges LCD Display welches 3 mA ohne Hintergrundbeleuchtung, und bis zu 120 mA mit Hintergrundbeleuchtung verbraucht ( mit I²C Adapter auch nur 2 Datenleitungen )
    - ein kleines OLED 0,96"" Display bei 3,3 Volt mit 12 mA ( 2 Datenleitungen )

    - ein E-Paper mit einem Ruhestrom von 0 mA, und während der Änderungsphase das Darstellungsinhaltes von 5 mA ( Minimum 5 Datenleitungen für den SPI Bus )

    ( Nur um mal eine kleine Auswahl zu präsentieren )
    Das sind Verbrauchswerte die vollkommen unabhängig der Meß- und Auswerteeinheit anfallen.
    Nehmen wir jetzt mal einen anderen Vertreter aus der Reihe der µController - einen AVR ATTiny85, der auch alle Displays mit einer 2 Drahtanbindung ansteuern kann, geht aus dem Datenblatt hervor, das dieser in aktiven Phase ohne den IDLE Modus schon einmal 2,65 mA nur für den ADC verbraucht. Dazu kommt noch der Grundstromverbrauch von 1,3 mA mit einem aktiven GPIO als Input + 0,96 mA pro aktiven GPIO Ausgang (also mal 2 ). Damit liegt während der Meß- und aktiven Displaydarstellungsphase der Stromverbrauch unabhängig des Displayverbrauchs bei knapp 6 mA.
    -> Gut kann man machen. Aber man benötigt hier noch einen Programmer, zudem muss man die Schaltung selber entwickeln sowie aufbauen. Aber auch der Stromverbrauch, der durch den Spannungsteiler fließt liegt ungefähr bei den Werten die Gnom genannt hat. Wie immer, das Display ist in dieser Berechnung noch nicht enthalten. Im IDLE Modus würde dann jedoch Stromverbrauch auf 20µA absinken. Beachtlich, aber nicht mit jedem Display-Typen möglich !
    Ebenso ist ohne Adaptierung keine E-Paper Nutzung möglich. Denn dem Tiny85 fehlt, selbst wenn man den Reset-Pin Weg-Fused und als vollwertiger GPIO zur Verfügung stehen würde damit ein PIN ( 8 DIP ) minus Vc und GND = 6 GPIO-Pins minus ein GPIO als ADC Eingang wären 5 Pins für die E-Papersteuerung. Was aber nicht ausreicht um auch aktiv die Elektronik des E-Paper abzuschalten. Die meisten E-Paper benötigen 6 Datenleitungen + 2 Leitungen für Vc und GND.
    Damit zu all den größeren Typen aus der Tiny bzw Mega Reihe / somit auch ein MEGA328 basierendes Arduino Board.
    Wenn wir jetzt hier die Stromrechnung aufmachen, liegt Dank der nicht abschaltbaren virtuellen USB-Seriellen Schnittstelle der Gesamt- und Ruhestromverbrauch selbst bei aktiver und intensiv genutzten IDLE ( Stromsparmaßnahmen ) Modus hier sogar über dem was ein PICO verbrauchen würde.

    Damit sollte der TO erst einmal die Entscheidung treffen, wie viel Strom ihm eine solche Anzeige Wert ist, wenn diese wie auch die Meßeinheit direkt mit aus oder über diesen "Solar-Akku" versorgt wird.

    Bezüglich der Betrachtungen "Wie legt man einen Spannungsteiler aus ?" stimme ich den Ausführungen von SteffenMurks dahingehend zu, das ein niederohmiger Spannungsteiler, wenn dieser geschaltet ( OPV ) verwendet wird hier sehr wohl dazu beitragen kann äußere Störeinflüße zu minimieren. Jedoch würde ich dann den R2 (zu GND) sogar noch kleiner auslegen, und diesen in der Größenordnung um die 4 - 5KOhm dimensionieren.
    Hier ist dann die Stromrechnung sehr einfach aufzumachen.
    Für die eigentliche Messung steigt dann der Strombedarf auf 2mA die durch den OPV fließen, inkl. des Eigenbedarfs dieses - hingegen während der Ruhephase der Strombedarf auf ca. 10nA absinkt.
    Um den Dauerstrombedarf von 50µA bei diesem hochohmigen Spannungsteiler ala Gnom darzustellen reicht hier ein Reduzierung der Meßzyklen je Zeiteinheit. Nehmen wir hier noch die aktive Verzögerungszeit des OPV nach dem Einschalten mit in diese Berechnung auf, die 0,01 µSek beträgt. Dazu die Meßzeit die der ADC zur Erfassung benötigt von 2 µSek , haben wir eine Stromverbrauch von 2,6mA / 2,1µSek für den OPV + Spannungsteiler. Rechnet man nun noch den Stromverbrauch des µControllers als aktives Element hinzu, kann man damit 23 Messungen pro Sekunde bei konsequenter Umsetzung des geschalteten OPV wie auch des Sleep-Modus des µControllers umsetzen, ohne das man diese permanent fließenden 50 µA über einen längeren Zeitraum betrachtet überschreiten würde. Auch diese Betrachtung rein theoretisch, ohne den Stromverbrauch des anzeigenden Displays mit einzubeziehen.

    -> Wenn du, NiklasB also mit weniger als 23 Einzelmessungen pro Sekunde auskommst, oder sogar nur im Sekundentakt eine solche Messung und Darstellungsänderung beabsichtigst durchzuführen, ist die Methode von SteffenMurks sehr wohl geeignet den Stromverbrauch zu senken, wenn man den eingesetzten Spannungsteiler nicht permanent stromdurchflossen läßt.

    Damit ist nicht der µController der Stromfresser, sondern ausschließlich die Auswahl des Displaytyps wird hier der entscheidende Punkt wie viel Strom eine solche Meß- und Anzeigeeinheit über den Akku abzieht und diesen dann vorzeitig leer saugt.

  • Vielen Dank für all die Rückmeldungen! Wir werden es mal mit euren Lösungsansätzen ausprobieren

  • Eigentlich braucht es wenn nur um den Schutz vor Unterspannung geht, für so eine Aufgabe keinen Mikrocontroller. Das bekommt man auch mit nur einem OPV und etwas "Hühnerfutter" hin. Mögliche Suchworte wären: OPV als Spannungswächter bzw. OPV Komparator o.ä.

  • Moinsen,

    Eigentlich braucht es wenn nur um den Schutz vor Unterspannung geht, für so eine Aufgabe keinen Mikrocontroller. Das bekommt man auch mit nur einem OPV und etwas "Hühnerfutter" hin. Mögliche Suchworte wären: OPV als Spannungswächter bzw. OPV Komparator o.ä.

    Damit sind wir wieder bei der Frage, was verbraucht eine solche Schaltung - auch wenn es nur ein Window-Komparator ist - im Dauerbetrieb ? Der Spannungsteiler wird hier wieder zum Zünglein an der Waage. Geht man sehr hochohmig ins Rennen, hat man den Nachteil, dass auch der Komparator auf diese Eingangspannungsschwankungen reagiert. Keine wirklich gute Idee, wenn dann der OPV willkürlich in Abhängigkeit irgendwelcher Störungen diese ganze Apparatur ein- und ausschaltet.
    Nimmt man nun einen Tiefpass Filter, der je nach Umfeld was keiner von uns kennt, sogar aktiv ausgelegt werden muss, weil einfache RC Glieder nicht mehr ausreichen, benötigt man noch eine Spannunsgrefernezquelle, die auch gleich mal mit 280µ im Leerlauf zu Buche schlägt, dann noch je nach gewünschter Flankensteilheit des Filters nochmal bis zu 3 einzelnen OPV Elementen die nach dem Spannungsteiler zum Einsatz kommen müßten. Nimmt man hierfür einen typischen Vertreter wie den 6061 der auch wieder pro OPV Einheit 60µA verbrennt ;)
    Hier wird das mathematische Modell recht eng, um hier gegenüber einer µC Lösung bezogen auf den Dauerstromverbrauch bestehen zu können.
    Man kann hier auch ganz schnell ohne die realen Umgebungsbedingungen zu kennen, und ohne zu wissen, ob der TO auf eine Visualisierung vai LED oder einer Echtwert-Spannungsanzeige wert legt nicht nur Funktionsstörungen herbeiführen, sondern auch sinnlos Strom verbrennen.