Hallo,
habe folgendes Problem:
Gegeben ist ein Zweitakt Verbrennungsmotor 125ccm, Benziner, Zerstäubung
des Sprits über Vergaser (nix Einspritzer).
Dieser ist in einem Kart eingebaut welches öfters mal über eine
Rennstrecke gejagt wird. Bevor jemand fragt, nein nix Strassenzulassung,
nur abgesperrte Rennstrecke da das Teil halt getuned ist bis zum geht
nicht mehr! Da bekommt man keine Strassenzulassung. Da das Teil ja nur
für die Rennstrecke ist ist das ja auch egal.
Die Zündung ist eine Eigenentwicklung von mir, ein Atmega88 misst über
den ICP Interrupt wenn der am Polrad eingepresste (mit vieeeeel
Loctite!) Magnet am Pickup (ein TLE Hallsensor für KFZ-Anwendungen)
vorbeisaust, berechnet die aktuelle Drehzahl und löst laut Kennlinie die
Zündung im richtigen Moment aus. Die Zündung hat auch ein Drehzahllimit
bei 9500 Upm, falls der Riemen mal reisst das der Motor nicht durchgeht.
Es wird beim Erreichen einfach absichtlich "zu spät" gezündet so das
keine weitere Kraftentwicklung mehr stattfindet. Die Kraftübertragung
findet über eine große zwangsgekühlte Variomatik statt.
Das alles geht wunderbar. Jetzt zum Problem:
Bei der Ausfahrt aus der "Boxengasse" sind maximal 75 kmh erlaubt,
überschreitung wird mit einer Sperrzeit bestraft. Ich habe mir also
überlegt wie ich die Geschwindigkeit begrenzen kann auf elektronischem
wege. Soweit ich weiß wird das mit dem Geschwindigkeitslimit bei
modernen 4-Takt Motorrollern mittels einer speziellen CDI auch so
gemacht, es gibt einen Aufnehmer an der Fliehkraftkupplung welche über
das Getriebe starr mit dem Hinterrad verbunden ist. Beim erreichen der
im Werk eingestellten Grenzdrehzahl wird der Zündzeitpunkt langsam
Richtung spät verstellt.
Wie genau wird das realisiert? Der M88 muss ja die Zündung immer zum
richtigen Zeitpunkt vornehmen, da darf kein anderer Interrupt
dazwischenfunkten. Bei 6000 Upm sind das 100 Zündungen die Sekunde, wird
einmal versehentlich zu früh gezündet bekommt der Kolben tierisch eins
auf die Mütze das gibt schwere Schäden am Kurbeltrieb wenn das öfters
vorkommt. Wird extrem spät gezündet glüht der Auspuffkrümmer (und der
hinter mir bekommt die Stichflamme aus dem Auspuff mit viel Ölschmodder
ab...). Aussetzer der Zündanlage sind also nicht möglich.
Die Fliehkraftkupplung dreht je nach Motorleistung (und wo der
Treibriemen der Variomatik steht) mit fast der 1,5 fachen Drehzahl der
Kurbelwelle, da kommen also auch ne Menge interrupte zusammen.
Ist das überhaupt mit einem uC zu lösen? Der M88 macht ja momentan
ausser der Drehzahlmessung (ICP in Hardware), ein bisschen Rechnen und
im Richtigen moment über einen Optokoppler den Thyristor im CDI-Teil zu
Zünden nix weiter. Nur muss das Zuverlässig gehen. Der
Geschwindigkeitsmessteil muss nicht so Zeitkritisch ausgeführt werden,
da kein Fahrzeug so schnell beschleunigen kann wie der uC Rechnet. :-)
Ich habe mal eine defekte CDI aus einem Baotian Roller aufgebrochen (das
Vergusszeug war hart wie die sau...) da scheint tatsächlich nur ein
einziges IC drin zu sein, allerdings war das durch einen
durchgeschlagenen Thyristor in der Mitte aufgeplatzt, es war nix mehr zu
lesen. Es kann sich aber nur um einen uC gehandelt haben meiner Meinung
nach...
Hat jemand einen Tip wie "die großen Hersteller" so was Realisieren?
Programmerstellung der Zündung erfolgte in Bascom, Zeitkritisches in
Inline-Assembler. Falls es damit nicht möglich sein sollte so was zu
Realisieren ich bin auch des C mächtig.
Es sollte ein Atmel uC eingesetzt werden, mit den PICs bin ich nicht so
firm.
Hat wer Tipps wie ich so was hingekomme?
MfG
Roland
Roland-Z. schrieb:> Hat wer Tipps wie ich so was hingekomme?
Wie wäre es, die Zündung einfach abzuschalten?
Mein VW-BUS (schöner alter luftgekühlter Boxermotor Baujahr 1975) macht
das so: im Verteilerfinger ist ein kleines Gewicht an einer Feder, der
bei Erreichen einer bestimmten Drehzahl den Finger mit der Drehachse
verbindet, also den Hochspannungszündimpuls einfach gegen Masse
kurzschließt.
Es gibt dann zwar ein wenig Auspuffzündungen, wenn die Zündung wieder
einsetzt, aber VW hatte da wohl nichts dagegen...
Gruß Dietrich
Selbst wenn deine Interrupts mit 200Hz da ankommen, hat ein auf 20MHz
laufender AVR 100000 Takte Zeit, da kannste sonstwas machen, der AVR
langweilt sich.
Ingo
Tach Roland,
das sollte vom zeitlichen Aspekt nicht Problematisch sein. Du musst nur
richtig implementieren. Ich bin mir allerdings nciht sicher ob ich dich
vollständig verstanden habe.
So wie ich das sehe musst du zwei Drehzahlen messen. Die deines Motors
und die deines Hinterrades. Ersteres für den Zündzeitpunkt zweiteres für
die Geschwindigkeit. Der mega88 hat aber nur eine ICU. Du musst dich
also mit einem software ICU begnügen. Da dein Messbereich aber eine
diskrete Grenze ist und kein weiter Regelbereich sollte das aber
problemlos möglich sein. Du musst ja quasi nur entscheiden ob du
schneller oder langsamer als 75km/h bist.
Ich weiß leider nicht wie effizient Bascom mit ISRs umgeht aber
technisch beschränkt sich das auf zwei Register pushen, TCNT0 laden und
ins RAM speichern und zu guter letzt die zwei register wieder popen. Das
sind 17 Takte. Bei 20MHz dauert die ISR also weniger als 1µs.
Thor
> Ist das überhaupt mit einem uC zu lösen?
Natürlich.
Genau dasselbe wie bei deiner Drehzahlbegrenzung.
Nur halt daß die 75km/h nur auf Knopfdruck eingehalten werden.
Einfach 2 (im Prinzip gleiche) Formeln parallel rechnen,
und wenn eine davon zur Zündzeitpunktverstellung aufruft,
den eben verschieben.
Roland-Z. schrieb:> Wird extrem spät gezündet glüht der Auspuffkrümmer (und der> hinter mir bekommt die Stichflamme aus dem Auspuff mit viel Ölschmodder> ab...). Aussetzer der Zündanlage sind also nicht möglich.
Dann zünd halt garnicht, so wie jede elektronische Drossel in den Mopeds
der Halbstarken es auch tut?
Du hast deine Möglichkeiten doch effektiv schon erfasst:
- Früher zünden. Hier zweckfrei aber prinzipiell möglich. Die Drehzahl
wird kaum sinken, dafür kriegt das Pleuel blaue Augen.
- Normal weiterzünden. Dann wirds wieder schneller.
- Später zünden. Geht bis zu einem gewissen Grad, irgendwann wird
vermutlich der Kolben auslass-seitig etwas dünnflüssig.
- Garnicht zünden. Schiebt etwas Gemisch durch den Auspuff heraus, tut
beim Zweitakter aber eher weniger weh.
Alternativ könnteste das Gemisch beeinflussen. So kann man z.B. mir der
Hauptdüse absichtlich überfetten, damit der Motor bei Vollgas im
Leerlauf sich ab einer gewissen Drehzahl verschluckt und dadurch selbst
drosselt. Da du aber einen Sauger hast, könntest du bestenfalls die
Luftmasse beeinflussen, etwa mit einer zusätzlichen Drosselklappe.
Was meinsten, was so in käuflichen Drosseln drin ist? Für die YZFR125
gabs mal eine ganz tolle, die hat die Zündung abgestellt aber nicht die
Einspritzmenge reduziert. Wenn der halbstarke Fahrer das Gehuste noch
gekonnt ignoriert hat, ist die Karre halt nach ner Minute Vollgas
schlicht abgesoffen. Ich würde mir aber einbilden, dass man das Gehuste
beim Zweitakter durchaus wahrnehmen und Gas zurücknehmen kann...
Ist zumindest bei meinen so :-)
Hallo,
danke für die Denkansätze.
Zündung aussetzen geht nicht wegen der Knallerei im Auspuff. Das gibt
sonst Ärger und der Kat geht kaputt. (Jaja ich weiß nen Kat in einer
Racingschüssel usw. der ist aber nun mal drin und soll nach Möglichkeit
auch ganz bleiben.) Außerdem bekommt der Hintermann dann den ganzen Rotz
ins Gesicht und das will ja keiner, auch ich nicht.
Die "Modernen" Mopeds der heutigen Jugend haben keine Zündaussetzer mehr
bei erreichen der Grenzdrehzahl, das nennt sich "Euro 2 CDI", damit ist
gemeint das immer Gezündet wird nur halt viel später so das der Motor
keine Kraftentfaltung mehr hat. Unverbrannte Kohlenwasserstoffe dürfen
da hinten keine mehr Rauskommen... Gesetze und der liebe TÜV halt. :-/
Die Drossel von Alpha-Technik z.B. macht das auch so das beim erreichen
der Drehzahl / Geschwindigkeit die Zündung Richtung spät verstellt wird
damit die Schüssel nicht schneller wird wie erlaubt.
Das mit dem zweifachen Rechnen der Formel schaue ich mir mal an das
klingt ganz interessant...
@thor368,
wenn ich dich richtig verstanden habe soll ich mir mittels eines Timers
und einem Interruptsfähigen Pin einen zweiten ICP selbstbauen in
Software? Das klingt sehr interessant da werde ich doch gleich mal etwas
testen.
@all,
ich habe mir ein Motormodell gebaut, da ein Brüllender Zweitakter ja zum
Testen nicht grade Wohnzimmertauglich ist. Es ist ein Elektromotor aus
dem Modellbaubereich mit PWM-Regler und als "Polrad" eine Aluscheibe mit
eingepapptem Magneten für den Hallsensor. Macht etwas weniger Lärm und
weniger Gestank in geschlossenen Räumen. :-)
Da werde ich mal testen, als "Hinterrad muss halt der Funktionsgenerator
herhalten. :-)
> ich habe mir ein Motormodell gebaut, da ein Brüllender Zweitakter ja zum> Testen nicht grade Wohnzimmertauglich ist. Es ist ein Elektromotor aus> dem Modellbaubereich mit PWM-Regler und als "Polrad" eine Aluscheibe mit> eingepapptem Magneten für den Hallsensor. Macht etwas weniger Lärm und> weniger Gestank in geschlossenen Räumen. :-)
Sehr cool :-Q
> Das mit dem zweifachen Rechnen der Formel schaue ich mir mal an das> klingt ganz interessant...
Das ist eigentlich noch viel simpler. Wenn du die Maximaldrehzahl
erreicht hast, brauchst du dir einfach nur den spätest möglichen
Zeitpunkt zum sicheren Zünden überlegen. Da ist keine Rechnun mehr
nötig, denn du willst ab dem Punkt ja wirklich 0 Drehmoment haben. Wenn
ich dich recht verstanden habe geht es tatsächlich nur darum, dass kein
CHx in den Auspuff kommt.
Thor
@thor 368,
ja das ist richtig, der Auspuff soll nicht knallen da das von der
Rennleitung unter Umständen als nicht Korrekt eingestellter Motor
interpretiert wird und man rausgenommen wird.