.titleBar { margin-bottom: 5px!important; }

Energiezähler mit S0 - Datenerfassung über 7170 ??

Dieses Thema im Forum "FRITZ!Box Fon: Modifikationen" wurde erstellt von daewoo42, 4 Nov. 2006.

  1. daewoo42

    daewoo42 Neuer User

    Registriert seit:
    20 März 2005
    Beiträge:
    30
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Habe seid neueste einen digitale Energiezähler mit S0-Ausgang.
    Wäre es möglich eine Erweiterung zur Erfassung der anfallenden Impulse in die 7170 implementieren?

    Wenn zu abwegig bitte löschen.
     
  2. daewoo42

    daewoo42 Neuer User

    Registriert seit:
    20 März 2005
    Beiträge:
    30
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Muß es doch noch mal hochholen, lässt mir keine Ruhe.

    @heini66
    ist nicht das was ich suche
    Stelle mir eine Art Log-Datei vor in der Impulse/h abgelegt werden.
    Diese Datei kann man dann z.B. in Excel importieren und auswerten.
    Leider habe ich keine Ahnung wie man das an die S0-Schnitstelle anbinden könnte.
    Hier mal ein paar Details zum Zähler

    Vielleicht kennt sich jemand mit dieser Art Schnittstellen aus.
     
  3. RalfFriedl

    RalfFriedl IPPF-Urgestein

    Registriert seit:
    22 Apr. 2007
    Beiträge:
    12,343
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Da steht absolut nichts über die Schnittstelle, außer daß eine vorhanden ist.
     
  4. chked

    chked IPPF-Promi

    Registriert seit:
    20 Nov. 2006
    Beiträge:
    4,184
    Zustimmungen:
    7
    Punkte für Erfolge:
    38
    Leider steht da nichts über die S0-Schnittstelle, was auch immer damit gemeint ist. Zudem scheint der Zähler schon ziemlich alt zu sein, denn seit mindestens 10 Jahren ist eine Spannung von 230/400 V üblich.
     
  5. daewoo42

    daewoo42 Neuer User

    Registriert seit:
    20 März 2005
    Beiträge:
    30
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ok, es handelt sich offenbar einfach um einen digitalen Ausgang, wahrscheinlich ein Optokoppler.
    Es also kein Problem für mich, einen wie auch immer benötigten Impuls zu generieren, natürlich galvanisch getrennt.

    Meine Frage ist nun, gibt es an der 7170 irgendeine Art von Eingang (seriell oder ISDN) den man zur zeitabhängigen Impulserfassung nutzen könnte?
     
  6. RalfFriedl

    RalfFriedl IPPF-Urgestein

    Registriert seit:
    22 Apr. 2007
    Beiträge:
    12,343
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Im Telefon-Bereich ist S0 die Schnittstelle für ISDN-Verbindungen. Zum Telefonieren ist das ja in Ordnung, aber eine ISDN-Schnittstelle zu verwenden um Impulse zu übertragen wäre sehr hoher Aufwand gemessen am Ergebnis.

    Kann es sein, daß die Schnittstelle nur ähnlich heißt und nichts mit ISDN zu tun hat?

    Es gibt an der Box den seriellen Anschluß, der normalerweise für die serielle Konsole verwendet wird. Der Prozessor soll noch einen weiteren seriellen Anschluß haben, an dem kommt man aber wohl noch schwerer dran. Es gibt auch Berichte, daß man die Ausgänge, an denen die LEDs angeschlossen sind, als Eingänge verwenden kann.

    Das alles bedeutet größere Eingriffe in die Box.

    Eine andere Möglichkeit wäre, einen USB-Adapter zu verwenden. Für diesen bräuchte es einen Linux-Treiber auf der Box.
     
  7. gfuer

    gfuer Mitglied

    Registriert seit:
    29 Juni 2007
    Beiträge:
    248
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
  8. daewoo42

    daewoo42 Neuer User

    Registriert seit:
    20 März 2005
    Beiträge:
    30
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Leider beschränken sich meine Fähigkeiten mehr auf den Hardwarebereich.
    Es wäre für mich allerdings interessant den Energieverbrauch auch mal zeitabhängig zu betrachten, zumal die nötige Hardware dafür schon vorhanden ist.
    Ist es grundsätzlich möglich mit den entsprechenden Treibern so etwas über einen USB-RS232-Konverter zu realisieren?
    Ich denke das es ein interessantes Anwendungsgebiet für die Fritzbox nicht nur für mich wäre.
    Ich habe aber überhaupt keine Ahnung, wie groß der Aufwand zur Umsetzung ist.
     
  9. RalfFriedl

    RalfFriedl IPPF-Urgestein

    Registriert seit:
    22 Apr. 2007
    Beiträge:
    12,343
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Haben die Impulse immer die gleiche Länge? Welche?
    Ist die Länge der Impulse von Bedeutung oder nur die Anzahl?

    Wenn die Länge ungefähr konstant ist, könnte es mit einer seriellen Schnittstelle möglich sein.
     
  10. daewoo42

    daewoo42 Neuer User

    Registriert seit:
    20 März 2005
    Beiträge:
    30
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #11 daewoo42, 28 Okt. 2007
    Zuletzt bearbeitet: 28 Okt. 2007
    Die Länge der Impulse ist konstant, Anzahl ist proportional zum Energieverbrauch.
     
  11. RalfFriedl

    RalfFriedl IPPF-Urgestein

    Registriert seit:
    22 Apr. 2007
    Beiträge:
    12,343
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Dann kann man vermutlich je nach Länge der Impulse eine Baudrate für die serielle Schnittstelle definieren, so daß diese den Impuls als ein Zeichen erkennt. Welches Zeichen spielt dabei keine Rolle, da es nur darum geht, ob ein Impuls da ist oder nicht. Die Baudrate muß so gewählt werden, daß der Impuls mindestens einen Takt lang ist und höchstens neun. Außerdem dürfen die Impulse nicht schneller kommen, als die serielle Schnittstelle die Zeichen verarbeiten kann.

    Wenn das mit den 90ms oben stimmt, dann ist das eine sehr lange Zeit.
    Demnach muß die Baudrate zwischen 11 und 1,23... -> 2 liegen. Das ist sehr niedrig und vermutlich nicht einstellbar.

    Bei 1200 Baud müßte die Impulslänge zwischen 0,83ms und 7,5ms liegen.

    Bekommst Du eine Schaltung hin, die den Impuls passend verkürzt?

    Alternativ könnte man bei der Impulslänge das Break-Signal auswerten. Es käme auf einen Versuch an, ob das über einen USB-Adapter so funktioniert.
     
  12. gfuer

    gfuer Mitglied

    Registriert seit:
    29 Juni 2007
    Beiträge:
    248
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Wenn es sich, wie ich vermute, um ein nicht all zu schnelles Bi-Level Pulssignal handelt (bei einer kurzen flüchtigen Suche im Web fand ich ich Zähler mit 30..100ms Puslbreite und 100..1000 Impulse pro kWh), könnte mir vorstellen, das Signal (nach einer entsprechenden Anpassung auf RS232-Pegel) auf eine der Modemsignalleitungen einer seriellen Schnittstelle aufzuschalten, die Modemsignale dann per Software periodisch, z.B. alle 10ms, mit ioctl(fd,TIOCMGET,...) abzufragen, und die Zustandswechsel (high -> low, oder low -> high) zu zählen.

    Wenn ich die wenigen Informationen, die ich im Web gefunden habe, richtig interpretere, besteht die "Schnittstelle" zählerseitig nur aus einem Transistor bzw. Fototransistor (bei galvanischer Trennung); daraus schließe ich, dass die Versorgungsspannung und ein Pullup-Wiederstand vermutlich extern bereitgestellt werden müßten. Korrigiert mich bitte, wenn ich da etwas falsch verstanden habe. Anders als z.B. USB stellt eine RS232-Schnittstelle jedoch keine Versorgungsspannung zur Verfügung, was bereits die rein elektrische Pegelanpassung nach RS232-Pegel etwas erschweren dürfte (-> zusätzliche Spannungsquelle notwendig, Batterie oder Netzteil).

    Nachdem ein USB<->Seriell Adapter wie z.B. dieser auch schon 20¤ kostet, stellt sich die Frage, ob man nicht gleich einen Mikrocontroller zum Einsatz bringen sollte, den man dann z.B. direkt über USB an den PC oder die FRITZ!Box anbindet, und der auch über USB mit Strom versorgt wird. Ein ATtiny 2313 z.B. kostet knapp 2¤ im Einzelhandel, dazu braucht man dann auch noch einen Quarz, ein paar Wiederstände und Kondensatoren, einen Fixspannungsregler und eine USB-Buchse... Mit einem µC hat man natürlich generell mehr Möglichkeiten (z.B. eventuell gleich mehrere Zähler anschließen), aber man muß sich dann natürlich zusätzlich noch mit der Programmierung des µC auseinandersetzen. Für ein Einzelstück ist der Aufwand wohl eher zu groß, aber wenn eine größere Menge davon produziert werden soll, ist wahrscheinlich eine µC-basierte Lösung vorzuziehen.
     
  13. RalfFriedl

    RalfFriedl IPPF-Urgestein

    Registriert seit:
    22 Apr. 2007
    Beiträge:
    12,343
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Wenn der Impuls selten kommt, sollte das so gehen. Die Frage ist auch, wie wichtig einem die Genauigkeit ist, wenn wegen hoher Last evtl. Impulse verloren gehen sollten.

    RS232 stellt zwar offiziell keine Versorgungsspannung zur Verfügung, das hat aber die Hersteller von Mäusen nicht davon abgehalten, die Elektronik mit der Spannung aus den Signalleitungen zu versorgen (ich weiß, es war einmal, vor langer, langer Zeit...)

    Für Elektronik würde ich nicht unbedingt die Preis von Conrad als Maßstab nehmen.

    Die Lösung mit einem Mikro-Controller hat auch etwas für sich. Verstehe ich Die richtig, daß der genannte ATtiny 2313 auch USB integriert hat?

    Mit Mikro-Controllern hatte ich auch schon zu tun, die Programmierung sollte speziell für eine so einfache Anwendung wie hier kein Problem sein. Eher schon ist es mühsam, die ganzen Teile zusammen zu löten, und in kleinen Stückzahlen lohnt sich auch eine eigene Platine dafür nicht.

    Das einfachste wäre, wenn man den Impuls in der Software als "Break" erkennen könnte. Ich weiß aber nicht, ob die USB-Adapter einem diese Information liefern.
     
  14. gfuer

    gfuer Mitglied

    Registriert seit:
    29 Juni 2007
    Beiträge:
    248
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Da wird sich sicher etwas tricksen lassen...
    Vom Conrad-Adapter weiß ich zumindest, dass er prinzipiell unter Linux läuft (pl2303), auch wenn sich mein Linux sporadisch aufhängt, wenn der Adapter angeschlossen und in Betrieb ist. Ich habe mir aber zugegebener Maßen nicht die Mühe einer ausführlichen Suche nach Alternativen gemacht.
    Zählen kann ja der µC selbst, und da zum Auslesen wohl keine hohe Datenrate notwendig ist, dachte ich an Software USB (-> Code). ATtiny 2313 war nur als Beispiel gedacht (einer der kleineren, billigen AVRs, auf denen die Software-USB-Lösung von ATMEL noch lauffähig sein soll), alternativ kämen sicher auch noch andere Modelle in Frage, eventuell auch welche mit Hardware-USB-Controller.
    IMO erkennen die meisten UARTs ein Break, wenn ein komplettes Byte (inkl. Start-, Stop- und Parity-Bits) Low-Signal empfangen wird. Bei einer Bitrate von mehr als 333 (bei 8N1) müßte daher ein Low-Signal auf RxD von >= 30ms als Break erkannt werden. Mit BRKINT in den c_iflags sollte man sich dann ein SIGINT schicken lassen können. Ich denke eigentlich schon, dass das der USB-Adapter auch kann, habe es aber noch nicht ausprobiert (manche UARTS könnnen nicht zwischen Break und Framing Error unterscheiden).
     
  15. daewoo42

    daewoo42 Neuer User

    Registriert seit:
    20 März 2005
    Beiträge:
    30
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Puh, wenn ich das so lese, werde ich mich wohl von diesen Gedanken verabschieden müssen. Das übersteigt meine Fähigkeiten bei weitem.

    Trotzdem, Danke an alle, die mit darüber nachgedacht haben.
     
  16. vöxchen

    vöxchen Mitglied

    Registriert seit:
    24 Apr. 2006
    Beiträge:
    569
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Beruf:
    Dipl.-Ing.
    Ort:
    DE Werdenfelser Land / AT Oberpinzgau
    Nur nicht aufgeben, habe eben erst diesen Thread gesehen...

    Es gibt für das Gebäudemanagement Interfaces, die das S0 Zählsignal eines Strom-/Gas-/Wasserzählers (zusammen mit M-Bus, RS485....) erstmal auf eine standardisierte Gebäudemanagement-Plattform heben. Diese kann dann auf einem PC dargestellt werden (es reicht ein Mini PC ohne Tastatur und Bildschirm). Und auf den kann man dann via LANx der FBF und Remote-Access (dyndns) aus der Ferne zugreifen und seinen Stromverbrauch ablesen.

    Gruss vöxchen
     
  17. gfuer

    gfuer Mitglied

    Registriert seit:
    29 Juni 2007
    Beiträge:
    248
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Du kannst ja 'mal das Programm im Anhang mit einem USB <-> Seriell Adapter testen, z.B. mit dem bereits genannten Adapter von Conrad.
    • ds-mod mit pl2303 Treiber bauen und auf der Box installieren
    • Auf der Box "modprobe pl2303" ausführen, um den Treiber zu laden
    • Adapter am USB-Anschluß der Box anstecken
    • Das Testprogramm "s0" auf die Box kopieren
    • Testprogramm auf der Box starten: ./s0
    Beim Verbinden von Pin 4 mit Pin 8 des 9-poligen Sub-D Steckers des USB<->RS232-Adapters sollte das Programm melden, dass ein Impuls erhalten wurde (tut es bei mir auch). Zusätzlich sollte man besser auch noch einen Pull-Down-Widerstand von Pin 8 nach Pin 7 benutzen, damit Pin 8 nicht offen ist, sondern einen definierten Low-Pegel hat, wenn er gerade nicht mit Pin 4 verbunden ist.

    (Letztendlich muß das Verbinden von Pin 4 mit Pin 8 dann der (Foto-)Transistor im Zähler übernehmen, wenn man den S0-Anschluß an die Pins 4 und 8 anklemmt. Wichtig: Bei Anschluß des Zählers Polarität des S0-Anschlusses beachten! Ich hoffe außerdem, dass der S0-Anschluß galvanisch getrennt und potentialfrei ist?)

    Alles ohne Gewähr!!!
     

    Anhänge:

    • s0.tar.gz
      Dateigröße:
      3.4 KB
      Aufrufe:
      147
  18. daewoo42

    daewoo42 Neuer User

    Registriert seit:
    20 März 2005
    Beiträge:
    30
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    @gfuer
    Vielen, vielen Dank.

    Werde ich ausprobieren, ich weiß nicht ob ich heute und morgen dazu komme, aber auf jeden Fall spätestens am Wochenende.
     
  19. daewoo42

    daewoo42 Neuer User

    Registriert seit:
    20 März 2005
    Beiträge:
    30
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    @gfuer
    Super, es funktioniert!!!!

    Wie kann ich jetzt die Auswertung realisieren?

    Wollte gerne am Ende eine Datei haben in der pro Zeile Datum/Uhrzeit + Anzahl der Impulse steht, wobei stündlich eine Zeile dazu kommen soll, in etwa so:

    01.11.2007 13:00 ; 4560
    01.11.2007 14:00 ; 2156
    01.11.2007 15:00 ; 6760
    01.11.2007 16:00 ; 3416

    Es soll nicht der Eindruck entstehen als wollte ich mich hier bedienen lassen, aber allein komme ich da nicht weiter.

    Vielen Dank