Mehrere S0-Signale am µC

  • Hallo zusammen,


    ich habe 3 einphasige Leistungsmesser mit S0 und möchte diese an das AVR-NET-IO-Board anschließen und auswerten.
    Ist das möglich oder kann man damit nur ein Signal verarbeiten?


    lg

  • Man kann nur ein S0 verarbeiten. Allerdings könnte man wahrscheinlich besser mit einer einfachen Schaltung die 3 S0-Signale zusammenfassen, anstatt dann 3 netio Boards zu kaufen. Sowas ähnliches wie drei Speicherflipflops, die im wechsel abgefragt werden und falls gesetzt ein Ausgangssignal liefern.


    Hier gibts doch bessere Elektroniker als mich, wer kann helfen?

  • Hallo
    man könnte natürlich drei Hw-Zähler verwenden, aber warum kann der Freesol nicht drei So-Ss einlesen?
    Eingänge hätte er doch. Ist dies ein HW oder SW Problem?
    Oder beides???
    LG

  • Mehrere Probleme:
    * ich brauche nicht nur einen Eingang (da gibts viele), sondern eine richtige serielle Schnittstelle (da gibts nur 2 mit Hardwareinterrupt und Puffer, aber aber einige mehr mit Softwareemulation). Ob die Softwareschnittstellen stabil laufen würden, weiss ich nicht
    * Selbst wenn ich die Schnittstelle hätte, müsste ich die daten wegspeiuchern, und mein Eeprom Speicher ist voll. Hierzu bräuchte ich dann Speichererweiterung über I2B Bus (geht, habs probiert, muss man aber selber löten und programmieren)
    * Insgesamt wird das damit eine Sonderentwicklung mit viel Aufwand, die nur wenige Nutzern hilft.


    Wie's so schön heisst: Ich werde Dich nicht bremsen, der Source code liegt offen ;)

  • Und es geht doch, leider nicht mit Frisol!!!


    Auf "www.zabex.de" gibt es mit Avrnetio eine Gas/Wasser/Strom Variante, also 3 mal eine Impuls-Schnittstelle zur Datenerfassung. Die habe ich auf meine Bedürfnisse angepasst und werte aktuell 3 so Schnittstellen aus.

  • Danke für den Hinweis, hab den direkten Link reingestellt:
    http://www.zabex.de/frames/gaswasserstrom.html


    Hab bei schneller Durchsicht jetzt keinen Hinweis auf die technische Realisierung gefunden, vermute aber dann Software Interrupts. Ob das schnell und stabil genug läuft, weiß ich nicht. Benötigt auch noch separaten Server. Wahrscheinlich wäre aber auch für solche Anwendungen inzwischen der Raspberry, z.B. in der Volkszähler Implementation, geeigneter.

  • Erst mal Hallo - Ist ein super Projekt !!!


    :danke::danke::danke:


    Ich will mir auch eine Datenlogger mit dem AVR-NetIO aufsetzen (am Montag kommt der Prozessor) :D
    Hab mir im Vorfeld auch Gedanken gemacht, wie man mehrere S0-Signale ohne Zeitverlust mit nur einer Interrupt-Routine erfassen und auswerten kann. :idea:


    Es ist dabei folgende Hardware mit nur vier Dioden rausgekommen: :wink:




    :arrow: Wenn jetzt an irgend einen SO-Eingang ein Signal anliegt, wird der Interrupt über INT.0 ausgelößt.
    :arrow: Es wird im Programm immer in die INT-Schleife gesprungen
    :arrow: Dort wird abgefragt, welcher SO-Eingang (PD5, PD6, PD7, PB0) den angestoßen hat
    :arrow: Der jeweilige Counter wird hochgezält.
    :arrow: Auch wenn zwei S0-Eingänge gleichzeitig triggern wird kein Impuls verloren gehen.


    Ich werde am Montag, wenn die Pollin-Lieferung kommt, die ganze Sache in Angriff nehmen.
    Bin schon ganz heiß !!!!!


    Grüße
    Bruno

  • bruno


    Ich hatte in solche Richtungen auch schon mal gedacht. Wenn man da noch weiterdenkt, kommt man an Situationen, in denen zwei Signale gleichzeitig anliegen, und dann denkt man an Flip-Flops, die nach dem Auslesen zurückgesetzt werden müssen.
    Ich hab da aber nicht weitergemacht, weil das über mein Ziel (fertig käufliche Hardware für jeden) hinausschießt. Außerdem ist der Speicher sowieso voll, weitere Minutenwerte kriege ich nicht unter.

  • Hallo tfv,


    danke für die schnelle Antwort.
    Das mit dem Speicher ist sehr schade. Dann werde ich wohl in eine eigene, andere Richtung, die Software modifizieren müssen.
    Vieleicht lasse ich dann nur die Tages-, Wochen-, Monatswerte speichern. (Je nach Speicherplatz) Oder lasse alles von PV-Log speichern und zeige nur die aktuelle Leistung an.


    Zu den Flip-Flops:
    Das braucht man nicht zwischenspeichern.
    Wenn mehrere Signale zeitgleich reinkommen, springt er in die INT-Routine.
    Dort steht dann so etwas in der Richtung:



    Gleichzeitig ist da noch nicht das Problem, da dann beide Zähler hochgezählt werden
    Wenn aber fs_Pulszahl[x] den Interrupt auslößt und schon bei der Auswertung an fs_Pulszahl vorbei ist dann wird fs_Pulszahl ignoriert und nicht hoch gezählt.
    Das kann ich aber verschmerzen, denn das kommt vieleicht am Tag vieleicht ein paar mal vor.
    Bei 1000imp/kWh sind das ein paar Wh die verloren gehen.
    Da kann ich damit Leben.


    Ist zwar jetzt nur in der Theorie, werde ich morgen aber mal Testen, wenn das IO-Board läuft.