PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Zeit zwischen 2 Impulsen messen (in Sekunden). Stromzähler



Accenter
06.01.2011, 10:56
Habe einen Stromzähler mit SO Schnittstelle.

http://www.amazon.de/Stromz%C3%A4hler-Drehstromz%C3%A4hler-f%C3%BCr-Hutschiene-3x20/dp/B003J1BTX4/ref=pd_ys_iyr_img

Möchte hier nun gerne eine Leistungsanzeige programmieren.

Pro 1kW/h bekomme ich 1000 Impulse. Impulslänge 90ms.

Ich muss also nur den Abstand zwischen 2 Impulsen messen und das dann durch 3600 Sekunden dividieren und schon hab ich die Leistung in Watt die gerade verbraucht wird. (hochgerechnet auf eine Stunde 3600 Sekunden = 1 Stunde)

Die Impulse die gemessen werden, sollten auch schonmal 600 Sekunden auseinander liegen können damit ich auch einen kleinen Stromverbrauch ausrechnen lassen kann. Bei 600 Sekunden wären das laut meiner Rechnung dann 6 Watt.

Hat jemand einige Zeilen Code für mich wie ich so eine Zeitmessung bewerkstelligen kann?

lokirobotics
06.01.2011, 15:01
Code hab ich nicht, aber einen Lösungsvorschlag:

Programmier dir einen Zähler als Zeitbasis, sagen wir, 1ms.
Bei jedem Timerüberlauf (jede 1ms) wird ein Interrupt ausgelöst, in welchem du zwei Zähler inkrementierst. Einen ms Zähler, der jeweils bis 1000 zählt und einen s Zähler, der dann logischerweise nur jeden tausendsten Überlauf inkrementiert wird.
Wenn ein Impuls von deinem Stromzähler eintrifft, brauchst du nur zwei Zählerwerte ([alter Zählerwert]-[neuer Zählerwert])vergleichen und bekommst so die Zeit in ms-Auflösung.

Accenter
06.01.2011, 15:17
Danke für deine Hilfe. Das hört sich gut an. Hoffen wir, dass ich das hinbekomme :-) Falls jemand ein ähliches Programm hat mit einem leicht verständlichen Code, wäre ich sehr dankbar dafür.