Das Signal eines Hall-Drehencoders mit analogem Ausgang soll so ausgewertet werden. Die Größe des analogen Signals entspricht dem Drehwinkel. Es gibt zwei Herausforderungen: 1. Nach 360° wiederholt sich das Signal, sodass man die Umdrehungen per Programm zählen muss 2. Der Magnet kann auf der Achse leicht verdreht montiert sein. Dieser Winkel soll per Software korrigierbar sein. Welche Probleme könnte es bei der Auswertung geben?
:
Gesperrt durch Moderator
Christoph M. schrieb: > 1. Nach 360° wiederholt sich das Signal, sodass man die Umdrehungen per > Programm zählen muss Die letzte Possition mit der aktuellen vergleichen und daraus auf die Drehrichtung schließen. > 2. Der Magnet kann auf der Achse leicht verdreht montiert sein. Dieser > Winkel soll per Software korrigierbar sein. Meinst du (a) "nicht konzentrisch" ausgerichtet, oder (b) um einen gewissen Winkel in Ruhestellung verdreht? (a) müsste sich in den Messwerten bemerkbar machen... (ausprobieren). Dann ist eine Korrekturfunktion nütig. (b) Nullen, also einmalig die Ruhepostion bestimmen und als Offset verwenden
Christoph M. schrieb: > Welche Probleme könnte es bei der Auswertung geben? Kein, weil das Signal schon digital auslesbar ist. Man muss halt oft genug auslesen, damit nie mehr als eine halbe Umdrehung zwischen beiden Werten liegt, damit man die Überläufe zählen kann.
Christoph M. schrieb: > Die Größe des analogen Signals entspricht dem > Drehwinkel. Theoretisch mag das so sein, nur kannst Du Dich dann von 12Bit Auflösung verabschieden. Christoph M. schrieb: > 1. Nach 360° wiederholt sich das Signal, sodass man die Umdrehungen per > Programm zählen muss Am einfachsten läßt sich das in Software lösen, d.h. den Sensorwert per I2C auslesen.
Christoph M. schrieb: > 2. Der Magnet kann auf der Achse leicht verdreht montiert sein. Dieser > Winkel soll per Software korrigierbar sein. Wenn Du I²C nimmst, kannst Du den Offset direkt in den Sensor programmieren.
Ich verwende einen Sensor, der dem AS5600 ähnlich ist. Der hat leider nur einen Analogausgang. Mittlerweile wird mir das Problem mit dem Analogausgang klar: Der Sensor erzeugt eine sägezahnförmige Schwingung, da er beim erreichen des maximalen Winkels wieder bei Null anfängt. Für die Positionserkennung ist da jetzt ein Problem, weil durch die endliche Geschwindigkeit des Phasensprungs ein Samplewert genau die Flanke treffen kann und dann es so aussieht, als wenn der Encoder rückwärts läuft. Man braucht also eine Art Filter, um dieses Problem zu unterdrücken.
Christoph M. schrieb: > Man braucht also eine Art Filter, um dieses Problem zu unterdrücken. Erstmal solltest du das Datenblatt lesen, bevor du solche voreiligen Schlüsse ziehst. Was meinst du wohl, wozu AMS dem Sensor in der Signalverarbeitung eine 10 Bit Hysterese verpasst hat. (DS Page 25).
>Erstmal
wäre die Hysterese im Sensor und zweitens macht die an der
Flankensteilheit des Analogsignal nichts.
Hallo Christoph, Christoph M. schrieb: > Mittlerweile wird mir das Problem mit dem Analogausgang klar: Der Sensor > erzeugt eine sägezahnförmige Schwingung, [...] > Man braucht also eine Art Filter, um dieses Problem zu unterdrücken. Nein, man braucht keinen Filter. Sondern eine ausreichend hohe Abtastrate (Nyquist), so wie Michael B. das schon geschrieben hat. Bei digitalen Encodersignalen ist das im Prinzip nichts anderes. Mit freundlichen Grüßen Thorsten Ostermann
Christoph M. schrieb: > Ich verwende einen Sensor, der dem AS5600 ähnlich ist Das ist ja nichtmal Salami, das sind Blutwurstscheiben. Die fake news wirst du selber essen müssen.
>Nein, man braucht keinen Filter. Sondern eine ausreichend hohe >Abtastrate (Nyquist), so wie Michael B. das schon geschrieben hat. Hast du dir meinen Screenshot oben angeschaut? Mit einer höheren Abtastrate wird der Punkt in der Flanke nicht verschwinden, sondern es werden mehr. Die höhere Abtastrate hat also eher einen gegenteiligen Effekt und der Filter muss länger werden.
Christoph M. schrieb: > Hast du dir meinen Screenshot oben angeschaut? Mit einer höheren > Abtastrate wird der Punkt in der Flanke nicht verschwinden, sondern es > werden mehr. Der Sensor wird nicht ohne Grund als "Position Sensor" und nicht als Drehsensor vermarktet. Der soll ein Potentiometer ersetzen und darauf ist die Signalverarbeitung und der Ausgang ausgelegt. Für einen Drehsensor nimmt man nicht ohne Grund einen mit Sin/Cos-Ausgang. Christoph M. schrieb: > Ich verwende einen Sensor, der dem AS5600 ähnlich ist. Und der wäre ...?
:
Bearbeitet durch User
>Der Sensor wird nicht ohne Grund als "Position Sensor" und nicht als >Drehsensor vermarktet. Seltsam .. und das obwohl sich über die zeitliche Veränderung der Position die Geschwindigkeit der Drehachse eines Motors bestimmen lässt. https://ams-osram.com/products/sensors/position-sensors Du hast recht: Osram hat spezielle, schnelle Sensoren für die Bestimmung einer kontinuierliche Rotation. Einen klaren Grund, warum der AS5600 für Rotationen mit begrenzter Geschwindigkeit nicht geeignet sein soll, kann ich nicht erkennen.
Bau Dir doch 2 übereinander, entweder gegeneinander verdreht oder unterschiedlich programmiert, so dass die steile Flanke bei verschiedenen Winkeln kommt.
Ich möchte ebenfalls diesen Sensor einsetzen und hätte eine Frage abseits der Auswertung, die ich mit I2C machen möchte (was laut Datenblatt geht): Wie verbaue ich den Sensor zusammen mit dem Magneten so, dass ein richtiges Poti daraus wird? Es ist mir bisher weder gelungen, ein fertig gebautes Modul zum Einschrauben zu bekommen, noch Komponenten dafür zu finden. Es müsste eine Art einschraubare Spindel mit Gewinde sein, die (wie ein konventionelles Poti) mit z.B. einer M10-Mutter im Gehäuse verschraubt wird und unten den Magneten hat. Wo bekommt man so etwas?
Martin K. schrieb: > Ich möchte ebenfalls diesen Sensor einsetzen und hätte eine Frage > abseits der Auswertung Sinnvollerweise solltest du für eine neue, unabhängige Frage einen neuen Thread beginnen. In deinem Fall wohl am besten im Mechanik-Unterforum. Denn du hast ja offenbar kein elektronisches Problem. Denn sonst liest jeder erst mal die alten Posts und denkt sich eine Antwort dazu aus, um dann zum Schluss herauszufinden, dass es nun auf einmal um ganz was anderes geht.
:
Bearbeitet durch Moderator