Hallo Leute, ich lese einen Sensor aus. Dieser gibt mir einen 14bit Wert und daraus bilde ich wiederumeinen Mittelwert. Das funktioniert alles soweit 100%ig. Der Sensor reagier auf Wärmestrahlung (Bewegungsmelder). Nun pendelt sich der Mittelwert natürlich immer woanders ein (je nach dem wo der Bewegungsmelder steht draußen/drinnen). Am Anfang setzte ich Wert k = dem Mittelwert. Wenn sich der Mittelwert nun weiter als eine Zahl X von dem festgesetzen Wert k entfernt, soll ein Flag gesetzt werden. Wenn natürlich der Mittelwert nur langsame veränderungen zeigt, soll der Wert k wieder = dem Mittelwert sein. Wie kann ich das am besten realisieren? Ich hoffe ihr habt mich verstanden ;-) MfG Muecke
Du brauchst vermutlich eine differentielle Erfassung der Werte, d.h., Dich interessiert nicht der Wert an sich sondern die Änderung (Steigung) des Wertes. Im einfachsten Fall wertest Du (bei konstanten Abtastintervallen) nur die Differenz zwischen dem aktuellen und dem letzten Wert aus. Wenn die einen bestimmten Wert überschreitet, dann wird das Flag gesetzt.
Ist doch recht einfach. Wenn ein Bewegungsmelder eine Person detektiert, ändert sich schlagartig das Wärmestrahlungsnieveau. Also eine schnelle Änderung. Die Umgebungstemperatur ändert sich vermutlich nicht so schnell. Ich würde das so lösen: Mit einem IIR-Filter einen Mittelwert nachführen. Das einfachste wäre hier alle paar Sekunden den alten Mittelwert mit Faktor 0,5 auf den aktuellen Momentanwert mit Faktor 0,5 auf zu addieren. Dadurch steigt dein Mittelwert langsam mit der Umgebungstemperatur an. Die Anstiegszeit kannst du mit der Periodendauer der Messwertaufnahme oder auch mit den beiden Faktoren ändern. k = 1/2 k_alt + 1/2 X (IIR-Filter) Weiter würde ich ein gewisses Delta für die Detektion einer Person fordern. Das Messsignal muss also um Delta über dem nachgeführten Mittelwert liegen. Probiers mal oder du musst noch mehr Infos geben.
OK. Nach dem Schema hatte ich es versucht, aber ich hatte noch nen Fehler drin. Jetzt funktionierts. Danke
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.