1
SUMÁRIO INTRODUÇÃO 3 PROJETO ELETRÔNICO 4 PROTOCOLO DE COMUNICAÇÃO 5 2
INTRODUÇÃO Este é um guia sobre o módulo de acionamento projetado para o RoboDeck. Tal módulo permite o controle de garras, braços e outros dispositivos atuadores através dos comandos do RoboDeck. Trata-se de um módulo controlado por um PIC18F, capaz de controlar até quatro motores, entrada para quatro sensores de fim de curso e dois sensores analógicos. A interface de comunicação é baseada em uma saída serial (Rx/Tx). Neste documento encontram-se as informações necessárias para o controle de tal dispositivo, mas recomenda-se a leitura do Manual Mecatrônico do RoboDeck como pré-requisito para um bom aproveitamento deste manual. Bons estudos! 3
PROJETO ELETRÔNICO Abaixo temos a placa do acionador com suas respectivas entradas e saídas: Motores 5V OUT Rx/Tx Fim de Curso (1 a 4) Sensores 4
PROTOCOLO DE COMUNICAÇÃO O protocolo de comunicação utiliza a interface de comunicação IComm, a mesma utilizada pelo RoboDeck, o protocolo segue o seguinte padrão: SYNC SYNC STX id size D1... Dsize chksum EOT SYNC é um caractere de sincronismo STX é o indicador de começo de texto (start of text) id é o identificador do pacote size é o tamanho da mensagem D1 a Dsize são os dados da mensagem chksum é o checksum, para saber se o pacote chegou sem erro EOT é o indicador de fim de texto (end of text) Além desse protocolo, a garra possui um protocolo de comandos, que é colocado dentro dos dados da mensagem (D1 a Dsize), esse protocolo é mais simples e possui o seguinte padrão: size cmd1... cmd size size é o tamanho do comando cmd1 até cmd size são os bytes referentes ao comando que se deseja enviar Os comandos seguem o seguinte protocolo: 5
GripperId Comando para identificação do dispositivo. 00 01 C0 01 47 52 49 50 50 45 52 GripperMove Faz a garra executar movimento longitudinal. 01 01 dir C1 01 done dir: indica a direção do movimento, 00 frente ou 01 trás GripperCloseOpen Faz a garra executar movimento de pinça. 01 02 dir 6
C1 02 done dir: indica a direção do movimento, 00 abre ou 01 fecha GripperMoveTime Faz a garra executar movimento longitudinal por tempo determinado. 01 03 dir time C1 03 done dir: indica a direção do movimento, 00 frente ou 01 trás time: é o tempo de execução do movimento, múltiplos de 0.13 seg (ex. se time for igual a 100 o motor se moverá 100 x 0.13 seg = 13 seg), pode variar de 1(0.13s) a 255(33.15s) GripperCloseOpenTime Faz a garra executar movimento de pinça por tempo determinado. 01 04 dir time 7
C1 04 done dir: indica a direção do movimento, 00 abre ou 01 fecha time: é o tempo de execução do movimento, múltiplos de 0.13 seg (ex. se time for igual a 100 o motor se moverá 100 x 0.13 seg = 13 seg), pode variar de 1(0.13s) a 255(33.15s) GripperCloseUntilPress Faz a garra fechar a pinça até a pressão no sensor do dedo metálico ser maior ou igual a estipulada. 01 05 press-h press-l C1 05 done press-h: byte mais significativo do valor da pressão press-l: byte menos significativo do valor da pressão GripperMoveStop Faz a garra parar o movimento longitudinal. 01 06 8
C1 06 done GripperCloseOpenStop Faz a garra parar o movimento de pinça. 01 07 C1 07 done GripperStop Faz a garra parar todos os movimentos (de pinça e longitudinal). 01 08 C1 08 done GripperGetPress 9
Faz a leitura da pressão do sensor localizado na ponta do dedo metálico. 01 09 C1 09 press-h press-l press-h: byte mais significativo do valor da pressão press-l: byte menos significativo do valor da pressão GripperGetFimCurso Faz a leitura dos sensores de fim de curso. 01 0A C1 0A value value: é uma composição de bits que indicam a situação de cada sensor de fim de curso, 0 caso esteja ativado impedindo o movimento e 1 caso esteja desativado permitindo o movimento. value é composto assim: bit7: movimento de pinça fechando bit6: movimento de pinça abrindo bit5: movimento longitudinal para trás 10
bit4: movimento longitudinal para frente bit3-bit0: valem 0 11