Hallo Ein Kumpel und ich möchten aus Interesse versuchen einen Motor mittels uController zum laufen zu bringen. Meine erste Frage währe nun ob sich jemand schon mal mit dem Thema auseinadergesetzt hat bzw. welcher uc dazu am besten geeignet ist. Primär müsste der uc folgende Anforderungen erfüllen 1. Drehzahlen bis 10000upm Messen können bei einem Geberrad mit 60 Zähen währen das dann ja 10MHZ 2. Ausgabe von Zündung und Einspritzung mit selbiger Frequenz 3. Messung von Analogsignalen wie Saugrohrdruck und oder Luftmasse Danke für Eure Antworten Mit freundlichen Grüßen Peter
1) Wie kommst du auf 10Mhz? 10000 upm macht das in 1 Sekunde ~166 Umdrehungen. Bei 60 Zähnen macht das dann 166 * 60 -> 10000 Pulse pro Sekunde, also 10 kHz. Da langweilt sich jeder µC. 2) damit kann ich überhaupt nichts anfangen. Was soll 'Ausgabe der Zündung und Einspritzung mit selbiger Frequenz' bedeuten? Oder soll das heissen das sich der µC auch um die Zündung und Einspritzung kümmern soll? Da langweilt sich der µC dann nicht mehr so. 3) Messung von ... Ja. Können die meisten AVR, wenn du entsprechende Sensoren hast, die ein entsprechendes Analog-Signal liefern. Aber: Der µC soll ja wahrscheinlich nicht nur messen, sondern mit den Messwerten auch noch was machen.
Hallo Karl Danke für die Schnelle antwort 1.Danke für die Korrektur hab mich mit Khz und Mhz vertan. 2. Ich möchte mit dem uc im ersten schritt mal anhand der Drehzahl ein Signal für Zündung und Einspritzung Ausgeben. Ich werde ein Geberrad mit 60 Zähnrn und einer Lücke Verwenden für die OT erkennung. Im 2. Schritt möchte ich Kennelder für Zündung und Einspritzung Hinterlegen (zb X:Saugrohrdruck und y: Drehzahl z: Zündungswinkel) Leider bin ich auf dem Gebiet der uController nicht sehr bewandert. Ich hab vor Jahren mal in der Schule einen 8051 mit C und Assembler prorammiert welcher uc würde sich am bsten für mein Problem eignen? Wie gehe ich am besten an die Sache rann? mfg
Ist es bei einer Motorsteuerung nicht sinnvoll die Impulse den Zylindern (falls mehrere) zuzuordnen und die Zeiten zwischen den jeweiligen auszuwerten? Dann habe ich z.B. eine Bewertung der Kompression und der Kolbenbeschleunigung. Ebenso kann anhand der Impulzahl der Zündwinkel und Einspritzzeitpunkt zugeordnet werden (für jeden Zylinder extra natürlich). Meines Wissens machen das die Autohersteller so. Impulse zählen und Zeit messen ist per µC einfach und geht beim AVR in den MHz-Bereich. Die Drehzahl ist nur ein Nebenprodukt.
Hallo Thilo Die Lücke im Geberrad wird dem OT des 1. Zlinders zugeordnet.Darauf sollen Sollen sich dann die Ausgaben von Zündung und Einspritung beziehen so wie bei den Motorsteuerung die um KFZ verwedet werden. Kompression braucht eigentlich nicht bewertet werden. Um den Motor mal zum laufen zu bringen reicht zündung und einspritzung mal "grob" mittels drehtzahl éinzustelln. Natürlich muss man wissen wann welcher zlinder im ot ist. Als 2.schritt kann man dann die Last zzb duch saugrohrdruck oder Lutmasse ins spiel bringen (Kennfeld) mfg
Wenn Du ein Geberrad (z.B. das Schwungrad mittels Hallsensor) mit 60 Zänen benutzt, bekommst Du bei einem 4-Zylinder-Motor logischerweise 120 Impulse für alle 4 Takte (2 Umdrehungen). Jetzt brauchst Du nur noch die Impulse zählen: 0 bis 14 und 60 bis 74 wäre Zylinder 1, wobei in 0 bis 14 Zündung und Einspritzung stattfindet (1. Umdrehung), 60 bis 74 ist der Abgasausstoß des 1. Zylinders (2. Umdrehung). Die Impulserfassung muss unbedingt Interruptgesteuert stattfinden, da diese Geschichte zeitkritisch ist! Saugrohrdruck und Luftmasse sind wohl Analogwerte und können etwas verzögert gemessen und ausgewertet werden. Den berechneten Zündimpuls musst Du dann nur noch beim richtigen Impuls laut Kennfeld (Frühzündung, also vor 0) ausgeben. Probier's mal an einem alten Rasenmäher, das funktioniert prima!
Hallo Thilo Danke für die Antwort. Genau so wie du es beschreiben hast hab ich es auch vor. Motor hab ich auch schon ausm alten ford. Mir fehlen nur die ucontroller kentnisse. Welchen könnt ich da am besten nehmn. Mir währ am liebsten wenn ich ihn in c programmieren könnt da ich da schon bischen erfahrung habe, ich weis das Assembler schnell ist wie c
Mein 'Lieblingsprozessor' ist momentan der ATmega32, hat genügend Reserven und läuft mit 16MHz. Kommt natürlich drauf an was Du alles 'reinpacken willst, evtl. ist der ATmega8 auch i.O. Als Programmieroberfläche in C bin ich persönlich auf WinAVR eingeschossen, ist natürlich subjektiv. Preis-Leistungsverhältnis stimmt halt, weil Freeware, grins! Ach ja: Motorsteuerungen, Endstufen, Hallsensoren oder ähnliche vibrationsbelastete Schaltungen in Muffengießharz (dauerelastisch) vergießen, spart später viel Ärger! Ich wünsch' Dir viel Spaß mit der Aufgabe, ist echt interessant!
Ach ja, den OT würde ich besser mit einem 2. Sensor machen, Lücken können auch beim Normalbetrieb mal auftreten ('verschluckter' Impuls), das muss natürlich per SW abgefangen werden. Sicherheit ist eh' oberstes Gebot, sonst wird's nicht bei einem Motor bleiben!
Am Zahnrad würde ich zwei Sensoren anbringen; abwechselnd ist immer einer belegt und der andere frei. Außer in der Zahnlücke, da sind beide frei. Damit gibt es mehr Sicherheit und eine Zahnlücken-Erkennung.
Gute Idee! Ist halt 'n Problem wenn man die Schwungscheibe (Anlasserkranz) des Motors benutzt, da sollte es keine 'Zahnlücke' geben.
ich kenn nur 60-2 Geber, es "fehlen" also 2 Zähne. Der schwierigste Teil der Sache ist die Zündung, du musst sozusagen schon vorher wissen, wann die Zündung erfolgen soll und dementsprechend Zündzeitpunkt-Ladezeit mit der Ladung der Zündspule beginnen (bei Hochleistungszündspulen sind ca. 3ms, wenn ich mich recht erinnere). Die Zündspule darf keinesfalls in die Sättigung kommen, dann steigt der STrom stark an und die Endstufe kann Schaden nehmen/Zündspule wird zu warm. Die Höhe der Bordspannung sollte mit in die Berechnung der Ladezeit einfliessen, sonst fehlt dir gerade beim Starten Zündenergie. Eine schöne Vereinfachung: du brauchst für einen 4Zyl. nur 2 Endstufen und 2 Zündspulen, wenn du Doppelzündspulen verwendest. Der Funke kommt also immer in 2 Zylindern gleichzeitig, einer zündet, der andere funkt ins Leere. Einspritzung ist unkritisch, da es da nicht so auf exaktes Timing ankommt. 2.Sensor ist Quatsch, da fehlen keine Signale. Und selbst, das merkt man doch leicht, da jede Umdrehung neu synchronisiert wird. Fehlt Beispielsweise 90° nach OT ein Impuls, wird man doch nicht auf Idee kommen, das wäre ein neuer Synchronimpuls?? Schlimmstenfalls hast du in der einen Umdrehung einmal einen Zündversatz von 6° - na und? Die Induktivgeber sind sehr betriebssicher, meiner Meinung nach besser als Hallgeber. Die können allerdings genauer messen, da beide Flanken ausgewertet können. Ich würde dir nicht unbedingt einen AVR empfehlen, sondern such dir einen Typ, der mehr mit Hardwaretimern machen kann. Dann kannst du ganz in Ruhe deine Sensoren auslesen, Kennfelder beackern usw. Fertige Ergebnisse für Zündung und Einspritzung schreibst du dann in die Timerregister, der Rest läuft dann von alleine.
Elektronisches Motormanagment kann auch brutal simpel sein! (Zündung nicht integriert, kein Kat.) Wie bei einem Opel (E-)Kadett GSi(1,8l/115PS)... Kein Geberrad oder ähnliches. Nur Luftmengenmesser, Drosselklappenpoti,Temperatursensor und Anschluss an Klemme 1 der Zündspule für die Drehzahlerfassung. Eingespritzt wird ins Saugrohr, nähe Zylinderkopf. Alle Einspritzventile auf einmal. Der Motor holt sich das Gemisch wenn das Einlassventil öffnet... Hatte 2 Jahre lang die Krücke. Ich hasse Opel.
fahre diesen Motor seit '97, bis auf ein paar kleine Probleme mit dem Kabelbaum (2 Kabelbrüche, Einspritzventil und Temp-Sensor) habe ich damit keine Probleme gehabt, nach 251.000 km brachte der Motor ohne Leistungssteigerung noch 112PS auf die Rolle. Danach wurde aber ein neuer Motor aufgebaut Ergebniss 158PS, der wurde dann später für die Aufladung umgebaut. Andere Kolben, Pleuel, Verdichtugn runter.... Am Motor gibts wirklich nichts auszusetzen, die Einspritzanlage ist zwar nicht umbedingt das beste aber da kann man halt noch richtig dran rumspielen ohne die ganze Hardware fürs Chiptuning anschaffen zu müssen. Ich will mir aber auch eine andere Einspritz- und Zündanlage bauen. Dafür soll jetzt erstmal ein kleiner 4-Zyl. 4-Taktmotor auf ein Gestell gebaut werden um das alles unter richtigen Bedingungen testen zu können. Wegen der Handlichkeit will ich mir aber nen Motorradmotor zum basteln holen.
@crazy horse:
>2.Sensor ist Quatsch, da fehlen keine Signale. Und selbst, das merkt
man doch leicht, da jede Umdrehung neu synchronisiert wird. Fehlt
Beispielsweise 90° nach OT ein Impuls, wird man doch nicht auf Idee
kommen, das wäre ein neuer Synchronimpuls?? Schlimmstenfalls hast du
in
der einen Umdrehung einmal einen Zündversatz von 6° - na und? Die
Induktivgeber sind sehr betriebssicher, meiner Meinung nach besser als
Hallgeber. Die können allerdings genauer messen, da beide Flanken
ausgewertet können.<
Der 2, Sensor sitzt nicht auf dem Zahnrad des 1. Sensors. Er gibt nur 1
Impuls pro Umdrehung ab(besser wäre 1 Imp. pro Zylinder). Das macht
schon Sinn, der Einfachheit beim Programmieren wegen (und der
Sicherheit). Induktivgeber sind stark erschütterungsempfindlich (wegen
Festmagnet, bricht leicht), wenn dann sollten es teure vergossene sein.
Die Amplitude ist Drehzahlabhängig, beim Sinussignal dieses Gebers muss
der Nulldurchgang detektiert werden, da es sonst abhängig von der
Drehzahl zu einem Zeitversatz kommt => aufwendig. Wenn Dich ein
Zündwinkelversatz von 6° bei allen Zylindern für 1 Umdrehung nicht
stört möchte ich mal hoffen dass Du keine Motoren verkaufst, das ist
schlicht und ergreifend Pfusch!
Atmel-µC nehme ich weil ich mich drauf eingeschossen habe, ist deshalb
'ne Subjektive Meinung. Die Doppelzündspule hat den Nachteil dass die
Haltbarkeit der Zündkerzen halbiert wird (doppelte Zündvorgänge). Bei
guten Motorsteuerungen wird auch die Zündspannung geregelt, schon
deshalb ist eine optimale bestromung der Zündspule Pflicht.
Haltbarkeit der Kerzen sehe ich kein Problem entweder Silber oder Platinelektroden nehmen. Ein weitere Vorteil der Doppelspulenzündung ist es das gerade wegen der Zündung in den Auslaßtrakt die Kerzen nicht so schnell naß werden (gerade bei Motoren mit scharfen Wellen) wo die Gemischbildung bei niedrigen Drehzahlen durch die geringe Strömung Müll ist ist das sehr vorteilhaft gerade im Winter. Ich denke eher das die Hallgeber das einfachere/bessere ist, dieser hat nämlich nen Schmitt-Trigger integriert. Die Induktivgeber werden im STG nochmal durch nen Schmitt-Trigger gejagt. Außerdem liefert der Hallgeber annähern Batteriespannung unabhängig wie schnell der Motor sich dreht gerade deshalb muss beim Induktivgeber nochmal verstärkt werden. Gibt da extra nen IC für der die Verstärkung als auch dn Schmitt-Trigger drin hat, glaube LM1801 oder 1805. Probleme mit Hallgebern kenne ich eigentlich nur beim 3er Golf aber da liegt es weniger am Sensor sondern an der Kabelverlegung, kurz nach dem Stecker erleiden die Teile sehr oft nen Kabelbruch. Die Zündspannung geregelt? Diese wird eigentlich immer konstant hoch gehalten. Die aktuellen Steuergeräte zünden mehrmals hintereinander wobei die Zündfunken nach dem Hauptzündfunken mit geringeren Schließzeiten erzeugt werden.
>Die Zündspannung geregelt? Diese wird eigentlich immer konstant hoch
gehalten. Die aktuellen Steuergeräte zünden mehrmals hintereinander
wobei die Zündfunken nach dem Hauptzündfunken mit geringeren
Schließzeiten erzeugt werden.<
Das meinte ich mit geregelt.
@Thilo: wenn du wüsstest, was ich schon so mit Motoren gemacht habe, hättest du keinen Ton gesagt. Ich baue etliche Sachen, die im ziemlich hochpreisigen Segment (Porsche GT2-Cup) bestens laufen. Selbstverständlich ist ein Zündversatz von 6° nicht tolerabel, aber es passiert überhaupt nichts, wenn das einmal bei vielen tausend Umdrehungen passieren würde, noch dazu, da es in Richtung Spätzündung gehen würde, wenn man sklavisch dem Impulsgeber folgen würde. Es ging darum, dass hier Angst gemacht wurde, nicht erkannte Impulse würden zum Motorschrott führen. Hinzu kommt: ist das alles eine Frage der Software, man braucht überhaupt nicht jeden einzelnen Impuls. Da wird auch viel mit Plausibilitätsprüfung gemacht. Wir reden hier von Zündung und Einspritzung, nicht von Ventilsteuerung! Definitiv sind Induktiv-Geber zuverlässiger als Hallgeber, da kannst du sabbeln, was du willst. Ich kann dir ja mal die Kisten fehlerhafter Sensoren zukommen lassen. Da sind ca. 5mal mehr Hallgeber als Induktivsensoren drin. Und das der Nulldurchgang (und nur dieser) ausgewertet wird, war für mich so selbstverständlich, dass ich sowas gar nicht erwähnt habe. Kein Mensch wertet die Spannung aus.
ein Induktivgeber erzeugt halt seine Spannung selbst, ein Hallgeber bekommt eine Zugeführt die er dann unterbricht oder durchschaltet. Ein Kabelbruch kann ihn z.b. killen wenn der Augangs nämlich auf Masse schlägt ist er hin. Das kann beim Induktivgeber nicht passieren da die Energie viel zu gering ist als das es die Spule durchhauen würde. Ich will mich nicht streiten aber für mich ist ein Hallsensor absolut verläßlich, es sei den man killt ihn durch einen Kurzschluß oder durch die Versorgungsspannung wenn diese nicht aufbereitet ist und die größten Spikes durchschlagen. Darf man fragen was für ein Einspritzsytem bei diesen GT-2 zum Einatz kommt also ist es was spezielles oder Seriensteuergeräte mit anderen Datenständen?
Ist halt'n Unterschied ob man Motoren für kurzen Spaß tunt oder welche für lange Lebensdauer präpariert. Die Haltbarkeit von Motoren, die durch eine (wenn auch vernachlässigbare) Unregelmäßigkeit beim Zündwinkel behaftet sind, ist halt mal kleiner! Ich präpariere ältere Standardmotoren für den Einsatz in Stromaggregaten/Pumpen. Das ist'n Unterschied zu Sport- bzw. Rennwagen!
Hallo Danke erstmal für die viele Antworten. @Thilo Kannst Du mie ein Starterboard für den ATmega32 empehlen? @crazy horse: Welchen uC für eine Motorsteuerung würdest Du verwenden?
Ich habe damals das STK500 gekauft, aber selten benutzt. Ich baue das Ganze auf einem Steckbrett auf, den ISP habe ich mir fest drangebaut (für AVRIsp). Das erleichtert die Anschaltung von Komponenten, da kurze Leitungsführung und größere Flexibilität.
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.