Noch ein Hinweis, was hier passiert. Folgendes macht die Servo-Lib: für jeden Servo wird der Ausgangspin auf HIGH gesetzt, dann das Auslösen des Interrupts neu gesetzt, so daß er nach der Länge des HIGH-Signals wieder zuschlägt, um dann LOW zu setzen. Danach wird das gleiche mit dem nächsten Servo durchgeführt bis alle abgearbeitet sind. Jetzt wird das Auslösen des Interrupts auf REFRESH_INTERVAL gesetzt und beim nächsten Interrupt neu gestartet.
Daraus ergibt sich folgendes: hat man vier Servos und alle sind bei 1500µs, dann vergehen von den 20000µs REFRESH_INTERVAL schon 6000µs für das Erzeugen der Signale (+ die Verabeitungszeit). Sind alle vier bei den maximal erlaubten 2400µs, dann braucht man bereits den halben REFRESH_INTERVAL. Daraus ergibt sich ein Limit für die maximale Wiederholrate in Abhängigkeit der Anzahl der Servos. Andersum gibt der 16-Bit-Counter ein oberes Limit für REFRESH_INTERVAL vor. Beim 16MHz ATmega wird der Wert von REFRESH_INTERVAL mit 2 multipliziert in das Counter-Register geschrieben, welches meiner Meinung nach ja nur 16 Bit groß ist und damit nur Werte bis 65535 aufnehmen kann. Also wird bei etwas mehr als 32000 der REFRESH_INTERVAL nicht mehr das tun, was man erwarten würde.