PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : timing



leo.vetterli
24.11.2005, 08:09
ich suche eine Lösung um eine Ereignis genau zu timen. Ich möchte dies nicht in einem Robotter einsetzen, doch ich glaube hier von euch Spezialisten Hilfe zu bekommen.

Ich möchte ein Zündsteuergerät für einen Verbrennungsmotor entwickeln. Als Lösungsansatz stelle ich mir vor mit einem Microcontroller und dem im eueren Forum auch schon erwähnten Baustein http://www.acam.de/Content/Deutsch/tdc_applications/distance.html
die Drehzahl zu messen und dann über einen zweiten Baustein der das genaue Timing übernimmt zum richtigen Zeitpunkt zu zünden.

Was meint ihr? Gibt es einen solchen Baustein? Und stimmt mein Lösungsansatz?

Leo

ranke
24.11.2005, 09:30
Hallo Leo,
wenn es (wie ich vermute) um das Zündtiming bei einem Ottomotor geht, brauchst du den acam Baustein sicher nicht.
Hier eine Überschlagsrechnung:
angenommene Maximaldrehzahl des Motors: 6000 1/min, d.h. 100 Hz
oder eine Periodendauer von 10 ms.
Willst du eine Winkelauflösung an der Kurbelwelle von 1 Winkelgrad erreichen, dann brauchst du also eine zeitliche Auflösung von 10ms/360° = 28 Mikrosekunden.
Der Baustein von Acam hat eine Auflösung in der Größenordnung von 28 Picosekunden (wenn ich das Datenblatt richtig überflogen habe). Da liegen Welten in Form von 6 Zehnerpotenzen dazwischen.
So einen langweiligen Motor sollte der Mikrokontroller auch alleine schaffen.
Gruß Uli

leo.vetterli
24.11.2005, 09:58
Hallo Uli
Danke für den Tipp. Bei der Motordrehzahl müsste schon vom 1.5 fachen Wert ausgegangen werden. Trotzdem würde die Auflösung im Mikrosekundenbereich liegen. Da hast du recht.
Der Baustein von Acam hat zwei Messbereiche (2ns-7.6µs und 60 ns-200 ms) somit ginge der schon zum messen. Das Problem ist nämlich dass mein Controller (20Mhz) eine Systemzeitauflösung von 1Ms hat :-(
Darum dachte ich, dass es am einfachsten wäre dies mit zwei externen Bausteinen zu steuern und den Controller nur zum steuern dieser zwei Bausteine verwenden. Was denkst Du?
Leo

leo.vetterli
24.11.2005, 10:19
ich habe mich noch etwas umgeschaut... vielleicht sollte ich einfach einen anderen controller verwenden.

ranke
24.11.2005, 11:21
Hallo Leo,
man kann den MC schon entlasten, indem man zeitkritische Vorgänge auslagert. Im Prinzip geht es ja nur darum, daß man das Signal des Kurbelwinkelsensors definiert verzögert als Zündsignal ausgibt. Die Verzögerung ist eine Funktion der Drehzahl und von weiteren Sensoreingängen (z.B. Saugrohrunterdruck).
Die Verzögerung kann man z.B. dadurch erreichen, daß man den Ausgang eines externen Digitalzählers, der mit einer festen Frequenz hochzählt, mit einer vom MC errechneten Verzögerungszeit vergleicht. Übereinstimmung des Vergleichs bedeutet Zündsignal. Der Kurbelwinkelsensor resettet den externen Zähler.
Gruß Uli

leo.vetterli
24.11.2005, 19:49
Danke für den Tipp Uli