Guten Tag, ich möchte für ein Projekt die Zellenspannung eines LiPo Akku mit 4 Zellen (je 3,7 Volt Nominalspannung / Zelle, 4,20 Volt Vollgeladen / Zelle) mit einem AVR (ATmega 8 oder ATmega 644) messen und die Werte später (wenn es kapiert habe) dann in eine MMC-Karte schreiben. Das Ganze dann noch mit Strom (ACS-750) als Datenlogger. Doch zuerst einmal bin ich über ein viel einfacheres Problem gestolpert, wo ich nun irgendwie "feststecke". Wenn ich ein Widerstandsnetzwerk wie im Anhang aufbaue und dann Zellenweise die Spannung messe, wird sich mein Spannungsteiler ja immer weiter "verstellen", weil meine Spannung aussen an dem Teiler ja immer weiter in den Keller geht. (Aber nicht unter 12 Volt, denn bei 3 V / Zelle unter Last lande ich und muß den Akku laden.) Hat jemand vielleicht ein Schaltbild für dieses Problem für mich ? Die Schaltung soll über einen Spannungsregler aus dem Antriebsakku, also dem Akku, der Zellenweise überwacht werden soll, versorgt. Ich verzweifel noch, ausserdem habe ich über div. Versuche schon einige Widerstände "verheizt". Danke für eure Mithilfe. Michael
Wo soll denn deine obere anschlussleitung hin gehen? Wohl an die +14.8Volt oder? Dein AVR wird ja mit 5 Volt versorgt - die Spannung der ersten Zelle kannst du problemlos direkt an einen ADC eingang geben (da mit 3,7 bzw 4,2 Volt noch gut unterhalb von 5 Volt). Die spannungen der nächsten Zellen musst du halt runter teilen so das sich z.B. bei der ersten Zelle ein Spannungsteiler im Verhältnis von 1,72 zu 1 ergibt (also die maximal 8,6 Volt die über beide Zellen in reihe anliegen teilst du auf maximal 5 Volt runter) So geht das dann für alle weiter. Um auf die einzelzellenspannungen zu kommen musst du vom messwert der "oberen" Zellen jeweils den der "unteren" abziehen. Das ganze wird aber ungenau, da dein messfenster über eine große Spannung geht (für die letzte Zelle halt über 17,2 Volt wenn man ne maximale Zellenspannung von 4,3 Volt pro Zelle annimmt). Da kommst du nicht drum herum differenziell zu messen. Aber gott sei dank hat der AVR ja differenzielle Eingänge! Denkste! Die dürfen natürlich auch nicht mehr als 5 Volt sehen... Auch runter teilen und dann differenziell messen wird nicht gehen (da du bei der letzten Zelle nur 1/4 des Messfensters ausnutzen kannst) Also brauchst du für jede Zelle einen Subtrahierer der die Spannung der darunter liegenden Zellen abzieht. Hab mich selber mal damit beschäftigt und finde den Aufwand an OPs die man da verbauen muss irgendwie doof. Vielleicht hat jemand 'ne bessere Lösung.
Hi Evtl. ist der ATMega406 dafür geeignet. MfG Spess
Ich habe mir den ATmega406 noch nicht angeschaut. Was ich aber auch schon im Netz gelesen habe, waren Anleitungen wo die Leute Relais genommen haben, um dann Zelle für Zelle zum Messen an den ADC zu schalten. Eine solche Lösung, z. B. mit dem CD 4066 habe ich auch schon in Erwägung gezogen, allerdings habe ich zu viel Angst, wenn ich da Etwas falsch schalte, das es mächtig raucht. (Schließlich kann der Akku Impulsströme bis zu 200 Ampere ab ...) @Lupin Kannst Du mir von Deiner Schaltung mit den Widerständen mal ein Schaltbild schicken ? Ich kriege aus Deiner Erklärung irgendwie kein Bild zusammen, wie Du das meinst. Danke Dir schonmal dafür. @all Ich werde mal gründlich weiterforschen. Diese Idee läßt mich nun nicht mehr los. Michael
Ich würde die akku spannung so runter teilen. die dicken striche sind die Widerstände... Ich habe das Gefühl dir fehlen noch ein paar Grundlagen... irgendwas mit relais wird dir hier nicht viel bringen. Was an den normalen Modellbaupacks doof ist, ist das die immer in reihe geschaltet sind. Es sollte eine steckbare Brücke geben mit der man die Reihenschaltung entfernen kann (und so jede zelle einzeln laden/messen kann). Aber solch eine Brücke müsste gut strom ab können ;) edit: der mega406 ist übrigens sehr gut, ich glaube der ist gut geeignet hierfür...
Hi Ich habe noch mal schnell im Datenblatt des ATMega406 gelesen: Du kannst die Spannungen von 4 in Reihe geschalteten Zellen direkt einzeln messen. Spannungsfestigkeit der Eingänge 35V. MfG Spess
Ich bin gerade dabei, mir das Datenblatt zu dem ATmega406 herunterzuladen. Das mir Grundlagen fehlen gebe ich ja unumwunden zu. Die will ich mir aber über dieses Projekt erarbeiten. Es ist mir lieber, wenn ich Irgendetwas "nützliches" mache zum lernen, als "nur" irgendwelche Tutorials durchzuackern und dann zu versuchen, das erworbene Wissen zu transferieren. @Marius Schmitt Es geht nicht um das loggen beim Laden, sondern um das Loggen beim Entladen. Da sind locker schon mal Entladeströme im Peak von 100 Ampere drin. Der Akku (ein 4s 4800mAh Kokam H5 mit echten 30C) zuckt da nicht einmal. Wenn ich bedenke, das ich den dann noch mit Steckbrücken zusammenstöpseln müsste ... Der Balanceranschluß ist halt am Akku dran und der muß für das Messen an den einzelnen Zellen herhalten. Mal sehen, was der mega 406 kann, wäre echt schön, wenn ich ohne die ganzen Widerstände auskäme. Michael
Nene, das bringt mich auf eine Idee: Analogschalter, die eine Kapazität, den Samplingkondensator, sowohl mit Fusspunkt, also auch mit dem oberen Punkt an die zu messende Zelle hängen und auf die Messspannung aufladen. Zur Messung wird der Kondensator zwischen Masse und ADC-Eingang geschaltet. Das geht auch mit (Reed-)relais oder PhotoMOS-Relais, womit die Problematik der Versorgungsspannung für den Analogschalter wegfällt. Keine Opamps! Nur Schaltergedöhns...
die idee finde ich gut, kann ich mir aber als schaltung nicht vorstellen...
1)Drei Stück Instrumentation Amplifier nehmen, z.B. AD620. -Vs auf GND legen, +Vs an die Akkuendspannung. Der Ausgang dieses OPs kann von (-Vs+1,1V) bis (+Vs-1,2V) arbeiten, die Eingänge von (-Vs+1.9V) bis (+Vs-1,2V) verkraften. 2)Den ersten Akku direkt an den ADC legen (über Reihenschutzwiderstand). 3)Akku zwei und drei über den Instrumentation Amp anschliessen, dessen Gain auf 1 eingestellt ist. 4)Beim vierten Akku wäre +In = +Vs, deswegen die Spannung des vierten Akku durch Spannungsteiler über dem Akku so teilen, dass +In <= (+Vs-1,2V) wird. Den Teilerfaktor durch einen höheren Gain, oder in Software kompensieren. Die drei Ausgänge der OPs auf die weiteren ADC-Eingänge schalten, aber Reihenschutzwiderstand vorsehen, die OPs könnten auch schon mal Akkuspannung durchschalten! Vorteil: Du brauchst "nur" 3 INAs, keine Multiplexer mit umschalten etc.
Oder noch einfacher: -Den ersten Akku direkt messen. -Den zweiten und dritten Akku über INA messen. -Die Akkugesamtspannung über Widerstandsteiler wieder direkt am ADC messen. Der vierte Akku ist Gesamtspannung - Akku1 - Akku2 - Akku3. Braucht nur ZWEI Ops!
Es gibt noch die möglichkeit 4 opamps als differenzverstärker zu verwenden. 4 opamps wären ein lm358 o.ä. Gain ließe sich einstellen. Man braucht nur pro Differenzverstärker 4 Widerstände. Gemacht habe ich es auch noch nicht - das wäre atm meine Methode der Wahl. Sag bitte Bescheid, wenn du#s gemacht hast oder wenn nicht wieso.
Es scheint sich wohl hartnäckig zu halten, dass man Instrumentation Amps unbedingt diskret aufbauen muss...
Hier ist eine konkretere Version des Vorschlages mit Analogschaltern. Die 4000-Reihe packt die maximal auftretende Spannung gerade so. Was noch fehlt, sind Pegelumsetzer, die die erforderlichen Digitalpegel für die beiden ICs erzeugen. Ansosnsten darf ich die entscheidenden Vorteile dieser Schaltung erwähnen :-) - Minimalster Stromverbrauch (ein paar uA) aus den zu messenden Zellen - Gleichbleibende Präzision der Messung unabhängig von der angewählten Zelle - Keine Offsetprobleme - Niedrigster Preis - Einfache Erhältlichkeit der ICs beim "local Dealer" Evtl. gibt es auch Analogschalter, die man mit gepflegtem TTL-Pegel ansteuern kann, dann fallen aber zwei Vorteile weg... Ablauf einer Messung: - Enable auf Low - Zelle anwählen, z.B. Zelle 2 -> Binäre 2 an SEL anlegen, also 010 - Enable auf High - Ladezeit abwarten - Enable auf Low - ADC anwählen -> Binäre 0 an SEL anlegen, also 000 - Enable auf High - ADC-Messung starten
Hallo, danke für das Schaltbild. Werde morgen hoffentlich die Teile geliefert bekommen und dann mal ausprobieren. Werde euch sagen, ob es geklappt hat, oder nicht. Michael
Ich verstehe den Aufwand mit den Analogswitches nicht. Stromverbrauch dürfte bei den Monster-Akkus egal sein. Zwei INAs dran, und gut ist... nix umschalten, und alle Spannungen im sicheren Bereich!
Du und Deine zwei INAs ;-) Wie sieht's da mit der Genauigkeit aus? Ach so, ja, der OP hat dazu ja keine Angaben gemacht. Zum Stichwort akkumulierter Fehler muss ich ebenfalls nichts weiter sagen. Wieso soll ich die Akkugesamtspannung über Teiler direkt messen und brauch' für den 2. und 3. einen Opamp? Das ist doch Humbug!
Nö, kein Humbug. Akku1/2/3 werden mit der Genauigkeit der INA/ADC gemessen, beim vierten, gebe ich zu, gibt es einen akkumulierten Messfehler. Ich werde mir Deine Schaltung nochmal genauer angucken, so ganz glaube ich nicht, dass das von den Spannungen hinhaut...
Ich versuche das mit den Einzelzellen gerade so wie in der Graphik. Allerdings scheint mir der Innenwiderstand des AVR da so mit reinzuspielen, das jedesmal wenn ich den Akku anschließe, bevor der AVR läuft, das Gehäuse des Mega8 heiß wird und sogar schon 2 mal geplatzt ist. Wenn der Mega8 an Spannung ist und ich dann den 4s Akku anstöpsel kriege ich zwar völlig falsche Werte, aber das führe ich erst einmal auf mein Programm zurück. (Die Spannungen, ausser der ersten Zelle sind alle um 0,3 Volt zu hoch angezeigt. Ein LiPo kann keine 4,51 Volt pro Zelle haben.) Was ist an dieser Schaltung im Bild falsch, das bei ausgeschaltetem Mega 8 der Controller zerstört wird ? Gruß vom Bastler.
Anon Ymous schrieb: > Es gibt noch die möglichkeit 4 opamps als differenzverstärker zu > verwenden. > 4 opamps wären ein lm358 o.ä. Gain ließe sich einstellen. Man braucht > nur pro Differenzverstärker 4 Widerstände. > > Gemacht habe ich es auch noch nicht - das wäre atm meine Methode der > Wahl. Sag bitte Bescheid, wenn du#s gemacht hast oder wenn nicht wieso. das funktioniert sicher so! das einzige problem ist dann die genauigkeit der widerstände.
Bastler schrieb: > Was ist an dieser Schaltung im Bild falsch, das bei ausgeschaltetem Mega > 8 der Controller zerstört wird ? impedanzwandler oder optokoppler verwenden.
>Was ist an dieser Schaltung im Bild falsch, das bei ausgeschaltetem Mega >8 der Controller zerstört wird ? Die Zelle 1 ist ohne strombegrenzenden Widerstand an den Controller angeschlossen. Intern hat der Controller Clampingdioden gegen Gnd und Vcc, was ihn und die restliche Schaltung, die noch an der Vcc-Schiene angeschlossen ist, über den ADC Eingang weiterversorgt, wenn man ihm die Versorgung abschaltet. Wenn hier zu viel Strom fließt (ich glaube, die Clampingdioden halten etwa 2 mA aus), wird der Controller zerstört. Grüße, Peter
Moin, moin zusammen, obwohl der Thread schon etwas älter ist hätte ich zur Thematik auch noch ein wenig Klärungsbedarf. Bin derzeit auch in "Mission Lipo" im Neuland unterwegs und im Zusammenhang auf Andi's Lama Zoo gestoßen (http://home.arcor.de/schwobaseggl/LamaLightBoard/index.htm). Das seht jetzt für mich von der Schaltung her doch recht ähnlich aus. Durch Andi's disassemblierten Hex-Code bin ich derzeit noch nicht so ganz durchgestiegen - ist aber schwer in Arbeit. Falls da jemand nach einem schnellen Blick kurz ein paar erklärende Worte zum Messprinzip hätte (differenziell oder single ended und wieso PA1 am Minuspol und nicht gegen GND im Single-Ended-Fall) würde mich das bestimmt in die richtige Richtung schieben. Alles in allem schwebt mir eine Lipo-Zellen-Einzel- und Summenspannungsüberwachung mit 3 single ended ADC-Kanälen des Tiny25 vor, wobei ich auf den 4. Kanal frei nach Thomas Pfeiffer (http://thomaspfeifer.net/) auch agnz gerne noch die Temperaturen der FETs (Motorregler in der 4-in-1) mittels 1N4148-Diode im Glasgehäuse (der Temperatur wegen, siehe Laminator Temperaturregelung) im Auge behalten wollen würde. Ggf spiele ich dann mit dem Gedanken, in weiterer Ausbaustufe die 4-in-1 mit zusätzlichen 3 Kanälen zu erweitern wie hier beschrieben http://www.rclineforum.de/forum/thread.php?postid=3089920, die FET's der 4-in-1 mit stärkeren zwischen den bestehenden und den Motoren zu entlasten und den Motoren einen Sanftanlauf (PWM) zu bescheren - könnte dann wohl eng werden mit dem Tiny... Jegliche Ideen und Inspirationen - besonders konstruktive - zu den genannten Themen wären jedenfalls sehr willkommen und Resultate auf meiner Seite sollen auch nicht im dunklen Kellerchen verschwinden... Besten Dank und Gruß Dolphi
@Dolphi: Spar dir ggf. das Disassemblieren des Hexfiles. Melde dich bei mir (via Lama-Zoo, Impressum, dann sorge ich dafür dass dir der Jones den Sourcecode (winavr) zukommen lässt. gruß der Andi vom LamaZoo
Eddy Current schrieb: > Ablauf einer Messung: > > - Enable auf Low > - Zelle anwählen, z.B. Zelle 2 -> Binäre 2 an SEL anlegen, also 010 > - Enable auf High > - Ladezeit abwarten > - Enable auf Low > - ADC anwählen -> Binäre 0 an SEL anlegen, also 000 > - Enable auf High > - ADC-Messung starten Da Enable beim 4051/52/53 Low-Aktiv ist, sollte man die oben genannten Pegel invertieren. Dann funktioniert die Sache mit den Analogschaltern. Habe es gerade nachgebaut. Da ich nur 3 Zellen überwachen muss, tut´s auch ein einzelner 4052, der 2x4 multiplext. Dann spart man sich eine Select-Leitung ;-). Die Pegelwandler sind einfache Transen mit Pullup nach Vcc. Die Steuersignale invertiert der Controller. Dem 4052 habe ich noch eine Z-Diode 15V und einen Keramik-C über Vcc und GND mitgegeben und das Ganze über 270 Ohm an den Akku angeschlossen. Ausserdem habe ich die die Anschlüsse der Schalter zu den Akkus noch 10k jeweils eingefügt, falls der Akku mal doch aus der Reihe fällt oder falsch angeschlossen wird und mir somit nicht die Eingangsstufen grillt. Danke an Eddy Current für diese Idee!
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.