Esp32 misst falsche spannung

OP #7008172
Lesenswert?

Hallo zusammen,

ich will mit meinem esp32 die Spannung von meinem Solarmodule messen 
dazu habe ich eine voltage divider eingebaut von 47k und 6.8k und mein 
Code ist
1
float readvolt = analogRead(34);
2
  float voltage = readvolt * ( 3.3/4095 ) * ( ( 47+6.8) / 6.8 );
3
  Serial.print(voltage, 1);
4
  Serial.println("v");
5
  delay(300);
aber im serial monitor wird wir eine Spannug von 6,4v angezeigt aber 
wenn ich mit einem Testo Multimeter nach messe bekomme ich eine Spannung 
von 7,6v.
Habe den voltage divider auch richtig eingebaut weil ich es schon öfters 
an mehren Arduino eingebaut habe

Schon mal danke für die Hilfe
Gast #7008181
Lesenswert?

entweder rechnest du die Spannung in Millivolt oder du castest die 
Integer Werte in float bevor du damit rechnest um dir keine 
Rundungsfehler reinzuholen. Die Klammersetzung der Formeln kann auch 
schiefgehen wenn man Int und float mischt.

float voltage = readvolt * ( 3.3/4095.0 ) * ( ( 47.0+6.8) / 6.8 );

float ist nicht die Stärke vom ESP32, also:

int voltage = readvolt * ( 3300/4095 ) * ( ( 4700+6800) / 6800 );

oder so ähnlich, bin zu faul um alles durchzudenken.

Vor allem am Analog Pin des uC auch die Spannung nachmessen um sicher zu 
gehen das der uC auch wirklich das misst was du denkst.
#7008188
Lesenswert?

Erst Mal die Basics.
Bei 7,6V müssten 0,96V am ESP ADC Pin anliegen. Liegen die an? Wenn nein 
dann hast du falsche Widerstände erwischt.

0,96V müssten nach dem ADC 1191 Digits geben. Ist das der Fall? Wenn 
nein, dann verwendest du wahrscheinlich eine andere Referenzspannung.

Wenn die obigen beiden Punkte richtig sind, ist deine Umrechnung falsch.
Beitrag #7008213 wurde von einem Moderator gelöscht.
OP #7008266
Lesenswert?

Stefan ⛄ F. schrieb:
> Johannes K. schrieb:
>> also zu Test habe ich es mit usb verbunden
>
> Ohne Spannungsregler? Wie hoch ist denn die Versorgungsspannung deines
> ESP32. Es sind maximal 3,6 Volt erlaubt.
Also habe den esp32 jetzt mit 3.3 volt betrieben aber da kommt die selbe 
falsche spannung raus wie bei 5volt über usb aber ich habe 
herausgefunden das der drop zu hoch ist obwohl ich den richtigen 
widerstände habe
0.9v sollte anstehen aber es sind 0.5v obwohl die ich eine 47k und 6.8k 
habe
Gast #7008275
Lesenswert?

Johannes K. schrieb:
> Brain 2.0 schrieb:
>> Schreib doch mal, was du für einen ESP32 hast. Oder ist das geheim ?
>
> ich habe eine ESP32-D0WDQ6
> tut mir leid das ich das nicht dazu geschrieben habe

Dann zeig doch mal deine Schaltung, wie du das Teil aufgebaut hast.
Um den Chip gehören noch eine Menge Teile, du du hoffentlich auch 
eingesetzt hast.
Beitrag #7008287 wurde von einem Moderator gelöscht.
OP #7008288
Lesenswert?

Brain 2.0 schrieb:
> Johannes K. schrieb:
>> Brain 2.0 schrieb:
>>> Schreib doch mal, was du für einen ESP32 hast. Oder ist das geheim ?
>>
>> ich habe eine ESP32-D0WDQ6
>> tut mir leid das ich das nicht dazu geschrieben habe
>
> Dann zeig doch mal deine Schaltung, wie du das Teil aufgebaut hast.
> Um den Chip gehören noch eine Menge Teile, du du hoffentlich auch
> eingesetzt hast.
achso ne habe einen fertigen
https://www.amazon.de/AZDelivery-NodeMCU-Development-Nachfolgermodell-ESP8266/dp/B074RGW2VQ/ref=sr_1_3?crid=3KMAXR4NO7UZQ&keywords=esp32&qid=1647699808&sprefix=esp%2Caps%2C132&sr=8-3
Gast #7008387
Lesenswert?

Norbert schrieb:
> Wäre das vielleicht ne schöne Alternative?
> float voltage = readvolt * ( 3.3/4095 ) * ( 6.8 / ( 47+6.8) );

Bestimmt nicht.
Er will ja ein höhere Spannung, die durch 47k und 6k8 um den Faktor 7,9 
geteilt wurde, wieder zurückrechnen auf den korrekten Wert.
#7008392
Lesenswert?

Johannes K. schrieb:
> da zeigt er ja schon was falsches an
Tja, nur was? Wenn du jetzt noch die Werte von readvolt und deiner 
gemessenen Spannung ausgibst, dann kommen wir vielleicht weiter.
Der ADC des ESP32 ist nicht besonders gut. Außerdem muss man aufpassen, 
dass der 2. ADC nicht nutzbar ist, wenn man WLAN verwendet. Also alle 
Analogeingänge über A9 dann besser nicht benutzen.

Zum "krummen" ADC des ESP32 hatte ich hier mal was geschrieben:
Beitrag "ESP32 ADC für 0-5V"
Gast #7008420
Lesenswert?

HildeK schrieb:
> Bestimmt nicht.
> Er will ja ein höhere Spannung, die durch 47k und 6k8 um den Faktor 7,9
> geteilt wurde, wieder zurückrechnen auf den korrekten Wert.

Hast du natürlich recht. Klarer Fall von premature posting.
Das mir das in meinem Alter noch passiert. ;-)
Gast #7008714
Lesenswert?

Hi,

zunächst die Frage : welche Referenz verwendest du und sind die Eingänge 
des ad Wandlers gemäß Datenblatt geschaltet (abblock-kondensatoren 
etc.)?

Welche Toleranz haben die Widerstände des Spannungsteilers? Um hier 
verlässliche Ergebnisse zu haben, sollte das 1% oder kleiner sein.

Berechne welche werte am eingang des AD Wandlers anliegen sollten. Miss 
damn mal die Spannungswerte nach und vergleiche sie mit den errechneten 
werten. Stimmen diese über ein?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren