Forum: Mikrocontroller und Digitale Elektronik Signalkonditionierung für Flügelradzähler


von Lysandros (lys)


Lesenswert?

Hallo Forum,

ich soll bei jedem Bewässerungszyklus von Nutzpflanzen, das kumulative 
Wasservolumen (in Liter) messen. Zu diesem Zweck erscheint aufgrund 
diverser Projektfaktoren die einzige praktikable Lösung solch ein 
Flügelradzähler: 
https://www.ddm-sensors.de/wp-content/uploads/2023/04/data-sheet-datenblatt-pelton-wheel-flowmeter-fluegelradzaehler-15-l-min-800-serie.pdf

Die Durchflussrate (in Liter/Minute) wird in Pulsausgänge artikuliert, 
wahrscheinlich konstanter Periode aber variierender Frequenz. Und genau 
diese möchte ich nun mit einem STM32-Board erfassen, anhand der 
Qudraratur-Enkoder-Funktion. Ich verstehe noch nicht, ob man dazu 
weitere Elektronik benötigt, abgesehen von der Versorgungsspannung. Das 
Schaltbild auf der zweiten Seite unten rechts zeigt mehrere Widerstände, 
Transistoren, Spannungsregler et.c....meint ihr die brauche ich?

Besten Dank

: Bearbeitet durch User
von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Lysandros schrieb:
> Das Schaltbild auf der zweiten Seite unten rechts zeigt mehrere
> Widerstände, Transistoren, Spannungsregler et.c....
Diese Bauteile sind im Sensor eingebaut.

> Und genau diese möchte ich nun mit einem STM32-Board erfassen, anhand
> der Qudraratur-Enkoder-Funktion.
Der Sensor hat keinen Quadratur-Ausgang. Du kannst also die 
Flussrichtung nicht bestimmen und brauchst lediglich einen Zähler für 
die Pulse.

> Ich verstehe noch nicht, ob man dazu weitere Elektronik benötigt
Kein Problem, kann man lernen.

Eigentlich wäre es einfach, denn der Ausgang ist ein OpenCollector. Blöd 
ist aber, dass der einen Pullup nach Vcc hat und Vcc im Bereich von "4.5 
to 24Vdc" sein muss. Das passt nicht zum STM mit seinen 3,3V.

Also brauchst du im einfachsten Fall so eine Schaltung:
1
           3V3
2
            |
3
           10k
4
            |  
5
O/P ---|<---o----- IN
6
7
Sensor              STM32
8
9
GND -------------- GND
Oder sowas:
1
           3V3
2
            |
3
            -
4
            ^
5
            |  
6
O/P ---1k---o----- IN
7
8
Sensor              STM32
9
10
GND -------------- GND

Ein Tipp: überleg dir einfach mal, wie diese beiden Schaltungen im 
Zusammenspiel von Sensor und STM32 funktionieren. Ich selbst verwende 
auf jeden Fall keine Schaltung, wenn ich sie nicht grundlegend 
verstanden habe. Denn sonst kann ich ja auch keinen Fehler suchen.

: Bearbeitet durch Moderator
von Stephan S. (uxdx)


Lesenswert?

Lothar M. schrieb:
> Eigentlich wäre es einfach, denn der Ausgang ist ein OpenCollector. Blöd
> ist aber, dass der einen Pullup nach Vcc hat und Vcc im Bereich von "4.5
> to 24Vdc" sein muss. Das passt nicht zum STM mit seinen 3,3V.

Hhhmmm, das sind 2 Pullups im Datenblatt, einer rechts unten im DB und 
einer in der Mitte, der scheint evtl. extern zu sein.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Stephan S. schrieb:
> das sind 2 Pullups im Datenblatt
Unschön.
Da müsste man für die zweite Schaltung messen, ob der im Sensor intern 
tatsächlich verbaut ist.

Wenn der nicht drin ist, dann wird die Ankopplung ganz einfach:
1
           3V3
2
            |
3
           10k
4
            |  
5
O/P --------o----- IN
6
Sensor              STM32
7
GND -------------- GND

Aber egal wie der Ausgang des Sensors aussieht, ob OC mit oder ohne 
Pullup oder gar als PushPull: die erste Schaltung funktioniert immer.

: Bearbeitet durch Moderator
von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Oder einen Optokoppler dazwischen - saubere Trennung.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Frank E. schrieb:
> Oder einen Optokoppler dazwischen - saubere Trennung.
Nur, wenn dann die Versorgung des Sensors auch tatsächlich getrennt ist. 
Aber  hier ist eh' keine "noch viel sauberere Trennung" nötig, weil der 
Sensor selber schon "sauber" und galvanisch von der Umwelt getrennt ist. 
Also wäre ein OK letztlich nur technischer Overkill.

: Bearbeitet durch Moderator
von Axel S. (a-za-z0-9)


Lesenswert?

Lysandros schrieb:

> Die Durchflussrate (in Liter/Minute) wird in Pulsausgänge artikuliert,
> wahrscheinlich konstanter Periode aber variierender Frequenz.

Ähhm. Nein.

Da drin ist ein Flügelrad (daher der Name) das vom Flüssigkeitsstrom 
angetrieben wird. Wie ein Wasserrad an einem Bach oder unter dem Strahl 
aus dem Wasserhahn. Pro durchgeflossenem Volumen (z.B. 10ml) gibt es 
einen Impuls. Wenn also 100 Impulse gezählt wurde, ist 1 Liter 
durchgeflossen. Dummerweise gibt der Hersteller nicht das Volumen pro 
Impuls an, sondern einen dämlichen "k-Faktor". Man soll also seinen 
Zähler mit dazukaufen (an dem man dann den k-Faktor einstellt). Tolle 
Wurst!

Das Puls-/Pausenverhältnis ist nicht spezifiziert. Aber ich würde bei 
konstantem Durchfluß von ca. 1:1 ausgehen. Wenn der Durchfluß stoppt, 
hören die Impulse auf. Dabei kann sowohl ein Dauer-L als auch ein 
Dauer-H auftreten. Je nachdem wie das Flügelrad stehen bleibt.

> Und genau
> diese möchte ich nun mit einem STM32-Board erfassen, anhand der
> Qudraratur-Enkoder-Funktion.

Nur daß der Sensor kein Quadratursignal ausgibt. Sondern eben Impulse. 
Das allerdings recht langsam. Die kann man problemlos in einem 
Pinchange-Interrupt mitzählen. Oder im Timerinterrupt mit z.B. 1ms 
pollen. Oder halt an einen der Timer/Counter verfüttern. Was man halt 
hat. STM32 ist ein weites Feld.

> Schaltbild auf der zweiten Seite unten rechts zeigt mehrere Widerstände,
> Transistoren, Spannungsregler et.c....meint ihr die brauche ich?

Das steht doch dran. Auf der rechten Seite ist schematisch die 
Innenschaltung  des Sensors angegeben. Der Ausgang ist ein 
npn-Transistor mit Pullup von 10K nach Vcc des Sensors. Warum der 
Hersteller dann nochmal einen externen Pullup empfiehlt, müßtest du ihn 
fragen. Elektrisch ist der unnötig.

Wenn du den Sensor mit 5V versorgst, könntest du den Ausgang direkt mit 
einem 5V-toleranten Eingang des STM verbinden. Evtl. noch mit einen 
Serienwiderstand (Angstwiderstand) dazwischen.

von Henrik V. (henrik_v)


Lesenswert?

Hatte mal ein ähnliches Problem, wo ein Flügelradzähler an einen 
Quadraturzähler (hier fixes Panelinstrument) angeschlossen werden 
musste.
Ein RC Glied von Kanal A zu B hat dann eine kleine Verzögerung gemacht, 
die eine Drehung simulierte und alles funktionierte prima.

Edit: 2x Tau (=R*C) war etwas größer als die max. Pulsrate des 
Instruments WIMRE

: Bearbeitet durch User
von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Henrik V. schrieb:
> Hatte mal ein ähnliches Problem, wo ein Flügelradzähler an einen
> Quadraturzähler (hier fixes Panelinstrument) angeschlossen werden
> musste.
Beim STM32 (oder µC allgemein) kann man idR. den Pin ohne Quadratur 
direkt einem Zähler zuordnen. Schlimmstenfalls muss der "Richtige" der 
beiden Quadratureingägne ausgewählt werden. Insofern ist die Forderung 
"einen Quadraturzählereingang verwenden" unsinnig/unnötig.

von Matthias S. (dachs)


Lesenswert?


von Achim M. (minifloat)


Lesenswert?

Axel S. schrieb:
> Dummerweise gibt der Hersteller nicht das Volumen pro Impuls an, sondern
> einen dämlichen "k-Faktor

Das pro-Impuls-Volumen lässt sich sehr einfach mit einem Testaufbau 
bestimmen:

Trichter, Eimer, provisorische Befestigung am Eimer, Messbecher, ggf. 
Schlauch, Spannungsversorgung, Pullup-Widerstand, Impulszähler oder 
Digitaloszilloskop.

Dann einfach mal z.B. 10L durchschicken und die Impulse zählen (lassen).

Hernach 10000cm³ durch die Anzahl der Pulse teilen und fertig?

mfg mf

: Bearbeitet durch User
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.