Hallo liebes Forum!
Hat jemand Erfahrung damit, ob sich ein inkrementaler Drehgeber über die GPIO-Pins auswerten lässt?
Und wenn ja, wie sieht es da mit der maximalen Abtastfrequenz aus?
Vielen Dank schon einmal im Voraus!
Liebe Grüße Juben
Hallo liebes Forum!
Hat jemand Erfahrung damit, ob sich ein inkrementaler Drehgeber über die GPIO-Pins auswerten lässt?
Und wenn ja, wie sieht es da mit der maximalen Abtastfrequenz aus?
Vielen Dank schon einmal im Voraus!
Liebe Grüße Juben
Dafür gibts Libraries, die das machen. Ich hab selbst noch keine benutzt, aber schon öfter was drüber gelesen.
Wenn das gut implementiert ist, dürfte das im KHz-Bereich liegen. Wie viel brauchst du denn?
Wie viel brauchst du denn?
Anfangs habe ich schon versucht den Sensor mit einer SPS auszuwerten. Da habe ich eine Zykluszeit von 250 µs verwendet, das ergibt also 4 kHz.
Allerdings wurde der Sensor da nicht richtig ausgewertet, so wurden für den gleichen Verfahrweg bei unterschiedlichen Geschwindigkeiten einmal rund 5000 Pulse gezählt und einmal nur 3000 Pulse. Also ich würde sagen, dass ich auf jeden Fall deutlich höher muss als 4 kHz
Danke für die rasche Antwort
Eine sinnvolle Steuerung würde eher keine Zykluszeit nehmen, sondern mit Interrupts arbeiten.
Aber mal andersrum gefragt: Welche Auflösung hat dein Drehgeber und wie viele Umdrehungen/min läuft der denn?
Hallo Juben,
wenn Du eine Library benutzt, die in C(*) geschrieben ist und zeitoptimierten Code erzeugt, dann kannst Du mit 40 bis 50 MHz Abtastfrequenz rechnen.
Für ein Auftragsprojekt habe ich mal eine GPIO-Library in Assembler entwickelt, die brachte es auf mehrere 100 MHz Setzen bzw. Lesen von GPIO-Pins.
In solche Regionen kommst Du aber nur, wenn die Library-Funktion für einen Zeitraum Impulse zählt und nach Ablauf der Zeit das Ergebnis überträgt.
Sobald Du einzelne Impulse über Dein Anwendungsprogramm erfassen und zählen möchtest, dann ist's mit den Dutzend MHz ganz schnell vorbei.
Beste Grüße
Andreas
(*) gilt für alle Programmiersprachen, die sich auf C zurückführen lassen