Posts by el bodo es loco

    Hier wie versprochen der nächste große Schritt.


    External Content youtube.com
    Content embedded from external sources will not be displayed without your consent.
    Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.



    Der Lohn der Mühe alles zu veröffentlichen ist, das hin und wieder Mitmenschen angeregt werden mit zu machen und

    wenn mehrere an einem Projekt arbeiten, ist das Ergebnis in dem meisten Fällen besser als wenn ein Einzelner dran arbeitet.


    Reiner Tasch aus der Vespa Szene ist auf die Zündung aufmerksam geworden und begann mit dem Nachbau als Digitale AC CDI.

    Schnell hat er fortschritte gemacht und ist an dem Punkt angekommen an dem der bisherige Code eigentlich keine individuellen 2 Takt Kurven zulässt.


    Es gibt 2 essentielle Probleme:


    1. Problem: es wird für die Zündtabelle etwa alle 1 Millisekunde (der Abstand ist einstellbar) eine Spalte in der Zündtabelle generiert, das bietet eine gute Auflösung im unteren Drehzahlbereich

    und eine miese im oberen. Für eine 4 Takt Kurve wo nach 3.000 bis 4.000 alles erledigt ist, reicht das , für einen 2 Takter ist das suboptimal.

    Der Code interpoliert dann feinfühlig zwischen den spalten, deshalb ist der Zündwinkel sehr stabil. Die Tabellengröße ist durch den Arbeitsspeicher des Prozessors begrenzt


    2. Problem: Der Slopefaktor, er bestimmt den Grad der Interpolation wird bei der Berechnung der Tabelle mit errechnet.

    er darf weder null noch negativ sein, ansonsten ist die Tabelle ab da unbrauchbar das ist der unsichtbare Grund wieso nicht alle wünsche in der Tabelle berücksichtigt werden.


    Reiner hat im nächsten Schritt mit Prozessoren mit mehr Arbeitsspeicher experimentiert, so konnten engere Spalten mit kürzeren Intervallen realisiert werden, nur hat der Slopefaktor immer noch einen Strich durch die Rechnung gemacht.


    Dann der Radikale Durchgriff:

    die Google Gemini Ki wurde gefragt, ob sie sich den Code mal ansieht und auf einen ESP32 adaptiert, der ESP32 Ist schnell, verhältnismäßig billig, hat viel Arbeitsspeicher und coole Features wie WLAN und Webserver. (leider auch Nachteile was Spannungsversorgung und Stabilität gegenüber elektromagnetische Störungen angeht).


    Was die Ki da ausgespuckt hat, ist äußerst interessant.

    Die Erstellung einer Tabelle wurde beibehalten, auch das alle Zündungs- relevanten Prozesse außerhalb der Loop Schleife (und jetzt auf einem anderen Prozessorkern) durchgeführt werden.

    es sind jetzt 100 µS zwischen jeder Tabellenspalte und somit auch die Möglichkeit eines individuellen Stützpunktes, das entsprechen ca. 250 rpm bei 12.000 Umdrehungen.

    Der Slopefaktor ist verschwunden, es können jetzt zwischen den 100µS Tabellenspalten große Sprünge im Zündwinkel überbrückt werden.


    Des weiteren bietet der Geimini Code eine Weboberfläche zum verändern der Zündkurve am Handy/Tablet sowie Livedaten wie Spannung oder Drehzahl.

    Die Drehzahlpunkte und Winkel werden im Code festgelegt und die Winkel können in der Weboberfläche verändert werden.


    Ich habe den Code um einen Signalfilter und der 2. Pickupflanke für Kickstart und Funke ab der ersten Umdrehung ergänzt, ich hatte auf meinem Zündungsprüfstand vereinzelt Geisterbilder, die nach Anpassung des Codes verschwunden waren.

    Auch meinen Quickshifter musste ich mir wieder gerade biegen.


    Reiner hat bereits viele Testkilometer in seiner Vespa und seiner Lambretta mit der Zündung abgespult.

    Ich habe ein paar unauffällige Proberunden gedreht und nehme sie jetzt in meiner RM in betrieb.



    Die Performance auf dem Zündngsprüfstand kann sich sehen lassen. Alle Wünsche werden auf das Grad genau umgesetzt, volle Interpolation zwischen den Punkten.

    10µS timing Genauigkeit, das ist um 5 µS schlechter als die 8 Bit Arduino CDi die nur um 5µS driftet, aber noch akzeptabel, auf dem Zündungsprüfstand äußert sich das in gelegentlichen

    Abweichungen von etwas mehr als einem halben Grad (0,72°). Des weiteren is an zu merken das die Drifts nur sporadisch bei einer einzelnen Umdrehung und ausschließlich nur in Richtung Spätzündung ausfallen .


    Hier gibt es noch Potential, aktuell benutzt der Code digitalWrite statt Registermanipulation (die bei der 8 Bit cdi mit hilfe der digitalWriteFast durchgeführt wird) jedoch soll der Gewinn

    am ESP32 im Nanosekunden Bereich liegen, daher habe ich es noch nicht probiert.


    Wie gewohnt sind in der zuendkurve.h alle Parameter an eine Aprilia RS125 mit Rotax 122 angepasst. Da immer zwischen 2 Punkten interpoliert wird, lässt sich eine prima 2 Takt Kurve erstellen.


    Da das mit Ki generierten Codes so eine Sache ist, habe ich zu Reiners Code auch die von der Ki verwendeten Bibliotheken mit angefügt, die einfach im Ordner ,wo auch alle Arduino sketche hinterlegt sind, im Ordner Libraries eingefüg werden.

    zum Beispiel C:\Users\wer auch immer\OneDrive\Documents\Arduino\libraries.


    Als Auduino IDE verwende ich Version 2.3.8, habe entsprechend den Boardmanager für die ESP32 Boards installiert und das "ESP32 DEV Module" ausgewählt.


    Des weiteren die Bibliotheken <WiFi.h>, <LittleFS.h> und <ArduinoJson.h> suchen und installieren.

    Bei der mitgelieferten Asyncwebserver kann es passieren, das Arduino die updaten will, nach dem Update kann es sein, das sich der Code nicht mehr kompilieren lässt, daher unterbindet besser den Updatewunsch von Arduino.


    Das Wlan ist permanent aus und wird über einen Schalter an PIN 16 aktiviert, dann leuchtet eine blaue LED auf dem ESP32


    Das Wlan heißt "Tasch performance CDI", das Passwort lautet "12345678"

    Die IP Adresse 192.168.4.1 im Browser öffnen und fertig.


    Die Loop Schleife läuft auf einem anderen Kern und ist mit Delay(); ausgebremst. Hier ist noch genug Platz für Spielereien wie Auslasssteuerung, Schaltblitz, Powerjet, Display ect...


    Hardware kommt im nächsten Post


    Bodo_CDI_13_Points_ESP32_v1_3.zip

    Bei einem Fahrzeug mit Seitenständer Überwachung wie der MPB oder SF würde eine Fehlender/defekter Neutralsensor dazu führen das bei Ausgeklapptem Seitenständer und eingelegtem Neutral Gang kein Zündfunke kommt, bzw. bei Wackelkontakt würde sie beim Gas geben heftig stottern, aber eben nur im Stand bei ausgeklapptem Ständer.

    Dein Luftfilter Schnorchel ist verkehrt herum eingebaut, das kann ein Stottern bei 5.500 rpm verursachen das sich durch Abstimmung alleine nicht immer beseitigen lässt und generell einen dazu bringt den Teillast Bereich grenzwertig mager ab zu stimmen.

    Bei der RM bedeutet "Offen" der Auslieferungszustand.


    Sollte sie mit 15 PS eingetragen sein und wieder auf 24 PS gebracht werden, handelt es sich aus Sicht eines Gutachters um eine Rückrüstung in den Originalzustand mit 24 PS, das sollte bei TÜV/Dekra/KÜS/GTÜ kein Problem sein, da es hier eher zu Austragungen von Drosselmaßnahmen aus dem Fahrzeugschein kommt.


    In 2 Wochen sehe ich meine RM wieder, dann kann ich die Scheine studieren.

    Verschleißzustand einer Kurbelwelle ist immer schwer im eingebauten Zustand ab zu schätzen aber es klingt als laufen die KW Lager schon rauh. Wenn alles mehr als 16.000 km runter hat, würde ich es erneuern.


    Vertex und Meteor Kolben funktionieren super, Wössner steht gerade wegen Ringpin Schwund unter Beobachtung ist aber normal auch ein guter Kolben.


    Den 140er Italkit mit möglichst wenig Verdichtungsverhältnis fahren. Der Kolben ist hauchdünn und verträgt nicht viel temperatur. Mit niedriger Verdichtung und Serienzündung kann der Kolben schon 6.000 km alt werden.