' schrieb:ok...
du hast mir ja schon mal den tipp gegeben
dann berechne ich mir meine winkelgeschwindigkeit und rechne dies in eine Drehzahl um?! Was meinst du mit einer Mittelung von 250ms? kannst du mir ein Beispiel zeigen? (nein ich bin nicht faul aber ich würde es gerne richtig machen und denke dass du sehr sehr fit bist in LabVIEW deinen beiträgen nach
)
bei einer winkelmessung wird doch beispielsweise bei 0° angefangen und wenn die Messwelle jetzt fröhlich vor sich her dreht wird der winkel doch irgendwann sehr sehr groß oder nicht? hat das irgendwelche auswirkungen auf eine kontinuierliche messung?
danke gruß johannes
Mittlungszeit von 250 ms aus folgendem Grund:
man hat bei entsprechender Drehzahl eine relativ hohe Frequenz der Pulse, die am Counter Eingang reinkommen, d.h. der Zähler zählt relativ schnell hoch, die Abtastrate ist aber auch relativ schnell drum kann es vorkommen, dass man einige wenige Pulse durch eine sehr kurze Zeit dividiert, was sich dann als stark schwankendes Drehzahl-Signal bemerkbar macht, weil ein Tick mehr oder weniger durch eine Millisekunde (z.B.) auf Umdrehungen pro Minute doch einiges ausmacht.
Ganz deutlich wird das wenn du dir vorstellst, deine Encoder Pulse kommen mit 500 Hz am Counter-Eingang an und du misst mit 1000 Hz. Dann ist jeder 2. Zähler-Wert um einen Encoder-Tick größer als der vorletzte gefolgt von einem Winkel der genau so groß ist wie der letzte (usw) und das bedeutet z.B. bei einem 360 Striche Encoder dass du alle Millisekunde eine Schwankung von 1° pro ms = 1000° pro Sekunde = 60000° pro Minute = 166 U/min misst, die tatsächlich gar nicht vorhanden ist ... (und das bei 500 Tics/sec ~ 83 U/min - bei einem 360' Encoder ...)
==> Auch bei einer absolut stabilen, gleichmäßigen Drehzahl bekommt man - wenn man jeden Tic durch die Zeit teilt - eine ziemliche Streuung in seine Messung und das will man ja eigenltlich nicht sehen. Darum mache ich das immer so: ich zähle alle Tics über meine Mittelungszeit (z.B. 250 ms) und dividiere diese durch die Mittelungszeit => ich bekomme 4 mal pro Sekunde einen neuen Wert für die Drehzahl und nicht pro Sekunde (z.B.) 1000 stark schwankende Drehzahlwerte.
Realisieren kann man das z.B. über einen Ring-Puffer der Mittlungszeit durch Sample-Rate Werte groß ist. Wenn der Puffer voll ist wird der neue Drehzahl-Wert berechnet ... Wenn du die Drehzahl tatsächlich mit einer sehr hohen Abtastrate ausgeben willst hilft dann eigentlich nur über die Mittelungszeit interpolieren ...
Wenn du den Encoder-Task als Winkel-Messung implementiert hast bekommst du einen Double als Wert raus. Der kann glaub ich bis irgendwas mal 10 hoch 133 groß werden oder so => bis der Zahlenwert erreicht ist hast du bestimmt entweder mal den Prüfstand ausgeschaltet oder nen Lagerschaden im Encoder
![Big Grin Big Grin](images/smilies/biggrin.gif)
... falls du trozdem noch Angst hast kannst du den Prüfstand ja ab und zu mal rückwärts laufen lassen