Hallo zusammen, ich würde gerne die Drahzahl eines Benzinmotors erfassen. Der Motor dreht zwischen 2000 und 20000 U/min (Ein-Zylinder, 2T). Wenn man eine Umdrehung von z.B: 2000 / min mal auf eine Sekunde herunterrechnet (was schon eine ziemlich miese Refreshrate eines Messwertes ist) bleiben nicht mehr viele Impulse pro Sekunde über. Ich wollte die Drehzahlm direkt über das Zündkerzenkabel messen. Hat jemand eine Idee, wie ich die Drehzahl genauer ermitteln kann? Kann ich die Impulse irgentwie interpolieren, so daß ich im Schnitt mehr Impulse pro Sekunde bekomme? Danke!
Du koenntest mit Hilfe eines schnellen Timers die Zeit zwischen den Impulsen messen und darueber die Frequenz errechnen. Wenn die Frequenz zu hoch oder zu niedrig wird, muss man den Timer prescaler anpassen.
Hallo also wen du 2000 impulse / minute bekommst hast du 33,3333... impulse / sekunde rundest du ab auf 33 nimst es wieder mal 60 kommst du auf 1980 ist das zu ungenau? wenn ja kannst ja noch eine kommastelle mit nehmen macht dann 1998 U/min messen kannst du endweder ueber die zuendspule (du wirst warscheinlich mehrere 10MOhm widerstände brauchen wegen dem zündfunken) oder du machst es optisch per IR Reflektions Lichtschranke den sender / sensor (CNY70) vor die welle und auf der welle makierst du einen strich schwarz. beides ist nicht gerade wenig aufwand aber machbar gruss
Du hast 2 Moeglichkeiten: * entweder du misst wieviele Impulse du pro sec kriegst * oder Du misst die Zeit zwischen 2 Impulsen und errechnest daraus die Drehzahl. f = 1 / T Was meinst Du mit 'miese Refreshrate', zu viel oder zu wenig ? Hinweis: Du glaubst doch nicht im Ernst, dass der Motor die angezeigte Drehzahl zu jedem beliebigen Zeitpunkt auch exakt einhaelt? Wenn Du die Drehzahl genauer messen willst, dann musst Du die Aufloesung erhoehen. Beim Impulse-Zaehlen heisst das: das Fenster laenger offen halten und statt 1 sec zb 2 sec lang messen. Misst Du die Zeitdauer zwischen 2 Pulsen, dann muss die Ermittlung der Zeit genauer gehen. Normalerweise misst man ja so, dass man das Messprinzip umdreht: Die Pulse definieren ein Fenster und in diesem Fenster zaehlt man die Pulse einer definierten und bekannten Frequenz. Also: Du hast eine Konstante Frequenz von zb. 10 kHz, d.h. in einer Sekunde kommen da 10000 Pulse rein. Der erste Impuls vom Zuendkabel startet das Fenster, du beginnst mitzuzaehlen, wieviele Impulse von den 10kHz reinkommen. Der naechste Puls vom Zuendkabel schliesst das Fenster wieder. Dein Zaehler ist sagen wir mal, bis 5000 gekommen. d.h von einem Impuls vom Zuendkabel bis zum naechsten sind 5000 ----- = .2 10000 Sekunden vergangen. 1 / 0.2 -> 5 Zuendkabelpulse pro Sekunde * 60 -> 300 Pulse/Minute Da du einen 2T hast, sind das dann auch 300 U/min Dreht der Motor schneller, so schaffen es in der Zeit vom 1. bis zum 2. Zuendimpuls nur noch, sagen wir mal, 340 verwertbare Ticks der 10kHz Frequenz zum Zaehler. 340 ----- = 0.034 10000 1 / 0.034-> 29.4 U/sec * 60 -> 1764 U/min Wie lange eine Messung dauert, ist also nicht konstant, sondern vom Messobjekt selbst abhaengig. Je schneller dieses dreht, desto kuerzer wird auch die Messzeit der 10kHz. Desto weniger Ticks schaffen es dann zum Zaehler. Jetzt kannst Du natuerlich mal ausprobieren was ein Ereignis mehr/weniger am Zaehler in der Berechnung fuer einen Unterschied macht. Bei 20000 U/min ist das Fenster nur noch 0.003 Sekunden offen. Von den 10kHz schaffen es grade mal 30 Pulse bis zum Zaehler. Sind es nicht genau 30 sondern 29, dann errechnet sich daraus eine Drehzahl von 20698 U/min, bei 31 Pulsen waeren es 19354 U/min. d.h. 10kHz sind viel zu wenig, du hast schon runde 700 U/min Abweichung bedingt durch den Messfehler. Also hoeher: 100 kHz. Dann schaffen es nicht 30, sondern eben 300 Pulse im vorgegeben Zeitfenster gezaehlt zu werden: 300 Pulse -> 20000 U/min 299 Pulse -> 20066 U/min 301 Pulse -> 19933 U/min schon besser. Aber egal was Du auch immer anstellst: Je kuerzer die Messzeiten werden, desto ungenauer wird das Ergebnis. Physik laesst sich nicht ueberlisten.
eine Kommastelle mehr mitnehmen, hieße ein Meßwert alle 10 sec. Das dürfte in vielen Fällen inakzeptabel sein. und 1980 statt 2000 wär immerhin ein ganzes Prozent Abweichung... 2000 Impulse/min wäre ein Impuls alle 30 msec. Lass einen Timer mit 1 MHz laufen (dann würden auch für 60 msec noch 16 Bit reichen), dann hast du eine Genauigkeit von deutlich weniger als 0,1%, und die Refreshrate sollte auch stimmen...
Naja, man könnte die Sache natürlich noch kombinieren. Man misst also die Zeit zwischenen mehreren Impulsen.
Ich messe bereits mit dem selben µP die Geschwindigkeit per Zeitmessung (Zeit zwischen zwei Impulsen). Dazu habe ich Magnete am Kettenrad angebracht, die ich mit einem Hall-Sensor "abtaste". Daruas ergibt sich eine Auflösung vom 1 Impuls pro 2,8 cm. Also eine recht gute Auflösung! Ich möchte die Drehzahl zum Einen als Wert auf einem Display anzeigen und zum Anderen als Balkenanzeige mit LED's darstellen. Da es sich um einen Rennmotor mit ziemlich harten Drehzahländerungen handelt ist mir eine schnelle Refreshrate (vor allem bei der Balkenanzeige) besonders wichtig. Im Gegenzug würde ich lieber Abstriche bei der Genauigkeit machen. Es soll halt nciht so aussehen wie ein Fahrradtacho, der alle 2 Sekunden den Wert neu anzeigt. Auch ein Flattern der letzten Stellen wäre OK für mich, wenn die Refresh-Rate gut aussieht! Hat btw. jemand Erfahrungen was die Messung der Zündimpulse angeht? Hat jemand eine Schaltung? Was habe ich für Spannungen auf der Leitung zur Kerze? Danke nochmal!
@excelsior, kommt mir irgendwie bekannt vor... schau mal in der Suche da war das Thema von mir schonmal komplett durchgekaut incl. Schaltplan Gruß Dennis
Das Zündkabel kann man vermutlich auch kapazitiv anzapfen. Dazu außen eine kleine Blechschelle drumherum legen, anschließen und dieses Signal über Widerstand und Z-Diode auf AVR-Pegel begrenzen. Zumindest wurde in uralten Bauanleitungen für Drehzahlmesser und Stroboskope das Zündsignal so abgegriffen. ...
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.