-
-
Erfahrener Benutzer
Roboter Genie
Diese "Huppel" kennt man in Fachkreisen eher als Ripple(-spannung).
Softwaretechnischer Ansatz: Eine vernünftige Flankenerkennung
Du pufferst einen Wert zwischen der das aktuelle Extremum speichert, d.h. bei einer fallenden Flanke wird der Puffer so lange aktualisiert wie die neuen Werte kleiner sind als der bisher gespeicherte. Überschreiten eingehende Werte den gepufferten Wert um eine bestimmte Schwelle, wird dies als steigende Flanke erkannt. Dann läuft die gleiche Logik in umgekehrter Form (Maximumssuche) ab.
Das funktioniert genau so lange wie dein Gleichspannungsanteil stabil bleibt - Wenn sich dieser aber innerhalb einer halben Periodendauer stärker ändert als der Schwellenwert, würde dies fälschlicherweise als Flanke erkannt werden.
mfG
Markus
PS: Dieses Verfahren verwende ich um die Odometrie-Sensoren meines ASURO auszuwerten, sieh Mal in die Funktion EncoderPoll(). Interessant ist für dich eigentlich nur die große Fallunterscheidung "if(last_state_buf ...", die Schleife außenrum führt den Code nur für beide Seiten aus.
Nachtrag: Andere Möglichkeit: Bilde die Differenz zwischen den aufeinanderfolgenden Werten (-> Steigung). Dann reagierst du anstelle auf Veränderungen der Werte selbst auf eine schnelle Veränderung der Steigung.
Allerdings solltest du für solche Algorithmen unbedingt größere Mengen Messwerte aufzeichnen und dann die Algorithmen testweise auf diesen ausführen um die Wirkung beobachten zu können.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen