Translate

09 Dezember 2009

Serielle Datenausgabe klappt besser als erwartet!

Nachdem ich die serielle Ausgabe der Messwerte
mit Assembler anfangs nicht so recht auf die Reihe brachte,
(Das Auslesen des ADC-Wertes funktionierte schon gut,
aber Umrechnen auf "Klartext"lief noch nicht )
ich steh halt noch am Anfang,
und da Multiplikationen in Assembler
alles Andere als einfach sind, von der Umwandlung
in lesbaren Text ganz zu schweigen,
hab ich es nun mit BASCOM versucht.
Da ist so was wesentlich einfacher zu lösen.
Zwar macht das Programm manchmal
seltsame Sachen, aber für einfache Projekte
scheint es sehr brauchbar zu sein.
Vor allem für Anfänger leichter verständlich.
Man findet auch viele Programmbeispiele.
Allerdings ist der erhaltene Programmcode etwas
länger und das könnte noch problematisch
werden.

Im Netz habe ich ein fertiges Programm gefunden,
das eigentlich für ein per PC regelbares
Netzteil gedacht ist, in dem aber eine komplette
Spannungsmessung mit dabei ist.
Hier wird die Ausgabe komplett umgerechnet und
gewissermaßen im Klartext ausgegeben.
Die PWM-Augabe brauche ich nicht,
Die kann man ganz einfach weglassen.

http://www.elo-web.de/elo/mikrocontroller-und-programmierung/bascom-avr/einstellbares-netzgeraet

Ich kann damit sowohl die Zellennummer als
auch die Spannung direkt lesbar ausgeben.
Das ist mehr,als ich je zu hoffen wagte!!!!!!!!!!

...und der zweite ADC ist auch noch frei!!!!

So bräuchte ich ja nicht einmal einen
"Auswerte-Rechner"!

Wenn jeder Attiny erst sendet, wenn er eine
Sendeanforderung kriegt, dann ein bisschen wartet
und dann die Ausgabe des nächsten startet,
dann braucht man nur noch ein kleines Display,
das serielle Daten direkt darstellen kann und
einen Startknopf zum Starten des Auslesens.

Da bin ich jetzt selbst mal wieder überrascht,
wie einfach das geht!

Aktueller Stand vom 9.12.09:
ATtiny13 betrieben mit 5V
(Versorgung 5,01V, auch Referenz)
liest direkt ein, (kein Spannungsteiler)
rechnet um und schickt
die Daten seriell mit 9600Baud raus, sobald
am seriellen Eingang irgend ein Signal
ankommt.

Die Genauigkeit ist überraschend gut,
aber direkt von der Qualität der Referenz
abhängig. Ich habe derzeit 5,01V anliegen.
Daher die exakte Messung!
Die interne 1,1V-Referenz
ist mit +- 10% angegeben, aber im Normalfall
wesentlich!!!! genauer.
Es könnte aber durchaus nötig sein,
da noch etwas abgleichen zu müssen,
also den Umrechnungsfaktor an den jeweiligen
ATtiny anzupassen.
Das wird sich noch zeigen!

Eine Codierung, so dass nur auf einen bestimmten
Befehl geantwortet wird gibt es noch immer nicht.
Das ist wohl zunächst auch gar nicht mehr nötig,
da die Werte gar nicht mehr umgerechnet
werden müssen.Es würde so schon reichen,
wenn die Ausgabe automatisch schön der
Reihe nach erfolgen würde.
Eventuell nach Drücken eines Knopfes,
ansonsten könnte der erste ATtiny, der ja
an Masse hängt immer die Gesamtspannung
messen und anzeigen.
Der zweite AD-Wandler wird ja bisher
noch nicht genutzt!

Das wär doch schon was!
Anzeige zeigt Gesamtspannung, und wenn ein
Knopf gedrückt wird werden im
Sekundentakt die einzelnen Zellen angezeigt.

Etwaige Störmeldungen kommen völlig
unabhängig davon, wenns angebracht ist.

....Und das alles ohne Steuerrechner!!!!!!!

"TO DO":
Testen, ob die Qualität der internen Referenz
ausreicht. (erledigt! reicht völlig aus! ca 1% Fehler)

Multiplikator an 1,1V Referenz und Teiler 4:1 anpassen.
(schon erledigt, siehe Anmerkung ganz unten)

Das Ganze per ADUM5241 galvanisch
getrennt versorgen und auslesen
(Das geht sicher!)

Die Seriellen Ausgänge zusammenfassen.
(I²C ?? Single-Wire ?? ev nur Dioden und Pull-Down
Widerstände ?? Hmmmmmm...............)

einfache Kopplung für den Auslese-Befehl an den
nächsten ATtiny austüfteln.
(das geht auch ohne galv.Trennung weils immer nur
der nächste ist, ev. reicht schon ein Kondensator)
ansonsten halt per Optokoppler

Anzeige mit seriellem Eingang besorgen.
Die gibt es für ca 50-100€ je nach Größe
Zahl der Zeichen und Zahl der Zeilen.
(Da tuts vorerst noch ein PC mit Terminal-Programm)

Auch wenn ich mich wiederhole,
Mir ist es sehr wichtig, dass die eigentliche
Balancerschaltung aus dem jeweiligen Akku
versorgt wird, und völlig eigenständig läuft.
Auch die Störmeldungen brauchen keinerlei
zusätzlichen Rechner. Die werden von
der Balancereinheit ausgegeben.
Alles was mit Spannungsanzeige zu tun hat
ist eine zusätzliche unabhängige Schaltung.
Ich sehe die Spannungsanzeige als Option,
welche allerdings sehr sinnvoll ist.
Da aber Über- und Unterspannung schon
überwacht werden, ist es eigentlich nur bei
einer Fehlersuche nötig, die Akkuspannungen
abzufragen.Oder wenn man nur neugierig ist.
Das liesse sich auch komfortabler gestalten,
aber meine Anlage soll unbedingt
übersichtlich und verständlich bleiben.
Deshalb werde ich auch auf einen
Steuerrechner verzichten, wenn das
tatsächlich geht.( kann ja später noch
kommen, jetzt aber noch nicht)



Hier ein Video vom 9.12.09:






video










bis demnächst!

Franz

P.S.:

Nachtrag 10.12.09 und 11.12.09:

Das mit dem Umrechnen hat ganz schöne
Stolperfallen............
Da die Variablen als Integer definiert
sind darf +- 32768 nicht überschritten
werden.Das gilt auch für irgendwelche
Zwischenergebnisse!
Gerechnet werden kann nur mit
ganzen Zahlen, Nachkommastellen
werden einfach ignoriert.
Führende Nullen ebenso!
Das machts ganz schön kompliziert!
Eine kleine Genugtuung ist die Tatsache,
dass auch der Autor des Basisprogramms
darüber gestolpert ist.
(Statt 0,01 wurde o,1 angezeigt,
der Fehler ist mittlerweile behoben)
Da ich jetzt mit 10Bit messe ist der ADC Wert
im Bereich 0-1023 (1023 = 1,1V am ADC bei
interner Referenz von 1,1V soweit passts)
Da man nur mit ganzen Zahlen rechnen kann,
muss z.B eine Multiplikation mit 1.1
durchgeführt werden indem man erst *11
und dann /10 rechnet. Bei krummen werten
kommt man da schnell in Bedrängnis!
(32768 = 1024 * 32)

Immerhin kriege ich jetzt schon mal
die mV am ADC mit interner Referenz
von 1,1V richtig in mV angezeigt.

Aber!!!!......
dieser Wert müsste noch mit 4,03
multipliziert werden
*4,03 ist gar nicht so einfach!

(Anm.Spannungsteiler
1K + 330R entspr. 4,03:1)

1100 mV * 403 = 443300, geht also nicht!

110 *403 = 44330 immer noch zu viel!

55 *403 = 22165 Ja!

22165 / 5 = 4433

also: Vollausschlag mit Spannungsteiler
1 : 4,03 liefert am ADC 1023

entspricht 4433mV tatsächlicher Spg.

wenn man das durch 1000 teilt
kommt 4 raus (Integer = ganze Zahl!)

um die Nachkommastellen zu kriegen:

4 * 1000 = 4000

4433 - 4000 = 433

Für die Werte vor dem Komma muss
eine eigene Variable definiert werden.

dann muss das vom gesamten
Subtrahiert werden .

Ausgabe erfolgt dann so:

erst Text z.B. Zelle 001
dann ganzzahliger Wert
dann das Komma (ist Text)
dann der Rest der Subtraktion.
Aber Vorsicht!

Die führenden Nullen werden ja ebenso
verworfen!Deshalb kann man nur eine
Stelle korrekt ausrechnen!

0,09 ist sonst plötzlich 0,9 !!!!

Für die zweite Nachkommastelle
bräuchte man dann nochmals
eine Variable, und das ist dann
dem kleinen ATtiny allmählich
zuviel..............

Da ist man versucht, das Ergebnis
doch nur in mV anzuzeigen! ;-)

Man sieht, so ist das alles noch nicht optimal
und man muss etwas anders ansetzen.
insbesondere sinds viel zu viele
Rechnungen.Hier kommt es zwar nicht
auf die Zeit an, aber da immer nur
ganze Zahlen verarbeitet werden
summieren sich die Rundungsfehler.

Die ganze Rechnerei muss also in eine Zeile
wenn das irgendwie geht.
MaximumADC = 1023 entspr. 4433mV

U(mV) = 1023 *4,33
Da maximal mit 32 multipliziert werden kann....
sollte man versuchen, diesen Rahmen so gut
es geht auszunutzen um möglichst genaue
Ergebnisse zu erhalten.
4,33 *6 = 25,98 etwa 26 das ist besser!

U(mV) = (1023 *26) /6 = 4433 mV
das ist ok! und nur eine Rechnung!

Es ist also abzuwägen, ob sich der
rechnerische Mehraufwand lohnt, nur
um einen Widerstand zu sparen.

Der Faktor 4,03 ergab sich aus der
Verwendung von 10k + 3k3
bzw 1k + 330R um Standardwerte
verwenden zu können.

Ca. 4:1 ist in diesem Fall wichtig,
da mit 0-4,4V der Messbereich
optimal wäre.(ATtiny 13)

mit (1k5 +1k5) + 1k käme 4:1 raus
und alles wäre viel einfacher,
Die ganzen Rechenfehlerchen gäbs
dann nicht mehr, aber die fallen
auch so kaum ins Gewicht.

Beim ATtiny 25 sieht die Sache
schon wieder etwas anders aus.

Der hätte auch noch eine ca.2,5V
Referenz drin, die aber
logischerweise nur mit 5V
Versorgung genutzt werden kann....

Ausserdem hat der 25er mehr Speicher.
Ich hoffe, er ist imstande, mit dem zweiten
AD-Wandler eventuell auch noch die
Gesamtspannung zu messen.

Die würde ich gerne anzeigen, wenn
grad nichts anderes zu tun ist.














Das sieht mittlerweile so aus!

Umrechnen klappt,Inklusive der Berechnung
des Eingangsspannungsteilers sowie
der Ausgabe der Spannung als Zahl mit zwei
Nachkommastellen.

Der zweite AD-Wandler arbeitet auch,
Die Gesamtspannung könnte also
problemlos als Standardanzeige
im Display stehen.

Aber jetzt ist die Grenze des ATtiny 13
erreicht, ich nutze 99% des Speichers!

Man könnte jetzt anfangen, zu Tricksen,
z.B. die Serielle Schnittstelle nur als
Ausgang nutzen etc oder doch nur
mV anzeigen etc. ........
oder einfach den ATtiny 25 nehmen.

Das hab ich eh vor!

Bei "größeren" Atmels könnte man die
Nachkommastellen einfacher ausrechnen,
wenn man die Variablen als SINGLE
definieren würde und die Multiplikatoren
als Konstante abgelegt wären.
Das wäre viel eleganter (Rundung etc.),aber
solche Fliesskommaberechnungen brauchen
sehr viel Speicher.
Beim kleinen ATtiny führt da kein Weg hin, weil
ganz einfach der Speicher zu klein ist.

Ich werds mal testen, wenn ich ein paar
ATtiny25 habe.

Ansonsten bin ich jetzt einfach mal mit
dem Erreichten mehr als zufrieden, und
der nächste Schritt wird sein, ein
Display mit seriellem Eingang zu bauen
bzw. zu besorgen.

Ich habe schon ein passendes Programm für
einen PIC 16F628 gefunden.
Das muss ich mir mal alles zusammenbasteln
und schauen, obs so geht.(wäre ja zu schön)
Diese Pics setzen wir in der Firma ein,
Programmiergeräte etc. sind vorhanden.

Leider fehlt mir ein passendes Display und
ein passender Quarz.
(Eigentlich sollte auch der interne
Oszillator funktionieren)

Ich bin aber noch etwas skeptisch,
ob das Programm auch mit meinen
Daten arbeitet.
Ich hab in der Beschreibung gelesen, dass
CR und LF ignoriert werden.... mal sehen!
Ansonsten gibt es auch fertige Module
zu kaufen.

z.B.:

http://www.coptonix.com/html/rs232_lcd_adapter.html
das wär genau das, was ich haben will!!!!


Nachtrag 21.02.2010:

Ich hatte noch keine Zeit, weiterzutesten.....
und bevor ich zu viel investiere möchte ich noch ein ganz
anderes mögliches Problem sicher ausschliessen:

Wie genau ist der interne Takt der ATtiny13 ??????

Da könnte es Probleme geben insbesondere
mit der Temperaturstabilität!
Na, wir werden sehen!



Franz













27 November 2009

Wie gehts weiter mit dem LIPO-Balancer

Ich konnte es dann doch nicht lassen
und hab mal wieder eine Nachtschicht
eingelegt um mal die serielle Ausgabe
der Spannungsmessung zu
programmieren.
Grundsätzlich geht das schon ganz gut,
aaaaaaaaaber...................
1. momentan wartet der ATtiny auf eine
Eingabe und erst dann wird weiter
balanziert das geht so nicht!
Der soll laufen, egal was an der
Schnittstelle los ist.
Ist sicher nur eine winzige Änderung,
aber ich habs noch nicht gefunden wies
geht- Geduld! wird schon noch!
Das ist mein erstes ATtiny Programm!!!
Da dauert manches halt etwas länger!
Vielleicht hat ja wer die Lösung!

mit:
rcall RdCOM
rcall RdADC
rcall WrCOM
(das sind Unterprogramme
des Microprozessor Lernpakets)

gehts halt nicht, weil das
Programm bei RdCOM
wartet, bis an der
Schnittstelle was passiert.
Bei einem eigenständigen
Spannungsmesser wäre
das aber egal !
Ich müsste das Verfahren dahingehend
ändern, dass der Zustand der Schnittstelle
nur abgefragt und irgendwo abgelegt wird.
Dann müsste entschieden werden wie
es weitergeht.Das Ganze ist aber ohnehin
kein Problem, wenn die Spannungsmessung
so wie ich es plane, völlig unabhängig
von der Balancereinheit laufen soll.

2. Das Ganze soll auch noch laufen wenn
der Akku leer ist also bis 2V und ev. darunter.
(der ATtiny 13v bzw. 25 laufen ab 1,8V stabil)
Eine Kopplung mit einer Art M-Bus kann ich
so nicht realisieren, zumindest nicht mehr
zuverlässig wegen der niedrigen Spannung
und CAN etc ist mir
derzeit noch viel zu kompliziert und braucht
auch zusätzliche Bausteine.
Eventuell wärs mit "Single-Wire" bzw I²C
sogar machbar, aber da fehlts bei mir
noch an Erfahrung.

Wie gehts weiter?
Ich denke, ich werde ADUM5241
Isolierübertrager mit integrierter 5V
DC-DC-Wandlung einsetzen,damit wär
schon mal die galvanische Trennung
der seriellen Schnittstelle
gelöst und mit den isolierten 5V kann
ich einen zweiten ATtiny betreiben
der am selben Spannungsteiler hängt
wie der Balancer. Damit könnte ich
jetzt schon die Spannung auslesen.

Falls ich es gelöst bekomme, die
Balancer- und die
Auslesefunktion zu entkoppeln
würde auch ein ATtiny reichen, aber
ich sollte ihn dann mit 5V versorgen.
Dann wäre der Balancer aber nicht
mehr eigenständig!
So ein ATtiny kostet nur ca 1 bis 1,50 €
was soll der Geiz.....??????
Bevors Probleme gibt, bau` ich halt
zwei drauf!
Das würde auch die Feinabstimmung
wieder vereinfachen.
Jeder Spannungsmesser braucht
eine spezifische Kennung für die
Adressierung.Die könnte dann
einfach so bleiben und zum Einstellen
der Balancerwerte könnte man
vorgefertigte HEX-files nehmen,
weil die ja so wieder unabhängig
von der Kennung der Zelle wären.
Ich bräuchte den Source-Code
nicht veröffentlichen und der
Anwender muss nicht
Programme compilieren,
sondern nur reinladen.
Oberer und unterer Grenzwert
ist eh fest und vom Akku-Typ
abhängig, also müsste nur die
Schwelle des Balancers eingestellt
werden. (in 0,0173V-Schritten)
Allein das spricht schon für
die Version mit zwei ATtinys.
Ausserdem wäre so die
serielle Schnittstelle des
Balancer-ATtiny frei,
also zwei weitere Ports frei
z.B. für "Unterspannungs-
Vorwarnung"
und
"Balancerschwelle
überschritten"
auf Balancer-Ebene,
also mit Schaltausgang
weil ich die serielle
Spannungsauslesung eher
als Option betrachte.
Ich will nicht von der
Funktion eines externen
Rechners abhängig sein!
Eigentlich sollte es reichen,
zu wissen, ob alles ok ist.
Ist der Wert wirklich so
wichtig????
Schön wärs auf alle Fälle,
den ablesen zu können,
das ist klar! Aber halt auch
Luxus!

Die Ausgabe der Meldungen
direkt aus dem Balancer werde ich
ohne galv.Trennung realisieren.
das geht gut mit einer Reihe von
kleinen P-Kanal Mosfet +Widerstand
in Reihenschaltung.
(je einer pro Modul und Meldung)
Wenn einer öffnet ist die Reihe
unterbrochen, ein Transistor an Masse
öffnet und ein Relais schaltet.
Braucht einen Draht je Meldung
durchgeschleift und geht ohne
zusätzliche CPU oder dergleichen.
Es soll ja möglichst einfach bleiben!

Wie ist das aber mit Jack Rickards
Ansichten vereinbar?

Ganz einfach!
So sehr widerspricht sich
das gar nicht!Man darf es nur
nicht zu verbissen sehen!
Letztendlich läuft doch alles
darauf hinaus, dass es nicht ohne
eine Unterspannungs-
Überwachung geht! Das ist es!
Ob nun oben oder unten
balanziert wird ist doch egal!
Der schwächste Akku wird immer
den größten Spannungshub haben,
ganz egal, wie mans macht!
Aber "unten" balanzieren
hat einen riesigen Vorteil!!!!!!!!
Da ja gar nicht mehr bis zum
"Ende" balanziert wird sondern
gewissermaßen mit dem Laden
aufgehört wird wenn die erste Zelle
voll ist, und letztendlich die
Balanzierspannung so angepasst
werden sollte, dass alle Zellen
zugleich leer!!!!! werden,kann
der Shunt-Widerstand viel
schwächer ausgelegt werden
und er braucht gar nicht den
Ladestrom niederzubügeln
sondern es genügt, jede
Zelle sanft in die richtige
Richtung zu schieben.
Somit ist auch das Problem
mit der Abwärme in den
Shunts kein Problem mehr.
Nach etlichen Ladezyklen
sollte alles passen.Ein wenig
Beobachten, den schwächsten
Zelle etwas mehr Ladung geben,
den stärksten etwas weniger
das wars dann schon!
Am Grundprinzip der
Schaltung ändert sich da nichts.
Und auch nicht an der
Tatsache, dass LIPOs allergisch
auf Über- und Unterspannung
reagieren! Nur die Sichtweise
auf die Problematik ist eine
etwas Andere.

Und Ich denke mal:
JACK HAT GRUNDSÄTZLICH RECHT!!!!
es hat ein bisschen gedauert,
bis ich alles verstanden habe,
was er meinte und ich will
auch nicht jede seiner
Meinungen gut heissen,
aber die Richtung stimmt!


Was wird so ein Balancer-Modul
letztlich kosten?????

ATtiny25(oder 13V) je ca 1,20€
1Mosfet für Shunt ca 1€
1Shunt 10R???? ca1€
1 kleiner p-Kanal-Mosfet
je Meldung ca 50cent
ein paar Widerstände,
Bandkabel+Stecker
+Kleinteile.....+Platine
also ca 10€ an Material
je Zelle denk ich mal,
an reinen Materialkosten.

Dafür gibts dann ein
wunderbar konfigurierbares
BMS-System der
Mittelklasse mit Über-
und unterspannungs-
Überwachung.
und eventuell
"Vorwarnung bei
Erreichen der Grenzen"

für serielle Spannungsauslesung
käme noch dazu:
ADUM5241 ca 3,50$
noch ein ATtiny......
also ca 5€

und ein Auslesegerät/Display
hmmmmm............
je nach Luxus..............
bzw was man sich da zurechtschnitzt,
und wie bunt??????
PC?
Handheld-PC ?

ev übers Navi??

LED-Display mit kleinem ATmega?
und Tasten zum durchklicken,
ev MAX-MIN-Anzeige
Das sollte so in der 50€-Region
realisierbar sein.

Wie schon erwähnt will ich
das "Übertragungsprotokoll"
aufs minimalste beschränken.
Derzeitiger Entwicklungsstand:
Zellennummer z.b. 008 wird
gesendet.
Zelle 8 erkennt nur diesen einen
Befehl und antwortet mit dem
AD-Wandler-Wert in 8-BIT
bezogen auf 1,1V Referenz
und ohne Umrechnung des
Eingangsspannungsteilers 1:4.

Zu Kompliziert! Klar!

8Bit bedeutet 255 Stufen,
Referenz am AD-Wandler 1,1V
1,1V / 255= 0,0043V
am Eingang je Einheit.

Spannungsteiler 10k / 3k3
= 4,03 : 1

also 1 Einheit = 0,0173V
(0,0043 x 4,03 = 0,0173)
am Akku

z.B.: 208= ca.3,6V (3,605)

Nochmal : Master schickt 008,
Zelle 008 antwortet 208
also hat Zelle8 gerade 3,6V

Das ist Überschaubar!

Die Umrechnung müsste
im Display erfolgen.

Aufgrund der winzigen Daten-
menge kann die Baudrate
sehr niedrig sein.

Der ATtiny könnte auch 10Bit
aber dann besteht die ausgegebene
Zahl aus 2 Byte; 2Bit + 8Bit
bei den 3,6V von vorhin wären
das dann 3 64
(00000011 01000000
also 3 x 256 + 64 = 832

Das gäbe dann zwar eine
Auflösung der Spannug
in 0,0043V Schritten
am Akku aber davon hat
niemand wirklich was.
Nur die Umrechnung wäre
komplizierter.
.....wenn mir mal
langweilig sein sollte...HA! HA!

Das kann man mit einem
primitiven Terminalprogramm
auslesen, das nur eine Reihe
von Nummern sendet und die
jeweilige Antwort anzeigt.
Vorerst muss man dann
zwar noch die Werte mit
0,0173V multiplizieren,
aber das ist auch noch lösbar,
.......später mal......

mfG Franz

23 November 2009

Die Thesen des Jack Rickard........

Was will uns Jack Rickard eigentlich sagen?

(für die, die der Englischen Sprache nicht
ganz so mächtig sind fasse ich das mal
kurz mit meinen Worten zusammen)


Jack fährt unter anderem eine Porsche
356-Replika mit Elektroantrieb und bei
diesem Auto verzichtet er praktisch auf
jegliches automatisiertes Batterie-
management (BMS).Er misst gelegentlich
mit dem Voltmeter nach und gleicht dann
die Unterschiede gewissermaßen von
Hand aus. Und es funktioniert
völlig problemlos, wogegen er bei
einem anderen Fahrzeug mit BMS mehrere
Akku-Defekte hatte. Ebenso bei
Versuchen mit diversen BMS-Systemen.

Letztendlich behauptet er sogar, dass
manche Systeme regelrechte LIPO-
Killer seien, und das obwohl doch
die landläufige Meinung ist, man dürfe
LIPOs keinesfalls ohne BMS betreiben.

Wieso also dieser Widerspruch von
Theorie und Praxis????????



Jack erklärt das sinngemäß so:
Die meisten Systeme balanzieren am
oberen Ende, was ja bei einer einzelnen
Zelle durchaus richtig ist. Aber hier
sind viele Zellen in Reihe geschaltet.
Diese Zellen sind nicht alle gleich.
Manche haben einfach etwas weniger
Kapazität und die sind dann halt als
erste leer.Weil aber die meisten noch
Energie haben bemerkt man das aber
nicht rechtzeitig, die Zelle wird tief-
entladen und das wars dann................

(An dieser Stelle muss ich einhaken:
ein ordentliches BMS hat
Einzelspannungsüberwachung
und Tiefentladeschutz,
sonst kann man
es sowieso nicht wirklich brauchen.
Darauf kann man nicht eimal bei
Bleiakkus verzichten!!!!
Wenn er also nicht bemerkt, dass
eine Zelle leer ist, dann liegt das
an der fehlenden Überwachung
und nicht daran dass zuvor
"oben" balanziert wurde!
Also: selber schuld, man betreibt
Akkus niemals!!!!!! ohne
Unterspannungsüberwachung,
das geht nie gut!)

Was macht also Jack, damit ihm das
nicht wieder passiert?

Er balanziert im unteren Bereich, also
am unteren Knick der Kennlinie
so bei 2,5 bis 3V je nach Akkutyp,
dann lädt er, bis der erste Akku
den oberen Knickpunkt der
Kennlinie erreicht.
Manche der Akkus könnten da
zwar noch was aufnehmen, aber
die Kette muss sich nach dem
schwächsten Glied richten.
So werden sie alle zugleich leer,
und man merkts auch ohne
kompliziertes BMS-System.
(wenn man die Gesamtspannung
beobachtet)

Wenn er es erklärt wird das
plötzlich ganz klar!
So habe ich das bisher nie
betrachtet, aber wo er recht
hat, da hat er recht.

Ich werde auf alle Fälle
mal Versuche in diese Richtung
machen. Mein Balancer
auf ATtiny-Basis ist ja sehr
fein abgleichbar.Ob ich auf
den Balancer-Widerstand
verzichten werde???
Nein! ganz gewiss nicht!
Aber ich werde versuchen,
jeder Zelle eine optimierte
Einstellung zu geben, so
dass die Balance im
entladenen Zustand optimal
ist.Ich muss ohnehin für
jede Zelle ein eignes Programm
laden, damit die Einzelspannungs-
abfrage funktioniert.
Jedes Modul hat einen eigenen
Befehlscode auf den es antwortet
wenn der "Master" nach Daten fragt.
So kann man die seriellen
Schnittstellen praktisch parallel
betreiben und den Schaltungs und
Programmaufwand minimieren.
Ich denke da so an eine Art M-Bus.
Can-Bus wäre auch machbar, aber
das ist mir noch zu kompliziert....
Da fehlt mir die Erfahrung.
Mal schauen.......

Ein Abgleich der Grenzwerte auf
die jeweilige Zelle ist also
auch nicht allzuviel Mehraufwand.

Ausserdem ist das "Die Lösung" des
Problems mit der in den Balanzier-
Widerständen verheizten Energie.
Die Widerstände brauchen ja gar
nicht fertigbalanzieren und sie
können auch viel schwächer aus-
gelegt werden, weil sie ja gar nicht
bis zum völligen Ausgleich arbeiten
müssen.Es reicht, wenn sie etwas
korrigieren und im Zusammenspiel
mit den Einstellungen die Werte
so zurechtrücken, dass letztendlich
alle Akkus zusammen leer werden.
Dann und nur dann ist das Akku-
paket perfekt balanziert.
(und wenns mehrere Lade-und
Entlade zyklen brauchen sollte
bis es passt, dann macht das auch
nicht viel aus)
Hauptsache, das System meldet
Über- und Unterspannungszustände
und warnt dann bzw. schaltet ab.

mfG
Franz

17 November 2009

Funktionstest des LIPO-Balancers mit ATtiny13

So, und heute gibts ein Video von meiner
Balancerschaltung mit ATtiny13!

(Später wird da entweder ein ATtiny13V oder 25
eingesetzt werden mal sehen.........)

Noch nicht ganz fertig, aber die Grundfunktion
läuft schon mal ganz gut!
Die Unterspannungsüberwachung konnte
zunächst nicht laufen, weil der Attiny in der
Konfiguration des Lernpakets bei 2,5V
abschaltet.
Das muss entsprechend umgestellt werden,
was aber mit dem Lernpaket nicht geht,
da mit der mitgelieferten Ausrüstung kein
Zugriff auf die "Fuses" möglich ist

(Nachtrag 19.11.2009,
Ich habe mir mittlerweile den AVR-ISP-Adapter
nachgebaut, damit ich z.B. mit Ponyprog
die "Fuses" umstellen kann.das geht mit dem
Adapter aus dem Lernpaket nicht.
Damit konnte ich die Abschaltung bei 2,8V
stillegen; jetzt geht auch die Meldung
bei Unterspannung.
Die Verwendung eines ATtiny13V oder 25
im Endzustand ist aber weiterhin nicht zu umgehen.
Zum Testen gehts aber auch mit dem
normalen 13er, halt ausserhalb seiner
spezifikation....)

Die Serielle Ausgabe des Spannungsmesswertes
muss noch reinprogrammiert werden.
Das sollte aber kein größeres Problem sein.
eher das Auswerten....wird schon noch........

Es braucht wirklich nicht viel!
ein ATtiny13V,(oder noch besser ein ATtiny25)
ein MOSFET (TTL-Typ N-Kanal)
ein Lastwiderstand
für die Funktion,
und zwei LED +Widerstand
für die Anzeige

video

mfG

Franz

Ich möchte an dieser Stelle auf den Blog
von Jack Rickard verweisen.

Einer der interessantesten Blogs, die ich in letzterZeit
gelesen habe.Auch wenn ich nicht alle seiner
Ansichten zu 100% teile, so hat er doch eine Menge
Erfahrung im Umgang mit diversen LIPOs und er hat
eine ganz wesentliche Tatsache festgestellt,welche
noch keiner bisher so gut erklären konnte wie er.
Es läuft sich zwar auch darauf hinaus, dass eine Unter-
spannungsüberwachung unverzichtbar ist,
Was eigentlich selbstverständlich sein sollte,
was sich offenbar noch nicht überallhin durchgesetzt hat
aber sein Vorschlag, die entladenen Akkus zu
balanzieren und dann gewissermaßen zu laden
bis der erste (schwächste) randvoll ist klingt
zunächst ungewöhnlich, aber hört ihn euch
einfach mal an! Macht Sinn!

http://jackrickard.blogspot.com/

http://web.me.com/mjrickard/

auf der Webseite gibts hervorragende
und ewig lange Videos zu allen möglichen
Themen. Stundenlang!







13 November 2009

ATtiny-Balancer-Programm läuft jetzt!!!!!!!

Es ist gerade 2Uhr55-Gäääääähhhhhhhhhhn!
seit ein paar Minuten macht der ATtiny13
endlich das, was ich will dass er es tun soll.......

(Dachte ich zumindest, aber ganz so wars dann
doch nicht, da war noch ein Fehlerchen drin, der ist
jetzt aber behoben und auch hier schon korrigiert.
Jetzt arbeitet Port B0 so wie er soll, die serielle
Schnittstelle ist wieder frei, aber noch nicht
programmiert....Immer mit der Ruhe!)
War irgendwie nicht ganz so einfach, wie ich ganz
am Anfang dachte.
In der Grundprogrammierung des
Lernpakets sind zwei der fünf Ports schon für
die Serielle Schnittstelle reserviert (PB1 und PB2)
ein weiterer (PB0) hängt mit an der Versorgung
den wollte ich eigentlich als Balancer-Ausgang
nehmen, aber irgendwie hats nicht geklappt,
obwohl es eigentlich gehen sollte.
(dem muss ich noch bei Gelegenheit
mal nachgehen, um die serielle Schnittstelle
zu erhalten,die könnte noch mal sehr
wertvoll werden)
(Anmerkung 16.11. Problem ist behoben!!!!!!!)
Da ist eine Art Boot-Programm drauf,
so dass man den ATtiny jederzeit neu
programmieren kann ohne lang
löschen und resetten zu müssen.
Ein sogenannter Boot-Loader halt, sowie
eben die Serielle Schnittstelle über die
man z.B. die Akkuspannung auslesen könnte.

Das wäre natürlich die Krönung des Ganzen!
Und Grundvoraussetzung für ein ordentliches
Display mit Spannungsanzeige etc.

Weil ich Port PB0 nicht zum Arbeiten überreden
konnte, nahm ich halt Port PB1 da gings.
Dafür geht jetzt die serielleSchnittstelle nicht,
aber das müsste auch noch zu schaffen sein.
Jetzt muss man halt klassisch neu
programmieren- was solls.......
Port PB0 ist wohl auch irgendwie vom
Boot-loader benutzt. Seltsam ist nur, dass
ich den Port per Impuls-Pausen-Steuerung
ohne Probleme nutzen kann,
aber nicht als Schaltausgang.
Andere takten den Balancer-Ausgang
ohnehin, aber ich sehe bei größeren
Akkus keine Notwendigkeit hierfür.
(um die 100Ah)
Ich denke, das Problem wird zu
lösen sein.Ich habe den Baustein jetzt
eh schon ohne Boot-loader
programmiert, vielleicht
wärs das schon gewesen,
aber das teste ich ein andermal.
(Anmerkung 16.11. Problem ist behoben!!!!!!!
es scheint wirklich der Boot-Loader
gewesen zu sein! da ist noch einiges
an Programm dabei für ein Interface,
und das benutzt den Port als
Puls-Pausen-Ausgang, drum war der
als solcher initialisiert und für nichts
anderes zu gebrauchen)


Derzeitiger Zustand:
ATtiny13 (muss noch ersetzt werden durch
einen ATtiny13V weil der auch für 1,8V
spezifiziert ist,ansonsten aber identisch)
Der Baustein ist als eigenständig
laufender Balancer konzipiert.
Versorgt aus der zu überwachenden Zelle.
Serielle Spannungsauslesung ist vorgesehen,
aber noch nicht realisiert.
Eine Status-LED bzw. Optokoppler
kann aber schon angesteuert werden.

Derzeitige Schaltgrenzen:
Alarm unter 2,5V bzw. über 3,6V (pin2 high)
Balancer schaltet ein bei 3,5V (pin5 high)
Diese Werte lassen sich in
0,0173V-Schritten verändern

Der PIC nutzt seine interne Referenz
von 1,1V mit 255-stufiger AD-Wandlung
macht 0,0043V-Schritte am ADC-Eingang.
Mit Spannungsteiler 4:1
(10k+3k3 bzw. 1k+330R 0,1%) ergeben
sich 0,0173V an der "Klemme"
bei einem Messbereich bis 4,43V max.

Hier der Quellcode:
(Anmerkung: korrigierte Version vom 16.11.09)

;Regler1.asm, Balancer 2,5V 3,5V 3,6V 1,1Ref;
;Werte für Eingangsteiler 4:1 10k/3k3 bzw 1k/330R 0,1%
;ADC an PIN3(PB4): Ref.:1,1V/255=0,00431V gibt 0,0174V je Einheit
;2,5V:0,62V:144 3,5V:0,87:201 3,6V:0,89:207
;Stoermeldung an PIN2(PB3)
;Balancer an PIN5(PB0)

.include "tn13def.inc"
.def A = r16 ;Messwert ADC
.def B = r17 ;GWu
.def C = r18 ;GWbal
.def D = r19 ;GWo
.def Delay = r20
.def Count = r21
rjmp Anfang
Anfang:
sbi ddrb,0 ;Datenrichtung PB0
sbi ddrb,3 ;Datenrichtung PB3
rcall AdcInit
Schleife1:
ldi A,2 ;ADC2 an PB4
rcall RdADC
ldi B,144 ;GWu: 0,62V/1,1V*255=144
ldi C,207 ;Bal: 0,89V/1,1V*255=207
ldi D,219 ;GWo: 0,94V/1,1V*255=219
cp A,B ;Vergleich GWu
brlo PB3ein
cp C,A ;Vergleich Balancerspg
brlo PB0ein
cp A,C ;Vergleich Balancerspg
brlo PB0aus
Schleife2:
cp D,A ;Vergleich GWo
brlo PB3ein
allesok:
cbi portb,3 ;port3 Stoerung aus
rjmp Schleife1 ;naechste Messung
PB3ein:
sbi portb,3 ;Stoerung ein
rjmp Schleife1 ;naechste Messung
PB0ein:
sbi portb,0 ;Balancer ein
rjmp Schleife2 ;zum Vergleich GWo
PB0aus:
cbi portb,0 ;Balancer aus
rjmp Schleife2 ;zum Vergleich GWo
AdcInit:
ldi A,3 ;Clock / 4
out ADCSRA,A
sbi ADCSRA,ADEN ;AD einschalten
ret
RdADC:
out ADMUX,A
sbi ADMUX,ADLAR ;Left adjust
sbi ADMUX,REFS0 ;1,1VRef benutzen
sbi ADCSRA,ADSC ;Wandlung starten
ADrdy:
sbic ADCSRA,ADSC
rjmp ADrdy
sbi ADCSRA,ADSC
ADrdyb:
sbic ADCSRA,ADSC
rjmp ADrdyb
in A,ADCH
ret



Das wars schon!


Das ist mein allererstes ATtiny-Programm!
Nachdem nun auch die schlimmsten Fehler
behoben sind und die Pins für die serielle
Schnittstelle jetzt wieder frei sind,
bin ich fürs erste schon sehr zufrieden damit.
Und das mit der seriellen Datenausgabe zur
Spannungsüberwachung krieg ich sicher auch noch
zum Laufen, aber nicht heute......
.....und vermutlich auch nicht in den nächsten paar
Tagen.....ich muss einige andere Dinge in Ordnung
bringen.... Vaterpflichten....Ämter.... Haus renovieren
Steuererklärung, Werkstatt aufräumen,
Winterreifen montieren, Müll entsorgen,
und so manch andere unangenehme
Tätigkeit... da hat sich ganz schön was angesammelt!

Ich werde mir wohl einen Adapter basteln,
wo ich alle Aus und Eingänge beobachten kann,
also fünf LED mit Vorwiderstand
und Schalter sowie ein Poti
zur Spannungsvorgabe,
dann geht der Test einfacher,
wohl auch gleich mit den Programmier
und Leseleitungen

Eine Programmieranleitung gibts
ein andermal.
Da müsst Ihr halt jemanden bitten,
ders schon kann. Oder selber schlau machen.
Ein bisschen googeln........

Auf der Homepage des Verfassers
des Lernpakets gibts
die nötigen Programme als Update zum
Downloaden!

www.b-kainka.de/lpmikros.htm

da ist auch der Schaltplan des Adapters
zu finden, sind nur ein paar teile!


Hier noch die HEX-Daten: (Stand 16.11.09)

:020000020000FC
:1000000000C0B89ABB9A15D002E017D010E92FECC7
:100010003BED011740F0201740F0021740F0301779
:1000200010F0C398F1CFC39AEFCFC09AF8CFC09821
:10003000F6CF03E006B9379A089507B93D9A3E9A7C
:10004000369A3699FECF369A3699FECF05B1089585
:00000001FF

als BMS.HEX abspeichern (nur Tex)
und auf den ATTiny übertragen.

viel Spass!
Das geht leider noch nicht bei 2,5v
weil der dann abschaltet


Zum ändern der Schaltgrenzen muss
der Quelltext angepasst und neu
compiliert werden.

Das Auslesen der Werte stelle ich mir
momentan so vor, dass es in einer Art
Master-Slave-Modus passiert.
Dazu müsste zwar jedes Modul einen
eigens programmierten PIC drin haben,
mit speziellem Befehl für die Antwort,
aber die Adressierung wäre dann einfacher.
Funktionierende Programme hierfür sind
im Lernpaket auch schon dabei,
solange das Problem mit Port 0 nicht
gelöst ist, könnte man mit zwei PIC arbeiten,
aber wie schon gesagt,das muss gehen,
und wenn ich den Balancer takten muss!

Ein Rechner (notfalls Terminal-Programm)
sendet die Nummer gleichzeitig an alle.
Der angesprochene antwortet mit seinem
ADC-Wert -fertig!
Die Umrechnung auf lesbare Werte
( Wert x 0,0173V) sollte eigentlich auch
noch im PIC erfolgen können,
zumindest als mV müsste direkt gehen.
So könnten alle parallel geschaltet sein,
und der Elektronik-Aufwand wäre gering.

Die Spannungen sollten eigentlich nur
interessieren wenn was nicht passt.
Den Alarm bei Über- und Unter-
Spannug habe ich zusammengefasst,
weil nicht beides gleichzeitig auftreten
kann, bzw sich der Fehler aus der
Situation erklärt.
Laden: Überspannung,bzw
Versagen eines Balancers.
Fahrt: kann nur Unterspannung sein.

Fürs erste könnte ein PC angeschlossen
werden, aber für die Zukunft sollte es
schon ein ordentliches Display sein.
(eine neue Aufgabe.............)

bis demnächst!

mfG
Franz

12 November 2009

LIPO-Balancer auf PIC bzw ATtiny-Basis

So viele Wege führen zum selben Ergebnis.............

Ich habe mich nun doch entschlossen, für den LIPO-Balancer
einen PIC bzw. in diesem Fall einen ATtiny zu programmieren.

Wieso jetzt doch auf einmal???????????

Die Seiko-ICs sind sehr schwer zu bekommen
insbesondere, wenn man nur ein paar Stück braucht.

Die Schaltung mit OP ist zwar einfach, aber zum
exakten Abgleich nicht ganz problemlos.
Der "freiliegende" Spannungsteiler ist
mir ein unsympatisches Element, der
kann sich verändern wenns feucht wird!

Letztendlich kosten die Teile mehr als der ATtiny!
Beim ATtiny könnte man sogar seriell die Spannung
auslesen bzw auch die Temperatur.
Da man die Dinger ohne großen Aufwand umprogrammieren
kann ist auch ein Abgleich auf andere Werte
keine Zauberei.

Leider gehts auch beim ATtiny nicht ohne Spannungsteiler.
Wenn die interne Referenz von 1,1V genutzt wird,
dann sind am AD-Wandler eben auch nur 0 bis 1,1V
möglich. Hier sinds aber nur zwei Widerstände
mit festem Wert.
Anpassung an die Akkus erfolgt im Programm.

Warum ausgerechnet ATtiny?
Ein ATtiny13V oder 25 kostet unter 1,50 €
eher sogar unter 1€
Der läuft ab 1,8V und hat eine 1,1VReferenz
gleich mit drauf.
Das Programmieren ist relativ simpel und
man braucht keine teure Ausrüstung dafür.
Den Sockel zum Programmieren kann man
selber basteln, die nötigen Programme sind
Freeware bzw die Demo genügt hierfür.

Um das Projekt auch für Leser dieses Blogs
nachvollziehbar zu gestalten, habe
ich mir das "Mikroprozessor-Lernpaket"
vom FRANZIS-Verlag bei Reichelt besorgt.
Da ist in einer Kiste für 49€ alles drin, was
man braucht. inclusive Bausatz für die
Programmierplatine etc. sowie ein
Handbuch mit Programmbeispielen,
die so richtig bei null beginnen.
Auf einer CD gibts alle Beispielprogramme
und Compiler etc- alles drin!
ein paar Bauteile für Versuche
sind auch dabei zum Spielen......
Man braucht das nicht zu kaufen,
aber bis man sich alles selber baut........
Das macht eigentlich nicht viel Sinn,
und das (sehr) dünne Handbuch ist für
absolute Anfänger ein guter Einstieg.

Ein nettes Spielzeug!
Zwar ist da nur ein ATtiny13 (ohneV)
dabei, der erst ab 2,5V sicher läuft, aber
das ist zunächst belanglos.

Tipp am Rande:
gleich noch ein paar passende 24Pol
IC-Sockel besorgen,(gedrehte Kontakte)
und einen davon als Adapter in den
eingelöteten stecken,
die Dinger leiern sehr schnell aus,
insbesondere die LED-Beine sind
zu dick

Das Beispielprogramm Zweipunktregler
ist schon nach Ändern von ein paar
Befehlen direkt geeignet, eine
Spannung zu regeln, bzw halt den
Leistungsmosfet in einer Balancer-
schaltung anzusteuern.
Einstellbar in ca 0,017V-Schritten,
das ist mehr als genau genug.

Kostet an Elektronik etwa
3-4€ je Akku.

Ich hab grad nicht Zeit, das alles genauer
zu erklären, aber wer Interesse hat,
sollte sich schon mal entweder das
Einsteigerset besorgen oder zumindest
schon mal die Programmierschaltung
zusammenlöten.
Anleitungen zur Genüge im Internet!
Ich werde in der nächsten Zeit eher
gemütlich mal am Programm feilen.
Bei AVR gibts das AVR-Studio.
Damit wird am Programm geschrieben
und compiliert. zum Programmieren des
Bausteins kann man dann entweder
das im Starterset enthaltene Programm
benutzen (Da sind auch schon Tools
dabei um einzelne Ports zu schalten
bzw Werte über die serielle Schnitt-
stelle auszulesen etc also ich würde
schon eher das Starterset kaufen)
Oder man nimmt z.B. Ponyprog
oder was ähnliches das geht
zur Not auch.
Oder man bittet gleich einen Bekannten
der das schon kann, einem die Dinger
zu programmieren.................
Es ist aber nicht sehr schwer,
und je weiter man da einsteigt,
desto faszinierender werden
diese Bausteine.
Es gibt natürlich auch von anderen
Herstellern ähnliche Bausteine und meist
bleibt man dann halt dabei, weil auch
die Programme die man schon hat
darauf laufen und man dann immer wieder
in die Schublade greifen kann.
Für den Hobbybereich kann ich aber
die ATtiny uneingeschränkt
empfehlen. In meiner Firma werden
überwiegend PIC von Microchip,
eben aus historischen Gründen und
weil die Compiler etc für größere
Projekte auch nicht für das berühmte
Butterbrot zu bekommen waren/sind.
Das AVR-Studio gibts kostenlos.
Ein bisschen googeln, dann findet man auch
Direktlinks ohne sich anmelden zu müssen.
Der ATtiny13V kann nur 1k Code speichern.
Das klingt nach wenig, aber es reicht locker.
So viel muss man erst mal programmieren.
Und wenns nicht reicht, dann gibts auch
leistungsfähigere Typen, aber bis man
so weit ist, vergeht noch einige Zeit
und dann ist auch meine Hilfe nicht mehr
wichtig!Wäre toll, dann wärs nämlich
nicht umsonst gewesen!
Wie schon gesagt, ich muss mich in
der nächsten Zeit vermehrt um
andere Sachen kümmern, aber
Tröpfchenwiese gehts sicher weiter.
Die Anleitung um ein einfaches
Begrenzerprogramm zu laden folgt
auf alle Fälle noch im November.
das dürfte für einfache Aufgaben
schon genügen.Eine Warn-LED
für Über- und Unterspannung
ist sicher noch möglich, und den
MOSFET kann der ATtiny
direkt ansteuern fehlt nur noch
ein Hochlastwiderstand ca 1R 20W
und ein Eingangsspannungsteiler 4:1
also z.B. 10k + 3k3 0,1%
sowie ein oder zwei LEDs
+ Vorwiderstand ca 680R bis 1k
Leiterplatte + Klemmen fertig
ist ein Balancer-Modul!
Auf Spielereien wie Taktung etc
kann man meiner Meinung nach verzichten.
Ist die Spannung zu hoch, muss etwas
Energie aus dem Akku bis es wieder
passt. da braucht man weder Timer
noch Hysteresen oder sonst was.
Ein Akku, der ein paar hundert
Ampere abgeben kann braucht
das nicht, wenn mal mit 4-5A
an 3,5V also ca 15W balanciert
wird. Alles andere macht vielleicht
im Modellbaubereich Sinn,
hier eher nicht, hier zählt nur
die pure Leistung.
Eine gewisse Taktung ergibt sich ohnehin
ganz von selbst aus den Programmlaufzeiten.
Was in einem Durchlauf eingeschaltet wird
kann erst im nächsten Durchlauf wieder
ausgeschaltet werden.
Keine Angst, das geht sehr schnell
bei solch kleinen Programmen.


mfG
Franz

05 November 2009

Erster Test der Motorsteuerung mit einem Elektromotor

Ganz aktuell...........

video

Ich habe mal ganz provisorisch einen Motor
an meine Steuerung gehängt.
(gute 100Watt an 20V Dauerleistung, aber 25-50 A
nimmt der schon mal auf bei starker Belastung
und ca 50V)

nur drei 12V-Akkus also auch nur drei Schaltstufen
mit P-Kanal-Mosfets in der Plusleitung
nur vom Optokoppler direkt angesteuert
und die Transistoren zum Brücken
sind noch nicht angesteuert sondern nur als
Freilaufdiode drin.
Ein Akku ist ziemlich schwach deswegen läuft der
Motor nicht ganz "rund" aber das soll jetzt
nicht stören.

Es geht tatsächlich!
Wie erwartet tickt das Ganze ein bisschen,
aber das Prinzip funktioniert!!!!!!!!!!!!!!!!!
Das ist schon mal ein Lichtblick!!!!!!!!!!!!
Und: wie erwartet wird nichts warm!
Ich hab nicht mal Kühlkörper an den
Transistoren auch keine zusätzlichen
schnellen Dioden oder sonstiges.
Nur je einen Pull-Down(bzw.up)
Widerstand am Gate.
IRF4905 P-Kanal, der schaltet
P60NF06L passiv als "Freilaufdiode"
Über den läuft der Strom, wenn der
Akku gerade nicht eingeschaltet ist.
Der muss später noch entsprechend
angesteuert werden, damit er
bei abgeschaltetem Akku ordentlich
leitet. Das ist aber ein ganz anderes
Kapitel und da gehts dann
um Microsekunden.
Selbst bei starker Belastung werden
die momentan nur mal "Handwarm".
Die IRF4905 werden praktisch gar nicht
warm.(Sind ja komplett durchgeschaltet)
Aber wenn später mal so 300A fliessen
sollen, sieht das schon anders aus........

Ich habe meiner Tochter solch einen Motor
in einen Tretroller eingebaut,
vielleicht schaff ich es dieser Tage mal,
mit drei Batterien den ersten Rollversuch
meiner Steuerung damit zu starten.

(ich habs auch schon mal mit getakteter
Steuerung probiert, aber das ist
auch ein ganz anderes Thema)

....und falls die Frage auftauchen sollte, warum
es mit dem LIFEPO4 Balancer nicht weitergeht,
Das ist ganz einfach:
1. keine Zeit
2.Ich finde es nicht gut, wenn der Spannungsteiler
mit Widerständen aufgebaut wird. Viel lieber hätte ich
das Ganze geschützt im Inneren irgend eines ICs.
Ich werde mich gelegentlich mal in die
Programmierung der Atmel ATtiny einarbeiten
müssen und so ein Teil entsprechend programmieren.
In der Firma arbeiten wir meist mit PIC von
Microchip aber die gehen nicht für so niedrige
Spannungen und haben keine Referenzspannung
drauf.
Aufgeschoben ist aber nicht aufgehoben,
ich bleib dran an dem Thema.

Sollte jemand Fragen hierzu haben,
einfach einen Kommentar abgeben!

mfG Franz

29 Oktober 2009

Weitere Versuche in Sachen Motorsteuerung

Ich wollte es einfach wissen, ob das mit meiner
selbsterdachten Motorsteuerung machbar ist.
Deshalb habe ich in den letzten Tagen mal ein
Ansteuergerät dafür gebastelt.
Das ging viel einfacher, als ich zunächst dachte!

(zur Erinnerung:
Ich will nicht die komplette Spannung takten,
sondern die Zahl der aktiven Batterien
verändern.Um alle Batterien gleichmäßig
zu entladen sollen alle in einem zyklus
für kurze Zeit eingeschaltet werden,
so dass jeweils die gewünschte Zahl
Strom abgibt)

Prinzip der Steuerung bei
8x12V=96V

ein LM3914 ermittelt die Gaspedalstellung.
Das ist ein IC zur Ansteuerung von
Leuchtbalken mit 10 Ausgängen.
da sind also noch zwei Ausgänge übrig.
Ich werde sie zur Überwachung der
Endstellung nutzen.

Der erste Ausgang dient zum Abschalten,
damit sofort der Strom unterbrochen
wird, wenn ich vom "Gas" gehe.
Ausgang1=0 bewirkt Reset des Ausgabe-
Schieberegisters.Ausgang 10 wird so
eingestellt, dass er im Normalfall
gerade noch nicht leuchtet.
Sollte nun der Masseanschluss des
Fahrpotis unterbrochen werden
was ansonsten Vollgas zur Folge
hätte, wird alles abgeschaltet.
Für die ganze Sicherheitsschaltung
ist praktisch kein Mehraufwand nötig.
Signal1 passt, wie es ist,
Signal 10 muss invertiert werden.
Abgleich ist nicht nötig, solange das
Poti seine Endstellung erreicht.
Die meist verwendeten Potis
sind allerdings so gebaut, dass nur
ein viertel des möglichen weges
genutzt wird, da muss natürlich der
Pegel entsprechend angepasst werden
was aber auch problemlos geht.

Ausgang 2 bis 9 schalten jeweils eine weitere
Batterie ein.
Das sind also die eigentlichen Fahrstellungen

Ich gebe die Signale an ein Schieberegister
(8-fach, CMOS-IC 4014 , kann acht Werte
parallel einlesen)
und schiebe das Bild in ein weiteres Schiebe
register (8-fach, 2x4, CMOS-IC 4015,
das hat acht Ausgänge und kann jederzeit
auf 0 gesetzt werden)

Ein NE555 erzeugt einen Takt,
eine Zählerschaltung liefert alle 8 Impulse
einen Übernahmeimpuls an das erste
Schieberegister, so dass jeweils das
aktuelle Bild der Gaspedalstellung
einmal durchläuft.Jeder Ausgang ist
hierbei gleich lang aktiv.
Der Teiler 1:8 ist noch einfacher zu lösen
als im jetztigen Aufbau realisiert.
Wenn ich nicht mehr als 10Stufen brauche,
dann geht das ganz prima mit einem
einzigen 4017
Kosten: alles zusammen unter 10Euro !!!!!!!
Bau-Zeit ca 3 Stunden auf Lochrasterplatine
Schaltbild kommt noch!

Das Ganze kann auch ohne Probleme auf
mehr Batterien erweitert werden.
Die Zahl der Bauteile steigt dabei jedoch an.
Ich habe den ersten Prototyp für
maximal 16 Ausgänge gebaut.
der Teiler musste dafür variabel
sein von 1:4 bis 1:16.
Das war nicht ganz so einfach.
bis 1:10 reicht ein einzelner 4017.
Die LM3914 sowie die Schieberegister
4014 und 4015 sind anreihbar.

Eine Strombegrenzug ist auch möglich.
Hierzu müsste man die Leitung vom
ersten zum zweiten Schieberegister
unterbrechen,wenn der Strom zu hoch ist.
(also zwischen 4014 und 4015)
Das müsste genügen, da ich vorhabe,
einen Durchlauf ca 0,5 Sekunden
dauern zu lassen.

Ich habe absichtlich die "veralteten"
CMOS ICs verwendet.Die kosten fast nichts
und laufen von ca 5 bis 16V also direkt
am Bordnetz. So spare ich mir auch
ein Netzteil.
Normalerweise würde man da heutzutage
irgendwelche programmierbare
Bausteine nehmen, aber bis man ein
Programm fertig hat........
So ist alles übersichtlicher und ich kann
noch alles einstellen.
Vielleich später mal.........
Man könnte dann auch schneller reagieren und
anders takten.Damit meine ich, dass
das "durchwechseln" der Batterien dann
wesentlich langsamer erfolgen könnte.
Diese Schaltvorgänge erfordern ein
recht exaktes Timing und ich will sie
auf ein Minimum begrenzen.
Ich vermute mal ganz gewaltig,
dass das nicht ohne ein merkliches
"Ticken" funktionieren wird

Der lm3914 braucht
auch keine Referenzspannung,
(Wäre sogar integriert) aber wenn
das Gas-poti und der obere
Referenzeingang aus der selben
Quelle versorgt werden ist der Pegel
völlig unwichtig.
Der erste Prototyp lief sofort und
verhielt sich wie gewünscht.
Da ich aus Zeitgründen
auf Inverter verzichtet
hatte, funktionierte da aber die
Notabschaltung noch nicht.
Ich bau noch eine "endgültige"
Version für acht Ausgänge.
ca 6 ICs a ca.50Cent
+ ein paar Kleinteile, das ist alles!

Die Leistungs-Schalter direkt an
den Batterien habe ich noch nicht
aufgebaut, da bin ich noch am
tüfteln, da ich keine P-Kanal-
MOSFET benutzen möchte,
weil die schlechtere Eigenschaften
haben als N-Kanal-Typen.
dafür würde ich aber einen DC-DC-
Wandler sparen.
Da fällt mir aber sicher noch was ein.
"Smart high side Switch" sage ich nur!

Ob diese Schaltung tatsächlich irgendwann zum
Einsatz kommt ist noch fraglich.
Das hängt unter anderem davon ab,
ob nun eine EMV-Prüfung
nötig ist, oder nicht und was für ein Motor
letztendlich zum Einsatz kommt.

Der kleine Perm ist halt sehr teuer.
und auch ein bisschen schwach.
Dafür aber auch sehr leicht!
sehr viel mehr als 100kg
darf die gesamte Anlage nicht
wiegen, das ist halt so.

Ein bisschen mehr Leistung hätte
ich mir schon gewünscht
aber eine Ente ist dann die
falsche Basis.

Da machen viele Leute den selben
Fehler und nehmen zu kleine
Basisfahrzeuge.Gerade bei
Bleiakkus ist die max Zuladung
die viel entscheidendere Frage.
Auch die Getriebeübersetzung
muss passen. (schön "lang")
Und der auszubauende
Verbrennungsmotor sollte möglichst
schwer sein, idealerweise in
einer möglichst leichten Karosserie.
Also große Diesel in kleinen Autos
zum Beispiel!

Ein Golf1 50PS wog 1975 760kg
ein Audi80 / Passat 75PS 860kg
AsconaB BMW02 und 3er
haben sehr leichte Karosserien.
Porsche 924 -warum nicht?
Uno Diesel etc..................

bis demnächst!
Franz

16 Oktober 2009

LIFEPO4 Balancer 2.Prototyp mit OPs

In den letzten Tagen habe ich ein bisschen
weitergebastelt, viel gerechnet,
und einen zweiten Prototyp-Balancer aufgebaut.
Zwar noch nicht mit den endgültig geplanten ICs,
aber schon mal mit der vorgesehenen Beschaltung.
Mittlerweile ist die Schaltung schon mal
durchgemessen worden. Alles bestens!
Mit 4-fach OP aufgebaut,1,2VReferenz
Eingangsspannungsteiler gesamt 3K also 1,1mA
Messtrom Schaltschwellen 2,20v; 3,50V 3,60V
Genauigkeit besser als 0,01V (10mV!)
eingestellt mit "Standardwiderständen"
2Meldeschleifen:Störung (Über oder Unterspg.)
und Balancer arbeitet über 30%.
wird zusammengefasst zu "alle arbeiten"
(hierzu demnächst mehr)
Problemlos (fast) auf andere Werte abgleichbar
Gesamtstromaufnahme ca 2mA in Ruhezustand,
d.h. Bereit, aber zwischen 2,2 und 3,5V
Für 100Ah Akkus kein Problem
auch nicht bei Meldung Unterspannung!??
Die sollte ja eh nicht lange anstehen.
Die Meldung an sich braucht praktisch
keinen Strom,aber eine völlige Abschaltung
bei Unterspannungist nicht vorgesehen.

Es gibt Operationsverstärker, die bereits ab 1,8V
zuverlässig arbeiten.Schwieriger ist es schon
mit Referenzspannungsquellen.
Solche mit Eingang, GND und Ausgang
laufen meist erst ab 3V. Dreimal dürft Ihr
raten, warum bei G_F die Abschaltung
bei 2,2V über ein getrenntes IC erfolgt...
Ich habe aber was passendes gefunden!
Das ist verwendbar, weils nur 2-Polig ist.
Von 0,5-10mA 1,24V +- 0,5% das sollte
reichen. Das mit dem Stromverbrauch ist
so eine Sache.... Da der Balancer immer
eingeschaltet ist, muss die Stromaufnahme
minimal sein.Größtes Problem ist der
Eingangsspannungsteiler.
Gar nicht so einfach zu berechnen, und dann
sollen die nötigen Widerstände auch noch
handelsübliche Werte haben.
Poti ist nicht! Das kann sich verstellen!
Hier gehts "ganz genau"
Und wegen des Stromverbrauchs darfs nur
ein einziger Spannungsteiler sein.
Wie rechnet man so was aus?
Referenzspannung ist 2,24V.
Ich brauche also eine Reihenschaltung,
bei der ich bei meinen gewünschten
Schaltschwellen von 3,6V; 3,5V;und 2,2V
irgendwo meine Spannung von 1,24V
anliegt. 3,6V ist etwa 3 x 1,24
gewünschte Stromstärke ca 1mA.
Also der erste Widerstand passt mit
1K. Es stellte sich aber 1,1k als besser
passend heraus.
Ich hab grad die Werte nicht zur Hand,
aber Jetzt weiss ich, welcher Strom
fliessen muss, damit bei 3,6V an
1k1 1,24V anliegen. Daraus ergibt sich
der Gesamtwiderstand.
Hieraus kann ich berechnen, welcher Strom
bei 3,5V und bei 2,2V fliessen muss.
Aus diesen Werten ergibt sich der nötige
Widerstandswert für 1,24V Spannungsabfall.

Ergebnis war letztlich:
erster Widerstand:1k1 (3,6V)
zweiter Widerstand 33R (3,5V)
dritter Widerstand 660R (2 x 330R, 2,2V)
vierter Widerstand 1500R (Vorwiderstand)
damit waren die Schwellen 0,08V zu hoch,
also noch 30k parallel zum 1500R
und es passt perfekt.

Im Grunde genommen habe ich jetzt
nur die Funktion des Seiko-ICs nachgebildet,
aber eben mit den von mir gewünschten
Schaltpunkten. Der MOSFET schaltet sauber,
auch ohne spezielle Treiberstufe.
Eine weitergehende Regelung ist nicht nötig.
Es ergibt sich ganz automatisch eine
Taktung und das genügt in dem Fall.
Die Meldungen für Über- und Unterspannung
habe ich auf eine zusammengeführt,
das sollte auch reichen.
Für die Meldung, ob der Balancer arbeitet
habe ich mir was besonderes einfallen lassen.
Das Signal, das den MOSFET des Balancers
ansteuert geht auch über einen
hochohmigen Spannungsteiler auf einen
Kondensator, dessen Spannung
gewissermaßen das Impuls-Pausen-
Verhältnis des Balancers darstellt.
Da ohnehin der vierte OP nicht
anderweitig benutzt war, kann ich damit
feststellen, wann der Balancer zu
etwa 30% arbeitet.
Ich werde dieses Signal nutzen,
um den Ladevorgang zu beenden
sobald der letzte Balancer beginnt
zu arbeiten. Dann ist auch der
letzte Akku voll.
soviel heute zur Balancerschaltung.
Ich denke mal, die bleibt so!

Nächstes Problem:
Wie kann ich ausgeben, welche
Zelle Alarm ausgelöst hat?
Das geht mit einem Satz Steuerleitungen.
Aber das soll jetzt keinen Strom fressen!
Zumindest nicht im Ruhezustand
und bei Unterspannung!
Das wird interessant!
Optokoppler scheiden schon mal aus.
Es gibt aber von Analog Devices
die "ADUM"-Serie!
Das sind Induktiv gekoppelte ICs!
Wie winzige DC-DC-Wandler mit
ein- und Ausgängen!
Damit könnte ich leistungslos eine
Meldung isoliert rausschicken
und auch rein!
Leistungslos soll in diesem Fall heissen,
dass Die Energie nicht aus dem Balancer
kommt, sondern aus der Auswerteeinheit.
Aber da MOSFETs ja nicht über die
Stromstärke sondern über die
Spannung am Gate gesteuert werden,
braucht ein Mosfet wenn er erst
mal angesteuert ist praktisch
keine Energie damit er durchschaltet.
Ich will die Auswerteschaltung
ja mit dem 12V Bordnetz betreiben.
Ich denke da ganz besonders
an den ADUM5201 bzw 5401
bzw 5403 oder 5404
Das sind ein bidirektionale
Isolier-koppler mit DC-DC-Wandler!
Was bedeutet das?
ganz einfach: Das Ding wird auf einer
Seite versorgt mit 5V, auf der anderen Seite
kommen 5Vraus und zwar galvanisch
getrennt bis 2500V Isolationsspannung.
Zusätzlich gibt es noch zwei (bzw.4)Datenkanäle
in verschiedene Richtungen je nach Typ.
Wenn nun die Versorgung von aussen käme
also aus der Auswerteeinheit dann könnte ich die
Stör- etc-Signale auf den Balancerboards
mit Mosfets leistungslos schalten. Die
Balancer können ihre Meldungen an die
Auswerteschaltung senden, und ich könnte sogar
auf die Kette aus Mosfets für die Störschleife
verzichten.
Das wäre also der ADuM5403 bzw 5404

http://www.analog.com/static/imported-files/data_sheets/ADuM5401_5402_5403_5404.pdf
http://pdf1.alldatasheet.com/datasheet-pdf/view/240448/AD/ADUM5201.html

Eigentlich brauche ich ja gar kein Signal
in Richtung Balancer, aber damit wäre sogar eine
Abschaltung des Balancermoduls möglich!
Und, die Meldung
"irgendein Balancer arbeitet "
auszugeben wäre auch noch drin.
(zum Reduzieren des Ladestromes
in der "Balacier-Phase)
Die ICs sind noch nicht einmal teuer!
ca 2€
nur so ein Tip:
damit könnte man recht gut einige
Voltmeter galvanisch getrennt versorgen.
Bei "Blei-Mobilen" sicher die einfachste Lösung.

Ich muss mal durchkalkulieren, was letztlich
sinnvoller ist, wenn keine Einzelspannungsanzeige
gebraucht wird. Schleifen mit Mosfets
oder gleich ein ADuM540x aber schon aus
Platzgründen und wegen der
Standardisierung der Schaltung
denke ich, dass der ADuM die
bessere Wahl sein wird.Da ist nämlich noch
ein ganz wichtiger Grund:
Auf den Bandkabeln für die Meldungen
liegen dann nur 5V-Signale! sonst nix!

Die Balancer-Schaltung funktioniert
auch ohne Meldungen etc...

Ich denke mal,es wird verschieden
luxuriös bestückte Module geben.

Minimalkonfiguration wäre wohl
ein einfach-OP und nur
Balancerfunktion.
Das wäre mit ca 4€ Material
pro Zelle realisierbar!
Extras kosten dann extra!





mfG Franz







mfG Franz

09 Oktober 2009

Wie soll der Balancer in der Praxis aussehen?

Ich habe mich entschlossen, das Balancersystem als einzelne
Module (je eins pro Zelle) zu gestalten.Das macht das System
universeller verwendbar. Vorerst werde ich die Regelung
wohl mit einem vierfach-OP vornehmen, um einfach
flexibel zu bleiben, und die Schaltschwellen jederzeit
modifizieren zu können.
Als Ziel habe ich allerdings (noch?) die Verwendung der
Seiko ICs im Auge.Die müssen aber mit den
passenden Schaltschwellen bestellt werden, und
da liegt das Problem. (VE = 3000St.!)
Das geht erst,wenn alle Werte 100%ig passen

Es gäbe noch eine Möglichkeit:
einen "PIC",das ist ein winziger "Komplettrechner"
inzwischen sind das "Pfennigartikel"
Alles in einem einzigen IC ab ca 1Euro.......
Drei Spannungsgrenzen auswerten ist da
überhaupt kein Problem, ich muss nur schauen,
welche Typen schon mit 2V laufen, und ob ich
die nötigen Programmiergeräte etc. dafür habe.
"Mal schaun!" Mit Blick auf "Mindaugas",
Der hat einen passenden gefunden, aber für den
habe ich nicht das nötige Zubehör.(ATtiny25)
Der 12F683 bzw der 12F675 wären zur Not
auch geeignet, da hätten wir sogar schon
ähnliche Programme in der Schublade,
aber hier fehlt eine Referenzspannung.
Ein LM 4041CFTA von Zetex wäre da
brauchbar (1,24V ca.50cent)
Das Problem ist die niedrige
Versorgungsspannung. die 12F....
laufen ab 2V der Attiny ab 1,8
viele Spannungsreferenzen erst
ab 3V. Der 4041 ist 2-polig
und geht schon mit ein paar µA
auf 0,5% genau. Thats IT!
wenn ich aber schon eine
Spannungsreferenz brauche,
dann bringt der PIC wenig,
weil ich für den 4-Fach-OP
nur vier (bzw5) Widerstände mehr
brauche und auch kein Geld gespart ist.
Eine Reihenschaltung aus
(+) ; 1k5 ; 660R=2x330R ; 33R ; 1k1 ; (gnd)
kommt recht genau auf Schaltschwellen bei
3,6V (Übersp.) ; 3,5V (Balancer ein)
und 2,2V (Untersp.) ; etwas zu hoch, ca 3%,
das würde mit 1,2V Ref. passen, aber etwas
hintrimmen, dann passt das perfekt.

Aus elektrischen und mechanischen Gründen finde
ich es optimal, die Regler auf den Akkubrücken
zu montieren bzw. an deren Stelle, und den
Pluspol als kurzes Kabel auszuführen.
Die Platine direkt auf dem Akku anzuschrauben
halte ich für gefährlich, da der hohe Strom
mir für irgendwelche Durchkontaktierungen
als zu hoch und somit gefährlich erscheint.

Aufgrund des Modularen Aufbaus ist jedes
Modul gleich. die Verbindung zwischen den Modulen
soll per Bandkabel erfolgen und die Meldungen
sind als Schleife gestaltet, so dass eine
Unterbrechung sofort auffällt.

Vorgesehene Meldungen:
1.Unterspannung irgendeiner Zelle
2.Überspannung irgendeiner Zelle
3.Irgendein Balancer arbeitet
bzw alle Balancer arbeiten.

Unter und Überspannung werde ich
zusammenfassen, da sicher unterschieden
werden kann, ob grad geladen oder
entladen wird.

Ob irgendein Balancer schon arbeitet ist
wohl nicht soooo wichtig, aber wenn
alle arbeiten, dann kann der Ladevorgang
beendet werden, Da fehlt irgend ein
"zeitfaktor", da die Balancer ja takten.

Wenn ich z.B.12-Poliges Kabel nehme,
ist die Zahl der Meldungen nicht das Problem.
eher schon der Platz auf den Modulen.
Das allgemein bekannte Goodrum-Fechter
System hat da ein paar arge Nachteile,
die aber nur bei Verwendung an "großen"
Akkus ins Gewicht fallen.
Für den eigentlichen Verwendungszweck
an kleinen Akkus (Fahrräder etc.)
ist das System prima! Ich will das System
ganz gewiss nicht schlecht machen,
aber mit Ladeströmen von 20A und mehr
ist es ganz einfach überfordert.
Dafür war es auch nie gedacht!
Insbesondere die Überspannungs-
überwachung ist unverzichtbar,
wenn der Ladestrom höher ist,
als die maximale Balancerstromstärke.
(falls mal eine Zelle "stirbt")
Der Zustand "alle Balancer arbeiten"
muss als Schaltkontakt zur Verfügung stehen,
und sollte den Ladevorgang beenden
indem das Ladegerät abgeschaltet wird
ob jetzt irgendein Balancer schon arbeitet,
das erscheint mir nicht ganz so wichtig.
Andererseits wäre das ein Signal,den
Ladestrom zu reduzieren, da sonst
Energie in den Balancern verheizt wird

Wie könnte man bei Einzelmodulen
auf einzelne Zellen zugreifen,
z.B. die Spannung messen ???????
oder wenigstens ausgeben,
welche Zelle Störung meldet?

Das könnte gehen, wenn man Steuerleitungen
binär codiert ansteuert.(noch nicht getestet)
mit sechs Leitungen + Masse könnte man
sowohl ein bestimmtes Modul ansprechen,
(Spannungsmessung)
als auch die Nummer des Moduls mit
Störung erhalten. bis zu 63 Zellen!
Das geht in beide Richtungen!
Wenn die eingegebene Zahl mit der Nummer
des Moduls übereinstimmt schaltet ein Relais
die Spannung der Zelle auf zwei Messleitungen.
Meldet ein Modul Störung, speist es von sich
aus seine Zahl ein und gibt gleichzeitig seine
Spannung aus. Wird keine Zahl eingespeist,
ist die Zahl also 0 so könnte die Gesamtspannung
angezeigt werden.Die Zahl kann ohne
großen Aufwand angezeigt werden
Hier stimmt die Anzeige natürlich nur bei
einer einzigen,bzw der ersten Meldung,
aber das hilft ja schon mal weiter.
Das Anziehen mehrerer Relais gleichzeitig
ist auch einfach zu verhindern, enn man Relais
mit vier Umschaltkontakten nimmt.
und die Versorgung (12V und GND)
von beiden Enden her einspeist und
über Öffner weiterleitet. Zieht ein
Relais an, kann kein anderes mehr
anziehen
Wenn man mehr will wirds wirklich kompliziert.
Die Adernzahl der Verbindungskabel ist
kein Problem und da können vorgefertigte
Kabel ganz einfach angesteckt werden.
In diesem Fall müssten die Module
entsprechend kodiert werden.
z.B. durch Dioden bzw Jumper
wenn der Platz reicht.
Da kommt schon so manches an Teilen
zusammen.
eine Referenzspannungsquelle
ein vierfach-OP
vier Widerstände für den Spannungsteiler
ein kleiner MOSFET + Diode +Widerstand
je Meldeschleife
ein Optokoppler + ca 8 Dioden für
die kodierte Nummernausgabe,
und falls man sogar noch die
Spannungsausgabe haben will
käme wohl noch ein Relais
+ etliche UND-Gatter dazu
Das wird Eng! aber in SMD-Technik
müsste es gehen. Der Lastwiderstand
sowie die Bandkabelstecker sind auch
noch da.............................

Die Nummernausgabe ist wohl machbar,
aber das Messgerät wird ganz sicher
ein eigenständiges Gerät. Aber das
von den Modulen aus anzusteuern,
das geht auf alle Fälle.
Dann wird zumindest festgestellt,
welche Zelle den Alarm ausgelöst hat,
und die Spannung sowie die Nummer
der Zelle werden angezeigt.
(Mehraufwand pro Modul ca 3€)
sowie "Spaghettiverdrahtung" mit
dünnen Leitungen zum Messmodul.

Ich will dort auch ein Voltmeter einbauen
und das Bedienteil extra bauen.
Eine Taste für 0 (null) eine Taste für "UP"
eventuell auch eine für "Down" eine
Siebensegmentanzeige für die Nummer
und ein Diitalvoltmeter.Bei 0 wird die
Gesamtspannung angezeigt, bzw
Automatisch bei Störung eines Moduls
dessen Wert gezeigt.Wie schon gesagt,
nur das erste wird richtig angezeigt,
aber das ist doch schon was.
Dann muss man sowieso Fehlersuchen,
deshalb auch die Bedienung vom
Batterieraum aus.

Leute, sagt mir Eure Meinung!
Konstruktive Kritik ist immer willkommen

mfG
Franz

28 September 2009

LIPO-Balancer weitere Versuche + Überlegungen

Nachdem sich gezeigt hat, dass der Balancer grundsätzlich
wunderbar funktioniert, gehen die Überlegungen weiter.
Wie soll das grundsätzliche Layout aussehen?
Einzelne Platinchen direkt auf den Akkus?
So hätte ich mir das eigentlich gedacht,
das würde dann etwa so aussehen wie
bei "Mindaugas" http://hr-ev.blogspot.com/
der hat aber einen etwas aufwändigeren Weg
eingeschlagen, eine ganz tolle Lösung!
Aber halt der kompliziertere Weg mit
allen Extras! So viel Aufwand will ich vermeiden.

Nachteil der Einzelplatinen:
Man muss die Platine zusammen mit den
Batteriebrücken festschrauben und zusätzlich die
Meldeschleifen verdrahten.
Derzeitiger Stand: Drei Leitungen für die
Meldungen sind durchzuschleifen.
Ich bin der Meinung, dass ich nicht auf die
Meldung "Alle Balancer arbeiten" verzichten
kann. In diesem Fall sollte der Ladevorgang
beendet werden, bevor die Balancer beginnen
als Heizung zu arbeiten. Bei kleinen Akkus geht
das schon mal, aber hier würden bis zu
ca 40mal 20W = 800W verheizt werden,
wenn alle Akkus gleich geladen wären.
Die Meldung "Überspannung" soll eigentlich
eher ein "Notaus" sein, zur Sicherheit!
Ich habe deshalb noch einen Optokoppler
hinzugefügtund mittels Diode und Elko
dafür gesorgt, dass der ein bisschen
nachleuchtet.Wenn alle angesteuert werden,
dann schliesst sich die Schleife und meldet
"alle Akkus voll"
****Update 29.09.09:
Es geht sogar ohne Optokoppler!
(vor allem kleiner und billiger)
Ich habs schon getestet, weil ich mir zunächst
überhaupt nicht sicher war obs so geht.
Die Schaltung ist ein bisschen "frech", aber
der Zweck heiligt bekanntlich die Mittel.
Wie soll das gehen? ohne "galv.Trennung"
Beginnend mit einem Vorwiderstand
am höchsten Pluspol liegt eine Reihe aus
abwechselnd je einem P-Kanal-Mosfet
und einem Vorwiderstand (ca 1-10k)
je ein solches Paar pro Balancer-Modul.
(und noch eine Diode und ein Elko)
Das alles in Reihe geschaltet bishin zur
Basis eines kleinen NPN-Transistors.
Die Gates der Mosfet werden vom jeweiligen
Balancer-Mosfet über eine Diode angesteuert.
Ein kleiner Kondensator verlängert die
Einschaltzeit, da die Balancer ja unabhängig
voneinander takten.
Eine Diode begrenzt das Gate-Potential
auf die positive Spannung,
damit der Transistor sicher sperrt, wenn sein
Gate auf "high" liegt.Wenn alle Balancer
takten, dann ist auch der letzte Akku voll.
Alle Transistoren schalten durch, und ein
Relais in der Auswerteplatine schaltet.
Der Ladevorgang kann so beendet werden,
noch bevor Energie sinnlos verheizt wird.




Die andere Möglichkeit wäre die sogenannte
Spaghettiverdrahtung, also von jeder Verbindung
aus je ein Kabel zu einer zentralen
Balancer-Baugruppe. So wären alle Messstellen
zusammengefasst, und die ganze Auswerteschaltung
wäre schon auf der Platine zu verdrahten.
Hauptsächlich diskutierter Nachteil dieser Verdrahtung
ist die Verfälschung der Messwerte durch die langen
Leitungen.Das muss aber nicht sein, wenn man
jeweils ein Koax-Kabel nimmt, den Schirm für
den Balancerstrom benutzt und den Innenleiter
zum Spannungsmessen nimmt.Daran solls also
nicht scheitern.Bei der Zentralen Lösung würde
ich aber eher zum LTC6802 als Baustein greifen.
Damit wäre dann auch gleich die Spannungs-
und Temperaturmessung elegant gelöst.
Leider ist dieser Baustein nicht eigenständig
lauffähig, sondern braucht unbedingt einen
Steuerrechner

Für "einfache" Anlagen finde ich die
"Einzelmodullösung" mit einem
Balancermodul je Akkuzelle übersichtlicher
und für Normalbürger verständlicher.
Das Arbeiten des Balancers wird per LED
angezeigt, das müsste schon helfen,
eventuell "kranke" Zellen zu lokalisieren.
Ich werde diesen Weg nehmen, aber trotzdem
den anderen nicht vergessen,weils
damit einfacher wäre, Luxus wie
Einzelspannungsabfrage etc zu bekommen.

Es gibt jetzt aber noch ein gewaltiges
Problem.Wie hoch ist die tatsächlich
benötigte Ladeschlusspannung wirklich.
Es gibt da durchaus Unterschiede je
nach Hersteller, Akkutyp etc.
Insbesondere LIFEPO-Akkus haben da
nämlich maximal 3,6V angegeben.
Für diese ist der Regler mit seinen
4,1V natürlich nicht brauchbar.
Wieder mal was, wo ich mich
noch ein bisschen schlau machen
muss.................
Es gibt die ICs mit unterschiedlichen
Schaltspannungen, aber da ist man dann
ganz schön auf einen Akkutyp festgenagelt.
Abgleichen oder Abstimmen bestehender
Schaltungen ist also nicht möglich!!!!!!
Hmmmmmmmm............................!

Ach ja, noch was: Schaltpläne liefere ich
demnächst mal nach!
Muss ich erst noch sauber zeichnen.

26 September 2009

Ich hatte da so eine Idee

Bezüglich der Steuerung (Controller) hatte ich eine etwas
unkonventionelle Idee.
Ich habe erste Tests gemacht, und es würde gehen!
Ich möchte keine Taktung mit hoher Frequenz, sondern
ich habe vor (das ist eigentlich schon übertrieben,
da ich echt nicht sagen kann wann ich das auch noch
machen soll..........)
die Zahl der aktiven Batterien zu variieren.
Hierzu bräuchte jede Batterie eine Schaltung, die sie entweder
einschaltet oder durch eine Brücke ersetzt.
Mit ein paar MOSFET ist das kein Problem, habe ich schon getestet.
Ein und ausschalten der Batterie ist klar.
Bei ausgeschalteter Batterie fliesst der Strom zunächst
über die interne Diode eines (einiger..)zweiten gewissermaßen
verkehrt herum betriebenen Mosfet, der dann aber
sofort angesteuert wird, damits da keine Verluste gibt
Man braucht dann auch keine Hochspannungstypen,
da in 12V-Schritten geschaltet wird.
Bei LIPOs würde ich sogar eher zu 8V tendieren.
Damit sollte man sanft genug anfahren können
Wenn dann die eingeschalteten Zellen etwa wie bei einem
Lauflicht mit variablem Muster durchgeschaltet würden,
wäre die Entladung auch gleichmäßig.
jede Batterie käme mal dran!
Das Gaspedal würde gewissermaßen eine Balkenanzeige ansteuern,
deren Bild dann ins "Lauflicht" eingespeist würde.
entsprechend würden die einzelnen Batterien aktiv geschaltet.
so kommt jede gleich lang dran und wenn eine vorzeitig leer ist,
könnte man die auch "ausklinken"
Noch ein Vorteil: Energierückgewinnung wäre möglich!
und Laden während der Fahrt.
Im Schiebebetrieb müssten sich automatisch entsprechend viele
Akkus einschalten, bis der Strom passt.
(die Perm-Motoren PMG132 sind hervorragende Dynamos,
allerdings nicht regelbar, nur drehzahlabhängig)
Wieso hat das noch niemand probiert?
Ist gar nicht wirklich kompliziert.
Nur weiss ich beim besten Willen nicht, wann ich das alles
basteln soll. Das ist auch der Grund warum ich damit
an die "Öffentlichkeit" gehe. Vielleicht hat jemand dafür mehr
Zeit als ich. Mir ist zur Zeit auch so nie langweilig!

Franz

25 September 2009

Warum eigentlich der Aufwand? Ziel: Hybrid-Ente!

Hmmm....
Was bewegt einen eigentlich, sich mit Elektroantrieben bei Autos
zu beschäftigen?
Es geht, das ist klar!
Es ist letztendlich preiswert! Na Ja,wenns letztendlich
funktioniert, dann ja, aber irgendwie ist die Zeit noch nicht
reif genug (meine Meinung)Das Problem ist nicht die
technische Machbarkeit, sondern in erster Linie
eine Frage des Preises der nötigen Akkus sowie eine
Anhäufung bürokratischer Stolpersteine, sobald
eine ganz normale Privatperson sich ernsthaft
mit diesem Thema befassen will. (EMV...etc...)
Aus so manchen Gründen habe ich selbst derzeit
kein elektrisch betriebenes Fahrzeug, aber das könnte
durchaus noch werden!
Das was mir vorschwebt ist eher eine Zwischenlösung.
Ich würde gerne eine Hybrid-Ente bauen.
Warum ausgerechnet eine Ente?
Weil ich schon dreieinhalb Stück habe!
eine alte 16er von 1969, (Ente Pur!)
eine total umgebaute Cabrio-Pick-Up-Ente
mit Ami Super Technik (Läuft fast 170!)
(Macht echt Spass!)
sowie eine "ganz normale 87er", und da sollte
die "Elektrik" rein. und zwar so, dass das auch wieder
ausgebaut werden kann, bzw in meine
"Future-Ente" übernommen werden kann.
Die ist aber derzeit noch lediglich in Planung.
Die soll etwas breiter werden (ca insgesamt 6cm)
und zwar die Karosserie, nicht die Kotflügel!
und ev. auch eine Gasanlage bekommen
(monovalent, das heisst nur noch 15liter im Tank,
dann gibts auch die grüne Plakette! ohne Kat!
sowie eben einen kleinen Elektromotor.
Das Teil sollte die wirklichen Kurzstrecken elektrisch
fahren können, ansonsten aber ganz normal funktionieren.
Hier würden ca 15Km elektrische Reichweite genügen.
Ich hab schon so manche Berechnung angestellt, und
das muss gehen!(Das Teil wurde auch schon fast genau so
gebaut, wie ich mir das vorstelle, aber leider habe ich an
einer ganz bestimmten Stelle ein noch ungelöstes
mechanisches Problem.)Da bei der Ente ohnehin nicht
genug Gewicht zum ausbauen vorhanden ist, halte
ich dieses Fahrzeug ohnehin nicht für eine gute
nur-elektro-Basis.aber gute 100Kg zusätzlich,
das sollte durchaus gehen!
(Halt leider nur mit teuren LIPOs)
Ich würde gerne einen Perm-Motor an die untere
Getriebewelle ankoppeln, die macht bei ca 77 Kmh
ca 3000 Umdrehungen, das passt ganz gut
für ca 7-8 kW was für gut 70 reichen sollte.














Die untere Welle ohne Lager,
hier müsste ein Ritzel drauf.

Ich möchte den Motor rechts ans Getriebe ansetzen
und mit einer Kette die Kraft übertragen.













Hier ist Platz für den Motor

Der Heizungsschlauch müsste oben rum,
aber daran scheiterts sicher nicht.



Der Platz hinter dem Getriebe reicht locker!

Der hintere Deckel müsste durch ein
Frästeil ersetzt werden ,das gleichzeitig
Motorhalterung und Kettenschacht ist.
Ein 13er oder ev. sogar 14er Kettenrad
hat Platz.Fürs 14er müsste der Tachoantrieb
etwas wandern, aber das ist gar nicht nötig.

Mit einer 1/2 x 5/16 Kette
lässt sich die Kraft übertragen.
(Auf den Bildern ists ein 15er Ritzel
das ist etwas zu groß)














































Die Kette würde so ca im 30° winkel nach oben
weggehen. Die Kette hält das aus, das weiss ich,
weil in meinem Heinkel Roller im vierten Gang
bei ca 3000 Umdrehungen 10 PS über ein
11er Ritzel übertragen werden bzw in den kleineren
Gängen wesentlich höhere Drehmomente als
hier auftreten werden. Und das hält
im Ölbad fast ewig, da ist nicht mal
Nachspannen vorgesehen!!


Das würde dann etwa so ein Teil werden.
(Ich bin damit noch nicht fertig)
Das eigentliche Problem ist jedoch die Befestigung
des unteren Kettenrades auf der Getriebewelle.
Der Zapfen ist insgesamt 40mm lang, 20mm stark
und hat sogar eine Nut drin, aber da drauf sitzt
das hintere Lager und die Mutter.
Meine Idee:
Das originale Lager durch eines mit größerem
Innendurchmesser ersetzen, und das untere Kettenrad
gewissermaßen als Mutter mit Schaft auf die Welle
schrauben und dann mit einem Keil sichern.

Das Lager wird aber nur durch den Bund gehalten,
Ich müsste also auch aussen kleiner werden,
das gefällt mir gar nicht!

Oder ich lasse am Doppelrolligen Lager den äusseren
Ring weg und setze auf das Ritzel ein größeres Lager,
welches erstens im Deckel sitzt und den Zug der Kette
aufnimmt und gleichzeitig das Spiel der Lagers
einstellt.(Das Kegelrad drückt nach aussen,
also ist die Last auf den inneren Ring gerichtet,
der äussere führt das Ganze nur)
Aber ich habe noch nicht die wirklich gute Idee gehabt,
wie man das auch praktisch hinkriegt.
(Konstruktion und Fertigung der nötigen
Frästeile ist nicht mein Problem, da habe ich
die richtigen Leute, daran solls nicht scheitern,
aber halten solls nachher!)
Mein letzter Stand an Idee geht in die Richtung
einer Spannzange- Also Lager bleibt original, statt
der originalen Mutter kommt eine Art Keglige
geschlitzte Hutmutter drauf, die auch noch ein
Aussengewinde hat. Da drauf das Kettenrad auf den
Kegelsitz und mit einer weiteren Mutter zusammengeschraubt
so dass das innere Teil bombenfest auf das Gewindestück
zusammengeklemmt wird. Das müsste halten! Ein paar
Wellenkeile lassen sich da auch noch unterbringen.

........und gebaut wurde das schon mal!!!!!
nachzulesen ist alles hier:
Mir gefällt da allerdings nicht, dass die Kette im Freien läuft,und dass
der E-Motor zu tief sitzt weshalb der Auspuff verlegt werden musste.
Ich würde ihn etwas höher setzen soweit die Gegebenheiten das zulassen
und lieber den Heizungsschlauch obenrüber verlegen.
Die Änderung der Schlauchstutzen halte ich für das kleinere Übel
im Vergleich zu Auspuffänderung.Der Platz reicht jedenfalls!
Wie hier das Problem der Befestigung des Kettenrades gelöst wurde
ist leider nicht zu erkennen.
Eventuell hätte der E-Motor auch oberhalb des Getriebes platz,
falls ich die Kette an den Schaltstangen vorbei ins Innere des Getriebes bringe.Aber ich möchte das lieber vermeiden weil das zuviel
Montageaufwand wäre.
Dann müsste aber das komplette Schaltgestänge gewaltig
umkonstruiert werden........schwierig...........

bis demnächst!
Franz
Nachtrag vom 27.10.2010:
Die bislang erfolgversprechendste Lösung, das Rizel zu
befestigen ist folgende:
Auf die Welle mit dem M20 x 1,5 Linksgewinde kommt
eine Hülse mit dem entsprechenden Innengewinde,
und einem Aussendurchmesser von 25mm
so dass man sie dort aufschrauben kann um das
Lager vorzuspannen.Die Hülse ist so aufgefräst, dass man
einen Wellenkeil einlegen kann, der nachher ein Verdrehen
verhindert. (Dass dies einiges an Nacharbeit erfordert,
bis das passt ist mir klar, aber daran solls jetzt mal nicht
scheitern, aber das Lager muss nun mal zusammengeschraubt
werden, zwar nicht fest,aber zumindest spielfrei.
Diese Mutter sollte zwar fest sein, aber bei fast jedem
Entengetriebe ist sie früher oder später locker und
das hält trotzdem ewig.)
Auf diese Hülse kann man dann ein handelsübliches
Taper-Lock Ritzel draufsetzen welches gleichzeitig die Hülse
fest auf die Welle presst so dass sich da nichts mehr lösen
sollte.
Das werde ich bei Gelegenheit mal testen!
Die versprochenen Drehmomente würden sogar ohne
Wellenkeil mehr als ausreichen, aber das scheint mir dann
doch etwas zu gewagt.
Franz

24 September 2009

Jawohl, der Laderegler/Balancer funktioniert !

Nachdem es mir schliesslich doch gelang, eines der ICs anzulöten,
(Hierfür musste die Platine eines alten RAM-Bausteins herhalten)
waren erste Versuche sehr erfolgreich!
Das Ding macht exakt das, was es soll!
(Werte in Klammern: Wert lt. Seiko)
Überspannungsmeldung ein: 4,15V (4,10V) aus 4,05V (4,00V)
Balancer schaltet ein : 4,05V (4,05V) aus: 4,05V (4,00V)
Unterspannungsmeldung ein: 2,48V (2,50V) aus: 2,71V (2,70V)
Die Abweichung liegt innerhalb der Messtoleranz des verwendeten Messgerätes,
also absolut in Ordnung.
Als Mosfet habe ich einen P60NF06L benutzt, der kann so einiges......
Aber für ca 4A bei 1Ohm
(mehr ist wohl nicht sinnvollwegen der Hitzeentwicklung)
würde auch irgendein schwächerer TTL-Pegel-Typ gehen.
Probleme gabs zunächst nur, weil ich anfangs die Meldeschleife nicht angeschlossen hatte. (CTLC und CTLD) das mag der Baustein nicht!
Da schaltet der Mosfet dann bei 3V ein, das ist gar nicht schön!
Dem sollte ich mal nachgehen wg. Selbstentladung etc.......
Die Ströme sind aber vernachlässigbar gering.

Den S-8209B von Seiko habe ich ausgewählt, weil man
damit das ganze System so extrem einfach aufbauen kann.
Und mit allgemeinverständlicher Analog-Technik.
Pro Zelle braucht man nur das IC, einen MOSFET, einen Lastwiderstand
einen kleinen Widerstand 470R und einen 0,1µF Kondensator.
sowie zwei 1k Widerstände für die Meldungen
Jede Einheit kann direkt auf dem Akku montiert werden,
und zwischen den Modulen ist nur eine
zweiadrige Verbindung nötig.Das wars auch schon.
Was nicht integriert ist, das ist eine Temperaturmessung
und Kompensation sowie eine Einzelspannungsabfrage.

Hierfür gibt es andere Schaltungen, aber damit wirds viel komplizierter.
Z.B. den LTC6802 der kann 12Zellen mit einem IC überwachen und ist anreihbar bis zu mehreren 100Volt! aber zum Abfragen der Daten ist ein Rechner nötig.

Das wars fürs Erste, wann ich dazu komme, eine Platine zu
entwerfen, das weiss ich momentan noch nicht............

Franz

23 September 2009

LIPO Laderegler

Momentan mache ich gerade erste Versuche
mit Laderegler / Balancer -ICs für
Lithium Ionen Batterien
Neulich bin ich eher zufällig auf die ICs S-8209B
von Seiko gestossen. Da ist fast alles drin, was man so braucht.

Balancerfunktion zum gleichmäßigen Laden in Reihenschaltung.
Externer MOSFET zur Leistungsanpassung.
Das ist eigentlich die wichtigste Eigenschaft, da ich damit
relativ kräftige Akkus laden will
Überspannungsmeldung,Unterspannungsmeldung
mehrere Bausteine in Reihe schaltbar (Abschaltfunktionen)
Keine galv. Trennung nötig!
Ausserdem ist der Preis in Ordnung,
und die Dinger sind tatsächlich erhältlich!
Ich habe fünf Muster erhalten und werde mal schauen,
ob die Teile halten, was sie versprechen.
Erstes Problem:
Die Teile sind derart winzig, dass an freie Verdrahtung
gar nicht erst zu denken ist.
2 x 2 mm 8 Pins 0,5er Raster !