Messung der Vsys beim Pico

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Die Betriebsspannung beim Pico beträgt ja theoretische 3,3V. Nach Messung liegt diese bei ca, 3.2..V. Mit dem ADC3 kann man ja die Spannung messen. Der Pico verfügt ja dazu über einen 12 Bit wandler. Damit kann ich dann Werte von 0 - 4095 ausgeben. Die anderen ADC werden ja von Python auf 16 Bit umgerechnet. Wenn nich mir mit diesem Programm den Wert anzeigen lasse komme ich auf bis zu 8100.

    Finde keinen Grund für diese Werte.

  • Da stimmt etwas nicht. Bei der Messung der Spannung ADC3 liegen doch max. 3,3V an. In Wirklichkeit so was bei 3,2...V. Der angezeigte Wert liegt bei ca. 8100 +/-. Wenn ich diesen Wert durch 65535 teile bekomme ich was bei 0. Wenn ich ein anderes Bit annehme z.B. 8192 (13 Bit ?) kommt wieder was bei. Wenn ich dann noch * vref nehme kommt was bei 3,... V raus. Wie gross ist aber vref? 3,3V oder 3,2V oder was dazwischen?

  • Ich habe noch ganz andere Zahlen.

    Bei mir (RP2040 kein Wifi) liegt am VSYS Pin 4.9V an (jetzt sind es 5V) und ADC(Pin(29)).read_u16() gibt den Wert 33768 aus.

    In der Doku steht auf Seite 7, dass VSYS an GPIO29 (ADC3) angeschlossen ist. Auf Seite 24 ist unten rechts VSYS abgebildet:

    Wenn ich das richtig verstanden habe, fällt 2/3 der Spannung von VSYS am R5 ab.

    D.h. bei genau 5V VSYS müsste man am R5 3.33V messen, also 65535 sofern die Umwandlung nach 16 Bit keine Programmierfehler hat.


    Wo liegt hier der Denkfehler?

    Code
    ADC(Pin(29)).read_u16() / 65535 * 3.3
    1.70038

    Das kann doch nicht richtig sein!!!!!

    PS: Pin 36 scheint nicht richtig zu sein. Die Nummerierung der GPIOs unterscheidet sich von der Nummerierung der Pins des RP2040.

  • die Messspannung kommt nur durch wenn die 3,3V am Pico anliegen und der ADC bekommt nur 1/3 nach dem Bild von:

    RestlessMud46765
    15. Januar 2023 um 19:41

    Den maximalen Wert Digiwert gibt der ADC nur aus bei Messspannung = Uref.

    und mit

    https://www.elektronik-kompendium.de/sites/raspberry-pi/2701241.htm

    Zitat

    Wie funktionieren ADCs?

    Im Prinzip wird eine Spannung am ADC-Eingang gemessen, die zwischen 0 und 3,3 Volt (bei einem Raspberry Pi Pico) liegen darf

    scheint es klar zu sein das es nur eine Uref gibt die PICO VCC, die IRGENDWO um 3,3V liegt, kann auf Grund von Toleranzen irgendwo von 3,xx bis 3,yy liegen.

    Wer mit 3,3 V rechnet kann also Fehler einbauen oder er gleicht es mit einer Referenzquelle ab und baut eine Korrektur ein.

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • Morgen an die Runde

    Habe mich etwas mehr mit dem Pico und der VSYS beschäftigt. Dabei sind mir ein paar Sachen aufgefallen.

    Die Einspeisung erfolgt zur Zeit über den USB vom PC, also ca. 5V. Intern wird ja die Spannung für den Pico auf 3,3V geregelt. Wenn ich die Spannug messe (mit einem guten Messgerät) habe ich Anzeigen so zwischen 3,2.. bis 3,3... mit starken Schwankungen. Da ich den wert nicht durch 16 Bit teile kann um eine Anzeige zu erhalten mache ich es mit 8192 (13 Bit). Wenn ich mir die Werte anzeigen lasse bekomme ich Anzeigen die manchmal grösser als 13 Bit sind. Wieso?

    Wenn ich die VSYS als Ref zur Messung nehme bekomme ich die Schwankungen im Messwert angezeigt. Werde jetzt ein extra IC für die Ref nehmen. Trotzdem erhalte nach der Umrechnung mit 16 Bit starke Abweichungen von teilweise 10-20% vom errechneten Wert. Die Sache ist mir sehr unklar.

    Erfolgt die Umwandlung des ADC von der max anliegenden Spannung oder bezieht es sich auf 3,0 oder 3,3V?

    LG achim

  • Erfolgt die Umwandlung des ADC von der max anliegenden Spannung oder bezieht es sich auf 3,0 oder 3,3V?

    unabhängig vom Prozessor: immer von Vref. Wie diese Referenzspannung erzeugt wird liegt am Prozessor / ADC / ggf. Aussenbeschaltung des Wandlers.

    Hab' keinen Pico, kann also in dieser Richtung nicht nachforschen.

    Andererseits vermute ich mal, dass die Vref intern von der Anliegenden Betriebsspannung (also 3.3V) abgeleitet wird. Wenn diese zu stark schwankt, dann gibt's auch schwankende Messergebnisse.

  • Moinsen,

    Der RAW oder Rohwert eines ADCs bemisst sich aus dem Teilungsverhältnis zwischen der Eingangsspannung und der Referenzspannung sowie der Auflösung.

    Wenn du rein das RAW auswertest, dann führt eine kleiner werdende VRef zu einer Vergrößerung des Rückgabewertes, und umgekehrt zu einer Verkleinerung.
    Bei der mathematischen Umrechnung in eine Spannung,wird leider, oder jedoch immer nur von einer konstanten VRef ausgegangen.
    Das Hauptproblem in der mathematischen Auswertung ist, dass man die eigene Boardspannung nicht selber unter den Umständen wirklich genau messen kann, wenn diese auch schwankt. Weil das wäre eine Vergleich mit sich selber.

    Damit ist die Güte der Spannung bezüglich der Restwelligkeit egal über welchen PIN / Port eingespeist immer der maßgebende Punkt für eine genaue Nutzung der ADCs.

    Franky

  • Im Datenblatt auf Seite 17 (4.3. Using the ADC) ist vieles dazu recht klar gesagt.

    Die Referenzspannung von 3,3 V wird aus der Versorgungsspannung mit einem Spannungsregler erzeugt und ist von ziemlich bescheidener Qualität. Zudem gibt es einen Offset bei der Messung.

    Es sind dort auch verschiedene Möglichkeiten erläutert, wie man das ggf. verbessern oder die Referenzspannung durch eine externe Referenzspannungsquelle ersetzen kann.

    Ein USB-Port als Spannungsversorgung ist sicher nicht besonders zuträglich. Nimm doch erst mal ein ordentlich stabilisiertes Netzteil und schau, dass du überhaupt halbwegs vernünftige Werte bekommst. Dann kannst du immer noch schauen, ob du mit Mittelwerten mererer Messungen hin kommst oder eine genauere Referenzspannung benötigst. Für letzteres gibts ja entsprechende Chips zu kaufen.

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

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!