Trabalho de Graduação – Gabriel Liberalquino

Transcrição

Trabalho de Graduação – Gabriel Liberalquino
Gabriel Liberalquino Soares Lima
Desenvolvimento de robô com controle automático
de velocidade remotamente operado
Recife - PE, Brasil
28/02/2011
Gabriel Liberalquino Soares Lima
Desenvolvimento de robô com controle automático
de velocidade remotamente operado
Trabalho de graduação apresentado para
obtenção do Grau de Bacharel em Engenharia
Elétrica/Eletrônica pela Universidade Federal
de Pernambuco.
Orientador:
Prof. Walter de Britto Vidal Filho, Adjunto II - DEMEC
Engenharia Elétrica/Eletrônica
Universidade Federal de Pernambuco
Recife - PE, Brasil
28/02/2011
1
Resumo
A robótica móvel é geralmente empregada em situações em que repetição seja necessária ou
ambientes perigosos. Esses sistemas, muitas vezes, precisam de um hardware eficiente, efetuar
controle de velocidade e precisão na comunicação para garantir a utilização desta tecnologia. A
pesquisa nesta área possui um grande valor para a disponibilização desta ciência, uma vez que
poderá atuar em vários locais de maneira eficiente. Este trabalho propõe o projeto de hardware
e firmware em que um robô poderá receber os dados wireless e ajustar-se automaticamente para
a velocidade ordenada.
2
Abstract
The mobile robot are often employed in situations where the repetition is required or dangerous places. These systems, many time, need a efficient hardware, efficient communication to
provide the use this technology. The research in this area is very important to the availability of
this science. This work proposes the design of a hardware and firmware in which a robot receives
data wireless and set the speed to the ordered one.
3
Agradecimentos
Muita pessoas contriburam para meu desenvolvimento como pessoa e cidadão. Tive a oportunidade de conhecer algumas delas na academia, onde passei os anos mais dedicados de minha
vida. Colocarei neste espaço palavras de retribuição devido a contribuição que me foi dada por
elas.
Agradeço eternamente aos meus pais, Alexandre Pereira e Carmem Liberalquino, e família
que alimentaram meu lado humano, meu conhecimento e sempre me deram oportunidade de ser
uma melhor pessoa.
Agradeço ao meu irmão, Diego Liberalquino S. Lima, meu tutor em relação a sistemas
embarcados, além de tudo por ser um grande amigo presente em minha vida.
Agradeço a minha namorada Mariana Silva, por todo carinho, amor e compreensão em
momentos difíceis em que passei deste do dia iniciado o relacionamento.
Agradeço aos meus amigos de faculdade por compartilharem momentos bons e ruins. Além
de tudo pelo conhecimento, humildade e companheirismo.
Agradeço fortemente ao meu orientador Walter Britto pela atenção inesgotável, paciência e
sobretudo conhecimento. Acrescentando muito para minha formação profissional e como pessoa.
Agradeço ao professor João Paulo, por mostrar que o excelente professor não está apenas
presente em sala de aula, mas participa da formação dos alunos e procura constantemente a
melhor forma de evoluir o ensino.
4
Sumário
Resumo
p. 1
Abstract
p. 2
Agradecimentos
p. 3
Lista de Figuras
p. 8
1 Introdução
1.1
p. 11
Estrutura do documento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 Sistemas Robóticos Móveis
p. 12
p. 13
2.1
Histórico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 13
2.2
Robótica Móvel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 14
2.2.1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 14
Sistema de Locomoção . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 14
2.3.1
Locomoção por Rodas . . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 15
2.3.2
Locomoção por Esteiras . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 16
2.3.3
Locomoção por Pernas . . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 16
2.3
2.4
Classificação
Atuadores Robóticos
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 17
2.4.1
Motor Elétrico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 18
2.4.2
Motor de Corrente Contínua . . . . . . . . . . . . . . . . . . . . . . . . .
p. 18
2.4.3
Atuadores Solenóides . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 19
2.4.4
Servo Motores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 19
2.4.5
Motor de Passo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 20
5
2.5
2.6
Sensores
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 21
2.5.1
Laser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 21
2.5.2
Infravermelho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 21
2.5.3
Sonar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 22
2.5.4
Chave Mecânica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 23
2.5.5
Encoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 23
Microcontrolador
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 24
2.6.1
Processador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 25
2.6.2
Memória . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 25
2.6.3
Periféricos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 26
3 Referencial Teórico
3.1
3.2
3.3
Sistema de Controle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 28
3.1.1
Controle Malha Aberta . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 28
3.1.2
Controle Malha Fechada . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 29
3.1.3
Controle on-off . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 30
3.1.4
Controle Proporcional (P) . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 30
3.1.5
Controle Proporcional e Integral (PI) . . . . . . . . . . . . . . . . . . . .
p. 30
3.1.6
Controle Proporcional e Derivativo (PD) . . . . . . . . . . . . . . . . . .
p. 31
3.1.7
Controle Proporcional, Integrativo e Derivativo (PID) . . . . . . . . . .
p. 31
Controle de Motores CC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 32
3.2.1
Controle de Velocidade em Malha Aberta . . . . . . . . . . . . . . . . .
p. 32
3.2.2
Controle de Velocidade em Malha Fechada . . . . . . . . . . . . . . . . .
p. 33
Comunicação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 33
3.3.1
Modulação e Demodulação . . . . . . . . . . . . . . . . . . . . . . . . .
p. 33
3.3.2
Comunicação Digital . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 35
4 Projeto Mecânico
4.1
p. 28
Planejamento e Técnicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 37
p. 37
6
4.2
Desenho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 38
4.3
Cálculo de Torque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 39
5 Projeto de Hardware
5.1
5.2
5.3
p. 41
Placa Comunicadora . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 42
5.1.1
Driver MAX232 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 42
5.1.2
PIC 16F877A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 42
5.1.3
Inversor de Tensão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 43
5.1.4
Módulo RF TX 433MHz . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 44
5.1.5
Antena
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 44
Placa Robô . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 45
5.2.1
Ponte de Diodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 45
5.2.2
Reguladores de Tensão . . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 45
5.2.3
Sensores Micro Switch . . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 46
5.2.4
Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 47
5.2.5
Porta Lógica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 48
5.2.6
Módulo RF RX 433MHz . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 48
5.2.7
Antena
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 48
5.2.8
PIC 16F877A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 48
Placa dos Módulos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 50
5.3.1
Ponte H . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 50
5.3.2
Encoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 51
6 Projeto de Firmware
6.1
p. 52
Recursos utilizados do Microcontrolador . . . . . . . . . . . . . . . . . . . . . .
p. 52
6.1.1
p. 53
6.1.2
Obtenção de Ordem . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Obtenção de Velocidade Atual
. . . . . . . . . . . . . . . . . . . . . . .
p. 53
6.1.3
Detecção de Obstáculo . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 55
6.1.4
Controlando a Velocidade
p. 55
. . . . . . . . . . . . . . . . . . . . . . . . .
7
7 Resultados
p. 57
8 Conclusão
p. 61
Referências
p. 62
8
Lista de Figuras
1
Robô de serviço SmartPal (YASKAWA, 2011). . . . . . . . . . . . . . . . . . . .
p. 14
2
Robô de serviço Packbot da iRobot (IROBOT, 2011). . . . . . . . . . . . . . . .
p. 15
3
Robô de duas rodas A.M.P da Sega-Hasbro (AMPBOT, 2011). . . . . . . . . . .
p. 15
4
Robô Spark IV da Nex-Robotics (NEX-ROBOTICS, 2011). . . . . . . . . . . . . .
p. 16
5
Robô de uso militar com esteiras e uma garra (ROBOTICS, 2011). . . . . . . . .
p. 16
6
Robô inseto (BANDAI, 2011). . . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 17
7
Robô Bigdog de uso militar (SCIENCE&TECH, 2011). . . . . . . . . . . . . . . .
p. 17
8
Robô Asimo da Honda, buscando a semelhança com ações humanas (HONDA,
2011). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
p. 18
Ligações de motor: (a) excitação independente, (b) ligação em série. Cada ligação irá conter uma vantagem a depender do projeto (FITZGERALD; KINGSLEY;
KUSKO,
1975).
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 19
10
Princípio da solenóide (FORESTI, 2006). . . . . . . . . . . . . . . . . . . . . . .
p. 20
11
Construção do servo motor didático (FORESTI, 2006). . . . . . . . . . . . . . . .
p. 20
12
Funcionamento de Motores de Passo (FORESTI, 2006). . . . . . . . . . . . . . .
p. 21
13
Sensor Laser (TIMETECH, 2011). . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 22
14
Sensor Infravermelho (IKALOGIC, 2011). . . . . . . . . . . . . . . . . . . . . . .
p. 22
15
Sensor Sonar (MAXBOTIX, 2011). . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 23
16
Sensor Mecânico - Micro Switch (CERNE, 2011). . . . . . . . . . . . . . . . . . .
p. 23
17
Encoder incremental utilizado para leitura óptica (KALIPEDIA, 2011). . . . . . .
p. 24
18
Controle em Malha Aberta (CARVALHO, 2000). . . . . . . . . . . . . . . . . . .
p. 29
19
Controle em Malha Fechada (CARVALHO, 2000). . . . . . . . . . . . . . . . . . .
p. 30
20
Diagrama de blocos dos controladores PID. Para um controlador PD a parte I
= 0; PI a parte D = 0; para um controle P a parte I=D=0 (CARVALHO, 2000).
p. 31
9
21
Motor CC através de um modelo RL (FITZGERALD; KINGSLEY; KUSKO, 1975).
p. 32
22
Corrente do motor com duty cicle 75% e 50% . . . . . . . . . . . . . . . . . . .
p. 33
23
Modulação de um sistema genérico (YOUNG, 2006).
. . . . . . . . . . . . . . .
p. 34
24
Demodulacão de um sistema genérico (YOUNG, 2006). . . . . . . . . . . . . . .
p. 34
25
Sistema de comunicação completo(YOUNG, 2006) . . . . . . . . . . . . . . . . .
p. 34
26
Localização de rodas motorizadas. Em (a) o robô pode rotacionar com menor
espaço utilizado que (b). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 37
27
Desenho do robô quadriciclo que é capaz de suportar todos os requisitos funcionais. p. 38
28
Desenho do robô quadriciclo em vista superior, estão apresentados as medidas
do sistema, ao centro está o espaço para a placa. . . . . . . . . . . . . . . . . .
29
p. 39
Desenho do robô quadriciclo em vista frontal, o bloco central represanta a possível altura da antena do sistema. . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 39
30
Diagrama de força do robô para aceleração descrita. . . . . . . . . . . . . . . .
p. 40
31
Diagrama da Placa Comunicadora. . . . . . . . . . . . . . . . . . . . . . . . . .
p. 42
32
Esquema da ligação do MAX232 com PIC. . . . . . . . . . . . . . . . . . . . . .
p. 43
33
Esquema do PIC da placa emissora. . . . . . . . . . . . . . . . . . . . . . . . .
p. 43
34
Esquema da emissão dos dados via RF. . . . . . . . . . . . . . . . . . . . . . . .
p. 44
35
Esquema do módulo utilizado para comunicação RF (ENTERPRISE, 2011). . . .
p. 44
36
Diagrama da placa do bobô e da placa dos módulos ponte H e encoder. . . . . .
p. 45
37
Esquema da ponte de diodos utilizada. . . . . . . . . . . . . . . . . . . . . . . .
p. 45
38
Esquema dos reguladores de tensão 5V e 6V utilizados no projeto. . . . . . . .
p. 46
39
Esquema dos sensores mecânicos utilizados no projeto. . . . . . . . . . . . . . .
p. 47
40
Esquema da ligação entre os encoders e sensores mecânicos através de um buffer. p. 47
41
Esquema da porta lógica utilizada para chaveamento dos transistores, o sistema
dispõe de um buffer para elevar os níveis. . . . . . . . . . . . . . . . . . . . . .
p. 48
42
Esquema do demodulador RF RX 433MHz. . . . . . . . . . . . . . . . . . . . .
p. 49
43
Esquema do microcontrolador utilizado com cristal, botão de reset e capacitor
44
de desacoplamento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 49
Esquema da ponte H utilizada. . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 50
10
45
Esquema do sensor óptico utilizado.
. . . . . . . . . . . . . . . . . . . . . . . .
p. 51
46
Fluxograma da comunicação serial dentro da interrupção. . . . . . . . . . . . .
p. 53
47
Fluxograma da obtenção de velocidade linear atual. . . . . . . . . . . . . . . . .
p. 54
48
Fluxograma da detecção de obstáculo. . . . . . . . . . . . . . . . . . . . . . . .
p. 55
49
Diagrama de blocos do sistema de malha fechada. P é o controlador proporcional
e D é o controlador derivativo (CARVALHO, 2000).
. . . . . . . . . . . . . . . .
p. 56
50
Fluxograma do controle de velocidade implementado. . . . . . . . . . . . . . . .
p. 56
51
Robô sem sistema eletrônico. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 57
52
Robô com sistema eletrônico instalado. . . . . . . . . . . . . . . . . . . . . . . .
p. 57
53
Placa central do robô (recepção). . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 58
54
Placa transmissora de dados. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
p. 59
11
1
Introdução
A utilização de robôs vem cescendo continuamente com o desenvolvimento das engenharias mecânica, elétrica e computação. Os sistemas robóticos móveis autônomos têm
conquistado espaço tanto nas universidades quanto na indústria, devido a intensa modernização que os sistemas de automação vem sofrendo nos últimos anos (COSTA; GOMES;
BIANCHI,
2003).
Esta inclusão acontece devido ao fato da robótica móvel poder realizar trabalho em
situações adversas em que o homem possui dificuldades de execução, corre risco de vida
ou mesmo em trabalhos repetitivos. No entando, para que as suas potencialidades possam
ser aproveitadas, os robôs móveis, muitas vezes, necessitam de sistemas de sensoriamento
e controle muito mais complexos de que os robôs manipuladores (CARVALHO et al., 2005).
Este trabalho propõe a elaboração de hardware e firmware de um robô móvel com
controle de velocidade e comunicação RF (rádio frequência) através da modulação ASK
(AM digital). Através de um comando do mestre (o PC agirá como um mestre) via protocolo RS-232, um periférico conectado ao PC (personal computer) irá receber a informação
do mestre e codificá-la enviando os dados via rádio para o receptor. No módulo receptor,
há uma antena para captar as ondas enviadas e filtar os caracteres recebidos para obter o
comando enviado pelo PC, sendo este módulo um MODEM (modulador-demodulador).
Com o comando recebido (ordens de velocidade), o hardware irá chavear o motor CC
(corrente contínua) e a partir de uma lógica implementada, os sensores ópticos irão ler
a velocidade aproximada do motor. Com a informação obtida, o microcontrolador irá
comparar a velocidade atual com a velocidade de ordem e assim aumentar ou diminuir o
duty cycle do motor, o objetivo é implementar a ordem do mestre através de realimentação
negativa. O algoritmo utilizado pode ser implementado de diversas maneiras, tendo como
idéia principal a teoria de controle. Sendo esta aplicável em: cadeiras de rodas, carros,
aviões, robôs cirurgicos, entre outros.
12
1.1
Estrutura do documento
O texto será divido em 8 capítulos, incluindo está introdução. A descrição de cada
capítulo está disposta a seguir:
• Capítulo 2 - Revisão de Sistemas Robóticos Móveis: Neste capítulo, será feita uma
revisão sobre os conceitos básicos de robótica e tecnologias estudadas para desenvolvimento do robô.
• Capítulo 3 - Revisão de Material Teórico: Neste capítulo, será feita uma abordagem
do referencial teórico estudado nas disciplinas do curso. Além disso, serão expostas
as bases teóricas possibilitadoras do projeto.
• Capítulo 4 - Elaboração de Projeto Mecânico: A estrutura, planejamento, e cálculos
vetorias serão discutidas neste capítulo.
• Capítulo 5 - Elaboração de Projeto de Hardware: O hardware, alguns aspectos do
microcontrolador e comunicação serão discutidos nesse capítulo.
• Capítulo 6 - Elaboração de Projeto de Firmware: A implementação da teoria de
controle incluíndo lógica de leitura e ativação de motores também serão expostos.
• Capítulo 7 - Resultados: Aqui serão expostos os resultados do projeto e as condições
de operação com todos os sistemas integrados.
• Capítulo 8 - Conclusão: Aqui serão realizadas discussões sobre resultados obtidos e
sobre formas de extender para outras aplicações.
13
2
Sistemas Robóticos Móveis
Antes de apresentar o projeto, será feita uma breve abordagem sobre alguns conceitos fundamentais da robótica. Inicialmente, serão definidos e discutido algumas características sobre robótica móvel, seguida de informações sobre locomoção e, finalmente,
tecnologias de sistemas eletrônicos (OLIVEIRA; FONTANA, 2009).
2.1
Histórico
O termo robô se origina da palavra Tcheca “robota”, que significa “trabalho compulsório” Ele foi usado pelo primeira vez em 1921 na peça teatral R.U.R (Rossum’s Universal
Robots) pelo novelista e escritor Tcheco Karal Capek . O termo Robótica foi popularizado
pelo escritor de Ficção Científica Issac Asimov, na sua ficção “I, Robot” (Eu, Robô), de
1950. Neste Livro, Asimov criou leis, que segundo ele, regeriam os robôs do futuro (ZUNT,
2011). A robótica atual só tornou-se possível pela integração de vários transistores em
uma única pastilha. A partir desta tecnologia, foi possível criar robôs com não só um
sistema central de processamento, mas diversos periféricos como memória, conversores
analógico-digital, barramentos de comunicação, entre outros (FORESTI, 2006).
A partir da década de 80 a robótica vem avançado em grande velocidade e dentre inúmeros projetos pode-se citar: ASIMO iniciado em 1986 pela Honda Motor Co. (HONDA,
2011) cujo nome é derivado de “Advanced Step in Innovative Mobility”, Nao (ALDEBARAN,
2011) e o Robonauta criado pela Nasa para auxiliar astronautas da Estação Espacial Internacional na execução de atividades extraveículares.
Com o projeto de exploração de marte (NASA, 2003) a NASA construiu 2 robôs
geólogos, Opportunity e Spirit, que pousaram em marte em 8 e 25 de julho de 2004
respectivamente. Eles enviam imagens, analisam rochas e crateras e procuram sinais de
existência de água no planeta vermelho.
14
2.2
Robótica Móvel
Neste trabalho serão abordados os conceitos principais sobre o sistemas móveis; incluindo atuadores, sensores, tipos de locomoção e sistemas eletrônicos.
2.2.1
Classificação
Atualmente no mercado de robôs, existem basicamente três tipos de robôs, dividindose em: industriais, de serviço, e de campo (HEINEN, 1999).
• Industriais:
São geralmente robôs que executam tarefas pesadas, como carregar
grande quantidade de materiais, atividades que envolvem risco como cortes de metais
com plasma ou trabalho repetitivo. Normalmente são controlados por um humano
e possuem sistema de navegação simples para evitar erros.
• Serviço: A robótica de serviço é uma área extremamente promissora, pois executam tarefas de serviço de todos os tipos de aplicação (transporte, manipulação,
exploração, entre outros) com um mínimo de conhecimento prévio (ver figura 1).
Figura 1: Robô de serviço SmartPal (YASKAWA, 2011).
• Campo: A atividade de campo, na robótica, é empregada em situações, geralmente,
perigosas. Dentre as áreas de perigo, pode-se citar: Exploração espacial, mineração,
limpeza de acidentes nucleares, exploração de vulcões, monitoração de dutos de
petróleo, e inúmeras outras (ver figura 2).
2.3
Sistema de Locomoção
A partir dos os conceitos estudados acima, pode-se discutir como os robôs podem se
locomover e quais as tecnologias possibilitadoras do processo.
15
Figura 2: Robô de serviço Packbot da iRobot (IROBOT, 2011).
A forma de locomoção de robôs pode varia significativamente de acordo com a complexidade de controle, tipo de terreno, carga a ser carregada/levantada, distâncias, gastos
energéticos, entre outros. As principais formas de locomoção serão abordadas abaixo.
2.3.1
Locomoção por Rodas
O sistema de locomoção de rodas apresenta algumas vantagens tanto na fabricação
tanto pela facilidade de uso. Alguns robôs possuem apenas duas rodas, mas para manterse em equilíbrio é necessário haver um sistema de controle (ver figura 3). Robôs com
rodas, em geral, possuem mecânica menos complexa.
Figura 3: Robô de duas rodas A.M.P da Sega-Hasbro (AMPBOT, 2011).
A forma de controle pode ser bastante simples, apenas ligando os motores no mesmo
sentido, o robô desloca-se retilíneo. Em sentidos opostos, poderá rotacionar, a depender
do robô, em torno do centro de massa. Alguns robôs utilizam várias rodas a fim de obter
maior estabilidade ou controle. Com três rodas, pode-se ter um robô triciclo (ver figura
4); com mais rodas, pode-se ter várias formas de locomoção .
16
Figura 4: Robô Spark IV da Nex-Robotics (NEX-ROBOTICS, 2011).
2.3.2
Locomoção por Esteiras
O sistema é basicamente composto pela montagem de duas esteiras em cada extremidade. Estais esteiras são apoiadas por rodas e a localização dessas definem sua forma,
altura dos obstáculos que o robô será capaz de transpor.
Sistemas com esteiras proporcionam boa tração em terrenos acidentados, além disso
são utilizados para carregar peso, pois o peso é distribuído (ver figura 5).
Figura 5: Robô de uso militar com esteiras e uma garra (ROBOTICS, 2011).
2.3.3
Locomoção por Pernas
Por observação de criaturas biológicas, iniciou-se a aproximação de robôs ao seres
vivos, por isso formas de locomoção por pernas se tornaram tão popular. O sistema
de controle por pernas é bastante complexo, exige muitos cálculos para determinação
de posição de atuadores e apenas apresentam resultados melhores que os sistemas de
locomoção em situações específicas como terrenos rugosos, com fios, altos obstáculos.
Porém o processamento é muito maior para manter-se em equilíbrio e em movimento.
Os sistema se torna mais complexo o quanto menos pernas possui, sendo o robô bípede
um grande desafio, principalmente ao descer escadas e outras situação que exigem maior
equilíbrio.
Muitos robôs de patas são inspirados em insetos, ver figura 6.
17
Figura 6: Robô inseto (BANDAI, 2011).
Um exemplo de robô quadrupe feito para inúmeras situações e carregar peso é mostrado
na figura 7.
Figura 7: Robô Bigdog de uso militar (SCIENCE&TECH, 2011).
A exemplo de robô bípede, pode-se citar o Asimo da Honda. Um projeto de muitos
anos, agora com grande inteligencia artificial e locomoção se assemelhando cada vez mais
aos seres humanos, ver figura 8.
2.4
Atuadores Robóticos
Nesta secção serão descritos os componentes que promovem a locomoção, manipulação, transporte e interação de um robô. Todo o processo se dá pelo conhecimento
de transformar energia armazenada em movimento, cada tecnologia possui vantagens e
desvantagens, porém com maior utilização está a conversão eletromecânica de energia.
18
Figura 8: Robô Asimo da Honda, buscando a semelhança com ações humanas (HONDA, 2011).
2.4.1
Motor Elétrico
Grande parte dos atuadores robóticos são baseados no princípio de conversão de energia eletromagnética, passando pelo magnético. A lei da indução foi descoberta por
Michael Faraday por volta de 1831, em que o mesmo afirmava “A variação temporal
de campo magnético gera campo elétrico”, sendo o caminho contrário também verdade.
Como a variação de campo elétrico gera um campo magnético, se tivermos alguma fonte
gerando sinal alternado próximo a um material ferromagnético poderemos observar algum
deslocamento (FITZGERALD; KINGSLEY; KUSKO, 1975).
Pode-se dividir os motores elétricos em duas construções básicas (apesar de existirem
os servo motores e motores de passo): motores de corrente alternada (CA) e motores de
corrente contínua (CC). O primeiro destes possui vantagem de ser simples de construir,
embora os sistemas robóticos sejam alimentados por baterias onde a tensão é contínua.
Por este motivo, a difusão dos motores CC foi maior, além disso estes motores permitem
(MOTT, 1999): controle de velocidade com menos complexidade, sentido de rotação invertido com inversão de polaridade, torque controlado por variação de corrente no motor,
entre outros.
2.4.2
Motor de Corrente Contínua
O motor de corrente contínua é composto por um estator e um rotor onde o estator é
a parte estática e o rotor, a parte livre, roda em torno de um eixo. As principais ligações
de motores podem variar de acordo com a necessidade do projeto, são elas: excitação
independente, série, derivação e composta (ver figura 9).
A tensão terminal de um motor de excitação independente diminui levemente com o
19
aumento na corrente de carga, principalmente devido à queda de tensão na resistência de
armadura. A corrente de campo de um gerador de excitação série é a própria corrente de
carga, de modo que a tensão também varie. A tensão de máquinas CC em derivação cai
um pouco com carga, mas não tanto que se torne um incoveniente. A ligação composta
é normalmente ligada de modo que a saída é aproximadamente constante (FITZGERALD;
KINGSLEY; KUSKO,
1975).
Utilizando um circuito chamado de Ponte H, pode-se inverter a polaridade do motor
através de 4 chaves, alterando o sentido de deslocamento. Todo o controle de chaves pode
ser eletrônico, invertendo o sentido do motor de acordo com um comando digital (Para
alimentação unipolar).
Estator
Rotor
(a)
(b)
Figura 9: Ligações de motor: (a) excitação independente, (b) ligação em série. Cada ligação irá
conter uma vantagem a depender do projeto (FITZGERALD; KINGSLEY; KUSKO, 1975).
2.4.3
Atuadores Solenóides
Solenóides são dispositivos que geram deslocamentos lineares em peças mecânicas . O
princípio de funcionamento (figura 10) é o mesmo do motor elétrico.
Quando uma corrente elétrica é aplicada, é produzido um campo magnético entre
os fios e ligando da maneira certa o campo será multiplicado pelo número de espiras.
Esta força irá atrair o imã e quando não houver força magnética, uma mola irá agir para
retornar o imã para a posição inicial.
2.4.4
Servo Motores
Servo Motores são motores que possuem controle em malha fechada e um microcontrolador que recebe sinal de feedback, (ver figura 11). O servo motor industrial possui,
geralmente, um encoder para retorno de parâmetros enquanto nos utilizados para hobby
são utilizados potenciômetros (PANASONIC, 2011).
20
Figura 10: Princípio da solenóide (FORESTI, 2006).
O servo motor de posição (motor cc) utilizado em robótica didática possui 3 pinos
(dois de alimentação e um de controle). O pino de controle irá receber um PWM (Pulse
Width Modulation) onde o duty cicly irá informar a posição, então internamente o servo
motor irá verificar (através de um potenciômetro) a posição atual do motor e chavear o
motor para movê-lo para a posição desejada.
Estes motores são largamente utilizados em robótica e aeromodelismo por possuirem
um sistema preciso, fácil e alto torque por peso. Os principais fabricantes são Futaba
(FUTABA, 2011) e Hobbico (HOBBICO, 2011).
Figura 11: Construção do servo motor didático (FORESTI, 2006).
2.4.5
Motor de Passo
Motores de passo são baseados nos mesmos princípios dos motores anteriores. O
estator é magnetizado com a corrente nos fios de polarização e o rotor (imã permanente)
se alinha de acordo com o campo aplicado (LEITE et al., 2011).
Os motores mais comuns possuem 200 passos por revolução e para obter maior resolução, pode-se energizar duas bobinas por cada passo, obtendo maior torque. Todo o
21
controle de torque e velocidade é realizado digitalmente. A velocidade em que os pulsos
são enviados determinará a velocidade de giro do motor (LEITE et al., 2011).
A forma mais comum de controle está apresentado na figura 12.
Figura 12: Funcionamento de Motores de Passo (FORESTI, 2006).
2.5
Sensores
Nesta secção serão abordados os sistemas eletrônicos que permitem troca de informações entre o ambiente e o robô. Inicialmente serão abordados alguns tipos de sensores
e microcontroladores (circuitos integrados formadores da inteligência do robô).
Sensores de distância são a forma do robô adquirir informações sobre o ambiente
presente. Com a informações dos sensores o robô pode desviar obstáculos, identificar
objetos, entre outros. A idéia dos sensores é baseada nos transdutores que convertem
grandezas, por exemplo, luz em tensão (HEINEN, 1999).
2.5.1
Laser
Existem vários tipos de sensores que utilizam o laser para detectar obstáculos, em geral
os sensores a laser tem maior custo, porém são bastante precisos. A grande vantagem é
a confiabilidade, contudo existem algumas situações que impossibilitam a leitura, como
ambiente com poeira, objetos pretos, entre outros.
No sensor laser, um feixe é emitido e um fotosensor capta a sua reflexão. Entre as
aplições, pode-se citar: princípios de medição por triangulação, princípio de medição por
duração de trajetória. Uma desvantagem é que os circuitos precisam ser bastante precisos
(ver figura 13) (ACUITY, 2011).
2.5.2
Infravermelho
Este tipo de sensor não necessita de contato físico com o ambiente, pode ser usado
para evitar obstáculos ou captar informãções sobre o ambiente. O sistema é composto
22
Figura 13: Sensor Laser (TIMETECH, 2011).
por um LED emissor e um fotodetector infravermelho que será saturado quando existir
objeto na vizinhança (ver figura 14) (IKALOGIC, 2011).
Este sistema sofre menos interferência da luz do ambiente, mas ainda sofre com a luz
solar, visto que esta emite radiação em uma grande faixa de frequências.
Figura 14: Sensor Infravermelho (IKALOGIC, 2011).
2.5.3
Sonar
Os sonares possuem propriedades importantes na robótica móvel. Este tipo de sensor é
relativamente barato, confiável, fisicamente robusto e pode perceber uma ampla variedade
de objetos. A forma de recebimento das informações é analógica (em níveis), podendo
construir uma lógica para recebimento capaz de elaborar inúmeras aplicações (ver figura
15.
Inicialmente o emissor envia pulsos acústicos em uma frequência, geralmente, inaudível, e de acordo com o tempo de recepção (ou eco ) poderá ser determinado a distância
entre os pontos (MAXBOTIX, 2011).
23
Figura 15: Sensor Sonar (MAXBOTIX, 2011).
2.5.4
Chave Mecânica
Sensores mecânicos ou chaves de contato não são usadas apenas para ligar aparelhos
eletrônicos, ou acender a luz. Os sistemas robóticos utilizam este dispositivo de forma
a receber importante informações sobre o ambiente, por exemplo, um robô bípede pode
verificar que o peso está na perna direita ou esquerda ou um robô móvel pode detectar a
colisão. Estes mecanismo são baratos e, em geral, possuem uma lógica simples (digital),
embora possa gerar ruídos (ver figura 16).
Figura 16: Sensor Mecânico - Micro Switch (CERNE, 2011).
2.5.5
Encoder
Para medir o movimento de partes móveis, pode-se utilizar um encoder, um disco que
permite através de lógica binária verificar a velocidade, distância, aceleração entre outros.
Os encoder podem ser mecânicos ou ópticos e podem variar muito de resolução de acordo
com a necessidade.
Existem dois tipos de encoders: os relativos (incremental) e absolutos. Os absolutos
produzem um código para cada posição do eixo enquanto os relativos produzem código
relativo a velocidade e/ou sentido de rotação. A instalação pode ser feita acoplando nas
24
rodas de forma que o motor gira na mesma velocidade do disco de medição (ALCIATORE;
HISTAND,
1999), ver figura 17.
Figura 17: Encoder incremental utilizado para leitura óptica (KALIPEDIA, 2011).
Conhecendo o raio das rodas, o tempo entre a detecção e de acordo com a resolução
do encoder pode-se obter um valor tão preciso quanto se queira em relação velocidade
linear. Este tipo de trabalho é conhecido como odometria, conforme o trabalho de José
Farlei Heinen (HEINEN, 2002).
Uma das grandes desvantagens das informações odométricas obtidas através de encoders de roda, é que são suscetíveis a erros, estes erros podem ser divididos em dois tipos:
sistemáticos e não-sistemáticos. As principais causas de erros sistemáticos são:
• Diferentes diâmetros das rodas.
• Diâmetro da roda difere da especificação.
• Desalinhamento das rodas.
• Resolução do encoder limitada.
E dos erros não sistemáticos:
• Derrapagem das rodas quando o robô locomove em um piso liso.
• Intervenções externas (humanos).
2.6
Microcontrolador
Sistemas embarcados são sistemas micro-processados capazes de realizar uma ou mais
tarefas específicas, com seus recursos computacionais como memória e poder de processamento projetados restritamente para esse propósito especial (SISTEMAS, 2011).
25
Esta tecnologia só se tornou possível, por causa da integração de circuitos, ou seja,
miniaturarização do transistor. Estes circuitos eletrônicos são capazes de prover as mais
diversas tarefas em um único dispositivo que possui arquitetura semelhante ao de um
computador usual.
Estes sistemas são preferidos devido ao baixo consumo de energia, área de memória
(geralmente pequena em comparação aos computadores pessoais), tipo de arquitetura
e algoritmos. Também é possível implementar sistemas operacionais de tempo real a
exemplo de aviões, carros, entre outros (LIMA, 2010).
Para programar um dispositivo, o fabricante dispõe de um software que pode ser
escrito em alguma linguagem operacional e a partir de um hardware poderá transferir para
o microcontrolador (ou microprocessador) o código de programa. Com isso, a memória
do processador irá fornecer as linhas de comando a serem executadas pelo sistema, alguns
destes possuem capacidade de aprendizado e poderão incrementar a sua própria memória
(HEINEN, 1999).
A comunicação entre microcontroladores poderá ser feita através de algum protocolo
de comunicação, também sendo a possível a comunicação com algum computador ou
dispositivo (LIMA, 2010).
A escolha do microcontrolador depende das característica de operação: flexibilidade,
temperatura, tempo de operação, corrente de saída, memória, processamento, módulos
para cálculo, entre inúmeras outras características (FORESTI, 2006).
Os principais módulos do sistemas embarcados são: processadores, memórias, blocos
dedicados a comunicação, periféricos (FORESTI, 2006).
2.6.1
Processador
O processador é responsável pela interpretação e execução das instruções do programa
e é composto pela Unidade de Controle, o sistema que gerencia as atividades do sistema
e manipula os dados, e a Unidade Lógia e Aritmérica, reponsável por executar operações
lógica e aritmética nos dados (FORESTI, 2006).
2.6.2
Memória
Existem vários tipos de memória, e estas variam com algumas características principais: volátil (apaga quando desliga) ou não volátil , tamanho e tempo de acesso (FORESTI,
2006).
26
A memória RAM (Read Only Memory) é volátil, possui acesso de alta velocidade para
leitura e gravação, usualmente é pequena. No caso da ROM (Read Only Memory) é não
volátil e gravada no processo de fabricação.
A memória PROM (Programable ROM) pode ser programada uma única vez, e demanda um dispositivo externo específico para gravação. A memória EPROM (Erasable
PROM) possui as mesmas propriedade da anterior, porém é apagável exposto à luz ultravioleta.
A memória EEPROM é semelhante a memória EPROM, porém é apagada por sinais
elétricos, removendo o incômodo de expor a luz ultravioleta.
2.6.3
Periféricos
Naturalmente, alguns módulos pré-selecionados existem no microcontolador, isto torna
bastante prático para o programador, pois evita a repetir código em vários projetos,
diminui a chance de conflitos internos e em conjunto com memória e processador determinam potencialidade do microcontrolador.
Alguns módulos usualmente contidos são (FORESTI, 2006): interrupções, temporizadores, portas de entrada e saída, canais seriais, conversor analógico digital, conversor
digital analógico, real time clock.
• Interrupções: As interrupções são devios de programa que podem ser executados a
qualquer hora e são causadas por eventos específicos. Existem dois tipos: a interna,
trata dos eventos do microcontrolador ou firmware, e a externa, trata de eventos
externos como recepção de uma palavra serial ou tratar mudanças de estado em
pinos.
• Temporizadores: São contadores internos capazes de causar uma interrupção no
sistema. Podem ser incrementados internamente ou externamente.
• Portas de Entrada e Saída: São portas digitais capazes de enviar e receber
informação, podem ser de entrada, saída ou entrada/saída simultaneamente.
• Canais Seriais: São módulos, normalmente, implementados em pinos específicos
em que os dados trafegam respeitando um protocolo (RS-232, RS-485, SPI, I2C,
USB, CAN, ethernet, entre outros)
• Conversores Analógico Digitais: São conversores internos que transformam o
sinal analógico em níveis digitais, por exemplo, 8 bits ou 10 bits. A informação
poderá ser obtida em firmware através de uma chamada do registrador.
27
• Real Time Clock: Os relógios de tempo real possuem osciladores próprios, com
isso garantem a passagem do tempo exata.
• Watchdog: É um dispositivo de reset do sistema automático utilizado para situações de falha do processador, o watchdog é habilitado a partir de registradores.
28
3
Referencial Teórico
Na secção anterior, foram discutidas as tecnologias possibilatadoras de construção do
robô, do sistema de locomoção, sensoriamento e o microcontrolador (A “mente” do robô).
Neste Capítulo, será discutido o referencial teórico que permitiu o desenvolvimento do
trabalho, expondo a teoria de controle automático, motores CC e comunicação.
3.1
Sistema de Controle
Em um dia de vida, existem inúmeros “objetivos” que devem ser cumpridos. Por
exemplo, em alguns lugares é necessário que haja controle de temperatura e umidade.
Em transportes, é necessário controlar as cargas com precisão e segurança. O sistema
de controle consiste em obter melhor resultado aliado com estratégia para cumprir os
“objetivos” de situações específicas. Esta ciência vem assumindo valores mais importantes
cada dia no desenvolvimento e avanço de civilizações modernas, em vários setores como
residências, indústrias, tecnologia espacial. Até o controle de aspectos biológicos, sociais
e econômicos podem ser modelados como um sistema de controle (CARVALHO, 2000).
3.1.1
Controle Malha Aberta
Existem dois tipos de controle: malha fechada e malha aberta. Este último controle
consiste em enviar alguma ordem e não monitorar como está sendo feito, um exemplo
é o aquecimento de uma sala com uma certa temperatura antes do ligamento de um
ar-condicionado, com o ajuste de um potênciometro para temperatura este sistema irá
estabilizar em uma temperatura desconhecida quando o fornecimento de calor igualar as
perdas, por exemplo através nas janelas e paredes. Além disso, haverá inúmeras formas
de desviar a temperatura da sala como: mudança de temperatura no exterior, mudanças
de velocidade do vento, abrir e fechar de portas, entre outros.
Neste exemplo (figura 18), não existe nenhuma informação de retorno, isto consiste
em um controle aberto, onde o usuário teria que memorizar o ajuste de temperatura e
29
todos os eventos externos ocorrerem conforme esperado. Este tipo de controle apresenta
sérias desvantagens (CARVALHO, 2000):
• Mudança de local de operação iria inviabilizar o controle anterior.
• Cada máquina teria um processo diferente de controle.
• Mudanças no decorrer do dia iriam inviabilizar o controle anterior.
Ou seja, O sistema não possui nenhuma tolerância a falhas, porém todos os sistemas
estão propícios a mudanças. Com isso, pode-se concluir que o sistema de controle aberto
só deve ser utilizado em situações bastante específicas ou quando não há interesse em
precisão.
Sinal de comando
Unidade
de
Controle
Sinal controlado
Figura 18: Controle em Malha Aberta (CARVALHO, 2000).
3.1.2
Controle Malha Fechada
O controle em malha fechada consiste em realizar o feedback de parâmetros (ver figura
19), podendo tornar o sistema tolerante a falhas. Voltando ao exemplo da sala com arcondicionado, para tornar um sistema fechado teria que se adicionar um termostato, com
isso a temperatura poderia ser mantida em um valor especificado mesmo com as perturbações do sistema. Feito isso, para manter na temperatura desejada basta programar o
ar-condicionado e ele se auto ajustará de acordo com a situação (aumentando ou diminuindo a temperatura) (CARVALHO, 2000).
As vantagens desse controle são (CARVALHO, 2000):
• Tolerância a falhas.
• Tolerância a ruídos.
• Tolerância a modificação de parâmetros.
• Tolerância a modificação de componentes utilizados.
30
Sinal de comando
Sinal de erro
Sinal controlado
Unidade
de
Controle
Transdutor
feedback
Figura 19: Controle em Malha Fechada (CARVALHO, 2000).
Porém a desvantagem desse controle é a instabilidade e o preço, caso o sistema não
tenha capacidade de ajustar-se ao valor desejado ou o ganho da unidade de controle seja
excessivo (para seguir o exemplo, um compressor bastante sensível). Mesmo assim, podem
ser implementadas formas de evitar este tipo de falha como limite de iterações, controle
de ganho ou adicionar um controlador automático (CARVALHO, 2000).
3.1.3
Controle on-off
Um controlador on-off é a solução mais barata de controle realimentado; a sua aplicabilidade é limitada pela precisão desejada, isto é, o desvio máximo permitido para a
variável controlada e pela velocidade de variação do sistema. Porém, produz apenas valores extremos para a variável manipulada, com resultado temos uma oscilação quando
um destes controladores é inserido numa malha de retroação (CARVALHO, 2000).
3.1.4
Controle Proporcional (P)
O controle proporcional multiplica o sinal de erro por uma contante K ou Kp e envia o
sinal para a unidade de controle. Esta implementação é bastante simples computacionalmente por efetivar apenas uma multiplicação, contudo gera off-set (CARVALHO, 2000).
Gp (s) = Kp
3.1.5
(3.1)
Controle Proporcional e Integral (PI)
Este controlador elimina os erros estacionários ( acrescentando um zero na origem )
com entradas de referências constantes, qualquer que seja a instalação sob controle, desde
31
que o sistema com retroação seja estável. Entretanto, o sistema demora mais tempo
para assentar. A combinação proporcional e integral é vantajosa porque reduz os efeitos
desestabilizadores do modo puramente integral (CARVALHO, 2000) .
Gpi (s) = Kp +
3.1.6
KI
s
(3.2)
Controle Proporcional e Derivativo (PD)
Este controlador é proporcional à taxa de variação do erro, responde a regimes transientes, ou seja, é bastante sensível. O controle proporcional e derivativo tem como principais características, melhorar o tempo de subida e o tempo de assentamento, permitir
maior uso de Kp , acentuar o ruído de alta frequência. A equação que descreve o controle
PD no domínio da frequência é (CARVALHO, 2000):
Gpd (s) = Kp + Kd · s
3.1.7
(3.3)
Controle Proporcional, Integrativo e Derivativo (PID)
Une as características dos controles e é o de melhor resposta, embora mais difícil
implementação e complexidade computacional.
Gpid (s) = Kp +
KI
+ Kd · s
s
(3.4)
P
Sinal de comando
Sinal de erro
I
+
Unidade
de
Controle
Sinal controlado
D
feedback
Transdutor
Figura 20: Diagrama de blocos dos controladores PID. Para um controlador PD a parte I = 0;
PI a parte D = 0; para um controle P a parte I=D=0 (CARVALHO, 2000).
32
3.2
Controle de Motores CC
Os motores de corrente contínua permitem controle das duas formas e seguem a
mesma discussão do controle de malha aberta e malha fechada. Seguem algumas fórmulas que contribuem com a análise dos motores CC em seguida um modelo RL para
análise (FITZGERALD; KINGSLEY; KUSKO, 1975) (ver figura 21).
dIa (t)
+ Ra Ia (t) + E(t)
dt
T (t) = Kφ Ia (t)
V (t) = La
(3.5)
(3.6)
E(t) = Kφ ω(t)
(3.7)
A tensão E(t) está sendo entregue ao rotor e a corrente Ia é a corrente do rotor.
Inicialmente analisando as fórmulas, caso o motor esteja parado e ligado, o sistema chegará
a corrente máxima (Torque máximo). Caso a velocidade esteja no máximo, a corrente
será a mínima.
Outra análise a ser feita é em relação ao indutor, que possui a característica de impedir
variação de corrente. Como o microcontrolador apenas pode enviar o sinal lógico 0 e 1,
enviando uma onda quadrada a corrente permanece em um valor fixo a depender do duty
cicle, a partir de uma frequência que varia de motor para motor. Sendo assim o controle
da velocidade e corrente podem ser realizados apenas com um PWM.
La
Ra
+
Ia
V (t)
+
E(t)
-
Figura 21: Motor CC através de um modelo RL (FITZGERALD; KINGSLEY; KUSKO, 1975).
3.2.1
Controle de Velocidade em Malha Aberta
O controle em malha aberta consiste memorizar a velocidade do movimento de acordo
com um PWM específico. Fazendo isso, na condição em que foram feitos os testes será
33
75%
50%
V(t)
V(t)
Ia (t)
Ia (t)
Figura 22: Corrente do motor com duty cicle 75% e 50% .
possível obter-se resultados interessantes, porém será sucetível a inúmeras falhas e mudanças.
3.2.2
Controle de Velocidade em Malha Fechada
Para realizar o controle de malha fechada, utiliza-se algum sensor para feedback. Com
isso o sistema poderá receber alguma informação referente a velocidade e comparar com
a velocidade desejada, aumentando o duty cicle do motor ou diminuindo. Este sistema
elimina várias falhas e imprecisões. Se forem utilizados motores diferentes, poderá se
implementar um controle e ambos operarem da mesma forma, além de todas as outras
vantagem de um sistema de malha fechada.
3.3
Comunicação
Hoje os sistemas eletrônicos de comunicação são encontrados em qualquer lugar onde
se queira, toda informação enviada de um local (Fonte) para outro (Destino) é um sistema
de comunicação. O telefone, o rádio, a televisão e a transmissão de dados se tornaram
parte de nossa vida diária. Estes circuitos a longas distâncias varrem o globo terrestre,
conduzindo textos, vozes e imagens. Os sistemas de radar e telemetria assumem papéis
vitais na navegação, defesa ou pesquisa cientificas. Os exemplos são muitos e a lista é
interminável. O potencial de aplicações é limitado apenas pelas necessidades do homem,
suas aspirações e imaginações (TENóRIO, ).
3.3.1
Modulação e Demodulação
O processo de transferência de sinais de informação para uma portadora de alta frequência é chamado do modulação, o sentido inverso é chamado demodulação (YOUNG,
2006).
Modulando o sinal de entrada, torna-se possível construir antenas, transportar dados
34
Sinal Modulado
Sinal Portador
Modulador
Sinal Modulador
Figura 23: Modulação de um sistema genérico (YOUNG, 2006).
com maior segurança e qualidade. Um sinal portador de alta frequência pode ser modulado
em três parâmetros: amplitude (AM), fase (PM), frequência(FM).
Sinal modulado
Sinal demodulado
Demodulador
Figura 24: Demodulacão de um sistema genérico (YOUNG, 2006).
• Amplitude Modulada: Um sinal portador pode ser descrito como ec (t) = Ec cos(2πfc t).
Onde Ec é o pico de onda contínua e fc é a frequência da portadora em Hertz. Modulando o sinal em (t) = Em cos(2πfm t). temos:
e(t) = (Ec + Em cos2πfm t)cos2πfc t
(3.8)
Este é um sinal AM modulado por uma senóide. Para um sinal de informação
arbitrária m(t), o sinal AM é descrito como (YOUNG, 2006):
e(t) = (Ec + m(t))cos2πfc t
(3.9)
Para recuperar a informação enviada, é necessário demodular o sinal. A demodulação
pode ser efetuada aplicando um detector ou retificador de pico de amplitude. As
maiores vantagens da modulação AM são o preço dos circuitos e o alcance atingido.
Fonte
Emissor
Meio ou
Canal
Receptor
Destino
Ruido
Figura 25: Sistema de comunicação completo(YOUNG, 2006)
• Frequência e fase Modulada: Um sinal com frequência modulada é qualquer
sinal periódico cuja frequência instantânea f (t) seja desviada de um valor médio
fc por um sinal de informação m(t). A máxima quantidade na qual a frequência
35
instantânea é desviada da frequência da portadora fc é chamada pico de desvio,
∆fc (YOUNG, 2006). Estas modulações são mais utilizadas contra ruídos do que
modulação AM, porém os circuitos são mais complexos.
O sinal FM modulado por um cosseno é escrito como:
s(t) = Acos(ω(t)t + φ)
(3.10)
Onde ω(t) é a frequência angular, φ é a fase do sinal modulado. Se a fase for variada
de acordo com o sinal de informação o sistema será PM; se a frequência angular for
variada de acordo com o sinal de informação será FM.
A demodulação pode ser realizada por um PLL, (phase-locked loop) sendo este um
dos circuitos mais utilizados em telecomunicações. O PLL consiste de um comparador de fase e um VCO ( oscilador controlado a tensão ) realimentado, com o sinal
de entrada na frequência de FI, na saída irá obter-se o sinal demodulado caso os
parâmetros estejam corretamente determinados.
3.3.2
Comunicação Digital
Nesta subsecção serão introduzidos alguns conceitos utilizados em comunicação digital
como codificação, taxa de transferência, detecção e correção de erros (YOUNG, 2006).
• Codificação: Consiste em atribuir nomes a cada objeto ou palavra usando-se uma
configuração específica de símbolos desse alfabeto. Cada bit corresponde a duas
novas possibilidades de palavra, portanto 4 bits podem representar 24 = 16 palavras
(YOUNG, 2006).
Nnomes ≤ 2Nbits
(3.11)
Onde Nnomes representa a quantidade de nomes e Nbits é a quantidade de bits.
• Taxa de Transferência: O bit foi definido como a unidade básica de informação
em um sistema binário principal. A taxa de transferência é medida de em bits por
segundo. A taxa de sinalização ou baud mede a quantidade de símbolos por segundos
(YOUNG, 2006).
• Detecção e Correção de Erros: Para correção ou detecção de erros é necessário
que o receptor seja programado para tal operação. Para possibilitar o processo é
utilizado uma palavra ou caractere de paridade. A paridade é baseada na informação
36
contida na palavra e aumenta o tamanho da palavra, por isso deve ser utilizada com
cautela para não haver perda de eficiência. Quando o receptor detecta a palavra,
iniciará um processo de verificação da relação do bit de paridade com a informação
contida. Assim, se houver alguma diferença, a palavra pode ser descartada ou corrigida (YOUNG, 2006).
37
4
Projeto Mecânico
Neste capítulo serão discutidos detalhes do projeto mecânico do robô. Na primeira
secção serão expostas as decisões quanto a geometria do robô, em seguida será exposto
o desenho proposto. No final do capítulo, será mostrado o cálculo de torque baseado em
vetores.
4.1
Planejamento e Técnicas
Sabendo das vantagens de cada forma de locomoção, foi-se analisado o custo e a
dificuldade em cada situação de projeto. No caso de um robô de pernas, iria haver uma
grande complexidade mecânica e os resultados iriam ter maior probabilidade de falhas
devido a grande complexidade computacional de manter equilíbrio e comando (FORESTI,
2006). Locomoção de esteiras poderia ser utilizada, porém o projeto mecânico iria ser de
maior complexidade e o custo iria ser maior. Foi decidido utilizar duas rodas motorizadas
por já existir o motor CC e rodas presentes no laboratório e aliando menor complexidade
mecânica,
Para equilíbrio, foram discutidos as formas de localização de rodas (ver figura 26),
avaliando a capacidade de rotação com menor espaço utilizado.
Estrutura
Rodas Motorizadas
Figura 26: Localização de rodas motorizadas. Em (a) o robô pode rotacionar com menor espaço
utilizado que (b).
A localização de rodas decidida foi a opção (a), pois a rotação é realizada com menor
espaço e isso iria permitir implementação de algorítmos mais avançados nas utilizações
do robô.
38
A seguir estão apresentados requisitos funcionais do sistema:
• Possuir duas rodas motorizadas e duas rodas livres para equilíbrio.
• Ter capacidade de se locomover.
• Possuir sensores nas rodas motorizadas para realimentação.
• Ser capaz de rotacionar sobre si mesmo.
• Possuir comunicação sem fio.
• Possuir espaço para instalação de sensores mecânicos.
• Possuir espaço para instalação de encoders.
• Possuir espaço para placa de ponte H.
• Possuir espaço para a placa com o microcontrolador.
• Suportar peso de uma bateria.
O robô deve atender a todos os requisitos citados acima.
4.2
Desenho
O desenho do projeto do robô deve abranger todos os aspectos anteriores e assegurar
segurança. Pode ser visto na figura 27 o resultado do projeto de robô quadriciclo. Nas
figuras 28 e figura 29 estão apresentadas algumas medidas essenciais para a construção
do protótipo.
Figura 27: Desenho do robô quadriciclo que é capaz de suportar todos os requisitos funcionais.
39
37cm
3cm
5cm
10cm
15cm
3cm
2cm
Figura 28: Desenho do robô quadriciclo em vista superior, estão apresentados as medidas do
sistema, ao centro está o espaço para a placa.
37cm
5cm
5cm
10cm
10cm
3.5cm
Figura 29: Desenho do robô quadriciclo em vista frontal, o bloco central represanta a possível
altura da antena do sistema.
4.3
Cálculo de Torque
Inicialmente, a análise de torque foi feita para suportar o peso uma bateria (aproximadamente 2kg), estrutura mecânica 3kg, rodas incluíndo motor 0,6kg e circuito eletrônico
0,2kg; totalizando 5,8kg, mas aproximando para 6,0kg devido a tolerância a erros. Com
isso, o peso do robô será 60N (gravidade 10m/s2 ), como o robô irá se locomover em locais
que o atrito entre o chão e a roda é muito maior que o atrito da junção motor-roda, o
atrito a ser ultrapassado deverá ser (HALLIDAY; WALKER; AND, 2006).
Fat = N · µ
(4.1)
O atrito entre a roda e a junção é 0,04 (BASILIO; MOREIRA, 2011), então temos Fat =
2, 4N . Adotando que em dois segundos o sistema mecânico irá atingir a velocidade de
0, 3m/s, temos aceleração 0, 15m/s2 . Utilizando a segunda Lei de Newton, multiplicando
a aceleração e a massa do sistema, a força necessária para a aceleração é Fmov = 1, 59N .
No total, a força resultante será:
Ftotal = Fat + Fmov = 3, 3N
(4.2)
40
Como a força é dividida para as duas rodas motorizadas (figura 30). A força em cada
roda será 1, 65N , como o torque é τ = F · R, o torque necessário será τ = 1, 65 · 0.05 =
0, 0825N · m.
~
F
2
~
F
2
F~
Figura 30: Diagrama de força do robô para aceleração descrita.
Os motores utilizado foram aproveitados de parafusadeiras com torque 1, 00N · m.
41
5
Projeto de Hardware
Para possibilitar o gerenciamento do microcontrolador, são necessários módulos que
garantam os níveis de tensão, corrente, capacidade de leitura de sensores, garantir comunicação, entre outros. Neste capítulo, será discutido o hardware proposto para resolução
do projeto. Para o hardware, será necessário suprir as seguintes necessidades:
• Confiabilidade na transmissão sem fio.
• Comunicação protocolo RS232.
• Garantir correta leitura dos sensores.
• Garantir placa principal livre de ruídos.
• Garantir funcionalidade da ponte H.
• Garantir níveis de tensão suficientes para interrupções.
• Possuir sinalizador para verificar estado do firmware.
• Possuir botão de reset.
• Possuir ponte de diodos para proteção de circuito.
• Possuir sensores mecânicos fim de curso.
Para solucionar o problema, foram desenvolvidas e montadas três placas, onde uma delas
será duplicada, pois irá servir para cada motor. A primeira será um periférico do PC
cuja função é receber uma palavra do PC, acrescentar algumas letras e enviar para o
módulo RF. A segunda irá receber os dados enviados filtrando a informação recebida e irá
armazenar a ordem de velocidade em uma variável. Com a ordem armazenada, serão feitas
leituras com o encoder para ler a velocidade atual e comparar com a velocidade da ordem,
aumentando ou diminuido a velocidade do motor conforme a diferença de velocidades. A
terceira placa irá conter o módulo ponte H e o circuito para leitura do encoder.
42
Os esquemas foram projetados com o software Altium Designer, os layouts foram
projetados no Labcenter Proteus. Também no Proteus foram-se feitas as simulações do
microcontrolador. As placas foram feitas manualmente imprimindo os layouts em papel
Glossy da Masterprint (A4 180 gramas), utilizando uma placa virgem encontrada no
mercado. Com os papéis impressos foi-se utilizada a técnica de transferência térmica de
layout, após isso as placas foram corroídas, depois as máscaras foram retiradas com lã de
aço. Finalmente, foram furadas e soldadas manualmente, os resultados das placas serão
mostradas no capítulo dos resultados.
5.1
Placa Comunicadora
A placa comunicadora está conectada ao PC, o diagrama da mesma está exposto a
seguir na figura 31. Ela é composta por: um driver para ajustar os níveis de tensão da
comunicação serial do PC, um processador, um LED para indicação de funcionamento,
um botão de reset e um módulo TX RF. O microcontrolador ao receber a palavra enviada
pelo computador envia a mesma palavra codificada que passa por um inversor chegando
ao pino de dados do módulo emissor.
Figura 31: Diagrama da Placa Comunicadora.
5.1.1
Driver MAX232
O driver utilizado foi um DRIVER/RECEIVER MAX232N da Texas Instruments
(INSTRUMENTS, 2004). Este driver é utilizado para converter os níveis de tensão do PC
para a lógica TTL, é necessário utilizar capacitores segundo o datasheet do fabricante,
ver figura 32.
5.1.2
PIC 16F877A
Este microcontrolador da Microchip possui arquitetura RISC de alta performance,
pode operar a clocks de 20MHz (MICROCHIP, 2003). As funcionalidades utilizadas deste
microcontrolador foram: Watchdog, recepção e transissão serial. Na secção do firmware da
43
Figura 32: Esquema da ligação do MAX232 com PIC.
placa comunicadora será mostrado como foi feito o acréscimo de letras para sincronismo.
Para garantir transferência de dados, a placa repete a informação recebida pelo PC. O
baud rate utilizado foi de 1200 Bd, cristal de 20MHz com dois capacitores de 15pF (ver
figura 33).
Figura 33: Esquema do PIC da placa emissora.
5.1.3
Inversor de Tensão
O módulo RF TX 433MHz possui um pino para receber dados para transmissão, caso
o pino permaneça em 1 lógico a antena irá começar a entrar em instabilidade, pois está
sujeita a receber ondas eletromagnéticas de todo o meio. Entretando, no final da comu-
44
nicação serial o pino de transmissão permanece em 1 lógico, acarretando instabilidade.
Para manter o pino em 0 lógico (estabilidade), será necessário um inversor lógico de tensão, uma implementação possível de baixo custo consiste em um transistor BC538 e dois
resistores como na figura 34.
Figura 34: Esquema da emissão dos dados via RF.
5.1.4
Módulo RF TX 433MHz
O módulo utilizado foi da On Shine Enterprise (ENTERPRISE, 2011). Este dispositivo
possui 4 pinos (Antena, terra, alimentação, dados). É um transmissor de rádiofrequência
com antena externa, frequência 433MHz, modulação ASK (AM digital). Na figura 35
pode-se ver o transmissor e o receptor do módulo utilizado.
Figura 35: Esquema do módulo utilizado para comunicação RF (ENTERPRISE, 2011).
5.1.5
Antena
A antena utilizada foi uma antena de TV, devido ao baixo custo e facilidade de busca
no mercado local. A antena não é ideal para a frequência, no entanto apresentou resultados
satisfatórios.
45
5.2
Placa Robô
Os componentes aqui escolhidos estão de acordo com o mercado local e de baixo custo,
o projeto de hardware se baseou em confiabilidade de funcionamento. Portanto, alguns
componentes foram estimados e ou escolhidos para melhor eficiência.
Figura 36: Diagrama da placa do bobô e da placa dos módulos ponte H e encoder.
5.2.1
Ponte de Diodos
A ponte de diodos é um circuito simples e de baixo custo que corrige algum erro de
usuário. Caso inverta a polaridade, o circuito não irá queimar ao custo de uma queda de
tensão insignificante para o circuito. O esquema aplica, matematicamente, o módulo da
entrada, por isso também é utilizado, em conjunto com capacitores, para retificar tensão
alternada (ver figura 37).
Figura 37: Esquema da ponte de diodos utilizada.
5.2.2
Reguladores de Tensão
Os reguladores de tensão são dispositivos de realimentação negativa onde na saída
mantém-se uma tensão constante, aceitando alto alcance de tensão de entrada. Estes
46
dispositivos são alimentados por uma tensão constante e através de verificação de erro (
Teoria do controle ) ajustam a saída para uma tensão constante determinada, algum deles
possuem saída regulável (ver figura 38).
Figura 38: Esquema dos reguladores de tensão 5V e 6V utilizados no projeto.
Estes componentes possuem inúmeros dispositivos de proteção, entre eles:
• Proteção de sobrecarga térmica.
• Proteção contra curto-circuito.
• Limitador de corrente.
Os fabricantes KEC e FAIRCHILD SEMICONDUTOR consideram este dispositivo
praticamente indestrutível, porém não previram a ligação reversa que seria alimentar Vout
e colocar uma carga em Vin , o que seria corrigida com o uso de um diodo (verificada pelo
autor deste trabalho). O uso de capacitores é requerido pelo fabricante.
Neste projeto, foram utilizados os reguladores 7805 e 7806 da Fairchild Semicondutor
(SEMICONDUTOR, 2010).
5.2.3
Sensores Micro Switch
Como já mencionado alteriormente, estes sensores são chaves e a leitura é bastante
simples. Em contato com o obstáculo, a saída do sistema será 0 lógico, caso contrário será
1 lógico (a lógica pode ser invertida). Neste projeto foi utilizado a chave micro switch
com Haste Longa genérica encontrada no mercado local, ver figura 39.
47
Figura 39: Esquema dos sensores mecânicos utilizados no projeto.
5.2.4
Buffer
Na eletrônica analógica, o buffer é um isolador, ou seja possui alta impedância de
entrada afim de efetuar apenas leitura de tensão. Na eletrônica digital, um utilidade
deste circuito é converter os níveis de tensão, por exemplo, caso algum sensor tenha na
saída 1 e 4V o buffer pode ser utilizado para ajustar os níveis de tensão para 0 e 5V.
Isto irá garantir melhor leitura do microcontrolador e irá obter melhor resultado diante
do bounce 1 de leitura de sensores.
Figura 40: Esquema da ligação entre os encoders e sensores mecânicos através de um buffer.
No projeto, foi-se utilizado um buffer para enviar o sinal PWM da placa comunicadora
para o módulo ponte H, a utilidade era elevar os níveis de tensão para 6V (experimentalmente obteve melhor desempenho da ponte H). Outro buffer foi utilizado para receber
os sinais do encoder e sensores mecânicos e envia-los para o microcontrolador (ver figura
40).
1
Transição não-suave, podendo resultar em falsos níveis lógicos.
48
5.2.5
Porta Lógica
Para chaveamento da ponte H, foi-se utilizado dois pinos de PWM e uma porta lógica
7409 (Quad 2-Input AND Gates with Open-Collector Outputs) para efetuar a chaveamento
de transistores, pode-se ver este sistema com o buffer na figura 41.
Figura 41: Esquema da porta lógica utilizada para chaveamento dos transistores, o sistema
dispõe de um buffer para elevar os níveis.
5.2.6
Módulo RF RX 433MHz
O módulo utilizado foi da On Shine Enterprise. Este dispositivo possui 8 pinos (Antena, terra, alimentação, dados digital e linear) e é um repector rádiofrequência com
antena externa, frequência 433MHz, modulação ASK (AM digital). Na saída deste dispositivo existe outro inversor para reinverter a palavra enviada, com isso pode-se obter a
palavra enviada pela placa comunicadora, ver figura 42.
O conjunto de módulos TX RX compõe um modem (Modulador-Demodulador). Além
disso o processador irá filtrar a palavra recebida a fim de obter exatamente a palavra
enviada pelo PC.
5.2.7
Antena
A antena utilizada foi a mesma da placa comunicadora.
5.2.8
PIC 16F877A
O microcontrolador utilizado foi o mesmo da placa comunicadora, porém os recursos
utilizados foram:
• Interrupção de mudança de estado ( RB4-RB7 ), para os sensores ópticos e mecânicos.
49
Figura 42: Esquema do demodulador RF RX 433MHz.
• Interrupção de recepção serial.
• Interrupção dos 3 temporizadores: timer0 (para o PWM), timer1 (utilizado no sensor
óptico da esquerda) e timer2 (utilizado no sensor óptico da direita).
A maior complexidade deste microcontrolador consiste em efetuar a várias interrupções que acontecem a todo tempo, como recepção serial (incluindo ruído), mudança de
estado (sensores detectando a todo tempo e iniciando o timer correspondente) e utilizando
timer0 para efetuar PWM.
Além disso, foram utilizados 4 LEDs para indicação de estado do firmware. Um dos
LEDs consiste em ativar no momento que o sistema está ligado, outros 3 indicam o estado
da ordem, ver figura 43.
Figura 43: Esquema do microcontrolador utilizado com cristal, botão de reset e capacitor de
desacoplamento.
50
5.3
Placa dos Módulos
A placa dos módulos ponte H e sensores possui complexidade muito menor que
as outras. Este hardware é completamente analógico, possui uma ponte H, um LED
IR(Infravermelho)emissor, um fototransistor além disso um capacitor de desacoplamento.
5.3.1
Ponte H
A ponte H é um circuito para inversão de sentido de polarização de motores, com isso
um motor CC poderá inverter o sentido ( horário e anti-horário ).
O transistor utilizado foi o TIP122 da Fairchild Semicondutor (SEMICONDUTOR,
2007), por ser um transistor de potência (maximum ratings: hf e = 1000, VCE = 100V ,
IC = 5A, PC = 65W ) que consegue suportar grandes valores de corrente e assim obter
confiabilidade de aplicação. Este transistor é uma configuração darlington já com um
diodo reversamente polarizado (VCE ) para limitar corrente do motor ao desligar.
Foi utilizado um capacitor de desacoplamento de 3300µF para fornecer a corrente
de pico para o motor, este valor estava disponível no mercado e apresentou melhores
resultados do que não possuir capacitor. Outro capacitor (não-polarizado) 2, 2µF foi
utilizado para melhorar a eficiência do motor, o mesmo está em paralelo com o motor (ver
figura 44).
A pior situação seria ligar as 4 chaves ao mesmo tempo, isso faria com que houvesse
um curto-circuito da fonte. Não havendo um limitador de corrente esta situação poderia
causar acidentes, para evitá-la deve-se verificar o estágio inicial dos pinos de controle da
ponte H.
Figura 44: Esquema da ponte H utilizada.
51
5.3.2
Encoder
O encoder foi composto de um papel transparente impresso e sensores ópticos. Os
sensores ópticos utilizados foram obtidos no mercado local, contendo apenas um LED
emissor IR e um fototransistor receptor. Este tipo de sensor é conhecido como tipo U,
por possuir uma fenda por onde passa o obstrutor do feixe (ver o encoder na figura 45).
Figura 45: Esquema do sensor óptico utilizado.
52
6
Projeto de Firmware
O núcleo de um sistema embarcado é um microcontrolador, que possui responsabilidade de gerenciar quando um comando é acionado, ou quais os parâmetros serão passados
para os periféricos ligados as suas unidades de entrada e saída (LIMA, 2010).
O firmware é um programa escrito em alguma linguagem de programação que contém
a lógica de controle, este programa irá ser armazenado na memória do microcontrolador.
Neste capítulo serão mostrados os recursos utilizados para o projeto, os fluxogramas e
lógica utilizada para controle automático de velocidade.
6.1
Recursos utilizados do Microcontrolador
Para resolução do projeto, inicialmente são colocados em questão os aspectos de maior
importância, a lista abaixo contém os requisitos básicos para o sistema computacional:
• Interrupção serial com filtro de caracteres para obter a palavra enviada pelo PC.
• Capacidade de obtenção de velocidade linear a partir dos sensores ópticos.
• Implementação de controle de velocidade automático.
• Trabalhar com dois motores, porém independentes entre si.
• Capacidade de parar o motor correspondente caso o sensor mecânico detectar algum
obstáculo.
• Implementação de controlador PD (proporcional-derivativo).
• Controle de velocidade será efetuado através de mudança de duty cicle do PWM.
• Sinalizar um LED para mostrar que o microcontrolador ligou.
• Utilizar três LEDs para interface de desenvolvimento.
Para resolução dos problemas, irão ser descritos os módulos e conjuntamente o fluxograma para solução de cada caso separadamente.
53
6.1.1
Obtenção de Ordem
Para obtenção de ordem, o sistema utiliza a UART do PIC através do procotolo RS232. Ao inicializar o robô, o firmware espera pela informação do mestre, o fluxograma
na figura 46 mostra comportamento na execução da interrupção serial. A comunicação
é feita checando caracter por caracter, isso é feito porque o sistema recebe muito ruído,
um teste preeliminar foi feito com o PIC apenas enviando para o PC o sinal recebido pelo
módulo RF.
No teste, inúmeros caracteres apareceram na tela de recepção, isto representa inúmeras ondas eletromagnéticas que o módulo receptor repassa para o PIC. Por isto,
inicialmente são utilizados 2 caracteres de sincronismo para iniciar comunicação, este sistema praticamente elimina que a recepção serial seja afetada “jogando” fora os bits inúteis.
Mesmo assim, interrupções seriais acontecem a todo tempo devido a ondas eletromagnéticas propagadas pelo ambiente, exigindo um processamento bem maior que a comunicação
com fio.
Figura 46: Fluxograma da comunicação serial dentro da interrupção.
6.1.2
Obtenção de Velocidade Atual
Para obtenção de velocidade atual, foi utilizado o sensor óptico e um encoder de
40 divisões como na figura 17. O pino de saída do sensor óptico é ligado ao pino de
interrupção do PIC de mudança de estado, ao mudar o estado o sistema verifica se está
54
em 1 (um) lógico ou 0 (zero) lógico, caso 0 (zero) lógico será descartado. Com isso, será
transformado em uma aproximação de borda de subida, ao encontrar este tipo de borda
uma variável irá obter a contagem de um temporizador e reiniciar o contador.
Ao efetuar esta operação, será obtido algum número correspondente ao tempo de
espera entre uma borda de subida e outra, como em 20 bordas de subida o sistema
completa 360 graus pode-se claramente observar a velocidade angular e multiplicando a
velocidade angular pelo raio, obteremos a velocidade linear atual, figura 47.
Figura 47: Fluxograma da obtenção de velocidade linear atual.
A implementação apresentou-se bastante desafiadora, pois o PIC não possui módulo de
multiplicação e efetua divisões com bastante dificuldade, a operação com ponto flutuante
não se apresentava atraente por limitação do processador. Inicialmente os cálculos no
PIC não apresentavam valores razoáveis por que o microcontrolador simula operações em
ponto flutuante, para não operar com este tipo de números foi-se utilizado números de
grande magnitude (UINT32), também foram eliminadas várias operações de multiplicação
e divisão e realizando aproximação para números a potência de 2.
Isto melhorou significativamente a eficiência do firmware, visto que efetua muitas
55
interrupções a todo o tempo.
6.1.3
Detecção de Obstáculo
Para detecção de obstáculo o sistema dispôs de um sensor mecânico (micro switch).
Para leitura destas chaves o firmware determinou que também efetuará leitura de mudança
de estado, ou seja, qualquer detecção irá ser encarada como uma interrupção pelo sistema.
Ao verificar um obstáculo o robô irá parar o módulo correspondente (sensor esquerdo irá
parar o módulo direito) setando os pinos de ponte H para 0 (zero) lógico.
Figura 48: Fluxograma da detecção de obstáculo.
6.1.4
Controlando a Velocidade
Ao medir a velocidade linear real e comparando com a velocidade desejada (figura 49)
obtém-se o sinal de erro. Este sinal de erro representa a diferença de velocidade; o sinal
pode ser positivo (deverá aumentar o duty cicle) ou negativo (deverá diminuir o duty
cicle), figura 50.
Para implementar o controle proporcional, basta multiplicar o sinal de erro atual por
uma constante KP , porém para a parte derivativa é necessário obter o erro atual e o
erro anterior a fim de implementar uma função do tipo E(z) − E(z − 1)1 . Em firmware,
esta operação apresenta-se relativamente simples, seria apenas atualizar o valor de erro
anterior com o valor de erro atual antes deste ser atualizado.
1
utilizado o domínio do tempo discreto “z”
56
Com E(z) − E(z − 1) em mãos, basta agora multiplicar por uma constante KD para
obter a derivada do sinal de erro.
Figura 49: Diagrama de blocos do sistema de malha fechada. P é o controlador proporcional e
D é o controlador derivativo (CARVALHO, 2000).
Figura 50: Fluxograma do controle de velocidade implementado.
Como o fluxograma descreve, o valor de erro após passar pelo controlador irá aumentar
o duty cicle (caso positivo) ou diminuir duty cicle. A implementação dos dois PWM foram
implementadas com o timer 0 onde a cada interrupção um contador é incrementado ( de
0 a 1023 ), quando o contador chega em 0 (zero) os pinos são setados para zero. Logo em
seguida é checado se os pinos irão para 1 (um) lógico, em cada interrupção é checado se
os pinos irão para 1 (um) lógico ou permanecem em 0 (zero) lógico.
57
7
Resultados
Neste capítulo serão expostos os resultados do trabalho, tanto na parte mecânica,
hardware e firmware; especialmente na comunicação, implementação do controle automático de velocidade e confiabilidade do sistema eletrônico.
Figura 51: Robô sem sistema eletrônico.
Figura 52: Robô com sistema eletrônico instalado.
A parte mecânica foi construída com sucesso, porém com pequena diferença do projeto
que foi o tamanho da roda, para resolver esta questão o firmware adaptou-se para o novo
tamanho de roda ( na linguagem C foi apenas um ajuste de um #DEFINE ).
A comunicação apresentou algumas dificuldades inicialmente, foram elas:
58
• Interrupção serial acontecia a todo tempo.
• O módulo parava de funcionar com algum uso.
• A comunicação não entrava em sincronia.
Para resolução das questões acima, foram acrescentados bits de sincronismo, repetição
de palavra e inversão tanto no modulador como no demodulador. Feito isso, o sistema
de comunicação não apresentou nenhuma falha, tornando o resultado extremamente satisfatório.
Figura 53: Placa central do robô (recepção).
A placa de recepção do robô apresentou resultados satisfatórios com leitura de níveis
de tensão e os capacitores de desacoplamento removeram qualquer ruído que estivessem
prejudicando o sistema. Tanto a emissão como recepção apresentaram resultados satisfatórios, assim como os reguladores, portas lógicas e buffers. Tornando a emissão, recepção
e comunicação eficientes e confiáveis.
As placas de módulo ponte H e sensores ópticos apresentaram resultados satisfatórios,
os níveis de tensão estão de acordo com a leitura do processador, o tempo de resposta do
circuito também está bem dentro limite. A ponte H apresentou alguns ruídos devido ao
motor, porém acresentando capacitores em paralelo ao motor e na placa, os resultados
mostraram-se satisfatórios. Por parte da instalação mecânica, os sensores apresentam
melhores resultados a médias e altas velocidades, isto acontece por que o encoder não é
uma circuferência perfeita e os sensores estão encaixados com fita isolante.
O controle de velocidade é a junção entre a leitura correta dos sensores e o aumento
ou diminuição do duty cicle. O controle de velocidade apresentou-se satisfatório, aumentando ou diminuindo a de acordo com a palavra enviada pelo PC. O teste de velocidade
foi efetuado com um cronômetro e um papel preso a roda do robô, uma ordem de ve-
59
Figura 54: Placa transmissora de dados.
locidade era enviada e quando o papel cruzava num determinado local o usuário marcava
no cronômetro. Para cada velocidade foram feitas 9 medidas 2 vezes, foi tirado uma
média das medidas e utilizada uma relação entre o raio e as medidas para determinar as
velocidades obtidas, ver a tabela 1.
Como previsto, o aumento de tensão no sistema iria ser corrigido pelo duty cicle do
microcontolador, estes testes foram efetuados com o modo de leitura DC do multímetro
minipa ET-2082B, foi medido um padrão de valores (A onda quadrada possui um valor
DC) que aumentavam com a diminuição da tensão (velocidade constante) ou diminuiam
com o aumento da tensão. Com a alimentação em 7 volts, a média do valor na saída do
buffer medido foi 4.5V, enquanto com 15 volts a média medida foi 2.1V.
O PIC inicialmente efetuava cálculos além da capacidade, porém ao observar este
comportamento foi efetuada uma reformulação no código e iniciou-se a utilização de longos inteiros e efetuando multiplicações e divisões por potências de 2. Este resultado
apresentou-se além do satisfatório.
60
Ordem de velocidade
50cm/s
40cm/s
30cm/s
Primeira velocidade medida
48,03cm/s
38,94cm/s
29,32cm/s
Segunda velocidade medida
48,71cm/s
39,76cm/s
29,09cm/s
Erro máximo
3,94%
2,66%
3,03%
Tabela 1: Tabela com valores de velocidades medidos para comprovar a eficiência do controle
automático
61
8
Conclusão
Neste trabalho, foram visto os principais conceitos sobre controle automático de velocidade em um motor CC e construção de hardware para robótica. Foram mostrados
diferentes sensores, tipos de locomoção e as diferenças entre as tecnologias o que levou a
construção deste projeto.
A partir deste estudo, foi desenvolvido uma proposta de um sistema de controle automático de velocidade capaz de integrar o hardware, motores corrente contínua, sensores
e microcontrolador. Este sistema foi capaz de atuar com todo o aparato tecnológico
interno a fim de obter o objetivo específico.
As simulações de firmware no software Labcenter Proteus apresentaram-se de acordo
com o resultado final do projeto.
Este sistema de controle automático foi implementado em um robô, porém o mesmo
sistema (com algumas modificações) pode ser implementado em indústrias, automobilísta,
aviação, entre outros. O mesmo modelo matemático é capaz de modelar sistemas de
qualquer espécie, tornando extremamente útil o conhecimento desta ferramenta.
Como perspectiva para uma possível continuidade do trabalho, ainda existem uma
série de melhorias que podem ser adicionadas ao robô. Obter o melhor resultado de
constantes PD poderia proporcionar um melhor desempenho ao robô, instalação mecânica
de sensores poderia oferecer uma melhor contribuição a leitura de velocidade. O trabalho
também poderia partir para o ramo de detecção de obstáculos ou comunicação a longo
alcance, poderia também trocar por baterias e testar o rendimento transportando peso.
As perspectivas em relação a robótica móvel são animadoras, principalmente com a
constante evolução do hardware e o grande número de pesquisas na área. No futuro
próximo, os robôs irão estar a nossa disposição para variadas tarefas afim de proporcionar
uma melhor qualidade de vida, poderá até nos trazer respostas sobre o universo, eliminar
os gastos energéticos para poupar o meio ambiente. A única certeza é que a robótica
é vista como uma ferramenta de grande avanço tecnológico e seu lugar no futuro da
humanidade é garantido.
62
Referências
ACUITY. Acuity - Laser Measurements. 2011.
Http://www.acuitylaser.com/portuguese.htm. Acessado em março.
ALCIATORE, D. G.; HISTAND, M. B. Introduction to Mechatronics and Measurement
Systems. [S.l.]: McGraw Hill, 1999.
ALDEBARAN. Nao - Step into the future classrom. 2011. URL: http://www.aldebaranrobotics.com/en/naoeducation. Acessado em fevereiro.
AMPBOT, S.-H. Sega-Hasbro’s Ampbot - Musical Robot. 2011. URL:
http://www.coolgizmotoys.com/coolgizmotoys/2010/11/hasbros-ampbot.html.
Acessado em fevereiro.
BANDAI. Robotic Cockroach. 2011. URL:
http://classroomrobotics.blogspot.com/2007_11_01_archive.html. Acessado em
fevereiro.
BASILIO, J. C.; MOREIRA, M. V. Experimentos para estimação dos parâmetros de motores de corrente contínua. 2011. URL:
http://www.dee.ufrj.br/controle_automatico/artigos/cobenge2001.pdf. Acessado
em fevereiro.
CARVALHO, E. A. N. et al. Desenvolvimento de um sistema de controle para navegação
de um robô móvel baseado em fusão de sinais de controle e realimentação visual. VII
SBAI/ II IEEE LARS. São Luís, 2005.
CARVALHO, J. L. M. Sistema de Controle Automático. Rio de Janeiro, RJ: [s.n.], 2000.
LTC - Livros Técnicos e Científicos Editora S.A.
CERNE. Microswitch. 2011. Http://www.cerne-tec.com.br/chaves.htm. Acessado em
fevereiro.
COSTA, E. R.; GOMES, M. L.; BIANCHI, R. A. C. Um mini robô móvel seguidor de
pistas guiado por visão local. VI Simpósio Brasileiro de Automação Inteligente. Bauru,
p. 710–715, 2003.
ENTERPRISE, O. S. ASK RF MODULE. [S.l.], 2011.
FITZGERALD, A. E.; KINGSLEY, J. C.; KUSKO, A. Máquinas Elétricas. [S.l.]:
BOOKMAN, 1975.
FORESTI, H. B. Desenvolvimento de um robô bípede
autônomo. Recife-PE-Brazil, Dezembro 2006. Disponível em:
<http://robolivre.com/download/dissertacao_banca2B.pdf>.
FUTABA. Futaba Digital Servos. 2011. URL: http://www.futabarc.com/servos/digitalservos.html. Acessado em fevereiro.
63
HALLIDAY, D.; WALKER, J.; AND, R. R. Fundamentos de Física 1, 7a Edição. Rio de
Janeiro, RJ: [s.n.], 2006. LTC - Livros Técnicos e Científicos Editora S.A.
HEINEN, F. J. Robótica autônoma: Integração entre planificação e comportamento
reativo. Universidade do Vale dos Sinos, 1999. Dissertação de Mestrado.
HEINEN, J. F. Sistema de Controle Híbrido para Robôs Móveis Autônomos. [S.l.: s.n.],
2002. Trabalho de Conclusão de Curso.
HOBBICO. Hobbico Command Servos. 2011. URL:
http://www.hobbico.com/radioaccys/hcam1000.html. Acessado em fevereiro.
HONDA. Asimo - History of Humanoids. 2011. URL:
http://world.honda.com/ASIMO/history/history.html. Acessado em fevereiro.
IKALOGIC. Infra-Red Proximity Sensor. 2011. URL:
http://www.ikalogic.com/ir_prox_sensors.php. Acessado em fevereiro.
INSTRUMENTS, T. MAX232, MAX232I. Dual EIA-232 Drivers/Receivers. [S.l.], 2004.
IROBOT. Ground Robots - 510 Packbot. 2011. URL:
http://www.irobot.com/gi/ground/510_PackBot. Acessado em fevereiro.
KALIPEDIA. Encoder óptico. 2011.
Http://www.kalipedia.com/tecnologia/tema/graficos-encoderoptico.html?x1=20070821klpinginf_48.Ees&x=20070821klpinginf_92.Kes&x2=20070821klpinginf_8
Acessado em fevereiro.
LEITE, B. H. da Fonseca da C. et al. Estudo do Motor de Passo e seu Controle Digital.
2011. URL: http://recreio.gta.ufrj.br/grad/01_1/motor/. Acessado em fevereiro.
LIMA, D. L. S. Desenvolvimento de plataforma de comunicação gsm/gprs para
sistemas embarcados. Engenharia da Computação, Escola Politécnica de Pernambuco.
Universidade de Pernambuco, p. 34–35, 2010. Trabalho de Conclusão de Curso.
MAXBOTIX. Maxbotix Robot Sensors. 2011. URL:
http://www.maxbotix.com/MaxBotix_Robot_Sensors.html. Acessado em fevereiro.
MICROCHIP. PIC16F87XA Datasheet. 28/40/44-Pin Enhanced Flash Microcontrollers.
[S.l.], 2003.
MOTT, R. L. Machine elements in mechanical design. [S.l.: s.n.], 1999.
NASA. Mars Explorarion Rover Launches. 2003.
NEX-ROBOTICS. Robotics. 2011. URL: http://www.cse.iitb.ac.in/ẽrts/robotics.html.
Acessado em fevereiro.
OLIVEIRA, S. C.; FONTANA, E. Optical detection of partial discharges on insulator
strings of high voltage transmission lines. IEEE Transactions on Instrumental and
Measurement, v. 58, p. 2328–2334, 2009.
PANASONIC. AC Servo Motor. 2011. URL:
http://industrial.panasonic.com/ww/i_e/25000/fa_pro_acs_e/fa_pro_acs_e.html.
Acessado em fevereiro.
64
ROBOTICS, M. How Military Robots Work. 2011. URL:
http://science.howstuffworks.com/military-robot4.htm. Acessado em fevereiro.
SCIENCE&TECH, D. The robotic dog that could revolutionise the military. 2011. URL:
http://www.dailymail.co.uk/sciencetech/article-1052810/Fetch-Fido-The-robotic-dogrevolutionise-military.html#ixzz1EVkf6IXy. Acessado em fevereiro.
SEMICONDUTOR, F. NPN Epitaxial Darlington Transistor. [S.l.], 2007.
SEMICONDUTOR, F. 3-Terminal 1A Positive Voltage Regulador. [S.l.], 2010.
SISTEMAS, E. Embarcados Sitemas. 2011. URL:
http://pt.wikipedia.org/wiki/Sistemas_embarcados. Acessado em fevereiro.
TENóRIO, E. A. do P. PRINCIPIOS DE COMUNICAÇOES - Unidade 1: Princípios
de transmissão de sinais. [S.l.: s.n.].
TIMETECH. TimeTech’s new LASER finish sensor. 2011. URL:
http://www.timetechusa.net/Laser%20Sensor.htm. Acessado em fevereiro.
YASKAWA. Yaskawa - SmartPalV. 2011. URL:
http://www.yaskawa.co.jp/newsrelease/2007/25.htm. Acessado em fevereiro.
YOUNG, P. H. Técnicas de Comunicação Eletrônica. São José dos Campos, SP: [s.n.],
2006. Pearson, Prentice Hall.
ZUNT, D. Who did actually invent the word "robot"and what does it mean? 2011.
Http://capek.misto.cz/english/robot.html. Acessado em fevereiro.

Documentos relacionados