You are on page 1of 55

UNIVERSIDADE POSITIVO

NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS


CURSO DE ENGENHARIA DA COMPUTAÇÃO

GEORGE MAZUL SANTANA


LUIZ HENRIQUE PROENÇA

SISTEMA DE COMUNICAÇÃO SEM FIO


PARA CONTROLE ROBÓTICO

Trabalho de Conclusão de Curso

Professor Maurício Perretto


Orientador

Curitiba, Dezembro de 2010.


UNIVERSIDADE POSITIVO
Reitor: José Pio Martins
Vice-Reitor: Arno Antonio Gnoatto
Pró-Reitor de Graduação: Prof. Renato Casagrande
Diretor do Núcleo de Ciências Exatas e Tecnológicas: Prof. Marcos José Tozzi
Coordenador do Curso de Engenharia da Computação: Prof. Edson Pedro Ferlin
Agradecimentos

Agradecemos a todos que nos apoiaram e que nos motivaram a fazer este trabalho de
conclusão de curso.
Agradecemos também a aqueles que acreditaram no nosso potencial e aquele que nos
orientou até o final do trabalho de conclusão de curso.
RESUMO

O objetivo deste projeto é realizar uma melhoria significativa em equipamentos de uso


didático em laboratórios e dispositivos que utilizem comunicação via infravermelho.
O Sistema de Comunicação sem Fio para Controle Robótico (SCOR) possibilita que os
robôs utilizados no laboratório de alto desempenho, possam ser controlados com mais
facilidade, com mais eficiência tecnológica e com um consumo de energia reduzido durante o
seu uso. O projeto prevê a substituição dos atuais módulos de comunicação infravermelho por
módulos de comunicação wireless, pois o infravermelho tem problemas relacionados à
transmissão de sinais a longas distâncias e problemas de endereçamento de comandos. Este
projeto também tem como objetivo difundir o uso da tecnologia dos módulos de comunicação
XBee® nas mais diversas áreas da tecnologia e da automação.
A partir deste trabalho será possível obter conhecimento suficiente para desenvolver
projetos que utilizem tais módulos para simplificar ainda mais a tarefa de conectar vários
dispositivos usando uma rede comunicação simples e transparente.

Palavras-Chave: SCOR,Wireless,XBee®, robôs, controle.


ABSTRACT

The objective of this project is a significant improvement in equipment for use in teaching
laboratories and devices using infrared communication.
The Wireless Communication System for Robotic Control (SCOR) allows robots used in
the laboratory of high performance can be monitored more easily, more efficient technology
and with a reduced power consumption during use. The project includes the replacement of
current infrared communication modules for wireless communication modules, because they
have problems related to infrared transmission of signals over long distances and addressing
commands. This project also aims to spread the use of technology communication modules
XBee® in several areas of technology and automation.
From this work will be possible to obtain enough knowledge to develop projects that use
these modules to further simplify the task of connecting various devices using a simple and
transparent communication network.

Keywords: SCOR,Wireless, XBee®, Robots, Control.


SUMÁRIO

SUMÁRIO ............................................................................................................................ 6
LISTA DE FIGURAS ........................................................................................................... 7
LISTA DE TABELAS .......................................................................................................... 8
LISTA DE ABREVIATURAS E SIGLAS .......................................................................... 9
INTRODUÇÃO .................................................................................................................. 10
OBJETIVO ......................................................................................................................... 11
ESPECIFICAÇÃO .............................................................................................................. 12
CARACTERISTICAS .................................................................................................... 12
REQUISITOS ................................................................................................................. 12
ARQUITETURA ............................................................................................................ 13
SOFTWARE ............................................................................................................... 13
FIRMWARE ............................................................................................................... 20
HARDWARE ............................................................................................................. 22
CONCLUSÃO .................................................................................................................... 40
REFERÊNCIAS.................................................................................................................. 41
ANEXO A – ARTIGO TÉCNICO ..................................................................................... 42
ANEXO B – MANUAL DO SISTEMA ............................................................................ 44
ANEXO C - CIRCUITOS .................................................................................................. 46
ANEXO D – PLACAS ....................................................................................................... 48
ANEXO E – CHASSIS ....................................................................................................... 50
LISTA DE FIGURAS

FIGURA 1 – FLUXOGRAMA DE FUNCIONAMENTO ................................................................................... 14


FIGURA 2 – DIAGRAMA DE CASO DE USO .................................................................................................. 15
FIGURA 3 – DIAGRAMA DE SEQUÊNCIA ..................................................................................................... 15
FIGURA 4 – TELA PRINCIPAL DO SOFTWARE .............................................................................................. 16
FIGURA 5 – TELA DE CONFIGURAÇÃO DE PARÂMETROS PARA PORTA SERIAL .............................. 16
FIGURA 6 – AMBIENTE DE PROGRAMAÇÃO NETBEANS IDE 6.9 ........................................................... 17
FIGURA 7 – AMBIENTE DE DESENVOLVIMENTO MPLAB IDE 8.30 ........................................................ 21
FIGURA 8 – CONEXÃO DO MPLAB ICD2 AO HARDWARE ........................................................................ 22
FIGURA 9 – VISTA DO CIRCUITO INTERNO DO MPLAB ICD2 ................................................................. 22
FIGURA 10 – DIAGRAMA DE BLOCOS DO JOYSTICK. ............................................................................... 23
FIGURA 11 – DIAGRAMA DE BLOCOS DO JOYSTICK. .......................................................................... 25
FIGURA 12 – PINAGEM DO MICRO CONTROLADOR PIC16F877A ........................................................... 25
FIGURA 13 – DIAGRAMA DE BLOCOS DO PIC16F877A ............................................................................. 28
FIGURA 14 – MÓDULO XBEE PRO.................................................................................................................. 31
FIGURA 15 – MÓDULO DO PIC PARA INTERPRETAÇÃO DOS DADOS. ............................................ 34
FIGURA 16 – DIAGRAMA DE BLOCOS DO ROBÔ .................................................................................... 34
FIGURA 17 – BUFFER 74HC126 ..................................................................................................................... 35
FIGURA 18 – DIAGRAMA INTERNO DO 74LS244 ..................................................................................... 37
FIGURA 19 – PONTE H .................................................................................................................................... 38
FIGURA 20 – CONTROLE DOS MOTORES E PONTE H .......... ERRO! INDICADOR NÃO DEFINIDO.
FIGURA 21 – CHASSIS DO CONTROLE .......................................................................................................... 50
FIGURA 22 – CHASSIS DO CONTROLE .......................................................................................................... 51
FIGURA 23 - CHASSIS DO CONTROLE........................................................................................................... 52
FIGURA 24 - CHASSIS DO ROBÔ ..................................................................................................................... 53
FIGURA 25 - CHASSIS DO ROBÔ ..................................................................................................................... 54
FIGURA 26 - CHASSIS DO ROBÔ ..................................................................................................................... 55
LISTA DE TABELAS

TABELA 1 – PROTOCOLO DE COMUNICAÇÃO JOYSTICK-PC ................................................................. 20


TABELA 2 – COMPARATIVO ENTRE MICROCONTROLADORES DA FAMÍLIA 16F ............................. 26
TABELA 3 – CONFIGURAÇÃO DOS MÓDULOS ZIGBEE ............................................................................ 32
TABELA 4 – VALORES DE SAÍDA PARA O COMPARADOR 74LS85 ........................................................ 36
LISTA DE ABREVIATURAS E SIGLAS

SCOR - sistema de comunicação sem fio para controle robótico


PIC - interface controladora de periféricos
OSI - Open Systems Interconnection
IDE - Integrated Development Environment
TTL - Transistor-Transistor Logic
USB - Universal Serial Bus
INTRODUÇÃO

O dispositivo para controle de Robôs chamado de SCOR (sistema de comunicação


sem fio para controle robótico) visa melhorar o controle dos robôs que hoje estão no
laboratório de alto desempenho do curso de Engenharia da Computação.
Atualmente estes robôs são comandados por controle remoto infravermelho, porém
está interface não permite controlar apenas um robô em questão e sim todos os robôs que
estiverem ao alcance do sinal, sinal este, que é visual, sendo necessário contato visual entre
as partes para que o comando seja recebido.
O SCOR será desenvolvido usando módulos wireless XBee® que se comunicam
sem a necessidade de uma estrutura física. Esta tecnologia permite ter um alcance de 40
metros até 100 metros em ambientes externos e a vantagem de ter a opção de
endereçamento, para que somente os módulos selecionados recebam o comando e interajam
conforme solicitação, que poderá ser via controle remoto ou uma interface direta com o
computador.

O termo ZigBee designa um conjunto de especificações para a comunicação sem fio


entre dispositivos eletrônicos, com ênfase na baixa potência de operação, na baixa taxa de
transmissão de dados e no baixo custo de implantação. Tal conjunto de especificações
define camadas do modelo OSI (Open Systems Interconnection) subsequente àquelas
estabelecidas pelo padrão IEEE 802.15.4.

Foi pensada para poder ligar pequenas unidades de recebimento de dados e de tele
ação recorrendo a sinais de rádio frequência não licenciados.

A tecnologia utilizada é comparável às redes Wi-Fi e Bluetooth e diferencia-se


destas por desenvolver menor consumo, por um alcance reduzido (cerca de 10 metros) e as
comunicações entre duas unidades poder ser repetida sucessivamente pelas unidades
existentes na rede até atingir o destino final. Funcionando todos os pontos da rede como
retransmissores de informação, uma malha (Mesh) de unidades ZigBee pode realizar-se
numa rede doméstica ou industrial sem necessidade de utilizar ligações elétricas entre elas.

Hoje já se encontram módulos com taxas de 250kbps que alcançam até 100 metros
em áreas aberta. Funciona em modo de rede transparente, onde todos os pontos podem
receber dados e no modo criptografado, onde podem ser configurados o nome de usuário,
endereço na rede e os endereços que receberão dados e mensagens numa determinada
seção.
OBJETIVO

O objetivo do projeto é substituir os módulos de controle existentes nos robôs por


outros módulos que usam wireless para comunicação, assim é possível ter um alcance
maior de controle e não haverá obstáculos entre os comandos enviados e os recebidos, logo
o controle será muito mais preciso e confiável. Outro objetivo é fazer o endereçamento dos
comandos para cada robô, deste jeito pode-se definir qual robô se move aos comandos do
usuário. Outra necessidade é a de comandar os robôs via computador, por isso foi
desenvolvido uma interface no controle que possibilitará os robôs serem controlados via
computador.
ESPECIFICAÇÃO

O SCOR é adequado para controlar dispositivos remotos por meio de comunicação


wireless e que necessitam somente de comandos simples, como para frente, esquerda,
direita e para trás. O equipamento possui uma distância efetiva de funcionamento de 100
metros, distâncias maiores de controle são possíveis, mas não são aconselhadas. Também
há a possibilidade de fazer o controle dos dispositivos por meio do computador, via
software.

CARACTERISTICAS
As características principais do projeto são:
1) Baixo Custo;
2) Baixo Consumo;
3) Alta Confiabilidade;
4) Comunicação Wireless de alta velocidade com distância de zero até 100 metros;
5) Alimentação do Joystick: Bateria de 9V e consumo médio de corrente 200mA;
6) Alimentação do Dispositivo: 4 pilhas AA;
7) Controle de até 15 robôs simultaneamente.

REQUISITOS
Os principais requisitos observados no projeto foram:
1) A distância entre o controle remoto e os robôs não pode ultrapassar a distância
máxima estabelecida pelo fabricante do módulo wireless;
2) Todo o circuito eletrônico deve ser projetado para não ultrapassar os limites já
estabelecidos no robô para fixação da placa de circuito impresso. Tendo em vista
que esse espaço é bem reduzido e que o não cumprimento dessa premissa
acarretará em possíveis problemas na locomoção do mesmo, fica como tarefa a
simplificação do circuito para a sua perfeita acomodação e uso. Não
necessitando de muitos botões, somente os responsáveis para controle de
direção, seleção de endereçamento, um eventualmente botão de “ON/OFF” e um
botão que habilite a interface para controle via computador;
3) A interface utilizará a comunicação serial, assim será necessário um computador
com está porta disponível, configuração igual ou superior a Intel Pentium 4,
1.6GHz ou compatível, 256Mb de RAM e sistema operacional com suporte a
JAVA.

ARQUITETURA
SOFTWARE
FUNCIONAMENTO
O usuário seleciona o robô que deseja fazer o controle e clica no botão
correspondente à direção a qual deseja que o robô se movimente assim o programa enviará
as coordenadas para o robô selecionado, uma linha de comunicação é aberta entre software
e joystick, quando o joystick estiver pronto enviará os comandos para os robôs. Para cada
comando dado para o robô é preciso clicar em “PARAR” antes de enviar outra direção. O
controle envia os dados recebidos para todos os módulos existentes no raio de alcance, e
cabe a cada robô verificar se este comando é ou não é para ele.
Figura 1 – Fluxograma de funcionamento
DIAGRAMA DE CASO DE USO
Verifica Usuário
«extends»

Fazer Login
*
* Verifica
«uses»
existência do Robô
* «extends»

*
Usuário
Conectar Robo
*

«uses»

*
Envia Direçâo

Figura 2 – Diagrama de caso de uso

DIAGRAMA DE SEQUÊNCIA

Figura 3 – Diagrama de Sequência


TELAS

Figura 4 – Tela principal do software

Figura 5 – Tela de configuração de parâmetros para porta serial


IDE NETBEANS
O NetBeans IDE(Integrated Development Environment ou Ambiente Integrado de
Desenvolvimento) é um ambiente de desenvolvimento disponível para Windows, Mac,
Linux e Solaris. O projeto NetBeans consiste em um IDE de código aberto e
uma plataforma de aplicativos que permite aos desenvolvedores criar rapidamente
aplicativos WEB, empresariais, móveis e de área de trabalho utilizando a plataforma Java,
bem como JavaFX, PHP, JavaScript e Ajax, Ruby e Ruby on Rails, Groovy e Grails e
C/C++.
O projeto NetBeans tem como suporte uma entusiasmada comunidade de
desenvolvedores e oferece vastos recursos como documentação e treinamento, bem como
uma variada seleção de plug-ins de terceiros.

Figura 6 – Ambiente de programação Netbeans IDE 6.9


PROTOCOLO DE COMUNICAÇÃO

A interface recebe do computador dados provenientes da porta serial, estes dados


utilizam o protocolo RS-232 de transmissão de dados. Os dados são convertidos ao
chegarem ao joystick porque os níveis de tensão recebidos pela porta serial do computador
não podem ser aplicados ao circuito da interface sob efeito de queima do equipamento. Para
isso a conversão é feita para níveis de tensão TTL (Transistor-Transistor Logic), que é o
padrão utilizado em todo o projeto.
A interface receberá caracteres ASCII(American Standard Code for Information
Interchange) que serão tratados para envio aos circuitos do joystick. Cada caractere contém
informações de direção e endereçamento, estas informações só são disponibilizadas ao
joystick depois do micro-controlador tratar o caractere recebido e compará-lo com a tabela
de caracteres, que contem todos os endereçamentos e direções possíveis. Depois disso o
micro-controlador disponibiliza em sua saída estas informações.
Como pode ser visto na Tabela 1, cada caractere está atribuído a um robô e uma
direção diferente.
INDICE CARACTERE ROBÔ DIREÇÃO
1 A 1 FRENTE
2 B 1 TRÁS
3 C 1 ESQUERDA
4 D 1 DIREITA
5 E 1 PARADO
6 F 2 FRENTE
7 G 2 TRÁS
8 H 2 ESQUERDA
9 I 2 DIREITA
10 J 2 PARADO
11 K 3 FRENTE
12 L 3 TRÁS
13 M 3 ESQUERDA
14 N 3 DIREITA
15 O 3 PARADO
16 P 4 FRENTE
17 Q 4 TRÁS
18 R 4 ESQUERDA
19 S 4 DIREITA
20 T 4 PARADO
21 U 5 FRENTE
22 V 5 TRÁS
23 X 5 ESQUERDA
24 W 5 DIREITA
25 Y 5 PARADO
26 Z 6 FRENTE
27 a 6 TRÁS
28 b 6 ESQUERDA
29 c 6 DIREITA
30 d 6 PARADO
31 e 7 FRENTE
32 f 7 TRÁS
33 g 7 ESQUERDA
34 h 7 DIREITA
35 i 7 PARADO
36 j 8 FRENTE
37 k 8 TRÁS
38 l 8 ESQUERDA
39 m 8 DIREITA
40 n 8 PARADO
41 o 9 FRENTE
42 p 9 TRÁS
43 q 9 ESQUERDA
44 r 9 DIREITA
45 s 9 PARADO
46 t 10 FRENTE
47 u 10 TRÁS
48 v 10 ESQUERDA
49 x 10 DIREITA
50 w 10 PARADO
51 y 11 FRENTE
52 z 11 TRÁS
53 0 11 ESQUERDA
54 1 11 DIREITA
55 2 11 PARADO
56 3 12 FRENTE
57 4 12 TRÁS
58 5 12 ESQUERDA
59 6 12 DIREITA
60 7 12 PARADO
61 8 13 FRENTE
62 9 13 TRÁS
63 ! 13 ESQUERDA
64 @ 13 DIREITA
65 # 13 PARADO
66 $ 14 FRENTE
67 % 14 TRÁS
68 & 14 ESQUERDA
69 “ 14 DIREITA
70 ( 14 PARADO
71 ) 15 FRENTE
72 * 15 TRÁS
73 + 15 ESQUERDA
74 , 15 DIREITA
75 - 15 PARADO

Tabela 1 – Protocolo de comunicação Joystick-PC

Toda a transmissão dos dados é feita pelo software “Joystick Virtual” que faz parte
do projeto e é executado em um microcomputador.
Caso não haja acesso ao software padrão da comunicação, o usuário que tenha
acesso a um microcomputador com uma porta de comunicação serial disponível e de posse
da tabela acima, poderá via terminal de comunicação acessar a uma porta serial do
microcomputador e executar os comandos digitando o caractere referente ao endereço e a
direção a qual queira movimentar o robô.
Alguns robôs possuem somente comandos de “FRENTE” e “TRAS”, neste caso os
comandos não suportados são ignorados pelo robô.

FIRMWARE

O firmware do joystick possui duas tabelas internas, uma tabela com comandos
definidos para cada caractere recebido via comunicação serial e outra tabela com os
comandos definidos para cada comando recebido via botões.
O software foi desenvolvido em linguagem C devido a sua fácil compreensão e fácil
manutenção posterior.
Como já foi citado, o projeto suporta até quinze robôs, foram programados somente
três, ficando para o projetista fornecer ao software os comandos que faltam para os outros
doze robôs. Os comandos para novos robôs são semelhantes ao que já está programado,
podendo ser usado como exemplo para as demais implementações.
Ao mudar a chave de alimentação para a posição ON o circuito é alimentado, assim a
interface controladora de periféricos (PIC) começa a rodar o programa. Esta fica
aguardando algum comando a ser enviado pelos botões. Cada direção de cada robô possui
um código que é interpretado pelo firmware e enviado para a porta de saída do PIC que
envia os dados pelo módulo wireless para o robô selecionado. Quando o cabo de
comunicação é conectado, envia um comando para que PIC parar de ler a porta de botões e
comece a ler a porta serial. A partir daí o caractere recebido é comparado na tabela e
quando o seu valor é encontrado é enviado pela porta de saída para o módulo wireless para
o robô selecionado.

DESCRIÇÃO DO MICROCHIP MPLAB IDE


O Ambiente Integrado de Desenvolvimento (IDE) utilizado para desenvolvimento no
projeto foi a Microchip MPLAB e conta com um ambiente de programação limpo e opção
de depurar o programa escrito quando conectado com o programador ICD2® a interface
controladora de periféricos (PIC). Nesta IDE é possível fazer toda a programação em
linguagem C, que é muito mais fácil de manipular, fazer a programação em Assembly
também é possível com está IDE, mas devido à facilidade e a familiaridade com a
linguagem C, esta ultima foi à escolhida.
Este IDE não é totalmente funcional sozinho, é preciso instalar compiladores para as
linguagens a serem suportadas e para os dispositivos a serem suportados.
Microcontroladores da família PIC24 e PIC30 não são suportados.

Figura 7 – Ambiente de desenvolvimento MPLAB IDE 8.30

DISPOSITIVO DE PROGRAMAÇÃO E DEPURAÇÃO

O programador usado no projeto é o PICKIT2 da SURE Eletrônico, o dispositivo é


similar ao dispositivo vendido pela Microchip, o MPLAB ICD2, quando integrado ao
software MPLAB IDE também da Microchip, dá suporte a programação e depuração em
tempo real do programa desenvolvido. Para isso foi disponibilizado no hardware uma porta
que possibilita a gravação e depuração em tempo real de todo o sistema.

Figura 8 – Conexão do MPLAB ICD2 ao hardware

Figura 9 – Vista do circuito interno do MPLAB ICD2

HARDWARE

JOYSTICK
Figura 10 – Diagrama de blocos do joystick.

DESCRIÇÃO DO CIRCUITO DE CONTROLE

O joystick desenvolvido conta com chaves para acionamento e seleção do robô a ser
controlado, botão de liga/desliga e com uma porta para conexão com o PC (Personal
Computer).
Para controlar a direção foi usado chaves selecionadoras de alta qualidade importadas, e
são fáceis de encontrar no mercado e de valor relativamente baixo.
Recomenda-se o uso de chaves Margirus. Esta chave possui uma qualidade superior às
demais disponíveis no mercado.
A chave selecionadora foi escolhida por não ocasionar “trepidação” ao ser pressionada.
Testes realizados em diversos experimentos mostraram que quando é necessária a troca de
estado de um sinal e este sofre variações no tempo, que é o caso do sinal que passa pela
chave, o micro controlador pode entender errado o comando enviado para o controle de
endereçamento é utilizado chaves do tipo alavanca. Estas chaves possuem boa qualidade
custo baixo e possibilita fácil operação do controle já que as alavancas são de fácil controle.

PORTA DE CONTROLE VIA COMPUTADOR


Quando o cabo de interface é conectado ao joystick ele para de responder aos comandos
enviados pelos botões, tanto de direção quanto de endereçamento. A partir deste momento
somente comandos via software serão aceitos. Para retornar ao modo de controle padrão é
preciso mudar a chave de alimentação para OFF, desconectar o cabo de controle e
novamente mudar a chave de alimentação para ON. Este procedimento é necessário visto
que depois de selecionado a opção de controle via software não é mais possível retornar ao
modo de controle padrão.
Atenção para conexões indevidas na porta de comunicação. Esta porta aceita somente o
cabo previsto e projetado para o controle. Seu protocolo não é USB (Universal Serial Bus)
apesar do conector ser o mesmo encontrado em dispositivos com conexão USB.

PORTA DE PROGRAMAÇÃO ICSP


Com o intuito de facilitar as futuras atualizações do firmware contido no controle, uma
porta de programação foi adicionada no projeto.
Esta porta só aceita comunicação com o programador ICD2® da Microchip, portanto é
extremamente perigoso tentar conectar outro programador nesta porta ou tentar fazer
adaptações.
Por questões de segurança a porta ICSP só está disponível internamente no joystick,
logo é preciso remover a tampa traseira e localizar o conector de 6 pinos.
Muita atenção à numeração dos pinos, a ligação errada pode causar danos ao circuito do
joystick e ao programador ICD2®.
Para fazer a programação todas as chaves de endereçamento devem estar na posição
OFF.

LUZES DE CONTROLE
Dois indicadores estão disponíveis no projeto do joystick
Indicador de Funcionamento: Mostra que há alimentação no joystick.
Caso a luz não acenda ou esteja fraca, e necessário fazer a substituição por outra nova.
Indicador de Atividade: Este indicador é um LED vermelho que acenderá ou piscará
durante o envio dos comandos de direção.

MODULO DE PROCESSAMENTO
O projeto prevê que comandos possam ser enviados por um software de computador
para o joystick e os comandos enviados para os robôs executarem determinada tarefa nem
sempre são as mesmas, por isso é preciso implementar uma lógica e protocolos de controle
e transmissão de informação do computador para o controle.
Fez se necessário o uso de um micro controlador para gerenciar todas estas tarefas.
O CI escolhido foi o PIC 16F877A da microchip (PIC16F877A, 2009), esta escolha foi
baseada nos seguintes itens:
-Este componente atende todos os requisitos necessários para o projeto;
-Sua documentação é muito vasta, o que facilita na implementação de projetos;
-Fácil de encontrar em qualquer loja de componentes eletrônicos;
-Valor de mercado muito baixo quando comparado com outros similares;
-Possibilidade de programação em linguagem C.

Figura 11 – Diagrama de blocos do joystick.

O micro controlador conta com várias portas de entrada e saída das quais no projeto
duas são totalmente usadas enquanto que outras são usadas para flags de controle de
rotinas, ou para a comunicação serial com o programa do computador.

Figura 12 – Pinagem do micro controlador PIC16F877A


Na tabela 2 tem se um comparativo da família de micro-controladores de mesma família
e descrição detalhada do micro-controlador usado.
Características PIC 16F873A PIC 16F874A PIC 16F876A PIC 16F877A
Frequência Operação DC - 20 MHz DC - 20 MHz DC - 20 MHz DC - 20 MHz
POR, BOR POR, BOR POR, BOR POR, BOR
Resets (e atrasos) (PWRT, OST) (PWRT, OST) (PWRT, OST) (PWRT, OST)
Memória Flash 4K 4K 4K 4K
Memória de dados 192 192 368 368

EEPROM Memória de dados 128 128 256 256


Interrupções 14 15 14 15
Portas A, B, C, Portas A, B, C,
Portas I/O Portas A, B, C D, E Portas A, B, C D, E
Temporizadores 3 3 3 3
Captura/Comparar/Módulos
PWM 2 2 2 2
Comunicação Serial MSSP, USART MSSP, USART MSSP, USART MSSP, USART
Comunicação Paralela - PSP - PSP
5 Canais 8 Canais 5 Canais 8 Canais
Módulo Analógico/Digital Entrada Entrada Entrada Entrada
Comparador Analógico 2 2 2 2
Conjunto de instruções 35 Instruções 35 Instruções 35 Instruções 35 Instruções
28 - pinos PDIP 28 - pinos PDIP 28 - pinos PDIP 28 - pinos PDIP
28 - pinos SOIC 28 - pinos PLCC 28 - pinos SOIC 28 - pinos PLCC
28 - pinos SSOP 28 - pinos TQFP 28 - pinos SSOP 28 - pinos TQFP
Pacotes 28 - pinos QFN 28 - pinos QFN 28 - pinos QFN 28 - pinos QFN
Tabela 2 – Comparativo entre microcontroladores da família 16F
Observa-se que o PIC16F877A é muito superior aos demais da sua família, com um AD
de 8Bits e memória de 8KBits, o suficiente para armazenar um programa relativamente
grande.
Figura 13 – Diagrama de blocos do PIC16F877A
COMUNICAÇÃO SERIAL

O RS-232 (também conhecido por EIA RS-232C ou V.24) é um padrão para troca
serial de dados binários entre um DTE (terminal de dados, de Data Terminal equipment) e
um DCE (comunicador de dados, de Data Communication equipment). É comumente
usado nas portas seriais dos PCs.

Características da comunicação serial:


 Características elétricas como níveis de tensão, taxa de sinalização, taxa de
rotação dos sinais, nível máximo de tensão, comportamento de curto-circuito e carga
máxima da capacitância;
 Características mecânicas da interface, conectores "plugáveis" e
identificação dos pinos;
 Funções de cada circuito no conector da interface;
 Subconjuntos padrões de circuitos de interface para aplicações selecionadas
de telecomunicação;
O padrão não define elementos como:
 Codificação de caracteres (por exemplo, ASCII, código Baudot ou
EBCDIC);
 Enquadramento dos caracteres no fluxo de dados (bits por caractere, bits de
início e parada, paridade);
 Protocolos para detecção de erros ou algoritmos para compressão de dados;
 Taxas de bit para transmissão, apesar de o padrão dizer ser destinado para
taxas de bits menores que 20.000 bits por segundo. Muitos dispositivos modernos subortam
velocidade de 115.200 bit/s;
 Fornecimento de energia para dispositivos externos.

COMUNICAÇÃO WIRELESS

Comunicação *wireless* se refere à comunicação /sem cabos ou fios/ e usa ondas


eletromagnéticas como meio de propagação para estabelecer a comunicação entre dois
pontos ou dispositivos. O termo é empregado normalmente na indústria de
telecomunicações para definir sistemas de comunicação à distância (por exemplo,
transmissores e receptores de rádio, controles remotos, redes de computadores etc.) que
utilizam alguma forma de energia eletromagnética (ondas de rádio, luz
infravermelha, /laser/, ondas sonoras etc.) para transmitir informação sem o uso de fios.
DESCRIÇÃO DO ZIGBEE
O ZigBee permite comunicações robustas e opera na frequência ISM (Industrial,
Scientific and Medical), sendo na Europa de 868 MHz (1 canal), 915 MHz (10 canais) nos
Estados Unidos e 2,4 GHz (16 canais) em outras partes do mundo, e não requerem licença
para funcionamento. As Redes ZigBee oferecem uma excelente imunidade contra
interferências, e a capacidade de hospedar milhares de dispositivos numa Rede (mais que
65.000), com taxas de transferências de dados variando entre 20Kbps a 250Kbps. O
Protocolo ZigBee é destinado a aplicações industriais, portanto, o fator velocidade não é
crítico numa implementação do ZigBee.
Os módulos RF padrão ZigBee foram criados para economizar ao máximo energia.
Com isso, é possível criar dispositivos sensores remotos alimentados com pilhas ou baterias
comuns, que durarão meses ou mesmo anos sem precisarem ser substituídas. Isso porque,
os módulos ZigBee quando não estão transmitindo/recebendo dados, entram num estado de
dormência ou em "Sleep", consumindo o mínimo de energia.

Características ZigBee:
Performance
- Potência de saída: 60 mW (18 dBm), 100 mW EIRP;
- Alcance em ambientes internos/zonas urbanas: 100m;
- Alcance de RF em linha visível para ambientes externos: 1,6Km;
- Sensibilidade do receptor: -100 dBm (1% PER);
- Frequência de operação: ISM 2.4 GHz;
- Taxa de dados de RF: 250.000 bps;
- Taxa de dados da Interface (Data Rate): 115.200 bps;
Alimentação
- Tensão de alimentação: 2.8 a 3.4v;
- Corrente de transmissão (típico): 215 mA @ 3.3 V;
- Corrente de Recepção (típico): 55 mA @ 3.3 V;
- Corrente de Power-down Sleep: <10 µA;
Propriedades físicas
- Dimensões: (2.438cm x 3.294cm);
- Peso: 0.10 oz (3g);
- Temperatura de operação: -40 to 85º C (industrial);
- Opções de antena: Conector U.FL, RF, Chip ou Chicote (whip);
Rede
- Tipo de espalhamento espectral: DSSS (Direct Sequence Spread Spectrum);
- Manipulação de erro: Retransmite novamente (Retries) & reconhecimento
(acknowledgements);
- Topologia de Rede: Peer-to-peer (Par-a-par), ponto-a-ponto, ponto-a-multiponto e
malha;
- Endereçamento: 65.000 endereços de rede disponíveis para cada canal;
- Opções de filtros: PAN ID, canais e endereços;
- Criptografia: 128-bit AES;
- Número de canais selecionáveis via software: 12 canais de sequência direta;
Geral
- Faixa de frequência: 2.4000 - 2.4835 GHz;

Figura 14 – Módulo XBee Pro

Configuração do ZigBee para o módulos:

Transmissor (Controle Remoto) Receptor (Módulos Robôs)


[A]CH=C [A]CH=C
[A]ID=3332 [A]ID=3332
[A]DL=1234 [A]DL=5678
[A]MY=5678 [A]MY=1234
[A]NI=REMOTO [A]NI=BASE
[A]D8=0 [A]D8=0
[A]D7=0 [A]D7=0
[A]D6=3 [A]D6=5
[A]D5=0 [A]D5=0
[A]D4=3 [A]D4=5
[A]D3=3 [A]D3=5
[A]D2=3 [A]D2=5
[A]D1=3 [A]D1=5
[A]D0=3 [A]D0=5
[A]IU=1 [A]IU=1
[A]IT=1 [A]IT=1
[A]IC=0 [A]IC=0
[A]IR=0 [A]IR=0
[A]IA=FFFF [A]IA=FFFF
Tabela 3 – Configuração dos Módulos ZigBee

MODULO DE ALIMENTAÇÃO

Para alimentação do circuito do controle foi necessário desenvolver um módulo de


alimentação de 5V para os componentes com a tecnologia TTL com regulador de tensão
LM7805 e outro circuito para alimentação de 3,3V usando o regulador LM317L para
alimentação do módulo wireless ZigBee.

a) DESCRIÇÃO DO REGULADOR DE 5V

O regulador de tensão utilizado é o LM7805, que tem a finalidade de fixar a tensão


de 5 volts para alimentar os componentes dos circuitos do controle remoto e robôs,
independente da entrada que poderá variar de 7 a 25 Volts. Como exemplo uma bateria de
9V.
Figura 15 – Módulo do PIC para interpretação dos dados.

ROBÔ

Figura 16 – Diagrama de blocos do robô

DESCRIÇÃO DO CIRCUITO DO ROBÔ

Os circuitos dos robôs são constituídos de quatro módulos, sendo eles, o módulo
wireless que receberá os dados transmitidos pelo controle remoto ou pelo computador, o
módulo de controle de endereçamento que irá comparar o endereçamento enviado com o
endereçamento do módulo do robô, o módulo de controle dos motores que fará o envio da
direção para o motor ou motores do robô e o módulo de alimentação que tem por objetivo
alimentar os demais circuitos e componentes.

MODULO DE CONTROLE DE ENDEREÇAMENTO

Quando um comando é recebido os 4 bits mais significativos são enviados para o


módulo de controle de endereçamento. Este compara os valores recebidos com os valores
que são fornecidos pelo conjunto de chaves presente no robô. Esse conjunto de chaves
define qual o endereço do robô, ou seja, seu numero de identificação para o joystick.
Caso os valores recebidos via módulo de recebimento de dados (módulo wireless
XBee), sejam iguais aos valores fornecidos pelo conjunto de chaves um sinal de habilitação
é enviado para o módulo de controle dos motores, assim este transmitirá para os motores do
robô, ou até mesmo para o motor, pois dependendo do tipo do robô, poderá ter de um a dois
motores. Assim transmitirá para o motor a direção que foi enviada originalmente pelo
controle remoto ou pela interface do computador.

DESCRIÇÃO DO BUFFER 74HC126

O buffer 74HC126 foi utilizado no módulo de controle de endereçamento. O CI conta


com quatro buffers que têm uma entrada , uma saída e um pino de habilitação.
Quando uma tensão é aplicada no pino de habilitação o CI conduz a informação da
porta A para o porta B, não existe transmissão bidirecional neste componente.
No projeto os comandos de habilitação são provenientes do módulo wireless. Ao
receber o sinal de habilitação o buffer faz o aterramento da porta correspondente no módulo
de controle de endereçamento.

Figura 17 – Buffer 74HC126

DESCRIÇÃO DO COMPARADOR DE 4 BITS 74LS85


Um dos itens mais importantes do projeto é a possibilidade de endereçamento de
comandos para os robôs. Cada robô possui um módulo de endereçamento que se constitui
de um conjunto de chaves para seleção de endereçamento e um circuito 74LS85.
O circuito 74LS85 da Fairchild (Fairchild, 2010) é um comparador de 4 bits, possui dois
pares de entradas de 4 bits e três saídas. Existem três possibilidades de comparação e cada
uma das saídas responde a uma lógica diferente. E ainda há a possibilidade de
cascateamento para comparação de mais bits, para saber mais sobre a ligação em série
destes comparadores observa-se a característica do componente.

Tabela 4 – Valores de saída para o comparador 74LS85

MÓDULO DE CONTROLE DOS MOTORES

Quando um comando é recebido, os 4 bits menos significativos são enviados para o


módulo de controle dos motores, estes 4 bits contem a informação de quais motores
deverão ser ativados e em que direção eles devem rodar.
Esta informação chega até um buffer que fica aguardando um sinal de liberação para
que repasse esses dados para a ponte H. Este sinal provém do controle de endereçamento
que habilita as saídas do buffer para que este transmita as informações.
Todos os robôs recebem os comandos de direção para os motores, mas é justamente o
controle de endereçamento que habilita ou não o envio destes comandos para os motores.
O circuito de controle dos motores foi construído para ter um baixo custo e fácil
operabilidade. Por isso foram utilizados motores DC com controle por ponte H

DESCRIÇÃO BUFFER 74LS244

O buffer 74LS244 (Texas Instruments, 2010) foi utilizado no módulo de controle dos
motores. O CI conta com quatro buffers bidirecionais ativados por dois pinos de habilitação
distintos.
Quando uma tensão é aplicada no pino de habilitação 1, todas os buffers conduzem
informação da porta A para a porta B, caso seja aplicado no pino de habilitação 2 as portas
conduzem no sentido porta B para porta A. O sinal de habilitação deve ser um sinal
negativo.
No projeto este buffer é usado para transmissão dos comandos do módulo wireless para
a ponte H. O módulo de endereçamento habilita as saídas da porta B enquanto que o
módulo wireless envia os sinais pela porta A. Este buffer foi preferido ao invés do
74HC126 por apresentar nível de tensão superior na saída. Como o módulo wireless tem
nível lógico alto em 3.3V, era preciso que o sinal recebesse um reforço de tensão para que
ao ser aplicado na base do transistor conduzisse ao máximo.
O buffer 74HC126 transmitia menos que os 3,3V para a saída devido a perdas no
circuito.
Já o 74LS244 foi capaz de prover tensão de aproximadamente 4V para a saída, o que já
era suficiente para que os transistores conduzissem satisfatoriamente.

Figura 18 – Diagrama interno do 74LS244

DESCRIÇÃO DA PONTE H
Ponte H é um circuito eletrônico que permite que um motor (DC) gere tanto para um
sentido quanto o outro. Estes circuitos são geralmente utilizados em robótica e estão
disponíveis em circuitos prontos ou podem ser construídos por componentes.
A ponte construída para o projeto usa transistores NPN BC547B (Fairchild, 2010) com
resistores de 1K na base. As entradas DIREÇÃO_1 e DIREÇÃO_2 dão o sentido de
rotação do motor. Quando uma tensão é aplicada em DIREÇÃO_1 os transistores Q2 e Q3
conduzem a tensão do sinal POWER até o aterramento. Quando uma tensão é aplicada em
DIREÇÃO_2 os transistores Q1 e Q4 conduzem a tensão do sinal POWER até o
aterramento.

Figura 19 – Ponte H

MODULO WIRELESS

O módulo wireless no robô trabalha recebendo os dados e repassando parte para o


módulo de controle de endereçamento e parte para o módulo de controle dos motores.
Assim fazendo o reconhecimento do endereçamento e enviando os comandos para o motor
do robô.

MODULO DE ALIMENTAÇÃO
O módulo de alimentação conta com um regulador de tensão de 9V para 5V e conta
com um regulador de tensão de 3,3V que são alimentação por 1 bateria de 9V.
CONCLUSÃO

O presente projeto obteve êxito em seu desenvolvimento, tendo grandes problemas com
a circuito de controle de motores que demorou para ter o funcionamento esperado. Devido
a isso, esta etapa demandou mais tempo do que o calculado, mesmo assim conseguimos
manter o cronograma. Foi necessário várias alterações no projeto inicial para que os
módulos tivessem o funcionamento desejado. Um exemplo foi a ponte H que antes era
implementada com transistores e depois de vários testes foi substituído por um único CI
capaz de realizar as funções corretamente, esse CI além de diminuir o tamanho do circuito
final, garantiu os níveis de tensões necessários para funcionamento dos motores.
Posteriormente, com uma possível continuidade a este projeto, será necessária uma melhora
na rede wireless, para criar inteligência entre estes robôs, como exemplo evitar um choque
entre eles ou até mesmo compartilharem informações. Contudo, acreditamos que este
projeto atendeu as expectativas pessoais e acadêmicas, com uma grande valorização de
todos que colaboraram para a sua conclusão.
REFERÊNCIAS

Fairchild. (1 de Janeiro de 2010). Acesso em 1 de Janeiro de 2010, disponível em


Fairchild Portal: http://www.fairchildsemi.com/
Home Page - Rogercom. (1 de Janeiro de 2009). Acesso em 1 de Maio de 2010,
disponível em Rogercom: http://www.rogercom.com/
MPLAB Home Page. (1 de 1 de 2009). Acesso em 14 de Maio de 2010, disponível em
Portal Microchip: http://www.microchip.com/mplab/
Netbeans IDE. (15 de Maio de 2010). Acesso em 15 de Maio de 2010, disponível em
Netbeans IDE: http://www.netbeans.org
PIC16F877A. (1 de Janeiro de 2009). Acesso em 1 de Janeiro de 2010, disponível em
Microchip Portal: http://www.microchip.com/en_US/family/8bit/index.html
Sure Eletronics. (1 de Janeiro de 2009). Acesso em 1 de Maio de 2010, disponível em
Sure Eletronics: http://www.sureelectronics.net/
Texas Instruments. (1 de Janeiro de 2010). Acesso em 1 de Janeiro de 2010, disponível
em Texas Instruments: http://www.ti.com
Wikipedia. (20 de Agosto de 2010). Acesso em 20 de Agosto de 2010, disponível em
Wikipedia: http://www.wikipedia.com.br
XBee® & XBee-PRO® RF Modules. (1 de Janeiro de 2007). Acesso em 1 de Maio de
2010, disponível em Digi: http://www.digi.com/products/wireless/point-multipoint/xbee-
series1-module.jsp#overview
ZigBee. (1 de Janeiro de 2007). Acesso em 1 de Maio de 2010, disponível em ZigBee
Alliance: http://www.zigbee.org/Products/DownloadZigBeeTechnicalDocuments.aspx
ANEXO A – ARTIGO TÉCNICO
ANEXO B – MANUAL DO SISTEMA
ANEXO C - CIRCUITOS
ANEXO D – PLACAS
ANEXO E – CHASSIS

Figura 20 – Chassis do controle


Figura 21 – Chassis do controle
Figura 22 - Chassis do controle
Figura 23 - Chassis do robô
Figura 24 - Chassis do robô
Figura 25 - Chassis do robô

You might also like