STM32 VBAT ADC-Spannungsmessung bei niedrigen Spannungen falsch

Ich habe ein Problem mit der VBAT-Spannungsmessung an einem STM32F401VB. Wie im Bild unten zu sehen ist, ist der ADC-Ausgang im oberen Bereich der Eingangsspannung korrekt (identisch mit dem berechneten Wert „ADC Should“), aber falsch, wenn die Eingangsspannung unter ca. 1V fällt. GraphBei einer Eingangsspannung von 0 V beträgt der ADC-Wert 239, obwohl er nahe bei Null liegen sollte. Die anderen ADC-Kanäle funktionieren wie erwartet, daher denke ich, dass dies etwas mit der internen VBAT-Schaltung zu tun hat.

Weiß jemand woran das liegen könnte?

Was ist die Quellenimpedanz und wie ist sie angeschlossen? Dies sieht aus wie ein Schottky-Diodentropfen.
" Der Pin V BAT ist intern mit einem Brückenteiler durch 2 verbunden. Diese Brücke wird automatisch aktiviert, wenn VBATEN gesetzt ist, um V BAT /2 mit dem Eingangskanal ADC1_IN17 zu verbinden. Als Folge davon ist der umgewandelte digitale Wert die Hälfte von V BAT Stromspannung." Sieht aus wie ein internes ST-Problem bei der IN17-Erkennung in der Nähe von GND.
Der interne Teiler hat eine ziemlich hohe Impedanz und es wird eine lange Abtastzeit benötigt, um die richtigen Werte zu erhalten. Erhöhen Sie die Zeit und lesen Sie mehr als einmal. ignoriere den ersten.
Die Quelle ist ein Spannungsteiler, der mit der Batterie verbunden ist, aber seine Impedanz sollte keine Rolle spielen, da die VIN-Spannung die Spannung am VBAT-Pin ist, also sollte nur die interne Schaltung von Bedeutung sein. Die Abtastzeit ist bereits auf dem höchsten Wert und der gemessene Wert ist nicht von der Spannung abhängig, die an den Kanal angeschlossen ist, der vor dem VBAT-Kanal umgewandelt wird, daher denke ich nicht, dass die Ladezeit des Abtastkondensators das Problem ist. Aber um sicherzugehen, werde ich versuchen, den ADC-Takt zu senken und mehrere VBAT-Messungen durchzuführen, wie Sie vorgeschlagen haben.
Was auch immer die Fehlerursache ist, wenn sie nur die Genauigkeit von Vbat betrifft, ist alles unter 1 V sowieso tot.
Ich verwende den ADC, um eine Eingangsspannung zu messen, die über einen Spannungsteiler mit VBAT verbunden ist, daher muss sie auf etwa 0,7 V genau sein. Die Verwendung eines regulären ADC-Kanals ist leider keine Option, da sie alle für etwas anderes benötigt werden. Ich könnte den Fehler in der Software beheben, aber ich würde es vorziehen, wenn möglich die tatsächliche Ursache zu finden und zu beheben.
Das Absenken des Takts und mehrmaliges Abtasten vor der Verwendung des Ergebnisses ändert den Wert nicht, sodass die hohe Impedanz des internen Spannungsteilers und die Ladezeit des Abtastkondensators nicht das Problem sind.
Messen Sie die Spannung am eigentlichen Vin-Pin? Ich meine, es gibt eine direkte Kupferverbindung von dort, wo Sie messen, zum ADC-Eingang? Keine Widerstände oder Puffer oder andere Schaltkreise in Reihe?
Wenn dies ein spezieller VBAT-Pin ist und kein Standard-ADC-Pin, haben sie sich möglicherweise nicht die Mühe gemacht, ihn unter 1 V zum Laufen zu bringen.
Es scheint, dass Sie nichts falsch gemacht haben und Ihre Erwartung berechtigt ist. Dies sollten Sie direkt mit ST besprechen. Ich bin sicher, dass sie einen Field Application Engineer haben, der helfen kann. Oder wenn nicht, ein Forum, wo die Frage gestellt und von jemandem von ST beantwortet werden kann.
Ja, ich habe direkt am Stift gemessen. Ich habe ST kontaktiert und sie haben im Grunde nur geantwortet: "Sie verwenden den VBAT-Pin außerhalb seiner Spezifikationen (unterhalb der Mindestspannung)". Es scheint also, dass der Pin nicht direkt über einen Spannungsteiler mit dem ADC verbunden ist, sondern über eine Schaltung, die unter 1 V nicht funktioniert.

Antworten (1)

Sieht so aus, als könnte es mit Lärm zusammenhängen. Angenommen, Sie können Folgendes versuchen:

  • Stellen Sie am ADC eine längere Abtastzeit ein und prüfen Sie, ob sich die unteren Endwerte verbessern. Wenn sich das etwas verbessert, nehmen Sie vielleicht sogar 4-5 Messwerte und mitteln Sie sie (möglicherweise ignorieren Sie den ersten).
  • Messen Sie den Eingang zum ADC mit einem Oszilloskop und prüfen Sie, ob wirklich ein Grundrauschen von etwa 0,5 V vorhanden ist (scheint seltsam, hängt aber davon ab, was sich sonst noch auf der Schaltung befindet)
  • Prüfen Sie ggf., ob für den ADC ein eigener Stromversorgungs-Pin vorhanden ist. VREF oder AVCC wird manchmal genannt, hängt aber vom Chip ab. (Ich weiß, dass einige STM32-Chips dies haben) und befestigen Sie Kappen und Ferrite, um die Referenzspannung sauberer zu machen.
  • Versuchen Sie im schlimmsten Fall, einen externen ADC-Pin für Ihre Batterie zu verwenden, und prüfen Sie, ob das besser ist. Wenn dies der Fall ist, scheint es einzigartig für die interne VBAT-ADC-Schaltung zu sein, die ein STM-Problem und nicht Ihr eigenes sein könnte. (Überprüfen Sie die Errata-Dokumente für Ihren Chip. Dort werden normalerweise bekannte Probleme veröffentlicht.)
Die Abtastzeit ist bereits auf dem höchsten Wert und das gemessene Rauschen ist viel niedriger als 0,5 V. Die anderen ADC-Pins funktionieren gut, aber leider werden sie alle für etwas anderes verwendet, also muss ich den VBAT-Pin verwenden. Ich denke, der VBAT-Pin ist nicht direkt über einen Spannungsteiler (wie im Datenblatt beschrieben) mit dem ADC verbunden, sondern über eine Schaltung, die unter 1 V nicht funktioniert. Die Errata erwähnt dies nicht, aber als ich ST kontaktierte, erhielt ich die Antwort "Sie verwenden den VBAT-Pin außerhalb seiner Spezifikationen (unterhalb der Mindestspannung)". Also werde ich es wohl nicht zum laufen bekommen.
Ja, wenn Sie sich das Datenblatt ansehen, verwenden Sie es unterhalb seiner Grenzen.