Typischerweise liegen die Grenzen der Pulsweitenmodulation (PWM) für Servos im Bereich von 1000 bis 2000 Mikrosekunden (us). Über diese Mikrosekunde-Grenzen hinaus fährt er nicht, auch wenn mechanisch möglich.
Stell mal bitte SPmin auf 0% (entspricht 550 us), dreht der Servo dann noch etwas weiter in diese Richtung? Wenn nicht ist die untere Mikrosekunde-Grenze des Servo bereits erreicht. Bis zur oberen Grenze (100 % / 2250 us) scheint der Servo ja problemlos zu fahren.
Ich habe einen MG995R von AZ-Delivery hier, dieser verfährt zwischen den Grenzwerten SPmin 0 % (550 us) und SPmax 100 % (2250 us) einen Winkel von ca. 170 °. Jeder Servo ist da aber ein bisschen anders.
Wenn du den Eindruck hast, dass dein Servo auch über die voreingestellten Grenzen (550 / 2250 us) hinaus noch verfahren könnte, lässt der Code es zu diese Mikrosekunde-Grenzen zu verändern. Dafür musst du in den Recovery-Mode. Dort exportierst du dir die Einstellungen. Im runtergeladenen txt-File suchst du nach "servoDcMin" und "servoDcMax". Du kannst die untere Grenze maximal auf 400 us und die obere auf maximal 2600 us setzen. Gespeichertes txt-File dann wieder importieren und neu starten. Nach der Änderung entspricht 0 % dann dem neuen "servoDcMin" und 100 % dem neuen "servoDcMax" in den SP-Werten. Aber vorsicht: sobald die gewählte Grenze über dem liegt, was der Servo verfahren kann, wird die Grenze nicht mehr sauber angefahren.