Forum: Mikrocontroller und Digitale Elektronik Probleme mit Duchflußmeßzelle an µC


von Michael S. (kruschty)


Lesenswert?

Hallo,

ich versuche mit einer Duchflussmesszelle 
(http://www.btflowmeter.com/fileadmin/PDF/Flowmeter/96103140_FCH-m-Pom.pdf)
an einem Atmega2560 den Duchfluss nach einer 230V Pumpe zu messen.

Das Ausgangssignal (NPN Open Collectort) der Messzelle ist mit T0 
(Timer0 als Counter) verbunden.

Zuerst hatte ich den Ausgang direkt verbunden und den Pull-Up aktiviert, 
da konnte ich keine Impulse zählen.

Ohne Pull-Up kann ich zwar zählen aber es wird auch gezählt wenn keine 
Flüssigkeit fließt (Pumpe aus).
Das passiert aber immer nur wenn an der zweiten Platine, die die Pumpe 
steuert, 230V anliegt.

Bei der Suchen bin ich auf den Beitrag 
Beitrag "Flow-Messung mit der C-Control Pro"] und habe wie 
vorgeschlagen aus dem Datenblatt 
http://www2.produktinfo.conrad.com/datenblaetter/175000-199999/187151-da-01-de-Durchflussmesser.pdf 
nach dem Abschnitt "TTL Output" meine Schaltung geändert.

Leider habe ich jetzt wieder das Ergebnis das einfach nichts gezählt 
wird.

Hat jemand eine Idee und Tipps für mich?
Ich bin mir jetzt schon alleine unsicher wie ich die Durchflussmesszelle 
richtig an den µC anschließe :-(

Muss dazu sagen das ich mich noch nicht lange mit µC befasse, meine 
Elektronik-Kenntnisse sind auch eher bescheiden da ich seit meiner 
Elektroausbildung vor 15 Jahre fast nichts in diesem Bereich gemacht 
habe.
Programmiert wird momentan mit Bascom und C#...

Vorab vielen Dank für eure Hilfe!

von Lutz (Gast)


Lesenswert?

Schwierig zu sagen, dieses "Datenblatt" gibt ja nicht allzuviel her. 
So wie ich das interpretiere, liegt bei einem Impuls die Betriebspannung 
+UB des Sensors am Ausgang SIGNAL(OUT) des Selbigen an.
Da kommt natürlich die Frage, wie groß die Spannung denn bei Dir ist und 
ob sie auch in der Spezifikation Deines ATMEGAs liegt (sofern sie nicht, 
wie sich das gehört, galvanisch entkoppelt ist). Besonders spannend ist 
bei solchen Schaltungen auch die Wahl der Masse. Haben beide Schaltungen 
die Gleiche? Die jeweiligen Spannungen sind auch schön stabilisiert und 
durch Kondensatoren gepuffert? Die 230V der Pumpe können keine Einflüsse 
auf Sensor oder ATMEGA haben (Strom- bzw. Spannungsspitzen)?
Das die Frequenz Deines ATMEGAS und daraus resultierend auch der Timer 
richtig dimensioniert ist, setze ich mal voraus (2.500 Impulse pro Liter 
=> Du willst nicht 100 Liter pro Minute bei 32,768 kHz Takt messen 
etc.). Mehr fällt mir ganz spontan leider auch nicht ein.

von Michael S. (kruschty)


Lesenswert?

Hallo Lutz,

die Messzelle wird mit 5V versorgt.

µC, Messzelle, und 2St. SSR R36MF2 von Sharp, die eine Pumpe und ein 
Ventil schalten, wird momentan per Steckernetzteil über einen 7805 (mit 
3 Kondensatoren) versorgt, das heiß alles eine Masse.

Die Störungen treten auch auf wenn die Pumpe/das Ventil nicht aktiviert 
ist, d. h. wenn die 230V nur an den SSR anliegen, die aber noch nicht 
durchgeschalten sind. Wenn ich die 230V abhänge gibt es keine Störungen.

Der Atmega läuft mit 16MHz, ist das RN-Mega 2560-Modul 
http://www.shop.robotikhardware.de/shop/catalog/product_info.php?cPath=64&products_id=162.

Für 1 Lt. braucht die Pumpe (Ulka EP8) etwa 1,5 Minuten, daran sollte es 
also auch nicht liegen

von Lutz (Gast)


Lesenswert?

Hallo Michael,

>> Zuerst hatte ich den Ausgang direkt verbunden und den Pull-Up aktiviert,
>> da konnte ich keine Impulse zählen.

>> Ohne Pull-Up kann ich zwar zählen aber es wird auch gezählt wenn keine
>> Flüssigkeit fließt (Pumpe aus). Das passiert aber immer nur wenn an
>> der zweiten Platine, die die Pumpe steuert, 230V anliegt.

Der erste Absatz bestätigt meine Vermutung (bzw. untermauert sie 
zumindest), daß der Sensor bei einem Impuls eine Spannung ausgibt. Wenn 
Du dann den Pull-up aktivierst, ist der Eingang des Counters natürlich 
immer "high", egal ob gerade ein "high"-Pegel des Sensors kommt oder 
nicht. Ohne Pull-up konntest Du ja zählen. Irgendwie scheint die 
Platine, welche die Pumpe schaltet, ein etwas unsauberes Signal an 
Deinem Counter zu erzeugen.

Ich empfehle, mal testweise einen externen Pull- down von 10k an 
Deinen Countereingang zu legen. So ziehst Du den Pegel, wenn gerade kein 
Impuls (=> "high"-Pegel) anliegt, definiert auf Masse/"low". Auch 
kleinere Einstreuungen von der Pumpenplatine sollten sich so eleminieren 
lassen.

Wenn Du ein Oszilloskop hättest, wäre es natürlich interessant, die 
falschen Spannungsspitzen, die vermutlich durch die Pumpenplatine 
erzeugt werden, quasi als Beweis darzustellen.

Wenn das mit dem Pull-down klappt (oder auch nicht klappt), wäre so oder 
so eine galvanische Entkopplung von Hoch- und Niederspannung sinnvoll, 
da Du Dir da je definitiv etwas einfängst. Spricht eigentlich etwas 
dagegen, die SSRs gegen konventionelle Relais auszutauschen (hohe 
Schaltfrequenz o.ä.)? Evtl. auch das einfach mal testweise ausprobieren; 
die Probleme sollten dann esrt recht weg sein.

von Rakf82k (Gast)


Lesenswert?

Open Collector bedeutet normalerweise das das Signal immer gegen Masse 
gezogen wird und sonst frei floatet. Deshalb einen "pull up" Widerstand 
(ist auch so im Datenblatt eingezeichnet) an die 5V des µC. Ich würde 1k 
nehmen und zusätzlich noch einen kleinen Kondensator (100n) gegen Masse, 
damit Störungen unterdrückt werden.

von Ruppi66 (Gast)


Lesenswert?

Hallo,
nach meiner bisherigen Erfahrung mit Durchflusssensoren müsste der
Sensor wie folgt angeschlossen werden:
1 = 5V
2 = GND
ERDE = Signal = Timereingang AVR
Dann einen Pull-Up von ca. 4,7k (1mA reicht) zwischen 5V und Signal und 
einen Kondensator von ca. 1..10nF zwischen Signal und Ground (eine 
höhere Kapazität verschleift das Signal zu stark, da das Signal 
höherfrequender ist, als das der Digmesa-Sensoren.
Wichtig ist die GND-Leitung. Sie muss stabil sein, damit das System sich 
nicht aufschwingt.
Außerdem achte auf Deine Sensor-Leitung (nicht in Nähe der Pumpe und 
richtig angecrimpten Kontakten (Ohmmeter)) und das der Sensor nicht in 
der unmittelbaren Nähe zur Pumpe ist. Im Sensor ist eine Hallsonde, 
welche sonst beeinflusst wird und "Plaudert".
Teste Dein System und Software erstmal indem Du anstelle des Sensors 
eine kleine Taktgeberschaltung (NE555) oder einen Frequenzgenerator mit 
OC-Ausgang (ggf durch Transistorstufe realisieren) anschließt.

Jörg

von Rakf82k (Gast)


Lesenswert?

Also höherfrequend sieht bei mir anders aus. Da seine Pumpe gerade mal 
0,7L/min schafft, sind das bei seinem Sensor 1750Pulse/min. Das macht 
gerade mal 30Hz. 1k mit 100n (welcher direkt am Eingangspin des µC 
sitzt) hat eine Grenzfrequenz von 1600Hz. Also völlig ausreichent. 
Einziges Problem kann sein, dass bei 1k der Phototransistor das Signal 
nicht mehr ganz auf 0V ziehen kann. Aber im Datenblatt steht was von 
25mA. Denke das reicht.

Grüße Ralf

von Lutz (Gast)


Lesenswert?

Ähem, wie peinlich. Wer lesen kann, ist klar im Vorteil. Sowohl im 
ersten Post als auch im "Datenblatt" steht "Open Collector". Somit ist 
natürlich Pull- up richtig.
Trotzdem ist dann natürlich das Verhalten komisch, daß es mit Pull-up 
nicht geht, aber ohne schon. Da Michael auch schon geschrieben hat, daß 
es die gleiche Masse ist, ist auch die Frage nach internem oder externem 
Pull-up egal. Neben der (sowieso besseren) galvanischen Trennung fällt 
mir jetzt nur noch die Größe des Pull-up's als Variable ein, die man 
vielleicht mal von 1-10k durchtesten könnte.

von Ruppi66 (Gast)


Lesenswert?

Hallo,

Ralf hat völlig recht, die Frequenz ist sehr klein. Habe hier die 
Pumpendaten nicht gelesen, sorry.
Allerdings welchen Phototransistor meinst Du Ralf. In dem Sensor ist 
eine
Hallsonde von Siemens, sorry Infineon, irgendwas mit TLE49xx und
wenn ich das Datenblatt richtig lese, ist die Output saturation voltage
bei IQ=40mA ziwschen 0,25 und 0,5V.
Jörg

von Ralf K. (ralf82k)


Lesenswert?

Hallo Jörg,

ups. Hab ich garnet gelesen, dass eine Hallsonde verbaut ist. Hatte mal 
ein anderes Datenblatt gelesen dort war ein Phototransistor verbaut. 
Habe jetzt einfach mal angenommen das dort auch einer verbaut ist.

von Michael S. (kruschty)


Lesenswert?

Erst mal vielen Dank für eure vielen Antworten und Tipps!

Stand ist jetzt folgender:

Ich war heute bei einem befreundeten Radio- und Fernsehtechniker.

Wir haben jetzt mal die Schaltung mit dem Optokoppler aus dem 
DIGMESA-Datenblatt (Link im 1. Beitrag oben)aufgebaut. Wenn ich Signal 
auf GND brücke wird vom µC gezählt.

Er hat mal mit dem Oszi gemessen was für ein Signal an der 
Duchflussmesszelle ist und da passiert nichts d. h. es scheint das Ding 
ist einfach defekt.

Scheinbar hat der µC bisher nur die Störungen gezählt, da kein Pull Up 
da war. Sobald irgend ein Pull Up ( 1K und 100nF oder die Schaltung mit 
den 2 Dioden;...) da war wurde nichts mehr gezählt

Werde jetzt mal nach Ersatz schauen und dann noch einmal testen und mich 
melden ...

... noch einmal Danke!

von Michael S. (kruschty)


Lesenswert?

Es funktioniert :-)

Die Durchflussmesszelle war defekt. Eben eine neue eingebaut und es wird 
gezählt. Und das schöne: wenn die Pumpe aus ist wird auch nichts mehr 
gezählt. Alles so wie es soll.

Vielen Dank für eure Hilfe!

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.