Forum: Mikrocontroller und Digitale Elektronik Arduino als Frequenzteiler Huckepack auf RaspberryPi?


von Bernd G. (bernd_g)


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?

von Klaus (Gast)


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.

Na, ob der das schafft? Durch Hundert ist ja schon dreistellig. Ich 
denke, da braucht man was mit 4 Köpfen

MfG Klaus

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


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....

: Bearbeitet durch Moderator
von Wolfgang (Gast)


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?

von Bernd G. (bernd_g)


Lesenswert?

Ich habe hier noch etwas gefunden, muss ich mir aber erst noch genauer 
anschauen:
http://forum.arduino.cc/index.php?topic=236326.0

von Wieman (Gast)


Lesenswert?

Lothar M. schrieb:
> Da wird ein mehrere hundert MHz starker Bolide mit Vollgas damit
> beschäftigt, irgendwelche schnarchlangsamen Flankenwechsel zu zählen.
> Und schafft das nicht...

Ein verbogener Pointer und die kleine Kiste landet im Nirvana ....

von Wieman (Gast)


Lesenswert?

GPIOs pollen um Impulse zu zählen ist nicht schlau, probiers mal so: 
http://elinux.org/GPIO#GPIO_interrupts_from_user_space

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


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...

von Robert K. (mr_insanity)


Lesenswert?


von Bernd G. (bernd_g)


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...

von Wolfgang (Gast)


Lesenswert?

Bernd G. schrieb:
> Die Oversmpling Rate 700MHz zu 400Hz sollte ja genügen...

Vielleicht läuft bei der Samplerate zwischen den zu zählenden Pulsen ein 
Zähler über, so weit wie die Flanken auseinander liegen.
SCNR

von X. H. (shadow0815)


Lesenswert?

Was fürn Sinn hat RasPiO Duino, kannst doch einfach nen china-clone per 
usb dranstöpseln.

von Bernd G. (bernd_g)


Lesenswert?

X. H. schrieb:
> Was fürn Sinn hat RasPiO Duino, kannst doch einfach nen china-clone per
> usb dranstöpseln.

Im Grunde ja. Der Raspi A+ hat aber nur einen USB und da ist der WLAN 
Stick drin.

Man müsste also mit aktivem Hub arbeiten - auch nicht so schön...

von Malte S. (maltest)


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.

von Bernd G. (bernd_g)


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!?

von Programmierer (Gast)


Lesenswert?

Wozu brauchts überhaupt den R-PI, Relais ansteuern und Frequenzen zählen 
kannst auch wunderbar auf dem Arduino alleine machen, oder einem anderen 
Mikrocontroller deiner Wahl

von Malte S. (maltest)


Lesenswert?

Bernd G. schrieb:
> Schau ich mir an, super Quelle! Wonach hast Du gegoogelt?

raspberry pi gpio frequency counter

1. Treffer Stack Exchange und da die Antwort

von Bernd G. (bernd_g)


Lesenswert?

Programmierer schrieb:
> Wozu brauchts überhaupt den R-PI

Soll ich ehrlich sein? Ich kenne mich mit den PIs aus, aber nicht mit 
den Arduinos...

: Bearbeitet durch User
von Bernd G. (bernd_g)


Lesenswert?

Malte S. schrieb:

> raspberry pi gpio frequency counter

OK, ich habe immer divider gesucht...

von lächler (Gast)


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.

von Bernd G. (bernd_g)


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!

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.