Flowmeter für Dieselverbrauch

Ich will mir für meine Auto eine Dieselverbrauchs Anzeige bauen.

Dazu habe ich mir folgenden Sensor gekauft:
http://www.conrad.ch/ce/de/product/150391/

Als Pullup Widerstand habe ich einen 1.6kOhm eingesetz.

int liter= 0;

void setup(){
 Serial.begin(9600);
  attachInterrupt(4, count, LOW);  //Leonardo Pin 7
}

void loop(){
  Serial.println(liter);
}

void count(){
liter++;
}

Mit diesem Code wird jedoch kein einziger Impuls gezählt! Was ist da falsch???

Mach Liter mal als volatile, dann wird's schon besser.

Leider bring das auch nichts! :~

Dann mache ich mal mein erstes Wochenendposting... :wink: Kannst du mal ein Bild von deiner Beschaltung machen? Vielleicht ist da ja etwas faul. Gibt der Durchflussmesser überhaupt Impulse aus? Sollte man erst einmal Nachmessen, bevor man die Software verdächtigt. Und wo wie schon beim Sketch sind, da solltest du auf FALLING triggern.
Welchen Arduino besitzt du denn, dass du int4 benutzen kannst? Einen Mega2560, einen Leonardo oder was ganz anderes?

[edit] Aha, ein Leonardo. Hab ich vermutlich im Eifer des Gefechts überlesen.

Die Serial-Ausgabe sollte man auch etwas verzögern. Das muss man nicht ständig machen. Und die Schnittstelle arbeitet sowieso nicht so schnell.

unsigned long previousMillis;
int interval = 500;

void loop()
{
     unsigned long currentMillis = millis();
     if(currentMilllis - previousMillis > interval)
     {
          previousMillis = currentMillis;
          Serial.println(count);
     }
}

Irgendwo:
Dazu habe ich mir folgenden Sensor gekauft:
http://www.conrad.ch/ce/de/product/150391/

Als Pullup Widerstand habe ich einen 1.6kOhm eingesetz.

Der Hallsensor der die Impulse generiert, braucht eine Versorgungspannung. 5-24VDC. Weiß zwar nicht wieso bei einem PNP Transistor ein Pullup Widerstand nehmen soll aber versuchs mal. Falls es immernochnicht funktioniert dann hängst Du den Widerstand auf Masse (Pulldown).

http://www.produktinfo.conrad.com/datenblaetter/150000-174999/150391-da-01-ml-DURCHFL_FCH_M_POM_LC_G1_8_2XM5_de_en.pdf rechts ist die Pinbelegung

Jetzt weiß ich nicht welchen Sensor Du gekauft hast aber:
D1: 10000 Impulse/l, D3: 2500 Impulse/l
Du mißt nicht die Liter sondern 1/2500 bzw 1/10000-stel Liter. Darum nimm eine unsigned long Variable ansonsten hast Du nach 3 Litern ein perpetuum mobile (negativen Verbrauch)

Grüße Uwe

uwefed:
Weiß zwar nicht wieso bei einem PNP Transistor ein Pullup Widerstand nehmen soll aber versuchs mal. Falls es immernochnicht funktioniert dann hängst Du den Widerstand auf Masse (Pulldown).

Ich glaube nicht, dass das was bringt. In dem von dir verlinkten Datenblatt hat der Sensor ja einen offenen Kollektor eines NPN-Transisors, daher istein PullUp erforderlich. Ich verstehe die weitere Angabe mit dem PNP so, dass abhängig von der weiteren Beschaltung "hinter" dem Open Collector ein PNP gesetzt werden kann.
Ansonsten wäre ein Foto wirklich interessant, vielleicht fehlt ja nur noch eine Masseverbindung. :wink:

Vielen Dank erstmal. Der Code welcher ich gepostet habe ist nur zu Testzwecken!
Mir ist klar das ich keine Liter (int liter) messe.

Jetzt weiß ich nicht welchen Sensor Du gekauft hast aber:
D1: 10000 Impulse/l, D3: 2500 Impulse/l
Du mißt nicht die Liter sondern 1/2500 bzw 1/10000-stel Liter. Darum nimm eine unsigned long Variable ansonsten hast Du nach 3 Litern ein perpetuum mobile (negativen Verbrauch)

D1 und D3 ist derselbe Sensor nur mit oder ohne Düse(Düse = verkleinern des Durchflussdurchmessers).

Mit dem Fluke Multimeter messe ich eine Frequenz zwischen 4 und 110 Hz, min Spannung 0.04V / max 5.02V.
Messung zwischen Ground und Sensorausgang.
Somit ist meiner Ansicht nach alles in Ordnung mit der Beschaltung, das mit dem PullDown werde ich jedoch mal versuchen!

Auf Falling Triggern habe ich ebenfalls schon ausprobiert -> kein Erfolg

Heute Abend werde ich das mit dem PullDown probieren und wenn das nicht klappt, ein Foto posten.

Am besten mal die Schaltung posten.

Irgendwo:
Vielen Dank erstmal. Der Code welcher ich gepostet habe ist nur zu Testzwecken!
Mir ist klar das ich keine Liter (int liter) messe.

Jetzt weiß ich nicht welchen Sensor Du gekauft hast aber:
D1: 10000 Impulse/l, D3: 2500 Impulse/l
Du mißt nicht die Liter sondern 1/2500 bzw 1/10000-stel Liter. Darum nimm eine unsigned long Variable ansonsten hast Du nach 3 Litern ein perpetuum mobile (negativen Verbrauch)

D1 und D3 ist derselbe Sensor nur mit oder ohne Düse(Düse = verkleinern des Durchflussdurchmessers).

Mit dem Fluke Multimeter messe ich eine Frequenz zwischen 4 und 110 Hz, min Spannung 0.04V / max 5.02V.
Messung zwischen Ground und Sensorausgang.
Somit ist meiner Ansicht nach alles in Ordnung mit der Beschaltung, das mit dem PullDown werde ich jedoch mal versuchen!

Auf Falling Triggern habe ich ebenfalls schon ausprobiert -> kein Erfolg

Heute Abend werde ich das mit dem PullDown probieren und wenn das nicht klappt, ein Foto posten.

Eigentlich müßte das mit diesen gemessenen Werten funktionieren.
Poste mal außer dem Foto auch den gesamten Sketch.
Grüße Uwe

Nun habe ich mal den Pin gewechselt Pin 3 Interrupt 0 und dann klappts!!!!

Vielen Dank für eure Hilfe

@Irgendwo: Die Dieselmotoren die ich kenne haben eine Vorlaufleitung und eine Rücklaufleitung.
Somit wirst du einen zweiten Sensor im Rücklauf brauchen.

Ja genau einer zählt den Vorlauf der andere den Rücklauf und dann wir "abgerechnet"! :slight_smile: