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
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.
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?
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.
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.
>>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
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.