-         
+ Antworten
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: Problem mit Demo Batteriespannung messen RNBFRA-Board

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    09.03.2004
    Beiträge
    178
    Hallo Frank und natürlich auch alle anderen,

    nachdem ich das Board jetzt komplett zusammengebaut habe und die meißten Tests super liefen, erstmal ein großes Danke für die Entwicklung und das Zusenden der Einzelteile.
    Wobei bei Letzterem leider ein Teil fehlte:
    Der 22K Wiederstand R34
    Ist zwar in der Bestückungsliste, aber auch nicht in den Bestellisten der Doku mit aufgeführt !
    Nachdem ich mir also für 49,99Euro einen Wiederstand von Conrad gekauft habe (inkl. Spritgeld, Parkgebühren und einiger Dinge, die ich sonst nicht gekauft hätte) und das Testprogramm 7 geladen habe, bekam ich falsche Werte.
    Beim Verständnis des Programmes hatte ich noch das Problem wie der Faktor 4.31 zustande kommt, denn in dem Schaltbild der Doku ist R33 mit 5K angegeben. Nach diversen Messungen der Spannung und der Wiederstände fand ich dann die Lösung ca.5,1K und 22/5,1 = 4.31, aha !
    Nur leider kommt das nicht mit den gemessenen Spannungen hin.
    Versorgungsspannung: 13V
    Spannung am ADC: 2.43V
    Messwert: 509
    Also 13/2.43 = 5.35 und nicht 4.31 !?
    Auch 509 * 5 / 1023 = 2.49 und nicht 2.43
    Nach einigem Forschen hatte ich denn auch die Eingebung das die Referenzspannung nicht 5V ist, sondern aus dem 7805 nur 4.96V geliefert werden, doch eine Differenz bleibt auch bei dieser Umrechnung noch.
    Ich würde es gene einfach nur Verstehen...

    P.S.
    Ist das "flackern" des letzten Bits am ADC eigentlich normal ?
    (hab ich auch bei diversen anderen Sensoren und verschiedensten Spannungen)
    Würde ein kleiner Kondensator da was bringen, oder sollte man nur die oberen 8-9Bits benutzen ?

  2. #2
    Administrator Robotik Einstein Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    4.943
    Blog-Einträge
    1
    Was hast Du denn nun für eine tatsächliche Spannung und was wird gemessen? Geringe Tolleranzen sind da immer denkbar, du hast ja schon selbst gemerkt das ein 5V Spannungsregler nicht immer genau 5V bringt. Im Schaltbild findest Du den Spannungsteiler (R33/R34) der zum messen der Spannungen genutzt wird. je nachdem was du da für Widerstände eingesetzt hast, kannst Du Dir ausrechnen was für Spannung abfallen sollte (normal 22k und 5k). Diese muß dann nur noch per Fomel in das Verhältnis zur Referenzspannung gebracht werden. Normalerweise soltte das beim Demo schon recht genau stimmen. Wie sieht Vergleich zum Messgerät aus? Aber vergess nicht das du unter gleicher Belastung messen mußt.

    Meinst DU mit fleckern das die letzten Stellen des Messergebnisses immer wechseln? Das ist mehr oder weniger normal, zumal auch die Stromentnahme ja je nach Rechenoperation und Motorregelung ständig wechselt, von daher ändert sich auch die Spannung immer um ein paar Millivolt.
    Ich würde Ergebnis einfach per Software runden oder ein paar Stellen abschneiden. Gibt glaub auch entsprechende Formatieranweisungen in Bascom.
    Sorry wegen dem fehlenden Widerstand!

    Gruß Frank

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    09.03.2004
    Beiträge
    178
    Was gemessen wird ? Das habe ich doch gerade beschrieben:
    Versorgungsspannung: 13V
    Spannung am ADC: 2.43V
    Messwert: 509
    Programmausgabe: 10,72 Volt
    Alles "gleichzeitig" gemessen/ausgegeben...
    Die Abweichung ist für mein Gefühl zu groß, als das sie auf ""Greinge Tolleranzen" bzw. die Abweichung in der 5V Spannung zurück zu führen ist, oder ?

  4. #4
    Administrator Robotik Einstein Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    4.943
    Blog-Einträge
    1
    Hi Pirat ,

    ich meine bist Du sicher das die Versorgungsspannung genau 13V unter Belastung ist? Hast du das an den Boardanschlüssen unter den gleichen Belastungsbedingungen nachgemessen?
    Wenn Du das bestätigst kann ich es ja nochmal genau vorrechnen. Dann sehen wir ob es Toleranzfehler der Widerstände ist. Den könnte man dann natürlich leicht durch geänderte Formel korrigieren

    Gruß frank

    PS. Mit Messen meine ich "mit einem Meßgerät"

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    09.03.2004
    Beiträge
    178
    Hallo Frank,

    ja, die Versorgungsspannung ist genau 13,01 Volt gemessen mit einem Messgerät an den Eingangsschrauben der Stromversorgung des eingeschalteten Boards (ohne weitere Verbraucher z.B. Motor).
    In dem Augenblick des Ablesens vom Messgerät habe ich auch die Werte des Terminalprogrammes meines Computers abgelesen. (Ich habe den Messwert 509 zusätzlich zum Voltwert im Programm ausgeben lassen).
    Den Messwert ADC habe ich direkt an dem 22K Widerstand abgenommen.
    Den Messwert 4.96V habe ich an irgend einem 5V-Pin abgenommen (glaube JP5).
    Die Abweichungen der Widerstände vom Sollwert sind nur marginal (21,96K bzw. 5,08K).

    Bin gespannt auf Deine Rechnung...

  6. #6
    Administrator Robotik Einstein Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    4.943
    Blog-Einträge
    1
    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

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    09.03.2004
    Beiträge
    178
    Ah, die Formel für den Spannungsteiler ist also:

    Vout = Vin * R2 / (R1+R2)

    statt

    Vout = Vin * R1 / R2

    und den Rest verbuchen wir unter Tolleranz.

    Danke für die Klärung...

    Ulf

  8. #8
    Administrator Robotik Einstein Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    4.943
    Blog-Einträge
    1
    Nicht ganz, aber so ähnlich

    Genauer so:
    vout= vin * ((R33+R34)/R33)

    Ich hatte vergessen R33+R34 zu addieren und nur durch R34 geteilt.
    Ebenfalls danke für den Hinweis.

    Gruß Frank

  9. #9
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    09.03.2004
    Beiträge
    178
    Waaaaaaaaaaaaaaaas ?
    Ich glaube jetzt bist Du ein bisschen durch den Wind.
    Also nochmal ganz langsam:

    R1 = R34 = 22K
    R2 = R33 = 5,1K

    also

    Vout = Vin * R2 / (R1+R2)
    Vout = 13V * 5,1K / (22K+5,1K) = 2,45

    und nicht

    vout= vin * ((R33+R34)/R33)
    Vout = 13V * ((5,1K+22K) /5,1K) = 69,08 [-X

    Einverstanden ?

    Ulf

  10. #10
    Administrator Robotik Einstein Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    4.943
    Blog-Einträge
    1
    Hi,
    grins - nein bin nicht durch den Wind, wir reden nur etwas aneinander vorbei. Ich wußte nicht was du mit Vout und Vin meinst.

    Bei meiner Formel

    vout= vin * ((R33+R34)/R33)

    war vin die Spannung die am ADC des Mega anliegt. Ich dachte du wolltest daraus die volle Spannung berechnen (denn darin steckte ja der Fehler).

    also

    vout= 2,45 * ((5100+22000)/5100) = 13,01 V

    Wir müssen uns nur einigen was wir berechnen wollen
    Aber denke nu sind alle Unklarheiten beseitigt

+ Antworten
Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Ja
  • Themen beantworten: Ja
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •