Discussion in 'Opencharge' started by lsimma, Jan 27, 2008.

  1. lsimma

    lsimma New Member

    Hallo,

    habe mich heute folgendem Thema gewidmet: "Linearität des Ladestromes in Abhängigkeit des Pwm1a Wertes" um daraus (wenn es geht) eine Abgleichmöglichkeit zu schaffen.

    Die Messwerte und eine Kurve:
    http://www.opencharge.de/wiki_real/images/e/e3/Messwerte.pdf

    Dabei hab ich nun eine recht grosse Messreihe ermittelt - von Hand aufgezeichnet da ich kein Messgerät mit Aufzeichnungsmöglichkeit habe. So ganz nebenbei hab ich den 200mA Messbereich mal kurz mit 15A zum leuchten gebracht.... es werden gerne Vorschläge für eine gutes, recht genauses und noch bezahlbares Messgerät entgegengenommen.

    Nun zur Messung:
    Ich habe das Testprogramm erweitert damit via Drehgeber die Werte
    StepUp/StepDown, ORC1 und Pwm1a einstellbar.

    Es wurden Akkus mit den Spannungen 1,6V 7V 12V 21V 30V verwendet.
    Der Pwm1a Wert wurde eingestellt und der Strom in den Akku mit dem Messgerät ermittel.

    Messreihe bei StepDown nur mit ORC1=255:
    Nach diversen Messungen mit dem StepDown wobei ORC1 und Pwm1a verändern wurde konnte ich festzustellen dass der Pwm1a den Strom recht genau begrenzt solange ORC1 genügend "offen" ist. Wurde zb. beim 7V Akku OCR1 auf 127 oder 255 gestellt es wurde immer zb. 680mA an den Akku geliefert bei Pwm1a = 50. Somit wurde der StepDown in den Messreihen immer mit OCR1=255 gefahren.
  2. lsimma

    lsimma New Member

    Wie aus dem Chart ersichtlich läßt sich aus den Messwerten eine brauchbare Abgleichmöglichkeit für Pwm1aWert zu AkkuStrom herausarbeiten.

    AkkuSollStrom = Pwm1aWert - Pwm1a_wert_offset * Pwm1a_bitwert

    Pwm1a_wert_offset:
    Jener PWM1a Wert bei dem ein nennenswerter Strom von > 10mA fliesst.

    Pwm1a_bitwert:
    Mittelwert der Bitwerte von mehreren Messungen zwischen Pwm1a = 200 (ca. 3A) bis Pwm1a = 1023 (ca. 15A).

    Wie im Diagramm ersichtlich ist hält sich die Abweichung zwischen Sollstrom und Iststrom bei einem solchermassen vorgenommenen Abgleich in vernünftigen Grenzen.

    Nun die Frage:
    Wer hat Bock drauf und vermisst sein Opencharge Ladegerät damit wir wenigstens mit einer zweiten Messreihe die Idee einer Überprüfung unterziehen können.

    Beste Grüße,
    Lukas
  3. Space

    Space New Member

    Hallo Lukas,

    ähnliche Messreihen habe ich bereits auch bei mir auf der HD (müsste aber suchen) liegen. Das Ergebnis ist ähnlich linear, aber die Werte absolut natürlich anders (10A Vers.).
    Ausführliche Messreihen von anderen Geräten sind also nicht erforderlich.

    Die Kernfrage ist wirklich jene, wie man die Korrekturwerte ermittelt.

    Den Offsetwert hate ich hierbei nicht für kritisch.
    Wenn man die Hochfahroutine nochmals überdenkt, so das sie bei kleinen Strömen sauber tut oder aber der nachfolgende Ladeabbruch wegen zu nierigen Strom erstmal unterdrückt, ist das in den Griff zu kriegen.

    Ich hatte in einer früheren SW Version bereits einen sogenannten PWM_Korrekturfaktor drinne. (ggf. sind Reste im Code sogar noch vorhanden). Der Korrekturfaktor wurde mit dem Stom multipliziert, um den einzustellenden PWM1A Wert zu ermitteln.

    PWM1A = SOLLSTROM(mA) * Korrekturfaktor (liegt bei der 15A Version etwa bei 0.7)

    Ich hatte damals den Korrekturfaktor aus dem Kalibrierwert(bitwertstrom) abgeleitet. Das war lediglich eine Annäherung, da man hiermit nur den Shuntwiderstand und die OP Verstärkung berücksichtigt hat.
    Der Spannungsteiler vom PWM Ausgang (R30,35) verwässert das Verhältnis PWM1A/Strom aber auch. Der Spannugsteiler vor dem ADC (R6,R26) spielt bei dem Verfahren auch noch ne Rolle (Kalibrierwert beeinflussend, aber nicht Stromregelungs beeiflussend).

    Bei der reinen 10A Version war der Korrekturwert aber nicht wirklich notwendig, weshalb ich ihn wieder raus nahm. Mit 12A bzw.15A wird er wohl wieder ein muss.

    Ich denke es gibt 3 Möglichkeiten ihn zu ermitteln:

    • Hart verdrahten in der SW und hoffen das alle die gleichen Bauteilwerte/Toleranzen verwenden und alle Hartwarepatches nachgezogen wurden (..das ist bei meine 3 Ladern schon mal nicht der Fall :p)
    • Annäherung an den Wert über den "Bitwertstrom" der Rest ist dann wieder das Thema Hardwaregleichheit aller Lader
    • Userprozedur im Kalibriermenue

    TH
  4. lsimma

    lsimma New Member

    Hallo Thomas,

    Leider ist bei meinen Messungen bei kleinen Strömen bis ca. 1A das Verhältnis Pwm1a zu Strom sehr nichtlinear, eher logarithmisch schaut das aus. Bei kleinen Strömen ist die Abweichung OHNE den Offsetwert verdammt hoch und hier wird dann die Einstellung eines Pwm1a in der Hochfahrroutine schwer kalkulierbar, daher der Offsetwert.

    Ich hab dem Diagramm noch eine Linie ohne den Offset spendiert dann ist das ersichtlich. Das Diagramm mit Markierungsline bei 300mA als Attachement. (300mA wegen zb. wegen der Slowflyer)

    Ich sehe das so:
    Zuerst muss die Strommessung wie bisher exakt abgeglichen werden sodas der User keine weitere Messung mit Ampermeter mehr vornehmen muss.

    Akku anschlissen der kurzzeitig einen möglichst hohen Strom erlaubt, am besten wäre der max. mögliche Strom.

    Zuerst automatische Kontrolle des Abgleiches:
    Pwm1a = 0 muss korrigiert auch ca. 0 Strom ergeben max. 2mA dürfen es sein. Pwm1a von 0 weg bit für bit hochfahren bis ein Strom >5mA ermittelt wird, der dann eingestellte Pwm1a Wert ist nun der Offsetwert.

    Max. möglicher Strom den der Akku aushält vom User eingeben lassen.
    Nun mehrere Messungen von 3A bis max. möglichem Strom via Pwm1a vorgeben, den Bitwert pro Messung ermitteln und den Mittelwert der Bitwerte ermitteln.


    Habe auch genau über diese Routine hin und herüberlegt. Am einfachsten ist es me. vwenn Pwm1a zu Strom halbwegs genau abgegleichen ist dann ist die Hochfahrroutine recht simpel aufbaubar. Kleine Ströme sind dann leicht anfahrbar und die Unterschiede in den Ladegeräten werden automatisch berücksichtig.


    Beste Grüße,
    Lukas
  5. lsimma

    lsimma New Member

    Hier noch das Diagramm...

    Attached Files:

  6. lsimma

    lsimma New Member

    Hallo Thomas,

    falls es keine Umstände macht wäre es sehr praktikabel wenn Du mir deine verschiedenen Messdaten zusenden könntest. Dies würde mir vermutlich einiges an Zeit ersparen. Denn wenn ich verstehe wie das zusammenhängt kann ich die Softwareroutinen dazu besser verstehen.

    Derzeit hab ich noch etwas scheu direkt an den Laderoutinen zu arbeiten.

    Danke,
    Lukas
  7. Space

    Space New Member

    Sorry Lukas, ich habe diverse XLS durchforstet. In den meisten sind aber nur lange Zahlenkolonnen enthalten, deren Zuordnung mittlerweile nicht mehr möglich ist :p.

    In deiner letzten Kurve stellst du die Abhängikeit des momentanen PWM Wertes zum sich ergebenen Strom dar. Die Kurvenform ergibt sich hierbei allerdings nicht durch eine Unlinearität der Stromregelung, sondern allein durch den Offsetwert.
    Man muss hierbei die Linearität zum möglichen Maximalwert (10A o. 15A) ins Verhältnis setzen. Im Kleinstrombereich ist die mögliche PWM-Auflösung zu gering, als das hier die Formel PWM-Step >linear> Strom einzusetzen ist. Im 10A Strombereich sind 6 PWM-Fehlsteps 0,6% Abweichung, im 100mA Bereich sind das 60% (siehe dein Diagramm).

    Das heisst mein vorhergegangenes Post war eine Fehleinschätzung.
    Der Offsetwert spielt im niedrigen Strombereich die entscheidende Rolle. Allerdings halte ich es weiterhin nicht für sinnvoll hier mit einem Offset Korrekturwert zu arbeiten. Wenn dieser Ermittelt wird, was ja immer Toleranzbehaftet ist, sind als Beispiel 2 PWM Digits eben auch schon wieder 20% Abweichung @100mA.

    Ich bleibe dabei, die Hochfahroutine muss bei niedrigen Strömen unabhängig von einem (User ermittelten) Offsetwert funktionieren.

    Thomas
  8. lsimma

    lsimma New Member

    Hallo Thomas,

    das ist evt. ganz gut wenn ich mich auch mit der Elektronik genauer auseinandersetzte - das putzt die alten Gehirnwindungen wieder recht gut durch :).

    Sorry dass mein Diagramm und die Beschreibung dazu nur schwer nachvollziehbar sind.

    Ok es lässt sich ja beides Realisieren:

    a) Ein einigermaßen abgeglichener Pwm1a Wert bei großen Strömen wäre sinnvoll. Bei Strömen > 1A wird dieser abgeglichene Umrechnungsfaktor hergenommen damit beim Strom hochfahren kein Überschwinger erzeugt wird. Dazu wird der Strom mit Pwm1a auf 85% eingestellt und dann langsam hochgezählt bis der gewünschte Strom erreicht ist.

    b) Bei geringen Strömen <1A wird der Strom nur durch hochzählen des Pwm1a von 0 beginnend langsam angefahren. Dabei wird in der Stromhochfahrroutine die Abschaltung "Strom zu gering" unterdrückt. Somit sollte dann auch das frühzeitige Abschalten bei 100mA und gewissen Akkukonstellationen erledigt sein.

    So wie es heute aussieht wird die Gebäudeinbetriebnahme in der USA auf Ende Feb. verschoben. Somit könnte es gut sein dass ich die Stromhochfahrroutine bis dahin mal umbau.

    Beste Grüße,
    Lukas
  9. Space

    Space New Member

    Super, bin ganz bei dir mit deinen Vorschlägen die große mögliche Ladestrombandbreite sauber in den Griff zu bekommne.

    a)
    Den Faktor muss mann bei hohen Strömen (>1A) einigermassen im Griff haben

    und
    b)
    bei kleinen Strömen werden angepasste Routinen verwendet, um den bestimmenden Offset rechnung zu tragen.
  10. lsimma

    lsimma New Member

    Hallo,

    zuerst ein großes DANKE an den Ralf für das Durchführen von den Messungen.

    Wie das beigelegt Diagramm zeigt - aufgenommen an zwei unterschiedlichen Ladegeräten (300W und 500W Version) - liegt ab ca. 1A (Pwm1a ca. 70) eine Abweichung des Bitwertes zum Durchschittsbitwert von <5% vor und die Bitwertkurven zeigen bei beiden Geräten ein konstantes Bild.

    Eine genauere Analyse der PWM Spannung an IC4 Pin 5 und der Stromregelung ergibt folgendes Bild:

    Ab 1A (Pwm1a ist > 60) ist die Abweichung zwischen Pwm1a * Pwm1aBitwert und dem tatsächlichen Strom gering und bleibt unter 5% Abweichung.
    Zwischen 1A und 4A (Pwm1a=200) ist die Abweichung fast bei 0% !!!
    Ab 4A steigt die Abweichung etwas an bis auf 5% bei max. Strom. Dies konnte auf die Erwärmung des Strom-Shunt zurückgeführt werden. [Bei der 15A Version muss der Strom-Shunt geändert werden]
    Unter 1A wird die Abweichung schrittweise höher, dies liegt an der PWM zu Spannungsumsetzung durch den "unschönen" Spannungsanstieg am Atmel-Pin - leider hat mein altes Oszi keine Ausgabemöglichkeit. [Sollte dies verbessert werden müsste vermutlich ein Schmitttrigger mit höherer Ausgangsleistung und steileren Flanken eingebaut werden]

    Somit wird wie besprochen die Routine Stromhochfahren in zwei Teilefunktionen aufgebaut:
    <1A -> mit schittweisem herantasten an den Sollstrom
    >1A -> mit abgeglichenem Pwm1a

    Der Stromabgleich wird erweitert und ermittelt auch den Abgleichswert für den Pwm1a. Im Flash sind noch zwei nicht verwendete Variablen vorhanden, eine davon wird für den Pwm1a Bitwert verwendet. Ein Offset macht kein Sinn so es wie Thomas definiert hat dazu sind die Messwerte zu unterschiedlich zwischen den Geräten.

    Beste Grüße,
    Lukas

    Attached Files:

Share This Page