-
-
Erfahrener Benutzer
Begeisterter Techniker
Zeit zwischen 2 Impulsen messen (in Sekunden). Stromzähler
Habe einen Stromzähler mit SO Schnittstelle.
http://www.amazon.de/Stromz%C3%A4hle...=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?
-
Erfahrener Benutzer
Begeisterter Techniker
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.
-
Erfahrener Benutzer
Begeisterter Techniker
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.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen