Translate

25 Februar 2010

Serielles Display für BMS mit PIC 16F628A

Hallo Allerseits.......

Es gibt tatsächlich mal wieder was neues....
Ein serielles Display für mein
Batteriemanagement läuft so halbwegs !

Aus einer alten Anzeige und einem
PIC 16F628A habe ich ein seriell
ansteuerbares Display gebastelt.

Das Programm für den PIC stammt
aus den Tiefen des Internet

http://www.freewebs.com/x7jay7x/

Als besonderes Extra sind da noch
Eingänge für vier Taster mit drauf!!!!!

Das Teil arbeitet mit den
"Matrix Orbital Konmmandos"
Leider reagiert die Anzeige nicht auf
CR und LF sondern ich muss den Cursor
jedesmal in der jeweiligen Zeile positionieren.
Das ist zwar kein großes Problem,
aber ich muss die Ausgabe meiner ATtiny
etwas umgestalten und ein PC kann dann
wohl nicht mehr allzuviel damit anfangen.
Die Steuerzeichen stören halt.



Das ist trotzdem ein großer Meilenstein,
aber man sollte sich nie zu früh freuen!
Aber der Weg ist schon mal nicht ganz falsch.
Es gibt noch einige Probleme zu lösen:

Welche Spannung soll ich als Fehler
melden?? 2,5V ??
Bei welcher Temperatur und bei wieviel
Strom bitteschön ???????
(ok, ich war auf Jack Rickards Seite.....
Man darf zwar nicht immer alles bedingungslos
akzeptieren,was er sagt, aber es ist immer wieder
interessant seine Meinung zu hören.
Aber unsereiner kann sich solch kostspielige
Versuche eh nicht leisten deshalb: Danke Jack!)

Alles gar nicht so einfach!

Also: Jedesmal auch Gesamtspannung
messen, Durchschnitt ausrechnen und
mit der Zellenspannung vergleichen!
Das zeigt zumindest Ausreisser bzw
defekte Zellen unabhängig von
Strom und Temperatur an
.....also weiter grübeln..........

................und nachdenken,
wie man den Energievorrat anzeigen kann.....
eine Art Energieverbrauchszähler muss her!

Das heisst Strom und Spannung messen,
und die Werte multiplizieren und aufaddieren!
....und zwar ständig! und in Abhängigkeit
von der Temperatur und sonstiger
Störgrößen usw..................
Berücksichtigung des Wirkungsgrades beim
Laden.......
Die mit dem Alter abnehmende Kapazität
sollte berücksichtigt werden....
....... und und und..........................
Da bin ich momentan etwas überfordert!

....und dann ist da noch ein Problem:
Ich hab die LCD-seriell-Umsetzung
nicht selbst programmiert,
ich hab keinen Quellcode und deshalb
kann ich da auch nichts dran verändern.
Da weder meine ATtinys noch der Pic
mit Quarz arbeiten sind 9600Baud viel
zu viel.Die internen Oszillatoren sind dafür
zu ungenau.Was bei Zimmertemperatur läuft
braucht deshalb im Winter oder Sommer
noch lange nicht zu laufen...........
für die paar Zeichen, die ich übertragen will
reicht auch eine viel niedrigere Übertragungsrate.
Der ATtiny und der PIC haben sich jedenfalls
noch nicht ganz fehlerfrei verstanden.Etwas
Kältespray auf den ATtiny, dann lief es.
Mein PC konnte beide verstehen...........
Damit habe ich aber schon gerechnet.

Da werd ich noch dran arbeiten müssen.
Zumindest muss ich da noch Tests machen
Da tendiere ich mittlerweile
mehr zum 2313. Der hat halt viel mehr Pins
als ich brauche, aber dafür hat
er auch Anschlüsse für einen echten Quarz
sowie eine echte serielle Schnittstelle.
Der kostet auch nicht mehr als der 13er.
Die Programmierung ist fast gleich,
und per Bascom lässt sich der auch ganz einfach
an ein LCD-Display hängen.

Trotzdem wird das Konzept immer klarer..

Ich tendiere mehr und mehr
zu einem zentralen Gerät mit
"Spaghettiverdrahtung". Je ein ATtiny13 für
die Balancer-Funktion pro Zelle.
ein weiterer 13er für die
Spannungsmessung.

Allerdings habe ich es mittlerweile geschafft,
sowohl die Berechnung der Einzel- als auch der
Gesamtspannung in einem 13er unterzubringen
indem ich die schon funktionierende Routine
als Unterprogramm einfach zweimal mit
unterschiedlichen Einganswerten verwende.

Man kann den 13er auch mit Quarz betreiben
bzw halt mit einem Oszillator, aber das ist
schon wieder ein zusätzlicher Aufwand der
nach Möglichkeit vermieden werden sollte.

Ich werd wohl die seriell-LCD-Umsetzung
nochmal selber programmieren müssen!

Dann versuch ichs mal mit niedriger
Baudrate (1200 ???? oder so...)

Oder:
Die Displays von ELECTRONIC ASSEMBLY
können auch SPI also synchron seriell!

Das bedeutet dass die Taktfrequenz der ATinys
"wurscht" ist, weil ja der Takt mitgeliefert wird!

Oder:
I²C ist auch so was ähnliches.............

Das ist momentan das zentrale Problem!

Und noch eine (ganz frische) Idee:
so ein ATtiny hat ja nicht nur einen
sondern vier!AD-Wandler!Warum also eigentlich
nicht gleich drei in Reihe liegende
Zellen zugleich messen????
Da brauche ich noch keine galv.Trennung
Bei 10 bit und grob gerechnet
3 x 4V und 5V Referenz ist die
Auflösung immer noch ca. 0,004V !
(12V / 1024 = 0.0039V )
das sollte doch locker reichen!
Das bisschen auseinanderrechnen der
Messwerte ist simpel, ich brauche
nur noch ein drittel an Hardware
wie ATtinys und Optokoppler etc.
und damit wäre das Spannungsproblem
ganz nebenbei auch noch gelöst!
Die ATtinys können so alle mit 5V laufen
Vielleicht sollte ich da doch Balancer und
Messung zusammenlegen????????
1 ATtiny 13 pro 3Zellen....warum nicht...?
Die Pins werden da knapp..........
Das verlangt dann immer mehr nach
zentralem Aufbau, aber das gefällt mir
mittlerweile ohnehin immer besser!
Einzelne Balancer-Module je Zelle sind für
einfachste Anlagen ok.
Hier ist das aber was anderes.

Die Idee ist noch ganz frisch, aber gut!
(glaube ich zumindest-mal fertigdenken!)
Da muss ich mich mal auf die Suche nach
dem am besten geeigneten ATtiny machen.

Bei den 8-Poligen reichen schlicht die
Pins nicht. Der 2313 hat zwar viele Pins,
ist aber nicht für ADC und PWM- Sachen
geeignet.

Die anderen kenne ich noch nicht so gut.
.....da muss ich mich schlau machen......
Der ATtiny 24 / 44 scheint da sehr !
gut geeignet zu sein! bis zu 8ADC !
Da sollten bis zu 6 Zellen + Schnittstelle
sowie Steuerpins machbar sein! ????
mit 5V Schaltregler spare ich noch Strom.
( 6 x 4,5V = 27V ; Das geht noch!)
Mal schaun! Jetzt wirds interessant!

bis bald mal wieder!
Franz

Keine Kommentare:

Kommentar veröffentlichen