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
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.
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.
>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.
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
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 ;)
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 :)
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.
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.