Berechnung der Abtastfrequenz

Gast #2815516
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.
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.
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?
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.
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.
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.
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.
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.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.