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