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 ()

  • Wollte noch ein letztes Update zur 8 Bit CDI geben.

    Die 8 Bit CDI ist inzwischen zu einem prima Ersatzteil für die RS 125 Euro2 Nippon Denso CDI verkommen.


    Sie wurde erweitert um die 2. Pickupflanke aus zu werten, für Funken ab der aller ersten Umdrehung zb. beim Kickstart.

    Der Quickshifter hat sich in der Praxis bewährt, funktioniert besser als das originale System meiner KTM RC390 und ist geblieben. (feste 90 Millisekunden nur oberhalb 6.000 rpm und mindestens 1,9 Sekunden nach dem letzten Quickshift auslösbar)

    Sie Hat einen MAP Switch bei dem zum rumprobieren zwischen der Nerdspark (grün) und Nerdspark SP (rot) Kurve gewechselt werden kann (Licht ist an, wenn Nerdspark SP aktiv ist)



    Der Code für gültige individuelle Zündkurven wurde jedoch nicht verbessert.

    Arduino_CDI_V2.1.zip

    Der heilige Gral eines Codes der von punkt zu punkt Interpoliert und jeden Stützpunkt vom Anwender berücksichtigt, eine Anwenderfreundliche Veränderung der Zündkurve bietet und maximale Drifts nur im unteren einstelligen Mikrosekundenbereich zulässt, ist leider nicht in der 8 Bit Arduino Welt gefunden.


    Dafür arbeitet die 8 bit sehr stabil, sehr driftarm (0,3° bei 12.000 rpm), wenn der aktuellere Bootloader des Arduino installiert ist, fährt sie nahezu in Echtzeit hoch und kann auch an Batterielosen Kickstart Fahrzeugen verwendet werden.





    Grund für diesen Post ist,

    dass mich endlich mal mit dem Thema DC DC Wandler beschäftigt habe, um die Hochspannungsquelle zu Gunsten kompakter Bauweise direkt mit auf der Platine zu haben, die Konstruktion eines "Fly Back" Konverters ist eine Wissenschaft für sich. Ich habe mal 2 Systeme konstruiert und gegeneinander in`s Rennen geschickt:


    Als Trafo habe ich ein Asia Netzteil Trafo in Bauform EE13 entdeckt, der gut bis 7 Watt Ausgangsleistung belastbar ist:


    10 Stück EE13 12V 700MA Hochfrequenztransformator - AliExpress


    Der Winzling hat 11 Windungen Primär und 160 Sekundär und hat mit 1:15 Übertrager Verhältnis das gleiche wie der Trafo auf dem von mir empfohlenen China DC DC Wandler (die haben 10 zu 150 Windungen)


    Angetreten ist ein Design mit dem Oldschool Urgestein MC34063, ein IC für sogenannte "FlyBack" Konverter, das sind DC DC Wandler mit Trafo.

    Da der MC34063 für den Direkten Anschluss an den Trafo ohne extra MOSFET konzipiert ist, Musste dieser mit einem BC807 als Externe Treiberstufe zusammen mit 1N914 Diode einem zum entladen des MOSFET Gate ergänzt werden.






    Der Kontrahent: der weit verbreitete moderne UC3843, der auch in den von mir gerne verwendeten China DC DC Wandlern steckt und von dessen Schaltplan ich mich habe inspirieren lassen, inklusive slope Kompensation mit BC817 für duty cycle größer 50%.







    Fazit: beide Systeme funktionieren einwandfrei, beim MC34063 könnte man den shunt Widerstand von 0,1 auf 0,07 bis 0,05 reduzieren, die MC34063 IC´s reagieren irgendwie alle sehr unterschiedlich. Ich habe mich auf 160V Ladespannung am 2,2 µF Kondensator festgelegt, das ergeben 28mJ Zündenergie, recht wenig aber völlig ausreichend für einen kleinen 2 Takter, wer 4 Takter zünden will, sollte eher auf 200V an 2,2µF oder 250V an 1,5µF hoch gehen, das macht dann ca. 45mJ Zündenergie.


    Im Primärkreis werden Spannungen im Bereich von 60 bis 90 Volt induziert und liegen damit unter der Durchbruchsspannung des MOSFET von 100 Volt, daher wurden keine begrenzenden Maßnahmen wie zb. ein "Snubber" getroffen.


    Im Sekundärkreis liegen an der US3M Gleichrichter Diode ca. 580 Volt an, daher habe ich die 1000V resistente US3M gegenüber der schnelleren aber nur 600V resistenten ES3J Diode gewählt.




    Hier mal die Messwerte verschiedener CDI mit verschiedenen DC DC Konverter Typen zum Stromverbrauch und die theoretische Effizienz bei 13.200 rpm: gemessen wurde an einer 14,5V Spannungsquelle



    ModellLeistungWirkungsgrad
    UC3843 (28mJ)9,0W68,9 %
    China DC DC (28mJ)7,9W78,5 %
    MC34063 (28mJ)8,4W74 %
    Nippondenso QCA91 (18,6mJ)8,4W48,7 %



    Für den Belastungstest wurden beide Schaltungen 30 Minuten bei 35°C draußen auf 13.200 rpm bei 28mJ betrieben, die Maximale Erwärmung war beim Trafo auf 55°C


    Mit 44mJ sind es bereits 60°C nach 7 Minuten (13.200 rpm), das ist mir zu viel, da ist es besser den China DC DC zu verwenden oder eben ein größerer Trafo als der EE13 (zb. der des China DC DC) aber 15 min bei 9.000 rpm waren trotzdem drin, ohne das es anfing nach Strom zu riechen.

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