********************************************************************************* * Implementado por: Julio Vte. Montagut Desco * * Hardware: Controlador de 30 servos USB * * PIC 18F4550 - USB - 12Mhz * * Codigo fuente: Visual basic 6 * ********************************************************************************* Esta es una demosracion de los comandos de control del Hardware para JVM-Servo FORMATO DE LOS COMANDOS El formato de la comunicacion esta definido por la lectura del primer byte de la trama, ete primer byte decide el parametro que se va a interpretar y establece la longitud de toda la trama de datos. Los comandos son de dos tipos: normales (3 bytes) y un comando extendido de 31 bytes. Ejemplo: Byte1 - Byte2 - Byte3 El Byte1 decide el comando, el segundo corresponde al numero de servo y el tercero a la posicion. COMANDOS DE LECTURA ------------------------------------------------------------------------------------------ -Lectura de posiciones de los servos (2 bytes) Byte1 = P Byte2 = Nº servo -Lectura del inicio del PWM de cada puerto (2 bytes) Byte1 = Q Byte2 = Nº puerto (valores de 0 a 3) -Lectura del ancho del PWM de cada puerto (2 bytes) Byte1 = R Byte2 = Nº puerto (valores de 0 a 3) COMANDOS DE ESCRITURA ---------------------------------------------------------------------------------------- -Establecer la posicion de un servo (3 bytes) Byte1 = S Byte2 = Nº servo Byte3 = Posicion -Establecer la posicion de inicio de un servo (3 bytes) Byte1 = I Byte2 = Nº servo Byte3 = Posicion -Establecer el inicio del PWM de cada puerto (3 bytes) Byte1 = O Byte2 = Nº puerto (valores de 0 a 3) Byte3 = Valor (valores de 0 a 255) -Establecer el ancho del PWM de cada puerto (3 bytes) Byte1 = N Byte2 = Nº puerto (valores de 0 a 3) Byte3 = Valor (valores de 0 a 50) -Establecer la posicion a los 30 servos en un comando extendido (31 bytes) Byte1 = T Byte2 = posicion1 Byte3 = Posicion2 Byte4 = Posicion3 ... Byte31 = Posicion30