Hi Slyd....
"ich war davon ausgegangen..."
Warum sollte mich das "singen" abhalten in der Richtung das Eine oder Andere auszuprobieren? Nö der RP6 macht mit seinen Gearboxen auch so schon genug rabatz :) Da konnts nich drauf an...
Nun ich bin davon ausgegangen, das die niedrige Frequenz eben nicht so massive Auswirkungen hat und ich habe viel recherchiert, ausprobiert, dazu gelernt... ist doch alles fein :)
"ich versteh nicht wo das Problem ist"
Hätte es geklappt wie erst gedacht, wäre es die einfachste Möglichkeit gewesen, mit Timer1_OVF und 300Hz für den RTOS Tick zu arbeiten da Timer0 und 2 nun mal schon von der RP6Lib intensiv genutzt wird. Ich werde aber wohl nun den Timer0 nutzen müssen. Nein brauchen können tu ich die Stopwatches so sicher nicht, RTOS hat ne eigene Zeit/Timerverwaltung aber da hängen bei RP6Lib ja nicht nur die Stopwatches dran... leider. RTOS hat eine eigene Stackverwaltung, naked isr's usw... usw.. Das ist alles aus diversen Gründen leider nicht so einfach. Es langt auch nicht, das RTOS System mal eben durch ein Softwaretimer in das RP6Lib System einzuhängen.
Ich frag mich halt auch, ob das beschriebene Verhalten (schwingen) nun allein an der niedrigen PWM Frequenz/pysische Eigenschaften usw. liegt, oder (auch) an der Software zur Motorsteuerung. Wenn ich das richtig sehe, hast du in der RP6Lib sowas wie ein PI-Regler verwendet und die Steuerung hängt von den ISRs der Encoder, aber auch vom hochfrequenten Aufruf von task_motionControl, sowie von der TIMER0_COMP_vect mit Ausgabe der PWM Werte ab. Das heisst aber, das die Regelwerte quasi zeitungebunden bzw. CPU-Lastabhängig verarbeitet werden? Das würde vielelicht das besagte Schwingen erklären? Die CT'bot Lösung verwendet dagegen z.B. einen zeitsyncronisierten PID Regler mit Änderung der PWM Rate im Anschluß an den Regelkreis ohne weitere Laufzeitabhängigkeiten. Quasi so als wäre die task_motionControl ein Teil der TIMER0_COMP_vect.
LG Rolf
LG Rolf