Arduino als Frequenzteiler Huckepack auf RaspberryPi?

OP #4188761
Lesenswert?

Hallo,

ich habe einen Aufbau mit Raspi A+, 4fach Relaiskarte und 4 
Magnetventilen. Um den Duchfluss zu messen, möchte ich die adafruit 
flowmeter mit Hall-Sonde mit intern PullUp direkt an GPIO anschließen.

Sie erzeugen aber ca. 82 Hz bei 250l/h, was dem Raspi offensichtlich 
zuviel ist. Trotz schlankem c-Daemon (http://github.de/w3llschmidt/s0vz) 
bricht er ein, sobald das Signal anliegt.

Nun überlege ich, diesen uC (http://r.ebay.com/uKQET6) auf den Raspi zu 
stecken und die Signale damit vorab 1:100 zu teilen.

Eine bessere Idee wäre mit allerdings noch lieber, was meint Ihr?
Moderator (Firma: Titel) Persönliche Seite #4188782
Lesenswert?

Bernd G. schrieb:
> Sie erzeugen aber ca. 82 Hz bei 250l/h, was dem Raspi offensichtlich
> zuviel ist.
Pervers, oder?
Da wird ein mehrere hundert MHz starker Bolide mit Vollgas damit 
beschäftigt, irgendwelche schnarchlangsamen Flankenwechsel zu zählen.
Und schafft das nicht...

Ich würde da entweder dem Fehler in der Software suchen oder ein 
Subsystem mit einem kleinen 8 Pin AVR aufbauen, der per serieller 
Schnitte laufend den Zählerwert sendet....
Gast #4188850
Lesenswert?

Bernd G. schrieb:
> Eine bessere Idee wäre mit allerdings noch lieber, was meint Ihr?

Ein Vorteiler ist wohl die schlechteste Lösung. Bei einem µC hätte man 
als Alternative zu einem Interrupt auch Hardwarezähler. Die würden sich 
genauso langweilen - aber seis drum. Für nicht benutze HW-Funktionen 
gibt es sowieso kein Geld zurück ...

Kann der Raspi soetwas nicht?
Moderator (Firma: Titel) Persönliche Seite #4188899
Lesenswert?

Wolfgang schrieb:
> als Alternative zu einem Interrupt auch Hardwarezähler.
Ich bin mir ziemlich sicher, dass hier noch kein Interrupt im Spiel ist. 
Sondern da wird mit 700MHz auf einem Port rumgepollt...

Im Ernst: 82Hz ist echt laaaannngssssaaaaammmmm. Das sollte jedes System 
ohne jegliches Problem in einem Interrupt abhandeln können. Es ist 
natürlich klar, dass man sich da ein wenig in die Systemarchitektur 
einarbeiten muss.

Und sogar Pollen dürfte leicht gehen: ich bin mir sicher, dass es auch 
im Linux des RPi z.B. einen Multimedia-Timer gibt, der jede ms 
aufgerufen wird. Und das wäre dann schon mal 12-faches Oversampling...
OP #4189235
Lesenswert?

Robert K. schrieb:
> Hier erklären sie doch wie es geht:
> https://learn.adafruit.com/adafruit-keg-bot/prototype-circuit

Leider nein: beim Zapfen von Bier entsteht eine erheblich niedrigere 
Sensorfrequenz als beim Wässern des Rasens... Das Setup mit 5mm Schlauch 
läuft ja auch bei mir sofort... Bei 1/2" und 82 Hz ist aber Feierabend, 
obwohl ich auch noch nicht ganz verstanden habe, warum. Die Oversmpling 
Rate 700MHz zu 400Hz sollte ja genügen...
#4189798
Lesenswert?

Nicht getestet, aber Thema hat mich interessiert und mein Google hat mir 
sofort via 
http://raspberrypi.stackexchange.com/questions/24812/measuring-frequency-via-gpio 
das hier zutage gefördert:

http://abyz.co.uk/rpi/pigpio/examples.html#C_code

die ersten beiden sehen doch laut Description gut aus? Bis 500 kHz...
Dort wird jedenfalls drauf verwiesen, dass die Performance gerade durch 
Nichtbenutzung von Interrupts zustande kommt.
OP #4189966
Lesenswert?

Malte S. schrieb:
> Nicht getestet, 
http://raspberrypi.stackexchange.com/questions/24812/measuring-frequency-via-gpio
> http://abyz.co.uk/rpi/pigpio/examples.html#C_code
> die ersten beiden sehen doch laut Description gut aus? Bis 500 kHz...

Schau ich mir an, super Quelle! Wonach hast Du gegoogelt?

> Dort wird jedenfalls drauf verwiesen, dass die Performance gerade durch
> Nichtbenutzung von Interrupts zustande kommt.

Wer hätte das gedacht!?
Gast #4190036
Lesenswert?

Bernd G. schrieb:
> Nun überlege ich, diesen uC (http://r.ebay.com/uKQET6) auf den Raspi zu
> stecken und die Signale damit vorab 1:100 zu teilen.
>
> Eine bessere Idee wäre mit allerdings noch lieber, was meint Ihr?


Bernd G. schrieb:
> Soll ich ehrlich sein? Ich kenne mich mit den PIs aus, aber nicht mit
> den Arduinos...

74HC393 - teilt zwar nur durch 64, muss aber nicht programmiert werden.
OP #4280706
Lesenswert?

Es hat sich für mich glücklicherweise so ergeben, das die 
Volkszaehler-Community ihren VZlogger so angepasst hat, dass er meine 
Aufgabe nun nativ auf dem Pi verrichten kann.

Was man mit C und ein paar hundert Megahertz alles erreichen kann...

Dank an alle, die geantwortet haben!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren