Hallo, Da ich gerade an einer elektronischen (verteilerlosen) Zündung arbeite die mit Einzelfunkenzündspulen arbeitet bin ich bei der Auswertung des Triggersignals vor ein Problem gestoßen bei dem ich mit meinen Kenntnissen nicht ganz weiter komme. Ich versuche erst mal zu beschreiben um was es überhaupt geht; Auf der Kurbelwelle eines Motors sitzt eine Impulsgeberscheibe um den Kurbelwellenwinkel zu erfassen. Sie besitzt eine Vielzahl von Zähnen, sehr häufig werden 60 Zähne verwendet wovon 2 ausgelassen werden, also eigentlich 58. Die Lücke dient dazu den Winkel der Scheibe dem entsprechenden Zylinder zuordnen zu können, wenn die Lücke im Triggersensor steht weiß das Motorsteuergerät dass der 1. bzw. 4. Zylinder auf dem obersten Totpunkt (OT) stehen. Gezündet wird 20-40° vor OT, aber das ist ein anderes Problem. Der Trigersensor liefert ein Rechteck-Signal von 0V (kein Zahn) oder 10V (Zahn liegt vor Sensor). Mein Problem ist nun eine Schaltung zu entwickeln mit der Ich den OT-Punkt aus den anderen Impulsen der Triggerscheibe herausfiltern kann um ihn sozusagen als "Reset-Impuls" für meine Zündschalltung zu nutzen. Die Schaltung muss also die durch die zwei fehlenden Zähne erzeugte Lücke erkennen können. Ich hatte mir schon eine Variante mit einem RC-Glied und einem NAND-Gatter überlegt bei dem bei positivem Signal des Triggersensors der Kondensator auf ein bestimmtes Potential geladen wird bis der Sensor auf "0" geht, dann muss der Kondensator innerhalb der Aufladezeit auch wieder entladen werden, tut er das nicht wird die Lücke erkannt. Ich glaube allerdings dass das ganze nicht funktioniert weil die Impulsbreite drehzahlabhängig ist und mit steigender Drehzahl die Impulse immer kürzer werden. Wer also eine andere Idee oder Lösung hat - immer her damit Danke & Viele Grüße
Hallo Idee: mit den Impulsen eine PLL steuerern die auch einen Ausgangspuls erzeugt wenn der Zahn fehlt. Den PLL-Ausgang als Takt für ein D-Flip-Flop verwenden. Den D-Eingang des Flip-Flops mit den Zahnpulsen versorgen. Sollte bis auf den fehlenden Zahn immer eine 1 am Ausgang liefern. Beim fehlenden Zahn eine 0. Das geht natürlich auch mit einem uC.
>Ich glaube allerdings dass das ganze nicht funktioniert weil >die Impulsbreite drehzahlabhängig ist und mit steigender Drehzahl die >Impulse immer kürzer werden. Wer also eine andere Idee oder Lösung hat - >immer her damit Das ist das Problem. Ich sehe auf die Schnelle zwei mögliche Lösungen: 1) Eine andere Scheibe, in der du nur die 6° Teilung hast. Also zweite Spur ein extra Markierung, die dir die Null-Marke anzeigt. Das ist ähnlich wie die Nullspur bei einem Drehgeber. 2) Einen zweiten Triggersensor, um >15Grad (aber vielfache von 6°) gegenüber dem ersten versetzt. Somit sollten beide Sensoren immer (fast) zugleich kommen, fehlt aber der eine, so ist dort die Null-Markierung da. Hinweis: Egal wie du es lösen tust, die Nullmarkierung zu Erkennen, indem du das Fehlen der 6°-Teilung erkennst (weil die Lücke größer ist) kann du immer nur nach diesen 6°. Eher wirds es nie..
Schon mal danke für die schnellen Antworten. Leider bin ich nicht so sehr bewandert was die Digitaltechnik angeht, ich kenne mich zwar mit Gattern aus aber alles andere ist mir eher fremd. @karadur: Was ist denn ein PLL? @Mathias: Eine zweite Scheibe kommt nicht in Frage da so wenig wie möglich von dem ganzen zu sehen sein soll, zudem gäbe es auch noch die Möglichkeit den Nockenwellensensor mit zu verwenden, er Liefert pro 720° Kurbelwellenumdrehung nur einen einzigen Impuls wenn der 1. Zylinder auf OT steht, also eigentlich das was ich bräuchte - ABER der Motor der mit der Zündung gesteuert werden soll sitz in einem allten Kadett C und der Nockenwellensensor würde mit der Spritzwand kollidieren, d.h. man müsste das Blech ausschneiden. Das möchte ich allerdings nicht und deshalb nur das Triggerrad auf der Kurbelwelle verwenden. Dies sitzt im Übrigen im inneren des Motorsblocks und ist von außen nicht sichtbar.
Du brauchst dich nicht rechtfertigen bei mir... ;-) Ich meinte nicht, eine zweite Scheibe, sondern eine andere . Dann nimm meinen zweiten Vorschlag und bau nen zweiten Sensor dran. Somit sollte das gehen. Aber: >Leider bin ich nicht so >sehr bewandert was die Digitaltechnik angeht, ich kenne mich zwar mit >Gattern aus aber alles andere ist mir eher fremd. Keine guten Vorraussetzungen...
Einen zweiten Sensor anbauen wird nicht gehen, der Sensor sitzt im Motorblock in einer Passung. Da ist kein Platz für einen zweiten Sensor...
Naja, ich denke mal das der Hersteller Deiner Einspritz/Zündanlage (die wohl vorher verbaut war) das auch schon "gelöst" hat, ohne zusätzliche Hardware... Im Endeffekt wird doch nur die Zeit von Lücke zu Lücke gemessen und mit der letzten verglichen. (resp. kann man auch den Mittelwert der dt's zum vergleichen nehmen, wenn sie Scheibe Beschleunigt/verzögert je nach Betriebspunkt) Ist das dt größer als das letzte dt, bedeutet das daß die 2-Zahn-Lücke unter deinem Hallgeber vorbeigeschuscht ist. Allerdings müsstest Du die ev. Beschleunigung Deiner Scheibe berücksichtigen. -Dein dt ist nebenbei 1/proportional zur Drehzahl. -Timeout von dt bedeutet Scheibe dreht nicht. -Die 2-Zahn-Lücke ist bei Motronic-steuerungen meistens 76° KW vor OT. Somit hat man genug Zeit noch ein wenig zu rechnen bevor man Zündet oder Sequentiel einspritzt. Was soll es denn werden ?
PS : Es gibt da auch schon fertige IC die die Dekodierung machen. Glaube ich habe bei MegasquirtAVR sowas schonmal gesehen...
Hallo Thomas, du scheinst ja zu wissen worum es geht :D Das ganze wird ein 2,0l 16V in einem Kadett C mit Doppelvergasern, deshalb auch die aufwendige Zündung. Man könnte das ganze auch mit einem Zündverteiler fahren, den muss man dann jedoch versetzten, umlenken oder die Spitzwand kaputt schneiden. Außerdem sollen möglichst wenig Kabel zu sehen sein. Deine Idee mit dem Mittelwert hört sich gut an, nur bei der Umsetzung haperts bei mir :(
Och... Also der c20xe wie er im Kadett war hatte zusätzlich einen Verteiler mit Hallgeber. Darüber war die Phasenlage der Nockenwellen bekannt. Bist Du dir sicher das bei deinem Geber der im Block sitzt es sich um einen Hallgeber handelt ??? Normalerweise steckt da ein Induktivgeber drin... Ich würde mir als erstes mal Gedanken machen wie meine Zündung später "aussehen" soll. Verteiler, verteilerlos, Einzelfunken, Doppelfunken dann wäre das Stichwort DIS. Gabs beiden x16xz Motoren im Astra (die mit 72PS). Sowas könnte ich mir durchaus auch an einem 16v vorstellen. Allerdings kannst Du beim DIS (wo die Endstufen schon in der Zündspule integriert sind) den Zündwinkel nicht so stark variieren, da Du sonst bei dem anderen Zylinder in den Ansaugtakt funkst. (kommt auch drauf an was Du für Nockelwellen fahren willst...) Allerdings musst Du sehr vorsichtig sein, der Motor nimmt Dir falsche Zündwinkel sehr übel. Für den Anfang würde ich mir erstmal einen µC mit einer Eingangsbeschaltung und ein paar LEDs zurechtlöten. Und die "Software" am Motor testen. (es reicht wenn Du Anlasserdrehzahl (ca 200-450 upm) und die Lücke sicher detektierst. Versuche doch erstmal nur den Zeitabstand zwischen den Zähnen zu messen. Das geht mit einen Timer und minimal Mathematik. Danach machen wir uns an die Lücke...
Dass der Verteiler einen Hallgeber hatte weiß ich, das ist aber oben genanntes Problem. Der Ventildeckel und damit auch der Sitz des Verteilers sitzt 2 cm vor der Oberkannte der Spritzwand, entweder man schneidet diese für den Zündverteiler aus oder man dreht den Zündverteiler und treibt ihn über einen Zahnriemen an. Beides Lösungen die ich nicht für elegant hallte. Ich habe bereits Einzelfunkenzündspulen in Steckerform die ich auch schon bei anderen C20XEs verbaut habe, eine passende Endstufe mit MosFETs habe ich mir auch gebaut, allerdings habe ich diese bisher über ein frei programmierbares Steuergerät gesteuert (Haltech E6X). Da der Motor im Kadett aber mit Vergasern gefahren wird wird das einzigste was neben Licht und Anlasser noch mit Strom zutun hat die Zündung sein. Diese werde ich wie bei einer Doppelfunkenspule immer paarweise ansteuern, also 1+4 oder 2+3. Einzigster Vorteil zur Doppelfunkenspule - Ich habe keine externe Zündspule und muss nur die dünnen Kabel der Primärspule herausführen... Ich werde wie du vorschlägst wol erst mal einen solchen Versuchsaufbau machen und dann berichten. Schon mal danke für die schnelle Hilfe und die vielen Antworten!
Hmmm, also die Nummer mit dem Zahnriemen, bzw Spritzwand halte ich auch für äusserst "ungünstig" ;) Ev. liesse sich ein zusätzlicher Hallgeber mit einer der Nockenwellen in den Ventildeckel einlassen !? Für einen 8V hätte ich da eine Idee... Für mich : -Aus welchen Auto und Bj ist denn der Motor ? (ich frage wegen dem Hallgeber KW) -Was für (Finger?-) Zündspulen verwendest Du ?
Es gibt ja sogar einen passenden Nockenwellensensor für die Motronic bzw. den 16V von Opel, es gab ja die Motronic M2.5 (mit dem schwarzen Verteiler) und die M2.8 (Vertielerlos) da saß dann anstelle des Verteilers ein Block mit dem Geber im Zündverteilerloch. Ist aber immer noch zu breit bzw. steht zu weit raus ohne mit der Spitzwand zu kollidieren. Ich hatte auch schon überlegt einen Nockenwellensensor selber zu bauen, Platz ist auf jeden Fall genug. Aber wenn es sich umgehen läßt möchte ich das ganze möglichst ohne diesen betreiben. welches Baujahr der Motor hat kann ich dir nicht sagen, habe bestimmt 4 oder 5 Motoren in meiner Werkstatt stehen, die meisten allerdings C20LETs also 16V Turbos aber die sind absolut identisch. Grundsätzlich sind bei Opel ja alle Big-Block-Motoren gleich, also egal ob 8V oder 16V der Block ist der selber, somit auch die Kurbelwelle (wenn 2000cm²) und der Kurbelwellensensor... Die Zündspulen stammen vom Motorrad, passen genau in den Ventildeckel und dichten Sogar mit der angebrachten Gummidichtung die Zündkerzenbohrung ab...
Hallo PLL heisst Phase locked Loop. Das ist ein Oszillator der mit einem Referenzsignal synchronisiert wird. Die PLL läuft synchron zum Zahnimpuls. Fällt ein Impuls aus läuft der Oszillator trotzdem mit der gleichen Frequenz weiter. Durch die Synchronisation läuft der Oszillator mit der Frequenz der aktuellen Drehzahl.
Nachdem die Drehzahländerung nicht sehr schnell erfolgen kann/wird, würde ich das so machen: Mit einem uC bei jedem Zahn-Impuls - wird der Zählerwert gespeichert - wird der Zähler neu gestartet - wird der Zähler mit dem vorher berechneten Zählergrenzwert verglichen und der Trigger ausgelöst, wenn der aktuelle Zähler größer als der Grenzwert ist sonst nur der neue Grenzwert berechnet wird (hier einfach Faktor 2)
1 | if (zahnimpuls) { |
2 | trigger = 0; // erst mal Trigger löschen |
3 | cnt_akt = timer; // aktuellen Timerwert auslesen |
4 | timer = 0; // Timer zurücksetzen |
5 | if (cnt_akt > cnt_og) |
6 | trigger = 1; // zu große Pause --> Trigger |
7 | else
|
8 | cnt_og = cnt_akt*2; // sonst neuen Grenzwert berechnen |
9 | }
|
Lothar Miller wrote:
> Nachdem die Drehzahländerung nicht sehr schnell erfolgen kann/wird,
Das einzigste Problem sehe ich noch darin dass sich die Drehzahl
schlagartig ändern könnte bzw. wird wenn die Räder durchdrehen, dann
würde die Drehzahl sehr schnell nach oben schießen. Bekommt der uC dass
dann auch noch geregelt?
Hallo Heiko, Schau mal wie lange es dauert wenn Du den Motor vom Leerlauf bis auf 6400 upm hochdrehen läst (leer). Das wäre dann deine Maximale Änderungsgeschwindigkeit der Drehzahl die Du in Deinem Algo berücksichtigen musst. Ausserdem misst Du immer nur von Zahn zu Zahn, dadurch verringert sich die Maximale Änderung da die Änderungsgeschwindigkeit nur auf 1/60 wirkt... Bist Du aus der Umgebung von FFM ?
Heiko Domnick wrote: > Lothar Miller wrote: >> Nachdem die Drehzahländerung nicht sehr schnell erfolgen kann/wird, > Das einzigste Problem sehe ich noch darin dass sich die Drehzahl > schlagartig ändern könnte... Thomas W. (wagneth) hat das richtig erkannt: Für eine schlagartige Drehzahländerung brauchst du einen Kolbenfresser, am besten zusammen mit Kurbelwellenbruch ;-)
Also ein "normaler" fresser reicht da nicht aus... Dabei schmilzt nur ein bisschen was vom flammsteg ab, ev. frisst auch die Zylinderwand ein wenig.
Thomas W. wrote: > Also ein "normaler" fresser reicht da nicht aus... > > Dabei schmilzt nur ein bisschen was vom flammsteg ab, > ev. frisst auch die Zylinderwand ein wenig. Kommt mir irgendwie sehr bekannt vor was du da beschreibst :( Komme aus dem Raum Köln...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.