Bueno, por fin he podido dedicarle tiempo a este proyecto. Así que os presento el diseño, espero que definitivo, de la controladora.
He aumentado el número de servos de 24 a 28, he restringido la resolución a 0,5º y el protocolo de comunicación ha cambiado un poco.
La comunicación se realiza enviando 4 bytes del siguiente modo:
S V P1 P2
- S es el número de servo a mover, de 1 a 28. (1 byte)
- V la velocidad a la que se movera el servo desde la posición actual hasta la nueva posición (1byte), ejemplo: un valor de 1 correspondería a 0,5º cada 20ms.
- P1 y P2. Estos 2 bytes son la posición a la que debe ir el servo (0 a 360), P1 corresponde al byte de menos peso y P2 al de más. ejemplo: 68 01 = 360 =+90º
Si se quiere cambiar la posición de varios servos o de todos a la vez la orden será:
S V P1 P2 S V P1 P2 S V P1 P2 ...
Espero en este fin de semana montarla y poner alguna foto para que se vea mejor el resultado final, ya que hasta ahora sólo la he montado y comprobado su funcionamiento en una protoboard.
Una imagen de como quedará
Si alguien quiere ir buscando bugs
AQUÍ tenéis lo necesario para montarla.
Saludos