SDK Servos#
El SDK ofrece varios métodos de control y comunicación con servos, así como un par de métodos ocultos que se pueden acceder fácilmente.
Explicación general#
Explicación de PWM (Modulación de Ancho de Pulso)#
Los servos se controlan mediante una señal PWM. La señal PWM es aquella en la que la señal se enciende durante un número de microsegundos y luego se apaga durante un número de microsegundos. Los servos se controlan enviando pulsos de longitud variable cada 20 ms, siendo la longitud de los pulsos la que dicta a qué ángulo debe moverse el servo (o, en el caso de los servos CR, a qué velocidad debe moverse). Esta longitud del pulso, expresada en microsegundos, se llama ancho de pulso PWM. Por defecto, el sdk genera señales de 600 a 2400 microsegundos (siendo 600 microsegundos el SDK 0 y 2400 microsegundos el SDK 1). Sin embargo, el expansion hub puede generar entre 500 y 2500 microsegundos si se establece el rango manualmente.
5V Energía#
Todos los servos requieren un mínimo de 5V para funcionar, por lo que el expansion hub genera 5V para alimentar los servos. La alimentación de 5V se comparte entre pares de puertos (0-1, 2-3, 4-5). Por defecto, esta alimentación de 5V está APAGADA y no proporciona energía. Sin embargo, cualquier operación de servo, como establecer la posición de un servo, activará la alimentación de 5V en ambos puertos compartidos. Llamar a disable PWM parece apagar la alimentación compartida, sin embargo, si se utiliza otro servo o está activo, la alimentación de 5V permanecerá ENCENDIDA en su lugar.
Advertencia
Cada par de dos puertos, (0-1, 2-3, 4-5) comparten la MISMA limitación de 2 amperios, así que se debe tener cuidado de que los pares de servos no consuman más de 2 amperios. Se recomienda colocar los servos en cada otro puerto cuando sea posible.