Gast
#4314609
Hallo. Ich verwende den Timer2 bzw 5 eines STM32F4 im Encoder-Mode. Funktioniert so weit bisher. Hab am Encoder eine Rotationsachse dran. Jede neue Fahrt wird direkt vom Host vorgegeben. Bisher rechnet der Host pro Umdrehung weiter, damit ich immer die Fahrt mit dem kürzesten Weg zur nächsten Zielposition habe. Dadurch wir die Zielposition immer größer. Ich suche jetzt eine Lösung wie ich in jeder Umdrehung den Counter-Wert im Timer um 360° kürzen kann, damit der Wert nicht aus dem 360°-Bereich raus läuft. Reset per Encoder Z geht nicht wirklich, weil ich nicht garantieren kann, dass der Index in der 0° Position der Achse kommt. Außerdem stell ich mir die Umstellung der Regelung "mitten in der Fahrt" interessant vor. Hat schon jemand Erfahrung damit? Ich hab Bedenken, dass ich eine Differenz irgendwann rein bekommen, wenn ich den Timer-Counter ständig ändere und ich dadurch mal eine Encoder-Flanke "überhöre"