GPIO Frequenz abfrage

  • Also zuerst mal bin ich ein Schüler...
    Wir bekamen als Aufgabe ein windmessgerät zu bauen. Wir haben beschlossen dies mit dem raspberry pi zu lösen indem wir bei jeder Umdrehung des windrads einen stromimpuls zum pi schickt. Dann lese ich mit python z.B. 1 Minute lang die Impulse, zähle sie und berechne am Schluss die Geschwindigkeit. Jedoch weiss ich nicht wie ich den prüfbefehl eine gewisse Zeit lange ausführen kann. Bitte schnell helfen xD wir stehen unter Zeitdruck
    Schnonmal danke für alle Antworten

  • Hallo Clemens,

    herzlich Willkommen in unserem Forum!

    Deine Aufgabe lässts sich viel leichter lösen.

    Zwar erzeugt das Windrad jede Umdrehung einen Impuls - es erzeugt aber auch eine Spannung, die proportional der Umdrehungsfrequenz ist.

    Diese Spannung kannst Du mit einem A/D Wandler (z.B. MCP 3208 CI/P) und dem SPI-Protokoll auslesen.

    Für das Windrad existieren Datenblätter, die eine Tabelle enthalten, welche Spannung bei welcher Windgeschwindigkeit abgegeben wird.

    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Einmal editiert, zuletzt von Andreas (8. Juli 2015 um 15:19)

  • Ich habe mich unklar ausgedrückt. Das "windrad" müssen wir ebenfalls selbst bauen. Und ich möchte auch Spannung mit den GPIO Pins auslesen und keinen stromimpuls. Lässt sich damit mein Vorhaben realisieren?
    Trotzdem vielen Dank!
    Clemenz (-nicht Ckemens xD)

  • Im Netz gibt es Anleitungen um die S0 Impulse von Stromzählern auszulesen.

    Google > Volkszähler

    oder

    Stromzähler mit S0-Schnittstelle vom Raspberry Pi auswerten | Blog Webernetz.net

    Das ist im Prinzip das gleiche was ihr machen wollt.

    Den Haken bei der ganzen Sache sehe ich darin, wie ihr das Windrad eichen wollt.

    Edit: Ihr könnt das im Prinzip auch mit einem Fahrradcomputer machen.

    Einmal editiert, zuletzt von rmjspa (8. Juli 2015 um 15:17)

  • Hallo Clemens,

    nimm einen stinknormalem Elektromotor, der max. 3 V Spannung abgibt / mit max. 3 V betrieben wird.

    An die Achse baust Du die Flügel dran. Sobald die Flügel sich durch Wind drehen, kannst Du an den beiden Kabeln eine Spannung messen.

    Da gab / gibt es einen Bausatz bei Pearl... für das Windrad. Das ist auch ein kleines analoges Messinstrument dabei. MCP 3208-CI/P dazu, RPI dazu, Programm dazu. Fertig.

    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • Erstmal vielen Dank für die Antworten.

    Jedoch steht unser Vorhaben mit dem zählen der Impulse bereits und auch der Rest des Projektes wurde darauf ausgelegt.
    Ich brauche also nurnoch den Befehl zum ausführen eines Befehls eine bestimmte Zeit lang. Trotzdem danke für die Antworten.

    Clemenz (-nicht Clemens xD)

  • https://docs.python.org/2/library/time.html
    https://docs.python.org/2/library/datetime.html

    zB beim Ausführen des Programms wird die aktuelle Zeit oder die Endzeit einer Variable zugewiesen und je nach Schleife wird eine Bedingung festgelegt (1 Minute oder 60sek oder was auch immer) und innerhalb des Schleifenkörpers wird die aktuelle Zeit abgefragt...

    Code
    while aktuelle_zeit < end_zeit:
        # überprüfe zeit
        # mach was
  • Genial!
    Ich würde schreiben:

    While aktuelle_Zeit < aktuelle_Zeit + 10: #wofür brauch ich diesen Teil?#

    Überprüfe die Pins

    Zähle die Impulse

    Werte alles aus

    Gleiches Spiel von vorne.


    Aber was wenn die aktuelle Zeit in s = 58 ist? Dann läuft die schleife ewig

  • Also hier mal ein min. Beispiel. Versuch zu verstehen, was da vor sich geht...

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!