bueno la verdad que no conosco tu modelo de servo, pero con unos compañeros en la escuela para variar la velocidad de un servo paso a paso de una lectora de cd, que tiene 3 bobiandos con el punto comun unido, necesitabamos una determinada sequencia de pulsos en los 3 boboinados, por ejemplo:
L1 L2 L3
1 0 1
1 0 0
1 1 0
0 1 0
0 1 1
0 0 1
1 0 1
Y asi se repite el ciclo para q gire el motor. Para variar la velocidad en este caso lo unico q hacemos es poner un retardo de determinado tiempo entre cada cambio de cada bit (todos del mismo tiempo sino no gira en todo momento a la misma velocidad). La velocidad maxima estara dada por la frecuencia maxima de trabajo de la bobinas ( ya q la frecuencia de trabajo del pic seguramente debe ser bastante superior xD)
Y si tu motor fuera un servo angular la idea es la misma.
Nosotros en lo personal el motor lo controlamos desde el puerto paralelo de una pc, pero aun asi en mi opinion se me hace que puede llegar a resultar complicado si lo que queres es variar la velocidad de giro con un pic. Por ahi usando el A/D C y una tabla en memoria q le de un valor determinado valor al contador de un retardo... pero no soy muy ducho en el tema xD