Home
R - LAR - UA - Universidade de Aveiro
Contents
1. RS 232 RS 232 Unidade Master Unidade Master CAN bus CAN bus Unidade Slave Unidade Slave Posi o a Posi o de aplicar u t retorno y t CD CD O Fig 8 Diagrama de Fig 9 Diagrama da montagem montagem de um s servo de tr s servos Milton Ruas da Silva N Mec 21824 DETI DEM UA 11 Projecto Human ide da Universidade de Aveiro PhUA Manual do Utilizador 2005 06 Computador RS 232 Unidade Master n t t t t Unidade Slave Unidade Slave Unidade Slave Unidade Slave Fig 10 Diagrama de montagem de v rias unidades Slave A Fig 11 visualiza o conjunto completo montado e pronto para funcionamento Pode se observar os servomotores da perna ligados unidade slave principal fios coloridos e este placa Master pelo barramento CAN Por sua vez o Master liga ao PC atrav s do cabo RS 232 Fig 11 Imagem final com o sistema completo Finalmente apenas resta a alimenta o No caso de uso das baterias 5 dever se utilizar a placa de interface 6 que efectua a liga o entre as baterias e o cabo de alimenta o comum a todos os slaves 18 Verifique com o multimetro se t m carga suficiente devem ter no minimo 7 5V Se a op o cair na fonte de alimenta o 4 regule a tens o de sa da entre 7 0V e 8 0V e utilize o cabo 17 para liga o placa slave principal 9
2. Para liga o das sa das anal gicas s placas slave em PCB necess rio inserir os fios nas r guas de terminais destinadas s placas piggy back terminais que fazem liga o ao multiplexer Posteriormente poder se construir o circuito de acondicionamento em PCB de modo a poder encaixar nas r guas de terminais A Fig 31 apresenta um diagrama do esquema de liga es a fazer desde os extens metros at unidade de controlo local Entradas Anal gicas Circuito de Acondicionamento de Unidade Slave y Sinal e Extens metros Extens metros Espelho Fig 31 Liga es para medi o dos sensores de press o de um p Milton Ruas da Silva N Mec 21824 DETI DEM UA 47 Projecto Human ide da Universidade de Aveiro PhUA Manual do Utilizador 2005 06 6 3 Verifica o das Liga es Relativamente aos extens metros 1 Certifique se que as placas de acr lico onde se alojam os extens metros est o em boas condi es 2 Verifique a coloca o dos extens metros nas placas de acr lico os sensores devem estar bem colados 3 Confirme com o mult metro a liga o dos sensores placa de acondicionamento de sinal n o esquecer os extens metros espelho 4 Verifique a resist ncia dos potenci metros superiores da placa de acondicionamento de sinal Fig 29 Devem possuir metade do seu valor m ximo 500 5 Alimente apenas o circuito d
3. 3 Abra o MatLab e em File Set Path adicione o direct rio cport para onde copiou o Add Folder e fa a Save termine com Close Feche o MatLab e volte a abri lo Ap s este procedimento as rotinas do cport s o sempre reconhecidas Algumas rotinas em MatLab foram constru das para execu o de todas as opera es de actua o e leitura sensorial fazendo uso dos device drivers do cport e implementando o protocolo definido Estas rotinas encontram no CD do projecto e visam as seguintes opera es Ficheiro Descri o initcom m Cria o de uma nova linha de comunica es entre o PC e a unidade Master killcom m T rmino da linha de comunica es calibcom m Pedido ao Master do retorno de uma sequ ncia de teste FA F9 F8 F7 F6 F5 hex readcanstat m Consulta do estado do barramento CAN erros de comunica o master slaves readjoint m Leitura sensorial das posi es dos servomotores de um slave readspecialm Leitura dos sensores especiais sensores de press o girosc pio ou inclin metro applyjoint m Actua o nos servomotores de um determinado slave applycontrol m Actualiza o dos par metros de compensa o de uma determinado slave Tabela 3 Lista de device drivers da unidade principal 1 O software MatLab necessita de uma licen a para o obter utilizar Fale com o co orientador para a obter 2 lt CD SW gt RS 232ACPORTcportl3 rar Milton Ruas da Silva
4. Ainda apenas foi testado um servomotor O par metro param pode controlar v rios aspectos tal como os indicados na Tabela 9 Par metro Valor Descri o PARAM POSITION O Posi o das juntas PARAM VELOCITY 1 Dura o do movimento at posi o desejada PARAM SPECIAL 3 Des Activa o de PWM filtros Tabela 9 Tipo de par metros a controlar numa ordem de actua o applyjoint Finalmente o campo servos indica o conjunto de valores a aplicar aos tr s servos vector linha de tr s elementos respeitante ao par metro indicado em param O vector linha servos para o par metro PARAM SPECIAL segue a seguinte estrutura servos PWM on off filter on off sem significado Milton Ruas da Silva N Mec 21824 DETI DEM UA 28 Projecto Human ide da Universidade de Aveiro PhUA Manual do Utilizador 2005 06 O primeiro elemento um valor booleano que diz respeito activa o desactiva o do sinal de PWM a aplicar aos motores 1 activa os O segundo valor booleano est relacionado com a filtragem dos dados sensoriais provenientes de cada servomotor Para activa o do sinal de PWM e da filtragem nos tr s motores do slave principal endere o 2 basta fazer gt gt applyjoint H 2 3 1 1 0 Dever confirmar a activa o do PWM dois segundos depois pelo deslocamento do s servo s at posi o original m xima velocidade e pelo seu comportamento r gido na posi o
5. Milton Ruas da Silva N Mec 21824 DETI DEM UA 12 Projecto Human ide da Universidade de Aveiro PhUA Manual do Utilizador 2005 06 A fonte de alimenta o apenas pode fornecer um m ximo de 5A Caso a quantidade de servomotores impliquem um consumo maior dever se utilizar baterias como alternativa de prefer ncia com v rias em paralelo 2 4 Verifica es Finais Antes da activa o dos sistema fundamental fazer algumas verifica es finais para evitar qualquer fen meno inesperado Tais verifica es desenrolam se ao n vel dos sensores pois todos os controladores baseiam se nestes sinais e como estes actuam directamente sobre os servomotores recomend vel a verifica o da validade dos sinais de sa da dos sensores a Sensores dos Servomotores Os servomotores fornecem para feedback os sinais de posi o dos seus veios de modo a que o controlador de posi o externo corrija eventuais desvios da posi o solicitada 1 Verifique a correcta liga o do sinal de posi o a cada ficha fio verde e da ficha unidade slave correspondente 2 Com o mult metro modo d odo confirme conex o de cada sinal entrada correspondente do multiplexer do slave Servomotor Entrada do MUX C digo de selec o Pino do C I 1 Y gt 0b0010 7 2 Y 0b0001 8 3 Yo 0b0000 9 Tabela 1 Liga o dos sinais de posi o no multiplexer HEF4067BP Caso esteja a utiliza
6. Fig 23 Carga utilizada para simular o tronco Milton Ruas da Silva N Mec 21824 DETI DEM UA 38 Projecto Human ide da Universidade de Aveiro PhUA Manual do Utilizador 2005 06 5 7 Rotinas de Alto N vel para Controlo da Locomo o Embora as fun es apresentadas tenham a capacidade de controlar o movimento de cada trio de juntas por vezes pretendemos fazer mais do que isso como por exemplo a coordena o de movimentos entre v rias unidades de controlo podendo abranger por vezes 8 ou mais juntas Outra necessidade prende se com a visualiza o e an lise de dados Pretende se tamb m analisar as traject rias efectuadas por todas as juntas envolvidas num determinado movimento sendo necess rio por isso desenvolver uma forma de amostrar a posi o e outros dados em tempo real para visualiza o e compara o de dados a Amostragem de Traject rias de uma Unidade de Controlo Rotinas especiais foram escritas para amostragem de traject rias completas ou seja deslocamentos desde uma posi o inicial at desejada podendo incluir um per odo de tempo extra para an lise da resposta em regime estacion rio A Tabela 17 apresenta esse conjunto de rotinas que correspondem s primeiras desenvolvidas e apenas permitem executar deslocamentos individuais apenas para os servomotores de uma s unidade de controlo Todas estas rotinas geram uma matriz com toda a informa o amostrada e a prevista Para v
7. 4 3 Cria o de uma Linha de Comunica es Verifique se o cabo RS 232 est ligado entre a unidade Master e o PC Tome nota da porta COM que est a ser utilizada e do baudrate de transfer ncia do Master 115200 bps para a vers o 2 00 do software Por quest es de simplicidade consideraremos a utiliza o da porta COMI Par metros Valores Porta COMI Baurate 115200 bps Tabela 6 Defini es da comunica o s rie No ambiente MatLab utilize a rotina initcom para a cria o de uma linha de comunica es handler state initcom porta baudrate em que o handler um identificador da linha de comunica es todos os acessos seguintes devem fazer refer ncia a este handler e state indica as configura es da linha Para cria o de uma linha utilizando a porta COMI a 115200bps suficiente fazer gt gt H initcom 1 115200 A vari vel H possuir o identificador handler da nova linha Se este valor for n o nulo a linha foi criada com sucesso Para encerrar a linha de comunica es utilize a rotina Aillcom stat killcom handler gt gt gt killcom H retornando 1 stat em caso de sucesso Se durante a abertura algum destes erros ocorre e Porta COM j aberta e Handler nulo e Bloqueio durante a execu o termine a liga o com um Aillcom desligue o sistema e volte o a ligar tentando de novo a abertura Para fazer o debugging destes procedimentos u
8. o das for as de reac o cciii 50 Milton Ruas da Silva N Mec 21824 DETI DEM UA 54
9. 19 Cabo RS 232 para liga o s rie 20 Barramento CAN de liga o a 21 Cabos de liga o dos servos ao entre o PC e o Master todas as unidades controladoras Slave principal Fig 4 Conex o entre os v rios componentes do setup 2 3 Montagem do Sistema A montagem do sistema base desde o PC at cada servo segue os seguintes passos 1 Liga o do PC 1 unidade Master 7 atrav s do cabo RS 232 19 Fig 5 ta Fig 5 Liga o RS 232 entre o PC e o Master 2 Liga o do Master 7 a cada uma das unidades Slave 8 ou 9 atrav s do barramento CAN 20 Fig 6 Milton Ruas da Silva N Mec 21824 DETI DEM UA 10 Projecto Human ide da Universidade de Aveiro PhUA Manual do Utilizador 2005 06 Fig 6 Liga o CAN entre todas as unidades cabo flat azul 3 Liga o de cada um dos Slaves 8 ou 9 aos seus tr s servomotores 10 No caso do uso do slave principal 9 dever se utilizar os cabos 21 Fig 7 Fig 7 Liga o dos servomotores cabos coloridos a cada slave As figuras seguintes apresentam um diagrama demonstrativo das liga es a efectuar para o caso de um s actuador Fig 8 tr s actuadores Fig 9 e para quatro unidades Slave Fig 10 Para v rias unidades verifique que cada uma possui um endere o nico atrav s do swicth de quatro terminais componente a vermelho e diferente de 2 00010 este pertence ao slave principal Computador Computador
10. Resultado da transmiss o recep o No caso das transmiss es recep es serem todas bem sucedidas dever se observar um sinal cont nuo sempre a 5V PORTBbits RBO PIN TEST3 Execu o da rotina de atendimento s comunica es CAN Como cada transmiss o recep o tem uma dura o m dia de 100us dever se verificar impulsos de dura o de cerca de 100us com um per odo de 250us Tabela 4 Master s test pins Para a certifica o do correcto funcionamento da unidade Master suficiente que o padr o especificado no pino PIN TEST se verifique Quanto ao pino PIN TEST2 normal que n o esteja sempre activo indicando o cont nuo sucesso das transmiss es recep es uma vez que basta que uma unidade n o esteja conectada de entre as previstas oito slaves para que falhas ocorram contudo o que importa que de entre as conectadas as opera es de troca de informa o decorram sem problemas Pino do PIC Denomina o Fun o PORTCbits RC4 TESTPIN Activado desde o fim da zona de fall down do PWM at ao fim da execu o da fun o main A pequena quebra a meio do impulso descida a zero e imediata subida a 1 indica o fim do processamento das RSI de alta prioridade e o recome o da execu o da fun o main Como o loop de controlo das unidades slave de 20ms de esperar uma periodicidade com o mesmo valor Note que este sinal s estar presente ap s a activa o dos sin
11. Slave principal Pinos de interface do PIC define SERVOI PIN PORTBbits RB1 Servomotor 1 define SERVO2 PIN PORTBbits RB4 Servomotor 2 define SERVO3 PIN PORTBbits RB5 Servomotor 3 Slave secund rio Pinos de interface do PIC define SERVOI PIN PORTBbits RB5 Servomotor 1 define SERVO2 PIN PORTBbits RB6 Servomotor 2 define SERVO3 PIN PORTBbits RB 7 Servomotor 3 Tabela 2 Pinos de sa da de PWM do PIC para diferentes tipos de Slave Milton Ruas da Silva N Mec 21824 DETI DEM UA 18 Projecto Human ide da Universidade de Aveiro PhUA Manual do Utilizador 2005 06 Por isso verifique sempre se a associa o dos pinos do PIC sa da de PWM est de acordo com o slave a programar Os dados da Tabela 2 encontram se na header file pic2 h 3 2 Utiliza o do kit ICD2 Microchip MPLAB ICD 2 Fig 13 Kit ICD2 Antes da conex o do kit ao PC confirme a sua desactiva o no ambiente MPLAB para tal a op o Programmer gt Select Programmer None deve estar seleccionada 1 Conecte o kit ao PIC utilizando para isso a placa slave principal atrav s do cabo de ficha molex de 5 pinos 2 Ligue o cabo USB entre o kit e o PC Caso utilize a liga o RS 232 conecte o cabo RS 232 fornecido e s depois o transformador para alimenta o O led power dever estar a verde 3 Ligue a alimenta o fonte ou baterias da placa slave que est ligada ao kit 4 No ambiente MPLAB active o kit faz
12. correspondente ao pedido de transmiss o de uma sequ ncia de teste 3 Seleccione a tab Terminal Emulator a Especifique as defini es da liga o no canto inferior esquerdo COMI porta 115200 baudrate N 8 1 sem bit de paridade 8 bits de dados e 1 stop bit b Desactive a op o Send Uppercase Only e active RX HEX para visualizar todos os caracteres em c digo hexadecimal c Estabele a as comunica es premindo Connect Para testar o correcto funcionamento envie o caracter OxFA premindo na label test frame O master dever responder com a sequ ncia de teste FA F9 F8 F7 F6 F5 aparecer escrito a verde Caso tal aconte a as comunica es est o operacionais Termine a liga o com um unconnect feche o terminal e volte para o MatLab criando a linha de comunica es com o initcom Caso ainda n o tenha conseguido verifique com o multimetro as liga es desde a unidade Master at ao PC o cabo pode ter um defeito Se mesmo assim tudo parece estar bem verifique no software da unidade master se a constante BAUD do ficheiro usart c est definida a 115200 Como ltima tentativa edite a fun o usartInit atribuindo o valor 21 ao registo SPBRG Este valor apenas v lido para baudrates de 115200bps com osciladores a 40 MHz PLL activa com cristal a 10 MHz para outros par metros siga a seguinte f rmula com a fun o round representativa do arredondamento para o valor inteiro mais pr ximo SPBRG round Jo
13. errorstr Mensagem de erro tries N mero de tentativas para o contacto Tabela 14 Valores de entrada e sa da da fun o applyjoint Esta fun o muito semelhante de actua o applyjoint possuindo os mesmos par metros de entrada e sa da com a diferen a do seu significado Tabela 14 O valor param identifica o par metro a controlar que pode ser uma das componentes do compensador PID ou do tipo de compensador em funcionamento A Tabela 15 apresenta a lista de par metros poss veis de controlar Milton Ruas da Silva N Mec 21824 DETI DEM UA 35 Projecto Human ide da Universidade de Aveiro PhUA Manual do Utilizador 2005 06 Param Valor Ajuste do K 0 Ajuste do Kp 1 Ajuste do Kp 2 Tipo de Controlo 3 Tabela 15 Tipo de par metros a controlar pela rotina applycontrol Quanto ao vector servos representado na mesma forma que na fun o applyjoint um vector linha de tr s elementos com os valores correspondentes ao par metro param dos tr s servos servos servor servos servos Como por exemplo para definir o par metro de compensa o K dos tr s servos da unidade slave 2 como sendo servos 3 3 3 teremos de fazer o seguinte gt gt applycontrol H 2 0 3 3 3 b Activa o do Controlador de Posi o Note que o ajuste que fizemos ainda n o se reflecte nos servos Ainda necess rio activar o controlador Para tal utiliz
14. Build Options Project 2 Tab General Localiza o dos ficheiros a Include path INCDIR C i lt C18 DIRAMCCI8h b Library path S LIBDIR Ci lt C18 DIRAMCCI8Vib c Linker script path S LKRDIR C lt C18_DIR gt MCC18 lkr 3 Tab MPASM C17 CI8 suite op es gerais a Categories All options b Generate command line Build normal target invoke MPLINK 4 Tab MPASM assembler op es do assembler a Categories General b Generate command line Default Radix Hexadecimal 5 Tab MPLINK linker op es do linker a Categories All options b Generate command line HEX file format INHX32 Generate map file enabled Supress COD file generation enabled 6 Tab MPLAB C18 op es do compilador a Categories General b Generate command line Diagnostics level errors and warnings Default storage class Auto A supress o da gera o do ficheiro COD permite evitar o erro de comprimento excessivo do caminho path do projecto Al m disso a sua supress o segura uma vez que apenas era utilizado em vers es antigas do compilador Milton Ruas da Silva N Mec 21824 DETI DEM UA 17 Projecto Human ide da Universidade de Aveiro PhUA Manual do Utilizador 2005 06 Agora estamos em condi es de executar compila es Para tal abra um workspace j existente File Open Workspace ou
15. Inc Errors Loaded CAMiltoniUAHumanoicdiLabiFase3 IntegrationiLast VersioniSlave Stable 2 00tslave cof BUILD SUCCEEDED Fri Sep 01 17 32 44 2006 Fig 12 Dados imprimidos pelo MPLAB ap s uma compila o bem sucedida Note a aus ncia de erros no processo de linkagem e no de gera o do ficheiro HEX numa compila o bem sucedida A presen a de warnings nem sempre afecta o funcionamento do programa como o caso de shiftings de zero bits indicadas na compila o da Fig 12 pode ocorrer dado que os deslocamentos a efectuar s o indicados pelo programador atrav s de constantes Hdefine No entanto tal depende de caso para caso pelo que se recomenda a an lise cuidada dos warnings O pr ximo passo agora a transfer ncia do ficheiro HEX gerado pela compila o para o respectivo PIC Embora o programa seja praticamente igual entre todas as unidades slave h algumas diferen as em termos de hardware entre as diversas placas o que implica pequenas modifica es no software Tais diferen as verificam se ao n vel da liga o dos sinais de PWM do PIC para os motores Tabela 2 As placas slave secund rias utilizam pinos do PIC que coincidem com os utilizados pelo kit ICD2 pelo que a placa slave principal que contempla a liga o a este kit evita o uso destes pinos para evitar a entrada de sinais estranhos nos motores Tipo de Slave Pinos de sa da do PWM
16. R14 e Mini toolbox cport vers o 1 3 para MatLab presente no CD do software Milton Ruas da Silva N Mec 21824 DETI DEM UA 5 Projecto Human ide da Universidade de Aveiro PhUA Manual do Utilizador 2005 06 Milton Ruas da Silva N Mec 21824 DETI DEM UA 6 Projecto Human ide da Universidade de Aveiro PhUA Manual do Utilizador 2005 06 2 Setup Experimental 2 1 Introdu o Neste cap tulo apresentamos o sistema desenvolvido e utilizado para a execu o de testes Dois tipos de setup foram utilizados 1 Um s actuador Fig 1 Este setup foi utilizado tendo em mente o teste da resposta de um s servomotor Prendendo o num torno de fixa o garante se um funcionamento seguro independentemente da gama de posi es e velocidades testadas bem como da carga aplicada no bra o de liga o ao veio do motor Fig 1 Setup com um s Servomotor 2 Uma duas perna s Fig 2 Este setup utilizado posteriormente j pretende testar o funcionamento dos servomotores inclu dos nas pernas do robot human ide XE Fig 2 Setup com a s perna s do robot human ide O nico aspecto que difere nestes setups corresponde localiza o dos actuadores pelo que no restante tudo semelhante Milton Ruas da Silva N Mec 21824 DETI DEM UA 7 Projecto Human ide da Universidade de Aveiro PhUA Manual do Utilizador 2005 06 2 2 Componentes 3 Oscilosc pio 6
17. ao slave principal esquerda da placa 47 31 Liga es para medi o dos sensores de press o de um p ess ssesessseessesrrssresseserssressesese 47 32 Representa o gr fica do COR assentadas pisteci cuddeaig ss iai af tan pi A a ad eta 51 33 Equil brio de uma perna com a varia o do declive do plano c s 52 Milton Ruas da Silva N Mec 21824 DETI DEM UA 53 Projecto Human ide da Universidade de Aveiro PhUA Manual do Utilizador 2005 06 ndice de Tabelas Tabela 1 Liga o dos sinais de posi o no multiplexer HEF4067BP 13 Tabela 2 Pinos de sa da de PWM do PIC para diferentes tipos de Slave i ttiii 18 Tabela 3 Lista de device drivers da unidade principal ss ssssessseessesessseessesrrssressessrssressessrsseessesse 23 Tabela 4 Masters t st Pinsaia neona ara A AE AE KA REA PA 25 Tabela SLAVE Stest Pinsen ensai n a a ES a 25 Tabela 6 Defini es da comunica o s rie rir ererereeeeererererereeeeereeeeereeneeeeencereranes 26 Tabela 7 Par metros de entrada sa da da rotina applyjoint erre 28 Tabela 8 Localiza o de cada unidade slave same ad Eras A RR 28 Tabela 9 Tipo de par metros a controlar numa ordem de actua o applyjoint 28 Tabela 10 Posi es originais dos servos de cada unidade erereeeeeereeraanos 29 Tabela 11 Par metros de entrada sa da da rotina readjoin
18. compila o em caso negativo salte estes passos 1 Abra o workspace em File Open Workspace 2 Clique Project Select language toolSuite a Active toolsuite Microchip C18 toolsuite b Toolsuite contents MPASM assembler mpasmwin exe Location Ci lt MPLAB DIRHMicrochipiMPASM Suiteimpasmwin exe c Toolsuite contents MPLINK object linker mplink exe Location C lt C18_DIR gt MCC18 bin mplink exe d Toolsuite contents MPLAB C18 C compiler mccl8 exe Location C lt C18_DIR gt MCC1 8 bin mcc18 exe e Toolsuite contents MPLIB librarian mplib exe Location C lt C18_DIR gt MCC1 8 bin mplib exe As refer ncias lt C18_DIR gt e lt MPLAB_DIR gt dizem respeito aos direct rios onde o compilador C18 e o MPLAB respectivamente foram instalados Estas informa es foram fornecidas durante a instala o destes dois programas Caso n o possua nenhum projecto 1 Crie um novo projecto clicando em Project Project Wizard 2 Janela de boas vindas clique Next Seguinte 3 Step 1 Selec o do dispositivo a Device PIC18F258 b Next Seguinte 4 Step 2 Selec o da toolsuite a Active toolsuite Microchip C18 toolsuite b Toolsuite contents MPASM assembler mpasmwin exe Location Ci lt MPLAB DIRHMicrochipiMPASM Suiteimpasmwin exe c Toolsuite contents MPLINK object linker mplink exe Location C lt C18_DIR g
19. endere os 1 2 3 e 4 Depois execute a mesma fun o e guarde as matrizes de retorno time position velocity current exe traj H t pos apply Textra Vari vel de retorno Dimens o Descri o time Vector coluna Vector com o intervalo de tempo do 1 dimens o movimento position N TESTxN SERVOSxTIME Posi es medidas para cada unidade e cada 3 dimens es servo ao longo do tempo velocity N TESTxN SERVOSxTIME Velocidade m dia medida para cada unidade 3 dimens es e cada servo ao longo do tempo current N TESTxN SERVOSxTIME Corrente m dia medida para cada unidade e 3 dimens es cada servo ao longo do tempo Tabela 22 Par metros de retorno da fun o exe traj Os arrays retornados n o dizem respeito a todas as unidades slave uma vez que somente as indicadas em scu test s o amostradas Por isso cada par metro de sa da apresenta os dados sensoriais apenas para os servos amostrados N TEST e na ordem designada por scu test Para visualiza o dos resultados na forma de gr ficos ter de extrair um conjunto de dados das matrizes dado que a vers o actual do MatLab n o permite a manipula o de matrizes com mais de 2 dimens es na utiliza o do comando plot No caso da visualiza o da posi o ter de fazer o seguinte L length position lt scu id gt lt servo gt data for i 1 L data data position lt scu id gt lt servo gt i end plot t
20. final Estes dois segundos devem se execu o de rotinas de calibra o dos sensores Observando os sinais de controlo presentes sa da pode se observar um sinal de onda quadrada de duty cycle entre 5 a 10 do per odo 1 e 2 ms para um per odo de 20 ms Fig 18 br ms 20 ms PWM Fig 18 Sinal de PWM aplicado no servomotor Para minimizar os picos de corrente na activa o dos sinais de PWM recomenda se o deslocamento manual dos servos para a posi o original Desta forma o deslocamento dos servos bem como o consumo de corrente neste instante m nimo Posi o Original Identificador do Slave Localiza o Junta 1 Junta 2 Junta 3 l Perna direita 0 0 70 2 Perna esquerda slave principal 0 0 70 3 Anca direita 0 0 4 Anca esquerda 0 0 5 Tronco ainda n o testado 0 0 Tabela 10 Posi es originais dos servos de cada unidade A Tabela 10 indica as posi es originais dos servos para cada unidade controladora de acordo com o ficheiro global h do programa Master Na aplica o nas pernas dever corresponder posi o vertical destes membros Na utiliza o de v rias unidades slave com a alimenta o baseada numa fonte comum o bloqueio da comunica o CAN em algumas unidades A substitui o da fonte por baterias completamente carregadas costuma resolver o problema sugerindo que a insufici ncia no fornecime
21. o inicial e embora tenha sido submetido a exaustivos testes e a processos de debugging n o asseguramos o correcto funcionamento de todos os componentes pelo que n o nos responsabilizamos por eventuais problemas e ou danos que podem resultar Agradecemos por isso a sua paci ncia e para minimizar estes efeitos aconselhamos vivamente a leitura deste manual antes da utiliza o do sistema e a aten o merecida aos t picos com os seguintes s mbolos associados Problema ainda por solucionar Agradece se a aten o para a sua resolu o Recomenda o a tomar em conta por parte do utilizador Ignor lo apenas pode levar a uma degrada o da performance do sistema mas sem levantar qualquer problema a n vel de seguran a Informa es teis a transmitir E a sua tarefa como quase Engenheiro o melhoramento e a resolu o se poss vel de todos os q problemas evidenciados no relat rio 2005 06 na sec o Resolu o de Anomalias mais os que entretanto forem surgindo ao longo da fase de desenvolvimento De salientar que este manual pressup e o conhecimento da arquitectura e das funcionalidades do prot tipo human ide Para tal recomend vel a leitura do relat rio de projecto 2005 06 Antes de prosseguir verifique se possui os seguintes elementos e CD de projecto 2005 06 referenciado como CD PROJ e CD com o software utilizado no projecto referenciado como CD SW e Software MatLab vers o 7 0 1
22. se necess rio crie um e clique em Project gt Build All CTRL F10 A Fig 12 apresenta a informa o de sa da resultante de uma compila o Clean Done Executing CAProgramasiUAMMCC1 Sbinimccl 8 exe p 18F258 A CAProgramasUAMCC 8h slave c fo slave 0 Ou Ot Ob Op Or Od Opa MPLAB C18 v3 00 Copyright 1999 2005 Microchip Technology Inc Cracked by LZ0 Trace Executing CAProgramasiUAMCC1 Sbinimccl 8 exe p 18F258 i CAProgramas UA MCC1 8h can c to can o Ou Ot Ob Op Or Od Opa MPLAB C18 v3 00 Copyright 1999 2005 Microchip Technology Inc Cracked by LZ0 Trace C NMilton U Humanoid gt Lab Fase3_Integration gt Last Version gt Slave_Stable_2 00 can c 150 Warning 2060 shift expression has no effect C NMilton UA HumanoidNLabNFase3_Integration gt Last Version gt Slave_Stable_2 005can c 222 Warning 2060 shift expression has no effect C MiltonNUANHumanoidNLabNFase3 IntegrationNLast VersionNSlave Stable 2 00 Ncan c 360 Varning 2060 shift expression has no effect Executing CAProgramasUAMMCCI Bbinimccl 8 exe p 18F258 4 CAProgramasUAMCCI 8h CanDrivers c fo CanDrivers o Ou Ot Olb Op Or Od Opa MPLAB C18 v3 00 Copyright 1999 2005 Microchip Technology Inc Cracked by LZ0 Trace Executing CAProgramasiUAMCC1 8 bin mec18 exe p 18F258 i CAProgramas UAMCC1 8h global c fo global o Ou Ot Ob Op Or Od Opa MPLAB C18 v3 00 Copyright 1999 2005 Microchip Technology Inc Cracked by
23. se relaciona com o funcionamento do kit permite a automatiza o do processo de downloading efectuando a programa o e arranque autom ticos do PIC logo ap s uma compila o bem sucedida Tamb m poder configur lo atrav s da ferramenta Programmer MPLAB ICD2 Setup Wizard introduzindo as informa es descritas atr s Neste ponto active o ICD2 fazendo Programmer Connect Programmer Select Programmer MPLAB ICD 2 deve estar seleccionado Se mesmo assim o kit ICD2 continua sem responder proceda do seguinte modo 1 Desseleccione o programador fazendo Programmer Select Programmer None 2 Remova o cabo USB do PC 3 Espere uns segundos e volte a conectar o cabo 4 Volte a tentar a activa o fazendo Programmer Select Programmer MPLAB ICD2 Se mesmo assim nada se resolver reinicie o PC e repita os passos descritos no in cio desta sec o normal que o kit ICD2 deixe de responder ap s suspens o ou hiberna o do PC pelo que a desactiva o e consecutiva activa o dever resolver este problema Milton Ruas da Silva N Mec 21824 DETI DEM UA 20 Projecto Human ide da Universidade de Aveiro PhUA Manual do Utilizador 2005 06 normal que ap s a mudan a do modelo do PIC o MPLAB precise de descarregar um novo sistema operativo para redefini o do software de interface Este procedimento tamb m pode ser utilizado em caso de disfun o do kit Progra
24. vari vel perna Se perna possuir um valor inv lido diferente de 1 e de 2 as duas efectuar o o movimento Tabela 18 Fun es de c lculo das traject rias para os diferentes tipos de movimentos Os setpoints da traject ria calculada por cada uma destas fun es s o armazenadas em tr s vari veis e pos apply Setpoints de posi o final e par metros de compensa o a adoptar e Periodo de deslocamento As caracter sticas destas vari veis est o descritas na Tabela 19 onde e N SCU o n mero total de unidades slave 8 e N SERVOS o n mero de servos para cada unidade 3 e N MOTIONS a quantidade de movimentos normalmente 1 Vari vel Dimens o Descri o pos apply IN SCUXN SERVOSxN MOTIONS Posi es finais para cada unidade servo e 3 dimens es movimento k N_SCUxN_SERVOSxN_MOTIONSx4 Par metros de compensa o 4 para cada 4 dimens es unidade servo e movimento t N MOTIONS Per odo de deslocamento para cada 1 dimens o movimento Tabela 19 Descri o da estrutura das vari veis retornadas pelas fun es de c lculo de traject rias Milton Ruas da Silva N Mec 21824 DETI DEM UA 41 Projecto Human ide da Universidade de Aveiro PhUA Manual do Utilizador 2005 06 Embora as fun es da Tabela 18 n o aproveitem este recurso poss vel armazenar v rios movimentos diferentes nas vari veis de setpoints da Tabela 19 N MOTIONS As ro
25. 0 3 Superior direito Y 0b0111 2 Inferior esquerdo Yis 0b1110 17 Inferior direito Yis 0b1111 16 Tabela 23 Liga o das sa das de amplifica o perspectiva do robot ao multiplexer Milton Ruas da Silva N Mec 21824 DETI DEM UA 48 Projecto Human ide da Universidade de Aveiro PhUA Manual do Utilizador 2005 06 6 4 Activa o do Sistema Depois da valida o de toda parte f sica e el ctrica estamos preparados para colocar o sistema em funcionamento e em opera o Ligue a fonte de alimenta o baterias Coloque a perna na postura vertical 3 Calibre as pontes de Wheatstone atrav s dos potenci metros inferiores Fig 29 de modo a que os amplificadores sa das do circuito apresentem uma tens o de 1V 4 Teste o funcionamento dos sensores premindo os 5 Crie uma linha de comunica es e active os sinais de PWM atrav s dos procedimentos indicados no cap tulo 4 N mm Quando o sistema ligado ele coloca se no modo stand by espera que o utilizador posicione a perna na postura vertical e calibre as pontes de Wheatstone de modo a que todas as sa das apresentem o mesmo valor Quando o utilizador activa os sinais de PWM o sistema pressup e que a estrutura est em equil brio e logo a sa da de todos os sensores deve ser igual Com esse pressuposto efectua uma segunda calibra o por software de forma a garantir que todos os sensores apresentam as mesmas sa das Este proce
26. 05 06 6 2 Montagem dos Componentes Verifique que os p s da estrutura human ide apresentam os sensores bem colados s pe as de acr lico e que estas se encontram bem encaixadas nas suas ranhuras Os p s devem apresentar uma configura o bastante semelhante da Fig 28 Verifique tamb m que a altura dos parafusos de apoio sobre as pe as de acr lico aproximadamente igual entre os quatro de modo a evitar desigualdades na for a aplicada sobre cada um deles no estado de equil brio Fig 28 Vis o completa do p Verifique tamb m a presen a dos extens metros espelho que ser o utilizados para efeitos de simetria nas pontes de Wheatstone da placa de acondicionamento Esta placa Fig 29 al m de medir a varia o de resist ncia dos extens metros de um dos p s tamb m amplifica estes pequenos sinais de modo a poder serem utiliz veis pela unidade de controlo local Conecte os cabos oriundos dos extens metros de medi o das for as e espelhos a esta placa Fig 29 Placa de acondicionamento de sinal As quatro sa das deste circuito correspondentes aos sensores de um p s o direccionados para as quatro entradas anal gicas presentes em cada slave Fig 30 Milton Ruas da Silva N Mec 21824 DETI DEM UA 46 Projecto Human ide da Universidade de Aveiro PhUA Manual do Utilizador 2005 06 Fig 30 Liga o das quatro entradas anal gicas ao slave principal esquerda da placa
27. ENT devolvido um valor normalizado entre O e 100 representativo da percentagem de ocupa o do impulso de corrente no per odo de PWM Uma m dia deslizante ao longo dos ltimos 100ms calculada tendo em vista a filtragem destes valores Milton Ruas da Silva N Mec 21824 DETI DEM UA 33 Projecto Human ide da Universidade de Aveiro PhUA Manual do Utilizador 2005 06 Caso pretenda aumentar a janela de tempo de medi o da velocidade filtragem de corrente aumente o n mero de ciclos de PWM ciclos de 20ms a considerar na constante N POS do ficheiro pic2 c programa slave O vector state cont m os seguintes dados em formato bin rio bit 7 6 5 4 3 2 1 bit 0 PWM Filter 0 0 Deadline Moto idea flag flag error Status dos servomotores Elemento Bit Label Descri o 1 7 PWM flag Sinais de PWM activos 2 6 Filter flag Filtros sensoriais activos 3 4 5 4 0 Sem significado 5 3 Deadline error Erro de deadline do per odo de PWM 6 2 Motion finished 3 Servo 3 terminou o movimento T 1 Motion finished 2 Servo 2 terminou o movimento 8 0 Motion finished 1 Servo 1 terminou o movimento Tabela 13 Elementos do vector state devolvido pela rotina readjoint Os bits motion finished podem ser utilizados em rotinas de mais alto n vel para a execu o de sequ ncias de movimentos Estes bits servem portanto como bloqueios antes de passar
28. LZ0 Trace Executing CAProgramas UAMCC1 Bbinimccl 8 exe p 18F258 i CAProgramas UA MCC1 Bh pic2 c fo pic2 0 Ou Ot Ob Op Or Od Opa MPLAB C18 v3 00 Copyright 1999 2005 Microchip Technology Inc Cracked by LZ0 Trace Executing C Programas UA MCC1 Sbinimccl 8 exe p 18F258 i CAProgramas UAMCC1 8h servo c fo servo 0 Ou Ot Ob Op Or Od Opa MPLAB C18 v3 00 Copyright 1999 2005 Microchip Technology Inc Cracked by LZ0 Trace Executing CAProgramasiUAMCC Sbinimccl 8 exe p 18F258 i CAProgramas UA MCC1 8h trajectory c to trajectory o Ou Ot Ob Op Or Od Opa MPLAB C18 v3 00 Copyright 1999 2005 Microchip Technology Inc Cracked by LZ0 Trace Executing CAProgramas UA MCCI Sbinimccl8 exe p 18F258 i CAProgramas UA MCC1 8h myMaths c to myMaths o Ou Ot Olb Op Or Od Opa MPLAB C18 v3 00 Copyright 1999 2005 Microchip Technology Inc Cracked by LZ0 Trace Executing CAProgramasiUAMCC1 S bin mcec18 exe p 18F258 i CAProgramas UA MCCI 8h data c fo data o Ou Ot Ob Op Or Od Opa MPLAB C18 v3 00 Copyright 1999 2005 Microchip Technology Inc Cracked by IZ0 Trace Executing CA Programas UA MCCI Bbinimplink exe l C Programas UA MCCI Bib k C Programas UAMCC1 8ykr CAProgramas UAMCC1 8ykn B1258 Ikr CAMiltonUAHur MPLINK 4 00 Linker Copyright 1e 2005 Microchip Technology Inc Errors MP2HEX 4 00 COFF to HEX File Converter Copyright te 2005 Microchip Technology
29. N Mec 21824 DETI DEM UA 23 Projecto Human ide da Universidade de Aveiro PhUA Manual do Utilizador 2005 06 Mais informa es sobre estas rotinas podem ser encontradas no manual do programador ou no cap tulo 2 do relat rio de projecto Para sua utiliza o copie o direct rio LAB do CD de projecto para o disco e defina as tamb m como globais repetindo o mesmo procedimento indicado atr s passo 3 para este direct rio 4 2 Activa o do Sistema Antes de ligar o sistema desligue a liga o do kit ICD2 ao slave principal para evitar quaisquer interfer ncias e volte a verificar se a alimenta o est conectada com as polaridades correctas e as tens es adequadas sec o 2 4 b Como medida de seguran a n o comece por ligar aos servomotores presentes nas pernas mas sim primeiramente sem nenhum ou com servos aparte S depois de confirmada a validade dos sinais de controlo seguro a liga o aos actuadores da estrutura human ide Agora sim pode ligar a fonte de alimenta o baterias Os leds verdes das v rias unidades de controlo devem ficar luminosos indicando que um sinal de controlo est pronto a ser aplicado a todos os motores Cada led est associado a cada um dos motores Caso algum n o se ligue porque o fus vel de corte da alimenta o do respectivo motor queimou Substitua o inserindo outro de pelo menos 3 15A liga o por encaixe Devido presen a de picos de corrente no m
30. Placa de interface s baterias 10 Servomotores 13 Interface aos extens metros 14 Plataforma do p 15 Pernas Plano de apoio Fig 3 Componentes do Setup Experimental Milton Ruas da Silva N Mec 21824 DETI DEM UA 8 Projecto Human ide da Universidade de Aveiro PhUA Manual do Utilizador 2005 06 Os elementos comuns a todas as experi ncias s o Fig 3 e Computador com porta RS 232 inclu da ou com adaptador 1 e Programador ICD2 2 que em conjunto com o software MPLAB programa os microprocessadores PIC e Oscilosc pio para an lise dos sinais de sa da 3 e Fonte de alimenta o de 8V e de elevada amperagem 4 ou baterias de L tio 5 com a respectiva placa de interface para o restante hardware 6 e Unidade Master 7 e Slave pelo menos uma podendo se utilizar a placa em PCB 8 ou a experimental 9 Foi verificado que as v rias unidades Slave em PCB apresentavam defeitos nas liga es entre os diversos componentes Muito embora muito se fez para os resolver poss vel que algumas deles ainda apresentem problemas no seu funcionamento Por isso recomenda se primeiramente o uso do Slave em placa experimental dada a sua elevada qualidade de funcionamento Devido a este motivo atribu mos a designa o de Slave principal a esta placa Para a locomo o de servomotores necess rio adicionalmente e Um servomotor 10 e O torno de fixa o caso pretenda fixar os act
31. Projecto Human ide da Universidade de Aveiro PhUA Manual do Utilizador 2005 06 Desenvolvimento de Algoritmos de Controlo para Locomo o de um Robot Human ide Manual do Utilizador Milton Ruas da Silva N 21824 Orienta o Prof Dr Filipe Silva DETIIEETA Prof Dr V tor Santos DEM TEMA Universidade de Aveiro Departamento de Electr nica Telecomunica es e Inform tica IEETA Licenciatura em Engenharia Electr nica e Telecomunica es Novembro de 2006 Milton Ruas da Silva N Mec 21824 DETI DEM UA 1 Projecto Human ide da Universidade de Aveiro PhUA Manual do Utilizador 2005 06 Milton Ruas da Silva N Mec 21824 DETI DEM UA 2 Projecto Human ide da Universidade de Aveiro PhUA Manual do Utilizador 2005 06 Indice TAPRESENTA A Ocrais inna EEA e E pasa att 5 2 SETUP EXPERIMENTAL sisesissssordsssssscssssesisssssssssissssseossosssssssssvisoss tos kss sssssotso sss sisses stss sissoo 7 2l OtroduUca nara a e a a a a a a a a a a 7 2X OMpONEn S nnen e rt A aid O Rd a bd E e OE tida 8 2 5 Montagem ido Sistemas sit aneas nda sa CESAR Pra e RU AO DNS SE 10 ZA A TL E TE RA A EE TO A A EAA RA E RAAE 13 aJsensares dos SE VOmMOtOr ES ass latin aa aa A a AE EE SS SAS a aA 13 DAlmenta cione n a a n a a E E E E 13 S PROGRAMA O DO P C siiieotisiosssiniisasinsseri iseia ssse itaet inaasa aesa aeaa fue gun cul 15 3 1 Instala o e Configura o do Software sssssessesssessessessrsseess
32. Setup usando apenas um Servomotor c ii iireereceeeeeecareraraaaeeeaeeracaraneraanos 37 p Setup da s Y PernalS destas ndo estan Sa A a E 38 5 7 Rotinas de Alto N vel para Controlo da Locomo o eee 39 a Amostragem de Traject rias de uma Unidade de Controlo ii 39 b Execu o de Movimentos Coordenados entre v rias Unidades de Controlo 39 c Amostragem de Traject rias em Modo de Deslocamento Coordenado 44 6 CONTROLO DE EQUILIBRIO ix assista astitenia pro con niiadho said doada randstad a sad 45 6105 Sensores dE F r aee sussa aa ae casa ga ad Lda O EEEE A iE a LO 45 6 2 Montagem dos Componentes saga can aRA casas ass aa ana Sa UTI SA SUSI 46 6 3 Verifica o das E IDA ES nor ada Saba Di dra a Aa A aE eaa 48 6 4 Activa ao do Sistema ss band dd IRA A O pi S 49 6 5 Leitura Sensorial dos Sensores de Press o ce eessiia iersserariecaaio dE cterindo retas dona ira missa dadde nda 49 6 6 Algoritmos d Controlo a ii a RS Da RR E 51 Milton Ruas da Silva N Mec 21824 DETI DEM UA 3 Projecto Human ide da Universidade de Aveiro PhUA Manual do Utilizador 2005 06 Milton Ruas da Silva N Mec 21824 DETI DEM UA 4 Projecto Human ide da Universidade de Aveiro PhUA Manual do Utilizador 2005 06 1 Apresenta o Obrigado pela escolha deste Projecto Desde j informamos que o sistema desenvolvido corresponde a uma vers
33. ado tamb m a fun o applycontrol mas com o par metro tipo de controlo A Tabela 16 apresenta o conjunto de controladores a activar para cada junta conte do de servos Tipo de Controlo Valor Descri o NO CONTROL 0 Controlo em malha aberta LOCOMOTION CONTROL 1 Controlo de posi o Tabela 16 Tipo de controladores a activar De acordo com a Tabela 16 podemos indicar se pretendemos o funcionamento em malha aberta NO CONTROL ou em malha fechada utilizando o compensador PID referido LOCOMOTION CONTROL Outros tipos de controladores poss veis ser o discutidos no cap tulo sobre equil brio Por isso para activar o controlador de posi o em todos os servos da unidade 2 basta fazer gt gt applycontrol H 2 3 1 1 1 Para desactivar o controlador em todos os servos s fazer gt gt applycontrol H 2 3 0 0 0 Milton Ruas da Silva N Mec 21824 DETI DEM UA 36 Projecto Human ide da Universidade de Aveiro PhUA Manual do Utilizador 2005 06 5 6 Locomo o das Juntas na Presen a de Cargas Depois de todas as opera es estarem em bom funcionamento altura de testar o controlador com cargas aplicadas nas juntas servomotores a Setup usando apenas um Servomotor Fig 20 Setup com um s Servomotor 1 Monte um servomotor num torno de fixa o preso mesa tal como nos mostra a Fig 20 e assegure se que se encontra bem fixo 2 Conecte o alongament
34. ais de PWM PORTCbits RCS TESTPIN2 Execu o das interrup es de medi o sensorial da sa da dos servomotores Estas interrup es s s o atendidas fora da zona de fall down do PWM e dever o ocorrer com uma periodicidade de 200us Observar se por isso um sinal de alta frequ ncia com uma dura o de cerca de 18ms em cada 20ms PORTBbits RBO TESTPIN3 Execu o das interrup es de atendimento s interrup es CAN Para um conjunto de oito unidades slave e tendo em contra que cada unidade tem dedicados a si Ims de comunica o 4 mensagens de transmiss o recep o x 250us de esperar observar dois impulsos de dura o m dia de 100us cada um a cada 8ms Tabela 5 Slave s test pins Para verifica o do correcto funcionamento de cada unidade slave dever se observar o comportamento esperado no pino TESTPIN 2 com as presen a dos impulsos de alta frequ ncia Quanto aos restantes est o dependentes de fen menos externos por isso natural que n o estejam imediatamente em opera o ap s a activa o destas unidades O pino TESTPIN3 s come ar a sua actividade ap s a conclus o da primeira recep o CAN dependente da unidade Master e o pino TESTPIN s come ar a operar ap s a activa o dos sinais de PWM ver sec o 4 4 Milton Ruas da Silva N Mec 21824 DETI DEM UA 25 Projecto Human ide da Universidade de Aveiro PhUA Manual do Utilizador 2005 06
35. ao movimento seguinte Para efectuar uma leitura sensorial ter de seguir a seguinte sintax servos state readjoint H scu id param No caso da leitura de posi o unidade 2 apenas ter de fazer servos state readjoint H 2 0 Milton Ruas da Silva N Mec 21824 DETI DEM UA 34 Projecto Human ide da Universidade de Aveiro PhUA Manual do Utilizador 2005 06 5 5 O Controlador de Posi o Cada unidade Slave possui integrada para cada servomotor um controlador PID para compensa o de desvios decorrentes da presen a de cargas nos veios Para ajuste deste controlador poss vel controlar os par metros Kp K e Kp correspondentes s componentes integral proporcional e derivativa respectivamente a partir do PC usando o barramento CAN para transmitir esses dados unidade de interesse a Defini o dos Par metros de Controlo A fun o applycontrol a respons vel pelo controlo dos compensadores PID das unidades slave podendo activar desactivar o controlador e ajustar os seus par metros Kp K e Kp rx error errorstr tries applycontrol H scu id param servos Tipo de par metros Vari vel Descri o H Handler da linha de comunica es scu id Identificador da unidade controladora Entrada m param Par metro de controlo a ajustar servos Valores de actua o di Sequ ncia de resposta proveniente do master i error C digo de erro Sa da
36. as de servi o interrup o oferecida Para vers es inferiores poder ocorrer corrup o de dados nestas situa es Verifique seo MPLab est devidamente configurado par o tipo de dispositivos a usar 1 Configure Select Device a Device PIC18F258 PIC a programar b Device family All c Microchip programmer tool support MPLAB ICD2 deve estar activado d Microchip debugger tool support MPLAB ICD2 deve estar activado Milton Ruas da Silva N Mec 21824 DETI DEM UA 15 Projecto Human ide da Universidade de Aveiro PhUA Manual do Utilizador 2005 06 2 Configure Configuration Bits a Oscillator HS PLL enabled b Osc switch enable disabled c Power up timer enabled d Brown out detect enabled e Brown out voltage 2 7V f Watchdog timer disabled controlled by SWDTEN bit g Watchdog postscaler 1 128 h Todas as restantes op es desactivadas disabled 3 Configure gt ID Memory a User ID FFFFFFFF b Use unprotected checksum disabled 4 Configure Settings a Seleccione a tab Projects Save project before build enabled Save files before build yes Halt build on first failure enabled b Tab Program Loading Clear program memory upon loading a program enabled Caso j possua um projecto preparado workspace abra o workspace e verifique as configura es da toolsuite de
37. az deste m todo o mais simplificado Quanto ao segundo m todo apresenta a desvantagem de exigir software diferenciado para cada tarefa no que toca compila o e ao download para o PIC Al m disso exige tamb m uma interface s rie RS 232 para transfer ncia do programa mas permite dispensar o uso do dispendioso kit ICD2 3 1 Instala o e Configura o do Software Instale o seguinte software na ordem prescrita 1 MPLab 7 30 este o ambiente de programa o que lhe permite editar o programa compil lo e descarreg lo no PIC Durante a instala o n o esquecer de incluir o componente ICD2 e de instalar os drivers associados conex o por USB ao PC siga as instru es indicadas caso n o o fa a ter de utilizar comunica o RS 232 conjuntamente com alimenta o independente 2 MPLab C18 C compiler 3 00 Toolsuite para a compila o linkagem do programa em linguagem C A n o instala o dos drivers USB implicam a transfer ncia de informa o para o kit ICD2 por RS 232 precisando este elemento de alimenta o independente Caso utilize a vers o 3 00 ou superior do compilador o ambiente MPLab deve possuir a vers o m nima 7 30 Em caso contr rio a compila o n o funcionar Recomenda se altamente a utiliza o da vers o 3 00 ou superior do compilador dado que s a partir desta vers o a funcionalidade de salvaguarda do contexto na chamada de fun es dentro das rotin
38. cu o A parte mais complicada a programa o do bootloader para cada PIC Tal exige hardware dedicado pois desta vez n o temos a ajuda de nenhum software para a transfer ncia deste bocado de c digo para a mem ria As op es mais simples mas tamb m mais dispendiosas consistem no uso do kit ICD2 ou num programador dedicado fornecido pela Microchip Uma solu o mais barata consiste na utiliza o do denominado programador universal cujo circuito pode ser encontrado facilmente na internet com o respectivo software de interface Programa o do bootloader usando o kit ICD2 1 Abrir o ambiente MPLAB 2 Conectar se ao kit ICD2 Programmer Select Programmer gt MPLAB ICD 2 3 Importar o ficheiro HEX com o bootloader a varregar File Import 4 Carregar o bootloader para o PIC Programmer Program Caso utilize o programador da Microchip ou o programador universal leia a documenta o fornecida para manipular estes dispositivos Tome aten o na escolha do bootloader pois cada um espec fico para cada modelo de PIC e para cada frequ ncia de cristal e de oscila o Adicionalmente tome nota do baudrate de transfer ncia dos programas para configura o do PicLoader Tanto o PicLoader como os v rios bootloaders para diferentes PIC s e diferentes frequ ncias de cristal est o dispon veis na p gina http www iceta pt jla fornecidos pelo docente Jos Lu s Azevedo Caso o soft
39. dimento dura cerca de dois segundos da o atraso no arranque dos servomotores 6 5 Leitura Sensorial dos Sensores de Press o Para a leitura sensorial dos sensores de press o utilizada a fun o readspecial Esta fun o foi constru da tendo em mente a leitura das quatro entradas anal gicas adicionais Tabela 23 que tamb m poder o ser utilizadas no futuro para a leitura de inclin metros girosc pios special rx error errorstr tries readspecial H scu id Tipo de par metros Vari vel Descri o H Handler da linha de comunica es Entrada scu id Identificador da unidade controladora special Valores sensoriais medidos a partir dos quatros sensores rx Sequ ncia de resposta proveniente do master error C digo de erro Sa da errorstr Mensagem de erro tries N mero de tentativas para o contacto Tabela 24 Par metros de entrada sa da da rotina readspecial special sensor sensor sensors Sensor Esta fun o retorna os valores pr processados calibrados por software dos quatro sensores especiais ligados unidade controladora scu id Exemplo leitura dos sensores de press o da unidade de controlo 2 gt gt special readspecial H 2 Milton Ruas da Silva N Mec 21824 DETI DEM UA 49 Projecto Human ide da Universidade de Aveiro PhUA Manual do Utilizador 2005 06 Tr s rotinas de mais alto n vel foram desenvo
40. e acondicionamento com 5V verifique as polaridades com os sensores em vazio ajuste os potenci metros de calibra o de modo a que a sa da do amplificador corresponda a 1V Os potenci metros de calibra o localizam se na parte inferior da placa Fig 29 Caso a sa da nunca varie porque existe algum mau contacto na placa verifique novamente as liga es passo 3 O circuito de acondicionamento de sinal foi implementado numa placa experimental de baixa qualidade pelo que ser de esperar alguns problemas nas liga es Para evitar qualquer problema recomenda se a reimplementa o cuidada numa placa PCB Se poss vel use fichas RJ45 de quatro terminais 2 para cada extens metro 2 para o respectivo espelho 6 Depois de calibrado pressione propositadamente nos sensores de press o e dever observar varia o no sinal de sa da do amplificador entre 1 e 4V Se verificar bastantes oscila es no sinal de sa da volte ao passo 3 com a verifica o das liga es Dada a margem de 1V na sa da dos amplificadores INA129P apenas obtemos varia es na gama de 1 a 4V quando alimentado entre 0 e 5V 6 Desligue a alimenta o e verifique a liga o entre a sa da dos amplificadores e as entradas anal gicas da unidade slave bem como destas s correspondentes entradas no multiplexer Extens metro Entrada do MUX C digo de selec o Pino do C I Superior esquerdo Yo 0b011
41. e precisar Tabela 25 Rotinas de alto n vel para medi o das for as de reac o Para salvaguarda dos arrays de sa da da rotina cop acquire pode utilizar o comando save gt gt save filename reaction CoP servo current Para posterior leitura s fazer gt gt array load filename gt gt reaction array reaction gt gt CoP array CoP gt gt servo array servo gt gt current array current Quanto rotina cop realtime o centro de press o representado graficamente num p A Fig 32 mostra nos um exemplo a perspectiva considerada a do robot a parte superior corresponde frontal e apresenta nos um caso em que o centro de press o coincide com o centro do p A rotina cop graphs pode ser utilizada para a visualiza o gr fica dos resultados produzidos pelo cop acquire ap s salvaguarda em ficheiro Edite esta rotina de modo a fazer o loading do ficheiro salvaguardado e utilizar os seus dados 8 lt CD PROJ gt ALabiFase3 IntegrationiPCYControlCoP realtime Milton Ruas da Silva N Mec 21824 DETI DEM UA 50 Projecto Human ide da Universidade de Aveiro PhUA Manual do Utilizador 2005 06 CoM E Fig 32 Representa o gr fica do CoP 6 6 Algoritmos de Controlo Quando os sinais de PWM s o ligados o sistema inicializado em modo de malha aberta ou seja nenhum controlador se encontra activo Para activa o do controlador de equil brio necess ria a fu
42. eesresresseesesersseessesrrssessessrssees 15 OA DIAT OA a LE D EE E O E a SA Ea Si 19 3 3 Utiliza o de um BooLLoAde usa aa ia E aU dd da 21 J OPERACO ES B SICAS rearea a RO A qui 23 4 1 Comu ica o a partindo PO eecscncriieceriennceo Diinan a a E i 23 4 2 Actiy o do SINTA ae ARS A LA E Oa a da q 24 4 3 Cria o de uma Linha de Comunica es sas saga sseianis sintas siena saip Ta ad Laj en dal dp an s o braga caga 26 4 4 Activa es dos sinais de PWM nos Motores cc ii reeeeeeeeeeeeeeeererererereneeereneeeees 28 4 5Sh t Downmdo SISTEMA sau ms nais etapen n na dana asd aa da ea cenb aah A EAE aa ad aba 30 5 LOCOMO O DAS JUNTAS sssssssssssssccsesessssescecceessssssesccoesessssesccereesssssseeecoesessssesceeeeesssssseeeeees 31 Sel Procedimentos Iniciais asas E GG LARA e a RA UT Aa ta CR Aa aa 31 2 Deslocamento dos SErvOMOTorES a qe aassa do dTe na fe Tada E edad CU TO Opa Ud aaa ra 31 55 Defini o de Velocidade ess a Ia Sa DA Sai iai Ss 32 5 4 Amostragem dos Sensores dos Servomotores e ireeeereeeeeereeraerereeerrarn s 33 5 9 0 Controlador de Posicad de dista a E 35 a Defini o dos Par metros de Controlo ussuessseiicsgaaiatsisis sata dominada as ssaaa esfiha sina Misa en added 35 b Activa o do Controlador de Posi o c ii iiereeeereeeeereeeeeeeeeerereneeeeeaeereeanaos 36 5 6 Locomo o das Juntas na Presen a de Cargas c ii ieeireereeeeereeeeeerenaeeanos 37 a
43. endo Programmer Select Programmer MPLAB ICD2 Fig 14 Liga o do kit ICD2 placa slave principal Milton Ruas da Silva N Mec 21824 DETI DEM UA 19 Projecto Human ide da Universidade de Aveiro PhUA Manual do Utilizador 2005 06 E Dos Build Version Control Find in Files MPLAB ICD 2 Connecting to MPLAB ICD 2 ICD0019 Communications Failed to open port Windows GetLastError 0x2 O sistema n o conseguiu localizar o ficheiro especificado ICD0021 Unable to connect with MPLAB ICD 2 MPLAB ICD 2 Ready Fig 15 Liga o mal sucedida ao kit ICD2 Se uma mensagem de erro do tipo da aparecer porque o kit n o est devidamente configurado Os t picos a bold s o fundamentais para a correcta configura o 1 Clique em Programmer Settings 2 Tab Status a Automatically connect at startup enabled b Automatically download firmware if needed enabled 3 Tab Communication a No caso de comunica o USB definir Com Port USB b Em caso de comunica o RS 232 definir Com Port COM e Baudrate 57600 4 Tab Power a Power target circuit from MPLAB ICD2 5V Vpp disabled alimenta o do PIC independente 5 Tab Program a Allow ICD2 to select memories and ranges enabled b Automatically Program after successful build enabled e Run after successful program enabled O ponto 5 b embora em nada
44. erminada posi o ao longo do tempo Actualize periodicamente a matriz calib de modo a reflectir esses desvios limit m position final limit scuid position Limita o da posi o position solicitada unidade scuid Al m da limita o de excurs o dos servos 90 a 90 a pr pria estrutura mec nica do robot aumenta ainda mais esta limita o Confirme os dados da matriz lim mine lim max Tabela 21 Fun es adicionais utilizadas pelas rotinas de c lculo e execu o de traject rias Embora os limites de posicionamento dos servomotores sejam de 90 limitou se para 70 devido diferen a do duty cycle de funcionamento entre os v rios actuadores Dando uma margem de 20 garante se que todos os servos utilizam toda a gama considerada 140 Exemplo da execu o de um movimento de flex o das pernas com um deslocamento de 60 durante 2s 100 ciclos de PWM gt gt pos apply k t flexao 100 60 gt gt exe traj H t pos apply 0 Milton Ruas da Silva N Mec 21824 DETI DEM UA 43 Projecto Human ide da Universidade de Aveiro PhUA Manual do Utilizador 2005 06 c Amostragem de Traject rias em Modo de Deslocamento Coordenado A fun o exe traj al m de executar movimentos tamb m pode amostrar os sensores de todas as unidades pretendidas Edite a fun o e introduza no vector scu test as unidades a amostrar scuZtest 1 2 3 4 Amostragem das unidades slave de
45. es Entrada scu id Identificador da unidade controladora param Par metro a ler servos Valores sensoriais state Estado de funcionamento dos servos rx Sequ ncia de resposta proveniente do master error C digo de erro Sa da errorstr Mensagem de erro tries N mero de tentativas para o contacto Tabela 11 Par metros de entrada sa da da rotina readjoint Par metro Valor Descri o PARAM POSITION 0 Posi o das juntas PARAM VELOCITY 1 Velocidade m dia PARAM CURRENT 2 Corrente consumida normalizada Tabela 12 Tipo de par metros a ler na chamada da rotina readjoint Como entradas solicitado um par metro dos indicados na Tabela 12 param da unidade slave scu id No retorno s o devolvidos os mesmos par metros que na fun o applyjoint adicionalmente dos dados pedidos em servos e do estado de funcionamento destes dispositivos state servos lt datal gt lt data2 gt lt data3 gt O vector servos segue a mesma estrutura que na rotina de actua o com cada elemento associado a cada servo e Caso o par metro pedido de posi o PARAM POSITION a posi o dos servos devolvida em graus entre 90 e 90 com uma resolu o de 1 e Se param PARAM VELOCITY a velocidade m dia nos ltimos 100ms 5 ciclos de PWM devolvida Este valor fornecido em graus 100ms e Se pretender medir a corrente param PARAM CURR
46. essesseseesseeseesresseesreserssresseseess 19 15 Liga o mal sucedida ao kit ICD2 naese aiienisitsiisthnn iiini iai iin a 20 16 Software PicLoader para transferir programas para o PIC sssesssssessseessesesssressesesssressesses 21 17 Terminal R E Smith I O Commander ssa Atac a TR SAGA SI saia 2T 18 Sinal de PWM aplicado no SErvOMmotor ss ums nada seis aa a a 29 19 Traject ria polinomial de terceira ordem erre eeeeaeereraaaeeeeeeanaranos 32 20 Setup com Um SO SELVOMOLOLuxcs quessans mesm an Sob aa Ao el aa EEN a ADA IO EA EAS a Sa ada 37 21 Conjunto de massas a utilizar como carga no SefVO sssessssseeseeseesseeseeseessesresrrssressessessees 37 22 Utiliza o das pernas com carga inclu da para teste dos servomotores 38 23 Carga utilizada para simular O trONCO sus ecas essi imnin aguo ceopuioaavrdlgas eins nina dino ent A pe renda 38 24 Tipos de movimentos das pernas is cinema arenito renasce a diracadisa dadas deitado Dea a atenas dire aa ra 41 25 Coloca o dos sensores na estrutura do p cc erre eeeeeererereaeeeneenaa 45 26 Pe a de acr lico contendo o extens metro para medi o da sua deforma o 45 27 Pontos de contacto entre as 2 plataformas do p c eretas 45 287 Vis completa do pls aa dr Don ana ae DNS A DSO nS 46 29 Placa de acondicionamento de sinal aa asda O EU Sa 46 30 Liga o das quatro entradas anal gicas
47. g Fig Fig Fig Fig Fig Fig Fig Fig Fig Fig Fig Fig Fig Fig Fig Fig Fig Fig Fig Fig Fig Fig Fig Fig Fig Fig Fig Fig Fig Fig Fig 1e Setup coni M So ServOMO LOL ss IT Te SS A EENS 7 2 Setup com a s perna s do robot hamandides eseussensstegne sli asia Sara T 3 Componentes do Setup Experimental asiusscais apiaasr sumir ines ua Ada a ARS da 8 4 Conex o entre os v rios componentes do Setup essesessssessessrsssessessrssressesstssressessrssresseese 10 5 Liga o RS 232 entre o PC e o MASC sussa estas aaa SG a EE 10 6 Liga o CAN entre todas as unidades cabo flat azul eira 11 7 Liga o dos servomotores cabos coloridos a cada slave seres 11 8 Diagrama de montagem de um S SETVO ss sseseseseessesesseesresrtssessesrtsstessesressressessrssressessrssees 11 9 Diagrama da montagem de tr s SErvVoS ssseseessesessseesseseessessesrtssressessrsstesseestesresseeseeseesseesse 11 10 Diagrama de montagem de v rias unidades Slave nn seesseesseseosseeseeseesseesreseesseessessessresse 12 11 Imagem final com o sistema completo sssssssseesesseesseeseesessseeseesresseesseserssressessrssressessessees 12 12 Dados imprimidos pelo MPLAB ap s uma compila o bem sucedida 18 13 Kit ICD2 o e n a A R A a E ERE ia 19 14 Liga o do kit ICD2 placa slave principal s ss sessssessessesss
48. ime data Milton Ruas da Silva N Mec 21824 DETI DEM UA 44 Projecto Human ide da Universidade de Aveiro PhUA Manual do Utilizador 2005 06 6 Controlo de Equilibrio O controlador de equil brio tem como objectivo a manuten o da estrutura human ide numa postura vertical e cujo centro de press o se projecte sobre o centro do p de apoio Desta forma poss vel conferir estrutura o estado de equil brio como se de um p ndulo invertido se tratasse Este cap tulo pressup e que todo o sistema base com os servomotores j foi montado e verificado ver sec es 2 3 e 2 4 pelo que o controlador de equil brio um componente adicional que usando os sensores de for a como feedback actua nos actuadores segundo uma determinada lei de controlo 6 1 Os Sensores de For a De modo a poder avaliar a localiza o do centro de press o sobre cada p extens metros localizados nas quatro extremidades dos p s s o utilizados para medir a distribui o das for as de reac o ao longo da sua estrutura Pela distribui o poss vel avaliar a posi o do centro de press o Eoo E Aplica o da for a Extens metro Fig 26 Pe a de acr lico contendo o Fig 27 Pontos de contacto entre as 2 plataformas do extens metro para medi o da sua deforma o p Milton Ruas da Silva N Mec 21824 DETI DEM UA 45 Projecto Human ide da Universidade de Aveiro PhUA Manual do Utilizador 20
49. ipal slave 2 podemos activar cada um dos dois tipos de compensador do seguinte modo e Compensa o proporcional gt gt appiyeontrol H 2 3 12 2 2 e Compensa o utilizando o Jacobiano gt gt applycontrol H 2 3 13 3 3 Com a vers o actual do software ainda n o poss vel controlar os par metros de compensa o via PC Por enquanto estes par metros s podem ser definidos pelas constantes KP FORCEX e KP FORCEY ou atrav s de jacobKp dependendo do tipo de controlador em uso inclu das no ficheiro servo c programa slave Num futuro pr ximo poder se aproveitar os par metros Kp utilizados para a compensa o de posi o para uso deste controlador Desta forma o destino dos par metros de compensa o dependeria do controlador activo Para testar novos algoritmos de controlo sem ter que os implementar nas unidades de controlo pode utilizar o simulador cinem tico dispon vel em lt CD PROJ gt ALabiSimulationSimulator que imita o funcionamento de uma perna do robot human ide Todos os aspectos f sicos presentes na perna incluindo os dos servomotores foram considerados para que a simula o seja o mais realista poss vel Edite e corra o script simleg m para considerar as suas condi es de funcionamento Milton Ruas da Silva N Mec 21824 DETI DEM UA 52 Projecto Human ide da Universidade de Aveiro PhUA Manual do Utilizador 2005 06 ndice de Figuras Fig Fi
50. isualiza o dos resultados necess rio efectuar plots manuais das colunas de interesse destas matrizes Todos os dados amostrados durante este ano bem como alguns gr ficos presentes no relat rio est o dispon veis no CD de projecto b Execu o de Movimentos Coordenados entre v rias Unidades de Controlo Para execu o de movimentos que envolvam v rias unidades de controlo torna se necess rio comunicar e ler os dados sensoriais de todas as unidades garantindo sempre sincronismo temporal para que todas as juntas executem os deslocamentos pedidos no mesmo intervalo de tempo e sem desfasamentos temporais Tr s tipos de movimentos foram contemplados envolvendo apenas as pernas e Flex o da s perna s envolve o deslocamento da junta do joelho e das juntas dianteiras do p e da anca 3x2 e Deslocamento lateral da s perna s junta lateral do p 1x2 e Dobra da s perna s junta do joelho e dianteira da anca 2x2 Com o objectivo de uniformizar o software na execu o dos v rios tipos de movimentos desenvolveram se v rias rotinas para o c lculo dos par metros necess rios para a execu o de cada um Tabela 18 e uma rotina universal que utiliza esses par metros para sua execu o e amostragem sensorial exe traj 6 lt CD PROJ gt ALablFase3 IntegrationiPCIControAMotionl 7 lt CD_PROJ gt Lab Data Milton Ruas da Silva N Mec 21824 DETI DEM UA 39 Projecto Human ide da Universidade de Avei
51. iver a enviar nenhum programa pela linha s rie o PIC executa o ltimo programa carregado sempre que for inicializado S na tentativa de transfer ncia que o bootloader o carrega em mem ria Note que cada PIC precisa de uma interface RS 232 para efectuar a transfer ncia dos programas Para transferir o programa para o PIC utilizado o software PicLoader ver nota informativa abaixo Apenas ter de configurar a porta s rie utilizada para comunicar Com Port COM e o baudrate tab Comm velocidade indicada pelo bootloader adoptado E WinPIC Loader Untitled m Fie Comm Help gt x Address Progress 02 09 2006 0 55 Fig 16 Software PicLoader para transferir programas para o PIC Milton Ruas da Silva N Mec 21824 DETI DEM UA 21 Projecto Human ide da Universidade de Aveiro PhUA Manual do Utilizador 2005 06 Para transferir o programa gerado pelo compilador MPLAB C18 compiler 1 Com um editor de texto abra o ficheiro HEX gerado pelo compilador e remova a primeira linha Agora com o PicLoader carregue o ficheiro HEX atrav s de File Open Verificar a liga o do cabo RS 232 entre o controlador e o PC Carregar em Play Ligar o PIC ou pressionar RESET seo li ed A remo o da primeira linha do c digo HEX apenas indispens vel para os PIC s da s rie 18F O programa dever iniciar a transfer ncia No final volte a premir RESET e o mesmo inicia a sua exe
52. lvidas tendo em vista o c lculo armazenamento e representa o gr fica do centro de press o CoP Ficheiro M Descri o calecop m CoP calccop react Com base nos dados sensoriais dos sensores de press o vector react o centro de press o CoP calculado e retornado na forma de coordenadas rectangulares x y cop realtime m Rotina em formato script Apresenta a localiza o do centro de press o na base do p em tempo real atrav s de uma interface gr fica representativa de um p cop acquire m Rotina em formato script O armazenamento dos sensores de press o reaction e do respectivo centro de press o CoP realizado durante um determinado per odo de tempo especificado pelo utilizador em maxtime edit o script Tamb m a posi o servo e a corrente consumida current da unidade slave local capturada e armazenada Entrada maxtime Tempo de captura Sa das reaction valores dos sensores de press o dimens o 4x TIME CoP localiza o x y do centro de press o dimens o 2xTIME servo traject ria de posi o realizada pelos 3 servos dimens o 3xTIME current corrente consumida para os tr s servos dimens o 3x TIME cop graphs m Rotina em formato script Visualiza o gr fica de um ficheiro workspace com as vari veis produzidas pela rotina cop acquire Ap s produzir estas vari veis salvaguarde as num ficheiro e edite esta rotina para ler este ficheiro sempre qu
53. m terminal de comunica es muito til Embora o Hyperterminal fornecido pelo Windows possa ser utilizado para trocar mensagens de texto tal mostra a sua fraqueza quando queremos trocar caracteres n o imprim veis Um terminal muito popular o R E Simith I O Commander est dispon vel gratuitamente na internet e permite a troca de caracteres de qualquer c digo ASCII nos dois sentidos 4 lt CD SW gt RS 232ARescomdr 20050625 V4p3 zip 5 http www rs485 com Milton Ruas da Silva N Mec 21824 DETI DEM UA 26 Projecto Human ide da Universidade de Aveiro PhUA Manual do Utilizador 2005 06 SER E SMITH 513 874 4796 www 15485 com V4 3 06 25 05 1 0 COMMANDER eg i Sequencer Flash Updater Configuration Menu About R E Smith Keyfile C keys txt Connect Clear Buffer fF SpitView I Send Uppercase Ony F PXHEX M RXCR CRLF PX MT M eA SOF Extra ReactionLeft ReactionRight scul pos scul vel scul curr null chgScul pos chgScul vel Error scu9 pos chgScu9 pos calib scut_canStatus reset position FR E PE GR E E po E Esse coesco comi 115200 N 8 1 Port Closed READY Fig 17 Terminal R E Smith I O Commander Instale este terminal e com a linha de comunica es desactivada killcom proceda do seguinte modo 1 Abra o terminal R E Smith 2 Seleccione a tab Configuration Menu a Crie a KEY LABEL test frame e associe a este label o valor 250 OxFA
54. mmer Download ICD2 Operating System No entanto apenas o deve fazer em ltimo recurso Com o kit a funcionar a programa o e o arranque do PIC devem ser executados automaticamente ap s uma compila o bem sucedida esta a grande vantagem do uso do kit ICD2 utilizando somente o ambiente MPLAB poss vel editar o programa e compil lo com o downloading e startup autom ticos Para a execu o isolada destas tarefas 1 Downloading do programa para o PIC Programmer Program 2 Startup do PIC Programmer Release from Reset 3 3 Utiliza o de um BootLoader Caso n o se disponha de um kit ICD2 apenas nos resta a alternativa de usar um bootloader para carregar o programa Este m todo baseia se na instala o de um pequeno programa no nicio da mem ria do PIC que executado sempre que inicializado Quando em execu o realiza o seguinte procedimento 1 Verifica durante um determinado per odo de tempo se na porta s rie RS 232 algu m est a tentar enviar um programa a Em caso afirmativo o bootloader efectua a transfer ncia para a zona de mem ria que se segue localiza o do mesmo No fim da transfer ncia o PIC bloqueia numa dummy task esperando pelo RESET do dispositivo volta ao passo 1 b Se nenhum programa estiver presente na entrada RS 232 ap s o timeout o bootloader executa o ltimo programa carregado na zona de mem ria que se segue sua localiza o Resumindo se n o se est
55. mo por exemplo para deslocar os tr s servos da unidade 2 para as posi es 0 O 50 graus considerando que a posi o actual corresponde original 0 0 70 dever se fazer gt gt applyjoint H 2 0 0 O 50 Milton Ruas da Silva N Mec 21824 DETI DEM UA 31 Projecto Human ide da Universidade de Aveiro PhUA Manual do Utilizador 2005 06 5 3 Defini o de Velocidade Para evitar deslocamentos velocidade m xima pode se activar o controlo de velocidade utilizando para isso o par metros PARAM VELOCITY Tabela 9 na chamada rotina applyjoint rx error errorstr tries applyjoint H scu id 1 lt Tl gt lt T2 gt lt T3 gt A lista lt 7 gt lt T gt lt T gt representa a lista das dura es dos movimentos a executar at posi o desejada Note que embora de fale em velocidade o que realmente se controla a dura o do movimento e Para T 0 o controlo est desligado e os movimentos realizam se velocidade m xima e Para 7 gt 0 o controlo est activo executando todas as traject rias no tempo especificado As traject rias s o realizadas seguindo o comportamento de uma curva polinomial de terceiro grau Fig 19 evitando desta forma a presen a de descontinuidades na curva de velocidade e de deltas de Dirac na curva de acelera o 50 Posi o graus 1 2 3 4 time s Fig 19 Traject ria polinomial de terceira ordem T especificado em pe
56. n o applycontrol usando o par metro param com o valor 3 defini o do tipo de controlador tal como nos indica a Tabela 15 rx error errorstr tries applycontrol H scu id 3 servol servo2 servo3 Relativamente aos tipos de controlador a que podemos atribuir a cada servo atrav s do array servo a Tabela 16 apresenta nos dois algoritmos que utilizam as for as de reac o como sinais de feedback e REACTION CONTROL 2 Controlo segundo a lei proporcional e BALANCE CONTROL 3 Controlo utilizando a matriz Jacobiana Ambos os controladores possuem o mesmo objectivo colocar o centro de press o no centro do p de apoio o que o mesmo que dizer manter a perna na vertical quando apenas uma utilizada Isto permite fazer experi ncias como a varia o do plano de suporte do p para teste dos compensadores Fig 33 Repare que a unidade de controlo local a que se ligam os sensores de for a tamb m capaz de controlar as tr s juntas da perna as duas do p mais o joelho pelo que apenas uma unidade slave necess ria para cumprir o objectivo proposto Milton Ruas da Silva N Mec 21824 DETI DEM UA 51 Projecto Human ide da Universidade de Aveiro PhUA Manual do Utilizador 2005 06 gt Fig 33 Equil brio de uma perna com a varia o do declive do plano Para o nosso caso em concreto apenas faz sentido manipular as unidades de endere os 1 e 2 Utilizando a placa slave princ
57. nto de corrente pode ter alguma responsabilidade neste efeito Mesmo assim por vezes o mesmo acontece com baterias mesmo aparentemente carregadas Suspeita se que mesmo com uma elevada tens o de sa da a corrente m xima de sa da esteja em baixa Experimente desligar o sistema durante alguns minutos para deixar as baterias recuperar Note que os programas s o todos iguais entre slaves pelo que a possibilidade de bug no software n o faz muito sentido pois tal s ocorre em algumas unidades Milton Ruas da Silva N Mec 21824 DETI DEM UA 29 Projecto Human ide da Universidade de Aveiro PhUA Manual do Utilizador 2005 06 4 5 Shut Down do Sistema Para desactiva o do sistema necess rio seguir o seguinte conjunto de passos 1 Desactiva o do sinal de PWM opcional gt gt applyjoint H 2 3 0 0 0 2 T rmino da linha de comunica es opcional gt gt killcom H 3 Desactiva o da alimenta o desligue a fonte ou as baterias 4 Reposicionamento das juntas na posi o original ver ltima recomenda o Embora a maioria dos passos sejam desnecess rios s o recomendados para que a reactiva o se proceda sem problemas de maior No caso de n o utilizar o sistema por bastante tempo remova os cabos fonte ou remova as baterias conforme a fonte de alimenta o utilizada Milton Ruas da Silva N Mec 21824 DETI DEM UA 30 Projecto Human ide da Universidade de Aveir
58. o PhUA Manual do Utilizador 2005 06 5 Locomo o das Juntas Este cap tulo descreve os m todos a seguir para efectuar ac es de actua o sobre os servomotores bem como para amostrar os sensores existentes nos mesmos 5 1 Procedimentos Iniciais Siga os passos descritos no cap tulo 4 para inicializa o do sistema 1 Inicialize a posi o das juntas das pernas se as estiver a utilizar na posi o mais pr xima poss vel da posi o original 2 Ligue a alimenta o 3 Crie a linha de comunica es utilizando o MatLab gt gt H initcom 1 115200 4 Active os sinais de PWM das unidades slave de interesse gt gt applyjoint H scu id 3 1 1 0 Tome nota que o problema evidenciado sobre o bloqueio da comunica o CAN em algumas unidades Slave tamb m poder ocorrer ao fim de algum tempo de funcionamento Caso tal aconte a desligue o sistema e volte a ligar ao fim de alguns minutos Se mesmo assim nada se resolver verifique se a alimenta o se encontra capaz de fornecer bons n veis de corrente 5 2 Deslocamento dos Servomotores Para efectuar deslocamentos nas juntas utilize a mesma rotina applyjoint mas com o par metro APPLY POSITION Tabela 9 rx error errorstr tries applyjoint H scu id 0 lt posl gt lt pos2 gt lt pos3 gt A lista lt pos gt lt pos gt lt posz gt representa as posi es desejadas que os tr s servomotores da unidade scu id devem atingir Co
59. o pl stico ao veio do motor de modo a que os limites 90 e 90 do servo correspondam s posi es inferior e superior respectivamente Quando n o poss vel identificar os extremos do servo acontece quando as patilhas de seguran a internas foram removidas ligue o servomotor placa de controlo e posicione o na posi o 0 Com base nessa posi o estime os extremos 90 e 90 3 Coloque uma massa circular no extremo do alongamento utilizando para isso o veio met lico e os parafusos de fixa o 4 Conecte o servo primeira sa da do slave servo 1 5 O servo est pronto para ser testado Fig 21 Conjunto de massas a utilizar como carga no servo Milton Ruas da Silva N Mec 21824 DETI DEM UA 37 Projecto Human ide da Universidade de Aveiro PhUA Manual do Utilizador 2005 06 b Setup da s Perna s Caso pretenda utilizar a estrutura human ide pode come ar pelos membros inferiores as pernas Fig 22 Fig 22 Utiliza o das pernas com carga inclu da para teste dos servomotores As instru es de des montagem das pernas bem como de outros partes est o inclu dos no relat rio de projecto 2004 05 Consulte o CD desse ano para consulta desses documentos Para simular o tronco pode utilizar o peso da Fig 23 que pesa aproximadamente 2Kg Insira o nas cavidades do topo de cada perna e execute movimentos procurando sempre garantir a horizontalidade da carga
60. omento da activa o normal verificar pequenos deslocamentos bruscos por parte dos servomotores mas logo ap s algumas centenas de milisegundos os servos devem encontrar se em repouso Verifique com o oscilosc pio a aus ncia de qualquer sinal de PWM e que os dispositivos se deslocam livremente Pode acontecer se estiver a usar v rias unidades slave que algumas unidades n o deixem em repouso os respectivos motores aplicando imediatamente os sinais de PWM Tal ainda inexplic vel uma vez que o programa igual entre todos os slaves e tal s acontece com o funcionamento de v rias unidades Se devido aos picos de corrente iniciais algum fus vel se queimou verifique a amperagem do mesmo prov vel que apenas seja de 2A Substitua o por um de 3 154 3 lt CD PRODALAB Milton Ruas da Silva N Mec 21824 DETI DEM UA 24 Projecto Human ide da Universidade de Aveiro PhUA Manual do Utilizador 2005 06 Cada unidade Master e Slave possui um conjunto de pinos denominados de teste que t m como objectivo a certifica o do seu correcto funcionamento bem como ajudar na depura o de algum eventual problema que possa ocorrer Pino do PIC Denomina o Fun o PORTCbits RC4 PIN TEST Invers o ap s cada transmiss o recep o Dado que cada transmiss o recep o possui uma periodicidade de 250us dever se observar uma onda quadrada de per odo 500us PORTCbits RC5 PIN TEST
61. r as pernas verifique tamb m se em toda a excurs o de movimento dos actuadores a estrutura mec nica bloqueia de alguma forma o seu movimento Para evitar tal defina a posi o neutra dos servomotores de modo a corresponder posi o central da excurs o de cada junta b Alimenta o Com o sistema desconectado alimenta o confirma as tens es de alimenta o e No uso da fonte de alimenta o entre 7 0 e 8 0V e Com baterias de 7 4V m nimo de 7 5V Desligue a fonte se tal o caso e conecte a alimenta o ao sistema verificando a polaridade e Positivo Vermelho e Ground GND Preto confirma as liga es pelo cabo de alimenta o comum s unidades Milton Ruas da Silva N Mec 21824 DETI DEM UA 13 Projecto Human ide da Universidade de Aveiro PhUA Manual do Utilizador 2005 06 Milton Ruas da Silva N Mec 21824 DETI DEM UA 14 Projecto Human ide da Universidade de Aveiro PhUA Manual do Utilizador 2005 06 3 Programa o do PIC Para programa o dos microprocessadores PIC dois procedimentos podem ser efectuados 1 Programa o directa pelo kit ICD2 2 Programa o atrav s de um bootloader presente na mem ria do PIC O primeiro m todo o mais simples e directo uma vez que utiliza o mesmo software para a edi o dos programas compila o e downloading para o dispositivo Al m disso a liga o deste dispositivo directamente a alguns terminais do PIC f
62. riodos de PWM Como cada periodo de PWM tem a dura o de 20 ms 50 Hz os valores s o fornecidos em ciclos de 20 ms Como estes valores s o armazenados no formato de 8 bits um byte as dura es limite s o O Tai 20ms O Trx255 5 1s Dura o T x0 02 s Caso pretenda aumentar mais a dura o m xima dos movimentos aumente a constante PER FACTOR no ficheiro trajectory c programa slave Esta constante representa o multiplicador do per odo de cada movimento para 2 o per odo m ximo de 10 2s por favor evite o uso de floats A t tulo de exemplo se se pretender executar movimentos suaves de dura o de 2s 100 ciclos para todos os tr s servomotores da unidade 2 devar fazer o seguinte gt gt applyjoint H 2 1 100 100 100 E agora realize deslocamentos vontade tal como indicado na sec o 5 2 Deslocamento dos Servomotores Milton Ruas da Silva N Mec 21824 DETI DEM UA 32 Projecto Human ide da Universidade de Aveiro PhUA Manual do Utilizador 2005 06 5 4 Amostragem dos Sensores dos Servomotores Para efectuar amostragem dos sensores presentes nos servomotores precisar de rotinas que efectuem leituras sensoriais A rotina readjoint pode ser utilizada para a leitura dos sensores presentes nos servomotores servos state rx error errorstr tries readjoint H scu id param Tipo de par metros Vari vel Descri o H Handler da linha de comunica
63. ro PhUA Manual do Utilizador 2005 06 Ficheiro M Chamada da fun o predict trajectory m posT velT accT predict trajectory pos0 posF n samples ratio Previs o da execu o de uma traject ria ideal Com o fornecimento da posi o inicial pos0 e final posF mais o n mero total de amostras n samples e a frac o correspondente traject ria ratio devolvida uma traject ria polinomial de terceiro grau em posi o posT velocidade velT e acelera o acctT sample traj m array sample traj H T pos0 posF k Amostragem da traject ria de um servo de uma unidade slave A partir das informa es da dura o do movimento T da posi o inicial pos0 e final posF e dos par metros k K Kp Kp O primeiro servo da unidade slave de teste endere o fornecido no interior da rotina scu um array array produzido com a informa o de tempo posi o velocidade corrente e as traject rias previstas de posi o e velocidade dispostas em vectores coluna T Dura o do Movimento pos0 Posi o inicial posF Posi o final k K Kp Ko Par metros de controlo PID array tempo posi o velocidade corrente posT velT Todos os elementos s o vectores coluna sample traj3 m array sample traj3 H T pos0O posF k Equivalente rotina sample traj mas com a diferen a de efectuar amostragem de todos os tr s servomotores de uma determinada unidade slave introd
64. s frequ ncia do oscilador fe 16X baudrate E Milton Ruas da Silva N Mec 21824 DETI DEM UA 27 Projecto Human ide da Universidade de Aveiro PhUA Manual do Utilizador 2005 06 4 4 Activa es dos sinais de PWM nos Motores Para actua o sobre as juntas a rotina applyjoint utilizada rx error errorstr tries applyjoint H scu id param servos Tipo de par metros Vari vel Descri o H Handler da linha de comunica es scu id Identificador da unidade controladora Entrada param Par metro a controlar servos Valores de actua o rX Sequ ncia de resposta proveniente do master f error C digo de erro Sa da errorstr Mensagem de erro tries N mero de tentativas para o contacto Tabela 7 Par metros de entrada sa da da rotina applyjoint O endere o identificativo de cada unidade scu id definido por hardware atrav s do switch de quatro terminais presente em cada um Na utiliza o da estrutura human ide cada um tem a localiza o indicada na Tabela 8 de acordo com a perspectiva do pr prio robot human ide vista de tr s Identificador do Slave Endere o a definir no switch Localiza o 1 0b0001 Perna direita 2 0b0010 Perna esquerda slave principal 3 0b0011 Anca direita 4 0b0100 Anca esquerda 5 0b0101 Tronco ainda n o testado Tabela 8 Localiza o de cada unidade slave
65. t s eee 33 Tabela 12 Tipo de par metros a ler na chamada da rotina readjoint 33 Tabela 13 Elementos do vector state devolvido pela rotina readjoint i 34 Tabela 14 Valores de entrada e sa da da fun o applyjoint serranas 35 Tabela 15 Tipo de par metros a controlar pela rotina applycontrol c 36 Tabela 16 Tipo de controladores a activar sassssemmassceaiise pasa ceisicmasiasedtrait in trisa detesta dear siadaiiraddoa 36 Tabela 17 Lista de rotinas para amostragem de traject rias de uma unidade de controlo 40 Tabela 18 Fun es de c lculo das traject rias para os diferentes tipos de movimentos 41 Tabela 19 Descri o da estrutura das vari veis retornadas pelas fun es de c lculo de traject rias NEEE IRD RR ANE OD RD O RESP DDD WD PENNE OPEP O 41 Tabela 20 Rotinas de execu o de Movimentos asse nsiui medias sinais aaa aaa SUR aaa 42 Tabela 21 Fun es adicionais utilizadas pelas rotinas de c lculo e execu o de traject rias 43 Tabela 22 Par metros de retorno da fun o exe ra cs aassagal mornas sasiisiantna enlatado d o qunnsido ensinando 44 Tabela 23 Liga o das sa das de amplifica o perspectiva do robot ao multiplexer 48 Tabela 24 Par metros de entrada sa da da rotina readspecial c serranas 49 Tabela 25 Rotinas de alto n vel para medi
66. t MCC18 bin mplink exe Milton Ruas da Silva N Mec 21824 DETI DEM UA 16 Projecto Human ide da Universidade de Aveiro PhUA Manual do Utilizador 2005 06 d Toolsuite contents MPLAB C18 C compiler mccl8 exe Location C lt C18_DIR gt MCC18 bin mcc18 exe e Toolsuite contents MPLIB librarian mplib exe Location C lt C18_DIR gt MCC1 8ibinimplib exe f Next Seguinte 3 Step 3 Nome e localiza o do projecto a Indique um nome e a localiza o do seu novo projecto b Next Seguinte 4 Step 4 Adi o dos ficheiros de que faz parte o projecto a Seleccione os ficheiros e clique em Add b Next Seguinte 5 Sum rio a Confirme os dados que introduziu b Clique em Finish Concluir Uma janela rectangular surgir no canto superior esquerdo indicando todos os ficheiros de que faz parte o projecto Verifique que nos Linker Scripts est adicionado o ficheiro 18f258 lkr para o PIC18F258 Caso n o esteja clique com o bot o direito neste campo e adicione o respectivo ficheiro em C lt C18_DIR gt MCC18 lkr 18f258 lkr Verifique tamb m que nos seus programas faz a inclus o da header file p18f258 h para manipula o das macros do PIC finclude lt p18f258 h gt Finalmente s falta definir as op o de compila o as op es a bold correspondem s que implicam modifica o as restantes devem coincidir com as indicadas 1 Clique em Project
67. tem ajustar estes pequenos desvios Estas fun es permitem deste modo poupar algum trabalho evitando assim o ajuste da estrutura f sica Apenas quando os desvios come am a ser elevados que conv m passar estrutura para os corrigir Milton Ruas da Silva N Mec 21824 DETI DEM UA 42 Projecto Human ide da Universidade de Aveiro PhUA Manual do Utilizador 2005 06 Ficheiro M Descri o controller m Defini o e activa o dos controladores PID a todas as unidades de controlo controller offm Desactiva o dos controladores PID em todas as unidades de controlo adaptate m pos final adaptate scuid position Considerando que as pernas na postura vertical apresentam todas as suas juntas com a posi o nula esta fun o adapta os ngulos position para que correspondam correctamente aos servomotores da unidade scuid a que v o ser aplicados Com base nas matrizes signal e offset sinal de varia o e desvio respectivamente a posi o final calculada do seguinte modo position pia 7 positionX signal offset Verifique se estas matrizes possuem os valores correctos correct m position final correct scuid position Correc o das posi es position solicitadas para a unidade scuid devido a desvios devido imperfeita liga o dos servos estrutura Pequenos desvios da correia de transmiss o ou do pr prio veio do servomotor pode provocar deslocamentos para uma det
68. tinas que sejam desenvolvidas podem aproveitar este recurso para a execu o de sequ ncias de movimentos utilizando os bits de Motion Finished devolvidos no array state sec o 5 4 para saber quando iniciar cada um dos movimentos Como fun es para a execu o efectiva dos deslocamentos temos os indicados na Tabela 20 Ficheiro M Descri o exe traj m tt position velocity current exe traj H t pos apply Textra Rotina de execu o dos setpoints calculados pelas rotinas da Tabela 18 recyclem recycle H speed correct flag Reciclagem das juntas das pernas reposicionado as na posi o vertical Speed indica a velocidade a que deve ser feita a reciclagem em ciclos de 20 ms e correct flag est relacionada com a correc o das posi es standard de modo a acertar a postura vertical das pernas Tabela 20 Rotinas de execu o de movimentos Outras fun es adicionais utilizadas pelas rotinas da Tabela 19 e da Tabela 20 s o apresentadas na Tabela 21 Embora n o sejam de uso directo pelo utilizador a sua edi o pode revelar se bastante til para a correc o de pequenos desvios que podem verificar se durante a execu o das traject rias Se na execu o de traject rias ou na reciclagem verificar desvios nas posi es desejadas como por exemplo a postura n o vertical no procedimento de reciclagem correct flag deve estar a 1 edite as fun es da Tabela 21 que permi
69. uadores 11 e Pesos de massas diferentes para o teste com diferentes bin rios de carga 12 Se em vez de se utilizar um servo utilizar a estrutura human ide s o precisos pelo menos os membros inferiores as pernas 15 No caso da medi o das for as de reac o adicionalmente aos componentes iniciais necess rio e Plataforma s do s p s com os extens metros colocados 14 no caso do uso das pernas estas j est o incorporadas e Circuito de acondicionamento de sinal dos extens metros 13 Na estrutura de cada p verifique se os extens metros est o presentes e se est o correctamente colados s placas de acr lico A Fig 4 apresenta os meios de conex o entre os v rios elementos apresentados na Fig 3 Para alimenta o utilizou se um cabo comum a todas as unidades Slave 18 que por sua vez um dos slaves neste caso o slave principal se liga fonte de alimenta o atrav s do cabo da imagem 17 Caso se usem baterias este cabo dispensado Para as comunica es entre n s s o usados os cabos RS 232 entre o PC e o Master 19 e o barramento CAN 20 entre todos os n s Milton Ruas da Silva N Mec 21824 DETI DEM UA 9 Projecto Human ide da Universidade de Aveiro PhUA Manual do Utilizador 2005 06 16 Cabo USB PC Cabo de 17 Cabo de Alimenta o do Slave 18 Cabo de alimenta o comum a programa o Slave principal principal todos os Slaves a
70. uzida no conte do scu Pos0 e posF s o vectores linha de tr s elementos e k uma matriz de tr s colunas para os tr s tipos de par metros K Ke e Kp por tr s linhas correspondentes aos tr s servomotores T Dura o do Movimento r Kip servo pos0 posF servo Servo servo k Kx K Ko servo Ka K Kp servos array tempo posi o posT velocidade velT corrente Todos os elementos excep o do tempo vector coluna s o matrizes com tr s colunas correspondentes aos tr s servomotores Tabela 17 Lista de rotinas para amostragem de traject rias de uma unidade de controlo Milton Ruas da Silva N Mec 21824 DETI DEM UA 40 Projecto Human ide da Universidade de Aveiro PhUA Manual do Utilizador 2005 06 Fig 24 Tipos de movimentos das pernas Ficheiro M Descri o flexao m pos apply k t flexao T motion Com base no per odo de deslocamento T e o ngulo m ximo de dobra do tornozelo motion s o calculados os par metros para execu o do movimento de flex o das duas pernas inclinar m pos apply k t inclinar T motion C lculo dos par metros associados ao movimento lateral das pernas Al m do per odo de deslocamento T fornecido o ngulo m ximo de varia o da junta lateral do p motion levantar perna m pos apply k t levantar perna T motion perna Levantamento da perna at um ngulo m ximo do joelho motion da perna indicada na
71. ware PicLoader n o funcione na situa o do uso do programador universal recomenda se a substitui o deste pelo TruTrack Boot Loader dispon vel gratuitamente na internet Milton Ruas da Silva N Mec 21824 DETI DEM UA 22 Projecto Human ide da Universidade de Aveiro PhUA Manual do Utilizador 2005 06 4 Opera es B sicas Ap s ter passado todas as verifica es enunciadas na sec o 2 4 Verifica es Finais e de ter transferido o programa correcto para cada PIC ver fim da sec o 3 1 estamos em condi es de colocar o sistema em funcionamento Todos os procedimentos descritos consideram a utiliza o do software vers o 2 00 desenvolvido no ano 2005 06 4 1 Comunica o a partir do PC Para comunicar com o sistema de placas controladoras ser utilizado o ambiente MatLab conjuntamente com os device drivers cport para comunica o RS 232 As ordens s o enviadas para a unidade Master de acordo com o protocolo enunciado no relat rio de projecto cap tulo 2 esta unidade trata de redireccionar os dados para os slaves caso seja preciso e responde ao PC com os dados pedidos ou uma mensagem de confirma o Instala o do ambiente de comunica es 1 Instale o software MatLab 7 0 1 Este software ser utilizado como o ambiente de comunica o com o sistema 2 No CD de software descomprima a mini toolbox cport 1 37 e copie o direct rio para C lt MATLAB_DIR gt MatLab701 toolbox
Download Pdf Manuals
Related Search
Related Contents
User`s Manual Model EJA Series PROFIBUS PA grupoitc STX 165 User Manual FRONIUS IG 300, FRONIUS IG 400, FRONIUS IG 500 Manual de Usuario – Centros Gestión de Ayudas de Comedor y Yamaha PLG150-DX Owner's Manual Whistler WIC-2409C camera kit Parkside PFSP 100 User's Manual i※発注品の「型式ー材質ーその他の内容」について疑義がある場合は LSI 8344ELP User's Manual Copyright © All rights reserved.
Failed to retrieve file