Forum: Mikrocontroller und Digitale Elektronik Durchflussmessung mit ATMEGA8


von Glenn Fiedler (Gast)


Lesenswert?

Ich habe vor, den Duchfluss in der Benzinleitung eines Autos für eine
Verbrauchsmessung zu erfassen. Hiefür habe ich den Sensor C 155374 an
INT1 angeschlossen (fallende Flanke löst aus) und zähle alle 6 Sekunden
die Impulse. Der Sensor hat  als Ausgangssingnal: open-Collector NPN
sinking.
Problem ist, dass in Ruhestellung (Medium fließt nicht) innerhalb von 6
Sekunden 44 Impulse gezählt werden. Wenn das Medium fließt, werden die
Impulse korrekt gezählt.
Wo können diese "Störimpulse" herkommen? Und wie kann man diese
Unterdrücken?

von Christoph Kessler (Gast)


Lesenswert?

Hat der Ausgang eine Pullup-Widerstand oder muß der Eingang am - was für
ein Controller ist es eigentlich - einen internen Pullup-R haben, der
oft sehr hochohmig ausgelegt ist, min. 100 kOhm ? Das könnte für
Störimpulse schon zu hoch sein. Manchmal muß ein Pullup-R explizit
eingeschaltet werden (bei CPLDs und FPGAs üblich).
Ein kleiner Kondensator, Größenordnung PullupR*C=...usec jedenfalls
oberhalb der maximal vorkommeneden Impulsfrequenz vom INT1 nach GND
kann hochfrequente Spitzen unterdrücken.

von Sebastian K. (basti)


Lesenswert?

@Christoph: Es ist ein Mega8!
Die Pullups schaltet man mit dem PUD-Register (im SFIOR) ein (dann noch
mit DDxn, PORTxn und PINxn die Datenrichtung festlegen).

MfG

von Glenn Fiedler (Gast)


Lesenswert?

Vielen Dank für den Hinweis mit den Pullups. Ich habe diesen auf 1
gesetzt und siehe da, es funktioniert super.

von wolf4124 (Gast)


Lesenswert?

Hallo Glenn

Kannst du mir mehr über den verwendeten Fühler sagen.
Ich finden leider nicht über ihn.
Wo kann man ihn geziehen?

Gruß und Dank

von wolf4124 (Gast)


Lesenswert?

Hallo Glenn nochmal

Habe ihn gerade bei Conrad gefunden.
Vielleicht sollte ich in Zukunft doch besser die einfachen Adressen
zuerst abgrasen.

Gruß und Guten Rutsch.

von thkais (Gast)


Lesenswert?

@Basti:

6 - setzen. Datenblatt nochmal durchlesen.

Mit dem PUD-Bit kann man die Pull-Ups AUSschalten. Default ist:
Pull-Ups sind an, deshalb muß man am SFIOR nichts ändern.

Die Pull-Ups werden eingeschaltet, wenn bei gelöschtem Richtungs-Bit
(DDxn) das entsprechende Port-Bit (PORTxn) gesetzt wird. PINx hat mit
den Pull-Ups nichts zu tun.

von Läubi (Gast)


Lesenswert?

Mich würde mal interessieren wie du den Angeshclossen hast? Und was für
ein Auto du besizt, wollte sowas auch shconmal machen hab mich aber
ehrlichgesagt noch nicht so wirklich getraut bisher da an der
Benzinleitung was zumachen :D

von Glenn Fiedler (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Basti,

ich habe den Port D kpl. als Eingang deklariert. Und dort, wo der
Durchflussmesser angeschlossen ist, habe ich den PullUp gesetzt. Ist
das so korrekt?

ldi  temp1,0b00000000
out  DDRD,temp1    ;Port D ist Eingang

ldi   temp1,0b00001000
out   PORTD,temp1    ;PULL UP für Eingang Port D3


Hallo Läubi,

ich habe einen Benziner (Daihatsu Cuore, Bj. 2003), der nur eine
Benzinleitung vom Tank zur Einspritzanlage besitzt. Daher benötige ich
auch nur einen Durchflussmesser, der geringe Durchflussmengen
registriert. Ältere Fahrzeuge haben zwei Benzinleitungen vom Tank zum
Motor (Hin- und Rücklauf). Wenn das der Fall ist, braucht man zwei
Durchflussmengenmesser und die für größere Durchflussmengen (hängt von
der Leistung der Benzinpumpe ab). Die Differenz der Durchflussmengen
ist dann der Verbrauch.
Um den Verbrauch zu errechnen, muss man noch die zurückgelegte
Wegstrecke abfragen. D.h., Du musst schauen, ob Dein Auto einen
Geschwindigkeitssensor hat. Bei mir ist das ein kleiner Schalter, der
im Tacho verbaut ist.

Meinen ASM-Code möchte ich lieber nicht publizieren, da ich ein
absoluter Programmieranfänger bin, und daher der Code bestimmt
überarbeitungswürdig ist.

Bei mir läuft jetzt das Programm und ich werde die nächsten Tage die
Sache ins Auto einbauen.

Gruß
Glenn

von Läubi (Gast)


Lesenswert?

Ok, danke berichte mal wies gelaufen ist!
Das Programm wäre dann nicht das Hauptproblem, sondern eher die
Hardware :)
Ich besitze ein etwas älteres Modell (Seat Marbella BJ93 903cm³ Version
mit KAT).
Leider ist aus meinem Reperatur Handbuch nicht ersichtlich ob es nur
eine Zuleitung gibt...
Den zurückgelgeten Weg messe ich z.z. über einen Hallsensor an der
Tachowelle und dem Raddurchmesser, das ist also sozusagen schon
vorhanden ;)

von Marcus (Gast)


Lesenswert?

Fast alle modernen Benziner (und auch Diesel) haben eine Rücklauf-
leitung. Das heißt, es wird ständig eine recht große Menge Benzin
im Kreis gepumpt. Man macht das vor allem, um Dampfblasen durch
heißes Benzin zu vermeiden.
Das Problem dürfte sein, daß die Mengen die da "kreisen" recht groß
sind. Das wird die Genauigkeit der Messung ziemlich negativ
beeinflussen.

Gruß, Marcus

von Glenn Fiedler (Gast)


Lesenswert?

Die Genauigeit der Messung hängt von der Auflösung der Sensoren ab. Wenn
man z.B. eine Genauigkeit von 0,1 l/100km bei einer Geschwindigkeit von
60km/h und 6s Auswerteintervall haben möchte, muss der Sensor alle 0,1
ml ein Signal geben.
Wenn man nur eine Zuleitung zum Motor hat, ist der erwähnte Sensor der
Richtige (C 155374). Doch wie gesagt, der Praxistest folgt in Kürze.

von TOM (Gast)


Lesenswert?

Hallo,

ich habe mir auch Verbrauchsanzeige für mein Auto gebaut. Anfangs habe
ich auch an einen Durchflußmesser gedacht. Die Rücklaufleitung ist aber
wirklich ein Problem, das man nur mit zwei Sensoren lösen kann, die dann
widerum teuer sind.
Ich greifte nun am Einspritzventil die Spannung ab und messe über eine
Pulsdauermessung die Einspritzzeit und summiere diese auf. Da der
Benzindruck vor der Düse gewöhnlich über einen Druckregeler geregelt
wird, kann man davon ausgehen, dass der Durchfluß proportional zur
Öffnungszeit ist. Einmal kalibiriert, funktioiert das Ganze ohne
zusätliche Sensoren wirklich sehr gut.

Gruß

Thomas

von thkais (Gast)


Lesenswert?

@TOM: Das ist die m.E. beste Lösung, die originalen Verbrauchsanzeigen
in den Bordcomputern funktionieren genauso.
Der Benzindruck (die Druckdifferenz zwischen Benzinleitung und
Saugrohr) wird durch einen Druckregler konstant gehalten, so daß man
tatsächlich davon ausgehen kann, daß bei einer bestimmten Zeit eine
bestimmte Menge durch die Einspritzdüse hindurchgeht. Diese Regelung
ist notwendig, da je nach Gasdurchsatz und Drosselklappenstellung ein
anderer Druck im Saugrohr herrscht.
Genauer wirds noch, wenn man die Verzögerung des Einspritzventils durch
die Trägheit des E-Magneten mit einbezieht, also pro Einspritzvorgang
noch eine Konstante mit einberechnet.
Bei den Flügelraddurchflussmessern hat man einige Probleme zu
bewältigen, so laufen sie z.B. verzögert an, haben einen Totpunkt, in
dem sie garnichts anzeigen und die Genauigkeit ist abhängig von der
Einbaurichtung (Achse senk- oder waagerecht). Außerdem ist das Ganze
ein Eingriff in die Benzinleitung - was die Versicherung sagt, wenn das
Auto irgendwann mal abfackelt, kann man sich vorstellen. Man sollte sich
evtl. mal rückversichern, ob durch diesen Eingriff nicht auch die ABE
erlischt.

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
Noch kein Account? Hier anmelden.