Also hier nun mal die Berechnung mit den üblichen vorgegebenen Widerstandswerten:
Der Spannungsteiler besteht aus 22k und 5,1 KOhm
Bei einer Spannung von 13V berechnet sich der Strom durch den Spannungsteiler wie folgt:
I=u/r also I=13/(22000+5100)=0,0004797 A
Da wir nun den Strom kennen, können wir genau ausrechnen was an dem zweiten Widerstand (5,1k) abfällt und an den Controller geleitet wird:
U=i*r also u=0,0004797 A * 5100 = 2,4465 V
Somit stimmt das schon mal alles, denn Du hast ja 2.43V gemessen (diese ca. 0,1V sind Rundungsfehler und druch Tolleranzen begründet)
Also weiter:
Wir wollen ja die gesamtspannung messen, somit müssen wir erst mal ausrechnen welchet Teil der Gesamtspannung an den 5,1K überhaupt abfällt:
Teil=27000 / 5100 = 5,2941
Also die Gesamtspannung ist immer 5,2941 mal so groß wie die gemessene Teilspannung. Sie errechnet sich dann so:
Gesamtspannung=5,2941 * 2,4465 V =12,95V
Da der ADC natürlich die Teilspannung nicht direktzurückgibt, sondern nur den Bruchteil im Verhältnis zu einer festen 5V Referenzspannung, wird der Wert w noch mal REf genommen. Ref errechnet sich immer aus 5 / 1023 =0,0048876
Wie Du sagst wird bei DIr die 509 ermittelt.
Also die gemessene Spannung errechnet sich dann so
V= 509 * rev = 509 * 0,0048876 = 2,4878
Na das klingt doch gut, das haben wir doch oben auch so in etwa errechnet.
Also Gesamtspannung ist dann:
Gesamtspannung=5,2941 * 2,4878 V =13,17V
Du siehst es ist alles korrekt. Aber warum ist dann bei Dir das Ergebnis falsch? Ganz einfach, weil ich mich im Demo verrechnet hab Ich hatte in der schnelle den falschen Teilfaktor berechnet.
Die 4,31 muß natürlich durch die eben errechnete 5,2941 ersetzt werden. Sorry, aber irren ist halt menschlich.
Nu sollten alle Unklarheiten beseitigt sein. Ich Trenne den Thread mal auf, damit das korrigierte Demo besser gefunden wird
Hier das korrigierte Demo:
Code:
Const Ref = 5 / 1023
Dim I As Byte
Dim W As Word
Dim Volt As Single
Config Adc = Single , Prescaler = Auto
$baud = 9600
$crystal = 8000000 'Quarzfrequenz
Portd.6 = 0 'Schrittmotoren erst mal ausschalten
Start Adc
Do
W = Getadc(4)
Volt = W * Ref
Volt = Volt * 5.2941
Print "Spannung: " ; Volt
Waitms 200
Loop
End
Gruß Frank
Lesezeichen