- Akku Tests und Balkonkraftwerk Speicher         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 19 von 19

Thema: Schaltung für Tankgeber basteln. Hilfe gesucht...

  1. #11
    Unregistriert
    Gast
    Anzeige

    Powerstation Test
    Hallo und vielen Dank! Das hilft schon mal weiter. Spannungsmessung ist eine gute Idee. Ich müsste den Tank dann sowieso auslitern und mir eine Look-up Table machen bzw. eine Funktion interpolieren. Die Versorgung kommt unstabilisiert aus dem Bordnetz. Da könnt ich einen Baustein zum stabiliseiren dazwischenschalten, hätt ich rumliegen. Aber ich messe sowieso auch die Bordspannung und könnte diese Signal dann zum korrigieren verwenden.

    Habe den Spannugsabfall mal mit Multimeter gemessen und dieser dürfte 4,5 V nicht übersteigen (muss ich aber nochmal bei allen Zuständen genau prüfen). Dann könnt ich ja zwischen Kreuzmessinstrument und Widerstand direkt abgreifen und damit zum Analog-In des Arduino gehn (eventuell noch 5,1 V Z-Diode). Entsteht da nicht wieder so eine Art Spannungsteiler mit dem Innenwiderstand des Instruments?


    12 V o------------o
    |
    |
    R_instrument
    |
    |
    o-------------------o----------o Analog-In
    | |
    | |
    R_tankgeber Z-Diode
    | |
    | |
    GND o-------------- o-------------------o----------o


    Korrigieren heißt dann U_tankgeber = U_versorgung * R_tankgeber / (R_instrument + R_tankgeber). Stimmt das so? R_instrument könnt ich einfach mit Multimeter messen, wenn ich Kontakte abschließe, oder? Nein Blödsinn! R_tankgeber ist ja auch unbekannt. Das muss doch mit einer Schlussrechnung gehen, oder?

    LG

  2. #12
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2004
    Ort
    Kreis Starnberg
    Alter
    59
    Beiträge
    1.825
    Korrigieren heißt dann U_tankgeber = U_versorgung * R_tankgeber / (R_instrument + R_tankgeber). Stimmt das so?
    Ja stimmt so. Wenn man nach R_tankgeber auflöst erhält man (wenn ich mich nicht vertan habe):
    R_tankgeber = (U_tankgeber/U_versorgung)*(1+R_instrument)
    R_instrument ist eine Konstante, uns interessieren ja nur die veränderlichen Größen. Wir sehen, dass der Füllstand eine Funktion von U_tankgeber/U_versorgung ist. Diese beiden Größen sind gleichzeitig zu messen und im Arduino der Quotient zu rechnen. Mit diesem Quotient kann man dann in die experimentell ermittelte Look-up Tabelle gehen. Für eine Meßbereichsanpassung kann man Spannungsteiler aus Festwiderständen aufbauen. Unbedingt daran denken dass der Tankgeber bei einem kurzen Wackelkontakt auch mal hochohmig sein kann, der Analog-In sieht dann die volle Bordnetzspannung. Die Analog-In sind recht hochohmig, man macht nichts falsch wenn man nochmal einen 47kOhm Widerstand zum Schutz des Arduino vorschaltet Also etwa so:
    Code:
    12V__________________________________________________________
                |                                                                                                |
                |                                                                                                |
         R_instrument                                                                                 22kOhm 
                |                                                                                                |
                |_______22kOhm_________47kOhm____o Analog_in_1               |___47kOhm__o Analog_in_2
                |                                |                           für U_tankgeber            |                       für U_versorgung
                |                                |                                                               |
                |                                |                                                               |
          R_tankgeber               10kOhm                                                   10kOhm                                                   
                |                                |                                                               |
    0V ____|__________________|___________________________________|


    Die vorgeschlagenen Widerstandswerte sind für einen Analogeingang von 0..5V wohl einigermaßen brauchbar. Der Analogeingang hat Schutzdioden, die geringe Über- und Unterspannungen ableiten können, allerdings nur sehr kleine Ströme. Man muss bei KFZ-Bordnetzen durchaus mit Spannungsspitzen bis weit über 100V rechnen, daher die relativ großen Widerstandswerte.

    edit:
    irgendwie bekomme ich die Formatierung der Schaltplanskizze nicht hin. Also kurz verbal:
    Es gibt 2 Meßpunkte am Bordnetz: einerseits die Bordnetzspannung, sowie der Abgriff zwischen Instrument und Geber. Beide würde ich gleich verschalten wie folgt: Vom jeweiligen Messpunkt ein Spannungsteiler aus 22kOhm und 10kOhm nach Masse. Da können bei 12V dann nicht mehr als 5V anstehen. Von diesem Spannungsteiler über einen Schutzwiderstand von 47kOhm zum Analogeingang.
    Geändert von ranke (09.01.2016 um 17:54 Uhr)

  3. #13
    Unregistriert
    Gast
    Ok, Danke! Ja die Schaltpläne verschieben sich es etwas, aber ich weiß was du meinst. Wenn ich auf R_tankgeber umforme komme ich zwar auf eine andere Gleichung, aber an der Mathematik solls nicht scheitern. Das mit den 47 kOhm macht durchaus Sinn. Ich habe aber beim Spannungsteiler für die Bordspannung 4,7 kOhm und 10 kOhm verwendet - aber das sollte ja nix machen. Nur aus Neugier - was spricht gegen die Z-Diode? Wäre eventuell ein Kondensator (zwischen Analog-In und Masse) sinnvoll um diese großen Spannungsspitzen abzufangen?

    Irgendwie scheitere ich gerade an der Berechnung deiner Schaltung. Kann ich annehmen, dass der Strom durch die hohen Widerstände (22, 10 und 47 kOhm) gleich null ist? Dass sollte idealerweise auch so sein um das Messinstrument nicht zu verfälschen. Dann würde die Gleichung ja die selbe bleiben: U_tankgeber = U_versorgung * R_tankgeber / (R_instrument + R_tankgeber). Auf R_tankgeber umformen und Look-up Table mit Litern und Wiederstand des Tankgebers erstellen.

  4. #14
    Erfahrener Benutzer Roboter Genie Avatar von Crazy Harry
    Registriert seit
    15.01.2006
    Ort
    Raum Augsburg - Ulm
    Beiträge
    1.301
    Motorrad gerade hinstellen, Tank leer machen und ein Voltmeter an den Geber. Dann immer 0.5L in den Tank und Spannungswerte aufschreiben. Wenn du das hast kann man sich über die nachfolgende Schaltung den Kopf zerbrechen.
    Aus Erfahrung kann ich dir sagen: mindestend 10-20 Messwerte (1×/sek) mitteln (Ringspeicher und den ältesten Wert immer ersetzen).
    Ich programmiere mit AVRCo

  5. #15
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2004
    Ort
    Kreis Starnberg
    Alter
    59
    Beiträge
    1.825
    Nochmal ein Versuch einer Skizze:

    Meßpunkt (Bordnetzspannung oder Geberspannung)
    |
    22 kOhm
    |
    0---47 kOhm--o Analogeingang
    |
    10 kOhm
    |
    0 V (Masse)

    Das Ganze zweimal identisch aufgebaut ergibt eine Messung für das Bordnetz und eine Messung für den Tankinhalt.
    Ein Rechenbeispiel für eine Meßspannung von 12 V: Über den Zweig mit 22kOhm und 10kOhm fließt ein Strom von 12V/33kOhm=0,36mA (bei 5V etwa 1,5mA). Dieser Spannungsteiler dient zur Anpassung der zu messenden Spannung auf den Meßbereich des AD-Wandlers (ich vermute 0..5V, falls das falsch ist, müssten wir die Widerstandswerte nochmal entsprechend anpassen). Bei einer Spannung von 12V am Meßpunkt hat man am Spannungsteiler etwa 3,64 V.
    Über den 47kOhm fließt im Normalfall praktisch kein Strom weil die AD-Eingänge sehr hochohmig sind deshalb ist nach dem 47kOhm Widerstand auch 3,64 V.
    Der Zweck des 47 kOhm ist ein reiner Schutzwiderstand für den AD-Wandler weil in Bordnetzen durchaus mal Spannungsspitzen auftreten können. Bei einer Eingangsspannung von 100 V hätte man am Spannungsteiler 30,3 V, direkt würde das den Mikrocontroller sofort töten. Der Strom wird aber durch die Widerstandskombination auf etwa 0,46mA in den Analogeingang begrenzt. Der Analogeingang leitet Spannungen über der Betriebsspannung über eine Schutzdiode in die positive Betriebsspannung des Mikrocontrollers ab, ist dann also nicht mehr hochohmig. Die Schutzdiode am Analogeingang hält wohl so etwa 2-3 mA aus (ich meine das mal so aus dem Datenblatt gelesen zu haben, will es jetzt aber nicht raussuchen).
    Warum keine Z-Diode?
    Könnte man auch machen, ich halte die Widerstandskombination für ausreichend und auch insgesamt sicherer (die Z-Diode stirbt schlagartig aber unbemerkt, falls das Instrument mal versehentlich überbrückt wird). Falls Du eine Lösung "mit Hosenträger und Gürtel" bevorzugst kannst Du die Z-Diode einbauen, es macht aber nur direkt am Geber Sinn, weil die Leckströme der Diode die Genauigkeit des Spannungsteilers kaputtmachen.
    Ein Kondensator wäre auch denkbar, dann aber direkt am Analogeingang gegen Masse. Ich würde etwa 100nF vorschlagen aber besser einen Folienkondensator (keramische Vielschicht haben häufig Mikrofonie bei Vibration).

  6. #16
    Unregistriert
    Gast
    Danke für die nochmalige Erklärung. Ja der Arduino verträgt zwischen 0 und 5 V. Somit passt das mit den Widerständen. Ich werd auch noch den Kondensator verwenden. Das mit den Spannungsteilern ist auch klar. Die Frage is nur: an dem Messpunkt der Geberspannung (zwischen Instrument und Geber) teilt sich ja der Strom auf. Der fließt zum einen über den Geberwiderstand und zum anderen über den Zweig des Spannungsteilers (22 kOhm und 10 kOhm). Der Stromfluss über den Spannungsteiler muss vernachlässigbar gering sein. Das trifft bei den 1,5 mA aber eh zu.

    Ich will nicht nerven, aber nochmal zur Sicherheit ob ich das jetz alles verstanden habe:

    mit Spannungsteiler 1 Spannungsabfall U_tankgeber messen: U_tankgeber = U_analog1*(22+10)/10
    Das alleine ist nicht Aussagekräftig, da U_tankgeber von U_versorgung abhängt: U_versorgung = R_instrument*I + U_tankgeber
    Deshalb mit zweitem Spannungsteiler U_versorgung messen: U_versorgung = U_analog2*(22+10)/10
    Mit der Vereinfachung, dass der Strom über den Spannungsteiler 1 vernachlässigbar klein ist gilt auch: U_tankgeber/U_versorgung = R_tankgeber/(R_instrument+R_tankgeber)
    Umformen nach R_tankgeber ergibt den gesuchten Geberwiderstand, für den die Look-up Table erstellt wird.

    Dann werd ich das am Steckbrettchen mal nachbauen...

  7. #17
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2004
    Ort
    Kreis Starnberg
    Alter
    59
    Beiträge
    1.825
    an dem Messpunkt der Geberspannung (zwischen Instrument und Geber) teilt sich ja der Strom auf. Der fließt zum einen über den Geberwiderstand und zum anderen über den Zweig des Spannungsteilers (22 kOhm und 10 kOhm). Der Stromfluss über den Spannungsteiler muss vernachlässigbar gering sein. Das trifft bei den 1,5 mA aber eh zu.
    Da hatte ich mich vertan, der Strom über 33kOhm bei 5V ist nicht 1,5 mA sondern 0,15 mA. Wie auch immer, er ist sicher hinreichend niedrig um die Anzeige des Kreuzspulinstruments nicht zu verfälschen.

    mit Spannungsteiler 1 Spannungsabfall U_tankgeber messen: U_tankgeber = U_analog1*(22+10)/10
    Das alleine ist nicht Aussagekräftig, da U_tankgeber von U_versorgung abhängt: U_versorgung = R_instrument*I + U_tankgeber
    Deshalb mit zweitem Spannungsteiler U_versorgung messen: U_versorgung = U_analog2*(22+10)/10
    Mit der Vereinfachung, dass der Strom über den Spannungsteiler 1 vernachlässigbar klein ist gilt auch: U_tankgeber/U_versorgung = R_tankgeber/(R_instrument+R_tankgeber)
    Umformen nach R_tankgeber ergibt den gesuchten Geberwiderstand, für den die Look-up Table erstellt wird.
    Ja, das ist alles korrekt. Den Geberwiderstand muss man im Algoritmus nicht explizit ausrechnen (er repräsentiert ja nur in irgendeiner nichtlinearer Weise den gesuchten Tankinhalt). Es genügt eigentlich den Quotienten aus Analog_1 und Analog_2 zu rechnen (oder dessen Kehrwert, falls das sinnvoller erscheint) und nach diesem Wert die look-up Tabelle zu schreiben.
    Ein erster Aufbau am Steckbrett ist sicher sinnvoll, man kann dann gleich mal verifizieren ob verschiedene Bordnetzspannungen bei konstantem Geberwiderstand auch eine konstante Füllmenge ergeben.

  8. #18
    Unregistriert
    Gast
    Hallo!

    Habs mal nachgebaut und ausprobiert. Das Instrument hab ich durch einen konstanten Widerstand von 150 Ohm ersetzt (dürfte real bei ca. 130 Ohm Innenwiderstand sein) und den Tankgeber bei konsantem Füllstand mit einem 82 Ohm Widerstand simuliert. Die Korrektur der Versorgungsspannung hat einwandfrei funktioniert. Die Spannungsteiler lieferten anfangs abweichende Werte. Der Faktor sollte 3,2 sein, lag tatsächlich beim ersten bei 3,4 und beim zweiten bei 3,3. Wie sich herrausstelle sind das einfach die Bauteiltoleranzen - 5% machen bei 22000 Ohm schon was aus. Da ich die Faktoren aber jetzt kenne, funktioniert alles so wie es soll

    Vielen Dank noch mal!!!

  9. #19
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2004
    Ort
    Kreis Starnberg
    Alter
    59
    Beiträge
    1.825
    Prima dass es so klappt und danke für die Rückmeldung!

Seite 2 von 2 ErsteErste 12

Berechtigungen

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

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad