Hallo Leute, Ich bin neu hier im Forum und hätte da eine Frage an die versierten Leute unter euch. Ich bin in einem Rennbuggyteam zuständig für die Fahrzeugelektronik und entwickle im Momente eine Modifikation des Motorsteuergerätes. Das ganze läuft zur Zeit mit einem Atmega16 ganz gut. Nur jetzt ist der Punkt gekommen an dem ich nicht mehr weiter weis, denn in Sachen Grundschaltungen/Elektronik allgeimein bin ich nicht wirklich gut. Mein Problem: Der (Verbrennungs) Motor hat an der Nockenwelle einen Positionssensor der ein kontinuerliches Signal ausgiebt welches seine Amplitude und seine Freuquenz in abhängigkeit von der Motordrehzahl verändert (siehe Oszimessungen im Anhang, 1x Leerlauf und 1x 6000 rpm). Ich möchte anhand von diesem Signal die Drehzahl und in weiterer Folge auch die Winkelposition der Nockenwelle erfassen/errechnen. Hat irgendjemand Anregungen oder Ideen wie ich dieses Signal mit dem uC auswerten kann? Ich hab mir folgendes überlegt wie es gehen "könnte": #1 Spannungsteiler --> ADC und die Nulldurchgänge auswerten + Frequenz errrechnen, Problem: Was mache ich mit der negativen Welle (mit Diode töten ??), verfälscht die Messung das Signal nicht zu stark (vl spinnt dann das originale Steuergerät das ja dieses Signal auch noch braucht) ?, Abhilfe - auskoppeln mit Wandler/Spule - aber wie ? #2 OPV Schaltung mit Grenzwert bei 0,5 V und steigende Flanke messen ? funktioniert das über den ganzen Drehzahlbereich, mann muss bedenken dass die Spannung bei der Enddrehzahl des Motors (12000rpm) schon verdammt hoch ist) Wenn Interesse besteht kann ich natürlich weitere Details und bereits funktionierende Sachen (wie zB. Anzeige des eingelegten Gangs im Cockpit auf "fettem" 7 Seg. usw...) hier posten Über jeden Vorschlag wäre ich sehr sehr dankbar und verbleibe mit freundlich grüßen aus Österreich Stefan
Hallo Stefan, Leider hast du den Anhang wohl vergessen, aber ich kann dir einfach mal meine Überlegungen posten. Die Befürchtung, dass bei Version 1 die Motorelektronik gestört würde, könntest du relativ einfach mit einem Impedanzwandler und einer idealen Diode (beides mit OPV aufgebaut) ausräumen. Wie genau soll die Drehzahlmessung denn sein? Version 2: Spannungsteiler am Eingang eines Komparators (Schaltschwelle musst du richtig wählen) und falls nötig einen folgenden Monoflop (definierte Signallänge) Recht schwierig dürfte die Positionserkennung zu realisieren sein, da ja sowohl Amplitude als (nehme ich mal an) die Signaldauer von der Drehzahl abhängig sind. Auch hier stellt sich wieder die Frage, wie genau diese Positionsbestimmung werden soll. Bevor ich hier aber anfange, wild zu spekulieren, warte ich besser auf die Oszi-Bilder und die Spezialisten hier im Forum. Dein Projekt klingt jedenfalls nicht uninteressant, wenn du uns hier auf dem Laufenden halten würdest, wäre das sehr nett. Grüße von der Donau, Erik
Du kannst auch einen Timer über einen externen Pin zählen lassen, z.B. T1 für Timer 1. Je nach Zählerstand kannst du die Drehzahl ermitteln. Wenn ich dich richtig verstanden habe willst du bei einem Bestimmten Winkel etwas auslösen? Dann kannst du mittels Output-Compare-Interrupt des gleichen Zählers den Winkel ermitteln (wie oben schon gesagt: abhängig von der Drehzahl)
Hallo Stefan, klingt nach nem schönen Projekt, wäre an der Ganganzeige interresiert insbesondere mechanische Abfrage (reed kontakte?). Danke im vorraus MfG MuKuh
Den Anhang scheine ich doch glatt vergessen zu haben (....) @ Erik: Danke für die Stichwörter - werde mich damit im inet mal schlau machen wie das mit auskoppeln usw funktioniert. Eine Version die nur einen Digitaleingang am uC verlangt hat natürlich auch ihre Vorteile. Die Genauigkeit ist relativ gering (+- 20rpm) da ja der Schaltvorgang ohnehin vom Fahrer ausgelöst wird , allerdings sollte die Wiederholgenauigkeit (ka ob das der richtige Ausdruck ist) relativ gut sein. (Das selbe Signal liefert immer wieder die selbe Drehzahl) @ Sonic: Mein Problem ist eher die externe Beschaltung die ich nicht verstehe. Wie ich von der Periodendauer dur Drehzahl und zur Position komme ist mir schon relativ klar. Aber reden wir weiter wenn ich die Bilder gepostet habe. Danke dennoch schon mal im Voraus @ Christian: Der Motor hat bereits einen Sensor hierfür eingebaut. Das einzige was ich weis ist, dass er seinen Widerstand in Abhängigkeit vom Gang verändert ( evtl. Poti am Schaltgestängehebel ??) Ich messe den Widerstand brutal per Spannungsteiler über einen ADC Eingang. Anzeige per 100mm hohen 7 Segment Display. Danke schon mal im Voraus für eure rasche und freundlich Hilfe. Werde mich in Zukunft sicher häufiger hier im Forum beteiligen. Im Moment komme ich aber leider nur ca alle 4 Tage zum arbeiten also nicht böse sein wenn ich mich längere Zeit nicht melde. lg Stefan PS: Sollte der Anhang wieder nicht funktionieren dann bitte den verwenden "Den Anhang scheine ich doch glatt vergessen zu haben (....) @ Erik: Danke für die Stichwörter - werde mich damit im inet mal schlau machen wie das mit auskoppeln usw funktioniert. Eine Version die nur einen Digitaleingang am uC verlangt hat natürlich auch ihre Vorteile. Die Genauigkeit ist relativ gering (+- 20rpm) da ja der Schaltvorgang ohnehin vom Fahrer ausgelöst wird , allerdings sollte die Wiederholgenauigkeit (ka ob das der richtige Ausdruck ist) relativ gut sein. (Das selbe Signal liefert immer wieder die selbe Drehzahl) @ Sonic: Mein Problem ist eher die externe Beschaltung die ich nicht verstehe. Wie ich von der Periodendauer dur Drehzahl und zur Position komme ist mir schon relativ klar. Aber reden wir weiter wenn ich die Bilder gepostet habe. Danke dennoch schon mal im Voraus @ Christian: Der Motor hat bereits einen Sensor hierfür eingebaut. Das einzige was ich weis ist, dass er seinen Widerstand in Abhängigkeit vom Gang verändert ( evtl. Poti am Schaltgestängehebel ??) Ich messe den Widerstand brutal per Spannungsteiler über einen ADC Eingang. Anzeige per 100mm hohen 7 Segment Display. Danke schon mal im Voraus für eure rasche und freundlich Hilfe. Werde mich in Zukunft sicher häufiger hier im Forum beteiligen. Im Moment komme ich aber leider nur ca alle 4 Tage zum arbeiten also nicht böse sein wenn ich mich längere Zeit nicht melde. lg Stefan PS: Sollte der Anhang wieder nicht funktionieren, dann bitte den hier verwenden: "http://loop0.org/~steve/oszi.zip"
Der Link da oben geht leider nicht wegen den anführungszeichen: http://loop0.org/~steve/oszi.zip <-- SO muss eh heisen sry. lg Stefan
Hat irgendjemand nach dem Betrachten der Oszi Bilder schon eine Idee ? Was ist von einer Schaltung wie hier [ http://www.elektronik-kompendium.de/public/schaerer/st555.htm ] beschrieben zu halten ? mfg Stefan
Hallo, nach DIY ECUs hast Du schon gegoogelt? http://cache.national.com/ds/LM/LM1815.pdf http://megasquirt.sourceforge.net/extra/setup-wheel.html LG
Nein hab ich noch nicht. Aber scheint mir ein verdammt guter Hinweis gewesen zu sein. Vorallem der LM1815 schaut sehr interessant aus. Herzlichen Dank erst mal an dich romanua lg Stefan
Sry dass ich nochmal nach so kurzer Zeit wieder poste - Wird echt mal Zeit mich anzumelden. Weis irgendjemand wo man so ein Teil bekommt, oder wie man zu Samples von National kommt ? Muss man da gewerbetreibend sein ? lg Stefan
Hallo, Stefan, digikey hat das teil. Die DIY ECU Projekte liefern viele Anhaltspunte, vielleicht gibt es auch andere Ansaetze, Induktionsensoren auszuwerten. Eventuell tausche mal deinen gegen einen Hall-Effect Sensor (die von mir bisher gesehenen Nockenwellensensoren waren Hall-Effect Sensoren), der gibt nur High/Low aus , dann hast Du gar keine Probleme mit Auswertung. >Winkelposition der Nockenwelle erfassen/errechnen Geht das nicht ueber den Kurbelwellensensor? Die Nockenwelle hat normallerweise nur einen Impuls per 360 Grad. Bei Deinem Motor scheint es auch der Fall zu sein. Fuer das Timing der Zuendung wird es zu ungenau, fuerchte ich. Meine Lieblingsprojekte sind: http://www.vems.hu/wiki/ und http://www.bgsoflex.com/megasquirt.html LG
Jop habs auch bei Farnell schon gefunden. Ein Sensortausch kommt leider nicht in Frage, da es für alle baugleichen Motoren für jedermann ohne weitere Umbauten verwendbar sein soll (plug'n'play sozusagen) Bei dem Motor (Suzuki GSX 1300R Hayabusa) sieht das Signal der Kurbelwelle genau gleich aus nur mit doppelter Frequenz. In die Zündung wird vorerst nur soweit eingegriffen, das diese (kurzzeitig) unterbrochen wird sobald eine bestimmte Drehzahl (für den Start) erreicht wird. Werde mich in diese DIY ECU Projekte auf jeden Fall weiter einlesen. lg Stefan
Ich habe hier ein grundsätzliches Problem: Wozu ist es notwendig, die genaue Position des Nockenwellensensors zu erfassen? Das ist ein 4 Zylinder 4Takter der durch 2 Zündspulen gezündet werden kann (180° Versatz). Der Nockenwellensensor ist nur dafür da, daß Du herausbekommst, welches Zylinderpaar Du befeuern mußt, der Konkrete Zeitpunkt seines Signals ist Mettwurscht.... Den Genauen Zündwinkel mußt Du schon über das Signal des Kurbelwellensensors ermitteln, dazu reicht es aber aus, das Signal mit einem Schmittrigger zu formen und dann zu erfassen, die Zeitliche Änderung des Signals durch die Änderung seiner Amplitude kompensierst Du austomatisch in den Kennfeldtabellen mit der Einstellung des Zündwinkels.... Wo also ist das Problem? Gruß, Holm
Ich will (für den Anfang) lediglich die Drehzahl erfassen und sonst garnichts. Mein Problem ist die elektronische Schaltung hierzu. z.B.: Schmitttrigger o.Ä. sieh es so: Gegeben: Das Signal wie auf den Bildern die ich gepostet habe Gesucht: Die Frequenz des Signals. Der Rest: EGAL ! lg Stefan
Schicke das Signal über 1,5KOhm auf die Basis eines npn Transistors. evtl von dieser Basis eine Diode mit Kathode am Transistor und Anode an Masse, ggf. zur Störunterdrückung einen Kondensator von ein paar nF parallel zur Diode. Der Transistor erhält einen Kollektorwiderstand von ca. 4,7K nach +5V, dann sollten am Kollektor negative Nadelimpulse zur Auswertung bereit stehen. Experimentiere mal damit. Gruß, Holm
Wenn du einen Schmitt-Trigger bauen willst, dann guck' mal hier: http://de.wikipedia.org/wiki/Schmitt-Trigger Besser erklären kann's keiner.
@holm: Danke für den Tipp, muss mir das ganze mal aufbauen, aber hier muss ich sicher vorher mit OPV Entkoppeln um das Signal nicht zu beeinflussen. Ein weiteres Problem ist, dass sich testen vorallem im oberen Drehzahlbereich sehr Aufwendig gestaltet weil der Motor ja im Buggy verbaut ist und wir dazu jedesmal auf eine Strecke fahren müssen. @Sonic: Wirklich kompakte ERklärung, Danke lg Stefan
Hallo, Melde mich nach langer Zeit wieder mal. Habe eine einfache Lösung durch viele Tests gefunden. Spannungsteiler mit 10k zu 100k Widerständen. Kleinsignaldiode BA157 nach GND und nach +5V. ADC Eingang am AVR und schnell genug messen. Per Timer die Zeiten zwischen den Nulldurchgängen messen und mit f = 1/T Drehzahl ermitteln. Werde hier falls Interesse besteht nähere Details zu gegebener Zeit posten. --> http://users.loop0.org/users/steve/BUGGY/DSC00032.JPG lg Stefan
Hi, ich würde sagen interesse besteht und die "gegebene zeit" sollte nach knapp 4 jahren auch gegeben sein ;-) könntest du die schaltung bzw den quellcode zur verfügung stellen? danke und grüße
Hallo, Wie du schon selber geschrieben hast ist das ganze ca. 4 Jahre her. Den Schaltplan / Code muesste ich erst mal "ausgraben". Es ist aber zumindest schaltungstechnisch so einfach wie oben beschrieben. 2 Widerstaende und 2 Dioden. Dann einen Timer mit Interupteingang nutzen und die Zeit zwischen 2 Nulldurchgaengen ermitteln. Aus heutiger Sicht wuerde ich das auch anders machen, aber damals hat's funktioniert und mir genuegt. LG
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.