ejemplo, usando el protocolo Pololu protocol a 115.2 kbps, enviando el comando a 24 servos tarda
--4.6 ms, mientras si los envías de forma individual tardaría 12.5 ms.
Set Speed
Compact protocol: 0x87,numcanal,velocidadLB,velocidadHB
Pololu protocol: 0xAA,numdispos,0x07,numcanal,velocidadLB,velocidadHB
Este Comando limita la velocidad del servo al cambiar el valor del canal de salida. El límite de
velocidad se da en unidades de 0.25 μs/10 ms excepto en casos especiales (ver sección 4.e). Por
ejemplo, el comando
establece la velocidad del canal 5 en un valor de 140,
0x87,0x05,0x0C,0x01
que corresponde a una velocidad de 3.5 μs/ms. Esto significa que si envía un comando de
Set
para ajustar el destino del servo de 1000 μs a 1350 μs, tardará 100 ms para realizar ese
Target
ajuste. Una velocidad de 0 es una velocidad ilimitada, así el objetivo será inmediato para llegar a la
posición. Piensa que la velocidad real de los movimientos cinemáticas también está limitada por el
propio diseño del servo, la tensión de alimentación y de la carga, por lo que este parámetro no
servirá para ir más rápido de lo que físicamente es capaz.
Con la configuración de velocidad mínima de 1, la salida de servo tarda 40 segundos para pasar de
1 a 2 ms. La configuración de velocidad no tiene ningún efecto en los canales configurados como
entradas o salidas digitales.
Set Acceleration
Compact protocol: 0x89,numcanal,aceleraciónLB,aceleraciónHB
Pololu protocol: 0xAA,numdispos,0x09,numcanal,aceleraciónLB,aceleraciónHB
Este comando limita la aceleración en la salida del canal servo. La aceleración puede tener un valor
entre 0 y 255 en unidades de (0.25 μs)/(80 ms)/(10 ms) excepto en casos especiales (ver sección
4.e). El valor 0 se corresponde con ningún límite de aceleración. La aceleración limitada causa que
la velocidad del servo ascienda lentamente hasta alcanzar la velocidad máxima para luego
descender hasta llegar a la posición destino, resultando de ello, un movimiento relativamente suave
de un punto a otro.
Con la aplicación de límites en velocidad y aceleración, solo harán falta unos pocos ajustes para que
llegar al destino, se realice con movimientos de aspecto natural y que de lo contrario serían bastante
más complicados de crear. Configurando la aceleración mínima a 1, el servo tarda unos 3 segundos
en moverse desde una posición de 1ms a un destino de 2ms.
La aceleración no tiene efecto en los canales configurados como entradas o salidas digitales
(Mini Maestro 12, 18, y 24 solo)
Set PWM
Compact protocol: 0x8A,pulsoLB,pulsoHB,periodoLB,periodoHB
Pololu protocol: 0xAA,numdispos,0x0A,pulsoLB,pulsoHB,periodoLB,periodoHB
Este comando ajusta la salida PWM en pulso y periodo con unidades de 1/48 μs. El pulso y el
periodo se codifican en bytes de 7 bits de la misma manera que destino con el comando 0x84,
anterior. Para más información sobre el PWM, ver sección 4.a.
La salida PWM no está disponible en el Micro Maestro.
Get Position
Compact protocol: 0x90,numcanal
Pololu protocol: 0xAA,numdispos,0x10,numcanal
Respuesta: un byte LB de posición y un byte HB de posición ambos en 8 bits
El comando pregunta al dispositivo que se comunica con Maestro por la posición en que se
encuentra el canal. El valor se envía de inmediato en dos bytes tras haber recibido el comando.
Si el canal especificado esta como servo el valor representa el ancho de pulso que Maestro está
emitiendo por el canal, reflejando los efectos de comandos previos como velocidad y aceleración o
scripts funcionando en la placa.
Si el canal esta configurados como salida digital y el valor es menor de 6000, la línea está en bajo,
si el valor es mayor de 6000 es que la línea esta en alto.
Si el canal esta configurado como entrada, la posición representa el voltaje medido en el canal. Los
canales 0-11 son analógicos y el rango de valores será entre 0 y 1023 para voltajes de 0 a 5V. Las
entradas en los canales 12-23 son digitales y sus valores serán de 0 o 1023 exactamente.
Fíjate que el formato de este comando difiere de los de destino, velocidad y aceleración
22