CDI Programmierbar im Eigenbau

  • Update zum IGBT:


    Dem IGBT einen kleinen Kühlkörper verpasst und dann eine Runde mit hohen Drehzahlen gedreht.


    Funktioniert hervorragend :smiling_face_with_heart_eyes: Kühlkörper war nach der Fahrt kaum erwärmt.


    Da mich die Erwärmung trotzdem noch stört, werde ich noch verschiedene IGBT testen, aktuell ist ein 400V 20A verbaut, es wird noch ein 1200V 50A und ein 600V 60A getestet.


    Vorteil Thyristor:


    * kann direkt vom Mikroprozessor angesteuert werden

    * Sehr robust

    * keine Erwärmung


    Nachteil Thyristor:

    * Einmal angesteuert/gezündet muss er gelöscht werden, klappt das nicht, schließt er die Hochspannungsquelle bis zum neustart der Schaltung kurz


    Vorteil IGBT:

    * selbstsperrend: schaltet Quasi wie ein Relais, keine Steuerspannung, keine leitfähigkeit.

    * Mikroprozessor kommt offensichtlich mit der IGBT Schaltung besser klar, denn mit dem Thyristor war der Mega2560 garnicht fahrbar.


    Nachteil IGBT:


    * Benötigt eine höhere Steuerspannung und somit eine Treiberschaltung

    * Erwärmt sich mehr als der Thyristor


    Jetzt werden noch verschiedene IGBT getestet,

    Es wird auch getestet ob es jetzt überhaupt noch die Abschaltung vom DC/DC Wandler braucht (das würde den Umbau des DC/DC vereinfachen)


    Und dann kommt ein neuer Prototyp mit Arduino Nano inklusive neuem Schaltplan.

    Nur was knattert und stinkt, mir Freude bringt :biggrin:

  • Kurzes Update:


    einen Passenden IGBT habe ich gefunden

    mit einem FGH60N60SFD wird nix mehr warm.


    Ich habe meine NANO CDI auf den FGH60N60 umgebaut, auf der Werkbank 15 Minuten bei 13.200 rpm laufen lassen, IGBT hat sich ohne Kühlkörper auf 36°C erhitzt.


    Eine Tagestour von ca. 100 km problemlos absolviert, die IGBT Zündung macht was sie soll.



    Softwaretechnisch habe ich die MEGA CDI um einen Quickshifter erweitert (der QS funktioniert dann auch auf dem NANO) die QS Funktion wird nächstes Wochenende ausgetestet.


    Jetzt wird noch das Hardwaredesign geändert, denn durch die Verwendung eines IGBT ist die Abschaltung des DC/DC Wandlers während der Zündung theoretisch nicht mehr erforderlich und der Chinesiche Wandler müsste zum Nachbau der Schaltung nicht mehr aufwändig umgebaut werden, was den Nachbau der Zündung erheblich erleichtern würde.


    Wenn das klappt hätte ich dann tatsächlich eine 99%ig konstante Zündspannung/Zündenergie, keine Z-Dioden und keine durchgeschlagenen bzw, gefährdeten Kondensatoren.

    Nur was knattert und stinkt, mir Freude bringt :biggrin:

  • Update:


    mittlerweile den 4. Prototyp gebaut jetzt mit IGBT und unverändertem China DCDC.

    Pro:

    Der DCDC Wandler muss jetzt nicht mehr umgebaut werden

    Wie erwartet bleibt die Zündenergie jetzt bei jeder Drehzahl konstant


    Kontra: der 20 Watt/220 Ohm Ladewiderstand erwärmt sich und muss gekühlt werden.


    Quickshift funktioniert tadellos



    Stromverbrauch der einzelnen Zündschaltgeräte:


    Original QCA91 = ca. 21mJ , 12 Watt Stromverbrauch bei 13.200 rpm

    Nerdspark mit Thyristor und abschaltbarem DCDC= ca. 35mJ (Einstellbar) 13 Watt Stromverbrauch bei 13.200 rpm

    Nerdspark V2 mit IGBT und naturbelassenen China DCDC= ca. 24mJ (Einstellbar) 14 Watt Stromverbrauch bei 13.200 rpm

    Möhrle CDI = ca. 15mJ (Einstellbar) 8 Watt Stromverbrauch bei 13.200 rpm



    Hier der Schaltplan:


    Jetzt muss noch die Art und Weise, wie die Zündverzögerung berechnet wird überarbeitet werden, da aktuell Zündzeitpunkt wünsche in hohen Drehzahlen nicht vom Programm berücksichtigt werden weil der Code nur alle 1 Millisekunden eine neue Tabellenspalte erzeugt.

    Nur was knattert und stinkt, mir Freude bringt :biggrin:

  • sehr geiles Projekt! Ich hätte Lust die Zündung an meiner CR500 zu verbauen. Der Kickstarter macht bei vollem Hub aber nur ungefähr eine Motorumdrehung.

    Hast du mal getestet wie sich die Zündung bei kleinen Startdrehzahlen verhält? Braucht die Zündung eine volle KW-Umdrehung oder genügt auch weniger, um bei kleinen Drehzahlen relativ genau zu zünden?

  • sehr geiles Projekt! Ich hätte Lust die Zündung an meiner CR500 zu verbauen. Der Kickstarter macht bei vollem Hub aber nur ungefähr eine Motorumdrehung.

    Hast du mal getestet wie sich die Zündung bei kleinen Startdrehzahlen verhält? Braucht die Zündung eine volle KW-Umdrehung oder genügt auch weniger, um bei kleinen Drehzahlen relativ genau zu zünden?

    Uff, an dicke Einzylinder mit Kickstart habe ich gar nicht gedacht. Aktuell zündet die CDI erst bei der 4. Umdrehung. Für eine Zündung ab der ersten halben Umdrehung müsste wie bei der Nippon CDI in den unteren Drehzahlen die 2. Pickup Flanke mit ausgewertet werden :thinking_face:.

    Nur was knattert und stinkt, mir Freude bringt :biggrin:

  • Du kannst auch eine Startdrehzahl vorgeben und dann ab dem ersten Pickup-Impuls zünden, dann läufts beim ersten Kick.


    Lg

  • Nochmal eine Zusammenfassung aller Aktuellen Erkenntnisse:


    * Die IGBT Zündung , also der 4.e und aktuellste Prototyp der Arduino Zündung, lief dieses Jahr 3.000 Kilometer absolut Störungsfrei, dabei auch viel Langstrecke mit mehr als einer Stunde Fahrt bis zum nächsten Tankstop.



    * Im angehangenen Code wird bei einem statischen Pickupversatz von 36° v.OT folgende Zündkurve erreicht (Rote linie):



    Ich hoffe das ich in den kalten Monaten etwas Zeit habe weiter dran zu arbeiten. Geplant ist eine Auswertung der 2. Pickupflanke für einen Zündfunken ab der ersten Umdrehung (für Kickstart Motoren) und eine Überarbeitung der Zündkurve da, immer noch Zündkurvenpunkte in oberen Drehzahlen nicht berücksichtigt werden, was beim 2 Takter sehr blöd ist da hier im oberen Drehzahlbereich die Musik spielt und die Zündkurve in feinen Drehzahlabständen enorme Veränderungen im Zündwinkel durchläuft.

  • Hallo bodo,


    ich habe damals mit einem Atmega eine Zündung programmiert. Ich habe die original Pickup Flanken auf einem Interrupt eingelesen, welches bei Eingang den Thyristor schaltet. Erst 2000U/min hatte ich ein Flag gesetzt, welches diese Funktion weg nimmt und auf berechnete ZZP geht. Damit war das Thema niedrige Drehzahlen (Kickstart) vom Tisch…und man spart sich die Eingangsbeschaltung für eine zweite oder negative Pickup Flanke…

  • Hallo bodo,


    ich habe damals mit einem Atmega eine Zündung programmiert. Ich habe die original Pickup Flanken auf einem Interrupt eingelesen, welches bei Eingang den Thyristor schaltet. Erst 2000U/min hatte ich ein Flag gesetzt, welches diese Funktion weg nimmt und auf berechnete ZZP geht. Damit war das Thema niedrige Drehzahlen (Kickstart) vom Tisch…und man spart sich die Eingangsbeschaltung für eine zweite oder negative Pickup Flanke…

    Klingt nach einem sehr brauchbaren Ansatz, im Code der Nerdspark ist das, was du beschreibst, als "Start" definiert. unterhalb 750 rpm spielt die zzp Tabelle keine Rolle.

    Jedoch gibt es in Nerdspark Code eine strenge RPM Order:

    * unterhalb 750 rpm findet keine Beachtung der Tabelle statt

    * unterhalb 300 rpm gilt der Motor jedoch als abgestellt

    * erst nach 4 Umdrehungen (größer 300 rpm) steht überhaupt fest, wie schnell bzw. mit wieviel rpm der Motor überhaupt dreht. und der erste Funke kommt frühestens nach der 4. Umdrehung da erst nach der 4. Umdrehung fest steht, ob der Motor die Soll Kriterien für einen Zündfunken erreicht und in der Praxis dreht der Anlasser erstmal 3 mal leer bis der Motor zündet.



    Ich könnte jetzt entweder die 300 rpm Order kippen, oder eine "Kickstartroutine" implementieren die ab der ersten Pickupflanke feuert.

    :nerd_face:


    Aber mit der 2. Pickup Flanke könnte ich halt gezielter die 0° v. OT beim an kicken anpeilen und einen kick-back besser vermeiden.


    Edit 22.10.2023: den quatsch mit dem Funken ab der 4. Umdrehung hab ich doch nicht mehr drinnen gehabt, sie funkt sowohl mit altem als auch mit neuem Code bereits ab der 2. Umdrehung, wenn zwischen erster und zweiter Umdrehung weniger als 200 millisekunden (300 rpm) vergangen sind.

    Nur was knattert und stinkt, mir Freude bringt :biggrin:

    3 Mal editiert, zuletzt von el bodo es loco ()