YaS0A (Just another S0-Adapter)

User stellen ihre Haussteuerung vor

Moderator: Co-Administratoren

Antworten
BitMac
Beiträge: 186
Registriert: 27.11.2015, 09:51
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 1 Mal
Danksagung erhalten: 8 Mal

YaS0A (Just another S0-Adapter)

Beitrag von BitMac » 25.01.2018, 20:56

Ich stelle euch mal meinen S0-Adapter vor.

Ja ich weiß, daß es von ELV die Komplettlösung mit dem HM-ES-TX-WM gibt, aber die Lösung ist mir zu teuer und das Konzept überzeugt mich auch nicht.
Ausserdem gibt es mit dem 8bit-Modul HM-MOD-EM-8Bit endlich mal ne Lösung eigene Bytes ohne Klimmzüge ins System zu bringen.
Das war der Anlass, eine Schnittstelle zu meinem Stromzähler herzustellen.

Funktionsbeschreibung:
Mein Zähler besitzt eine LED als S0-Schnittstelle. Deswegen ist der Eingang mit einem optischen Empfänger realisiert.
Das läßt sich einfach modifizieren, falls man einen Zähler mit potentialfreien Ausgang hat.
Es wird mit einem Controller die Anzahl der S0-Impulse gezählt, die innerhalb von 3min auftreten.
Diese Zeit ist dann auch der Übertragungszyklus an die CCU. Der Dutycycle erhöht sich dadurch nicht nenneswert.
Die Anzahl der Impulse wird dann als Byte an das Modul HM-MOD-EM-8Bit übergeben und an die CCU geschickt.
Die Interpretation und Auswertung des Bytes erfolgt dann in einem Script.

Da es S0-Zähler mit unterschiedlicher Anzahl von Impulsen/KWh gibt, muß sichergestellt werden,
daß der gewünschte Messumfang in das zu übertragende Byte passt. Deshalb wird die Zählung im Controller skaliert.
Das hab ich erstmal mit Jumpern realisiert.
Damit können Zähler verwendet werden, die 1000/2000/5000 oder 10000 Impulse/KWh haben.

Der Messbereich und die Auflösung des übertragenden Wertes ist dann:
1Puls/3min = 20W
250Pulse/3min = 5000W
Für eine höhere Auflösung als 20W müßte man länger messen, aber dann wäre die zeitliche Auflösung eben wieder schlechter.
Ein empfangener Wert > 250 zeigt eine Messbereichsüberschreitung an.

In einem HM-Script kann man dann die mittlere Leistung der letzten 3min auswerten: P = Bytewert * 20W
oder den Energiewert: E (kWh) = Bytewert / 1000
oder den Tagesverbrauch, indem man die Bytes integriert.

Die verwendete Hardware beruht auf Teilen, die ich noch in der Schublade hatte.
Es sind aber durchweg Bauteile, die man bei den gängigen Händlern bekommt.
Sollte jemand Interesse an einem Nachbau haben und will nur den Controller programmieren,
kann ich hier gerne das Hexfile zur Verfügung stellen, oder auch den C-Code, falls jemand ne eigene IDE hat.

Die Zukunftspläne sind schon geschmiedet. Das 8-bit-Modul besitzt ja noch zwei Schalteingänge.
Die werde ich benutzen, um der CCU vorher mitzuteilen, was als nächstes übertragen wird.
Dann kann man von 4 verschiedenen Geräten (u.a. z.B noch Gas und Wasser) die Werte mit einem Modul nacheinander übertragen.
Alternativ könnte man die Schaltereingänge auch verwenden, um einen 16bit-Wert zu übertragen.
Allerdings hab ich bis jetzt noch keine Anwendung für eine so hohe Auflösung.

Anregungen und konstruktive Kritik sind willkommen.
Schaltbild.jpg
Schaltbild der ersten Version
Aufbau.jpg
Hardware-Aufbau
Flot_Chart_Leistung.jpg
FlotChart der ersten Messungen

Antworten

Zurück zu „Projektvorstellungen“