Hallo Leute, da ich Ende des Jahres wieder zwei Wochen Urlaub habe, plane ich meinem alten Escort (92) ne MFA zu verpassen, also ein ziemlich abgespeckter Bordcomputer. Neben dem Üblichen wie Durchschnittsgeschwindigkeit, Wegstrecke, etc. möchte ich auch eine Durchschnittsverbrauchanzeige nachrüsten. Jetzt stellt sich für mich Frage welcher MC geeignet ist. Zu einem muss ich die aktuelle Geschwindigkeit über 2 ABS Sensoren ermitteln, da nur eine mech. Tachowelle vorhanden ist. Rechnerisch komme ich auf ca 1.8 kHz je Sensor bei Höchstgeschwindigkeit. Das ist ja selbst für die kleinsten MCs zu schaffen. Tatsache ist allerdings, dass ich zusätzlich die Öffnungsdauer der Einspritzventile(4 Stück) benötige um den Durchschnittsverbrauch zu errechnen. Die Einspritzdauer liegt bei ca. 3ms und muss sehr genau erfasst werden können (+- 50µs). Ich benötige jetzt also schonmal min. 6 pin change Interrupts. Dann muss ich noch die ganzen Daten auswerten und auf einem GLCD wiedergeben. Reicht da noch ein "einfacher" MEGA32? Oder doch schon ein ARM? AVR oder ARM ist mir eigentlich egal, ich fands immer einfacher für den AVR zu programmieren(C), was mir hier auch lieber wäre. Allerdings sollte das ganze erweiterbar bleiben und der MC nicht bis an die Belastungsgrenze ausgereizt werden. Hat schon jemand Erfahrung mit ähnlichen Anforderungen? Habt ihr einen Vorschlag welchen MC? Ich bevorzuge übrigens SMD (alles bis auf BGA!). Ich freue mich auf Vorschläge. LG
> Tatsache ist allerdings, dass ich zusätzlich die Öffnungsdauer der > Einspritzventile(4 Stück) benötige um den Durchschnittsverbrauch zu > errechnen. > Die Einspritzdauer liegt bei ca. 3ms und muss sehr genau erfasst werden > können (+- 50µs). Anhand der Einspritzdauer hast Du noch lange nicht den Spritverbrauch. Unterdruck Saugrohr und Einspritzdruck spielen ebenfalls eine Rolle.
> Anhand der Einspritzdauer hast Du noch lange nicht den Spritverbrauch. > Unterdruck Saugrohr und Einspritzdruck spielen ebenfalls eine Rolle. Das ist mir bewusst, allerdings ist es doch so, dass das Steuergerät bzw Pumpe den Einspritzdruck einigermaßen konstant halten, oder liege ich da falsch? Ich bin da noch nicht so "erfahren". Mein Cousin hat Fahrzeug- und Motorentechnik studiert, der hilft mir da noch was bei ;) Es ging mir jetzt in dem Post nur darum, dass ich solche kritischen Größen erfasst bekomme und auch noch verarbeiten kann. Ich denke für die Pumpe brauch ich ja keine Abtastrate von etlichen Kilohertz, oder? LG
@Werner: Bei Benzin-Einspritzern (nicht direkt-Einspritzer) wird das mit einem Druck-Regelventil ausgeglichen. Man hat üblicherweise immer die gleiche Differenz zwischen Benzin und Saugrohr. Ich habe vor Jahren mal eine MFA von VDO zerpflückt, die hat das auch lediglich aus den Steuerzeiten der Ventile berechnet. Dort wurde nur eine Konstante abgerechnet (Reaktionszeit des Ventils). Auf jeden Fall ist das genauer, als die teilweise vorgeschlagenen Lösungen mit zwei Durchflussmessern, deren Differenz ausgewertet wird. Bezahlbare Durchflusssensoren glänzen nicht gerade durch hohe Genauigkeit. @Dennis: Ich würde zeitkritische Dinge wie das Messen der Einspritzzeiten von einem eigenen µC erledigen lassen. In Deinem Fall einen für Einspritzzeiten, einer für Geschwindigkeit (das könnte auch ein Tiny sein) und einer für das Display. Der Vorteil wäre, dass man nicht nur die Hard- sondern auch die Software modular aufbauen kann und sich nicht mit Seiteneffekten rumschlagen muss, wenn die Zeit mal knapp wird. ARM würde ich mir nicht unbedingt antun, da ist die Einstiegshürde um einiges höher als bei den AVRs.
Marvin M. schrieb: > @Werner: Bei Benzin-Einspritzern (nicht direkt-Einspritzer) wird das mit > einem Druck-Regelventil ausgeglichen. Man hat üblicherweise immer die > gleiche Differenz zwischen Benzin und Saugrohr. Ich habe vor Jahren mal > eine MFA von VDO zerpflückt, die hat das auch lediglich aus den > Steuerzeiten der Ventile berechnet. Dort wurde nur eine Konstante > abgerechnet (Reaktionszeit des Ventils). Nur weil das bei DEINEM Auto so war, ist das nicht bei allen so!!! Wie soll es auch anders sein, die vielen Hersteller haben im Laufe einer langen Entwicklungsgeschichte schon so ziemlich alle Prinzipien in Autos verbaut, die funktionieren können. Beispiel: Mein Renault Clio hat keinen unterdruckgeführten Benzindruckregler, sondern einen Saugrohrdruckfühler um die EInspritzzeiten anzupassen. Heißt also: Schlau machen, wie es bei exakt dem Escort in den es eingebaut werden soll, funktioniert.
Klaus schrieb: > Heißt also: Schlau machen, wie es bei exakt dem Escort in den es > eingebaut werden soll, funktioniert. Also der Escort hat auf jeden Fall einen MAP-Sensor, der Einspritzdruck sollte bei 3 bar liegen, kann aber um 0.2 Bar variieren. Wohl nicht ganz konstant... Ich weiß jetzt nicht, ob das kritisch ist und ob ich das messen muss, da muss ich dann mal meinen Cousin fragen. Marvin M. schrieb: > @Dennis: > Ich würde zeitkritische Dinge wie das Messen der Einspritzzeiten von > einem eigenen µC erledigen lassen. In Deinem Fall einen für > Einspritzzeiten, einer für Geschwindigkeit (das könnte auch ein Tiny > sein) und einer für das Display. Der Vorteil wäre, dass man nicht nur > die Hard- sondern auch die Software modular aufbauen kann und sich nicht > mit Seiteneffekten rumschlagen muss, wenn die Zeit mal knapp wird. ARM > würde ich mir nicht unbedingt antun, da ist die Einstiegshürde um > einiges höher als bei den AVRs. Also für die ABS-Sensoren würde ich einen ATTINY2313A-SU verwenden und für die Anzeige und Auswertung einen ATMEGA168A-AU. Hat jemand Vorschläge welchen Controller ich bzgl. der Einspritzung nehmen könnte? Ich denke mal das Abtasten der 4 Ventile mit jeweils 100 kHz sollten schon drin sein. Reicht da auch der ATTINY2313? Kommunikation der MCs untereinannder würde ich dann wohl über SPI realisieren. LG
Dennis schrieb: > Ich benötige jetzt also schonmal min. 6 pin change Interrupts. Such dir einen µC mit 6 Capture/Compare Timern und gut ist es. 2 der Timer für die ABS Sensoren, die anderen 4 für die Einspritzzeiten. Lass das alles von der Hardware messen und nur einen Interrupt NACH der Messung zum abholen der Daten. Von der Rechenleistung würde EIN MegaX reichen, ich weiß aber jetzt nicht wie viele CapCom Timer die haben. Mit dem Display ist das so ne Sache, reicht dir ein Textdisplay, dann auch hier der MegaX. Willst du schön bunte Grafik haben freunde dich mit ARM an, die sind an RAM bedeutend besser ausgestattet. Marvin M. schrieb: > Ich würde zeitkritische Dinge wie das Messen der Einspritzzeiten von > einem eigenen µC erledigen lassen. In Deinem Fall einen für > Einspritzzeiten, einer für Geschwindigkeit (das könnte auch ein Tiny > sein) und einer für das Display. Unsinn viel zu komplex und absolut unnötig. Der EINE µC langweilt sich schon zu tode. Dennis schrieb: > Zu einem muss ich die aktuelle Geschwindigkeit über 2 ABS Sensoren > ermitteln, da nur eine mech. Tachowelle vorhanden ist. Der Wagen hat eine elektronisches ABS ? Du darfst an diese Sensoren nicht ran, kannst sonst das ABS stören bis eventuell sogar komplett außer Funktion setzen. Aber viele ABS Steuergeräte geben die Geschwindigkeit als Rechtecksignal ( meist 50% dutycycle mit variabler Frequenz) auf ihrem Stecker aus. Dieses Signal ist extra dafür gedacht das andere Steuergeräte von dort die Geschwindigkeitsinformation bekommen. Ist es nur ein Signal, dann bereist ein aufbereitetes Summensignal aus allen 4 Radgeschwindigkeiten. Bei 2 Signalen meistens einzel Radgeschwindigkeiten die nicht angetriebenen Rädern. und bei 4 Signalen alle einzel Radgeschwindigkeiten.
Dennis schrieb: > Tatsache ist allerdings, dass ich zusätzlich die Öffnungsdauer der > Einspritzventile(4 Stück) benötige um den Durchschnittsverbrauch zu > errechnen. > Die Einspritzdauer liegt bei ca. 3ms und muss sehr genau erfasst werden > können (+- 50µs). Ich würde nur eines der 4 Ventile auswerten. Die Übrigen verhalten sich ja analog dazu. Und wenn das rechte und linke Rad sich stark unterschiedlich schnell drehen hast Du ganz andere Probleme als den Durchschnittsverbrauch ;-) Gruß Anja
Ralph schrieb: > Der Wagen hat eine elektronisches ABS ? > > Du darfst an diese Sensoren nicht ran, kannst sonst das ABS stören bis > eventuell sogar komplett außer Funktion setzen. > > Aber viele ABS Steuergeräte geben die Geschwindigkeit als Rechtecksignal > ( meist 50% dutycycle mit variabler Frequenz) auf ihrem Stecker aus. > Dieses Signal ist extra dafür gedacht das andere Steuergeräte von dort > die Geschwindigkeitsinformation bekommen. > Ist es nur ein Signal, dann bereist ein aufbereitetes Summensignal aus > allen 4 Radgeschwindigkeiten. Bei 2 Signalen meistens einzel > Radgeschwindigkeiten die nicht angetriebenen Rädern. und bei 4 Signalen > alle einzel Radgeschwindigkeiten. Mein ABS hat nur zwei Sensoren an der Antriebsachse vorne und im Fall eines Blockierens regelt es die hinteren Räder "über Kreuz" mit. Das ABS-System ist weit über 20 Jahre alt, ich bezweifel, dass da ein Geschwindigkeitssignal ausgegeben wird. Belegt wird das nochmal durch die mech. Tachowelle. Selbst wenn würde ich nicht an dieses Signal rankommen, da der Stecker nicht "anzapfbar" ist und das Steuergerät an sich schon einen ganzen Kabelbaum benötigt. Hier mal ein Bild (http://www.callparts.de/sites/default/files/productimages/ALB11000117122059/1272274.jpg) Was spricht denn dagegen das Signal am Sensor abzugreifen zum Beispiel mit 10 kOhm Widerstand oder Optokoppler dazwischen? LG
Anja schrieb: > Dennis schrieb: >> Tatsache ist allerdings, dass ich zusätzlich die Öffnungsdauer der >> Einspritzventile(4 Stück) benötige um den Durchschnittsverbrauch zu >> errechnen. >> Die Einspritzdauer liegt bei ca. 3ms und muss sehr genau erfasst werden >> können (+- 50µs). > > Ich würde nur eines der 4 Ventile auswerten. Die Übrigen verhalten sich > ja analog dazu. > Und wenn das rechte und linke Rad sich stark unterschiedlich schnell > drehen hast Du ganz andere Probleme als den Durchschnittsverbrauch ;-) > > Gruß Anja Ok, das mit den Ventilen hört sich logisch an. Wenn die Räder sich stark unterschiedlich schnell drehen, geht das ABS-Steuergerät ja von Blockieren eines Rads aus und wird anfangen zu regeln. Im Normalbetrieb passiert das ja nicht, und daher wollte ich beide Radgeschwindigkeiten (rechts u. links) auswerten um eine Durchschnittsgeschwindigkeit bzw. höhere Genauigkeit zu erhalten (zum Beispiel beim Durchfahren einer Kurve). Wenn das ABS schon regelt, interessiert mich Verbrauch und Geschwindigkeit in dem Moment eh nicht ;) LG
Dennis schrieb: > (rechts u. links) auswerten um eine > Durchschnittsgeschwindigkeit bzw. höhere Genauigkeit zu erhalten Wenn das eine Rolle spielt dann müßtest Du aber auch die batteriespannungsabhängige Ventilverzugszeit berücksichtigen ... Oder fährst Du nur immer im Kreis auf der Kart-Bahn. Gruß Anja
Hallo, ich habe mal genau so ein System gebaut für meinen 96' nissan primera. hab mit nem mega48 die auswertung gemacht, genau wie du machen willst. Die Einspritzzeiten gemessen und über das Tachosignal kann ich den Spritverbrauch berechnen. Da braucht es nicht viel REchenpower. habs sogar in C geschrieben.
Du solltest dich mit Tobias N. (silberkristall) zusammen tun, der hat auch sowas vor, und ist schon richtig weit fortgeschritten ;-) Beitrag "Projekt: Bordcomputer"
Dennis schrieb: > Zu einem muss ich die aktuelle Geschwindigkeit über 2 ABS Sensoren > ermitteln, da nur eine mech. Tachowelle vorhanden ist. Es gab für Navis die mit Gyro und Wegstreckensignal "mitkoppelten" kleine Gebermodule, die zwischen Tachowelle und Tacho gesetzt werden konnten. Manchmal waren die sogar serienmäßig verbaut und erzeugten ein Signal für die geschwindigkeitsabhängige Lautstärkensteuerung des Radios. Grüße Stefan
Den Verbrauch über das Tastverhältnis der Einspritzdüsen zu ermitteln kann man vergessen. Viel zu ungenau, da erstens der Kraftstoffdruck nur relativ grob geregelt wird und zweitens der Saugrohrdruck natürlich nie konstant ist (niedriger Saugrohrdruck = größere Kraftstoffmenge bei gleichem Raildruck). Besonders witzlos ist die Verbrauchsanzeige von BMW, die direkt den Saugrohrunterdruck anzeigt. Da kann man gleich die Stellung des Gaspedals nehmen. Die einzig vernünftige Methode ist die Luftmenge (MAF) zu benutzen. MAF/14.7 ergibt immer den aktuellen Verbrauch. Aber idealerweise würde man die Verbrauchswerte von irgendeinem Bus abgreifen. Siehe auch http://www.lightner.net/lightner/bruce/Lightner-183.pdf
Zum Thema 4x Interrupt Capture Pins für Einspritzzeiten. Ich sag nur Unnötig. Bei einem Vierzylinder werden niemals alle vier Einspritzdüsen gleichzeitig arbeiten. Das schlimmste was ich mir vorstellen könnte wären das sich die Einspritz-Zeiten von zwei Zylindern überschneiden. Dies halte ich aber für extrem unwahrscheinlich (KFz Spezies mögen mich hier bitte korrigieren) Es würde völlig reichen wenn man die Steuersignale der Ventile über ein ODER-Gatter (bzw. ein UND-Gatter bei negativer Logic) zusammenfassen würde. Die Länge der Öffnungszeiten könnten dann in der Zündreihenfolge nacheinander an einem Input Capture Pin gemessen werden. Sollten sich die Einspritzzeiten von Zwei Zylindern überschneiden, dann bräuchte man lediglich zwei ICPs. (1x für Zy 1+4; 1x für Zyl 2+3)
Anja schrieb: > Wenn das eine Rolle spielt dann müßtest Du aber auch die > batteriespannungsabhängige Ventilverzugszeit berücksichtigen ... > > Oder fährst Du nur immer im Kreis auf der Kart-Bahn. > > Gruß Anja Die Ventilverzugszeit beträgt bei meinen Ventilen ziemlich genau 0.5ms ;) Werner Heisenberg schrieb: > Den Verbrauch über das Tastverhältnis der Einspritzdüsen zu ermitteln > kann man vergessen. Viel zu ungenau, da erstens der Kraftstoffdruck nur > relativ grob geregelt wird und zweitens der Saugrohrdruck natürlich nie > konstant ist (niedriger Saugrohrdruck = größere Kraftstoffmenge bei > gleichem Raildruck). > > Besonders witzlos ist die Verbrauchsanzeige von BMW, die direkt den > Saugrohrunterdruck anzeigt. Da kann man gleich die Stellung des > Gaspedals nehmen. > > Die einzig vernünftige Methode ist die Luftmenge (MAF) zu benutzen. > MAF/14.7 ergibt immer den aktuellen Verbrauch. > Wie gesagt, die Pumpe liefert einen Druck von 3 bar und ein MAP-Sensor zur Bestimmung des Saugrohrunterdrucks ist auch vorhanden. Du sprichst jetzt eine Methode über Luftmassenmessung an. Wie funktioniert das? Geht man davon aus, dass die Verbrennung bei λ=1 stattfindet und errechnet daraus die eingespritzte Kraftstoffmenge? Also ein Luftmassenmesser ist auch vorhanden, wenn es damit also einfacher geht... OBD ist nicht vorhanden, das Auto ist einfach zu alt. LG
Elektronische Einspritzungen sind gut darin, sehr genau ein Lambda von 1 einzuhalten. Die Luftmenge ist also die genaueste Methode (langfristig, kurzfristig kann es da natürlich auch Schwankungen geben). OBD ist nur ein Standard. Praktisch alle elektronischen Einspritzungen haben aber einen Diagnosestecker mit einem seriellen Signal an dem diverse Daten ausgegeben werden. Ist halt herstellerspezifisch. Zu manchen gibts Infos im Netz (z.B. Suzuki).
Den mechanischen Tacho kann man sehr gut per Hall-Sensor auswerten, wäre zumindest eine Überlegung wert.
Werner Heisenberg schrieb: > Die Luftmenge ist also die genaueste Methode Es gibt allerdings auch Phasen mit Schubabschaltung ... Gruß Anja
Anja schrieb: > Werner Heisenberg schrieb: >> Die Luftmenge ist also die genaueste Methode > > Es gibt allerdings auch Phasen mit Schubabschaltung ... > > Gruß Anja Soviel wie die Kiste schluckt, bezweifel ich ganz ehrlich, dass die ne Schubabschaltung hat, wobei man da dann halt auch einfach ein Einspritzventil anzapfen könnte um das zu testen. Ich denke ich werde einen Coretx-M3 aus der LPC18xx Serie nehmen. Da hab ich von SD/MMC bis USB zum Logging alles dabei. Auch wenn ich mit ARM nicht ganz so erfahren bin...irgendwann muss man ja mal anfangen ;) Ich bedanke mich nocheinmal recht herzlich bei allen hier. Wahrscheinlich werde ich bzgl. des Verbrauchs die Methode mit dem LMM verwenden und mich mal genauer mit den Möglichkeiten beschäftigen, die Geschwindigkeit am Tacho abzunehmen, um nicht am ABS rumfummeln zu müssen. LG
Dennis schrieb: > und mich mal genauer mit den Möglichkeiten beschäftigen, die > Geschwindigkeit am Tacho abzunehmen, um nicht am ABS rumfummeln zu > müssen. sehr gute Idee
Dennis schrieb: > Zu einem muss ich die aktuelle Geschwindigkeit über 2 ABS Sensoren > ermitteln, da nur eine mech. Tachowelle vorhanden ist. > Rechnerisch komme ich auf ca 1.8 kHz je Sensor bei > Höchstgeschwindigkeit. An den ABS Sensoren? Normalerweise gehöre ich überhaupt nicht zu denen die mit dem mahnenden Finger zeigen, aber ans Bremssystem gehen und in die Elektronik eingreifen? Selbst wenn bei einem Unfall du nicht Schuld bist und dein System nicht zum Versagen der Bremse führte. Wie willst du das beweisen? Dein Versicherer und auch der des Unfallgegners wird sich freuen, weil du dann alles selbst zahlst. Guck mal, ob du ein W Abgriff an der Lichtmaschine hast und vielleicht kannst du da was mit anfangen. Darüber kannst du zumindest schon mal die Drehzahl erfassen. Aber bitte Dennis(!), lass die Finger von der Bremsanlage!!! Gruß Frank
Anja schrieb: > Werner Heisenberg schrieb: >> Die Luftmenge ist also die genaueste Methode > > Es gibt allerdings auch Phasen mit Schubabschaltung ... > > Gruß Anja Hallo Anja, immer sehr knapp dabei, aber richtig auf Scheibe! :-)) Lieben Gruß Frank
Moin,
mal abgesehen davon, dass man den Durchschnittsverbrauch nicht auf 1/100
l/km zu wissen braucht....
Ich habe auch schon Stromlaufpläne gesehen, bei denen die
Einspritzventile nicht einzeln angesteuert werden, sondern parallel. Sie
öffnen sich scheinbar erst dann, wenn der Unterdruck ausreicht. Bei
einem solchen System wäre es sowieso nicht sinnvoll, die Signale einzeln
abzunehmen.
@Klaus: Ja, die Franzosen haben schon immer seltsame Dinge ins Auto
eingebaut.
@Ralph:
>Unsinn viel zu komplex und absolut unnötig. Der EINE µC langweilt sich
schon zu tode.
Mag sein, dass man genügend Rechenzeit hat. Aber wehe, man verhaspelt
sich bei der Software und irgendwo wird ein Interrupt verschluckt. Viel
Spaß beim Suchen, wenn sowas sporadisch auftritt - sofern man sowas
überhaupt merkt.
Wegen der 2 Euro und ein paar Leiterbahnen auf der Platine mehr kann man
nicht von "Komplex" sprechen - dafür wird die Software wesentlich
vereinfacht und man ist für Erweiterungen offen. Schonmal Gedanken
gemacht, weshalb die Autoindustrie für jede Funktion ein eigenes
Steuergerät einbaut? Da hat sogar die Innenraumbeleuchtung einen eigenen
µC....
Marvin M. schrieb: > @Klaus: Ja, die Franzosen haben schon immer seltsame Dinge ins Auto > eingebaut. Wahrere Worte wurden nie gesprochen :D
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.