Messen der Motor RPM über Zündsignal

Hallo,
ich habe jetzt einige Forum-Posts gelesen, habe aber nirgendswo eine eindeutige Antwort gefunden.

Ich will die RPM einer 2-Takt Vespa messen. Dazu will das Zündsignal der Zündkerze verwenden (wenn es eine bessere, genauere alternative gibt auch gerne was anderes).
Ausgelesen werden soll es voraussichtlich mit einem ESP8266 (D1 Mini), da per WiFi ein Graph die Daten der Messungen so schnell es geht versendet werden sollen, um einen möglichst Verzögerungsfreie und präzise Darstellung zu ermöglichen.

Über den Code habe ich mir noch nicht viel Gedanken gemacht, aber interrupt() würde sicher anbieten.

Ausserdem habe ich viel gehört das bei den Zündimpulsen viel noise usw. auftritt und unbedingt eine Filterschaltung her muss, aber ich weiß nicht wie filtern oder was filtern. Es gilt generell die Frage ob es Kapazitiv (Spannung) oder Induktiv (Strom) zu messen ist.

Diese Schaltungen habe ich ebenso gefunden und die sieht sehr vielversprechend aus. (wobei manche auch einen Opto-Koppler empfehlen). Mich stört das bei den Komponenten in der Mitte nur rote Anmerkungen sind aber keine Verweise darauf. Welche Bauteile sind das? Kann diese Schaltung verbessert werden und ist diese für mich überhaupt von Bedeutung?

Vielen Dank für die Hilfe!

Im englischen Teil des Forum müssen die Beiträge und Diskussionen in englischer Sprache verfasst werden. Deswegen wurde diese Diskussion in den deutschen Teil des Forums verschoben.

mfg ein Moderator.

Hallo,
vermutlich willst Du mit der Vespa ja auch fahren, dann stellt sich natürlich die Frage wo der Strom für Deine Messeinrichtung her kommen soll. Ich sehe das ehr kritisch, da gibts jede Menge Spannungsspitzen die Dir die Elektronik schnell zerbröseln.

Wenn Du das wirklich durchziehen willst dann mach das mit einer eigenständigen Battere oder Powerbank.
Für die eigendliche Messung da kommst Du auch gut ohne Interupt aus . 6000U/min entspricht bei einem 2.Takter ja mal gerade100 Hz. Du misst also etwa 5-100Hz. Nun stellt sich die Frage wie hoch Du Auflösen haben willst, auf eine Umdrehung ? Ich denke eine Periodendauermessung ist da gut geeignet. Messung der Zeit zwischen zwei Impulsen, und dann einen gleitenden Mittelwert. Such mal nach Frequenzmessung hier im Forum @my_xy_projekt hat das vor einiger Zeit das Thema mal behandelt, aber es taucht immer wieder auf.
Wohin soll das per WiFi übertragen werden, was hast Du da vor ? Graf auf dem Handy oder was soll es werden.
Heinz

Im Deinem link ist doch alles beschrieben sogar der Aufbau gezeigt. Einziges was man beachten muss ist die halb so große Spannungsspitze in den Diagrammen deshalb als "Umformer" wird der 555 benutzt

Au man, Dein Vertrauen in mich teile ich nicht. :wink: Ich mach hier immer wieder mal was, was sicher unkonventionell ist, aber da gibt es wirklich genügend.

@VACmeister
Impulse messen bei nem 2Takter geht dann schon in den 6000er-7000 Bereich.
Da ist dann ein Interrupteingang möglich, aber nicht unbedingt notwendig. Wurde Dir bereits erläutert.
Wichtig ist nur zu wissen, wie lange die Level anliegen.
Bei einer Zündung könnte das zählen auf herkömmliche Art scheitern, da der Level für den Zündimpuls evtl. nicht lange genug anliegt.

Die von Dir verlinkte Hardwarelösung ist schick, da kannst Du Dir aussuchen, was Du machen willst.
Wenn Du eine Unterbrecherzündung oder eine elektronische mit getrennter Zündspule hast, würde ich die Variante vorziehen.

Ansonsten ist beim 32bit-System die Verarbeitung einfacher, da die Übernahme des Zaehlers mit einem Taktzyklus erfolgen kann.

Alles keine Raketentechnik :wink:

Fahren wäre nur optional... Das Projekt soll die Leistung ermitteln und das Ding steht dann sowieso auf einer Rolle. Die Stromversorgung würde dann entweder über ein Netzteil, USB-Port des Laptops oder einer Powerbank kommen.

Vom Programm her hätte ich eh angedacht die Zeit zwischen zwei Interrupts zu messen und damit die RPM zu ermitteln.

Die Daten sollten Universell verwendbar sein. Das heißt Graph auf Handy oder Laptop oder sogar eine .csv Datei. Wichtig ist hier das man zwei Graphen übereinander legen kann um zu zu vergleichen. Ich dachte zuerst an InfluxDB und Grafana. Das benötigt aber einen externen Server und das wäre zu komplex für eine einfache Handhabung des Geräts.

ANMERKUNG:
Es ist übrigens nicht so notwendig, dass die Daten in Echtzeit ausgegeben werden. Es reicht wenn ich den Aufzeichnungsvorgang per Knopfdruck starte, dann den Motor aus Idle-RPM hochdrehe und dann abfallen lasse und per Knopfdruck die Messung wieder stoppe. Das dann jeweils nach Änderungen und dann die einzelnen Messungen vergleichen.

Ja, dass Ding ist das ich nicht gewusst habe ob diese Schaltung für mich so funktionier.

Ausserdem weiß ich nicht was diese Roten Punkte für eine Bedeutung haben.

Nö. Aufmachen, Impulse zählen, zumachen.
U errechnet sich aus der Öffnungszeit und den gezählten Impulsen.

Ich habe zwar ein Oszilloskop zur Hand. Jedoch ist keine Vespa. Das Projekt soll für einen Kollegen realisiert werden und ich kenne mich dementsprechend nicht so gut mit der Zundart usw. von Vespas aus. Ich würde die Induktive Variante (die Schaltung welche ich reingepostet habe) verwenden.

Also mit dem Startknopf input aufmachen.... und so lange impulse zählen bis das Stopknopfsignal kommt. Daraus die RPM errechnen (müsste mir bitte erleutert wereden) und über WiFi versenden?

Vielen Dank übrigens für eure Bemühung!

Ne, das las den µC alles machen.
Messung Start
Und dann z.B. im z.B. 0.5 Sek Takt

  • Zaehler auf 0 und Startzeit merken
  • wenn aktuelle Zeit >= 500ms
  • Zaehler übernehmen, tatsächliche Laufzeit ermitteln
  • Zaehler auf 0 und Startzeit merken
  • vorherigen Zaehler auswerten
  • wenn aktuelle Zeit >= 500ms
  • Zaehler übernehmen, tatsächliche Laufzeit ermitteln
  • Zaehler auf 0 und Startzeit merken
  • vorherigen Zaehler auswerten
    usw...

Deine roten Sternchen sind die Bauelemente, die den Ersatz zu den ausgebauten aus der ersten Applikation darstellen.

Also diese Bauteile komplett weglassen?
Dann würde ich eine PCB designen, bestellen und zusammenstellen und mit einem Funktionsgenerator oder so Testen?

Das removed versteh ich auch nicht. Entweder sie sind draußen aus dem Schaltplan oder drinnen aber nicht so komisch drinnen mit Anmerkung.

Was meinst du mit tatsächliche Laufzeit ermitteln? Ob es wirklich genau 0.5 Sekunden waren?

Ich messe dauerhaft die RPM, gebe aber nur die Werte zwischen den Start und Stopsignal aus oder?

Die Rote Punkte bedeuten Anpassen, wen z.B am Viertakter gemessen wird passt der 47nF nicht mehr wie auch der 3K3.
Bin der Meinung das ein Kondensator fehlt

Wir haben hier die Schaltung mit Thyristor :wink:
Find ich besser, der 555 bekommt sauberen Signal als mit Transistor, die Frage ist ob er schnell genug ist für hohe Drehzahl.
Datenblatt Studieren und rechnen :wink:

Das bezieht sich auf die erste Schaltung! Die ist eine reine Transistorschaltung.

Die Thyristorschaltung nimmt das als Grundlage, schmeisst die Teile für die Transistorbeschaltung raus und die mit dem *Sternchen sind die, die für die neue dazu kommen.
Auch hier nochmal nachzulesen.

Ich würde das erstmal auf nem Steckbrett bauen.

Tja die neste Frage ob der 555 schnell genug ist kann nur bis 100kHz, ich wurde ein 7404 nehmen in Reihe schalten, in der Mitte einen Kondensator setzen, fertig

6000 Imp/Min.....
100 Imp/Sek -> 100Hz....

Stimmt :wink:
Dan langweilt sich sogar der 7404 :wink:

Hallo,
ich bin mir nicht sicher was der 555 macht. Ich denke er läuft als Monoflop um den Zündimpuls etwas zu verlängern und ein Rechteck draus zu machen. Damit solltest der Impuls dann lang genug sein damit man ihn auf jeden Fall mitbekommt auch ohne ISR.

Letztlich musst du eine Flanke ( z.b Wechsel von Low auf High) erkennen und die Zeit zwischen zwei wechseln messen. Geht mit millis () oder micros(). Recht einfach und löst hoch auf.
Eine normale Tormessung , Impulse zahlen die in einer festgelegten Zeit anfallen , wird nicht reichen.
Bei zB 10 Hz kommen 10 Impulse in einer Sekunde an . Damit kann der Messwert 10 oder 11 sein. Damit ist dann deine Anzeige 600 U/min oder 660U/min. Das willst du sicher nicht so haben. Aber zu dem Thema gibt's reichlich im Netz.

Zum Versenden der Daten gibt es viele Möglichkeiten. Was du da machen willst hängt auch davon ab was auf der anderen Seite vorhanden ist und was du Dir da zutraust.
Recht schnell ist z.B UDP . Letztlich brauchst du was auf dem Handy oder PC was die Daten entgegen nimmt und verarbeitet.

Recht simpel ist sicher ein Webserver auf dem ESP Daten mit Fetch versenden und in der HTML mit einem Chart anzeigen. Die Lösung ist aber nicht besonders schnell.

Heinz

Genau das macht er.
Ein 7404 hat 6 Inverter, mein Vorschlag war alle 6 in Reicheschalten und zwischen 3 und 4 ein Kondensator setzen zu GND der Verlängert das High Signal, so was haben wir vor fast 40J gemacht.
Der 555 war schlecht zu bekommen, bis die Bulgaren haben ihn masseweise produziert.

Wow der 7404 kostet jetzt bei Reichelt 3€ :woozy_face: dan doch besser den 555 nehmen

Das geht thematisch vorbei.
Die Ungenauigkeit wird aufgeholt.