Você está na página 1de 114

SOCIEDADE EDUCACIONAL DE SANTA CATARINA – SOCIESC

FACULDADE SOCIESC DE CURITIBA

EDSON SAITO
GLAUBER SHIGUEHARA SOLIGO

ROBÔ MÓVEL AUTÔNOMO PARA TRANSPORTE DE MEDICAMENTOS EM


AMBIENTE HOSPITALAR

Curitiba
2016/2
EDSON SAITO
GLAUBER SHIGUEHARA SOLIGO

ROBÔ MÓVEL AUTÔNOMO PARA TRANSPORTE DE MEDICAMENTOS EM


AMBIENTE HOSPITALAR

Trabalho de Conclusão de Curso, apre-


sentado à Faculdade SOCIESC de Curi-
tiba, mantida pela Sociedade Educacional
de Santa Catarina (UNISOCIESC), apresen-
tado como requisito parcial para obtenção
do título de Tecnólogo em Mecatrônica In-
dustrial.

Orientador: Prof. MSc. Carlos Eduardo Magrin

Curitiba
2016/2
RESUMO

Este projeto contempla a pesquisa sobre o conteúdo teórico mecânico, ele-


trônico e programação para desenvolvimento de um AGV (Veículo Guiado Automa-
ticamente). Trata-se de um veículo autônomo para transporte de remédios, dotado
de um sistema autoguia, que possui a capacidade de identificar e seguir uma traje-
tória demarcada, ou seja, por uma faixa de contraste de cores. Considerando que
as etapas de confecção do sistema robótico serão divididas em 3 partes, que são:
estrutura mecânica, eletrônica de controle e programação operacional, visando o
melhor andamento do projeto, realizamos a pesquisa sobre os sistemas de nave-
gação do AGV, processos de conformação mecânica, materiais para a estrutura,
sensores, microcontroladores, motores, baterias e a linguagem de programação.

Palavras-chave: AGV. Robô Móvel. Microcontrolador. Ambiente Hospitalar.


ABSTRACT

This project includes the mechanical theoretical content, electronic and pro-
gramming for development of an AGV (Automated Guided Vehicle). This is an au-
tonomous vehicle for transporting medicines, provided with a self-guidance system
that has the ability to identify and track a demarcated path, by a color contrast range.
Whereas the steps of the robotic system preparation will be divided into 3 parts,
these being: mechanical structure, electronic control and operational programming,
for the best progress of the project, we conducted research on the AGV navigation
systems, metal forming processes, materials for the structure, sensors, microcon-
trollers, motors, batteries and programming language.

Key words: AGV. Mobile Robot. Microcontroller. Hospital Environment


LISTA DE FIGURAS

Figura 1 −AGV em hospital . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16


Figura 2 − Navegação por fio enterrado com frequência . . . . . . . . . . . . . . . . . 17
Figura 3 − Navegação por meio óptico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Figura 4 − Navegação por triangulação a laser . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Figura 5 − Sistema de segurança com laser scan . . . . . . . . . . . . . . . . . . . . . . . 19
Figura 6 − Sistema de segurança com bumper . . . . . . . . . . . . . . . . . . . . . . . . . 20
Figura 7 − Robô Pyxis HelpMate SP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Figura 8 − Robô MKR (Muratec Keio Robot) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Figura 9 − Robô TUG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Figura 10− Ilustração do processo de Trefilação . . . . . . . . . . . . . . . . . . . . . . . . . 23
Figura 11− Ilustração do processo de Extrusão . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Figura 12− Ilustração do processo de Laminação . . . . . . . . . . . . . . . . . . . . . . . . 25
Figura 13− Pinos de Conexão PIC16F877A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Figura 14− Ponte H . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Figura 15− Funcionamento do sensor óptico por transmissão . . . . . . . . . . . . 33
Figura 16− Funcionamento do sensor óptico Retrorrefletor . . . . . . . . . . . . . . 34
Figura 17− Funcionamento do sensor óptico difuso . . . . . . . . . . . . . . . . . . . . . . 35
Figura 18− Infravermelho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Figura 19− Fases dos sinais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Figura 20− Funcionamento do Sensor ultrassônico (Sonar) . . . . . . . . . . . . . . 38
Figura 21− Sensor ultrassônico HC-SR04 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Figura 22− Chave fim de curso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Figura 23− Exemplo de encoder comercial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Figura 24−Encoder Incremental . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Figura 25−Encoder Absoluto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Figura 26−LCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Figura 27−Display Sete Segmentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Figura 28− Bateria Automotiva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Figura 29− Bateria Estacionária . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Figura 30− Robô concluído . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Figura 31− Conjunto mecânico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Figura 32− Perfil modular de alumínio 30x30 mm . . . . . . . . . . . . . . . . . . . . . . . . 49
Figura 33− Conectores para fixação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Figura 34− Estrutura principal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Figura 35−Bumper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Figura 36− Suporte do motor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Figura 37− Sistema de transmissão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Figura 38− Diagrama em blocos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Figura 39− Botões de acionamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Figura 40− Placa principal montada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Figura 41−LCD 16x2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Figura 42− Esquemático de ligação LCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Figura 43− Motor do robô . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Figura 44− Motor equivalente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Figura 45−Bumper no robô . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Figura 46− Chave fim de curso do Bumper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Figura 47− Bateria que alimenta o robô . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Figura 48− Conversor de tensão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Figura 49− Bateria estacionária . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Figura 50− Tomada para o carregador de bateria . . . . . . . . . . . . . . . . . . . . . . . . 61
Figura 51− Ponte H desenvolvida para o robô . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Figura 52− Ligação em paralelo L298 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Figura 53− Ventilador de resfriamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Figura 54− Infravermelho comercial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Figura 55− Robô centralizado na faixa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Figura 56− Robô deslocado à direita da faixa . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Figura 57− Robô deslocado à esquerda da faixa . . . . . . . . . . . . . . . . . . . . . . . . 65
Figura 58− Simulação do Infravermelho no robô . . . . . . . . . . . . . . . . . . . . . . . . . 66
Figura 59− Sensor ultrassônico HC-SR04 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Figura 60− Sensor ultrassônico HC-SR04 no robô . . . . . . . . . . . . . . . . . . . . . . . 67
Figura 61− gravador K150 Microburn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Figura 62− Paciente que será feita a entrega do medicamento . . . . . . . . . . . 69
Figura 63− Parada de Emergência . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Figura 64− Fluxograma do Funcionamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
LISTA DE TABELAS

Tabela 1 −Combinações de chaves da Ponte H . . . . . . . . . . . . . . . . . . . . . . . . 31


LISTA DE ABREVIATURAS E SIGLAS

A Ampère (Unidade de medida da corrente elétrica)

ABNT Associação Brasileira de Normas Técnicas

AGV Automated Guided Vehicles (Veículo Guiado Automaticamente)

Ah Ampère hora

ANSI American National Standards Institute (Instituto Nacional Americano de Pa-


drões)

CA Corrente Alternada

CC Corrente Contínua

CCD Charge Coupled Device (Dispositivo de Carga Acoplada)

CCS Customer Computer Services (Serviços de Computador Personalizados)

CMOS Complementary Metal-Oxide Semiconductor (Semicondutor de Metal-Óxido


Complementar)

CPU Central Processing Unit (Unidade de Processamento Central)

ICSP In Circuit Serial Programmer (Programador Serial no circuito)

LADAR Laser Detection And Ranging (Detecção e Localização por Laser )

LCD Liquid Crystal Display (Tela de Cristal Líquido)

LED Light Emitting Diodes (Diodo Emissor de Luz)

LIDAR Light Detection And Ranging (Detecção e Localização por Luz)

MOSFET Metal-Oxide-Semiconductor Field Effect Transistor (Transistor de Efeito


de Campo Metal - Óxido Semicondutor - TECMOS)

NR12 Norma Regulamentadora 12

PEAPM Polietileno de Alto Peso Molecular

PEBPM Polietileno de Baixo Peso Molecular

PEUAPM Polietileno Ultra-Alto Peso Molecular


PIC Peripheral Interface Controller (Interface Controladora de Periféricos)

PL/M Programming Language for Microcomputers (Linguagem de Programação


para Microcomputadores)

PWM Pulse Width Modulation (Modulação por Largura de Pulso)

RAM Random Access Memory (Memória de Acesso Aleatório)

ROM Read Only Memory (Memória Somente de Leitura)

RPM Rotações Por Minuto

UHMW Ultra Hight Molecula Weight (Polietileno de Ultra alto Peso Molecular)

USART Universal Synchronous Asynchronous Receiver Transmitter (Transmissor/-


Receptor Universal Síncrono e Assíncrono)
SUMÁRIO

1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.1 PROBLEMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.2 HIPÓTESE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.3 JUSTIFICATIVA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.4 OBJETIVO GERAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.5 OBJETIVOS ESPECíFICOS . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.6 METODOLOGIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2 REFERENCIAL TEÓRICO . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.1 VEíCULO GUIADO AUTOMATICAMENTE - AGV . . . . . . . . . . . . . . 16
2.1.1 Sistemas de navegação típicos para AGV . . . . . . . . . . . . . . 16
2.1.1.1 Sistema de navegação por fio enterrado com frequência . . . . . . . 17
2.1.1.2 Sistema de navegação por meio óptico . . . . . . . . . . . . . . . . . 17
2.1.1.3 Sistema de navegação por triangulação a laser . . . . . . . . . . . . 18
2.1.2 Sistemas de segurança para AGV . . . . . . . . . . . . . . . . . . 19
2.1.2.1 Sistema de segurança com laser scan . . . . . . . . . . . . . . . . . . 19
2.1.2.2 Sistema de segurança com Bumper (para-choque) . . . . . . . . . . 19
2.2 UTILIZAÇÃO DA TECNOLOGIA DE ROBÓTICA MÓVEL PARA ENTRE-
GAS EM AMBIENTE HOSPITALAR . . . . . . . . . . . . . . . . . . . . . . 20
2.3 MECÂNICA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.3.1 Processos de Conformação Mecânica . . . . . . . . . . . . . . . . 22
2.3.1.1 Processo de Trefilação . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.3.1.2 Processo de Extrusão . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.3.1.3 Processo de Forjamento . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.3.1.4 Processo de Laminação . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.3.1.5 Processo de Estampagem . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.3.2 Materiais para construção mecânica . . . . . . . . . . . . . . . . . 25
2.3.2.1 Aços Carbono . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.3.2.2 Alumínio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.3.2.3 Polietileno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.3.2.4 Policarbonato . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.4 ELETRÔNICA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.4.1 Microcontrolador . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.4.1.1 Microcontrolador Microchip PIC16F877A . . . . . . . . . . . . . . . . 28
2.4.2 Ponte H . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.4.3 Sensores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.4.3.1 Sensores Ópticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.4.3.2 Infravermelho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.4.3.3 Sensor Ultrassônico (Sonar) . . . . . . . . . . . . . . . . . . . . . . . 36
2.4.3.4 Sensores Laser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.4.3.5 Chave fim de curso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.4.3.6 Encoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.4.4 Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.4.4.1 LCD (Liquid Crystal Display ) . . . . . . . . . . . . . . . . . . . . . . . 42
2.4.4.2 Diodos emissores de luz - LED (Light Emitting Diodes) . . . . . . . . 42
2.4.5 Bateria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.4.5.1 Baterias automotivas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.4.5.2 Baterias estacionárias . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.4.6 Motor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.5 INFORMÁTICA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.5.1 Linguagem de Programação . . . . . . . . . . . . . . . . . . . . . . 46
2.5.1.1 Linguagem Assembly . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.5.1.2 Linguagem C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3 DESENVOLVIMENTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.1 MECÂNICA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.1.1 Estrutura principal . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.1.2 Bumper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.1.3 Suporte do motor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.1.4 Sistema de transmissão . . . . . . . . . . . . . . . . . . . . . . . . 53
3.2 ELETRÔNICA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.2.1 Microcontrolador . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.2.2 LCD (Liquid Crystal Display) . . . . . . . . . . . . . . . . . . . . . 55
3.2.3 Motores DC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.2.4 Chave fim de curso . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.2.5 Bateria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.2.5.1 Tomada para carregador de bateria . . . . . . . . . . . . . . . . . . . 60
3.2.6 Ponte H . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.2.6.1 Cooling Fan (Ventilador de resfriamento) . . . . . . . . . . . . . . . . 63
3.2.7 Sensores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.2.7.1 Sensores Infravermelho . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.2.7.2 Sensores Sonar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.3 INFORMÁTICA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.3.1 Programação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.3.2 Fluxograma da Programação . . . . . . . . . . . . . . . . . . . . . 68
4 CONSIDERAÇÕES FINAIS . . . . . . . . . . . . . . . . . . . . . . . . . 71
REFERÊNCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
APÊNDICE A -- PONTE H . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
APÊNDICE B -- CONVERSOR DE TENSÃO . . . . . . . . . . . . . . . . . . 77
APÊNDICE C -- ESQUEMÁTICO PLACA DE CONTROLE . . . . . . . . . . 79
APÊNDICE D -- AGV AMBIENTE HOSPITALAR . . . . . . . . . . . . . . . 81
APÊNDICE E -- PROGRAMAÇÃO DO LCD . . . . . . . . . . . . . . . . . . 86
APÊNDICE F -- PROGRAMAÇÃO DO PWM . . . . . . . . . . . . . . . . . . 92
APÊNDICE G -- PROGRAMAÇÃO DO ULTRASSÔNICO . . . . . . . . . . . 94
APÊNDICE H -- ESTRUTURA . . . . . . . . . . . . . . . . . . . . . . . . . 97
APÊNDICE I -- ANEL BATENTE . . . . . . . . . . . . . . . . . . . . . . . . 99
APÊNDICE J -- EIXO DO BUMPER . . . . . . . . . . . . . . . . . . . . . . 101
APÊNDICE K -- CHAPA DO BUMPER . . . . . . . . . . . . . . . . . . . . . 103
APÊNDICE L -- CHAPA SUPORTE DO MOTOR . . . . . . . . . . . . . . . . 105
APÊNDICE M -- CANTONEIRA SUPORTE DO MOTOR . . . . . . . . . . . . 107
APÊNDICE N -- EIXO DA RODA . . . . . . . . . . . . . . . . . . . . . . . . 109
APÊNDICE O -- ENGRENAGEM DA RODA . . . . . . . . . . . . . . . . . . 111
APÊNDICE P -- RODA DE NYLON . . . . . . . . . . . . . . . . . . . . . . . 113
13

1 INTRODUÇÃO

O robô é uma máquina automática capaz de realizar movimentos dentro de


um ambiente. Desta maneira, as aplicações encontradas no mercado voltadas para
automação, são aplicadas em diversos ramos de pequenos a grandes portes, e
estão evoluindo e se tornando cada vez mais rigorosas.
Os robôs classificados como AGV - Automated Guided Vehicles (Veículo Gui-
ado Automaticamente), são equipamentos de locomoção terrestre, de modo geral
robôs transportadores, ou seja, equipamentos autônomos. São movimentados atra-
vés de motores elétricos os quais são alimentados por baterias. A forma de controle
é baseada numa estrutura complexa, pois estes robôs são desenvolvidos para tran-
sitarem por ambientes, percorrendo diversos trajetos. Os trajetos geralmente são
demarcadas no piso e identificados pelo equipamento através de sensores.
Atualmente, a utilização da tecnologia de robótica móvel em ambiente hospi-
talar já é uma realidade em países como Japão e Estados Unidos. Robôs autôno-
mos desenvolvidos por empresas especializadas em equipamentos para transporte
de cargas atuam em hospitais transportando medicamentos, amostras de sangue,
refeições, entre outros. Assim possibilitando uma melhor utilização dos recursos
humanos, principalmente dos enfermeiros(as).

1.1 PROBLEMA

Nos hospitais, milhares de dispositivos médicos, medicamentos, refeições,


roupas de cama e documentos são transportados diariamente de uma estação para
outra por enfermeiros treinados profissionalmente. Isto não só desperdiça a experi-
ência de enfermeiros, os quais são profissionais especializados, mas também expõe
desnecessariamente os seres humanos aos germes contagiosos e vírus.

1.2 HIPÓTESE

Se o transporte de medicamentos em um hospital fosse realizado por um robô


AGV de pequeno porte, fabricado com materiais leves e resistentes, com sistema
de segurança que consiga garantir que não haverá colisão com as pessoas que
transitam no ambiente hospitalar.
14

1.3 JUSTIFICATIVA

Um dos maiores e geralmente subestimados serviços de apoio nos hospitais


é a logística. A principal tarefa de um serviço de logística hospitalar é organizar e
manter o fluxo de materiais no hospital. Uma vasta variedade de materiais são es-
sencialmente necessários num hospital, o que muitas vezes resultam em sistemas
de transporte complexos e emaranhados fluxo de materiais. Há um interesse cres-
cente na automatização da logística em hospitais. A principal motivação por trás
é reduzir os custos operacionais, quase 30% das despesas hospitalares é resul-
tante de atividades de logística (ALI GüRCAN ÖZKIL; DAWIDS, 2009). A variedade
de materiais e equipamentos que estão sendo utilizados em hospitais também está
em expansão. Novos suprimentos e equipamentos estão sendo desenvolvidos cada
vez mais, e itens descartáveis estão sendo mais comuns. Com a introdução de um
sistema de logística com robô móvel, os funcionários, principalmente enfermeiros
(as) podem ser alocados para mais tarefas relacionadas aos pacientes.

1.4 OBJETIVO GERAL

Desenvolver um robô seguidor de linha para ambiente hospitalar, micro con-


trolado, com sensores ultrassônicos para detecção de objetos próximos, seguidor
de trajetória por uma linha no piso que será detectada através de sensores infra-
vermelhos. A plataforma mecânica será de estrutura modular de alumínio, que na
parte frontal possuirá um bumper (para-choque), o qual em caso de colisão com
objetos acionará uma chave fim de curso, parando imediatamente o robô.

1.5 OBJETIVOS ESPECÍFICOS

Para o alcance do objetivo geral, é necessário concluir as seguintes etapas:

• Pesquisar sobre veículos autoguiados (AGV ) existentes no mercado;

• Pesquisar sobre motores, sensores e materiais para estrutura;

• Definir a estrutura do robô;

• Projetar e desenvolver projeto mecânico;

• Projetar e desenvolver projeto eletrônico;


15

• Desenvolver a programação;

• Realizar testes dos componentes eletrônicos juntamente com a programação;

• Integração da mecânica, eletrônica e programação.

1.6 METODOLOGIA

Para o desenvolvimento do trabalho foram utilizados a pesquisa exploratória


e empírica. A pesquisa empírica, ou pesquisa de campo, é aquela onde é neces-
sária comprovação prática de algo, através de experimentos ou observação de um
contexto para coleta de dados. Servem para ancorar e comprovar no plano da expe-
riência aquilo apresentado conceitualmente, ou oferecem dados para sistematizar
a teoria (GIL, 2008).
A pesquisa exploratória tem como finalidade esclarecer, desenvolver e mo-
dificar conceitos e ideias, visando à formulação de problemas mais precisos ou
hipóteses pesquisáveis para estudos. É um estudo que apresenta menor rigidez no
planejamento, envolvendo levantamento bibliográfico e documental, entrevistas não
padronizadas e estudos de caso (GIL, 2008).
16

2 REFERENCIAL TEÓRICO

2.1 VEÍCULO GUIADO AUTOMATICAMENTE - AGV

Após o fim da Segunda Guerra Mundial, muitos países iniciaram a exploração


da energia nuclear para os mais diversos fins, consequência disso, começou-se a
desenvolver manipuladores com melhor interface entre homem e máquina. O su-
cesso obtido através do uso destes, levou a indústria de manufatura a se interessar
pela área. Assim, o primeiro AGV da história foi instalado no ano de 1954, pela
Cravens Company, em sua fábrica. (ROMERO et al., 2014).
O AGV é um veículo capaz de realizar o transporte de materiais entre diferen-
tes pontos de um ambiente. Trata-se de um equipamento que dispensa a presença
de um condutor e são utilizados para movimentação de pequenas ou grande cargas,
em pequenas ou grandes distâncias, são desenvolvidos para executar instruções
recebidas, seguir um caminho, receber e distribuir materiais (LOGWEB, 2007).
No final dos anos 80, o AGV passou a ser utilizado de forma mais ampla,
não limitando-se somente na indústria de manufatura. Nos dias de hoje, este tipo
de equipamento é encontrado também em hospitais (figura 1) (SHIKO, 2009).

Figura 1: AGV em hospital

Fonte: Adaptado SHIKO, 2009

2.1.1 Sistemas de navegação típicos para AGV

Quando se trata de sistemas de navegação, comumente são definidos e pro-


jetados de acordo com o ambiente em que será aplicado e tipo de carga em que
estará movimentando (SHIKO, 2009).
17

Os AGV’s podem ser guiados por um fio indutivo no piso que transmite uma
corrente de determinada intensidade e frequência, por meio óptico, pelo qual o veí-
culo percorre uma linha no piso mediante um dispositivo óptico de detecção nele
instalado, e a laser, que varre o espaço em busca de referência para a movimenta-
ção do veículo (LOGWEB, 2007).

2.1.1.1 Sistema de navegação por fio enterrado com frequência

Um dos métodos mais robustos e de baixa manutenção. A navegação ocorre


através de um fio contínuo incorporado no chão, como mostrado na figura 2. Ante-
nas localizadas no veículo detectam o sinal a partir do fio e a distância de desloca-
mento é calculada através do encoder acoplado às rodas (SELETTRA, 2015).

Figura 2: Navegação por fio enterrado com frequência

Fonte: Autor, 2016

2.1.1.2 Sistema de navegação por meio óptico

Uma fita colorida é aplicada ou uma linha é pintada no chão. Como mostrado
na figura 3, o veículo possui um conjunto de sensores ópticos na parte inferior, o
qual realiza a detecção do trajeto e a distância de deslocamento é calculada através
do encoder acoplado às rodas (SELETTRA, 2015).
18

Figura 3: Navegação por meio óptico

Fonte: Autor, 2016

2.1.1.3 Sistema de navegação por triangulação a laser

Método que demanda alto investimento devido a complexidade, por isso, é


pouco utilizado comparado aos demais sistemas de navegação. Neste sistema, os
alvos reflexivos são montados em posições conhecidas de toda a instalação. O
scanner de laser, cujo é montado na parte superior do veículo emite o "flash", os
quais refletem nos alvos reflexivos, como mostrado na figura 4. Os algoritmos de
controle do veículo calculam a posição exata do mesmo por meio de triangulação
(SELETTRA, 2015).

Figura 4: Navegação por triangulação a laser

Fonte: Autor, 2016


19

2.1.2 Sistemas de segurança para AGV

2.1.2.1 Sistema de segurança com laser scan

O sensor instalado na parte frontal do veículo detecta objetos e/ou pessoas


que estão na trajetória do mesmo, levando o veículo a uma parada segura antes do
contato com o obstáculo. Como mostrado na figura 5, normalmente usam-se duas
configurações de campos de detecção: um maior, que é o campo de advertência,
que quando atuado o sensor ocorre a desaceleração, e um segundo campo, o de
segurança, o qual resulta na parada total. O tamanho destes campos podem variar
conforme a velocidade em que o veículo se desloca e a carga que transporta (SE-
LETTRA, 2015).

Figura 5: Sistema de segurança com laser scan

Fonte: Autor, 2016

2.1.2.2 Sistema de segurança com Bumper (para-choque)

Usa-se uma chave fim de curso acoplado ao Bumper (para-choque), que


quando ocorre o contato com o obstáculo é atuado e interrompe a operação do
veículo (figura 6). Normalmente o Bumper é de plástico, metal flexível ou espuma.
Este sistema tem como vantagem o menor investimento e é menos afetado pela
sujeira/pó, comparado ao sistema laser. Por outro lado, não é indicado para AGV
de grande porte ou alta velocidade, devido a interrupção do movimento ocorrer so-
mente após o contato com obstáculo (SELETTRA, 2015).
20

Figura 6: Sistema de segurança com bumper

Fonte: Autor, 2016

2.2 UTILIZAÇÃO DA TECNOLOGIA DE ROBÓTICA MÓVEL PARA ENTREGAS


EM AMBIENTE HOSPITALAR

Muitas entregas de materiais incluindo amostras de sangue, medicamentos,


roupas de cama e refeições são necessárias em um hospital. Funcionários e en-
fermeiros, que são os principais executores destas atividades, estão cansados de
ir e retornar longas distâncias empurrando ou puxando materiais pesados. A dis-
tância percorrida por estas pessoas chega a 10 km durante o seu turno. Com esta
situação, os hospitais cada vez mais, buscam alternativas para reduzir este esforço
humano, assim, robôs móveis cada vez mais passam a serem utilizados com obje-
tivo de ajudar nas tarefas de transporte (JEON; LEE, 2016).
O robô Pyxis HelpMate SP (figura 7), o qual foi desenvolvido pela empresa
HelpMate Robotics, é o primeiro sistema para navegar autonomamente através de
hospitais e outros centros médicos, operando de forma independente e utilizando
elevadores, sem a utilização de sistemas de orientação externos, tais como faixas
fixas ou fios de guia. O Pyxis HelpMate SP é operado por bateria e emprega a
tecnologia de rádio sem fio e software proprietário para orientá-lo de um ponto a
outro. Com uma carga útil de 91 kg e vários compartimentos com fecho para ar-
mazenamento, o robô é capaz de transportar sem problemas, itens farmacêuticos,
amostras de laboratório, equipamentos e suprimentos, refeições, registros médicos
e filmes de radiologia (O’KEEFE, 2003).
21

Figura 7: Robô Pyxis HelpMate SP

Fonte: Adaptado O’KEEFE, 2003

O robô MKR (Muratec Keio Robot) (figura 8), trata-se de um robô autônomo
desenvolvido para aplicações de transporte no domínio hospitalar. Este robô têm
um sistema de quatro rodas de roletes multi-direcionais nas quatro rodas, o qual é
utilizado para melhorar a liberdade o movimento e a estabilidade do robô enquanto
está em movimento. Também é dotado de sensores laser, display para mensagens,
câmera esteroscópica e sensores ultrassônicos. O módulo de visão do robô é capaz
de reconhecer as pessoas ao seu redor, usando uma câmera colocada na cabeça.
O sistema é capaz de agarrar ambos os quadros da câmara direita e esquerda, e
processá-los ao mesmo tempo, a fim de calcular a informação sobre a distância
entre o robô e as pessoas e/ou obstáculos ao seu redor (TAKAHASHI, 2009).

Figura 8: Robô MKR (Muratec Keio Robot)

Fonte: Adaptado TAKAHASHI, 2009


22

O robô TUG, desenvolvido pela empresa Aethon, utiliza sistema de navega-


ção autônoma inteligente, onde um mapa da instalação hospitalar é criado. A dispo-
sição das instalações é então programada com rotas incluindo o uso de elevadores,
portas de abertura automática (a comunicação ocorre através do sistema WiFi),
pontos de entrega e estações de carregamento. O mapa programado é carregado
na memória do robô. O TUG usa o mapa on-board para orientação e calcula sua
localização em tempo real através de um algoritmo de odometria. (AETHON, 2016).

Figura 9: Robô TUG

Fonte: Adaptado AETHON, 2016

2.3 MECÂNICA

2.3.1 Processos de Conformação Mecânica

Os processos de fabricação de peças metálicas por conformação mecânica


são responsáveis pela produção de um grande número de produtos. Estes proces-
sos podem ser categorizados de acordo com o tipo de esforço que é aplicado, que
são: processos de compressão direta, indireta, tração, dobramento e cisalhamento
(CHIAVERINI, 1986).

2.3.1.1 Processo de Trefilação

O processo de trefilação é um processo mecânico a frio, que consiste na


passagem forçada de um perfil, barra, tubo ou fio, por uma fieira (matriz) por meio de
23

aplicação de uma força de tração, conformando do diâmetro inicial para o diâmetro


final desejado, como mostrado na figura 10 (HELMAN; CELTIN, 2010).
A fieira é o dispositivo básico para trefilação. Para garantir sua longa durabi-
lidade, as fieiras de trefilação são comumente construídas utilizando carboneto de
tungstênio. Sua geometria é dividida em ângulo de entrada, ângulo de trefilação,
zona de calibração e ângulo de saída (HELMAN; CELTIN, 2010).

Figura 10: Ilustração do processo de Trefilação

Fonte: Adaptado (HELMAN; CELTIN, 2010)

2.3.1.2 Processo de Extrusão

A extrusão é um processo de deformação de metais em estado plástico, no


qual consiste em forçar a passagem do material através de uma abertura da ferra-
menta que é chamada de matriz, mediante aplicação de pressões elevadas geradas
por força mecânica ou hidráulica (HELMAN; CELTIN, 2010; SCHAEFER, 2004).
Geralmente emprega-se o processo de extrusão para conformação de tubos,
perfis e barras, tanto de metais leves como de aço. Basicamente, existem dois pro-
cessos de extrusão: o direto, que é o mais empregado, neste caso, um extremo da
carcaça possui a ferramenta (matriz) e o outro extremo, o pistão (êmbolo), como
ilustrado na figura 11. No caso do processo indireto, cujo é o processo mais antigo,
o material sai da extrusora através do êmbolo. Desta forma, não existe movimento
relativo entre parede da ferramenta e material, assim reduz-se a força de atrito
(SCHAEFER, 2004).
24

Figura 11: Ilustração do processo de Extrusão

Fonte: Autor, 2016

2.3.1.3 Processo de Forjamento

O forjamento é um processo de conformação mecânica pela prensagem ou


pelo martelamento, que normalmente são realizadas a quente. Em princípio, exis-
tem dois tipos de equipamentos para forjamento, que são: martelos de queda ou
forja e as prensas. No caso dos martelos de queda ou forja, são aplicados no metal
golpes rápidos e sucessivos, com o emprego de matrizes abertas ou ferramentas
simples. Desta forma, quando o martelo toca o metal atinge-se a máxima inten-
sidade de pressão, decrescendo rapidamente à medida que a energia do golpe é
absorvida pela deformação do metal. No caso da prensagem, e atingido a máxima
pressão pouco antes dela ser retirada. A prensagem atinge camadas mais profun-
das, resultando em uma deformação mais regular, devido à aplicação do esforço de
deformação ser de forma gradual (CHIAVERINI, 1986).

2.3.1.4 Processo de Laminação

A laminação consiste na passagem forçada do metal entre dois cilindros que


giram em sentido oposto e com a mesma velocidade superficial, que estarão distan-
ciados a uma distância menor que o valor da espessura que se pretende obter. Ao
passar entre os cilindros, o metal sofre deformação plástica tendo sua espessura
reduzida e comprimento e largura aumentada, como ilustrado na figura 12 (CHIA-
VERINI, 1986).
Durante a laminação, é raro o material ser passado somente uma vez entre
os cilindros de laminação, devido à redução da área almejada normalmente não
poder ser conseguida em um só passe. Desta forma, o equipamento de laminação
25

deve ser capaz de submeter o material a uma sequência de passes. No caso de


chapas e placas, o processo de laminação apresenta bom controle dimensional e
boa produtividade devida sua continuidade (HELMAN; CELTIN, 2010).

Figura 12: Ilustração do processo de Laminação

Fonte: Autor, 2016

2.3.1.5 Processo de Estampagem

A estampagem é um processo de conformação mecânica realizado a frio,


cujo é caracterizado por trabalhar com matéria prima de espessura fina, como: cha-
pas, perfis ou tubos de parede fina. Para este processo é empregado as prensas
de estampagem, com o auxílio de dispositivos chamados de estampos ou matri-
zes. Comumente, o processo de estampagem compreende as operações de: corte,
dobramento/encurvamento e estampagem profunda. No caso do corte, consiste-
se em obter uma forma geométrica determinada, partindo de uma chapa a qual é
submetida à ação do punção de corte, que é acionado por uma prensa, exercendo
pressão sobre a chapa que está apoiada numa matriz (CHIAVERINI, 1986; SCHA-
EFER, 2004).

2.3.2 Materiais para construção mecânica

2.3.2.1 Aços Carbono

Os aços carbono constituem o mais importante grupo de materiais utilizados


na engenharia e na indústria, são ligas ferro-carbono com teor de carbono inferior a
2% e alguns elementos residuais em teores muito reduzidos, como enxofre, fósforo,
silício, dentre outros (NUNES, 2012; CHIAVERINI, 2008).
26

A quantidade de carbono define sua classificação: os aços com baixo teor


de carbono possuem menos de 0,25% de carbono, possui excelente ductilidade e
tenacidade, baixa dureza e fraca resistência à erosão e corrosão. Geralmente não
é tratado termicamente. Algumas aplicações típicas são: chapas automobilísticas,
construção civil, perfis de uso geral, chapas para produção de tubos, entre outros.
Os aços com médio teor de carbono são aqueles que têm de 0,25 a 0,75% de
carbono, possuem menor ductilidade e tenacidade e maior dureza e resistência do
que o baixo carbono. Diferente do baixo carbono, este apresenta quantidade de
carbono suficiente para receber tratamento térmico. Algumas aplicações típicas
são: rodas e trilhos rodoviários, engrenagens, peças para máquina resistentes à
abrasão, entre outros. Os aços com alto teor de carbono são os aços que têm
0,76% a 1,4% de carbono, é aquele que possui maior dureza e resistência, porém
a menor ductilidade entre os aços carbono. Comumente são utilizados revenidos
ou temperados. Algumas aplicações típicas são: molas, matrizes, ferramentas,
lâminas de serras, entre outros (NUNES, 2012).

2.3.2.2 Alumínio

O alumínio é caracterizado pela baixa massa específica em comparação com


outros materiais metálicos. É um material leve e possui boa resistência à corrosão,
condutividade térmica e elétrica. Estas características, além da abundância de seu
minério principal, vêm tornando o alumínio o metal mais importante, após o ferro.
O alumínio puro tem baixa resistência mecânica e baixo nível de dureza, os quais
podem ser modificados através do acrescento de elementos químicos obtendo-se
uma liga ou com trabalho a frio, obtendo-se materiais de alta resistência mecânica.
O baixo peso específico do alumínio torna-o de grande utilidade em equipamentos
de transporte rodoviário, ferroviário, aéreo e naval, e na indústria mecânica, numa
grande variedade de aplicações (NUNES, 2012; CHIAVERINI, 1986).

2.3.2.3 Polietileno

O polietileno é um polímero térmoplástico, flexível e parcialmente cristalino,


que pode ser obtido para aplicações em três níveis de peso molecular: PEBPM,
PEAPM e PEUAPM. O PEBPM - Polietileno de baixo peso molecular e cadeia ra-
mificada, que comumente denominado de polietileno de baixa densidade, possui
uma combinação de propriedades de alta resistência à impacto, alta flexibilidade,
27

tenacidade e boa processabilidade. Pode ser processado através do processo de


extrusão, injeção e sopro. Assim sendo, pode ser aplicado para fabricação de recipi-
entes, brinquedos, utensílios domésticos, etc.. O PEAPM - Polietileno de alto peso
molecular e cadeia linear, também chamado de polietileno de alta densidade. Pos-
sui como característica a excelente resistência química e maior dureza (comparado
ao PEBPM). Desta forma, pode ser aplicado para fabricação de vasilhames, fitas de
lacre, sacos plástico, baldes, etc.. O PEUAPM - Polietileno de altíssimo e ultra-alto
peso molecular, também conhecido como simplificadamente UHMW. Possui como
característica a alta resistência à abrasão, alta dureza, alta resistência à fratura por
impacto, baixo coeficiente de atrito e boa resistência à corrosão. Assim sendo, este
pode ser usado para fabricação de placas de revestimento e revestimentos anticor-
rosivos para tubulações submersas ou enterradas, engrenagens, revestimentos de
cabos elétricos, tubos para água e gás, etc. (COUTINHO; MELLO; SANTA MARIA,
2003; NUNES, 2012).

2.3.2.4 Policarbonato

O Policarbonato é um termoplástico de engenharia composto de uma resina


resultante da reação entre derivados do Bisfenol A e o Ácido Carbônico. São polí-
meros que podem ser obtidos em pesos moleculares entre 10000 a 30000, e sua
densidade é de 1,2. O Policarbonato é semelhante ao vidro, possui alta transpa-
rência, que pode chegar acima de 90%. Essa transparência é obtida devido à sua
estrutura amorfa. Dentre todos os termoplásticos, o policarbonato é o que possui
maior resistência ao impacto, sem qualquer aditivação, a não ser os elastômeros.
Possui características de alta resistência mecânica, boa resistência química, e van-
tagens como excelente isolamento termo-acústico, baixo peso e maior resistência
ao fogo, que o tem tornado muito conhecido passando a ser utilizado em diversas
aplicações (NUNES, 2012; CHIAVERINI, 1986).

2.4 ELETRÔNICA

2.4.1 Microcontrolador

Um microcontrolador é um dispositivo eletrônico que possui inteligência pro-


gramável utilizado para controlar processos lógicos ou aspecto do ambiente. Reú-
nem em um único componente os elementos de um sistema microprocessado com-
28

pleto, como: memória ROM, memória RAM, interface paralela, interface serial, tem-
porizador, contador de eventos, controlador de interrupções, entradas e saídas, en-
tre outros. A parte mais importante do microcontrolador é o microprocessador ou a
Unidade de Processamento Central (CPU - Central Processing Unit), cuja finalidade
é interpretar as instruções de programa (BOLTON, 2010; SOUZA, 2005).
Para funcionamento de um sistema mecatrônico, é utilizado um controlador
que pode ser designado como o cérebro desse sistema. Esses controladores são
computadores embutidos em um sistema, com o tamanho reduzido e funções es-
pecíficas e são conhecidos como microcontroladores. Os microcontroladores são
microprocessadores em forma de chip, os quais possuem memória e interfaces de
entrada e saída integradas em um mesmo elemento (BOLTON, 2010).
Nos microcontroladores pode ser utilizada a linguagem Assembly (linguagem
de nível baixo), a qual apresenta o mesmo conjunto de instruções do definido pelo
fabricante. A desvantagem dessa linguagem em relação à linguagem C, a Basic e
a PL/M (linguagens de nível alto) é a quantidade de detalhes que apresenta. Para
realizar a interface do programa elaborado na linguagem escolhida e o microcontro-
lador passando suas informações para o dispositivo, faz-se necessária a utilização
de um software para realizar a compilação dessas informações transformando em
código de máquina ou código binário (BOLTON, 2010; SOUZA, 2005).

2.4.1.1 Microcontrolador Microchip PIC16F877A

O PIC é um microcontrolador produzido pela Microchip, muito utilizado e fa-


cilmente encontrado no mercado.
Esses microcontroladores são da família que utiliza o termo PIC e sua es-
trutura é baseada na arquitetura Harward. Nesse tipo de arquitetura, diferente dos
outros microcontroladores, pode-se buscar as instruções a cada ciclo sem que haja
espera. A execução é realizada no ciclo de busca subsequente possibilitando um
aumento na velocidade de execução. Para o PIC pode-se utilizar tanto a linguagem
C, quanto a Assembly. No caso da linguagem C ela é padronizada pela ANSI, sendo
que a Assembly é diferente para microcontroladores diversos (BOLTON, 2010).
O PIC16F877A possui palavras de dados com tamanho de 8 bits, e 14 bits
para palavras de instrução. Este comprimento da palavra de instrução do PIC16F877A
faz com que a maioria das instruções possa ser executada dentro de um único ciclo
de máquina, isso é um dos motivos da grande velocidade que se consegue nestes
microcontroladores. Possui 40 pinos, o que possibilita a montagem de um hardware
29

complexo e capaz de interagir com diversos recursos e funções ao mesmo tempo


(MICROCHIP, 2003).
O significado do número 16 é que ele faz parte da família "MID-RANGE", a
letra F diz que a memória de programa deste microcontrolador PIC é do tipo "Flash".
Possui 8.000 linhas e cada linha da memória é uma palavra de 14 bits. Os últimos
três números identificam precisamente o PIC, que neste caso é um PIC do tipo
877. A referência 16F877A pode ter um sufixo do tipo -XX", onde XX representa a
frequência máxima do relógio que o PIC pode receber (MICROCHIP, 2003).
Os microcontroladores da série PIC16F877 são dispositivos computacionais
extremamente adequados para experimentação e pequenos projetos. Devido ao
seu baixo custo e facilidade de programação, podem ser empregados em aplicações
onde até recentemente se utilizavam componentes discretos (ex.: temporizadores
e controladores de temperatura) (MICROCHIP, 2003).
O PIC16F877A (figura 13) possui portas de entradas analógicas, que po-
dem receber sinais continuadamente variáveis entre “zero” e 5 volts. Estes sinais
analógicos são convertidos internamente em valores digitais entre “zero” e 0x3FF
(quando o conversores de 10 bits é utilizado) , ou 0xFF, se utilizamos conversores
de oito bits. Além das portas de entrada e saída (33 portas), o PIC16F877A possui
inúmeros outros periféricos, tais como: gerador de PWM, USART (interface serial),
contadores, conversores, comparadores e outros (MICROCHIP, 2003).

Figura 13: Pinos de Conexão PIC16F877A

Fonte: Adaptado MICROCHIP, 2003


30

2.4.2 Ponte H

A ponte H é um circuito eletrônico que permite que a velocidade e a dire-


ção do motor possam ser controladas. Muitas vezes, os motores são controlados a
partir do microcontrolador, para realizar um objetivo mecânico. O microcontrolador
fornece as instruções para os motores, mas não pode fornecer a potência necessá-
ria para acionar os motores (SIEBEN, 2003).
O circuito ponte H possui entradas que recebem as instruções do microcon-
trolador e faz amplificação para conduzir um motor mecânico (SIEBEN, 2003).
A maioria dos motores de corrente continua tem a necessidade de girar nos
dois sentidos (horário e anti-horário), para isso, o circuito de ponte H é utilizado,
determinando um sentido da corrente e valor e tensão no controle do motor, fazendo
isso somente com um sinal de entrada lógica de nível baixo ou alto. E também pode
ser usada para "frear"o motor, quando o motor permanece parado (SIEBEN, 2003;
PATSKO, 2006).
O circuito da ponte H é construído com quatro chaves em cada ponte SW1,
SW2, SW3 e SW4 (figura 14) que são acionadas de forma alternada SW1 e SW4
ou SW2 e SW3. De acordo com a configuração das chaves, o motor irá girar em
um sentido. Para “frear” o motor quando ele estiver parado, devemos ligar as cha-
ves SW1 e SW3 ou SW2 e SW4. A tabela 1 demonstra todas as combinações e
ações da Ponte H. As chaves SW1 e SW2 ou SW3 e SW4, não podem ser ligadas
ao mesmo tempo, pois isso ocasionará um curto circuito na ponte, e danificará o
equipamento (PATSKO, 2006).
Para controlar a variação de velocidade dos motores será utilizada a modu-
lação PWM, pois variando o ciclo de PWM será variada a tensão média que os
motores estarão sendo submetidos e consequentemente sua velocidade. A modu-
lação PWM é um tipo de modulação que mantém a amplitude dos pulsos constantes
e varia sua largura proporcionalmente ao sinal modulador nos instantes correspon-
dentes (PATSKO, 2006).
31

Figura 14: Ponte H

Fonte: Autor, 2016

Tabela 1: Combinações de chaves da Ponte H

(0 = Chave aberta, 1 = Chave fechada)

SW1 SW2 SW3 SW4 AÇÃO

1 0 0 1 Motor gira em um sentido

0 1 1 0 Motor gira sentido oposto

1 1 1 1 Condição proibida

0 1 0 1 Motor parado "freado"

1 0 1 0 Motor parado "freado"


Fonte: Autor, 2016

2.4.3 Sensores

Na robótica móvel ou em sistemas comerciais, industriais é necessário ter


um monitoramento ou controle dos valores das variáveis físicas do local. Para isso
seja possível, são utilizados os sensores e os atuadores. Os sensores também
são conhecidos como transdutores, que convertem uma grandeza de entrada, em
32

um sinal analógico ou digital para o robô (THOMAZINI; ALBUQUERQUE, 2010;


ROMERO et al., 2014).
Uma grande variedade de sensores é usada em robôs móveis. Alguns sen-
sores são usados para medir os valores simples, como a temperatura interna de
um circuito eletrônico de um robô ou a velocidade de rotação dos motores. Ou-
tros sensores mais sofisticados podem ser usados para obter informações sobre o
ambiente do robô ou mesmo para medir diretamente a posição global de um robô
(SIEGWART; NOURBAKHSH; SCARAMUZZA, 2011).
Pode-se classificar os sensores usando dois eixos funcionais importantes:
proprioceptivos (interno) ou exteroceptivos (externo) e passivo ou ativo. Sensores
proprioceptivos (sensores internos) medem valores internos para o sistema (robô),
por exemplo, a velocidade do motor, carga do motor e tensão da bateria. Senso-
res exteroceptivos adquirem informações a partir do ambiente do robô, por exem-
plo, medições de distância, intensidade de luz e amplitude de som. Com isso as
medições do sensor exteroceptivos são interpretados pelo robô, a fim de extrair
características ambientais significativos. Sensores passivos medem a energia do
ambiente que entra no sensor. Exemplos de sensores passivos incluem sondas de
temperatura, microfones e câmeras CCD ou CMOS (SIEGWART; NOURBAKHSH;
SCARAMUZZA, 2011; TZAFESTAS, 2014; ROMERO et al., 2014).
Sensores ativos emitem energia no ambiente, em seguida, medem a reação
do ambiente. Porque os sensores ativos podem gerenciar interações mais con-
troladas com o ambiente, que muitas vezes obtém um desempenho superior. No
entanto, a detecção ativa apresenta vários riscos: a energia de saída pode afetar
as características que o sensor está tentando medir. Além disso, um sensor ativo
pode sofrer de interferência entre o sinal e aqueles que estão além de seu controle.
Por exemplo, os sinais emitidos por outros robôs nas proximidades, ou sensores se-
melhantes no mesmo robô, podem influenciar as medições resultantes. Exemplos
de sensores ativos incluem encoder, sensores ultrassônicos e a laser (SIEGWART;
NOURBAKHSH; SCARAMUZZA, 2011; TZAFESTAS, 2014; ROMERO et al., 2014).

2.4.3.1 Sensores Ópticos

Sensores Ópticos (fotoelétricos), são sensores comuns utilizados em apli-


cações industriais, podem ser divididos em três grupos básicos: por transmissão
(barreira de luz) , retrorrefletor e difuso. Faixas eficazes variam de alguns centíme-
33

tros para vários metros. Nas aplicações robóticas mais comuns, incluem a detecção
do chão, referências de navegação e para evitar colisões (EVERETT, 1995).
O desempenho real depende de vários fatores. Faixas eficazes são uma das
funções das características físicas (isto é, o tamanho, a forma, a refletividade, e
materiais) do objeto a ser detectado, a sua velocidade e direção do movimento,
o formato do sensor, a qualidade e a quantidade de energia irradiada ou rece-
bida. A repetibilidade na detecção baseia-se no tamanho do objeto alvo, mudanças
nas condições ambientais, variações na refletividade, características do material do
alvo, e a estabilidade do próprio circuito eletrônico. Características operacionais de
cada tipo de sensor em particular, pode muitas vezes ser exploradas para aper-
feiçoar o desempenho de acordo com as necessidades da aplicação (EVERETT,
1995).

Sensor óptico por transmissão (barreira de luz)

Elementos de emissão e recepção estão separados fisicamente, localizados


em cada lado da região de atuação. O transmissor emite um feixe de luz, muitas
vezes fornecidos em configurações mais recentes por um LED, que é focado so-
bre um receptor fotossensível, no qual é criado uma barreira de luz entre si (figura
15). Qualquer objeto que passe entre o emissor e o receptor interrompe o feixe,
interrompendo o funcionamento do circuito (EVERETT, 1995; THOMAZINI; ALBU-
QUERQUE, 2010; MAGRIN, 2015).
Além de alguns casos especializados de detecção interna (tais como certos
tipos de leitores ópticos) sensores de modo oposto têm pouca aplicabilidade a sis-
temas robóticos móveis devido à sua configuração geométrica (oposição do par de
elementos emissor e receptor) (EVERETT, 1995).

Figura 15: Funcionamento do sensor óptico por transmissão

Fonte: Autor, 2016


34

Sensor óptico retrorrefletor

Nos sensores retrorrefletores, o emissor e o receptor estão montados na


mesma peça (corpo), através do uso de um espelho para refletir a energia emitida
de volta para um detector localizado diretamente ao lado do emissor (EVERETT,
1995; THOMAZINI; ALBUQUERQUE, 2010; MAGRIN, 2015).
Retrorrefletores comuns (figura 16), eventualmente substituem os espelhos,
para reduzir as necessidades de críticos alinhamentos. Os prismas retrorrefletores
têm três superfícies reflexivas perpendiculares entre si e a face da hipotenusa, a luz
que entra através da face hipotenusa e é refletida por cada uma das superfícies e
devolvendo novamente através da face para a sua fonte (EVERETT, 1995).
A distância de acionamento deste tipo de sensor depende das condições do
refletor, tais como: dimensão, instalação e características construtivas, limpeza, etc.
(THOMAZINI; ALBUQUERQUE, 2010).
Na maior parte dos cenários de automação de fábricas, o objeto de interesse
é detectado quando se rompe o feixe, embora algumas aplicações requerem a co-
locação do refletor no próprio produto. Um bom alvo retrorrefletor voltará cerca de
3.000 vezes mais energia para o sensor como seria refletida de uma folha de papel
sulfite (EVERETT, 1995).

Figura 16: Funcionamento do sensor óptico Retrorrefletor

Fonte: Autor, 2016

Sensor óptico difuso

Os sensores de proximidade ópticos na categoria difusa operam de modo si-


milar ao do tipo retrorrefletor, com exceção de que a energia é devolvida a partir da
35

superfície do objeto de contato, em vez de ser a partir de um espelho refletor (figura


17). Este recurso facilita a detecção de objetos aleatórios em ambientes não estru-
turados (EVERETT, 1995; THOMAZINI; ALBUQUERQUE, 2010; MAGRIN, 2015).
Existem algumas vantagens neste tipo de sensor comparado ao sensor ul-
trassônico, que são para a detecção de objetos próximos. Não há intervalo de tempo
considerável desde que a energia óptica propague na velocidade da luz, enquanto
que, é necessário um segundo para atualizar uma sequencia de matriz ultrassônica
de apenas 12 sensores. Além disso, a energia óptica pode ser facilmente focada
para eliminar a interação do sensor adjacente, permitindo assim que vários sen-
sores possam ser disparados simultaneamente. Finalmente, os comprimentos de
onda mais curtos envolvidos, reduzem grandemente os problemas devido à reflexão
especular1 , resultando numa detecção mais eficaz das superfícies fora do normal
(EVERETT, 1995).

Figura 17: Funcionamento do sensor óptico difuso

Fonte: Autor, 2016

2.4.3.2 Infravermelho

A luz infravermelha pode ser produzida por um LED ou um laser. O compri-


mento de onda da luz infravermelha que é emitida é algo entre 820 e 880 nm. A
maioria das superfícies tem uma rugosidade maior do que o comprimento de onda
da luz incidente e assim ocorre a reflexão difusa, isto é, a luz é refletida é quase
1
Reflexão especular: é o reflexo espelhado da luz ou tipos de onda em uma superfície, onde a luz
de uma única direção de entrada é refletida em uma única direção de saída (RAMALHO; FERRARO;
SOARES, 1988).
36

isotrópica2 . O componente da luz infravermelha que cai dentro da abertura do sen-


sor, retorna quase paralela ao feixe transmitido para objetos distantes (figura 18). O
sensor envia uma luz modulada em amplitude de 100% a uma dada frequência F e
mede a mudança de fase entre os sinais transmitidos e os sinais refletidos (figura
19) (TZAFESTAS, 2014).

Figura 18: Infravermelho

Fonte: Autor, 2016

Figura 19: Fases dos sinais

Fonte: Adaptado TZAFESTAS, 2014

2.4.3.3 Sensor Ultrassônico (Sonar)

Todos dos sensores de proximidade necessitam da presença de um objetivo


para modificar diretamente alguma característica ou propriedade elétrica (indutância
2
Isotrópica: que possui propriedades físicas que são independentes da direção (FERREIRA,
1999).
37

ou capacitância). O sensor de proximidade ultrassônico é um exemplo do sensor re-


fletivo que responde a modificações e a quantidade da energia emitida, retornando
para o receptor depois da interação com o objetivo alvo, mesmo que o objeto seja
transparente (EVERETT, 1995; THOMAZINI; ALBUQUERQUE, 2010).
Sensores ultrassônicos possuem um cone relativamente estreito, para ter
uma cobertura de 360◦ , uma configuração típica para um robô móvel, é que ele
utilize 24 sensores, cada sensor fará o mapeamento de aproximadamente 15◦ (TZA-
FESTAS, 2014).
Sensores de proximidade ultrassônicos são úteis ao longo de distâncias para
vários metros para detectar a maioria dos objetos, líquidos e sólidos. Se um objeto
entra no campo acústico, energia é refletida de volta para o receptor. Como é o
caso com qualquer sensor refletivo, a faixa de detecção máxima depende não só
dos níveis de potência emitida, mas também da área do alvo de secção transversal
do objeto, a refletividade e a direção. Uma vez que a amplitude do sinal recebido
chega a um limiar predeterminado, a saída do sensor muda de estado, indicando a
detecção. Devido ao surgimento de microcontroladores de baixo custo, tais disposi-
tivos, para a maioria das situações foram substituídos por sistemas mais versáteis
de ultrassons, que fornecem um indicador quantitativo da distância para o objeto
detectado (EVERETT, 1995).
O princípio de funcionamento desses sensores, inclui a emissão de um curto
sinal acústico (com uma duração de cerca de 1 ms), em uma frequência ultrassônica
de 50 à 250 kHz e a medição do tempo é feita a partir da emissão do sinal até o
eco volta ao sensor. A energia é emitida em impulsos, e a distância é calculada a
partir do tempo-de-voo (time-of-flight), isto é, o tempo de emissão e recepção. O
tempo do voo medido é proporcional a duas vezes a distância do o obstáculo mais
próximo no cone do sensor. Se nenhum sinal retornar dentro de um período máximo
de tempo, então nenhum obstáculo é detectado dentro da distância correspondente
(TZAFESTAS, 2014).
O mercado comercial dispõe de vários tipos de sensores ultrassônicos, um
modelo que é muito utilizado é o HC-SR04 (figura 21), que de acordo com o seu
manual CYTRON (2013), tem a capacidade de medir uma distância entre 2 cm à
400 cm, e a sua precisão pode chegar até 3 mm. Sua frequência de trabalho é de
40 kHz. Para calcular a distância (figura 20) efetuada pelo sensor utiliza-se a equa-
ção 2.1, onde ‘d’ representa à distância percorrida, ‘v’ a velocidade de propagação
da onda (velocidade do som = 330 - 350 m/s no ar), e ‘t’ (segundos) o tempo de
voo (SIEGWART; NOURBAKHSH; SCARAMUZZA, 2011; TZAFESTAS, 2014; MA-
38

GRIN, 2015).

Figura 20: Funcionamento do Sensor ultrassônico (Sonar)

Fonte: Autor, 2016

v.t
d= (2.1)
2

Figura 21: Sensor ultrassônico HC-SR04

Fonte: Autor, 2016

2.4.3.4 Sensores Laser

Os sensores de proximidade laser constitui um grupo especial de sensores


ópticos que têm um alcance que variam de centímetros até metros. Eles são co-
mumente chamados de radar de raio laser, no meio acadêmico conhecido como
LIDAR (Light Detection and Ranging), e no meio militar conhecido como LADAR
(Laser Detection and Ranging). Eles também podem ser empregues como raio a
laser altímetros para evitar obstáculos ou para detecção de veículos em rodovias
(TZAFESTAS, 2014; ROMERO et al., 2014; SIEGWART; NOURBAKHSH; SCARA-
MUZZA, 2011).
39

A medição do tempo-de-voo em um sensor laser a longa distância é feito


usando um raio laser pulsado, medindo o tempo decorrido diretamente, como no
sensor sonar. A maneira mais fácil consiste em medir o desvio de fase da luz
refletida (TZAFESTAS, 2014; ROMERO et al., 2014; SIEGWART; NOURBAKHSH;
SCARAMUZZA, 2011).
Os sensores de raio laser fornecem a velocidade e a altura. Os raios laser
rotativos são baseados na rotação de uma onda de 360◦ em mais de 1 ou 2 rpm
e um espelho em 45◦ . Isto supera o problema de áreas escondidas (TZAFESTAS,
2014).
Muitas vezes, eles trabalham em conjunto refletindo sinais luminosos. Os
raios laser rotativos medem a posição angular. Sensor laser de varredura é uma
combinação do sensor de detecção e localização por laser (LIDAR) com os senso-
res laser rotativos, fornecendo tanto alcance e posição angular do objeto detectado
(TZAFESTAS, 2014).
Com relação as fontes de erros das medidas fornecidas pelo sensor laser,
podemos citar os objetos escuros e distantes, terão os valores das medidas menos
confiáveis do que objetos brilhantes e próximos ao sensor. Também não detecta
objetos opticamente transparentes, como o vidro (ROMERO et al., 2014).
Eles não precisam refletir sinais luminosos, por isso são muito úteis. Podem
trabalhar em ambientes não estruturados. Infelizmente, os sensores de raio laser
são muito grandes, pesados e também muito caro. Por esta razão, sensores de dis-
tância infravermelhos são muito populares em robótica móvel (TZAFESTAS, 2014).

2.4.3.5 Chave fim de curso

Estas chaves fim de curso (Limit Swich), possuem um ou mais pares de con-
tatos que fazem o seu acionamento mecânico. Podem ser chaves abertas, com o
acionamento fecham, ligam o circuito elétrico, ou o inverso, chaves fechadas que
ao acionar, desligam o circuito. Estas chaves são utilizadas para indicar os limites,
quando o objeto tem seu deslocamento, e essa chave é acionada, ela poderá limitar
a próxima ação (BOLTON, 2010).
A figura 22 mostra um exemplo de chave fim de curso comercial (SIEMENS,
2012).
A sua especificação está diretamente relacionada com os números de polos
e posições. A quantidade de circuitos separados que fazem parte da mesma ação
de comutação é denominada polo. As posições são os números de contatos indivi-
40

duais que compõe cada polo (BOLTON, 2010).

Figura 22: Chave fim de curso

Fonte: Adaptado SIEMENS, 2012

2.4.3.6 Encoder

É um tipo de sensor que gera pulsos, que pode transformar uma grandeza
física, posição linear ou velocidade angular, em um sinal elétrico mensurável (sinal
digital). Podem ser divididos em dois tipos: o encoder Incremental e o encoder
Absoluto (MAGRIN, 2015; STURM, 2004). Existem diversos tipos e modelos de
encoder no mercado, e um exemplo é a figura 23.

Figura 23: Exemplo de encoder comercial

Fonte: Autor, 2016

O encoder incremental é aquele que detecta a variação de posição na rota-


ção, isso a partir de uma posição definida (figura 24). Ele transforma esta rotação
do eixo numa sequência de pulsos, e a resolução é de acordo com a quantidade de
41

pulsos por volta (STURM, 2004; BOLTON, 2010).

Figura 24: Encoder Incremental

Fonte: Adaptado THOMAZINI e ALBUQUERQUE, 2010

O encoder absoluto é aquele que fornece a posição angular real, através de


uma sequência de códigos, não sendo necessária a contagem de pulsos. Os có-
digos utilizados são o Binário e ou código Gray 3 (figura 25), este último mais usado
(STURM, 2004; BOLTON, 2010).

Figura 25: Encoder Absoluto

Fonte: Adaptado THOMAZINI e ALBUQUERQUE, 2010

2.4.4 Display

Pode-se dizer que o sistema display utiliza indicadores luminosos, tanto para
mostrar um estado ligado ou desligado ou para mostrar caracteres alfanuméricos,
para cada aplicação. Vários são os tipos de display, como o display de cristal lí-
quido (LCD) e diodos emissores de luz (LED): como no display sete e dezesseis
segmentos, alfanumérico, formato matriz de ponto e barra de LED em vários forma-
tos (BOLTON, 2010).
3
Código Gray : inventado por Frank Gray, é caracterizada pelo fato de que na mudança de número,
apenas um bit é mudado por vez (EVERETT, 1995).
42

2.4.4.1 LCD (Liquid Crystal Display )

As siglas LCD, vem do inglês e significa Liquid Crystal Display (em portu-
guês, Display de Cristal Líquido). Módulos de LCD de caracteres alfanuméricos
são interfaces de comunicação visual muito útil e atraente (figura 26). Eles podem
ser encontrados em lugares como em aparelhos eletroeletrônicos, automóveis, ele-
trodomésticos, instrumentos de medição, etc. (figura 26). O LCD representa um
grande avanço tecnológico se for comparado com os primeiros display a LED de 7,
14 ou 16 segmentos. Os materiais de cristal líquido não emitem luz própria, neces-
sita de uma fonte de luz externa que é transmitida ou refletida. Ele é composto por
longas moléculas que tem o formato de barras, são inseridos entre duas folhas de
polímeros que possuem ranhuras microscópicas. As ranhuras destas folhas formam
um ângulo de 90◦ entre elas, isto é, se uma está possui ranhuras na vertical, a outra
terá ranhuras na posição horizontal. Quando não estão polarizadas estas molécu-
las ficam em paralelo com essas placas, e quando são polarizadas, elas fazem uma
suave rotação de 90◦ , permitindo com que a luz seja transmitida (BOLTON, 2010).

Figura 26: LCD

Fonte: Autor, 2016

2.4.4.2 Diodos emissores de luz - LED (Light Emitting Diodes)

São componentes que possuem um baixo custo e necessitam de baixa ten-


são e corrente. Quando estes diodos são polarizados diretamente, eles emitem a
luz em uma faixa de comprimento de onda, que fica concentrada em uma direção
através do uso de refletoras. Os materiais mais comuns usados para a fabricação
deste componente são o arsenieto de gálio, fosfeto de gálio, e ligas de arsenieto de
gálio com fosfeto de gálio (BOLTON, 2010).
43

Display de LED de sete e dezesseis segmentos foram largamente utilizados


como elementos de comunicação visual em painéis, instrumentos etc. A vantagem
de se utilizar esse tipo de componente é que a disposição dos segmentos de LEDs,
os tamanhos dos display e a disposição e numeração dos pinos é na sua maioria
padronizada, permitindo assim que se utilizem display de múltiplos fabricantes. Na
figura 27 pode-se observar um exemplo típico de display de sete segmentos, com
os sete segmentos de LED é possível representar números de 0 a 9 e algumas
letras rudimentares. Os segmentos são identificados por letras de "a"a "g"e o ponto
decimal como "dp". A organização interna dos display de sete segmentos pode
ser na forma de catodo comum (acionando os segmentos através da entrada em
nível alto), ou anodo comum (acionando os segmentos através da entrada em nível
baixo) (BOLTON, 2010).

Figura 27: Display Sete Segmentos

Fonte: Autor, 2016

2.4.5 Bateria

A bateria é definida como um dispositivo eletroquímico que transforma a ener-


gia química em energia elétrica e vice-versa. Ela faz o armazenamento de energia
elétrica para o uso quando necessário. Este processo de transformação é rever-
sível, isto é, a bateria pode ser carregada e descarregada por várias centenas de
vezes (BOSCH, 2007).
Para manutenção do funcionamento de equipamentos existem, dois tipos de
baterias: automotiva e estacionária.
44

2.4.5.1 Baterias automotivas

Em um veículo, a bateria tem como função, o papel de uma unidade de arma-


zenamento químico para a energia elétrica gerada pelo alternador quando o veículo
está em funcionamento (figura 28). Após o motor desligado, essa energia deve
estar disponível para dar partida novamente, onde requer alto gasto de energia du-
rante um curto espaço de tempo. Por esse motivo, a bateria também é chamada
de “bateria de partida”. Elas são projetadas para que não descarreguem mais que
10% de sua capacidade total. A descarga completa influencia diretamente na vida
útil e pode danificar rapidamente este tipo de bateria. A bateria também absorve
os picos de tensão do sistema elétrico do veículo para que eles não danifiquem os
componentes eletrônicos sensíveis (BOSCH, 2007).
As baterias automotivas são fabricadas com placas de chumbo finas e em
maior quantidade comparadas às estacionárias. Esta construção provê maior su-
perfície de contato para a solução acida e com isso consequentemente, fornece
uma maior corrente ao custo de uma degradação mais rápida do material (BOSCH,
2007).

Figura 28: Bateria Automotiva

Fonte: Adaptado BOSCH, 2007

2.4.5.2 Baterias estacionárias

São baterias projetadas para ciclos mais longos, de descargas profundas,


onde se exige mínimo desgaste interno mesmo com repetidas descargas, possui
placas mais espessas e feitas com material (chumbo) de melhor qualidade, e libe-
ram a energia em menor velocidade, ao contrário das baterias de partida. Podem
45

suportam quantidade maior de ciclos de carga e descarga e sofrer até 80% de des-
carga, sem que sua vida útil seja prejudicada (FREEDOM, 2008).
As aplicações típicas de baterias estacionárias incluem sistemas no-breaks,
centrais telefônicas, alarmes, sistemas de som, energia solar e eólica, iluminação
de emergência ou qualquer outra aplicação que demande uma corrente moderada
por mais tempo (figura 29), ao invés de uma grande quantidade de corrente por
alguns segundos (FREEDOM, 2008).

Figura 29: Bateria Estacionária

Fonte: Adaptado FREEDOM, 2008

2.4.6 Motor

Os motores elétricos transformam energia elétrica em mecânica possuindo


vantagens como: facilidade de transporte, limpeza, simplicidade, baixo custo, alto
rendimento e fácil adaptação às condições adversas (CAPELLI, 2008).
Os motores elétricos são utilizados como elemento final para controle de sis-
temas de velocidade ou posição e são divididos em duas categorias, sendo motores
CA e motores CC (BOLTON, 2010).
Os motores CA são mais comumente utilizados, devido à distribuição de
energia elétrica ser feita diretamente em corrente alternada. Os motores CA dividem-
se em dois grupos, sendo motores síncronos que funcionam com velocidade fixa
normalmente nos sistemas de grandes potências e os motores assíncronos, os
quais possuem controle de velocidade através de inversores de frequência e são
os mais utilizados na indústria por serem simples, robustos e de baixo custo (CA-
PELLI, 2008).
46

Os motores CC, por sua vez, possuem dois grupos principais que podem
utilizar, ou não, escovas para estabelecer contato com um anel comutador do rotor,
de uma bobina a outra. O rotor é uma bobina de fio que gira no campo de um ímã
permanente ou de um eletroímã chamado de estator. Ao ser exposta a uma corrente
a bobina gira, mas para que ocorra continuidade nessa rotação há necessidade que
a corrente seja invertida. Os motores CC sem escovas possuem uma sequência de
bobinas no estator e um rotor de ímã permanente. Os motores CC com escova
possuem uma armadura composta por um cilindro de material magnético onde são
montadas em suas ranhuras as bobinas. Pode-se obter o controle de velocidade
através do controle de tensão aplicada na armadura. A obtenção desse controle é
feito através de uma fonte de tensão fixa, que por sua vez provém de uma tensão
variável obtida através de um circuito eletrônico (BOLTON, 2010).

2.5 INFORMÁTICA

2.5.1 Linguagem de Programação

Através do software as instruções são passadas para que o microprocessa-


dor ou microcontrolador para que possam saber o que fazer. Para que uma tarefa
seja executada, é necessária uma série de instruções, que é chamado de programa
(BOLTON, 2010).
São consideradas linguagem de alto nível: BASIC, PASCAL, FORTAN e C,
que são as linguagens de fácil compreensão para os tipos de operações deseja-
das. Mas mesmo assim elas devem ser convertidas para a linguagem de máquina
(BOLTON, 2010; SIEGESMUND, 2014).
Linguagens de baixo nível compreendem as linguagens que são voltadas
para a máquina, são escritas usando as instruções do microprocessador do com-
putador, como por exemplo, a linguagem Assembly (BOLTON, 2010; SCHILDT,
1996).
Segundo Schildt (1996), a linguagem C, C++ e FORTH se encaixam no nível
médio. A linguagem C ela se encaixa neste nível, porque faz uma combinação dos
elementos da linguagem de alto nível com a funcionalidade da linguagem Assembly.
47

2.5.1.1 Linguagem Assembly

A linguagem Assembly é conhecida como uma linguagem de baixo nível


(BOLTON, 2010; SCHILDT, 1996; DIAGO; AMARAL, 2011).
A linguagem Assembly é composto de um conjunto de instruções específi-
cas para cada família de processadores. O sistema digital somente compreende
um certo tipo de linguagem, o código binário, então o código Assembly deve ser
traduzido para o código binário (DIAGO; AMARAL, 2011).
A linguagem Assembly é a linguagem que se utiliza para nos comunicar-
mos com o microcontrolador. A linguagem Assembly substitui códigos binários por
mnemônicos, isto é, nomeia os códigos, permitindo fazer fácil associação com a
função do código. O microcontrolador não entende diretamente um programa es-
crito em linguagem Assembly, então é necessário convertê-la em linguagem de
máquina. O Assembler ou programa Assembler é o responsável por essa transfor-
mação (DIAGO; AMARAL, 2011).

2.5.1.2 Linguagem C

A linguagem de programação C, desenvolvido originalmente pela AT & T Labs


pelos autores Brian Kernighan e Dennis Ritchie, tornou-se uma norma internacional
pela ANSI em 1989, conhecida como C89. Um novo padrão derivado da linguagem
C, definida a linguagem C++ e foi lançado em 1998. C++ tem alguns elementos de
linguagem complexos que o tornam impraticável para uso em um microcontrolador
em oposição a um computador de mesa desktop. A linguagem C é a linguagem
mais comumente usada para programação de microcontroladores. As linguagens
de alto nível usam uma ferramenta chamada de compilador, serve para converter
os arquivos de texto C em um arquivo legível pela máquina (SIEGESMUND, 2014).
Há variações nas extensões de linguagem C entre fornecedores do compila-
dor e entre famílias de microcontroladores. O compilador CCS C, é o compilador
mais popular para os processadores Microchip PIC (SIEGESMUND, 2014).
48

3 DESENVOLVIMENTO

A construção do robô visa a demonstração funcional do projeto e a viabilidade


prática do seu emprego real. As etapas de confecção do sistema robótico foram
divididas em três partes, sendo: mecânica, eletrônica e programação.
A figura 30 apresenta projeto finalizado com as três partes integradas.

Figura 30: Robô concluído

Fonte: Autor, 2016

3.1 MECÂNICA

Para desenvolvimento da mecânica do robô, utilizamos o software de mode-


lagem Solid Works, o qual é um programa que proporciona solução de projeto 3D
para criação rápida de peças, montagens e desenhos em 2D. Este desenvolvimento
foi dividido em quatro grandes etapas: estrutura principal, bumper, suporte do motor
e sistema de transmissão. A figura 31 mostra o conjunto mecânico montado.
49

Figura 31: Conjunto mecânico

Fonte: Autor, 2016

3.1.1 Estrutura principal

A estrutura principal do robô foi confeccionada utilizando perfil modular de


alumínio 30x30 mm (figura 32), a qual permite montagens rápidas com grande flexi-
bilidade, além de dispensar necessidade de pintura, solda e rebarbação. O material
é alumínio, sendo mais leve, tornando melhor os resultados dos motores, diminuindo
desgastes e aumentando a vida útil do sistema.

Figura 32: Perfil modular de alumínio 30x30 mm

Fonte: Autor, 2016


50

A união das partes foram feitas através de sistemas de conectores próprios


para este tipo de estrutura, que são compostos por pinos e porcas, as quais per-
mitem fixação tanto reta como em ângulo. Utilizamos também porcas de perfil, as
quais possibilitam fixação dos componentes utilizando os rasgos (canais) existentes
nos perfis, sem necessidade de nenhuma furação. Os acessórios de fixação utiliza-
dos estão apresentados na figura 33.

Figura 33: Conectores para fixação

Fonte: Autor, 2016

A estrutura principal apresentada na figura 34 e apêndice H, possui as se-


guintes dimensões sem os periféricos: altura de 200 mm, largura 300 mm, compri-
mento 400 mm e pesa 4,1 kg. Todas as peças foram cortadas nas devidas dimen-
sões à partir de uma barra padrão, a qual possuía 6 metros de comprimento.
51

Figura 34: Estrutura principal

Fonte: Autor, 2016

3.1.2 Bumper

O conjunto do bumper, o qual tem como função acionar um sensor em caso


de colisão, possui cinco componentes: para-choque (apêndice K), eixo (apêndice
J), mola, rolamento linear com flange e anel batente (apêndice I). O para-choque foi
confeccionado através de uma chapa de aço inoxidável com 1 mm de espessura,
que teve suas duas bordas dobradas para dar resistência ao componente. Os dois
eixos foram instalados em paralelo, fixados ao para-choque, deslizarão pelos rola-
mentos lineares, comprimindo a mola em caso de colisão. A figura 35 demostra o
conjunto montado.
52

Figura 35: Bumper

Fonte: Autor, 2016

3.1.3 Suporte do motor

O suporte do motor foi confeccionado em alumínio, que através do processo


de fresamento foi usinado nas dimensões de projeto. O suporte possui duas partes,
que são: placa principal e cantoneiras de fixação. A placa principal (apêndice L)
recebeu furação oblonga para permitir o ajuste de altura do motor, assim possibi-
litando melhor acoplamento das engrenagens. As cantoneiras (apêndice M) foram
dobradas em formato "L"e receberam furações para fixação com a placa principal e
estrutura. O conjunto de peças apresentados na figura 36, proporcionou ao sistema
uma fixação robusta do motor e fácil e preciso ajuste.

Figura 36: Suporte do motor

Fonte: Autor, 2016


53

3.1.4 Sistema de transmissão

Para transmitir o movimento do motor para as rodas, confeccionamos engre-


nagens cilíndricas de dentes retos com 20 mm de diâmetro externo e 22 dentes
(apêndice O), as quais foram instaladas em eixos lineares de 8 mm (apêndice N).
Dois conjuntos de rolamentos rígido de esferas modelo 608zz acoplados à mancais
tipo flange sustentam os eixos. Através deste conjunto, o movimento de rotação é
transmitido para as rodas de nylon (apêndice P).

Figura 37: Sistema de transmissão

Fonte: Autor, 2016

3.2 ELETRÔNICA

Para o desenvolvimento da parte eletrônica, foram estudados os sensores


mais apropriados para executar as funções do robô. Com relação ao microcontro-
lador, foi utilizado o PIC 16F877A.
Após a definição dos componentes, conforme o diagrama em blocos(figura
38), foi desenvolvido e simulado com o auxílio do software Proteus v8.0 (apêndice
C), pois com ele é possível simular o seu o funcionamento do circuito.
54

Figura 38: Diagrama em blocos

Fonte: Autor, 2016

3.2.1 Microcontrolador

Para fazer o controle geral do robô seguidor de linha, foi utilizado o micro-
controlador modelo PIC 16F877A de 40 pinos da marca Microchip, pois apresenta
todas as funções necessárias para o funcionamento do robô, como as portas de en-
trada e saída (33 portas), gerador de pulsos PWM, fácil gravação através do sistema
de programação ICSP, contador, entrada analógica,interface serial, comparadores,
entre outros.
É o componente de maior importância para o circuito, pois é ele que fará
a comunicação com os demais componentes, receber e enviar informações para
o funcionamento do robô, o PIC 16F877A recebe informações dos três sensores
HC-SR04, dos três infravermelhos, dos dois botões (figura 39) e limit switch, onde
faz o processamento e envia os dados processados para a ponte H, que acionará
os motores e para o modulo LCD, que mostrará os dados. A placa com o circuito
montado é mostrado na figura 40.
E também por ser um componente que vem sendo estudado e utilizado no
decorrer do curso, nas disciplinas de sistemas dedicados e projeto integrador.
55

Figura 39: Botões de acionamento

Fonte: Autor, 2016

Figura 40: Placa principal montada

Fonte: Autor, 2016

3.2.2 LCD (Liquid Crystal Display)

Para facilitar na visualização dos comandos e programação, foi escolhido o


LCD 16x2 (figura 41).
56

Figura 41: LCD 16x2

Fonte: Autor, 2016

Para fazer a comunicação com microcontrolador PIC16F877A com o LCD,


foram utilizados os seguintes pinos: pino no 4(RS) para registro , pino no 6 (E)enable
(habilita), pinos no 11(D4), no 12(D5), no 13(D6), no 14(D7) para transmissão de da-
dos. Os pinos no 1 (VSS) e no 5 (RW) estão ligados diretamente no nível zero (GND).
O pino no 2 (VDD) está ligado direto no VCC (5 V) e o pino no 3 (VEE) ligado em um
potenciômetro de 10 kohms, para que seja possível ajustar o contraste do LCD. A
figura 42 apresenta o esquemático de ligação do LCD 16x2.
Para efetuar os testes no robô o LCD é de extrema importância, facilita e
auxiliar nos ajustes e calibração dos ultrassônicos, chaves, infravermelhos, testes
das funções e programas, além de minimizar muito o tempo, pois tempo é o que
mais se precisa.

Figura 42: Esquemático de ligação LCD

Fonte: Autor, 2016


57

3.2.3 Motores DC

O conjunto de transferência de torque é composto por 2 motores modelo:


BHP 12 V 0 390 216 666, fabricante BOSCH (modelo que saiu de fabricação), que
apresenta uma caixa de redução acoplada, como mostra a figura 43.

Figura 43: Motor do robô

Fonte: Autor, 2016

O motor equivalente é o modelo F 006 B20 092CC figura 44, de acordo com o
seu manual (BOSCH, 2016), apresenta as seguintes características: tensão nomi-
nais de 12 V, corrente nominal de 4,8 A, corrente máxima de 25 A, potência nominal
de 19 W, Torque nominal de 4,5 Nm. Para ligar o motor à roda será necessária mais
uma engrenagem que fará a transmissão e redução para a roda.

Figura 44: Motor equivalente

Fonte: Adaptado BOSCH, 2016


58

3.2.4 Chave fim de curso

Com a necessidade de um dispositivo de emergência, foi desenvolvido um


sistema (figura 45) que, caso o robô venha a colidir, ter contato, com algum tipo de
obstáculo ou pessoa, ele pare, através do acionamento de uma chave fim de curso
(figura 46) que estará junto ao bumper.
Esse dispositivo não será único, pois ao se aproximar dos sensores ultras-
sônicos, farão também com que o robô pare. Para que o robô volte a movimentar,
deverá ser acionado o comando desejado.

Figura 45: Bumper no robô

Fonte: Autor, 2016

Figura 46: Chave fim de curso do Bumper

Fonte: Autor, 2016

3.2.5 Bateria

Para a alimentação do robô, é necessária uma bateria de bom desempenho


e boa autonomia. Para definir a corrente necessária para ser fornecida pela bateria,
deve-se fazer o calculo da corrente total a ser consumida pelo robô.
59

Para este robô foi utilizado uma bateria de moto marca ERBS modelo 12 V
9BRD com tensão 12 V e corrente de 9 Ah, Comprimento 150 mm, Largura 87 mm
e Altura 106 mm conforme a figura 47.

Figura 47: Bateria que alimenta o robô

Fonte: Autor, 2016

Para os motores a tensão de alimentação será de 12 V, mas para os demais


componentes a tensão de alimentação será de 5 V, então foi necessário montar um
conversor de tensão de 12 V para 5 V utilizando o CI 7805, como ilustra a figura 48,
e o seu esquemático está no apêndice B.

Figura 48: Conversor de tensão

Fonte: Autor, 2016


60

A bateria estacionária é considerada a ideal para se usar no robô seguidor


de linha, devido ao fato de manter a corrente após o acionamento do motor e poder
sofrer várias descargas sem sua inutilização ocorrer de forma rápida.
Considerando os fatores como a corrente a ser utilizada, o peso do robô, a
alimentação dos motores e as características dos motores. Um modelo que pode
ser adequado ao robô é uma bateria de 24 A, modelo DF300, mostrada na figura 49.

Figura 49: Bateria estacionária

Fonte: Autor, 2016

3.2.5.1 Tomada para carregador de bateria

Como a estrutura do robô não permite que se faça a abertura e fechamento


da tampa com frequência, foi fixada um tomada na parte traseira da estrutura que
permitirá o carregamento da bateria com segurança, mostrada na figura 50 (apên-
dice B).
Foi utilizada um tomada comum de 3 pinos, padrão ABNT (Associação Bra-
sileira de Normas Técnicas) de 10 A e 250 V, onde não há o contato com os pinos
no momento do encaixe (INMETRO, 2016).
Normalmente é utilizada em nossas casas, escolas, comércio, entre outros,
para corrente alternada, mas para o robô será utilizada para corrente contínua.
Como possui dois polos, o plugue que deverá ser utilizado também deverá estar no
padrão ABNT, uma vez definido os polos, evitará que haja o erro na ligação, conse-
quentemente não danificará o componente.
61

Figura 50: Tomada para o carregador de bateria

Fonte: Autor, 2016

3.2.6 Ponte H

A ponte H utilizada no robô teve seu desenvolvimento dividido em duas par-


tes, sendo a primeira a definição e cálculo dos parâmetros e dos componentes,
desenho e simulação no software Proteus v8.0 (apêndice A) e posteriormente a
montagem do circuito na placa (figura 51).
Optou-se por utilizar o L298 em paralelo (figura 52), pois a corrente que será
utilizada poderá variar de 1,5 A a 3 A. Por se tratar de um sistema que irá controlar
dois motores houve a necessidade de projetar um circuito duplo de ponte H para
o chaveamento. De acordo com o datasheet do fabricante (STMICROELECTRO-
NICS, 2000), este componente eletrônico disponibiliza de uma corrente máxima de
4 A quando ligado em paralelo.
Com L298, pode-se também controlar o sentido de rotação dos motores de
corrente contínua, apenas alterando apenas alterando o nível lógico do sinal de
saída do microcontrolador.
Para que não haja um fluxo reverso da corrente, colocou-se diodos nas saída,
para a proteção do circuito.
Com uma ponte H, pode-se usar um sinal do tipo PWM, e assim controlar a
sua velocidade.
62

Figura 51: Ponte H desenvolvida para o robô

Fonte: Autor, 2016

Figura 52: Ligação em paralelo L298

Fonte: Adaptado STMicroelectronics, 2000


63

3.2.6.1 Cooling Fan (Ventilador de resfriamento)

O sistema possui duas ponte H, dois motores e uma bateria, e a estrutura


possui poucas arestas para ventilação, notou-se a necessidade de instalar um ven-
tilador de resfriamento (figura 53).
No momento que o botão que alimenta o robô for acionado, o ventilador de
resfriamento irá se movimentar, desligando somente quando o robô for desligado
(apêndice B). A alimentação é de 12 V e corrente de 0,14 A, possui dimensão de
80 mm x 80 mm.

Figura 53: Ventilador de resfriamento

Fonte: Autor, 2016

3.2.7 Sensores

Para a movimentação do robô foram utilizados sensores para controlar o seu


deslocamento de forma ordenada. Para a função de evitar colisão com objetos foi
inserido o sensor ultrassônico. Para o deslocamento sobre uma faixa pré-definida
transitando pela linha, e com o intuito de parar em locais pré-determinados utilizou-
se o sensor infravermelho.

3.2.7.1 Sensores Infravermelho

Para o robô de deslocar em cima da faixa e para detectar qual a posição que
ele se encontra, foi utilizado o sensor Infravermelho Reflexivo.
Seu funcionamento se baseia através de um sistema de reflexão infraver-
melho, no qual um LED emissor Infravermelho fica ao lado de um fototransistor, e
64

quando um obstáculo e/ou objeto passa no seu raio de ação, os sensores emitem
um sinal em nível lógico baixo para a saída que é ligada na porta do PIC.
Utiliza um controlador LM393(circuito integrado amplificador operacional), como
demonstra a figura 54, sua tensão de trabalho é d 3,3 V à 5 V, sua distância de acio-
namento pode variar de 2 cm à 30 cm (ajustável pelo trimpot), o ângulo da sua faixa
de detecção é de 35o , saída digital (1 ou 0).

Figura 54: Infravermelho comercial

Fonte: Autor, 2016

Na figura 55 os componentes brancos representam os LED’s emissores e


os roxos representam os fototransistor, as flechas vermelhas representam o fluxo
da luz emitida pelos LED’s, os retângulos brancos representam a faixa branca que
direcionam o robô (nível lógico alto “1”) e o retângulo preto representa a fita preta
responsável por corrigir o movimento do robô (nível logico baixo “0”).

Figura 55: Robô centralizado na faixa

Fonte: Autor, 2016

Primeiramente foram realizados ensaios de montagem do circuito no proto-


board com apenas 1 sensor para verificar a variação do Infravermelho em relação
à faixa.
Os resultados esperados eram quando a luz emitida pelo LED fosse refletida
na faixa, e seria recebida pelo fototransistor e a saída do sensor apresentaria nível
lógico “1” ou quando a luz atingisse a fita preta o nível lógico de saída seria “0”,
65

conforme mostram as figuras 56 e 57.

Figura 56: Robô deslocado à direita da faixa

Fonte: Autor, 2016

Figura 57: Robô deslocado à esquerda da faixa

Fonte: Autor, 2016

Dessa forma, quando o robô se deslocar para algum dos lados e a luz emi-
tida pelo LED atingir a parte branca, ela aumenta a velocidade do motor do lado
que provocou o desalinhamento deixando apenas o outro motor com a velocidade
normal, o que corrige o movimento do robô em relação ao trajeto pré-definido pela
faixa figura (figura 58).
66

Figura 58: Simulação do Infravermelho no robô

Fonte: Autor, 2016

3.2.7.2 Sensores Sonar

Com base na pesquisa realizada para a aplicação no robô, definiu-se que o


sensor ultrassônico necessário é do tipo HC-SR04 (figura 59), devido a sua fácil
utilização e o mesmo possui uma boa precisão na medição, sua faixa de medição é
de 2 cm à 400 cm com precisão de 3 mm e trabalha em uma frequência de 40 kHz.
Esse sensor quando acoplado a um PIC16F877A, possibilita o desenvolvimento de
uma programação em linguagem de programa C.

Figura 59: Sensor ultrassônico HC-SR04

Fonte: Autor, 2016

Para construir este projeto com um bom desempenho nas leituras, utilizaram-
se três sensores HC-SR04. Sendo que os três sensores estão posicionados na
parte frontal do robô, um ao lado do outro, conforme ilustrado na figura 60.
67

O funcionamento do sensor no robô foi configurado com a medida inicial


acima de 30 cm. Quando não tiver nenhum obstáculo à frente do sensor, o robô
funcionará normalmente. Caso ocorra aproximação de um objeto ou de uma pes-
soa (menor que 30 cm), o sensor fará com que o robô pare.

Figura 60: Sensor ultrassônico HC-SR04 no robô

Fonte: Autor, 2016

3.3 INFORMÁTICA

Essa etapa do projeto apresenta o desenvolvimento relacionado ao controle


do robô, envolvendo a programação propriamente dita.
Para movimentação e funcionalidades do robô, desenvolveu-se um código de
programação na linguagem C.

3.3.1 Programação

Utilizou-se o software PCWHD Compiler, para montar a programação e com-


pilar o mesmo. Este compilador possui a biblioteca do microcontrolador (PIC16F877A),
foi adicionada a biblioteca do LCD (apêndice E) e criada duas bibliotecas: PWM BI-
OMÉDICA (apêndice F) e SONAR BIOMÉDICA (apêndice G), que foram usados
nesse projeto, e que facilitam a programação e a simplificação.
Para gravar o programa no PIC16F877A utilizou-se o software e gravador PIC
K150 Microburn (figura 61), que pode ser feita através da gravação ICSP, por um
cabo de comunicação, ligado diretamente na placa onde se encontra o PIC. A outra
maneira é colocando o microcontrolador PIC direto no gravador.
68

Figura 61: gravador K150 Microburn

Fonte: Autor, 2016

Para a maioria dos testes, foi realizado a simulação no software Proteus v8.0,
mas como este software não permite simulações do ultrassônico, estes foram feitos
testes diretamente na placa.
Os programas para testes e ajustes foram divididos em partes, para se ter
uma maior facilidade. Primeiramente foi elaborado um programa para o teste das
chaves (botões e fim de curso) e sensores infravermelhos, em seguida, a ponte H,
e por final os sensores ultrassônicos. Depois de testados e ajustados foi feita a
integração de todos os componentes e testado a programação final.
O seu funcionamento apresenta-se no apêndice D.

3.3.2 Fluxograma da Programação

A seleção do destino onde será feita a entrega do medicamento é feita atra-


vés dos botões que ficam acima do LCD.
Depois de selecionada, mostrará o paciente de destino no LCD (figura 62) e
o robô iniciará com o movimento para frente, fazendo a leitura dos sensores infra-
vermelho (IR – Infrared), ultrassônico e chave fim de curso (bumper ).
Se a leitura da distância dos sensores ultrassônicos for maior que 30 cm, o
robô continuará seguindo em frente com velocidade normal.
Se o robô detectar um obstáculo e a leitura da distância dos sensores ultras-
sônicos for menor que 30 cm, e ou tiver contato físico com algum tipo de obstáculo
ou pessoa, a chave fim de curso, situado no bumper acionará e o robô irá parar. E
aparecerá no LCD a mensagem mostrada na figura 63.
Após o acionamento da chave fim de curso, será necessário selecionar o
destino novamente.
69

Figura 62: Paciente que será feita a entrega do medicamento

Fonte: Autor, 2016

Figura 63: Parada de Emergência

Fonte: Autor, 2016

Se os infravermelhos de detecção da linha do lado direito e esquerdo não


estiverem acionados, os motores seguirão com velocidade normal em linha reta.
Se o infravermelho de detecção da linha do lado direito estiver acionado, o
motor do lado direito terá sua velocidade aumentada.
Se o infravermelho de detecção da linha do lado esquerdo estiver acionado,
o motor do lado esquerdo terá sua velocidade aumentada.
O infravermelho que está na lateral do robô fará a detecção das posições.
Cada vez que for acionado, contará uma posição, quando a seleção for igual a
contagem do sensor, o robô irá parar que o paciente retire o medicamento. Após re-
tirado o medicamento, será necessário selecionar o comando de uma nova posição
ou de retorno.
O fluxograma apresentado na figura 64, foi criado para uma melhor compre-
ensão da rotina de programação que o microcontrolador executa.
70

Figura 64: Fluxograma do Funcionamento

Fonte: Autor, 2016


71

4 CONSIDERAÇÕES FINAIS

O trabalho apresentado cumpriu sua proposta quanto ao desenvolvimento


de um robô autônomo para transporte de medicamentos para ambiente hospitalar,
demonstrando sua aplicabilidade (mecânica, eletrônica e a programação).
No decorrer do desenvolvimento do robô houveram algumas dificuldades na
parte mecânica, pois a inexperiência fez com que fosse usado somente um mancal,
e isso danificou o eixo, gerando a necessidade de substituir o mesmo. No desen-
volvimento da programação, tivemos problemas no momento de testar os compo-
nentes, no qual foi feito somente um programa, que demandou muito tempo e não
houve sucesso. Então, o programa foi dividido em partes, e os componentes tes-
tados e ajustados individualmente, após isso foi feita a união dos componentes um
a um para chegar à programação final. Com relação a alguns componentes ele-
trônicos, após ficarem um certo tempo sem serem acionados, tivemos problemas
de oxidação em alguns terminais, que causaram o não funcionamento e um certo
atraso, até a descoberta do problema.
Neste projeto ainda poderão ser feitas implementações futuras como adicio-
nar a bússola digital e o encoder, para uma maior precisão de pontos de parada e
até mesmo para mudança de ambientes (elevadores, por exemplo). Um detector de
nível de bateria, que no momento que o robô detectar um nível baixo de energia,
ele retorne para a estação de carregamento e faça isso automaticamente. Após o
carregamento completo da bateria, ele se desacople do carregador e retorne para
as atividades. Dependerá também de um carregador de bateria inteligente. Na me-
cânica, desenvolver duas travas que quando houver a necessidade de carregar um
objeto maior, possa acoplar ao robô através de travas.
A estrutura do robô foi projetada para ocupar o menor espaço dentro do âm-
bito hospitalar, mas para que se possa fazer uma melhor manutenção no robô, é
necessário o aumento do tamanho da estrutura, facilitando assim o acesso aos
componentes sem que haja necessidade de desmontar toda a estrutura.
O desenvolvimento deste projeto visou reunir o máximo de informações ad-
quiridas no decorrer do cursou de Tecnologia em Mecatrônica Industrial.
72

REFERÊNCIAS

AETHON. Smart Autonomous Mobile Robot. Pittsburgh, 2016.


ALI GüRCAN ÖZKIL, Z. F.; DAWIDS, S. A mobile robot for transport applications in
hospital domain with safe human detection algorithm. International Conference on
Automation and Logistics, Guilin, 2009.
BOLTON, W. Mecatrônica: Uma abordagem multidisciplinar. 4 ed. Porto Alegre:
Bookman, 2010.
BOSCH. Manual de Baterias Bosch. São Paulo, 2007.
BOSCH. Motor de corrente contínua com transmissão. 2016. Disponível em:
<http://www.bosch-ibusiness.com/boaaelmoocs/category/CHP>.

CAPELLI, A. Automação industrial: controle do movimento e processos contínuos.


2 ed. São Paulo: Érica, 2008.
CHIAVERINI, V. Tecnologia Mecânica - Processos de fabricação e tratamento. 2
ed. São Paulo: McGraw-Hill, 1986.
CHIAVERINI, V. Aços e Ferros Fundidos. São Paulo: Associação Brasileira de
Metalurgia e Materiais, 2008.
COUTINHO, F. M. B.; MELLO, I. L.; SANTA MARIA, L. C. de. Polietileno: Principais
tipos, propriedades e aplicações. Polímeros: Ciência e Tecnologia, vol. 13, Rio de
Janeiro, 2003.
CYTRON. User’s Manual HC-SR04 Ultrasonic Sensor. Penang - Malaysia, 2013.
DIAGO, R.; AMARAL, V. M. Eletrônica - Eletrônica digital. São Paulo: Fundação
Padre Anchieta, 2011.
EVERETT, H. R. Sensors for Mobile Robots - Theory and Application. 1 ed.
Wellesley, Massachusetts: AK Peters/CRC Press, 1995.
FERREIRA, A. B. H. Novo Aurélio Século XXI: O dicionário da lingua portuguesa.
3 ed. Rio de Janeiro: Nova Fronteira, 1999.
FREEDOM. Manual Técnico: Bateria estacionária FREEDOM. Sorocaba, 2008.
GIL, A. C. Métodos e Técnicas de Pesquisa Social. 7 ed. São Paulo: Atlas, 2008.
HELMAN, H.; CELTIN, P. R. Fundamentos da Conformação - Mecânica dos
Materiais. 2 ed. São Paulo: Artliber Editora, 2010.
INMETRO. Plugues e Tomadas. 2016. Disponível em: <http://www.inmetro.gov.br>.
JEON, S.; LEE, J. Multi-robot multi-task allocation for hospital logistics. Intelligent
Cognition Research Department, Yuseonggu, 2016.
LOGWEB. Veículos guiados automaticamente: tecnologia sem condução.
Polímeros: Jornal LogWeb edição No 65, São Paulo, 2007.
73

MAGRIN, C. E. S. Fusão de Sensores Utilizando Técnica de FINGERPRINT


KNN e Ponderação de Atributos para Localização INDOOR de um Robô Móvel.
Dissertação (Mestrado) — Universidade Federal do Paraná, Programa de
Pós-Graduação em Informática, Curitiba, 2015.
MICROCHIP. Datasheet - PIC16F87XA (28/40/44-Pin Enhanced Flash
Microcontrollers). USA, 2003.
NUNES, L. D. P. Materiais - Aplicações de Engenharia, Seleção e Integridade. Rio
de Janeiro: Editora Interciência, 2012.
O’KEEFE, S. 100 years of powered flight. National Aeronautics and Space
Administration, Washington, 2003.
PATSKO, L. F. Tutorial montagem da ponte h. Maxwell Bohr Instrumentação
Eletrônica, 2006.
RAMALHO, F.; FERRARO, N. G.; SOARES, P. A. T. Os fundamentos da Física 2:
Termologia, Optica Geométrica e Ondas. 5 ed. São Paulo: Moderna Ltda, 1988.
ROMERO, R. A. F. et al. Robótica Móvel. 1 ed. Rio de Janeiro: LTC, 2014.
SCHAEFER, L. Conformação Mecânica. 2 ed. Porto Alegre: Imprensa Livre
Editora, 2004.
SCHILDT, H. C, Completo e Total. 3 ed. São Paulo: Makron Books, 1996.
SELETTRA. Catálogo de Produto - Alguns Conceitos de Sistema de Navegação e
Segurança aplicados a Veículos tipo AGVs. S.J. dos Pinhais, 2015.
SHIKO. Product catalog - Shiko I-System. Kanazawa, 2009.
SIEBEN, V. A high power h-bridge. ARVP - Autonomous Robotic Vehicle Project,
Canadá, 2003.
SIEGESMUND, M. Embedded C Programming - Techniques and Applications of C
and PIC
R MCUS. 1 ed. Massachusetts-USA: Elsevier, 2014.

SIEGWART, R.; NOURBAKHSH, I. R.; SCARAMUZZA, D. Introduction to


Autonomous Mobile Robots. 2 ed. Cambridge, Massachusetts: MIT Press, 2011.
SIEMENS. Chaves Fim de Curso 3SE5 - Catálogo resumido. São Paulo, 2012.
SOUZA, D. J. de. Desbravando o PIC – Ampliado e atualizado para PIC 16F628A.
8 ed. São Paulo: Érica, 2005.
STMICROELECTRONICS. Datasheet - L298 DUAL FULL-BRIDGE DRIVER. Italy,
2000.
STURM, W. Sensores Industriais: Conceito teórico e aplicações práticas. 1 ed. Rio
de Janeiro: Papel Virtual, 2004.
TAKAHASHI, M. et al. Service robots for hospitals: A case study of transportation
tasks in a hospital. International Conference on Robotics and Biomimetics,
Shenyang, 2009.
74

THOMAZINI, D.; ALBUQUERQUE, P. U. B. de. Sensores industriais: fundamentos


e aplicações. 7 ed. São Paulo: Érica, 2010.
TZAFESTAS, S. G. Introduction to Mobile Robot Control. 1 ed. New York: Elsevier,
2014.
75

APÊNDICE A -- Ponte H
A B C D E F G H J K
VMOTOR

C1
0 VDD
0
12V
100nf

VMOTOR
2 C2
1

D3

D5
100nf 9 4
1 1

1N4007
1N4007
5
MOTOR1_HORA IN1 VCC VS HORARIO_M1
7 2
MOTOR1_ANTI IN2 OUT1
5V 10
IN3 ANTI-HORARIO_M1
OUT 1

VDD
2 12 3
IN4 OUT2
1 6 1
PWM 1 ENA HORARIO_M1
11 13 2
2 ENB OUT3 ANTI-HORARIO_M1 2
1 14
SENSA OUT4
15
SENSB GND

L298

D2

D4
8
MOTOR_1_IN
3 3
2

1N4007
1N4007
MOTOR1_HORA
1
MOTOR1_ANTI
HORARIO_M1 ANTI-HORARIO_M1

MOTOR_2_IN
4 VMOTOR 4
2
MOTOR2_HORA
1 C4
MOTOR2_ANTI
HORARIO_M2 ANTI-HORARIO_M2
VDD

100nf
C5
5 PWM 5
2

D7

D9
PWM 1
1 100nf 9 4
PWM 2 OUT 2

1N4007
1N4007
5 1
MOTOR2_HORA IN1 VCC VS HORARIO_M2 ANTI-HORARIO_M2
7 2 2
MOTOR2_ANTI IN2 OUT1 HORARIO_M2
10
6 IN3 ANTI-HORARIO_M2 6
12 3
IN4 OUT2
6
PWM 2 ENA
11 13
ENB OUT3

1 14
SENSA OUT4
15
SENSB GND
7 7
L298

D6

D8
8

1N4007
1N4007
8 8

FILE NAME: Ponte H L298.pdsprj DATE:

12/10/2016
DESIGN TITLE: Ponte H L298
PAGE:
9 PATH: F:\Ponte H L298.pdsprj 9
1 of 2
BY: Edson Saito REV: - TIME: 14:50:12

A B C D E F G H J K
77

APÊNDICE B -- Conversor de tensão


A B C D E F G H J K

0 0

1 1

2 2
5V OUT
2
VDD
1

3 3

VDD

LIGA / DESL D1
FUSIVEL 7805
R1
1 3
VI VO
4 4
270

GND
5A 1N4004
TOMADA PARA CARREGADOR
12V MOTOR 12V IN COOLER
1
BATERIA

2
2 1 1
100nf C1 D2
2 2
12V LED-GREEN

5 5
+88.8
kRPM

6 6

7 7

8 8

FILE NAME: Conversor de tensão.pdsprj DATE:

12/10/2016
DESIGN TITLE: Conversor de tensão
PAGE:
9 PATH: F:\Conversor de tensão.pdsprj 9
1 of 1
BY: Edson Saito REV: - TIME: 16:15:30

A B C D E F G H J K
79

APÊNDICE C -- Esquemático Placa de


controle
A B C D E F G H J K

SONAR_1 LED
IR1
1
VDD 1
0 2 IR_1 0
TRIG_1 2
3
ECHO_1 3

R10

R11

R12

R13

R14

R15

R16
LCD1

R5

R6

R7

R8

R9
4 VDD

330

330

330

330

330

330

330

330

330

330

330

330
SONAR_2 IR2
1 VDD 1

VDD
1 D1 D4 D7 D9 D10 D11 D13

VSS

VEE
D2 D3 D5 D6 D8 1

RW
VDD

RS

D0
D1
D2
D3
D4
D5
D6
D7
IR_2

E
2 2
TRIG_2
3 3
ECHO_2 VDD

1
2
3

4
5
6

7
8
9
10
11
12
13
14
4

RV2
2 SONAR_3 2
IR3

LCD_E
LCD_RS
1 1
VDD 43%
2 IR_3
TRIG_3 2
3 3
ECHO_3
4 VDD

10k

LCD_D4
LCD_D5
LCD_D6
LCD_D7
3 3
VDD VPP

C3 J1
1
OSC1 2
15pF 3
13 33
4 OSC 1 OSC1/CLKIN RB0/INT LCD_D7 4 4
X1 OSC 2
14
OSC2/CLKOUT RB1
34
LCD_D6 5
35
C4 2
RB2
36
LCD_D5 6
8MHz RA0/AN0 RB3/PGM LCD_D4
OSC2 3 37
VDD RA1/AN1 RB4 LCD_RS
4 38
RA2/AN2/VREF-/CVREF RB5 LCD_E ICSP
15pF 5 39
RA3/AN3/VREF+ RB6/PGC
6 40
5 RV1 RA4/T0CKI/C1OUT RB7/PGD 5
7
MOTOR1_HORA RA5/AN4/SS/C2OUT VDD
15
RC0/T1OSO/T1CKI IR_3
8 16
MOTOR1_ANTI RE0/AN5/RD RC1/T1OSI/CCP2 PWM_MOTOR2
9 17 BUMPER
50%

MOTOR2_HORA RE1/AN6/WR RC2/CCP1 PWM_MOTOR1


10 18 R2
D12 MOTOR2_ANTI RE2/AN7/CS RC3/SCK/SCL
23
R1 RC4/SDI/SDA TRIG_1
6 1 24 1K 6
MCLR/Vpp/THV RC5/SDO ECHO_1
10k 25
1K RC6/TX/CK TRIG_2
1N4148
RC7/RX/DT
26
ECHO_2
SW2
R3
19
RD0/PSP0 IR_2
C2 20
VPP

RD1/PSP1 IR_1 SW1 1K


21
2.2uF RD2/PSP2 LED R4
7 RD3/PSP3
22 7
27
RD4/PSP4 TRIG_3 1K
28
RD5/PSP5 ECHO_3
29
MOTOR_1 RD6/PSP6
30
1 RD7/PSP7
MOTOR1_HORA
2 PIC16F877A
MOTOR1_ANTI
8 8
MOTOR_2
1
MOTOR2_HORA FILE NAME: AGV Hospitalar.pdsprj DATE:
2
MOTOR2_ANTI
12/10/2016
DESIGN TITLE: AGV Hospitalar
PWM PAGE:
9 PATH: F:\AGV Hospitalar.pdsprj 9
1 1 of 2
PWM_MOTOR1
2
PWM_MOTOR2 BY: Edson Saito REV: - TIME: 16:06:30

A B C D E F G H J K
81

APÊNDICE D -- AGV Ambiente Hospitalar


F:\AGV_Ambiente_Hospitalar.c
1: #include <16F877A.h> // biblioteca uC
2: #include <flex_lcd420.c> // biblioteca LCD
3: #include <PWM_BIOMEDICA.c> // biblioteca PWM
4: #include <SONAR_BIOMEDICA.c> // biblioteca SONAR
5:
6: #fuses HS //configuração tipo de oscilador "HS" alta velocidade >=4MHz
7:
8: #fuses NOWDT, NOPUT, NOBROWNOUT, NODEBUG, NOPROTECT
9: // configurações especiais do uC "NO" desabilita função
10:
11: #use delay (clock=8MHz)
12:
13: /*ENTRADAS*/
14:
15: #define IR1 PIN_D1 // PIN_20 SENSOR DE POSIÇÃO (LOCAL DE PARADA)
16: #define IR2 PIN_D0 // PIN_19 SENSOR INFRAVERMELHO DA DIREITA)
17: #define IR3 PIN_C0 // PIN_15 SENSOR INFRAVERMELHO DA ESQUERDA
18:
19: #define BUMPER PIN_D3 //PIN_22 PARADA DE EMERGÊNCIA
20: #define SW2 PIN_D7 //PIN_30 COMANDO PARA POSIÇÃO 1
21: #define SW1 PIN_D6 //PIN_29 COMANDO PARA POSIÇÃO 2
22:
23: /*SAIDAS*/
24:
25: #define LED PIN_D2 //PIN_21 PARA IDENTIFICAÇÃO VISUAL, ROBÔ LIGADO
26:
27:
28: void main()
29: {
30: lcd_init(); //inicializa modulo LCD
31: printf(lcd_putc, "\f"); //limpa display
32: printf(lcd_putc, "\f TMI_361-2016");
33: printf(lcd_putc, "\n AGV-HOSPITALAR");
34: delay_ms(1500);
35:
36:
37: setup_timer_1(T1_INTERNAL|T1_DIV_BY_1); //configura o timer interno
38:
39:
40: int a=0;
41: int b=0;
42:
43: int velocidade1=0;
44: int velocidade2=0;
45:
46:
47: while(true)
48: {
49:
50: leitura_sonar_1();
51: leitura_sonar_2();
52: leitura_sonar_3();
53:
54: config_pwm();
55: set_pwm1_duty (velocidade1);
56: set_pwm2_duty (velocidade2);
57:
58: output_high (LED);
59: delay_ms (300);
60: output_low (LED);
61:

1
F:\AGV_Ambiente_Hospitalar.c
62:
63:
64:
65: if(!input(SW1) && input(SW2)) // PACIENTE 1
66: {
67: a=1;
68:
69: printf(lcd_putc, "\f PACIENTE");
70: printf(lcd_putc, "\n %u ", a);
71: delay_ms(100);
72: }
73:
74:
75: if(input(SW1) && !input(SW2)) // PACIENTE 2
76: {
77: a=2;
78:
79: printf(lcd_putc, "\f PACIENTE");
80: printf(lcd_putc, "\n %u ", a);
81: delay_ms(100);
82: }
83:
84:
85: if(!input(SW1)&& !input(SW2)) // POSIÇÃO INICIAL
86: {
87: a=3;
88:
89: printf(lcd_putc, "\f RETORNO A");
90: printf(lcd_putc, "\n ENFERMARIA");
91: delay_ms(100);
92: }
93:
94:
95: if(input (IR1)) // DETECTA O LOCAL DE PARADA
96: {
97: b=b+1;
98: }
99:
100:
101: if(b==3) // DETECTA A POSIÇÃO INICIAL E ZERA CONTADOR
102: {
103: b=0;
104: }
105:
106:
107: if(a==b && b>0) // CHEGOU AO DESTINO
108: {
109: output_low (MOTOR1_HORARIO);
110: output_low (MOTOR1_ANTIHORARIO);
111: output_low (MOTOR2_HORARIO);
112: output_low (MOTOR2_ANTIHORARIO);
113: velocidade1=0;
114: velocidade2=0;
115: a=0;
116:
117: printf(lcd_putc, "\fPACIENTE RETIRAR");
118: printf(lcd_putc, "\n O MEDICAMENTO");
119: delay_ms(500);
120:
121: printf(lcd_putc, "\f AGUARDANDO");
122: printf(lcd_putc, "\n INSTRUCAO");

2
F:\AGV_Ambiente_Hospitalar.c
123: delay_ms(500);
124: }
125:
126:
127: if(a==0 || (!input(IR2)&& !input(IR3))) // PARADO, SEM INSTRUÇÃO
128: {
129: output_low (MOTOR1_HORARIO);
130: output_low (MOTOR1_ANTIHORARIO);
131: output_low (MOTOR2_HORARIO);
132: output_low (MOTOR2_ANTIHORARIO);
133: velocidade1=00;
134: velocidade2=00;
135:
136: printf(lcd_putc, "\f AGUARDANDO");
137: printf(lcd_putc, "\n INSTRUCAO");
138: delay_ms(500);
139: }
140:
141:
142: if(input(IR2)&& input(IR3) && !input(BUMPER) && a>0 &&
143: distancia1>=30 && distancia2>=30 && distancia3>=30) // NA LINHA
144: {
145: output_high (MOTOR1_HORARIO);
146: output_low (MOTOR1_ANTIHORARIO);
147: output_high (MOTOR2_HORARIO);
148: output_low (MOTOR2_ANTIHORARIO);
149:
150: velocidade1=95;
151: velocidade2=80;
152: }
153:
154:
155: if(input(IR2) && !input(IR3) && !input(BUMPER) && a>0 &&
156: distancia1>=30 && distancia2>=30 && distancia3>=30)
157: // SAIU PARA ESQUERDA
158: {
159: output_high (MOTOR1_HORARIO);
160: output_low (MOTOR1_ANTIHORARIO);
161: output_high (MOTOR2_HORARIO);
162: output_low (MOTOR2_ANTIHORARIO);
163:
164: velocidade1=80;
165: velocidade2=100;
166: }
167:
168:
169: if(!input(IR2) && input(IR3) && !input(BUMPER) && a>0 &&
170: distancia1>=30 && distancia2>=30 && distancia3>=30)
171: // SAIU PARA DIREITA
172: {
173: output_high (MOTOR1_HORARIO);
174: output_low (MOTOR1_ANTIHORARIO);
175: output_high (MOTOR2_HORARIO);
176: output_low (MOTOR2_ANTIHORARIO);
177:
178: velocidade1=130;
179: velocidade2=80;
180: }
181:
182:
183: if(input(BUMPER) || (distancia1<30 && distancia2<30 && distancia3<30))

3
F:\AGV_Ambiente_Hospitalar.c
184: //PARADA EMERGÊNCIA
185: {
186: output_high (MOTOR1_HORARIO);
187: output_low (MOTOR1_ANTIHORARIO);
188: output_high (MOTOR2_HORARIO);
189: output_low (MOTOR2_ANTIHORARIO);
190: velocidade1=0;
191: velocidade2=0;
192: a=0;
193:
194: printf(lcd_putc, "\f PARADA DE");
195: printf(lcd_putc, "\n EMERGENCIA");
196: delay_ms(1000);
197: }
198:
199: }
200: }
201:

4
86

APÊNDICE E -- Programação do LCD


F:\flex_lcd420.c
1: // flex_lcd420.c
2: // An external 20x4 LCD is connected to these pins.
3: // Change these pins to match your own board's connections.
4: #use delay(clock=8M) //referencia para a função delay
5:
6: #define LCD_DB4 PIN_B3 //pin36
7: #define LCD_DB5 PIN_B2 //pin35
8: #define LCD_DB6 PIN_B1 //pin34
9: #define LCD_DB7 PIN_B0 //pin33
10:
11: #define LCD_RS PIN_B4 //pin37
12: //#define LCD_RW PIN_B0 it is earthed at the display
13: #define LCD_E PIN_B5 //pin38
14:
15: // If you want only a 6-pin interface to your LCD, then
16: // connect the R/W pin on the LCD to ground, and comment
17: // out the following line. Doing so will save one PIC
18: // pin, but at the cost of losing the ability to read from
19: // the LCD. It also makes the write time a little longer
20: // because a static delay must be used, instead of polling
21: // the LCD's busy bit. Normally a 6-pin interface is only
22: // used if you are running out of PIC pins, and you need
23: // to use as few as possible for the LCD.
24: //#define USE_RW_PIN 1
25:
26:
27: // These are the line addresses for most 4x20 LCDs.
28: #define LCD_LINE_1_ADDRESS 0x00
29: #define LCD_LINE_2_ADDRESS 0x40
30: #define LCD_LINE_3_ADDRESS 0x14
31: #define LCD_LINE_4_ADDRESS 0x54
32:
33: // These are the line addresses for LCD's which use
34: // the Hitachi HD66712U controller chip.
35: /*
36: #define LCD_LINE_1_ADDRESS 0x00
37: #define LCD_LINE_2_ADDRESS 0x20
38: #define LCD_LINE_3_ADDRESS 0x40
39: #define LCD_LINE_4_ADDRESS 0x60
40: */
41:
42:
43: //========================================
44:
45: #define lcd_type 2 // 0=5x7, 1=5x10, 2=2 lines(or more)
46:
47: int8 lcd_line;
48:
49: int8 const LCD_INIT_STRING[4] =
50: {
51: 0x20 | (lcd_type << 2), // Set mode: 4-bit, 2+ lines, 5x8 dots
52: 0xc, // Display on
53: 1, // Clear display
54: 6 // Increment cursor
55: };
56:
57:
58: //-------------------------------------
59: void lcd_send_nibble(int8 nibble)
60: {
61: // Note: !! converts an integer expression

1
F:\flex_lcd420.c
62: // to a boolean (1 or 0).
63: output_bit(LCD_DB4, !!(nibble & 1));
64: output_bit(LCD_DB5, !!(nibble & 2));
65: output_bit(LCD_DB6, !!(nibble & 4));
66: output_bit(LCD_DB7, !!(nibble & 8));
67:
68: delay_cycles(1);
69: output_high(LCD_E);
70: delay_us(2);
71: output_low(LCD_E);
72: }
73:
74: //-----------------------------------
75: // This sub-routine is only called by lcd_read_byte().
76: // It's not a stand-alone routine. For example, the
77: // R/W signal is set high by lcd_read_byte() before
78: // this routine is called.
79:
80: #ifdef USE_RW_PIN
81: int8 lcd_read_nibble(void)
82: {
83: int8 retval;
84: // Create bit variables so that we can easily set
85: // individual bits in the retval variable.
86: #bit retval_0 = retval.0
87: #bit retval_1 = retval.1
88: #bit retval_2 = retval.2
89: #bit retval_3 = retval.3
90:
91: retval = 0;
92:
93: output_high(LCD_E);
94: delay_us(1);
95:
96: retval_0 = input(LCD_DB4);
97: retval_1 = input(LCD_DB5);
98: retval_2 = input(LCD_DB6);
99: retval_3 = input(LCD_DB7);
100:
101: output_low(LCD_E);
102: delay_us(1);
103:
104: return(retval);
105: }
106: #endif
107:
108: //---------------------------------------
109: // Read a byte from the LCD and return it.
110:
111: #ifdef USE_RW_PIN
112: int8 lcd_read_byte(void)
113: {
114: int8 low;
115: int8 high;
116:
117: output_high(LCD_RW);
118: delay_cycles(1);
119:
120: high = lcd_read_nibble();
121:
122: low = lcd_read_nibble();

2
F:\flex_lcd420.c
123:
124: return( (high<<4) | low);
125: }
126: #endif
127:
128: //----------------------------------------
129: // Send a byte to the LCD.
130: void lcd_send_byte(int8 address, int8 n)
131: {
132: output_low(LCD_RS);
133:
134: #ifdef USE_RW_PIN
135: while(bit_test(lcd_read_byte(),7)) ;
136: #else
137: delay_us(60);
138: #endif
139:
140: if(address)
141: output_high(LCD_RS);
142: else
143: output_low(LCD_RS);
144:
145: delay_cycles(1);
146:
147: #ifdef USE_RW_PIN
148: output_low(LCD_RW);
149: delay_cycles(1);
150: #endif
151:
152: output_low(LCD_E);
153:
154: lcd_send_nibble(n >> 4);
155: lcd_send_nibble(n & 0xf);
156: }
157: //----------------------------
158:
159: void lcd_init(void)
160: {
161: int8 i;
162:
163: lcd_line = 1;
164:
165: output_low(LCD_RS);
166:
167: #ifdef USE_RW_PIN
168: output_low(LCD_RW);
169: #endif
170:
171: output_low(LCD_E);
172:
173: // Some LCDs require 15 ms minimum delay after
174: // power-up. Others require 30 ms. I'm going
175: // to set it to 35 ms, so it should work with
176: // all of them.
177: delay_ms(35);
178:
179: for(i=0 ;i < 3; i++)
180: {
181: lcd_send_nibble(0x03);
182: delay_ms(5);
183: }

3
F:\flex_lcd420.c
184:
185: lcd_send_nibble(0x02);
186:
187: for(i=0; i < sizeof(LCD_INIT_STRING); i++)
188: {
189: lcd_send_byte(0, LCD_INIT_STRING[i]);
190:
191: // If the R/W signal is not used, then
192: // the busy bit can't be polled. One of
193: // the init commands takes longer than
194: // the hard-coded delay of 50 us, so in
195: // that case, lets just do a 5 ms delay
196: // after all four of them.
197: #ifndef USE_RW_PIN
198: delay_ms(5);
199: #endif
200: }
201:
202: }
203:
204: //----------------------------
205:
206: void lcd_gotoxy(int8 x, int8 y)
207: {
208: int8 address;
209:
210:
211: switch(y)
212: {
213: case 1:
214: address = LCD_LINE_1_ADDRESS;
215: break;
216:
217: case 2:
218: address = LCD_LINE_2_ADDRESS;
219: break;
220:
221: case 3:
222: address = LCD_LINE_3_ADDRESS;
223: break;
224:
225: case 4:
226: address = LCD_LINE_4_ADDRESS;
227: break;
228:
229: default:
230: address = LCD_LINE_1_ADDRESS;
231: break;
232:
233: }
234:
235: address += x-1;
236: lcd_send_byte(0, 0x80 | address);
237: }
238:
239: //-----------------------------
240: void lcd_putc(char c)
241: {
242: switch(c)
243: {
244: case '\f':

4
F:\flex_lcd420.c
245: lcd_send_byte(0,1);
246: lcd_line = 1;
247: delay_ms(2);
248: break;
249:
250: case '\n':
251: lcd_gotoxy(1, ++lcd_line);
252: break;
253:
254: case '\b':
255: lcd_send_byte(0,0x10);
256: break;
257:
258: default:
259: lcd_send_byte(1,c);
260: break;
261: }
262: }
263:
264: //------------------------------
265: #ifdef USE_RW_PIN
266: char lcd_getc(int8 x, int8 y)
267: {
268: char value;
269:
270: lcd_gotoxy(x,y);
271:
272: // Wait until busy flag is low.
273: while(bit_test(lcd_read_byte(),7));
274:
275: output_high(LCD_RS);
276: value = lcd_read_byte();
277: output_low(LCD_RS);
278:
279: return(value);
280: }
281: #endif

5
92

APÊNDICE F -- Programação do PWM


F:\PWM_BIOMEDICA.c
1: #use delay (clock=8MHz)
2:
3:
4: /*SAIDAS*/
5:
6: #define MOTOR1_HORARIO PIN_A5 // MOTOR1 GIRA SENTIDO HORARIO
7: #define MOTOR1_ANTIHORARIO PIN_E0 // MOTOR1 GIRA SENTIDO ANTIHORARIO
8: #define MOTOR2_HORARIO PIN_E1 // MOTOR2 GIRA SENTIDO HORARIO
9: #define MOTOR2_ANTIHORARIO PIN_E2 // MOTOR2 GIRA SENTIDO ANTIHORARIO
10:
11: #define MOTOR2 PIN_C1 // pino 16 - CCP2 - PWM (MOTOR DA ESQUERDA)
12: #define MOTOR1 PIN_C2 // pino 17 - CCP1 - PWM (MOTOR DE DIREITA)
13:
14:
15:
16: void config_pwm()
17: {
18: setup_timer_2 (T2_DIV_BY_16, 255, 10);//255(período)=100%;128=50%
19: setup_ccp1 (ccp_pwm); //configura ccp1 modo pwm
20: setup_ccp2 (ccp_pwm); //configura ccp2 modo pwm
21: //set_pwm1_duty (0); //zera o ciclo ativo do pwm1
22: //set_pwm2_duty (0); //zera o ciclo ativo do pwm2
23: //(modo: configura o timer 2, prescaler div por 16, periodo de 0
24: //a 255, postscalerde 0 a 16, que determina o tempo antes da
25: //interrupcao
26: }
27:

1
94

APÊNDICE G -- Programação do ultrassônico


F:\SONAR_BIOMEDICA.c
1: #use delay (clock=8MHz)
2:
3: /*ENTRADAS*/
4: #define ECHO1 PIN_C5 //PIN_24
5: #define ECHO2 PIN_C7 //PIN_26
6: #define ECHO3 PIN_D5 //PIN_28
7:
8: /*SAIDAS*/
9: #define TRIG1 PIN_C4 //PIN_23
10: #define TRIG2 PIN_C6 //PIN_25
11: #define TRIG3 PIN_D4 //PIN_27
12:
13:
14: #define CALIB_SONAR 0.00955
15: #define DELAY_SONARES 50
16:
17: int16 tempo1;
18: int16 tempo2;
19: int16 tempo3;
20: int16 distancia1;
21: int16 distancia2;
22: int16 distancia3;
23:
24:
25: void leitura_sonar_1()
26: {
27: delay_ms(DELAY_SONARES); //atraso para garantir a leitura
28: //correta entre os sonares
29:
30: //setup_timer_1(T1_INTERNAL|T1_DIV_BY_1); //configura o timer
31: //interno
32:
33: output_high(TRIG1); //aciona rotina de inicialização do trigger
34: delay_us(10); //aguarda 10us para o trigger
35: output_low(TRIG1);//finaliza rotina de inicialização do trigger
36:
37: while(!input(ECHO1)); //aguarda nível alto do echo para zerar
38: //timer1
39:
40: set_timer1(0); //zera valor do timer1
41:
42: while(input(ECHO1)); //aguarda nível baixo do echo para
43: //leitura do timer1
44:
45: tempo1=get_timer1(); //leitura do timer1 interno
46:
47: distancia1=tempo1*CALIB_SONAR;//calculo de distancia, utilizando
48: //constante de calibração
49: }
50:
51:
52: void leitura_sonar_2()
53: {
54: delay_ms(DELAY_SONARES); //sonar 2
55:
56: //setup_timer_1(T1_INTERNAL|T1_DIV_BY_1); //configura o timer
57: //interno
58:
59: output_high(TRIG2); //aciona rotina de inicialização do trigger
60: delay_us(10); //aguarda 10us para o trigger
61: output_low(TRIG2);//finaliza rotina de inicialização do trigger

1
F:\SONAR_BIOMEDICA.c
62:
63: while(!input(ECHO2)); //aguarda nível alto do echo para zerar
64: //timer1
65:
66: set_timer1(0); //zera valor do timer1
67:
68: while(input(ECHO2)); //aguarda nível baixo do echo para
69: //leitura do timer1
70:
71: tempo2=get_timer1(); //leitura do timer1 interno
72:
73: distancia2=tempo2*CALIB_SONAR;//calculo de distancia, utilizando
74: //constante de calibração
75: }
76:
77:
78: void leitura_sonar_3()
79: {
80: delay_ms(DELAY_SONARES); //sonar 3
81:
82: //setup_timer_1(T1_INTERNAL|T1_DIV_BY_1); //configura o timer
83: //interno
84:
85: output_high(TRIG3); //aciona rotina de inicialização do trigger
86: delay_us(10); //aguarda 10us para o trigger
87: output_low(TRIG3);//finaliza rotina de inicialização do trigger
88:
89: while(!input(ECHO3)); //aguarda nível alto do echo para zerar
90: //timer1
91:
92: set_timer1(0); //zera valor do timer1
93:
94: while(input(ECHO3)); //aguarda nível baixo do echo para
95: //leitura do timer1
96:
97: tempo3=get_timer1(); //leitura do timer1 interno
98:
99: distancia3=tempo3*CALIB_SONAR;//calculo de distancia, utilizando
100: //constante de calibração
101: }

2
97

APÊNDICE H -- Estrutura
1 2 3 4 5 6

218

6
A
20 A

200
100

400
B B

300
C C

NOME ASSINATURA DATA TÍTULO:


DES.

VERIF.
D
APROV.

MANUF.

Desenho estrutura A4
QUALID MATERIAL:
DES. Nº

1 2 PESO: ESCALA:1:10 FOLHA 1 DE 1


99

APÊNDICE I -- Anel batente


1 2 3 4 5 6

A A

15
10

8
M4

B B

C C

NOME ASSINATURA DATA TÍTULO:


DES.

VERIF.
D
APROV.

MANUF.

Anel batente
QUALID MATERIAL:
A4
DES. Nº

1 2 PESO: ESCALA:2:1 FOLHA 1 DE 1


101

APÊNDICE J -- Eixo do bumper


1 2 3 4 5 6

A 100 A

6
M
8
7

B B

C C

NOME ASSINATURA DATA TÍTULO:


DES.

VERIF.
D
APROV.

MANUF.

Eixo Bumper
QUALID MATERIAL:
A4
DES. Nº

1 2 PESO: ESCALA:1:1 FOLHA 1 DE 1


103

APÊNDICE K -- Chapa do bumper


1 2 3 4 5 6

300
A A
10

30

1
B B
0
R1

C C

NOME ASSINATURA DATA TÍTULO:


DES.

VERIF.
D
APROV.

MANUF.

Chapa Bumper
QUALID MATERIAL:
A4
DES. Nº

1 2 PESO: ESCALA: 1:2 FOLHA 1 DE 1


105

APÊNDICE L -- Chapa suporte do motor


1 2 3 4 5 6

82
10

7,50
A A

13
4.1
15 3 x4
0
R1
12

31,50

60
7,50
18

B B

4
7,50 15 6,60 36,37 11,31

11

C C

6,60

120
NOME ASSINATURA DATA TÍTULO:
DES.

VERIF.
D
APROV.

MANUF.

Chapa Motor
QUALID MATERIAL:
A4
DES. Nº

1 2 PESO: ESCALA:1:2 FOLHA 1 DE 1


107

APÊNDICE M -- Cantoneira suporte do motor


1 2 3 4 5 6

18,20 6
A A
30

R3

B 4 B
0
6,6

4,60
15,40

C C

38,20

NOME ASSINATURA DATA TÍTULO:


DES.

VERIF.
D
APROV.

MANUF.

QUALID MATERIAL:
A4
DES. Nº

Cantoneira Suporte Motor


1 2 PESO: ESCALA:1:1 FOLHA 1 DE 1
109

APÊNDICE N -- Eixo da roda


1 2 3 4 5 6

A A

120

8
B B

C C

NOME ASSINATURA DATA TÍTULO:


DES.

VERIF.
D
APROV.

MANUF.

Eixo Roda
QUALID MATERIAL:
A4
DES. Nº

1 2 PESO: ESCALA:1:2 FOLHA 1 DE 1


111

APÊNDICE O -- Engrenagem da roda


1 2 3 4 5 6

M2 8
A A

0
R1

16
16

B B

13

8
C C

NOME ASSINATURA DATA TÍTULO:


DES.

VERIF.
D
APROV.

MANUF.

Engrenagem roda A4
QUALID MATERIAL:
DES. Nº

1 2 PESO: ESCALA:2:1 FOLHA 1 DE 1


113

APÊNDICE P -- Roda de nylon


1 2 3 4 5 6

22

0
10
A A

26

7
8

0.
4x
M

B B

C C

NOME ASSINATURA DATA TÍTULO:


DES.

VERIF.
D
APROV.

MANUF.

Roda nylon
QUALID MATERIAL:
A4
DES. Nº

1 2 PESO: ESCALA:1:2 FOLHA 1 DE 1

Você também pode gostar