Hi @All!
Ich möchte mit einem FPT-100 und einem uC die Impulse einer
S0-Schnittstelle eines Stromzählers zählen. Dazu habe ich mir die Frage
gestellt, wie hoch die Abtastfrequenz sein muss. Folgende Überlegung hab
ich gemacht:
S0: 1000 Impulse pro Kilowattstunde
Maximalstrom: 63 Ampere (Hauptsicherung)
Pro Phase:
P = U*I = 63A * 230V = 14,490 kW
3P = 43,470 kW
Also kann der Zähler pro Stunde maximal 43,470 Kilowattstunden messen.
Und der S0-Ausgang sendet somit max. 43470 Signale pro Stunde aus.
43470/3600 = 12,075 (=13) Impulse pro Sekunde.
Und nach dem Shannon-Theorem muss die Abtastfrequenz mindestens
2*maxFrequenz der zu messenden Größe sein - also müsste die
Abtastfruequenz des uC mindestens 30 Hz betragen.
Ist die Grundüberlegung so richtig (und das oben so richtig berechnet)?
Ich würde mich über eine kurze Rückmeldung von Euch freuen, vielen Dank
im Voraus.
Bastler schrieb:> Da würde ich ja lieber die Impluse zählen...
Für einen Energiezähler ist die Zahl der Impulse sicher geeignet, für
die Momentanleistung liefert der zeitliche Abstand der Pulse die höhere
Auflösung. Das setzt allerdings voraus, dass die Pulsflanken direkt vom
µC erfaßt werden und nicht per Polling regelmäßig der Pulsausgang
abgefragt wird.
Wolfgang schrieb:> dass die Pulsflanken direkt vom> µC erfaßt werden und nicht per Polling regelmäßig der Pulsausgang> abgefragt wird.
Genaugenommen will ich ja die Impulse der S0-Schnittstelle zählen und
das Zeitintervall softwaremässig festlegen, z.B. jede Minute, um so
später die Daten auch grafisch darstellen zu können.
Was spricht denn grundsätzlich gegen ein Polling? Wenn ich die
Pulsflanken dierekt erfassen will, dann muss ich mit Interrupts
arbeiten,bin aber dann ggf. auf ein oder zwei Signalerfassungen
beschränkt, wenn ich sequentiell im Programmcode die Daten in einer
Schleife abfrage mit einer entsprechend schnellen Frequenz (polling),
dann müsste dass meiner Ansicht nach funktionieren und ich sehe keinen
Vorteil darin was Du meinst - Wolfgang. Kannst Du es mir erklären, damit
ich was neues dazulernen kann?
Vorausgesetzt, die Pulspausen sind länger als die Pulse an sich und die
Pulsdauer ist konstant und unabhängig von der Pulsfrequenz, dann ist die
Mindestabtastfrequenz der Kehrwert der Pulsdauer.
Es kommt auf die Pulsdauer an.
Schlauer ist es, die Pulse per Interrupt zu zählen.
Eddy Current schrieb:> Es kommt auf die Pulsdauer an
Also muss ich ein Oszi nehmen und dann messen, wie lange die S0-Diode
leuchtet und wie lange sie nicht leuchtet?
Der Vorteil für mich besteht ganz einfach darin, dass ich mit
sequentieller Abfrage gleich mehrere verschiedene Impulse zählen könnte,
wenn ich die Interrupts verwende, dann gehen halt nur 1 oder 2 in der
Regel, je nach uC, soweit ich mich erinnere. Aber komfortabler ist es
schon, gebe ich zu.
Ja, Pulsdauer messen.
Falls Dir die Abtastfrequenz zu hoch wird, kann durch Pulsverlängerung
die notwendige Abtastfrequenz verringert werden. Der begrenzende Faktor
ist hier wiederum die Pulsfrequenz.
Fragender schrieb:> Eddy Current schrieb:>> Es kommt auf die Pulsdauer an>> Also muss ich ein Oszi nehmen und dann messen, wie lange die S0-Diode> leuchtet und wie lange sie nicht leuchtet?>> Der Vorteil für mich besteht ganz einfach darin, dass ich mit> sequentieller Abfrage gleich mehrere verschiedene Impulse zählen könnte,> wenn ich die Interrupts verwende, dann gehen halt nur 1 oder 2 in der> Regel, je nach uC, soweit ich mich erinnere.AVRs haben oft noch einen Pin-Change-Interrupt, der von vielen Pins
ausgelöst werden kann. Bei neueren geht das oft fast mit jedem Pin.
Andere µCs werden sowas doch wohl auch haben. Ansonsten kann man sich
das mit einem einfachen UND-Gatter auch leicht selbst bauen, indem man
jedes Signal an einen eigenen Pin legt und ans UND-Gatter. Dessen
Ausgang legt man dann an den Interrupt-Pin. Und erst in der ISR, also
wenn man weiß, daß auch tatsächlich was interessantes passiert ist,
fragt man dann die Pins ab.
Anfänger schrieb:> Kannst Du es mir erklären, damit ich was neues dazulernen kann?
Wenn du die Leistung wissen möchtest, brauchst du möglichst genau den
Pulsabstand, da die Zeit in die Berechnung eingeht. Mit Polling erwischt
du den Puls zwar, aber nur so ungefähr.
Für eine Energiemessung brauchst du nur die Summe der Pulse, d.h. da
kommt es nicht auf Bruchteile von Pulsen (=Pulseintreffzeit) drauf an,
weil eine Auflösung von 1/1000 kWh dafür normalerweise voll ausreichend
ist.
Leg das Signal auf einen Timereingang.
Vom Timer bekommst du die Anzahl der Pulse und einen Zeitstempel.
Die Werte kannst du Pollen oder per Interrupt abholen.
Und abgesehen davon, mit der Eingangsfrequenz langweilt sich jeder µC zu
Tode.