Ich bin gerade dabei eine CDI Zündanlage zu entwickel die für 1 Zylinder 2 und 4 Takt Motoren geeignet ist. Die Zündelektronik besteht aus einem Atmega8 der von einem Hallsensor(latch) das signal bekommt (dies könnte man auch für Unterbrecher konfigurieren). Auf dem Atmega erfolg die Drehzahlmessung und dann die Zündzeitpunk errechnung. Der Zündzeitpunkt darf Maximal +-50° von OT betragen. Wobei ab 19000rpm nur noch Maximal 45° vor OT da sonst die Berechnung nicht mehr im Zeitfenster liegt. Der geber Impuls muss dabei 60° vor OT entstehen mit einer steigenden Flanke. Und auf OT ein zweiter Impuls mit einer Fallenden flanke. So wird gewärleistet. Dass der Zündfunke beim starten des Motors auf OT fällt. Es kann im betrieb zwischen 3 unterschiedlichen Zündkurven gewählt werden. Die neue Kurve wird innerhalb einer Umdrehung geladen. Maximal Drehzahl ist mit 20000rpm für eigentlich alle halbwegs normalen Motoren ausreichend. Zu dem System gehört eine Software die ich in C# geschrieben habe. Mit ihr können Zündkurven auf dem PC gespeichert und geladen werden. Zu dem werden die Kurven Grafisch in einem Diagramm angezeigt. Es können Kurven zur Zeit Linear Interpoliert werden. Später folg noch eine Kubische Spline Interpolation. Mit hilfe eines einfachen RS232 Programmer oder später per USB werden die Daten auf den Atmega8 geschrieben. Wobei ein von mit entwickeltes Komunikations Protokoll verwendet wird. Es wird nicht der Atmega neu programmiert! Einganz wichtiger Punkt ist die Veränderung der Aktiven-Kurve wärend des Betriebes. Also wenn der Motor läuft lässt sich in die Zündkurve eingreifen und Optimieren. Die erzeugung des Zündfunkens folgender Maßen ab. Die Grundplatte(Lichtmaschien) liefert eine 300v wechsel Spannung (bei Motorrädern und Krads so üblich) dies wird gleichgerichtet und in einem "WIMA MKP10" gespeichert. Der Atmega ermittelt den Zündzeitpunkt und schaltet über einen "MOC3032" einen "TIC246M" (Wechselspannungs Tick). Der Kondensator bildet dann einen Schwingkreis mit der Zündspule. (CDI) Mit der richtigen Elektronik könnte man auch eine TCI Zündung realisieren. Mein Problem ist die Elektronik. Ich möchte den Prototypen schon gerne auf eine Geätzteplatine löten. Allerdings kann ich keine Layouts zeichnen. Eagle habe ich mir mal angeschaut steige ich aber nicht durch. Den Schaltplan werde ich die Tage mal von hand zeichnen oder so und dann Anhängen. Also wenn jemand interesse hat so was zu machen könnte er sich ja bei mir melden. Ich Plane auch eine version für Modellmotoren zb Flugzeuge mit Kettensägenmotoren oder so was in der richtung. Und Kritik zwecks Optik von der GUI würde ich micht freuen. Dies ist immerhin mein erstes Programm für PC.
So ich habe mich mal in Eagle versucht und das ist bis jetzt herraus gekommen. Ich hab keine Wert an die Bauteile geschrieben da ich nicht genau weiß was denn zu empfehlen ist.
Das Projekt macht einen sehr interessanten Eindruck, auch wenn ich kein Modellbauer oder Krad-Fahrer bin. Wenn ich mehr Zeit hätte, würde ich rein aus Interesse mitmachen wollen. Für die Eingabe der Kurven (die vielen Edit-Controls links) würde ich mir etwas dynamisches einfallen lassen, wie eine Zeile zum Eingeben neuer Werte und einer Listbox mit den Einträgen und "Editieren", "Löschen", etc.. im Kontext-Menü. Im "Verbinden"-Dialog würde ich einen ganz normalen Progress-Bar nehmen und mir die Mühe machen, den prozentualen Anteil der Übertragung zu berechnen und anzuzeigen. Hauptfenster: "interpolieren" statt "Interpolieren" Im Config-Dialog: "Hinweis" statt "Hinweiß" Eine Frage zur Schaltung fällt mir ein: Warum hast Du PD2 (INT0) und PD3 (INT1) verbunden?
Sorry erstmal für die Rechtschreibfehler. Werde dass natürlich sofort verbessern. Int0 und Int1 sind zusammen, weil Int0 auf steigende Flanke reagiert und Int1 auf fallende Flanke. Wenn der Motor aus ist, ist nur Int1 aktiv und der Interrupt für die zündung auf OT wird unabhängig der Drehzahl ausgelöst. Wenn die Drehzahl auf über 250rpm steigt gibt es keine Timer1 Overflows mehr und Int1 wird deaktiviert ,Int0 aktiviert. Damit bekommt das Programm dann messbare Werte und kann den ZZP berechnen. Also Int1 ist auf OT und Int0 60° vor OT. Die "Edit Controls" also Textboxen lassen sich per Pfeiltasten steuern. Pfeil-Links,Rechts nächste, vorherige Textbox. Pfeil-Hoch,Runter Wert +- 0,1°. Das es nervig ist alle wert einzutragen ist mir klar. Deshalb kann man ja Interpolieren. Mit 6 werten kann man schon verwendbare Kurven erzeugen. Wenn man auf Datei klick kann man dort zwischen Neu Öffnen Speichern Speichern Unter wählen. Bei Neu wird derzeit die ausgewählte kurve gelöscht sofern gespeichert. Speichern kann man die Kurven im *.zzp format ist aber uncodiert.
Wenn man auf Verbinden drückt sendet die Zündanlage ihren Namen in diesem Fall "MM" und die Version der Software "V 1.0.0". Zu dem wird gesendet welches die Aktive-Zündkurve ist auf der Zündung. Dies geschieht recht schnell und da fand ich eine Marquee Progressbar schöner. Hinter dem Wort Verbinde ist ein Punkt zu sehen dieser wird bis 4 Punkte aufgebaut und beginnt dann wieder von vorne. Dies geschieht immer dann wenn Daten gesendet oder empfangen werden. Wenn man die Kurven liest oder schreibt gibt es eine Progressbar die den tatsächlichen Vortschritt anzeigt.
Interessantes Thema. Wollte ich auch mal machen, habe aber keine zeit zum Programmieren... Einige Anmerkungen zum Schaltplan: - D1..4 ist ein 400V 1A Typ. Das könnte knapp werden. Ist zu der "300v wechsel Spannung" die Frequenz und der Strom bekannt? - Jeder VCC Pin des AVR brauch einen 100nF(!) - AVCC solltest du auch Anschließen (wie VCC mit 100nF) - GND an AVR Pin 21 fehlt - IC2 fehlt am Eingang 100nF Wo kommt die Spannung von Pad 6/7 her? - Wie gross soll C3 sein? - Bei T1 währen 180 Ohm am Gate empfehlenswert - Ein Max232 für die RS232? oder gleich USB? - Status Led? - Eingänge zum Umschalten der Kurven? Generell vermisse ich Bauteile zum Schutz der Schaltung. Eine Drehzahlbegrenzung hast du vorgesehen?
> Ich Plane auch eine version für Modellmotoren zb Flugzeuge
Hatte auch schon soetwas ähnliches mal gehabt, allerdings ganz brutal in
C geschrieben unter Windows und der dazugehörigen API.
Habs aber wieder verworfen, da ich feststellen musste, dass die
elektronische Zündung für Glühzündermotoren aus dem Modellbau eigentlich
ziemlich überflüssig bis hin zu sinnlos war, da diese nur noch mit
Normalbenzin funktionierten und des öffteren überhitzten.
So ein Programm in Verbindung mit Zündkurven würden erst dann richtig
Spaß machen, wenn man auch noch elektronische Miniatureinspritzdüsen
hätte, mit denen man Vor-, Haupt-, Nach- und Mehrfacheinspritzungen
realisieren könnte, erst dann würde das Ganze im wahrsten Sinne
Turbo-Spaß machen.
Also die Hinweise über die schaltung werde ich mal einbeziehen. Aber ganz ehrlich hmm Drehzahl begrenzung? Hast du schon mal versucht einen Motor mit ZZP 45° nach OT zum laufen zubekommen? Mehr als Standgas wird da nicht mehr drin sein. Pad6/7 kommt vom Boardnetz/Lipo also ca 10-14V. Die Wechselspannung ist von Modell zu Modell unterschiedlich. Angenommen die Schungmasse hat 6 Festmagneten und eine HS Spule. Dann ändert sich das Potential 6 mal pro umdrehung. Bei unserem test Motor allerdings nur 2 mal. 10000rpm/60s * 2 = 333Hz Schneller wird unser Motor nicht. Aber bei Maximal Drehzahl 20000rpm/60s * 6 = 2000Hz Also es müssten schon recht schnelle Dioden sein. Ganz universell kann man es eh nicht machen da es auch Drehstrom Grundplatten gibt. Es müssten als eh verschiedene Platinen entwickelt werden. Ich möchte aber erst mal nur das eine System zum laufen bringen und dann schauen. Es gibt solche Systeme schon die liegen im Preis segment zwischen 300-1000€. Sind dann aber Komplettlösungen.
So ich habe mir überlegt man könnte einen Zündkurven-Wahlschalter einbauen. Dazu müsste man nur zwei Pins abfragen welcher auf Gnd ist, wenn keiner dann wird die Kurve1 genommen. Zu dem würde ich der Software eine Funktione verpassen mit der man die Abfrage der Pins abschalten kann. Wir die Zündung immer per UART umschalten werden. (Über einen Zweiten Atmega8 im Multicokpit mit RFM12 modul. Also per funk vom Notebook aus) Den Drehzahlbegrenzer über die Zündkurvelaufen zulassen ist viel angenehmer als das mitmal der Zündfunke ausbleibt und unverbranter Kraftstoff in die Abgasanlage gelangt. Ja bei Glühzündern ist der Aufwand wohl zugroß. Aber für 1:5 Bigscale Autos und Flugzeuge mit mehr als 30ccm lohnt es sich wieder. Wie ich anfangs schon geschrieben habe Programmiere ich den EEPROM gerade per MAX232. Da muss ich aber immer eine extra Stromquelle mit rumschleppen. Ich will jetzt so schnell wie möglich einen USB Programmer mit hilfe eines FT232R realisieren. Allerdings habe ich mit son einem Chip noch nicht gearbeitet. Mal schauen was draus wird.
Der FT232R ist ziemlich Simpel zu beschalten. Im Datenblatt gibt es genügend Beispiele. Wegen der Spannungsversorgung lies mal: http://www.dse-faq.elektronik-kompendium.de/dse-faq.htm#F.23 Hast du den Hochspannungsteil schon mal getestet? Ich habe da bedenken, dass T1 nicht mehr sperrt. Als Quarz empfehle ich einen mit möglichst kleiner Bauform. >Aber ganz ehrlich hmm Drehzahl begrenzung? Hast du schon mal versucht >einen Motor mit ZZP 45° nach OT zum laufen zubekommen? Mehr als Standgas >wird da nicht mehr drin sein. Dachte das sei so leichter einzustellen. Und nein, mit Motoren kenne ich mich nicht aus.
So ich habe mir ein paar Gedanken gemacht und möchte die Zündanlage doch universeller gestalten. Dazu brauche ich aber eine Schaltung die ein Signal aufarbeitet. Ich habe schon etwas geschaut und denke das eine Schmidttrigger mit einem Optokoppler verwendet werden könnte. Aber ich frage lieber die Elektroprofies wie sie das signal aus dem Anhang verarbeiten würden. Das Signal würde von einem Pickup kommen. Zudem soll von der Zündung zwischen Hall/Unterbrecher und Pickup umgeschaltet werden können. Um Sicherheit rein zubringen das ganze mit Optokoplern getrennt und mit einem Mosfet umschalt bar. Denke so sollte es gehen. Habe mal meine Ideen in den Schaltplan einfließen lassen. Leider habe ich keine ahnung was für einen Trigger/Oamp ich verwenden muss! Ich Hoffe, dass hier auch Leute reinschauen die sich Elektronik auskenne. Mal dazu eine ganz andere Frage. Wieviele schreib Zyklen halten die EEPROMS der Atmegas aus? Fangen die wirklich nach rund 100000 zyklen an Fehler zu erzeugen?
Gratulation das du es soweit hin bekommen hast. Aber ich muss auch etwas negatives anmerken: Ohne einen Bezug zur Last wird es sich nicht gut fahren lassen. Hatte auch mal nen Tuner an meinem Wagen (Zylinderkopf, Nockenwellen Verdichtung...) und dann wurde die Unterdruckverstellung des Verteilers dicht gemacht. Die Zündung reagiert also gar nicht mehr auf eine geänderte Last das Gemisch aber sehr stark. Das Fahrgefühl war ernüchtern. Am einfachsten das Analoge Signal 0-5V eines Luftmengen/massenmessers oder Drucksensors auswerten und ein 3D Kennfeld erstellen. Habe dann auf eigene Faust den Verteiler bearbeiten um die Unterdruckverstellung angepasst (Endanschlag) und bei der Fliehkraftverstellung andere Federn verbaut um das Ding besser abzustimmen.
Zum Pickup: LM1815 wurde genau dafür gemacht. Oder den Pickup auf 5V/2 hängen und dann mit 2 OPs auf >4V und <1V prüfen. Den Eingang mit Dioden und Widerständen entsprechend schützen. Bei passender Dimensionierung kannst du an diesen Eingang alle Sensortypen anschließen. Die 2 Ausgänge der OPs führst du dann getrennt auf INT0/1. Wenn du zwischen verschiedenen Eingängen umschalten willst mach das doch mit 2 4081 und 3 Ausgängen am AVR. >Um Sicherheit rein zubringen das ganze mit Optokoplern getrennt und mit >einem Mosfet umschalt bar. Denke so sollte es gehen. Schon mal aufgebaut und getestet? Welche Sicherheit soll das bringen? Zumal die Eingänge zum umschalten der kurve überhaupt nicht geschützt sind und auch keinen brauchbaren Pullup haben. Da du noch genügen Pins am AVR frei hast verstehe ich die Doppelbelegung der Ports für die LEDs nicht. Die am UART wirst du sowiso kaum leuchten sehen und die LED1 kannst du auch direkt über den AVR Schalten. Für was soll D9 gut sein? Atmel garantiert 100.000 Zyklen für die eeproms. Darüber hinaus kann es Funktionieren muss aber nicht. Da du eine Motorsteuerung baust solltest du unter den 100.000 bleiben. Must du dir halt ausrechnen ob es reicht. Wenn nicht, dann externes Sram / Fram oder eine passende Software Lösung. Und vergiss nicht den BownOut Detektor im AVR einzuschalten.
Der VR-Sensor gibt halt bei niedrigen Drehzahlen ein schwaches Signal aus, deswegen würde ich auf einen Hallgeber setzen der liefert immer ein sauberes Signal. Bei niedrigen Drehzahlen wird nur der starke Impuls ausgewertet, den die größere Aussparung liefert http://www.picoauto.com/waveforms/images/zoom/tdcaudis2.gif und diese sitzt dann meist so auf 10-15° vor OT so das das STG beim starten (Anlasserdrehzahl) erstmals einfach blind hierauf zündet. Es wird also nur die Schließzeit für diesen festen ZZP berechnet. Das Kennfeld kann man ja aus dem Flash ins SRAM schreiben. in Assembler legt man dazu einfach eine Tabelle im .dseg ab einfach vor dem eigentlichen Programm dann kann man sehr viel einfacher daran rumspielen ohne ständig das EEPROM zu nutzen. Oder an programmiert es so das vor dem Programm das EEPROM im SRAm gespiegelt wird und beim beenden die neuen Daten wieder ins EEPROM zurückgeschrieben werden, dann hält das EEPROM schon ein Autoleben lang.
Nur als Hinweis: Der Brückengleichrichter aus D5...8 ist verpolt. Und bei D9 sieht es so aus, als ob die kurzgeschlossen wäre (grüne Linie durch D9). Peter
Erstmal Danke an den Moderator der die "Produktiven" Beiträge gelöscht hat. Das mit dem Gleichrichter ist mir erst garnicht aufgefallen. Vielen dank für den Hinweis. Und durch D9 geht tatsächlich noch der Leiter durch. Soll so natürlich auch nicht sein. Also die sache mit dem EEPROM ist so, ich habe da 240Byte für die Zündkurven definiert. und 80Byte im Ram. Wenn der Kontroller eingeschaltet wird läd er die richtige Kurve in den Ram und Arbeitet damit. Die Idee den gesamten EEPROM zu Kopieren finde ich auch richtig gut. Dann kann man soviele Kurven wie man will laden und ausprobieren ohne den EEPROM zu benutzen. Beim umschalten der Zündkurve speicher ich auch gerade jedes mal im EEPROM die aktive Kurve ab. Das werde ich so umbauen, dass der Controller einen Pin hin und wieder mal abfrag ob die Betriebsspannung noch anliegt und dann nur beim Abschalten die nummer der aktiven Kurve speichert, falls es eine andere ist. Also muss ein etwas größere Kondensator her. Allerdings muss auch nur ein Byte gesichert werden, dass sollte nicht so lange dauern. Zu den VR und Hallsensoren. Ich werde die Zündanlage immer mit einem Hallsensor betreiben und versuchsweiße mit original Unterbrecher. Aber man kann nicht davon ausgehen, dass sich jeder die Arbeit macht und auf Hallsensor umbaut. Deshalb möchte ich auch VR(Pickups) unterstützen. Das die aber eine so hohe Spannung liefern wusste ich garnicht. Aber es gibt da auch Unterschiede zwischen Auto und Roller, beim Auto hat man ja eine Zahnscheibe mit 60 -1 Zähnen oder änliches. Beim Roller hat man nur einen langen Zahn. Deshalb gibt es pro Umdrehung auch nur zwei Signale. Ich werde jetzt mal bischen über Oamps lesen.
Ja auch von mir Danke an den Moderator, habe beide Beiträge auch selber gemeldet, das klappt bisher immer sehr gut. Nun zum VR-Sensor, ja viele Schrecken vom Umbau ab. Die hohe Spannung die du ansprichst bzw. auf dem Diagramm zu sehen ist tritt ja nur bei der großen Lücke des Zahnrades auf, die Impulse dazwischen sind ja eigentlich sehr schwach um die 100mV und bei niedriger Drehzahl entsprechend niedriger wodurch dieses schwache Signal halt auch störanfällig ist. Mit 1 kByte SRAM des ATMega8 sollte man schon weit kommen. Das Grundkennfeld 16x16=256 evtl. mal 2 umschalten zu können, dann einige Kennlinien für Motortemp, Ansauglufttemp, einige Variablem im SRAM für ADC Werte Zwischenergebnisse...da man ja nicht soviele Register zur Verfügung hat... Mit mehr SRAM könnte man man halt die Kennfelder schon vorher im PC interpolieren und dann mit z.b. 64x64 = 4096 Bytes ablegen so spart man sich einige Berechnungen im µC.
wenn du wirklich etwas mit leistung erreichen willst nimm dir gleich einen größeren controller ..- vielleicht sogar mit CAN Bus anbindung... AT90CAN128 oder sogar einen XMega. aber der AT90CAN sollte ausreichen. Hab mcih selber shcon mit dem Thema beschäftigt und kann dir das nur empfehlen. Was genau hast du dann damit vor? Immerhin gibt es in dieser Richtung (Motorsteuergeräte)schon einige Open Source Projekte.
hier noch ein Beispiel... wie so etwas sonst gemacht wird
Danke für die Tips. Aber eins verwechseln hier viele. Auto vs Krad. Meine Zündanlage soll nur für zweiräder sein und selbst dort nicht für ne Yamaha r1. Sondern nur Krads aus dem vorigen Jahrhundert. Und ein Motorrad mit canbus kenne ich nicht. Vielleicht bei BMW oder so. Bei den Mopped Motoren ist das so, entweder man stellt den Zündzeitpunkt original ein dann springt das Moppet gut an. Aber der Motor dreht nur bis ca 6-7000. Wenn man jetzt den Unterbrecher etwas früher einstellt. Dann dreht der Motor gut 8-9000 aber man bekommt ihn meist nur durch Schieben an. Und ich möchte halt einfach nen sauberes startverhalten und eine hohe Drehzahl vereinen. und dies geht nur mit ZZP verschiebung. Ich möchte nicht die Leistung oder die Effiziens der Verbrennung verbessern sondern lediglich das Drehzahlband erweitern. Klar wären sachen wie Druck, Motor-Temperatur, Abgaswerte, Drosselklappen öffnung, Luftmasse und Kraftsorten-erkennung ideal um noch mehr Leistung aus einem Motor zuholen. ABER das ist nicht mein Ziel. Ich schreibe jetzt erst mal die EEPROM geschichte um.
Hyronimus Herzberg schrieb: > Und ich möchte halt einfach nen sauberes startverhalten und eine hohe > Drehzahl vereinen. Deshalb wird im Normalfall im Start (unterhalb Leerlauf) der ZZP nach spät verstellt und bei höheren Drehzahlen um den Zündverzug nach früh. Gruß Anja
Hallo Hyronimus Ohne Zweifel ein Hochinteressantes Projekt. Ich konstruiere zur Zeit selbst eine Zündanlage für mein Kartmotor ( V2 Motor 630 ccm nichts hochtechnisches). Eventuell können wir uns ja mal austauschen. Allerdings muss ich sagen, dass ich einen wesentlich potenteren µC benutze (Stm32f103rc). Ich muss zugeben ich bin etwas faul, daher hab ich mir nicht den kompletten Post durchgelesen. Zuerst einmal das ganze auf eine fertig geäzte Platine aufzubauen ist eine ganz schlechte Idee. Vor allem bei der Aufnahme des OTs entstehen hier Probleme. Ich benutze hierzu ein Optokoppler in Verbindung mit einem Hallgeber. In einer erweiterten Version wird zusätzlich noch die Drosselklappenstellung erfasst. Bei nennen wir sie mal Holzmotoren ist diese Drosselklappenabhängige Regelung meiner Meinung nach nicht notwendig, da die Erhöhung der Drehzahl innerhalb einer Umdrehung nicht gravierend ist. Von der kubischen Spline Interpolation kann ich dir bei einem Atmega8 eigentlich nur abraten. Selbst die lineare Interpolation dürfte Rechenzeitkritisch sein wenn du deine Zündzeitpunkte in echtzeit ändern möchtest, da der Atmega doch soviel ich weiß keinen Hardware Multiplier und Divisor besitzt oder ? Deine Idee mit drei verschiedenen Grundkennlinien ist schon sehr gut. Ich würde es im Programm aber in einem seperaten zweiten Fenster zur Bearbeitung öffnen und mit einem globalen ZZP arbeiten, der mit dem drehzahlabhängigen Wert verrechnet wird. Ich arbeite auch mit einem Triggerrad mit 32 Zähnen um zusätzlich Werte zu erhalten. mfg Jan
Achja zu der Sache mit dem Starten. Ich arbeite mit 2 Modis. Der Startmodus setzt den ZZP direkt auf OT und gezündet wird auch erst ab einer bestimmten erfassten Drehzahl um ein zurückschlagen des Motors zu verhindern. Gleichzeitig ist eine Regelung im Leerlaufbereich noch nicht unbedingt wichtig. Zusätzlich ist es sinnvoll hier mit festen Werten zu arbeiten, denn du brauchst einen schnell hochzählenden Timer um auch im hohen Drehzahlbereich drehzahländerungen noch mit einer guten Auflösung zu erfassen ( Stichwort Timervariable läuft über). mfg Jan
Hey Jan finde ich cool das hier jemand etwas ähnliches macht. Kurz zu der Interpolation. Der Atmega fürt keine interpolation durch. Dies wäre viel zu aufwändig für den kleinen Controller. Das macht nur die Software um die Eingabe zu erleichtern. Die Software habe ich erstmal komplet übern haufengeschmissen. Mache eine neue, die so aufgebaut ist wie der WindowsExplorer. Schade das du nicht alles gelesen hast. Aber ich beschreibe kurz nochmal meine Zündsystem. Also ich nehme als beispiel einen Motor mit Unterbrecher Zündung. Original öffnet der Unterbrecher 10° vor OT und schließt sagen wir mal 30° nach OT. Nun wird der Unterbrecher so eingestellt, dass er 40-50° vor OT öffnet und 5° nach OT schließt. Nun schließt man "mein Zündsystem" an. Startet die Software auf dem Pc und lässt dort die Zündwinkel erkennung laufen. Nun muss man den Motor mehrmals durchdrehen(vieleicht kann der Motor auch im standgas laufen, muss ich erst testen). Das System ermittelt jetzt einen wert von 52°(imaginär). Nun stellt man im Korrekturwinkel -5° ein, da der Geber erst 5° nach OT schließt(diesen Wert muss man selber so gut wie möglich ermitteln. Ich würde es über den Kreisabschnitt auf dem Rotor erechnen). Demnach öffnet der Geber 47° vor OT. Diesen Bezugspunkt verwendet die Software um daraus den richtigen Winkel zuerrechnen anhand der Werte die man in die Software eingibt. Die daraus entstehenden Werte werden für den Mikrocontroller noch verschönert. Also der Mikrocontroller erkennt das Öffnen und das Schließen des Unterbrechers. Einen anderen Mikrocontroller würde ich von Atmel nur nehmen, wenn die eine bedeutend höhere Taktrate haben. Habe mich aber noch nicht mit den Xmegas beschäftigt. Mal Schauen.
Ach verdammt schon wieder falscher Name ;-)
Ich würde mich natürlich über eine Austausch freuen. Kann jede hilfe gebrauchen. Und helfe natürlich auch wo ich kann. Zur aufnahem des Pickup signals habe ich folgendes gefunden [[Beitrag "Re: Induktivgeber- / Pickup-Signalaufbereitung macht Schwierigkeiten"]] denke das werde ich noch durch ein RSFlipFlop jagen und dann habe ich mein Hallsensor änliches Signal. Werde das mal mit jemande besprechen der mich hier aus dem Forum angeschrieben hat. Werde im laufe des Tages Antworten.
Weil Zweifel an der Rechenleistung aufgekommen sind mal eine Überschlagsrechnung: Gehen wir mal von 50° vor OT aus und 10° vor OT als frühesten Winkel: Bei 20.000UPM und 16MHz Schaft der AVR in den 40° 5333 Zyklen. Für Realwerte könnte da knapp werden, aber eine lineare Interpolation mit Festkomma Arithmetik ist da 10 mal drin. Zumal die Mega Serie über einen HW-Multiplier verfügt.
Hytonimus H. schrieb: > Hey Jan finde ich cool das hier jemand etwas ähnliches macht. > > Kurz zu der Interpolation. > Der Atmega fürt keine interpolation durch. Dies wäre viel zu aufwändig > für den kleinen Controller. > Das macht nur die Software um die Eingabe zu erleichtern. > Tim (Gast) sagte das die Mega Serie einen Hardware Multiplier hat. Wusste ich gar nicht. Hab nur Attiny benutzt. Dann könnte es sogar möglich sein müsste man mal ausprobieren. > Die Software habe ich erstmal komplet übern haufengeschmissen. > Mache eine neue, die so aufgebaut ist wie der WindowsExplorer. Habe mal ein Bild von meinem Interface angehängt erstellt wurde es mit QT. Ist aber noch eine alpha Version. > Schade das du nicht alles gelesen hast. Aber ich beschreibe kurz nochmal > meine Zündsystem. > > Also ich nehme als beispiel einen Motor mit Unterbrecher Zündung. > Original öffnet der Unterbrecher 10° vor OT und schließt sagen wir mal > 30° nach OT. > Nun wird der Unterbrecher so eingestellt, dass er 40-50° vor OT öffnet > und 5° nach OT schließt. > Nun schließt man "mein Zündsystem" an. Startet die Software auf dem Pc > und lässt dort die Zündwinkel erkennung laufen. Nun muss man den Motor > mehrmals durchdrehen(vieleicht kann der Motor auch im standgas laufen, > muss ich erst testen). > Das System ermittelt jetzt einen wert von 52°(imaginär). > > Nun stellt man im Korrekturwinkel -5° ein, da der Geber erst 5° nach OT > schließt(diesen Wert muss man selber so gut wie möglich ermitteln. Ich > würde es über den Kreisabschnitt auf dem Rotor erechnen). > > Demnach öffnet der Geber 47° vor OT. Diesen Bezugspunkt verwendet die > Software um daraus den richtigen Winkel zuerrechnen anhand der Werte die > man in die Software eingibt. > > Die daraus entstehenden Werte werden für den Mikrocontroller noch > verschönert. > > Also der Mikrocontroller erkennt das Öffnen und das Schließen des > Unterbrechers. > > Einen anderen Mikrocontroller würde ich von Atmel nur nehmen, wenn die > eine bedeutend höhere Taktrate haben. Habe mich aber noch nicht mit den > Xmegas beschäftigt. Mal Schauen. > Du möchtest deine Schaltung bis 20000 rpm betreiben und benutzt einen Unterbrecherkontakt ? Sinnvoller fände ich eine Zündung mit einem OT-Signal ( Hallgeber wäre am einfachsten) Denn: Es ist einfach dem µc zu sagen zünd bei prestart einfach wenn du ein OT Signal bekommst. Aber wie stellst du sicher das bei der doch sehr unterschiedlichen Drehzahl beim Starten dein Timer exakt so eingestellt ist, dass du OT erwischst. Ich könnte mir vorstellen, dass die Erkennung des Signals 5° nach OT schwierig ist . Vor allem wenn man auf einem Motorrad per kickstarter startet. Mit meinem Triggerrad würde es z.b. nicht funktionieren ein Motorrad mit einem Kickstarter zu starten, ich benutze es aber aus anderen Gründen ( Kompressionserkennung, wasted Spark u.s.w) mfg Jan
Ich möchte die Zündanlage verkaufen. Und den Leuten die möglichkeit geben, entwerde einen Unterbrecher, Pickup oder Hallsensor verwenden zu können. Ich werde immer Hallsensoren verwenden. Solltest dann schon mal ein paar beiträge lesen, habe auch eine lust alles mehrfach zuschreiben. Also dein Interface finde ich sehr interessant. Allerdings ist die ja um alle relevanten Motordaten zuerfassen. Ich mache ja nur eine Software, mit der man möglichst einfach Zündkurven erstellen kann. Am Wochenende werde ich wohl meinen Prototypen testen können.
Wenn du so etwas verkaufen willst für KFZ brauchst du E13 Zulassungen, musst das Elektronikgesetz beachten (WEEE) und und und Wenn irgendetwas abfackelt aus deiner Schaltung trägst du die Verantwortung. Darüber solltest du dich mal genauer informieren, da gibt es einiges zu stemmen! Zudem behaupte ich jetzt mal, so wie du schreibst, hast du nicht wirklich die Ahnung von der Hardware. Ein "Zusammengeschustertes Produkt" dann zu verkaufen, halte ich für fragwürdig. Keine Kritik, nur mal ein Denkanstoß!
ich muss mal meinen Bestand durchforsten eine Interpolation in ASM hatte ich mal gemacht, braucht vielleicht geschätzte 200 Takte oder weniger. Gemacht habe ich es in etwa so, angenommene Drehzahl=1200 U/Min und Last=0% also Leerlauf aus dem Kennfeld ergeben sich nun die Werte 10 und 12° vor OT als ZZP und die beiden Drehzahlpunkte von 1000 und 1500 Rechenweg 1500 - 1000 =500 12 - 10 = 2 2 / 500 = 0,8 10 + 0,8 = 10,8 Das gleiche müsste man halt auch mit der Last machen. Aber wie gesagt man könnte das Kennfeld auch am PC z.B. Excel interpolieren und dann so in den Flash oder EEPROM ablegen, so spart man sich die Berechnung im µC nur die Kennfelder werden halt sehr groß, aber ein ATMega32 hat ja genug Flash vorhanden um auch sehr große Kennfelder zu speichern.
So ich habe mal einen Prototypen für die Modellbau Zündanlage zusammen gelötet. Allerdings habe ich ein Problem mit den Transistoren für den Zerhacker. also es sind zwei BD131 NPN Transistoren. Die Basis ist mit 100k an GNG und mit 1k an dem µC angeschlossen. Wenn der µC jetzt den Pin auf VCC zieht schalten die Transistoren nicht durch. Woran kann das liegen. Habe vorher auf einem Steckbrett getestet und mit der kombi 100k/1k hat es wunderbar geklappt. Kann es sein, dass die Spannung am Collector mit 12V zugroß ist? Da ich in die Basis nur mit 5V reingehe Was ist der geringeste wiederstand, dem ich den µC zutrauen kann. (beim schalten des BD131 entsteht fast ein kurzschluss (20wdg 0,75mm² Draht))
Verdammt ich seh gerade auf dem Bild, dass ich mit 10k an den µC gehe. Muss ich wohl mit 1k ausprobieren.
Also auch mit nur 1k schalten die Transistoren nicht richtig durch. Lediglich 0,4A fließen. Ist zwar schon was aber nicht genug. Sollten schon die 5A des netzteil geschaltet werden. Hmm mir ist gerade der Linearregler durchgebrannt. Der mag es nicht wenn er von der falschen seite 10V bekommt. Naja hab ja noch nen paar davon. Ich schätze aber, dass ich wohl Transistoren vor schalten muss. werde ich dann wohl mal probieren. Oder wären dort Mosfets besser geeignet?
vom Reglerausgang zum Reglereingang eine schnelle Diode anbringen.
und das hilft die Transistoren zu schalten oder nur um den Regler zuschützen? Ich würde ja jetzt auf zweites tippen. Im normal fall bekommt der Regler aber die 12V nicht ab. Ich habe zum Testen die Basis eines Transistor an 12V gelegt und dann ist der Strom durch den 100k Widerstand in den Regler geflossen. Passiert normal halt nicht.
Quelle Wikipedia: In einigen Anwendungen empfiehlt sich eine Verpolungsschutzdiode vom Regler-Ausgang zum Eingang. Von Bedeutung ist dieser Schaltungszusatz bei großem C4 und wenn gleichzeitig mehrere Lasten von der ungeregelten Eingangsspannung abzweigen. Dann kann es passieren, dass beim Ausschalten C1 schneller als C4 entladen wird und die Ausgangsspannung höher als die Eingangsspannung ist (verpolter Regler). Eine Schutzdiode bewahrt den Regler dann vor der Zerstörung. Eine schnelle Diode (z. B. Schottkydiode) ist hier besonders geeignet, die Sperrspannung muss mindestens so hoch wie die maximale Spannung der Speisung betragen. Ein hoher positiver Impuls auf der Ausgangsseite kann das gleiche bewirken.
So habe eine PR1002L Diode gefunden und diese eingelötet. Denke die sollte schnell genug sein. Habe auch zwei Mosfets die ich jetzt statt der Transistoren verwenden will. Kann nur leider nichts darüber im Inet finden. Auf den dingern steht S150 77 wobei die 77 auch ZZ oder 33 sein könnte lässt sich nicht so recht erkennen. Das Internet spuckt einfach nichts dazu aus. Zudem ist in zwei kleinen prägestempel (wirklich sehr klein) E und BD geprägt.
Hallo, finde ich echt gut dein Projekt
Hallo Hyronimus, finde das Projekt echt cool. Habe dir ne Nachricht gesendet. Grüße
tolles projekt sag kannst du mir programm und die hex datei igendwie zukommen lassen
Hallo, habe den Autor auch schon darum gebeten, irgendwie gehts hier nicht weiter, bzw. ich weis nicht wie ich den Hyronimus direkt kontaktieren kann. Grüße
Der vollprogrammierbaren Zuendanlage sind wahrscheinlich aus duftenden Ohm'schen Gruenden die Bytes empoert weggelaufen.Keine Zuendung mehr.
Rigi Taler schrieb: > Der vollprogrammierbaren Zuendanlage sind wahrscheinlich aus duftenden > Ohm'schen Gruenden die Bytes empoert weggelaufen.Keine Zuendung mehr. was heisst das jetzt ?? Gibts keine Infos mehr vom Hyronimus ?? wirklich Schade, hätte grosses Interesse gehabt
Wer noch keine Firmware? fragen darf? per E-Mail
Hallo an alle. New cdi. Schauen Sie es funktioniert :). http://www.youtube.com/user/ignitionyemi/videos?view=0&flow=grid Danke nyemi.
falls es auch mit 6v und Gleichstromlima funktionieren soll: http://metriccustom.de/?subject=fridaDZS%20Digitalz%FCndung&theme=Metric%20Custom%20Elektronik&action=none inkl. schaltplan und firmware m.
Hi TCI-Zündung ist nicht mehr aktuell. Wirkungsgrad ist schlecht. Nicht geeignet für MSD. Die Zukunft:) MSD CDI
Hi Das Projekt ist jetzt Bilder von der Code funktioniert. Video der Code funktioniert. Zündverstellkurve Link:http://youtu.be/wBt48RQyMMU Plasma Link:http://youtu.be/rwEKokuVYEQ Gruß nyemi.
Hallo Nyemi Du scheinst es ja geschafft zu haben? Hast Du evtl mal einen Schaltplan? Versuche gerade eine alte Kawa mit ihrer beknakten Zündung wieder zum Leben zu erwecken. Merci da Christoph
Hallo, alle miteinander. Neue Software 12f683, vier Zündverzug Kurve. Mein Freund getestet: "Ich bin die Firmware in Proteus getestet Verhält sich wie erwartet. 0 ... 5 Hz (0 ... 300 Umdrehungen pro Minute) - kein Funke, dann 6 ... 15 Hz (360 ... 900 Umdrehungen pro Minute ) - 3 Funkens und dann höher als 16 Hz (960 Umdrehungen pro Minute), nur einen Funken bis zu 200 Hz (12000 rpm) und höher als 210 Hz (12600 rpm) ist kein Funken. Ich habe versucht, die Spannung auf dem dritten Stift 12F683 und Kurven eindeutig nur in der Impulsposition des Ausgangs relativ zum Eingang weil merkliche Veränderung im angegebenen Spannungsbereich geschaltet zu ändern. " Bitte testen Sie Ihre gut. Wenn Sie irgendwelche Ideen Programmänderungen haben. Danke im Voraus. Link:www.rcgroups.com/forums/showatt.php?attachmentid=9236676&d=14705537 76 You tube Link:https://youtu.be/u0YNx6cCv60 nyemi schrieb: >
Hallo Community, ich wollte mir auch mal eine elektronische Zündung mit Winkelverstellung basteln, jetzt bin ich auf diese Seite gestossen. Ich finde das Projekt ja richtig cool und wollte es schon nachbauen, aber für den Nachbau fehlt mir im Moment der Sourcecode bzw, das Hex File für den Controller und die Exe zum parametrieren der Zündung. Wie komm ich denn an die Daten oder hat die einer? VG Christoph
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.