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

daewoo42

Neuer User
Mitglied seit
20 Mrz 2005
Beiträge
30
Punkte für Reaktionen
0
Punkte
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.
 
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

Unser DTS-35L ist einer der wenigen 3-Phasen Drehstromzähler 380V (10/63A) mit Digitalanzeige für DIN-Hutschienen. Er ist ausgelegt für die schnelle Einrast-Montage auf DIN-Hutschienen und eignet sich deshalb zum Einbau in nahezu allen Sicherungsverteilanlagen und Elektrokästen. Ideal zur Überprüfung der verbrauchten kWh in Mietshäuser, Stromabschnitten oder einzelnen Bereichen. Das Gerät verfügt über eine S0-Schnittstelle.

Der kWh-Meter wurde nach CE - EN61036 ausgelegt und erfüllt die CE Anforderungen sowie EN61010 und EN61326. Er gehört zu der höchsten Genauigkeitsklasse 1. Durch seine 6 digitalen Stellen und einer Nachkommastellen ist auf einen Blick der aktuelle Stromverbrauch zu ermitteln. Elektronischer Energiezähler für 3-Phasen-Drehstrom nach EN 61036, für 4-Leiter Drehstromnetz. Nicht beglaubigt. Der zugelassenen Betriebsbereich dieses Zählers ist 1% des Nennstromes also bei 10(63): I(nenn) = 10A , 1% von I(nenn) = 0,10 A, Maximallast 63A. Ein zugelassener Betriebsbereich also von 0,10A ... 63A.

Technische Spezifikationen:
Anschluss: 3x220V/380V 10/63A, 50/60Hz
Genauigkeitsklasse: 1
Befestigung: DIN-Hutschiene (DIN EN50022) / 7TE=125mm (DIN 43880)
Impulslänge: 90ms
Zählimpulse: 800imp/kWh
Display: 6 + 1 = 999999.9 kWh
Abmessung: 125x100x65mm




Allgemeine Daten:
Stromverbrauch: < 10VA, 2W
Betriebsbereich: 184-265 VAC; 0,10 ~ 63A
Start-Strom Cos-Phi=1:typisch 20mA
Frequenzbereich: 50Hz oder 60Hz +/- 10%
Temperaturbereich: -20°C bis +55°C
Relative Luftfeuchtigkeit: bis 75% - kurzfristig bis 95%

Vielleicht kennt sich jemand mit dieser Art Schnittstellen aus.
 
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.
 
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?
 
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.
 
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.
 
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.
 
Die Länge der Impulse ist konstant, Anzahl ist proportional zum Energieverbrauch.
 
Zuletzt bearbeitet:
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.
 
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.
 
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.
 
RalfFriedl schrieb:
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
Da wird sich sicher etwas tricksen lassen...
Für Elektronik würde ich nicht unbedingt die Preis von Conrad als Maßstab nehmen.
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.
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?
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.
Das einfachste wäre, wenn man den Impuls in der Software als "Break" erkennen könnte.
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).
 
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.
 
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
 
daewoo42 schrieb:
Puh, wenn ich das so lese, werde ich mich wohl von diesen Gedanken verabschieden müssen. Das übersteigt meine Fähigkeiten bei weitem.
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
    3.4 KB · Aufrufe: 148
@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.
 
@gfuer
Super, es funktioniert!!!!

/var/mod/home/ftp $ ./s0
Impuls empfangen
Impuls empfangen
Impuls empfangen
Impuls empfangen

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
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.