Translate

13 Oktober 2010

..weiter gehts mit der Energieanzeige

...endlich ist wieder ein kleiner Meilenstein geschafft!
Die Energieanzeige / Messwandler etc..Kiste läuft.!
noch nicht alle Funktionen, aber die wichtigen!



Das sind wirklich nur ein paar Teile!
aber es funktioniert!
ein Atmega48, mehr als 4k kann ich mit der
Demo-Version von Bascom nicht programmieren.
(jetzt muss die Vollversion her!)
zwei 5V-Regler, um Strom zu sparen.
(Der Atmega braucht Dauerstrom,ca 2-3mA???
der Rest läuft über "Zündung")
ein TC4432 als Treiber für den Drehzahlmesser,
ein Mosfet als Treiber für die Tankuhr,
mit dem Poti kann man den Nullpunkt
der Tankanzeige abgleichen!
Das Relais trennt bei abgeschalteter
"Zündung" den Spannungs-Messkreis
der nimmt zwar nur ca 1mA auf, aber
der Ordnung halber ists besser so.
rechts die Messwiderstände für die
Spannung. Das blaue Ding am Atmega ist
ein Resonator, nicht so exakt wie ein Quarz,
aber hier reichts. Die Uhr geht pro Tag etwa
15 sekunden nach.....





Die Messgenauigkeit ist mehr als
ausreichend!!
Es hat natürlich wieder länger gedauert
als gedacht, aber andere Sachen waren
wieder mal wesentlich wichtiger!
Private Dinge, Renovieren etc.
aber auch der Akkutester -eigentlich ein
Nebenprodukt dieses Projekts,
aber genau so was brauchen wir in
den nächsten Tagen in der Firma!!!!
Da könnte durchaus ein echtes
Produkt entstehen!
So was gibt es zwar schon, aber nicht
in einfach und trotzdem brauchbar.
Habt deshalb ein wenig Verständnis,
dass ich diesmal das Programm nicht
in allen Einzelheiten veröffentliche.
Spannung messen,
Strom einstellen
vollen Akku entladen bis Untergrenze,
Aus Strom, Spannung, und Zeit die Energie berechnen
Kapazität anzeigen
womöglich noch ein Messprotokoll
ausdrucken- warum nicht!
ist ein sehr ähnliches Gerät!
Zum Energiezähler:
Das Ding misst inzwischen
den Strom, die Spannung,
die Zeit ab dem Reset
und die (Akku-)Temperatur
und berechnet daraus die
verbrauchte Energie.
Das Ergebnis wird nicht nur auf dem
Display angezeigt, sondern per PWM
auch noch auf Drehzahlmesser und
Tankuhr angezeigt.
So braucht am Auto nur wenig
umgebaut werden.
Der Drehzahlmesser bekommt eine
Frequenz von 33Hz je 100A (4-Zyl)
so dass statt 1000 U/min 100A
angezeigt werden.
Die Tankuhr zeigt die Restenergie an,
deren Menge über ein kleines Menue
eingestellt werden kann.Der Wert
bleibt auch ohne Spannung erhalten
Nach dem laden erfolgt ein Reset.
dann wird von 100% runtergezählt.
(Der Zähler zählt bis -25% weiter)
Zusätzlich können die Messwerte
einzeln über die serielle Schnittstelle
abgefragt werden, so dass das Gerät
in das BMS-System integriert werden
kann.
Es sind sogar noch Ports frei!
Port D2 wird wohl noch zum
Störungsmelde-Ausgang.
Port D7 ist noch frei
und an den Ports C4 und C5 könnten
sogar noch zwei Analogwerte
gemessen werden!
Temperaturen?
Was fehlt noch?
Der Reset nach Lade-Ende muss noch geklärt werden,
Messen der Energieaufnahme bei teilweisem
Nachladen ist noch nicht möglich.
Das ist eigentlich noch der wichtigste Punkt.
Dann sollte die Akkutemperatur noch
berücksichtigt werden sowie ev. noch
der "Peukert-Faktor" aber das hat in
4kByte Programm beim besten Willen
nicht mehr Platz.Ich bin schon mehr als
zufrieden mit dem was bis jetzt schon geht.
Davon hatte ich am Anfang nicht mal
geträumt.
Zur Erinnerung: Das Ganze hat mal als
Versuch angefangen, mit ATiny13
Spannungen zu messen und auf einem
seriell angesteuerten Display anzuzeigen.
....sonst nichts.....Dann waren aber solche
Displays zu teuer, und so kam eins zum
anderen..Die Steuerung wanderte ins
Display- so konnte auch ausgewertet
werden. Noch ein paar Ideen........
und "fertig" ist alles noch lange nicht!
Ich hatte da noch eine sehr ungewöhnliche
Idee, wie man vielleicht ohne diese
"Energieverbrat-Widerstände" und
ohne nennenswerte Verluste so ein
Akkupaket ausbalanzieren kann!!!
--mit einer zusätzlichen Zelle,
mit der man die Energie hin und her
transportiert!!!!!!
Die Schaltung ist ein bisschen "tricky"
aber es müsste gehen!Die Spannung polt
sich um und steigt bis zur vollen Akkuspannug.
Es muss mit Mosfet geschalten werden,
da kein Spannungsverlust auftreten darf.
Mit Relais wärs einfach, aber das klappert!
Mal sehen was mir da noch einfällt!
...ich hab schon eine Vorstellung wies geht!!
mfG
Franz




mehr demnächst

11 September 2010

Der Alltagsgolf kränkelt

Urlaub, die hektischste Zeit des Jahres ;-)
Da hat man mal zwei Wochen frei und soll da
so vieles erledigen, dass acht Wochen auch nicht
reichen würden........

In diesen Tagen war mein Alltagsgolf mal wieder
an der Reihe... fast 16Jahre, 200000 Km ,
alles Kurzstrecken, das hinterlässt halt seine Spuren!
Im November muss er wieder mal zum TÜV,
aber jetzt ist einfach die bessere Zeit zum
Herrichten, weil einfach das Wetter schöner ist.
und ich nicht wieder bei 5cm Neuschnee mehrere
Stunden unterm Auto liegen möchte.
Ich kann dem Auto nicht böse sein, allein die
Tatsache, dass es überhaupt noch mit wenig
Aufwand wieder herzurichten ist spricht
für die Qualität des Golf3. Ich hatte noch nie
zuvor ein Auto, das so lange durchgehalten hat.
(An meine Enten kommt kein Salz, das ist
wieder was Anderes, die werden gehätschelt,
aber da ist auch immer was zu reparieren)
Weil die Karosserie des Golf derart haltbar ist,
treten jetzt halt mechanische Wehwehchen in
den Vordergrund, die man früher nicht in
dem Ausmaß kannte, weil die Autos gar nicht
so lange in Betrieb waren, da sie vorher
einfach wegrosteten.........
Rein wirtschaftlich hätte er schon vor sechs
Jahren "weg" gehört, als die erste Einspritzdüse
kaputt war (120000km) sowie die Windschutzscheibe,
Auspuff, Bremsen und noch einige Kleinigkeiten.
Das wurde damals vom Vorbesitzer in einer VW-Werkstatt
erledigt und obwohl ich damals eine detaillierte
Fehlerbeschreibung mitlieferte, welcher Zylinder
denn da immer wieder mal aussetzte-
mit fast sicherem Verdacht
auf eine kaputte Düse - haben die
erst mal den kompletten Ansaugtrakt neu abgedichtet
Kerzen und Zündkabel ersetzt, Kompression gemessen und mehrere
Stunden Fehler gesucht........es war wirklich die Düse!!!!!!!
(Die Reparaturkosten waren deutlich über Zeitwert........)
......aber wer wirft schon einen fast rostfreien Golf weg....
Nachdem in den letzten sechs Jahren so Sachen wie
mittlerweile insgesamt vier!!! kaputte Einspritzdüsen
(à ca 120 Euro bei VW) Bremsleitungen,
Bremsscheiben,Bremskraftregler,
Bremsschläuche, Zündspule, Batterie
Lambdasonde, Riemenspanner, Servopumpe,
Auspuff, Anlasser, Lichtmaschine, Kühler,
Thermostatgehäuse, Stoßdämpfer, Querlenkerlager,
Gummilager der Hinterachse etc. genervt
haben, wars diesmal etwas mehr Rost und
ein Gummilager der Vorderachse.
.....sowie noch ein paar Kleinigkeiten
wie Armaturenbeleuchtung und
das Heckklappenschloss, Standlicht
und Kennzeichenleuchte etc...
das Übliche halt...
(war doch so manches, aber der
Golf wird auch weder geschont noch gepflegt,
sondern fast täglich über eine der schlechtesten
Straßen in Süddeutschland geprügelt!)

Querlenkerlager rechts:
Die linke Seite habe ich schon vor zwei Jahren
gemacht, jetzt war die rechte Seite fällig.
Ich wollte es eigentlich damals gleich mit machen,
aber die vordere Schraube ging nicht raus, weil da
der Motor im Weg ist, und drum hab ichs dann
noch mal verschoben, weil der Gummi noch
halbwegs gut war.Aber diesmal gabs da keine
Ausrede mehr.........



Es fiel beim Fahren noch gar nicht stark auf.
Beim Bremsen zog es ganz minimal zur Seite.

Es fällt auf, dass die meisten Probleme nicht durch
Verschleiss infolge gefahrener Kilometer
sondern durch die Alterung der Teile
verursacht waren. Gerissene Wicklungen bei den
Einspritzdüsen, aboxidiertes Kabel zum Magnetschalter
gelöster Gummi in Silentblöcken, ein gebrochenes
Thermostatgehäuse!! (Ein gemeiner Fehler, der Stift des
Thermostates brach durch sein Widerlager im
Inneren des Thermostatgehäuses, das Ersatzteil war
an der Stelle deutlich verstärkt---wohl kein Einzelfall!!----
Tödlich für den Motor wenn mans nicht sofort bemerkt)

Da möchte man doch manchmal mit dem Konstrukteur
reden........ wenn schon diese Gummilager
an der Golf-Vorderachse bekanntermaßen
regelmäßig kaputt gehen, dann sollte man die
doch zumindest einfach tauschen können......oder?
Um den rechten Querlenker raus zu bauen muss
bei meinem Auto der Motor gelöst und etwas
angehoben werden um die vordere Querlenkerschraube
entfernen zu können.............. eine kleine
Aussparung in der Alu-Ölwanne und alles wäre easy!
Dass genau diese Schraube derart im Gewinde
festgerostet war war das nächste Problem!
Schlüsselweite 18 ! Diese "Normänderung"
ist die nächste Frechheit! Natürlich ging
die Schraube nicht auf und war "rund"
da half nur noch das Schweissgerät!

Das sieht gar nicht toll aus, aber damit konnte
ich die Schraube dann doch noch rausdrehen.
war eh Schrott!



Das mit der Hinterachse ist ähnlich!
Man hätte das doch so bauen können,dass man
die Gummilager tauschen kann ohne sie mit einer
Spezialpresse aus der Achse pressen zu müssen.
Und wenn man den Sockel mit tauschen müsste.
(Die Presse hat niemand, nicht mal große
VW-Vertragswerkstätten )
Kosten: nur ein paar Euro Material, aber
mehr als ein halber Tag Arbeit
"Originalton" des Tüv-Prüfers damals:
"Ui!! Neue Achsgummis!! das sieht man selten!
Das ist oft ein Grund das Auto zu verschrotten"



Die Schweissarbeiten waren Routine.
Beiderseits war der Boden am Schweller
ein bisschen "durch".

vorher:


nachher:


Das alte Leiden mit den Gummistopfen
im Bodenblech, die alle der Reihe nach rausrosten
ärgerlich, aber nicht allzuviel Aufwand
Ohne diese Rostherde wäre das Auto
vom Rost her noch kerngesund.-- na ja,fast!




jetzt geht es auch in den hinteren Radkästen los
vorher:

nachher:








.....alles halb so schlimm...... da hab ich
seinerzeit (Anfang der 80er Jahre)
schon ganz andere Rostlauben wieder
hergerichtet, und die waren oft erst sechs
oder acht Jahre alt.
(einen 76er (77er?)Passat mit ca.sechs Jahren
habe ich mal verschrottet, da war ausser
dem Tankinhalt und ein paar Kleinteilen
beim besten Willen nichts mehr zu retten)
Damals war es völlig normal, dass ein
achtjähriges Auto mindestens neue Schweller,
Radläufe, Kotflügel und neue Türen brauchte
um noch ein letztes Mal durch den Tüv
zu kommen.Bei vielen Franzosen und
Italienern war es schon mit sechs Jahren
so weit!Das kann man sich heute fast
nicht mehr vorstellen..........

Vor zwei Jahren waren die vorderen
Kotflügel hinten unten durch (ca 20 Euro
pro Kotflügel bei Ebay, das geht, zumal die
Passform erstaunlich gut war!!!!!)
Man hätte da noch schweissen können,
aber bei den Ersatzteilpreisen war
das völlig sinnlos.

.......und dann dieses seltsame selbsteinstellende
Kupplungsseil.....der Pedalweg war etwas zu lang-
einmal kräftig am Seil gezogen- jetzt war das Seil
zu kurz und nicht mehr dazu zu bewegen
lockerer zu werden.
Beim Versuch das Seil auszuhängen
spannte es sich noch mehr!
Bis ich das Ganze dann endlich ausgebaut,
zerlegt, verstanden!!!!! und wieder zurück
gestellt und wieder drin hatte vergingen etwa
eineinhalb sinnlos vergeudete Stunden.
(zurückstellen ist übrigens nicht vorgesehen,
laut VW ist in so einem Fall der Seilzug zu
tauschen- eine Klammer sichert alles und wenn
das Seil montiert ist-Klammer lösen und
das Ganze stellt sich selbst ein - Blödsinn!
(es gibt übrigens auch eine Standardausführung)

Na ja, irgendwie habe ich die restlichen Kleinigkeiten
wie kaputtes Heckklappenschloss + Rost
an der Heckklappe, kaputte Tachobeleuchtung
und noch einige Kleinigkeiten auch noch repariert.
Alles schön nachgepinselt. (viel weniger Aufwand als
spritzen, was ich zwar ganz gut beherrsche,
aber so sieht das auf zwei Meter auch perfekt aus,
das genügt für so ein Alltagsgefährt)
jetzt sollte der Golf wieder zwei Jahre laufen,
dann wirds wohl eng..... die Leitungen zur
Servolenkung schauen gar nicht mehr gut aus,
vor allem die Anschlüsse am Lenkgetriebe.
Die Kupplung hatte auch schon bessere Zeiten.
(ist aber wohl noch die erste !!!!!!!!!!!!!!!!!!)
Batterie und Auspuff-- das wird sich zeigen!
Und neue Tankhaltebänder brauche ich
dann sicher auch noch
mal sehen, eigentlich hatte ich vor zwei Jahren
schon gedacht, das wäre der letzte Tüv!
aber so schlimm wars diesmal gar nicht,
und jetzt ist schon so vieles erneuert,
das könnte sogar in zwei Jahren nochmal
klappen.
(ganz sicher bin ich mir da aber nicht)

....noch eine sehr seltsame Kleinigkeit:
Da ich die Tachoeinheit schon mal draußen hatte,
habe ich mal nachgeschaut, was denn da alles
an Kontrolleuchten vorgesehen ist.
Unter Anderem auch eine Tank-Warnleuchte.
Da war noch nie eine Lampe drin, also hab
ich eine reingesetzt.
------Siehe da! funktioniert sogar!!!!!!!
Die hat VW nie bestückt, so was gabs nur
bei Seat-Modellen mit diesem Tacho!
(Bei VW nicht mal gegen Aufpreis) dabei
ist da alles schon vorhanden und verdrahtet.
So weit ich mich bisher informieren konnte
ist das aber nicht bei jedem 3er Golf so,
sondern abhängig vom gerade verbauten
Instrument. Glück gehabt!

Ich mag Kontrollämpchen etc. solange sie
nicht nerven...(Dingdong!!! Bitte Tanken.....)
Einen Zeiger übersieht man schnell mal,
aber ein rotes oder gelbes Lämpchen
das fällt auch auf, wenn man nicht
gerade absichtlich hinschaut.Das rote
Kühlwasserlämpchen hat mir schon
den Motor gerettet, als plötzlich der
Thermostat dicht machte. Das
Thermometer habe ich nicht gesehen.
So schön z.B. die Instrumente im
vierer Golf aussehen, die roten Zeiger
machen mich immer furchtbar nervös.
Ausser wichtigen Warnmeldungen
möchte ich nichts rotes in den
Armaturen sehen.(ok, Geschmackssache)
Die Armaturen des 3er Golf sind völlig
ausreichend und zweckmäßig.
Ich mag das Auto so wie es ist.... ein
unspektakuläres Gebrauchsfahrzeug
ohne größere Fehler oder Macken
Vom Design her sehr gelungen.
Der Motor (1,6l 75PS AEE (Polo)) ist
ein wirklich guter Motor. Der Spaß-
Faktor fehlt zwar, aber man kommt
doch flott voran und der Verbrauch liegt
irgendwo bei knapp sieben Litern,
ich kann da nicht jammern. Lieber hätte
ich zwar den 90PS 1,8l Motor gehabt,
oder den 1,6er mit 100PS
meiner Meinung wohl die bessere Wahl,
aber so ist es auch völlig in Ordnung
Vor allem zieht er so schön gleichmäßig
von 1800 - 5000 U/min durch.
Wenn man auf der Landstrasse nur so
dahinrollt kann man ab ca.70Kmh
das sind dann knapp 2000U/min
problemlos den fünften Gang einlegen,
ohne das Gefühl zu haben, den Motor
in irgend einer Weise zu quälen.
zwischen 2500 und 3500 U/min
fühlt er sich richtig gut an und hat da
auch fast das volle Drehmoment.
Das ist so der Bereich von 85 -120 Kmh.
Da kann man auch mal überholen ohne
runterzuschalten.(bringt nicht sehr viel)
und knapp 190 laut Tacho schafft er auch,
wenns denn mal unbedingt sein muss
Das fällt mir insbesondere auf, weil ich
öfter mit einem Golf 4 1,4 16V 75PS fahre,
und der ist im Vergleich zu meinem 3er
wesentlich behäbiger!!
Wenn man da Gas gibt kommt zunächst nichts,
da muss man erst mal runterschalten.
Unter 3000U/min kommt da gar nichts!
Drüber nur recht wenig!Und das bisschen
muß man rausquetschen!
Wofür der ganze Aufwand ?????????????
so viel schwerer ist der vierer auch nicht,
aber offenbar ist der 4er mit 75PS aus 1,4l etwas
untermotorisiert, etwa so wie ein 3er mit 60PS.
Die Liste der kaputten Teile klingt schlimmer
als es war, Ich bin immer noch nach Haus
gekommen, auch mit kaputtem Thermostat,
und sogar, als die Zündspule kaputt ging.
Hauptsächlich Dinge die sich ankündigten,
bzw einfach mal ersetzt werden mussten.
Es gibt zur Zeit wohl kaum ein Auto mit
noch besserer und vor allem noch
preiswerterer Ersatzteilversorgung.
Gerade dank EBAY kommt man an Teile
wo man sich wundert wie das so billig sein kann.
Ich habe immer noch gute Ware bekommen.
Ich habe den Golf inzwischen schon seit
sechs Jahren, bzw 80000Km und da haben andere
Autos auch so ihre Wehwehchen, das
fällt erst so richtig auf, wenn man mal
alles zusammenzählt............
Unterm Strich bin ich sehr zufrieden damit,
aber ich kann mir selbst helfen, wenn man alles in
der Werkstatt hätte machen lassen müssen,
dann würe die Bilanz wohl anders aussehen.
Aber eins muss man den Auto wirklich positiv
anrechnen: es ist mein erstes Gebrauchs-Auto bei dem die
Karosserie die gesamte Technik überlebt!
(wie schon weiter oben gesagt ist das bei meinen
Enten was Anderes, die haben alle ohnehin schon ihren
dritten oder vierten Frühling.........ein anderes Thema!)


mfG
Franz

Nachtrag 12.11.2010:
alles klar, der Golf hat wieder zwei Jahre TÜV!
Auch die Abgasuntersuchung hat problemlos
geklappt! Trotz 201000km auf dem ersten Kat!
Das lief nicht immer so.......
Aus diesem Anlass: Hände weg von
"supergünstigen" Lambdasonden.
Die von Bosch halten manchmal 15 Jahre und länger.
Meine originale machte vor gut zwei Jahren schlapp
(nach ca 13Jahren und ca 170000km)
Die Sonde, die ich damals bei EBAY
kaufte war schon ca. sechs Wochen
später wieder kaputt.
Nach der ersten (sehr!) flotten Autobahnfahrt
war die Heizung durchgebrannt.
(Weil das "einfach nicht sein konnte,
die Sonde ist ja neu!" habe ich den Fehler
aber irgendwo anders vermutet.
Beinahe hätte ich den Kat getauscht. )
Jetzt ist wieder ein originales VW-Teil drin.
(Neu,originalverpackt und ich habe sie
trotzdem sehr!! günstig ersteigert)
jetzt läuft wieder alles so wie es sein soll!

........warum nicht gleich so?????
Da hätte ich mir viel Ärger sparen können!!
Wieder mal was gelernt!

25 Juli 2010

Drehzahlmesser als Amperemeter



Den Drehzahlmesser als Amperemeter zweckentfremden.

Im Zusammenhang mit Michaels New Beetle Elektroumbau
hatte ich vor ein paar Tagen ganz spontan die Idee,
dass man den vorhandenen Drehzahlmesser doch wunderbar
als Amperemeter nutzen könnte.
Die Drehzahl ist doch eher unwichtig, viel mehr interessiert doch,
ob man bei einem Elektroantrieb den gewünschten Vortrieb
mit dem optimalen Energieverbrauch erreicht.
Da hat man so ein schönes Instrument mit einer Skala
von 1- ca. 6 und die zumessende Stromstärke beträgt
0 bis ca 500A Idealer gehts doch nicht!!!!!!
Die Drehzahlerfassung ist auch aufwändig und
eigentlich ziemlich sinnlos wen interessierts eigentlich?
Es geht hier auch nicht um eine hochpräzise Anzeige,
sonder hauptsächlich darum, zu sehen ob der gerade
eingelegte Gang auch der richtige ist.

Ein Vierzylinder zündet zwei Mal pro Umdrehung.
50Hz = 1500 U/min 100Hz = 3000U/min 166Hz = 5000 U/min

Also bräuchte man nur einen ordentlichen Stromwandler-
.............so was gibts zu kaufen!

....und ein bisschen Elektronik, das daraus die passende Frequenz macht!

??????was nimmt man dazu am sinnvollsten????????

!!!!!!!!!!!! einen ATtiny bzw Atmega!!!!!!!!!!!!!!
( ok, das wird langsam langweilig!!!, ich verspreche auch, demnächst mal wieder
was ganz anderes zu beschreiben, wie wärs mit einem winzigen hydraulischen Widder??)

Die Idee ist noch sehr frisch, aber das sollte sehr einfach zu lösen sein.

Der Stromwandler liefert eine zum Strom proportionale Spannung
(genaue Daten muss ich noch raussuchen)
Die Spannung kann ein ATtiny messen und in eine Zahl umwandeln.
z.B. 0-5V = 0-1024 weil die AD-Wandler mit 10bit arbeiten

Der Timer im ATtiny kann 256 Stufen rauf oder runterzählen und bei
entsprechender Frequenzanpassung (Teiler - Quarz bzw interner Oszillator)
entsprechend einen Ausgang umschalten.

für 0 bis 600A braucht man 0 (1) (10) - 200Hz da ist also noch Spielraum
das lässt sich hintrimmen- selbst 10bis 200Hz würden locker reichen
(Anzeige 300 -6000 U/min also 30 bis 600 A)

Das Programm habe ich mir jetzt noch nicht überlegt,
aber es wird winzig sein.

Variablen festlegen,
Timer konfigurieren,
Geberspannung messen,
Kehrwert der Geberspannung
mit Konstante multiplizieren,
an den Timer geben
.........das wars!

Hardware:
ATtiny 13 bzw 25 (was halt grad rumliegt)
5V-Regler + Elko
Eingangsspannungsteiler (falls Geberspannung >5V)
ev. widerstand + Elko zum Dämpfen des Eingangs
Transistor + Widerstand (nicht bei Mosfet) zum Umsetzen auf 12V
4 Klemmen + kleine Platine

Das sollte eigentlich reichen!

In ein paar Tagen gibt es hier mehr zu dem Thema!

Ob das jetzt eingebaut wird oder nicht ist egal,
aber ich will jetzt wissen ob bzw wie gut das funktioniert.
Ich bin mir sicher, dass es klappt,
wenn nicht mit einem(1) Timer (ATtiny)
dann zumindest mit zwei Timern (Atmega)... mal sehen,
Aber Spannung messen, umrechnen und per PWM ausgeben kann selbst
der kleine ATtiny13 schon zwei Mal gleichzeitig und bis auf eine
andere Timerkonfiguration ist das fast das gleiche Grundprogramm!

Ich wills jetzt wissen,
und drum ziehe ich das jetzt durch!!!!!!

mfG
Franz


29.07.2010 Es funktioniert prima!

Leider hat es mit dem ATtiny nicht geklappt, der 8-bit Timer
ist ganz einfach eine Nummer zu klein.
Damit lässt sich kein ausreichendes Frequenzband abdecken.
Entweder bei 100A anfangen oder oben raus
in 30A Schritten anzeigen. ...Schade!!
Somit ist leider die gesamte ATtiny-Reihe nicht verwendbar- oder doch?
(Anmerkung 02.09.10: ich muss bei Gelegenheit mal versuchen beim Timer
den Prescaler während des Programmablaufs umzukonfigurieren....
wenn das schnell genug möglich ist, dann ginge das auch mit einem
ATiny 13 oder 25....... ich habs aber so noch nicht versucht!)
Aber ein Atmega48 kann das! Mit seinem 16bit-Timer.

Der vorgesehene Stromwandler LEM HASS 200 liefert
um eine Mittellage von 2,5V 0,31V je 100A,
Polarität je nach Stromrichtung
Dieses Signal scheint auf den ersten Blick seltsam,
aber nach einem 10bit-AD-Wandler an 5V Referenz
sind das genau 64 Stufen je 100A.
Das passt perfekt! So kann man theoretisch +- 800A messen.
(Man kann den Bereich nicht vollständig nutzen,aber +-600A
sollte auf alle Fälle gehen)

Der Drehzahlmesser eines Vierzylindermotors
braucht zwei Impulse je Umdrehung
Die Anzeige soll letztlich 100A statt 1000U/min anzeigen,
folglich müssen beginnend ab 2,5V 33Hz je 0,31V generiert werden.
Da die Ausgangsfrequenz mit dem "Toggle pinX " -Befehl erzeugt
wird muss der Timer die doppelte Frequenz liefern.

Wie kann man diese Aufgabe umsetzen?

Die Lösung war letztendlich sehr einfach

Der Timer zählt mit einem festen Takt,
in diesem Fall aufwärts, es ginge aber auch abwärts,
man muss ihm nur sagen, wo er beginnen soll loszuzählen.
bei jedem Überlauf also nach 65535 erfolgt ein Interrupt
und da wird der gewünschte Ausgangspin umgeschaltet

Die Zahl der nötigen Takte ist eine Funktion des
Kehrwertes der Stromstärke.
Das klingt jetzt kompliziert,ist es aber nicht
Am Ende muss nur eine Konstante durch
den Ausgangswert des AD-Wandlers geteilt werden,
schon hat man die Anzahl der Zählschritte des Zählers
für die gewünschte Frequenz.
Man kann nun entweder den Zähler nach 0 zählen lassen
und die Zahl direkt übernehmen oder der Zähler zählt
aufwärts, dann muss man die Zahl der Schritte von
65535 abziehen.
Dann noch verhindern, dass bei 0A durch 0 geteilt
wird, das wars eigentlich schon



Das Programm ist noch nicht
optimiert, aber so läuft das
schon mal recht brauchbar.


...und weils eh schon ein Atmega
geworden ist, habe ich gleich noch
ein Display mit reingepackt.


Das hilft auch beim Anpassen
der Konstanten weil man alle
Zwischenergebnisse gleich mit
angezeigt bekommt.

An diesem Punkt stellte ich fest, dass das Programm
gerade mal 10% des Speichers vom Atmega48
belegt.Deshalb beschloss ich, da gleich noch
einen Energiezähler mit rein zu packen.
Der Strom wird bereits gemessen,
Die Spannung ist problemlos zu messen.
fehlt noch die Zeit!
Es gibt noch zwei Timer
Die Ausgangspins von Timer 0 sind ohnehin
schon für Eingabetasten vorgesehen und belegt,
also bietet der sich als Timer für die Zeit an.
bei den vorgesehenen 4MHz ergibt sich als
"rechengünstiger Wert" eine Frequenz von 15,5Hz
also 15,5 x pro Sekunde die Leistung aus
Strom und Spannung berechnen und die
Ergebnisse addieren und durch die
Zahl der Messungen je Stunde Teilen
(55800 je Stunde) schon hat man
die Wattstunden.Ich habe nicht auf
KWh umgerechnet, weil die Ausgabe
formatierter Zahlen ein gewaltiger
Speicherfresser ist.
Das hebe ich bis zum Schluss auf!
Dann noch ein kleines Menue zum
Eingeben des Startwertes.
Man gibt die Energie vor, die man dem
Akku entnehmen möchte und die Anzeige
zahlt dann runter bis Null.
Das Ganze wird in Wattstunden und %
angezeigt.
....Der Speicher war noch immer nicht voll,
und es gibt noch einen Timer (Timer 2)
umd der kann doch den %-Wert als
PWM-Signal ausgeben; Ausgang OC2B
ist noch frei-Das klappt also!
Das PWM-Signal kann so hingetrimmt
werden, dass es die vorhandene
Tankuhr ansteuert und so die
Restenergie anzeigt.






.........jetzt sind die 4k Flash aber voll!!!
Ich hoffe, noch eine übers Menue
einstellbare Warnung bei ca 25% Rest
unterzubringen.
Es müsste gehen, wenn ich die Anzeige
meiner Zwischenergebnisse entferne
und das Programm noch ein wenig
optimiere.

ein kleines Video des fast fertigen
Messwandlers:
(leider ist das Display kaum lesbar)






....und noch eine kleine Funktionsdemonstration
des derzeitigen Entwicklungsstandes
Der Energiezähler soll ja in mein BMS integriert
werden- also muss er seine Werte auch über die
serielle Schnittstelle an das Master-Display
weitergeben.Das Display des Energiezählers
habe ich nur für dessen konfigurierung
vorgesehen, da muss man selten ran und das
wird wohl irgendwo in der nähe des Stromwandlers
oder beim Ladegerät installiert werden.
Die Übertragung der Werte läuft inzwischen,
aber durch die vielen Interrupts der Timer
und der vielen Berechnungen der Energie
ist die Reaktionszeit schon ziemlich lang.
Das hat halt alles Vorrang vor dem eigentlichen
Programmablauf (Anzeige + serielle Ausgabe)
Es bringt an dieser Stelle wenig, den Takt zu
erhöhen, weil dadurch auch die Timer schneller
laufen würden.Mal sehen, was mir da noch
einfällt.................es müsste schon viel besser
werden, wenn nicht mehr so viel angezeigt
werden würde!













Kleiner Nachtrag:

So sieht das derzeit auf meinem "alten"
Display aus (ATtiny2313, 2k):





Zelle 16 hat 3,39V
Zelle 5 hat mit 3,56V den höchsten
und Zelle 13 mit 2,64V den niedrigsten
Wert, Die Gesamtspannung ist 128V
und die Akkus haben noch 95%
Energie drin.

Im 4 x 20 Display könnte man noch mehr
Info reinpacken, aber macht das
wirklich Sinn?
etwa so: (älteres Foto mit dem
"neuen Programm", Atmega 48 )
Die Durchschnittliche Spannung
ist mir wichtig! auch noch die
12V Bordbatterie.
Aber das wird schon recht viel
für das kleine DIP204 Display






Mal sehen was da noch an Ideen kommt......

Nachtrag 03.12.2010:
Dieses Projekt bekommt gerade eine sehr
interessante Eigendynamik.......
Heutige Autos haben meist keinen klassischen
Drehzahlmesser mehr, fast alle Signale
und Messwerte werden inzwischen in
irgend einem Steuerrechner generiert,
überwacht, ausgewertet und oft auch
aufgezeichnet. Ein ganz extremes Beispiel
bzw der erste bei dem das so richtig
konsequent eingesetzt wurde ist der SMART.
Da geht alles per CAN-Bus......
jedes einzelne Rad wird überwacht, Lenkradstellung,
Querbeschleunigung, Neigungswinkel,
Einspritzmenge, Temperatur, Tankinhalt,
gerade eingelegter Gang....etc... das alles geistert
als Datenpaket ständig über den CAN-Bus!
Wenn man da einen Drehzahlmesser
nachrüsten will, dann kann man den zwar
anstecken, aber er muss erst mal im
Zentralrechner freigeschaltet werden........

Offenbar ist der ganze Drehzahlmesser
nichts anderes als ein kleiner Schrittmotor
mit Zeiger! Mal sehen, ob ich dieses kleine
widerspenstige Teil dazu bewegen kann,
vernünftige Werte anzuzeigen???
Wenns wirklich nur ein Schrittmotor ist,
dann sollte das ziemlich einfach sein!
mal sehen.........Ich werde hier
darüber berichten sobald ich mehr weiß.

Nachtrag 13.12.2010:
JA!!!! Es geht !
Es ist wirklich nur ein kleiner billiger Schrittmotor,
und man kann ihn direkt mit dem Atmega steuern!




$regfile = "m48def.dat"
$crystal = 8000000
$baud = 1200

Config Adc = Single , Prescaler = Auto , Reference = Avcc
Start Adc

Dim Adcin As Integer
Dim Adcstep As Integer
Dim Schrittzahl As Word
Dim Adcin8 As Integer
Dim Steps As Integer
Dim Phase(4) As Byte
Phase(1) = 8
Phase(2) = 2
Phase(3) = 1
Phase(4) = 4
Config Portc = &B00001111

Initl:
If Adcstep < 500 Then Incr Adcstep
Gosub Subsm
Portc = Phase(steps)
Waitms 4
If Adcstep < 500 Then Goto Initl

Inith: 'nach Rechtsanschlag fahren
If Adcstep > 0 Then Decr Adcstep
Gosub Subsm
Portc = Phase(steps)
Waitms 4
If Adcstep > 0 Then Goto Inith

Do
Adcin = Getadc(5)
Adcin = Adcin / 2

If Adcstep < Adcin Then Incr Adcstep
If Adcstep > Adcin Then Decr Adcstep
Gosub Subsm
Waitms 4

Portc = Phase(steps)
Loop

Subsm:
Adcin8 = Adcstep / 4
Adcin8 = Adcin8 * 4
Steps = Adcstep - Adcin8
Steps = Steps + 1
Return
End

.........das wars schon..........

"Verstärkung" und einige Kleinigkeiten müssen noch
angepasst werden, aber das Grundgerüst läuft.
Ich habe inzwischen noch eine etwas verfeinerte
Methode gefunden, die Schrittfolge zu erzeugen,
aber so gehts auch gut,
und diese Idee ist wenigstens von mir selbst.



....und schon wieder eine neue Idee:
erst kürzlich habe ich mich über eine
ganze Schale voll Akkus geärgert,
von denen keiner mehr sagen kann
welcher da noch brauchbar ist.

Das Energiezählerprogramm ließe
sich problemlos als Basis für einen
Akkukapazitätsmesser verwenden.
Einfach einen vollen Akku mit ca 1-2A
entladen und die Energie zählen
bis der Akku eine bestimmte
Spannung unterschreitet.
Dann abschalten und den Wert
im Display anzeigen.
Schon weiss man Bescheid!

Vielleicht bringe ich es noch
unter, Spannug und Entladestrom
einstellbar zu machen..............

es sollten ja auch größere
Akkus getestet werden können.
(vom Handy bis zum Schrauber....)

mal sehen, das mit der Spannung
könnte sogar automatisch gehen!?
Beim Start messen, merken und
irgendwo bei 70 - 80% abschalten....
Da muss ich mal Tabellen studieren
und schauen, wie das definiert ist,
was auf so einem Akku draufsteht!

bis demnächst

Franz

11 Juni 2010

Weiter gehts mit dem BMS !!!!!!

ganz frisch:

(mal eben in der Mittagspause getippt.................)



Das topaktuelle Bascom-Listing für meine Balancer/Mess/Heiz

Messwandler mit Atmega 48

Das Programm ist noch nicht fertig!

(Die Balancerfunktion läuft so natürlich noch nicht,

aber Messen von vier in Reihe liegenden Zellen funktioniert

schon mal und die PWM-Geschichte ist auch aktiviert.

die AD-Wandler werden zwischendurch bereits ausgelesen,

soweit ists ok! Es fehlt noch der Grenzwert für die Balancer
und zum Aktivieren derHeizfunktion muss das Programm

im Master geändert werden, damit es die 255 sendet

wenn geheizt werden soll..............)



Im Gegensatz zum ATiny 24 hat der Atmega eine "richtige"

serielle Schnittstelle, und die arbeitet selbständig

Die Software -Lösung im Attiny24 brachte Probleme mit sich,

weil während der Übertragung das Programm blockiert war.




$regfile = "m48def.dat"

$crystal = 4000000

$baud = 1200


Config Adc = Single , Prescaler = Auto , Reference = AvccStart Adc

Dim A As Byte

Dim A1 As Integer

Dim B As Byte

Dim B1 As Integer

Dim D As Byte

Dim E As Byte

Dim F As Byte

Dim Bal1 As Word

Dim Bal2 As Word

Dim Bal3 As Word

Dim Bal4 As Word

Dim Pwm1 As Byte

Dim Pwm2 As Byte

Dim Pwm3 As Byte

Dim Pwm4 As Byte

Dim Pwmx As Byte

'Open "coma.7:1200,8,n,1" For Output As #1'Open "comb.2:1200,8,n,1" For Input As #2
'Config Timer2 = Pwm , Pwm = On , Compare A = Clear , Prescale = 1'Config Timer0 = Pwm , Pwm = On , Compare A = Clear , Prescale = 1

Config Timer0 = Pwm , Pwm = On , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 1

Config Timer1 = Pwm , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 1

Config Portd.5 = Output 'OC0B

Config Portd.6 = Output 'OC0A

Config Portb.1 = Output 'OC1A

Config Portb.2 = Output 'OC1B

Do

D = 0 'eigentlich überflüssig
If F > 0 Then F = F - 1
A = Inkey() 'einlesen des Auslesebefehls

E = A

If E = 255 Then F = 255 'Wert ablegen für Balancer-heizung
A = A - 12 '-12 bei 13 bis 16
If A = 1 Then ' AD-Wandler 1 misst gegen "Masse"A1 = Getadc(1)If A1 > 255 Then A1 = 255

D = A1

Printbin D

End If
If A > 1 And A < a=" 2">
B = A - 1 'hier wird der nächste Eingang als Bezug genommen

A1 = Getadc(a)

B1 = Getadc(b) ' Einlesen von ADC2, 3, 4

A1 = A1 - B1

If A1 < a1 =" 0">
If A1 > 255 Then A1 = 255

D = A1 'umwandlung in ein Byte

Printbin D ' senden des ByteEnd If

Bal1 = Getadc(1)

If Bal1 > Pwmx And Pwm1 < pwm1 =" Pwm1">
If Bal1 <> 0 Then Pwm1 = Pwm1 - 1

If F > Pwm1 Then Pwm1 = F

Ocr0a = Pwm1
Bal2 = Getadc(2)

If Bal2 > Pwmx And Pwm2 < pwm2 =" Pwm2">
If Bal2 <> 0 Then Pwm2 = Pwm2 - 1

If F > Pwm2 Then Pwm2 = F

Ocr0b = Pwm2
Bal3 = Getadc(3)

If Bal3 > Pwmx And Pwm3 < pwm3 =" Pwm3">
If Bal3 <> 0 Then Pwm3 = Pwm3 - 1

If F > Pwm3 Then Pwm3 = F

Ocr1a = Pwm3
Bal4 = Getadc(4)

If Bal4 > Pwmx And Pwm4 < pwm4 =" Pwm4">
If Bal4 <> 0 Then Pwm4 = Pwm4 - 1

If F > Pwm4 Then Pwm4 = F

Ocr1b = Pwm4

Loop

End



Dass die Formatierung den Text verschiebt

ist ärgerlich....sorry!
..........und noch ein Update:
ich hab noch ein bisschen dran gearbeitet.
Die PWM-Augänge arbeiten jetzt auch richtig!
Somit eigentlich auch schon der Balancer!
Die Schwelle ist jetzt einfach mal provisorisch auf
128 (ca 2,5V) gesetzt und am Ausgang hängt eine LED.
beim Kurzschliessen eines Eingangs geht die jeweilige
LED langsam (in ca 1s) aus, und nachher auch wieder
langsam an. So soll es sein!
Wie geht es weiter?
Die große Frage ist: soll die Balancerschwelle fest
eingestellt sein, oder auch über den Master
konfiguriert werden können?
....Die Heizung......
Ich stelle mir das so vor:
Wenn auf heizen geschaltet ist wird die Balancerschwelle
per Befehl auf ca. 2,5 - 3V gestellt wodurch natürlich
die balancer voll durchschalten und kräftig heizen.
(ca 20-25W je Zelle also 10A sollten das dann schon sein!!!!
das ist nicht ohne...................mal sehen..........)
Der Befehl kommt natürlich nur ein mal je
Durchlauf und braucht deshalb auch eine Zeitfunktion.
Die Schwelle muss also wieder auf den korrekten Wert
umschalten sobald der Befehl länger nicht mehr kommt.
Wenn man hier mehrere Werte zur Wahl hätte,
dann könnte man nämlich auch mal "unten balanzieren"
ohne gleich alle Rest-Energie verheizen zu müssen.
Ebenso muss natürlich auch die Temperatur des Kühlkörpers
überwacht werden.
Da muss ich wohl noch ein bisschen spielen...................
Die Anzahl der zur Verfügung stehenden Befehle hängt davon ab,
wieviele Zellen letztendlich verwaltet werden sollen.
Solange ich nur je ein Byte sende sinds 254 Befehle insgesamt.
das ist letztendlich gar nicht sooooviel.
jede Zelle belegt schon mal einen das steht fest
Dann kommts drauf an, was man noch alles wissen will
und wie man es auswertet.
Eine globale Statusabfrage je Messeinheit also ein Atmega,
der vier Zellen überwacht sollte reichen.
Die hat ja wieder 254 (ein Byte) Antwortmöglichkeiten!
Da kann man auch in die acht einzelnen Bit so manches
hineincodieren bzw man erstelllt sich eine Tabelle aus
vorbereiteten Antworten.
Da im Normalfall 40Zellen reichen sollten (ca.144V)
aber im Extremfall auch 192Zellen zumindest als
Option vorgesehen sind wenn normale Drehstrommotoren
mit Frequenzumrichter betrieben werden sollten
werde ich mal die Zahlen 1 - 50 für die Zellen reservieren
und die Zahlen 51-192 so lange es vermeidbar ist nicht nutzen.
Als Statusabfrage sollten dann die Werte 201- 210
bzw bei vollausbau bis 248 dienen. (10 bis 48 Messeinheiten)
Bleiben also noch 193-200 und 211-254
(wenn 255 die heizung einschaltet und Werte wie Bordbatterie,
Motortemperatur, Gesamtspannung und Strom etc. vom Master
direkt gemessen werden......da gibts noch viele Möglichkeiten.......
und wenn man einfach mal nur von max. 40 Zellen ausgeht, dann ist
der Bereich von 41 - 200 und 211-254 nutzbar, das reicht! )
Im Master-Rechner geht mir bekanntlich der Platz im Atmega48
zur Neige, aber da gibts ja noch den Atmega 88 oder 168,
dann kann ich wieder "prassen".
Da ich aber eigentlich mit dem 48er auskommen möchte,
werde ich zunächst nochmal das Menue vereinfachen.
Weniger Text, nur Variablen und nur einmal alles speichern
beim Verlassen, das könnte klappen.
Die Restenergieanzeige will ich als eigenständiges Modul
konzipieren......wieder ein Befehl belegt,
wenn der Master das anzeigen soll
In den Messeinheiten ist noch "platz ohne Ende"
da geht noch sehr viel! es wären auch noch je zwei
Analog-Eingänge und ein PWM-Ausgang frei.
Zur Temperaturmessung pro Viererpack reicht das.
Nachtrag 15.06.2010
Erste Versuche mit dem letzten Stand des Mess und Balazier-
Programms im Atmega sind sehr erfreulich verlaufen.
Messen und balanzieren funktioniert grundsätzlich schon
sehr gut soweit meine unfertige Schaltung das zulässt.
Wie schon früher erwähnt ist die Ansteuerung der Mosfet
das größte Problem.
Wenn man eine vierergruppe für sich alleine betrachtet
dann liegt der Atmega zusammen mit einer der Zellen
auf Masse. Die Zellen sind Verbunden und die Spannungen liegen
irgendwo bei 3,6V, 7,2V, 10,8V und 14,4V.
Der Atmega wird über einen 5V-Regler von der höchsten Zelle
aus versorgt(2-3mA) Die PWM-Ausgänge schalten deshalb
zwischen GND und 5V hin und her.Damit kann ich nur den
Mosfet der an GND liegt direkt ansteuern wenn es ein
N-Kanal Mosfet ist.Für die drei anderen ist das nicht möglich.
Hier kommen P-Kanal Typen zum Einsatz und es ist jeweils noch ein
Treiber-Transistor erforderlich der als "open Collector" die Gates
gegen Gnd zieht. Wieder mal eine etwas ungewöhnliche Schaltung,
aber so gehts! So eine Vierergruppe kommt ohne weitere
Galvanische Trennung aus und darauf kam es mir an.
Nur zwei Optokoppler (einer für RXD, einer für TXD je vier Zellen)
und die Versorgung des Atmega erfolgt aus der Vierergruppe
Der Balancer ist auch ohne Steuerrechner funktionsfähig,
jede Zelle wird einzeln balanziert
und der Steuerrechner kann jederzeit jede einzelne Zelle
abfragen und dann wird ihm der Spannungswert gesendet
Die Genauigkeit liegt bei ca +- 0.04V also im +-2% Bereich.
Das sollte genügen.
Den größten Stromverbrauch haben übrigens die
Eingangsspannungsteiler!
Fehlt nur noch eine Meldeschleife zum Beenden des Ladevorgangs
wenn die erste Zelle voll ist..........

mfG

Franz

Nachtrag 25.07.2010:

Das Sommerloch ist überall........
In den letzten Wochen gabs genug andere Sachen zu erledigen,
so dass mir ganz gewiss nie langweilig war!
Am BMS ist nicht mehr sehr viel passiert abgesehen von einigen Tests,
die durchweg sehr positiv verlaufen sind
Die Balancer arbeiten gut, das sanfte Einschalten per PWM klappt prima,

Noch zu lösen:
Zuverlässiges umschalten der Balancer-Spannungsgrenzen vom Master aus
(bzw soll das überhaupt von da aus gesteuert werden???????)
Meldungsausgabe unabhängig vom Master.

Was soll das?
Ich will, dass mein "Master" also das Display etc. mir die Werte anzeigt.
(Max. Min. Durchschnitt Temperatur Fehler etc)

Ich halte es aber für gefährlich, das ganze Balancersystem vom Master und
der seriellen Verbindung abhängig sein zu lassen.
Das muss eigenständig funktionieren!!!
mit irgendwelchen Schleifen, die bei Unterbrechung Fehler signalisieren.
zumindest der Ladevorgang muss so gesteuert werden.

Ich hatte dieser Tage eine völlig andere Idee, die ich unbedingt
in die Praxis umsetzen möchte.
deshalb gibt es an dieser Stelle eine kleine Unterbrechung,
und mal wieder was ganz anderes zwischendurch!
Bis bald!
Franz







10 Juni 2010

Zur Abwechslung: Lambda-Regelung

Zwischendurch mal ganz was anderes............

weils beim Batteriemanagement vorübergehend
ein wenig hakte (4 x PWM in einem Baustein....)
und weil ich das schon seit langem
machen wollte, habe ich nun endlich meine
Lambda-regelung gebaut.

Als angenehmen Nebeneffekt konnte ich
sogar mein PWM-Problem lösen!
Es geht also auch mit dem Batteriemanagement
demnächst wieder voran.
(Messen klappt schon prima, jetzt kommt noch
die Balanzierfunktion mit in die Messeinheiten
sowie eventuell die Heizung über die
Balancerwiderstände........ das hat anscheinend
noch keiner gemacht bzw. gewagt.............)
Das Ganze ist eher eine Programmierübung,
obs in der Praxis funktioniert wird sich noch
zeigen.

Falls jemand irgendwelche Quelltexte möchte,
Bitte Melden!
leider kann ich das hier schlecht veröffentlichen,
weils die Formatierung nicht verträgt...........
Video / Fotos gibts ein andermal!

mfG
Franz

Herz des Ganzen ist ein Atmega48.
Programmiert mit Bascom.(macht immer mehr Spass!)
Als Display das mittlerweile bewährte EA DIP204-4.
Die Spannung der Lambdasonde wird mit
5V Referenz gemessen.Ich hätte auch die internen
1,1V nehmen können, aber so gehts auch.
Genau genug ist das allemal!
Falls ich noch ein Poti an der Drosselklappe
brauche ists so besser

Die Sonde liefert unter 450mV bei zu magerem
Gemisch und über 550mV bei zu fettem.
Der Bereich dazwischen wird gewissermaßen
übersprungen.
(meine Sonde ist schon sehr alt.......
mehr als 800mV kommen da nicht mehr raus)

Man kann das Signal nicht einfach verstärken
sondern muss einen weiteren Wert langsam
in die jeweilige Richtung nachführen.

Über ein Menue kann man den oberen und unteren
Schaltpunkt einstellen.
ebenso die Verzögerung/Dämpfung beim
Öffnen und Schliessen des Zusatzluftventils.
Ein Kontakt bei Standgas schliesst das Ventil sofort.
(der Leerlauf würde sonst "sägen")
bei aktivem Menue ist ebenso "zu"

Im Display wird angezeigt:
Sondenspannung in mV,
der AD-Wandler-Wert (5V=1023)
ein Pfeil zeigt an, ob zu mager, ok, oder zu fett
Der Zustand des PWM-Ausganges
in % , als Wert 0-255, und als Balkenanzeige

Die Setup-Werte werden natürlich im ERAM
abgelegt und im Menue gibt es noch einen
Time-out wenn man zu lange nichts eingibt.

Wie schon gesagt, eine Programmierübung.
man könnte die Werte noch seriell rausschicken
und eventuell brauche ich noch eine Überwachung
bzw. Berücksichtigung der Drosselklappenstellung
eine Motortemperaturanzeige vielleicht?


bis bald!
Franz