Discussion in 'Opencharge' started by MalteS, Mar 6, 2007.

  1. MalteS

    MalteS Member

    Hi,

    anbei ein paar Bilder von meinem Opencharge Stand. Habe den Prozessor gegen einen ATMEGA128 getauscht (sitzt unter der Platine, ebenso wie die Spule) und daher ein neues (einseitiges) Platinen-Layout gemacht. Da mit eagle light nur halbe Europlatinen gehen sinds jetzt auch zwei geworden (daher auch der Kabelverhau). Ausserdem wollte ich ein anderes Bedinkonzept realisieren (mit Softkeys). Dazu wollte ich die Bascom Sw adaptieren bis ich gemerkt habe das die Geld kostet. Ich komme auch Beruflich aus der C Welt, also daher Neuentwicklung in C....
    Mittlerweile läuft auch schon etwas, wenngleich deutlich weniger als bei Thomas seiner Variante.
    Gehen tut Lixx laden und Nixx dP laden mit voreingestellten Strom. Autostrom bei Nixx ist ebenso offen wie entladen.

    Wäre BenQ nicht pleite gegangen hätte ich wohl nicht damit angefangen. Dadurch hatte ich auf einmal recht viel Zeit. Hätte ich gewust das ein recht schneller Umzug und Job Neuanfang auf mich zu kommt wäre es vieleicht anders gekommen. -egal-
    Fotos von meinem (Test-)Aufbau sind also anbei.
    Bevor jetzt die Fragen kommen:
    Die Boards und Schematics werde ich online stellen, muss ich aber nochmal überarbeiten. Wird wohl auch etwas dauern. Da sind noch ein paar kleinere Fehler drin. Die SW wirds nicht zum Download geben, eher werde ich diese nach Anfrage an wirklich interessierte Entwickler verteilen. Da sollte man aber mit der HW schon mal angefangen haben :)

    Soderle Bilder:

    Attached Files:

  2. MalteS

    MalteS Member

    Ach so

    Was mir beim Aufbau an der HW aufgefallen ist:
    a) Die 2,5V Quelle hat bei mir etwa 3V. Vermute sie ist an der Lastgrenze. In meiner nächsten Revision werde ich den freien OP-Amp als Verstärker nutzen.
    b) Die von mir verwendeten Dioden für den Überspannungschutz der ADCs (int. u. ext.) haben nur 0.5V Spannungsabfall. Ich musste da teilw. noch welche dazulöten.
    c) Der MAX110 ist (bei mir), wenn kalibriert auf 30V bei 8V nicht hinreichend genau. Insbesondere die Nulllage scheint sich immer wieder zu ändern. Ich würde in der nächsten Revision die ATMEGA ADC verwenden (und den Temp. Fühler weglassen)
    Die 10bit ADC reicht natürlich nicht bis 50V, da müsste man den Spannungsteiler umschaltbar machen.
    d) Ich denke ich werde den Stepdown Wandler in der nächsten Rev. weglassen. Nach gescheiterten Versuchen mit der SW habe ich dort diesen Verzicht schon geübt. Es fehlt dann zwar ein gewisser Coolness Faktor, brauchen tue ich den Stepdown aber nicht.
    Eher mal überlegen wie man die Ladeleistung weiter pushen kann --> 500W (Hat auch Coolness Faktor :))

    Malte
  3. Frogger

    Frogger New Member

    Hmm,
    einerseits bin ich natürlich begeistert von einer Lösung in C weil C frei ist und auch als Sprache etwas mächtiger. Wollte eine Lösung mit vier tasten zur bedienung machen und die dann in die Software einpflegen aber wenn es keine Preprozessoranweisungen gibt compiliert bascom das ja immer alles mit ... geht also nicht. Naja drehimpulsgeber hat auch was und vor allem nicht jeder :)
    Das opencharge display ist auch kein billiger Spass aber passt sehr gut zum gehäuse. Und da bin ich dann schon bei dem Punkt zu dem ich wollte :) Wie willst du deine Würfelei eigentlich in ein gehäuse pressen? Da muss man mal sagen das Opencharge dir da noch um einiges voraus ist. Auch wenn der Prozessor (der ja auch der größte im DIP Gehäuse ist) an seine Grenzen stößt. Naja mit Target werde ich auch nicht warm. Das liegt aber wohl auch daran das ich bisher nur mit eagle gearbeitet hab. Man muss sagen das Target aber auch echt seine vorteile hat.
    Wenn ich auf der einen Seite es ja irgendwie bös unschön finde wenn sich aus solchen Projekten unterprojekte absplitten weil jeder sein eigenes Ding dreht finde ich es auf der anderen Seite sehr toll wenn so einer seine eigenen Ideen durchsetzt und sie den anderen Vorstellt.
    Auch dicker Respekt dafür das du das zu einer Lauffähigen version gebracht hast. Ich kenne das von mir immer eher anders. Man sieht ein gutes Projekt und will es nach eigenen Vorstellungen geändert nachbauen und stellt irgendwann fest das man sich festgefahren hat (sei es das nur die Zeit fehlt) und schmeisst es in die Schublade. Schade auch das du die Software nicht offen lassen möchtest. Aber verstehen kann ich es auch irgendwie.
    Ich finde dein Projekt (ohne das ich es jetzt nachbauen möchte) sehr interressant und werde sicher immer mal wieder ein Auge drauf werfen.

    Das mit dem ADC verstehe ich nicht. Ich kann nicht glauben das der Maxim14bit so ungenau ist das du auf die 10bit aus dem Protz zurückgreifen möchtest. Der reicht doch vielleicht gerade mal so für 3s LiPo Ok das bringt mich jetzt auf die Idee einen total billigen Lader für meine Indoorakkus zu bauen :) So mit 4 Ladeausgängen :) Automatischer erkennung ob 1s 2s oder 3s und je Akku einen taster um Strom einzustellen oder Ladevorgang abzubrechen. Nein ich mach das jetzt nicht!
  4. MalteS

    MalteS Member

    Hi Frogger, (ist das dein Name?)

    Mal sehen ob ich alle deine Punkte erwische:
    Offengestanden halte ich das Layout von Thomas für besser als meins. Ursprünglich hatte ich mal geplant die halben Europlatinen mit der Längsseite aneinanderzusetzen und so wieder eine Europlatine zu erhalten. Leider passt(e) das so nicht ganz. Um das Gehäuse mache ich mir allerdings keine Sorgen. Die gibts in allen Größen zu kaufen. Aber um das klarzumachen: ich habe keine Ahnung ob ich den Kram so auch in ein Gehäuse packe. Vieleicht erstelle ich auf Basis des jetzt gelernten noch mal eine neues Layout.
    Bzgl. der SW scheinst du mich falsch verstanden zu haben. Ich werde den Quellcode an Entwickler weitergeben die ihn weiterentwickeln wollen (Thomas hat diesen bereits erhalten), ihn nicht aber in alle Welt streuen. Fertige Binaries sind (auch im DL) dagegen für mich kein Prob.
    Ich kann deine Kritk hinsichtlich einer Sonderlocke so nicht ganz nachvollziehen. Diese Projekte leben von solchen Dingen. So auch bei meiner Intension den MAX 110 rauszuwerfen. (Der ATMEGA reicht bei anderen Ladern auch für 10s Lipo). Mit Spannungsteiler Umschlaltung auch für mehr. Beim MAX110 sind das was weiß ich vieviele Bauteile die ich gegenwärtig für überflüssig halte. Das macht den Aufbau und das Layout einfacher und den Lader billiger. Vieleicht gibts gute gründe für den ADC, lasse mich da aber gerne eines besseren belehren.


    Gruß
    Malte
  5. Frogger

    Frogger New Member

    Hallo Malte,
    ja frogger ist mein Name :) nee in wirklichkeit bin ich Carsten :)
    Nimm das mit der Kritik an den Lader hinsichtlich der Sonderlocke nicht sooooo ernst! Ich wollte damit zum ausdruck bringen wie blöd es für den entwickler ist mit anzusehen wenn sein Projekt sich in tausend einzelprojekte aufspaltet und gleichzeitig sagen wie viele vorteile es auch bringt wenn jeder sein ding durchzieht und damit zeigt was denn so möglich ist.
    Deine Meinung zum ADC finde ich z.B. recht interressant. Wie möchtest du das mit der Messgenauigkeit denn bei 10bit bei 50V realisieren? Du redest von spannungsteilern aber da wird die genauigkeit nicht größer. Willst du bei 50V erstmal 40V abziehen und dann messen? Das ist aber mit mehr Hardware verbunden. Naja im Moment hab ich da eh nen Brett aus Bier vor dem Kopf :)
  6. MalteS

    MalteS Member

    :)

    Hallo Carsten,

    du willst doch für Lipos auf 1% genauigkeit kommen. Bei 2^10 erhälst du eine genauigkeit von 0.1%, allerdings nur wenn du den Messbereich ausnutzt. Soll heißen bei 50V max. Eingangsspannung löst du 0.05V/bit genau auf. Bei Laden von einer Lipozelle ist das aber schon über 1% Fehler.
    Lösung: Baue einen Spannungsteiler mit dem du zwischen 50V max und z.B. 21V umschalten kannst. Beim Laden einer Zelle verwendest du den 21V bereich mit 0.021 / 4.2 mit 0.5% Fehler. Den Aufwand dafür finde ich mit 1 Mosfet (evtl. BC170) und ein-zwei Widerständen überschaubar. Man schaltet halt einenn Widerstand zum exsitierenden Spannungsteiler dazu.
    Softwaretechnisch müsste man halt immer erst im größeren Messbereich starten und dann je nach Bedarf umschalten. Man muss allerdings aufpassen das man sich bei der Umschaltung nicht verzettelt und z.B. das Ladeprog. abgebrochen wird.

    Malte
  7. Frogger

    Frogger New Member

    Wenn du den Spannungsteiler änderst dann ändert sich aber doch nichts an der Schrittgröße. Also wenn du den 0-25V durch Parrallelschalten eines weiteren Widerstandes auf 25-50V aufbläst dann hast du zwar im Bereich 0-25V an genauigkeit gewonnen aber bei dem bereich 25-50V dann wieder die schlechte auflösung weil der wieder bis null runter geht.
    Da muss dann ein Subtrahierer her (OPV) der dann ab einer gewissen Spannung die ersten 25V subtrahiert. Hier braucht man wieder eine relativ genaue 25V Spannungsquelle. Ob ein Festspannungsregler da geht weiss ich nicht da ich noch nie untersucht hab ob die Spannung auf einem bestimmten Wert innerhalb der angegebenen Toleranz fest steht oder ob sie in dem Bereich hin und her schwankt. Wenn sie Fest steht kann man das am Prozessor ja locker rauskalibrieren. Die Schaltung wäre dann aber auch nicht so kompliziert.
  8. MalteS

    MalteS Member

    Hi,

    Absolut ist die Genauigkeit im Bereich bis 50V schlechter, das ist richtig, aber auch egal weil die relative Genauigkeit entscheident ist.

    Hm also nochmal
    50V bereich: Quantisierung 0.05V
    25V Bereich: Quantisierung 0.025V

    Für Spannungen von 0-25V wird der 25V Bereich genutzt. Der Quantisierungsfehler liegt dann bei +- 0.0125V. Im 50V Bereich analog +-0.025V

    Malte

    Edit: Quatsch gelöscht
  9. Space

    Space New Member

    HyLeute,
    ich habe da kein Problem mit, wenn eine andere Version eine/des Opensource Laders existiert. Die Gefahr von zu vielen Splitterprojekten sehe ich bei einem weiteren Strang derzeit noch nicht.
    Aus Sicht des Projektes ist es aber wünschenswert wenn die Hardware auf der entwickelt wird, annährend immer die selbe ist. Nur so ist eine leichte portierbarkeit der Software gegeben. Je weiter man sich von dem Ursprungsstrang entfernt, desto geringer ist der Nutzen für andere.
    Aber es steht jedem natürlich frei, eigene Veränderungen zu entwickeln.
    Ich kann mir vorstellen das einige der Änderungen von Malte, wie z.B. der ATMEGA128 und das 4x20 LCD, in den Hauptstrang von Opencharge ebenfalls einzug halten werden.
    +
    Externer ADC: Das Konzept mit dem Umschalten zwischen verschiedenen Spannungsteilern für die unterschiedlichen Spannungsbereich habe ich anfangs auch verfolgt. Das ganze war mir dann aber zu wackelig. Das Problem ist, das die Spannung eines zu ladenden Akkus während der Ladung ansteigt. Die größe des Anstiegs ist am Anfang der Ladung nicht vorhersehbar. Der angehänget Akku kann ja bereits voll sein oder im anderen extrem tiefentladen sein. Das heisst es ist sehr warscheinlich das während der Ladevorgangs von einem Spannungsmessbereich auf den nächsten gewechselt werden muss. Das es sich hierbei um verschiedenen Bauteile handelt, muss jeder Messbereich optimalerweise eigens kalibriert sein, wenn beim Umschalten von dem einen in den anderen Messbereich keine komische Delle in der Spannungskurve entstehen soll, was für eine Deltapeakerkennung tödlich währe.

    Alternativ, aber mit Abstrichen bei der Genauigkeit von kleinen Messwerten, kann die Kalibrierung der Messbereich für den kleinen Spannungsbereich aufgrund des kalibrierten Messbereichs für hohe Spannung automatisiert werden.
    Das es schwierig ist, genauen und reproduzierbaren Ergebnissen für jeden Nachbauer hiermit zu erzeugen, habe ich auf den 14Bit externen ADC umgesattelt und mich gleich besser gefühlt :)
    Bedenke auch, das für die Strommessung entweder Abstriche in der Auflösung zu machen sind oder aber auch verschiedene Messbereich vorzusehen sind.
    Ich denke das Konzept mit dem Umschalten der Messbereiche mithilfe eines FET's wird für ungenauigkeiten reinbringen. Das Verhalten des Fet's im durchgesteuerten Zustand ist nicht rein ohmsch, müsste man probieren in wie weit die Einflüsse in das Messergebnis reinstreuen. Ich hatte damals einen externen Multiplexer vorgesehen (suboptimal, da teilweise Offsetspannungen) oder alternativ mehrer ADC's des Atmel für die verschiedenen Messbereiche in Beschlag genommen.
    Letzendlich war das umschalten von einem zum nächsten Messbereich aber immer das Problem........
    Die 500W Wandlerleistung sind nun schon von diversen Seiten an mich rangekommen. Da scheint es wirklich einen Bedarf zu geben. Es gibt demnächst einen Nachbau, welcher mit 24V eingangsseitig betrieben wird und die 500W wohl auch erreiche wird. Ich denke man kann im ersten Step die derzeitige Strombegrenzung auf 10A Ladestrom mal anheben. Jedenfalls fällt mir kaum was dagegen ein, dies auf 12A oder sogar 15A anzuheben.
    Man muss sich nur irgendwann mal entscheiden wie breitbandig der Lader werden soll. Sollen zukünftig auch noch 50mAh Einzellipos geladen werden oder 12S3P FePo Pakete. Dann könnte man auch den von mir gehassten Stepdown wegfallen lassen..:mad:

    Thomas
  10. MalteS

    MalteS Member

    Hi Thomas,

    ich meine das Ladegerät das ich im Keller stehen habe führt diese Umschaltung durch. Ich denke das, setzt man den Maximalwert beim umschalten entsprechend neu sich das realisieren lassen sollte.
    Zusätzlich kann man auch erst im 50V modus hochrampen und dann nach einer gewissen Zeit auf den genaueren Modus schalten.

    Btw: in C kann man über Präprozessoranweisungen (#defines, #ifdef) sich recht gut auf unterschiedliche Hardware einstellen

    Das mit den 500W ist interessant !

    Gruß
    Malte
  11. MalteS

    MalteS Member

    Nur weil ich gut gelaunt bin weil es so einfach war :):
    Entladen funktioniert jetzt auch.

    Gute Nacht
    Malte
  12. Frogger

    Frogger New Member

    Ja, 500W wäre in der Tat interressant.
    Ich liebäugel ja schon seit längeren den FePo akkus. Hab mich aber bisher noch nicht getraut. Wenn meine neue 2Mot fertig ist dann brauch ich aber 2 4s oder 5s Packs davon. Oder gleich einen 10s ... dann hab ich mal die Chance den neuen Regler den ich letzte Woche an 3s LiPo getestet hab mal an seiner oberen Spannungsgrenze zu testen. Wobei 36V dann auch schon etwas (ca.2V) oberhalb liegt. Dann muss auch nen Ballancer her wo man einstellen kann was denn balanciert werden soll ...freiwillige vor :D
    C hätte nicht nur den Vorteil der Präprozessoranweisungen sondern eventuell auch den eines sauberen Displays. Ich hab manchmal noch immer das es Müll anzeigt obwohl der Lader noch richtig funktioniert. Das schau ich mir aber nochmal genauer an denn das hab ich zu 90% bei Ladeende. Hier ist sicher an der richtigen stelle eine Pause die Lösung.
    Gegen C spricht im Moment: "Never change a running system!" :) und natürlich das es ein Haufen Arbeit ist.
  13. Space

    Space New Member

  14. Frogger

    Frogger New Member

    Aha, danke. Dann werde ich das mal bei Gelegenheit umwursteln. Muss das Gehäuse eh nochmal öffnen weil mir der MegaLoad Bootloader nicht so recht gefällt. Mein Lader wartet beim Starten 5sekunden ob da was kommt und erst dann startet das Ladegerät. Das ist mir entschieden zu lange.
  15. MalteS

    MalteS Member

    Hi,

    Nochmal wg. dem MAX110:

    Ich habe mir den Eingangsspannungsteiler und Überspannungsschutz nochmal genau angesehen. Der Max 110 quantisiert doch am Eingang die differenzielle Spannung bis max. 2,5V Differenz. Da sind jetzt aber die beiden Überspannungschutzdioden die diese Differenz auf 1,4V begrenzen. (Bei mir haben die Dioden übrigens nur 0,5V Spannungsabfall pro Diode). Zweitens ist der Spannungsteiler recht groß dimensioniert d.h. erst bei 127V am Eingang käme der ADC in die Sättigung. Der Messbereich 0-50V entspricht damit effektiv ungefähr 0-1V am ADC Eingang und man verliert mehr als ein Bit Genauigkeit.

    In meinem Fall kommt hinzu das die 2,5V Spannungsquelle eff. etwa 3V hat.
    Da habe ich schon fast zwei Bits verloren.

    Gruß
    Malte
  16. Space

    Space New Member

    Der Spannunsgteiler ist nicht ohne Grund für die viel zu hohen 127 V ausgelegt. Es ist merkwürdigerweise so, das der MAX bei "normal" dimensionierten Spannungsteiler bereits bei >30Volt 15 Bit Ergebnisse zurückliefert.Nach deinem und meinen Verständnis dürfte das nicht so sein.
    Ich konnte mir das Phänomen bei erheblichen zeitlichen Aufwand jedenfalls nicht erklären und habe es dann irgenwann so hingenommen und den Spannungsteiler entsprechend dimensioniert.


    Was für Rohwerte bei der Spannung xxV bekommst du vom MAX zurück?
    Das ganze mal hochgerechnet auf 60V ergibt bei dir...?

    Im Schaltplan sind 4 + 1 Dioden (D13*4 + D14) als Überspannungsschutz in Reihe vorgesehen, nicht 2. Aufgrund meiner Lizenzbeschränkung in Target sind diese nicht gezichnet sondern nur in der Beschriftung beschrieben. Im PCB Layout sind sie aber vollständig eingezeichnet als auch in de´r Stückliste vermerkt.
  17. MalteS

    MalteS Member

    Hi Thomas,

    Das mit den Dioden war ein guter Tip. Danke. Ich hatte bisher nur 2 eingebaut. Hast du zufällig schon einmal irgendwo zusammengeschrieben wo das Schematic wegen der Pinbeschräknung vom Board abweicht?

    Ich habe dann mal von 0-60V den ADC (kalibriert bei 50V) neu durchgemessen, jetzt passt das auch. Rückgabe bei 60V ist 0x1f46 (13bit). Wie erwartet.
    Maximaler Fehler so 0.25%
    Messwerte im Anhang

    Gruß
    Malte

    Attached Files:

  18. Space

    Space New Member

    ...mhh, hast du bei der ADC Abfrage etwas anders gemacht als ich? :confused:

    Eine dedizierte Auflistung der Pinbeschränkten Bauteile gibt es nicht. Ausser den Dioden gibt es noch den
    3'en Wandlerfet. In der Schematik ist der aber eingezeichnet (2% eta)
    und
    C99, ein Blockkondensator für die negatve Hilfsspannung
    und
    T98, welcher parallel zu T2 den Verpolungsschutz darstellt.

    In der Bauteilliste sind alle Dinge welche manuell geroutet wurden, mir X99 oder X98 gekennzeichnet.
    Andere Dinge wie z.B. der Sicherungshalter oder die Buchsen, sind ebenfalls manuell geroutet.
  19. MalteS

    MalteS Member

    Hi Thomas,

    Hm wieso? Die ADC Abfrage ist eigentlich genauso, nur das meine ja innerhalb der Interruptroutine abläuft. Was erhälst du denn?

    Gruß
    Malte
  20. Space

    Space New Member

    24,24V ADC liefert x1CAB (dez 7339), also knapp 14Bit und eine Keks bei 60V :rolleyes:

Share This Page