Arduino mit Water Flow Sensor

Liebe Leute !
Ich hätte gern eure Hilfe um folgendes Problem zu lösen bzw. zu
erklären.
Ein "WATER FLOW SENSOR" hängt mit Pin 2 am Arduino-Board.
Eine interrupt-routine zählt die Impulse. Funktioniert auch - aber es
werden immer wieder einzelne Impulse gezählt welche nicht vom Sensor
kommen (das Oszi am Eingangspin 2 kann keine Impulse erkennen)! Ein in
der Nähe (0,5 Meter) schaltendes Relais löst aber einige Impuls aus ?!
Gibts dafür eine Erklärung bzw. Lösung ?

Hier der einfache Code:

const byte    FlowPin = 2;
unsigned long Impule=0;
volatile byte ImpulsLedState = LOW;   // Led status
const byte    LedImpuls = 13;         // onboard-led

//################## interruptroutine #####################
// impulse zaehlen und Led status toogeln
void FlowAct() {
  ImpulsLedState = !ImpulsLedState;
  digitalWrite(LedImpuls,ImpulsLedState);
  Impule++;
}

void setup() {
  Serial.begin(9600);   // open the serial port at 9600 bps
  pinMode(LedImpuls, OUTPUT);   // ImpulseLed

  // interrupt Flowmeter
  pinMode(FlowPin, INPUT_PULLUP);
  attachInterrupt(digitalPinToInterrupt(FlowPin), FlowAct, CHANGE);

}

void loop() {
  Serial.print("SUMME Impule: ");
  Serial.println(Impule);
  delay(5000);
}

Was ist das für ein Sensor ?

Evtl. liegt es an einem zu hohen Pullup-Widerstand. Der interne hat ca 20 - 50 kOhm, das kann zu hoch sein.

Setze den mal auf 4,7 k.

Oder du reduzierst die Störungen des Relais. Da hilft ein "Snubber" an den Kontakten!
Was schaltest du mit dem Relais ?

Bitte setze Deinen Sketch in Codetags (oben links </> im Foreneditor oder [code] davor und [/code] dahinter - ohne die *).
Das kannst Du auch noch nachträglich durch Editieren tun. Bitte mach das, der Sketch ist besser zu lesen, besonders auf mobilen Geräten.

Wie ist Dein Eingang beschaltet (Länge, geschirmt, verdrillt, ...), welchen Sensor hast Du dran (Link).

Gruß Tommy

Was ist das für ein Sensor ?

DN25 Water Hall Sensor Switch Liquid Flowmeter Counter DC 5-24V 1-60L/min New | eBay

Evtl. liegt es an einem zu hohen Pullup-Widerstand. Der interne hat ca 20 - 50 kOhm, das kann zu hoch sein.
Setze den mal auf 4,7 k.

hab jetzt versucht - leider kein erfolg

Oder du reduzierst die Störungen des Relais. Da hilft ein "Snubber" an den Kontakten!
Was schaltest du mit dem Relais ?

momentan keine Last - hab jetzt festgestellt das sogar das Einschalten der Neonlampe einige Impulse auslösen ?!

Wie Tommy schon geschrieben hat, setze deinen Sketch in Code-Tags, der ist am Tablet schwer zu lesen.

Warum arbeitest du mit einem Interrupt.

Nehme den Pin mal ganz normal in die Loop (pull) ohne Interrupt.

Ich hatte außerdem noch um Infos zur Anschlßart/-länge gebeten.

Gruß Tommy

@HotSystems:
Wie Tommy schon geschrieben hat, setze deinen Sketch in Code-Tags, der ist am Tablet schwer zu lesen.

jetzt OK

Warum arbeitest du mit einem Interrupt.

weil mein Orginalprogramm viel anderes erledigt (überwachen, berechnen, ausgaben, leds bedienen, ...) - diesen Sketch hab ich nur gemacht um dem Problem auf die Spur zu kommen.

Nehme den Pin mal ganz normal in die Loop (pull) ohne Interrupt.

werd ich versuchen

@Tommy56
Ich hatte außerdem noch um Infos zur Anschlßart/-länge gebeten.

die Länge ist derzeit ~1,5 m / 3pol. Kabel verdrillt - werd mit einen geschirmten versuchen !

PS: das soll ein "Leckage" - system werden !

DANKE für dir Tips

Jetzt ist es ok.

nanofanman:
Warum arbeitest du mit einem Interrupt.

weil mein Orginalprogramm viel anderes erledigt (überwachen, berechnen, ausgaben, leds bedienen, ...) - diesen Sketch hab ich nur gemacht um dem Problem auf die Spur zu kommen.

Dann solltest du Prioritäten setzen.

PS: das soll ein "Leckage" - system werden !

Leckage-System ?
Willst du eine Leckage provozieren ?

Edit:
Und wenn es mit dem 4,7 k nicht reicht, musst du den kleiner machen.

Nach den Infos, die man im Netz findet, scheint das ein Open-Collektor-Ausgang zu sein. Er soll 10 mA bei 5V treiben können, also kannst Du durchaus auf 1kOhm mit dem Pullup runter gehen. Außerdem würde ich nicht auf CHANGE, sondern auf FALLING reagieren, denn OC sind LOW-Aktiv.

Gruß Tommy

Edit: Ich lese gerade Open-Drain, aber der Rest kann bleiben.

Edit: Ich lese gerade Open-Drain, aber der Rest kann bleiben.

Und ich erkenne, dass hier mehrere Foren mit dem gleichen Problem belastet werden.
Meine Hilfe endet damit hier und jetzt.

@combie: Wo noch?

Gruß Tommy

Hier

Danke.

Gruß Tommy

@combie:

Das war ich selbst - hatte in diesen Forum vorallem "häme" geerntet - weil ARDUINO !!!! ??? - deswegen versuch ich hier mein Glück !

@Tommy56:
Nach den Infos, die man im Netz findet, scheint das ein Open-Collektor-Ausgang zu sein. Er soll 10 mA bei 5V treiben können, also kannst Du durchaus auf 1kOhm mit dem Pullup runter gehen. Außerdem würde ich nicht auf CHANGE, sondern auf FALLING reagieren, denn OC sind LOW-Aktiv.

hab dein Anweisungen beherzigt - leider ohne Erfolg - der Versuch mit geschirmten Kabel ist noch offen.

PS: hab den Eindruck das ich hier besser "bedient" werde :wink:

Mach doch mal ein Foto von deinem Aufbau.
Und hast du es mal mit polling versucht ?