Forum: Mikrocontroller und Digitale Elektronik Berechnung der Abtastfrequenz


von Anfänger (Gast)


Lesenswert?

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.

von Hans Puttrow (Gast)


Lesenswert?

Anfänger schrieb:
> 3P = 43,470 kW

hier fehlt der Verkettungsfaktor Wurzel(3)

von Rolf Magnus (Gast)


Lesenswert?

Der würde fehlen, wenn er mit der Spannung zwischen den Phasen gerechnet 
hätte, also mit 400V. 230V sind praktischerweise schon 400V/Wurzel(3).

von Anfänger (Gast)


Lesenswert?

ja, wer hat denn jetzt nu recht?

von Rolf Magnus (Gast)


Lesenswert?

ich

von Bastler (Gast)


Lesenswert?

Da würde ich ja lieber die Impluse zählen...

von Wolfgang (Gast)


Lesenswert?

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.

von Anfänger (Gast)


Lesenswert?

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?

von Eddy C. (chrisi)


Lesenswert?

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.

von Fragender (Gast)


Lesenswert?

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.

von Eddy C. (chrisi)


Lesenswert?

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.

von Rolf Magnus (Gast)


Lesenswert?

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.

von Wolfgang (Gast)


Lesenswert?

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.

von Ralph (Gast)


Lesenswert?

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.

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.