Forum: Mikrocontroller und Digitale Elektronik S0 Impulse kummulieren


von Stromzähler (Gast)


Lesenswert?

Hallo,

ich habe 4 Stromzähler, die jeweils ein S0 Signal ausgeben.
Durch eine Algorithmus möchte ich ein S0 Signal erzeugen, dass dem 
Gesamtstromverbrauch aller 4 Zähler entspricht.
Mein erster Ansatz war die SIgnale einfach zu verodern. In diesem Fall 
sind die Signalabstände aber auch bei konstantem Stromverbauch stark 
unterschiedlich. Da der aktuelle Verbrauch aber anhand der Abstände 
zwischen den Impulsen berechnet wird, ist diese Variante für mich 
unbrauchbar.

Des Weiteren habe ich versucht die Impulse für eine Zeit x zu zählen, 
und diese dann in der Zeit x+1 gleichmäßig auszugeben. Nachteil hier 
dass ich eine Verzögerung von x am Ausgangssignal habe und dass auch 
hier bei konstantem Stromverbrauch in Zeit x mal ein Impuls mehr oder 
weniger gezählt wird was wieder zu einem unbrauchbaren Ausgangssignal 
führt.

Ich müsste den Impulsabstand des Ausgangssignals fließend anhand der 4 
S0 Eingangssignale anpassen. Wie kann ich dies realisieren?

Viele Grüße

Der Stromzähler

von H.Joachim S. (crazyhorse)


Lesenswert?

Das ist doch recht einfach.
Kleiner MC, der die 4 Eingänge abtastet und jeden erkannten Puls 
speichert. Sind gültige Eingangspulse da, wird eben auch einer 
ausgegeben.
Es kann natürlich sein, dass es bei höher Last nicht mehr funktionieren 
kann. 30ms high, 30ms low sind die Mindestzeiten, die du einhalten 
musst. Wenn dauerhaft mehr Input kommt als du (zeitlich begrenzt) 
ausgeben kannst ist es vorbei. Kommt auf die Gewichtung der Zähler an 
was sie ausgeben. bei 1Puls/kWh hast du sicher keine Probleme, bei 1/Wh 
schon eher :-)
Zur Not musst du eben umrechnen und am Ausgang eine andere Gewichtung 
vorsehen.

von Stromzähler (Gast)


Lesenswert?

Es kommen max 1 Imp pro Sekunde je Zähler vor.
Dein Vorschlag berücksichtigt aber nicht, dass die ausgegebenen Impulse 
nicht schwanken sollen.

Ich habe eine neue Idee das Problem zu lösen:
Jeder Eingangsimpuls erhöht einen signed Zähler. Jeder Ausgangsimpuls 
erniedrigt einen Zähler. Umso höher der Zähler ist, desto schneller wird 
die Frequenz der Ausgangsimpulse. Umso niedrieger der Zähler ist, desto 
langsamer wird der Zähler.

Wie kann ich dieses Verhalten am besten in eine Formel packen?

von Stromzähler (Gast)


Lesenswert?

Ich denke ein PID Regler könnte das sein, was ich suche, oder?

von Martin K. (maart)


Lesenswert?

Stromzähler schrieb:
> Es kommen max 1 Imp pro Sekunde je Zähler vor.
> Dein Vorschlag berücksichtigt aber nicht, dass die ausgegebenen Impulse
> nicht schwanken sollen.

Verstehe ich jetzt nicht. So wie ich die S0-Schnittstelle verstanden 
habe, wird pro kWh eine bestimmte Anzahl Impulse ausgegeben. Deswegen 
ist es ja auch ein Stromzähler und kein Wattmeter.

von H.Joachim S. (crazyhorse)


Lesenswert?

nene, das passt schon.
Man kann aus dem Abstand der Pulse die Momentanleistung berechnen bzw. 
ergibt sich diese direkt daraus.
Beispiel: 1 Puls pro Ws. Kommt jede Sekunde einer, ist die 
Momentanleistung 1W. Kommt einer alle 2s, ist die Leistung eben 0,5W.

@TO: was willt du mit einem PID-Regler? Musst eben für jeden Eingang 
auch eine Stoppuhr einbauen, daraus hast du alle 4 Momentanleistungen 
und daraus ergibt sich die Gesamtleistung, das ist alles einfachste 
Mathematik.

von Detlef _. (detlef_a)


Lesenswert?

>>30ms high, 30ms low sind die Mindestzeiten
60ms/tick und 1Wh pro tick sind 60KW maximal möglich signlisierbare 
Leistung, die Gesamtleistung aus den 4 S0 Signalen muss also kleiner 
sein.

>>Jeder Eingangsimpuls erhöht einen signed Zähler.

Yo, so machen. Du nimmst nen Tiny oder sowas und zählst die 
Eingangspulse an 4 Eingängen mit und gibst einfach einen Impuls 30ms 
high/30ms low aus, wenn der Zähler > 0 ist.

Das geht bestimmt auch noch mit einer schlichten kombinatorischen Logik 
vllt. mit nem 30ms Monoflop, für die ich leider im Augenblick nicht 
genügend kreativ bin ;-(

Cheers
Detlef

von Alexander S. (esko) Benutzerseite


Lesenswert?

Stromzähler schrieb:
> Ich habe eine neue Idee das Problem zu lösen:
> Jeder Eingangsimpuls erhöht einen signed Zähler. Jeder Ausgangsimpuls
> erniedrigt einen Zähler. Umso höher der Zähler ist, desto schneller wird
> die Frequenz der Ausgangsimpulse. Umso niedrieger der Zähler ist, desto
> langsamer wird der Zähler.

Das klingt nach einer guten Idee.
Du brauchst dann noch Funktion, die Abhängig von den Eingangssignalen 
und dem Zähler die S0-Signale ausgibt.

Im einfachsten Fall kannst du die Abstände zwischen den ausgegebenen 
S0-Signalen abhängig vom Zähler machen. Dann hast du zwar von der Anzahl 
der ausgegebenen Signale einen Verzug, aber das Ausgangssignal dürfte 
dennoch relativ schnell dem Eingangssignal folgen.

von Klaus R. (klara)


Lesenswert?

Hallo Stromzähler,
ich habe auch einen Stromzähler mit S0 Bus für und einen der mir ca. 
alle 5 Sekunden einen Wert in kW/h liefert. Der Impuls vom S0 Bus kann 
bei sehr geringen Werten schon mal 20 Minuten auf sich warten lassen 
oder auch alle 4 Sekunden kommen.
Ich will den Unterschiedsbetrag im Zeitraster von 30 Sekunden 
aufzeichnen.
Die Werte der Zähler werden mit Zeitstempel in eine Tabelle für Rohdaten 
geschrieben. Daneben gibt es eine Tabelle für die 30 Sekundenintervalle.
Es wird geprüft ob für ein 30 Sekundenintervall beide Werte vorliegen 
dann wird der Wert eingetragen.
Der S0 - Wert lässt meist länger auf sich warten. Solang ich den 
nächsten Impuls nicht habe kann ich auch nicht den Verbrauch 
feststellen. Kommt der Impuls dann, so kann ich ihn auf die 30 
Sekundenraster verteilen.
Die 30 Sekunden sind eigentlich willkürlich gewählt, scheinen aber in 
meinem Fall ausreichend zu sein. Rückrechnungen ergeben Abweichungen von 
< 3%.
Bei diesem Verfahren muss man nur darauf achten das man bei beiden 
Zählertypen die Intervalle anteilsmässig versorgt. Beim S0 können z.B. 
12% ins Intervall 4711 fallen, 35% ins Intervall 4712, 35% ins Intervall 
4713 und der Rest ins Intervall 4714.
Gruss Klaus.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.