Forum: Mikrocontroller und Digitale Elektronik Motorsteuergerät für KFZ BJ frühe 90er


von Mephisto (Gast)


Lesenswert?

Hallo Leute :)

Ich habe den Thread hier über die Theorie einer aktuellen ECU gelesen 
und muss sagen sie hat mir gefallen. Dies sogar dergestalt, dass ich 
beschlossen habe über die Festtage mir ein KFZ selbst anzusteueren.

Als Fahrzeug wird ein 200-300€ Fahrzeug dienen, welches schon keinen TÜV 
mehr hat, den ich eh nie bekommen würde mit einem eigenen Steuergerät, 
zumal ich dann OBD implementieren müsste etc.

Dass ich niemals annähernd an die Qualität des !!damaligen!! 
Steuergeräts herankomme ist mir bewusst, jedoch reizt es mich meinen µC 
mal praktisch Auszutesten. Ich möchte auch in die Richtung 
Wirtschaftsingenieur studieren, und sehe das als Herausforderung an, zu 
probieren was nur geht.

Keine Sorge, ich werde das Ding nicht im öffentlichen Straßenverkehr 
nutzen, daher sind ein paar Tipps keine Anstiftung zur Straftat ;)
Ein mancher Möge auch proklamieren, dass es eine Vergäudung der Bildung 
sei, etwas so unsinniges zu bauen/programmieren, hier steht jedoch auch 
der Spaß im Vordergrund und wer weiß, vielleicht komme ich auf ein 
Alternatives Konzept das die Zukunft ist ;)

Jedenfalls nun zum Technischen:
Ein Microcontroller wird zum Einsatz kommen, der mittels USB Treiber mit 
einem Laptop kommuniziert. Die Kommunikation (uart) findet nur alle 10 
Zyklen statt, dass wäre bei 6000 U/min immerhin alle 100ms, bei 3000 
U/min noch 200ms etc, alles im Nichtmerkbaren Bereich.

Der Hintergrund ist, dass ich bei Umax (~ 6000) nur noch 10ms habe, für 
eine volle Umdrehung der Kurbelwelle, und das ist doch recht kurz 
bemessen :)

Nun frage ich zunächst allgemein, ob jemand eine Ansammlung von 
Informationen besitzt bezüglich dieses Themas. Meine Kenntnisse sind 
noch ein wenig eingeschränkt, klar, bei Last wird der Zündzeitpunkt nach 
hinten verlagert und die Einspritzzeit erhöht, jedoch:

http://home.foni.net/~michaelbosch/physics/motortec/engine06.htm

Aus dieser Seite geht ein Durchschnittszündpunkt von -30° vor dem OT an 
:O Das wäre doch ein "Schlag" auf den Kolben, wenn ich bei der 
Aufwärtsbewegung Zünde?
Außerdem wirft dies ein neues Problem auf: Ich habe durch das 
Nockenwellensignal einen Hardware Interrupt (hoffentlich :D) und dieser 
Zündet dann nach X°. Wie handhabe ich dies aber für den 2. Zylinder? 
Einfach rein rechnerisch 180° schlafen (vorrausgesetzt, sie sind 180° 
versetzt (sollten sie ja, oder?)) und erneut Zünden?

Da wir ja ein 4Takter haben, muss ich mir nur merken, in welchem Takt 
die 1. "Gruppe" ist, denn bei einem Interupt wird dann entschieden, 
welche Gruppe gezündet wird und Arbeitet. Die andere hat dann 
logischerweiße Einspritzen und Ausstoßen.

Sonst gibt es ja zunächst, abgesehen von den Bussystemen für ESP und ABS 
(falls vorhanden), keine Komplikationen?

-> Wie steure ich die Benzinpumpe an? Kann ich ggf das alte Steuergerät 
für die Benzinpumpe mitlaufen lassen, oder gibt das ein Problem, wenn 2 
Steuergeräte einen Sensor abfragen?

Achja: Als Sensoren stelle ich mir einen Geber, die Drehzahl wird daraus 
errechnet (timestamp des letzten Gebens) und des Drosselklappensensors 
(GasPedal, Last) vor. Reicht das? ggf. später die Lambda-Sonde, ist ja 
im Endeffekt nur ein ADC

von 35i (Gast)


Lesenswert?

Die mir bekannten Fahrzeuge dieser Altersklasse haben einen 
Zündverteiler mit Zündimpulsgeber (Hallgeber).Dieser liefert einen 
Impuls pro Zylinder. Das Steuergerät muß für die Zündung gar nicht 
wissen um welchen Zylinder es sich handelt, das macht der Verteiler.

von Roland P. (pram)


Lesenswert?

Bevor du die Hardware 2x erfindest: http://www.megasquirt.info/

Gruß
Roland

von Wilhelm F. (Gast)


Lesenswert?

Das hier könnte für den Anfang mal helfen:

http://www.youtube.com/watch?v=q_0xifuTqVA

;-)

von H.Joachim S. (crazyhorse)


Lesenswert?

Mephisto schrieb:
> Aus dieser Seite geht ein Durchschnittszündpunkt von -30° vor dem OT an
> :O Das wäre doch ein "Schlag" auf den Kolben, wenn ich bei der
> Aufwärtsbewegung Zünde?

Ein durchaus üblicher Wert, aber eben nicht absolut zu betrachten. Der 
Zündwinkel ändert sich je nach Last und Drehzahl. -30° im Leerlauf wären 
nicht so gut :-)
Bedenke, dass es eine Weile dauert, bis der Zündfunke das verdichtete 
Gemisch zündet und sich tatsächlich ein Druck aufbaut. Bei 6000/min sind 
von -30° bis OT ~1ms.

von chris (Gast)


Lesenswert?

>Dies sogar dergestalt, dass ich
>beschlossen habe über die Festtage mir ein KFZ selbst anzusteueren.

Interessantes Projekt. So etwas habe ich mir auch schon überlegt, 
allerdings schien mir der Zeitaufwand zu groß. Ich würde vorsichthalber 
3 Monate Vollzeit für die ersten Experimente ansetzen. Da müssen die 
"Festtage" schon ziemlich lang sein.

von Thomas (kosmos)


Angehängte Dateien:

Lesenswert?

Ich habe bei mir so angefangen. Elektromotor mit Alu Schwungscheibe an 
eine Regelbare Spannungsversorgung durch die Aluscheibe ein Loch gebohrt 
und einen Magneten reingesetzt das ganze mit einem Hallgeber 
ausgewertet.

Habe dann mit dem ersten Impuls den Timer gestartet die Zeit bis zum 
nächsten Impuls gemessen, diese durch 360° geteilt und dann konnte ich 
Grad genau auflösen. Dann kannst du probieren Kennfelder anzulegen um 
sowohl Drehzahlabhängig als auch Lastabhängig den ZZP zu verschieben.

Später andere Dinge wie konstanthalten der Schließzeit, Interpolation 
der Kennfelder, da dort ja nur z.B. in 500 U/Min Schritten aufgelöst 
wird genauso wird es keine 100 Lastbereiche geben.

Bei Megasquirt kannst du dir schon einige Infos bzgl. der Funktionen 
holen. Aber ein Projekt für über die Feiertage 2012 ist das nichts.

An der Nockenwelle bestimmt man normalerweise den Zylinder 1 der Rest 
geht dann über den Kurbelwellengeber

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Mephisto schrieb:
> Ich möchte auch in die Richtung
> Wirtschaftsingenieur studieren

Also BWL mit Programmierkurs.
Wennes richtig machen willst, also Software und Hardware, dann studier 
technische Informatik ;)

von Mephisto (Gast)


Lesenswert?

Hey :)

Erst einmal danke, dass sich gleich so reges Interesse bildet \o/ :)
Ich habe zunächst noch zwei Fragen, bevor ich auf eure Antworten eingehe 
;)

1. Was erzeugt die Sprunglambdasonde für Werte ausserhalb ihres 
Regelbereiches?
 Ist sie dann überhaupt noch brauchbar für eine grobe Richtung, sodass 
ich die Grobabstimmung zunächst machen kann, oder ist sie nur für 0.9 < 
Lambda < 1.1 brauchbar, und für alles andere kommen komplettfalsche 
Werte heraus. Im Endeffekt soll diese Frage heißen: Brauche ich eine 
Breitbandlambdasonde oder kann ich mithilfe der Sprung-O2 und meinem 
geschulten Ohr :D soweit kommen, dass die Lamdba korrekt regelt für die 
Perfektionierung?

2. Was empfehlt ihr an Autos? Ich habe zB exemplarisch mich über die 
Opel Corsa B-Reihe informiert, wo das Problem besteht, dass abgesehen 
von dem kleinsten Motor alle schon eine elektrische Zündverteilung 
haben. Ist dass nur eine Erschwernis oder ein Hindernis? Im Endeffekt 
sollten die Zylinder ja um jeweils 180° (für einen 4Zylinder Motor) 
versetzt sein? Da ja alle 720° wieder der erste dran ist? (180° * 4 
Takte ;)
 Ich weiß nicht wie es bei GOLF II oder dergleichen aussieht, der GOLF I 
jedoch erreicht schon Kult/Oldtimerstatus.

@35i: Noch bezüglich des Impulsgebers, ist das ein OT Geber? Sodass ich 
quasi immer um 1 Zündung hinterherhänge? Wenn ich zum Beispiel 30° vor 
OT Zünden soll, muss ich quasi beim Impuls für Zylinder 1 quasi einfach 
180 - 30° später den 2 Zylinder zünden, sodass die Zündung vom 1. 
Zylinder quasi über den 4. Zylinder bzw dessen OT geregelt wird? Wäre ja 
ansich nicht tragisch, die 1 Zündung beim Anlassen merkt ja keiner und 
beim "Auslassen" :D die letzte Zündung kann ja unterdrückt werden.

@pram: Ich wusste schon, dass es MegaSquirt gibt, jedoch findet so eine 
Anlage nur in den USA eine Gesetzliche Legitimation, Liberalismus \o/
Und daher geht es mir auch nur um den Spaß daran. Da gäbe es noch so 
Ideen wie 12:1 zu fahren für die Höchste Flammengeschwindigkeit 
(ACHTUNG: Muss ich hier den Zündzeitpunkt wesentlich nach hinten legen, 
da ich ja wesentlich schnellere Flammenausbreitungen habe?)

@crazyhorse: Das bedeutet ja, dass mein AVR doch nicht ganz so 
zeitkritisch sein muss? Also schon, aber noch eine Zeit zwischen 
berechnung und Züdung vergeht? (Siehe Zündverzögerung um 1 Takt)

Ich habe es nicht vor, aber um es gleich zu wissen, Motorkritisch sind 
ja eigentlich nur zu kurze Einspritzzeiten (eher auf lange Zeit hin) und 
zu frühe Zündungen? Zu späte bewirken ja nur (vorrausgesetzt weniger als 
180° Nach OT zu spät ;) weniger Kraft.)

@chris: Das stimmt ;) Ich meinte eher ich fange damit an, dannach wird 
zunächst gelernt für das Abitur, dannach habe ich ja auch wieder 
genügend (verdiente ;)) Freizeit.

@kosmos: Meinst du ich kann für den Geber einfach den des 
Spendefahrzeuges nehmen? Theoretisch kann ich den Schritt ja auslassen, 
der ist nur für einen Umbau zB von einem Vergasermotor benötigt.

Interpolation habe ich auch schon daran gedacht, kommt dann aber wohl 
eher später, vorerst vielleicht ein primitiver Vergleich.

Achja und eine Frage habe ich zum Schluss (Vorallem bezüglich der 
Abschaltung einzelner Zylinder):

Ihr kennt das ja (oder habt es gehört ;), dass moderene ECU einfach die 
Zündung wegnehmen bzgl Spritsparens, dass man nur noch 3 Zylinder hat 
quasi.

Frage 1: Schadet es einem Motor, keine Einspritzung und Zündung zu 
haben?
-> Bei einem Zweitakter wäre es schädlich nicht einzuspriten zweckes 
Schmierung und Kühlung
-> Kühlung beim 4-Takter auch ein Problem, da Zylinder sich sonst 
übermäßig erwärmt durch andere Zylinder?
-> Einfach Einspritzen mag der KAT nicht und die Umwelt auch nicht :)

Frage 2: Was haltet ihr davon, immer reihum einen anderen Zylinder 
auszuschalten, das verringert die "Nichtbelastung" des einen Zylinders 
der immer abgeschaltet wird und verhindert eine Abkühlung desselbigen, 
die zu Spannungen und Schäden bei reaktivierung führen.

Vielen Dank für die Kompetenten Antworten :)

von Georg G. (df2au)


Lesenswert?

Nimm dir einen Golf oder Polo mit "Digijet" Motor. Da läuft die Zündung 
noch via normalen Verteiler. Die Sensorik ist simpel und robust. Das 
Steuergerät ist nicht SMD. Darin werkelt ein 8049 von Intel mit 4k 
Eprom, dazu ein ADC0809 AD-Wandler. Für den Anfang kannst du den 
Prozessor und den A/D Wandler auslöten und dort sein eigenes Board dran 
hängen. Das komplette Innenschaltbild hast du an einem Abend 
rekonstruiert.

Wenn es komplexer sein soll: Nimm einen Golf mit "Digifant-II". Dort 
sind Zündung und Einspritzung auf 2 Prozessoren verteilt, so dass du 
nicht beide Räder gleichzeitig erfinden musst. Digifant-I ist eine 
Einprozessor-Lösung mit einem Motorola Prozessor. Auf dem Steuergerät 
steht drauf, was drin ist :-)

Bei beiden Varianten ist der Code nicht gegen Auslesen geschützt. Beide 
Varianten sind in Assembler und sehr geradeaus programmiert, ohne 
schmutzige Tricks, um dich zu verwirren. Du kannst also mittels 
Disassembler auch Anleihen machen.

Und wenn das Ding dann läuft, mach dich an die nächsten Probleme. Dann 
kannst du im Verteiler die Unterdruckverstellung und die Fliehkraft 
Gewichte totlegen und deine eigene Zündung bauen.

Die Sprung-Lambda-Sonde zeigt auch bei viel zu magerem oder viel zu 
fettem Gemisch ein gültiges Signal. Allerdings reagiert sie extrem 
unfreundlich auf Gleichstrombelastung. Es empfiehlt sich sehr, die 
Originalschaltung mit dem zwei Komparatoren zu verwenden (die zeigt dir 
auch, wann die Sonde Betriebstemperatur hat und das Signal gültig ist).

Ohne dich demotivieren zu wollen: Ich würde bei viel Einsatz und mit 
viel Glück mindestens ein Jahr kalkulieren, bis der Motor das erste mal 
richtig läuft.

von Thomas (kosmos)


Lesenswert?

ja also ein Jahr würde ich auch mindestens ansetzen. Beschränk dich 
erstmal darauf das die einen Punkt an der Scheibe treffen kannst(Timer, 
Capture, Compare Match...). Das einlesen der Analogen Daten, dann auf 
auslesen aus den Tabellen(Kennfeldern). Bis dahin ist es noch ein weiter 
Weg.

Bauteilesuche, Zündspule...Schließzeit vermessen oder Zündspule kaufen 
wo du die technischen Daten dazu erhälst (www.Bosch-Motorsport.de)

Um die Lamdaregelung würde ich mir jetzt noch gar keinen Kopf machen.

Aber 2 µC würde ich dir auch erstmal empfehlen weil es für einen 
Anfänger sehr schwer wird viele Ereignisse mit den Timers effektiv zu 
lösen. z.B. 1 Für Zündung , 1 für Einspritzung evtl. noch ein 3ter der 
sich um die Analogen eingänge kümmert und die Werte aufbereitet.

Bosorg dir erstmal einen Motor der schon alles mitbringt was man 
braucht. Empfehlen kann ich dir einen 1,8E von Opel bis 8/84 der hat pro 
Zylinder ein Einspritzventil, eine schärfere Nockenwelle als alle 
anderen Modell, ein sehr großes Saugrohr/Drosselklappe, 
Querstromkopf...das ist eine gute Basis, nur die Einspritzanlage(analog) 
und Zündanlage war schrott, Zündung(mechanische Fliehkraft und 
Unterdruckverstellung) aber Transistorgesteuert, hier kannst du dieses 
Zündmodul auch weiterverwenden. Einspritzanlage war auch rein analog, 
Kaltstartverhalten war in verbindung mit der Zündung sehr schlecht. Aber 
die Motorbasis stimmt. An der Kurbelwelle gibt einen Anschluß wo man 4 
Impulse pro Umdrehung erhält man müsste nur einen Sensor am 
Nockenwellenrad installieren.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.