Você está na página 1de 44

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, Agosto de 2010.


UNIVERSIDADE POSITIVO
Reitor: Prof. Oriovisto Guimarães
Vice-Reitor: Prof. José Pio Martins
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. O Sistema de Comunicação sem Fio para Controle Robótico
(SCOR) possibilita que os robôs usados no laboratório de alto desempenho possam ser
controlados com mais facilidade durante o seu uso. Os atuais módulos de comunicação
usando infravermelho tem sérios problemas relacionados à transmissão de sinais a longas
distâncias e endereçamento dos 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 simples de comunicação.

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


ABSTRACT

The objective of this project is to achieve a significant improvement in equipment for


use in teaching laboratories. The Wireless Communication System for Robotic Control
(SCOR) allows robots used in the laboratory of high performance can be monitored more
easily during use. The current communication modules using infrared has serious problems
related to transmission of signals over long distances and address of the commands. This
project also aims to spread the use of the technology of 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 single network of communication.

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 ............................................................................................................. 23
TESTES DE VALIDAÇÃO ........................................................................................... 41
REFERENCIA .................................................................................................................... 43
LISTA DE FIGURAS

FIGURA 1 – FLUXOGRAMA DE FUNCIONAMENTO ................................................................................... 13


FIGURA 2 – DIAGRAMA DE CASO DE USO .................................................................................................. 14
FIGURA 3 – DIAGRAMA DE SEQÜÊNCIA ..................................................................................................... 14
FIGURA 4 – TELA PRINCIPAL DO SOFTWARE ............................................................................................ 15
FIGURA 5 – TELA DE CONFIGURAÇÃO DE PARÂMETROS ...................................................................... 15
FIGURA 6 – AMBIENTE DE PROGRAMAÇÃO NETBEANS IDE 6.9 ........................................................... 16
FIGURA 7 – TRECHO DE CÓDIGO DO FIRMWARE ..................................................................................... 20
FIGURA 8 – AMBIENTE DE DESENVOLVIMENTO MPLAB IDE 8.30 ........................................................ 21
FIGURA 9 – CONEXÃO DO MPLAB ICD2 AO HARDWARE ........................................................................ 22
FIGURA 10 – VISTA DO CIRCUITO INTERNO DO MPLAB ICD2 ............................................................... 22
FIGURA 11 – DIAGRAMA DE BLOCOS DO JOYSTICK. ............................................................................... 23
FIGURA 12 – PINAGEM DO MICRO CONTROLADOR PIC16F877A ........................................................... 25
FIGURA 13 – COMPARATIVO ENTRE MICROCONTROLADORES DA FAMÍLIA 16F ............................ 26
FIGURA 14 – DIAGRAMA DE BLOCOS DO PIC16F877A ............................................................................. 27
FIGURA 15 – ENCAPUSULAMENTO PIC16F877A......................................................................................... 28
FIGURA 16 – MÓDULO XBEE PRO.................................................................................................................. 32
FIGURA 18 – TIPOS DE ENCAPSULAMENTO LM7805 ................................................................................ 33
FIGURA 19 – EXEMPLO DE CONEXÃO PADRÃO DO LM7805 ................................................................... 33
FIGURA 20 – PINAGEM LM317 ........................................................................................................................ 34
FIGURA 21 – EXEMPLO DE CONEXÃO PADRÃO DO LM317 ..................................................................... 34
FIGURA 22 – DIAGRAMA DE BLOCOS DO ROBÔ........................................................................................ 36
FIGURA 23 – DIAGRAMA INTERNO DO 74LS244......................................................................................... 38
FIGURA 24 – PONTE H ...................................................................................................................................... 39
LISTA DE TABELAS

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


TABELA 2 - CONFIGURAÇÃO DOS MÓDULOS ZIGBEE ............................................................................. 32
TABELA 3 – VALORES DE SAÍDA PARA O COMPARADOR 74LS85 ........................................................ 37
LISTA DE ABREVIATURAS E SIGLAS

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


10

INTRODUÇÃO

O dispositivo para controle de Robôs chamado de SCOR 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
esta interface não permite controlar apenas um robô em questão e sim todos 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.
Os módulos XBee® são produzidos pela Digi®.(XBee® & XBee-PRO® RF Modules, 2007)

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 subsequentes àquelas estabelecidas pelo padrão IEEE 802.15.4.

Foi pensada para poder ligar pequenas unidades de recolha de dados e de tele-acçã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
extensão doméstica ou industrial sem necessidade de utilizar ligações eléctricas entre elas.

Hoje já se encontram módulos com taxas de 250kbps que alcançam até 70 metros em visada
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.

(ZigBee, 2007).
11

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.
12

ESPECIFICAÇÃO

O SCOR é adequado para controlar dispositivos remotos através de comunicação


wireless e que necessitam somente de comandos simples, como para frente 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 através do computador, via software.

CARACTERISTICAS

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 9 v, consumo médio de corrente 200mA;
6) Alimentação do Dispositivo: 4 pilhas comuns;
7) Controle de até 15 robôs simultaneamente;

REQUISITOS
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.
3) O controle remoto deve ser de fácil entendimento e uso. Não necessitando de
muitos botões, somente os responsáveis para controle de direção e seleção de
endereçamento e eventualmente um botão de “ON/OFF” e um botão que habilite a
interface para controle via computador.
4) A interface deve usar comunicação serial.
5) É necessário um computador com porta serial disponível, e configuração igual ou
superior a Intel Pentium 4, 1.6GHz ou compatível, 256Mb de RAM e sistema
operacional com suporte a JAVA.
13

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


14

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 Seqüência


15

TELAS

Figura 4 – Tela principal do software

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


16

IDE NETBEANS
O NetBeans IDE é um premiado ambiente de desenvolvimento integrado 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++.

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

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.(Netbeans IDE, 2010)
17

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, que é o padrão utilizado em todo o projeto.
A interface receberá caracteres ASCII 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.

CARACTE
INDICE ROBÔ DIREÇÃO
RE
01 A 1 FRENTE
02 B 1 TRÁS
03 C 1 ESQUERDA
04 D 1 DIREITA
05 E 1 PARADO
06 F 2 FRENTE
07 G 2 TRÁS
08 H 2 ESQUERDA
09 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
18

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
19

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

Como pode ser visto na tabela, cada caractere está atribuído a um robô e uma direção
diferente.
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ô.
20

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.
Todo 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 e o PIC
começa a rodar o programa. Este fica aguardando algum comando 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 o 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.

Figura 7 – Trecho de código do firmware


21

DESCRIÇÃO DO MICROCHIP MPLAB IDE


A IDE utilizada para desenvolvimento no projeto foi a Microchip MPLAB.
Conta com um ambiente de programação limpo e opção de depurar o programa escrito
quando conectado com o programador ICD2® ao 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 esta IDE, mas devido à facilidade e a familiaridade com a
linguagem C, esta ultima foi à escolhida. (MPLAB Home Page, 2009)
Esta IDE não é totalmente funcional sozinha, é preciso instalar compiladores para as
linguagens a serem suportadas e para os dispositivos a serem suportados. Por exemplo:
microcontroladores da família PIC24 e PIC30 não são suportados.

Figura 8 – Ambiente de desenvolvimento MPLAB IDE 8.30

(MPLAB Home Page, 2009)


22

HARDWARE 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. (Sure Eletronics, 2009)

Figura 9 – Conexão do MPLAB ICD2 ao hardware

Figura 10 – Vista do circuito interno do MPLAB ICD2


23

HARDWARE

JOYSTICK

Figura 11 – 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.
Para controlar a direção foi usado chaves push-button de alta qualidade importadas, estas
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 push-button foi escolhida por não ocasionar “trepidação” ao ser pressionada.
Testes realizados em diversos experimentos mostraram que quando é necessário a troca de
estado de um sinal e este sofre variações no tempo, que é o caso do sinal que passa pela
24

chave, o micro controlador pode entender errado o comando enviado.Para 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 pára 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 apesar do conector ser o
mesmo encontrado em dispositivos com conexão USB. Seus níveis de tensão e pinagens são
incompatíveis com protocolo 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 adicionado 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 irá 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:
25

-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;

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


26

Abaixo uma tabela com um comparativo da família de micro-controladores de mesma


família e descrição detalhada do micro-controlador usado.

Figura 13 – Comparativo entre microcontroladores da família 16F


27

Pode se nitidamente ver que o PIC16F877A é muito superior aos demais da sua família,
com um AD de 8 bits e memória de 8k, o suficiente para armazenar um programa
relativamente grande.

Figura 14 – Diagrama de blocos do PIC16F877A


28

O encapsulamento PDIP de 40 pinos foi preferido devido a sua fácil manutenção

Figura 15 – Encapusulamento PIC16F877A


29

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.

Caracteristicas 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

Há várias configurações de software para conexões seriais. As mais comuns são


velocidade e bits de paridade e parada. A velocidade é a quantidade de bits por segundo
transmitida de um dispositivo para outro. Taxas comuns de transmissão são 300, 1200, 2400,
9600, 19200, etc. Tipicamente ambos os dispositivos devem estar configurados com a mesma
velocidade, alguns dispositivos, porém, podem ser configurados para auto-detectar a
velocidade. Paridade é um método de verificar a precisão dos dados. Paridade é normalmente
nula (não usada), mas pode ser par ou ímpar. Paridade funciona modificando os dados, em
cada byte enviado. Paridade nula é simples, os dados não são modificados. Na paridade par,
os dados são acomodados de modo que o número de bits 1 (isto é, sua contagem em um byte)
seja um número par; isto é feito definindo o bit de paridade (geralmente os bits mais ou
menos significativo) como 0 ou 1. Na paridade impar, o número de bits 1 é um número impar.
A paridade pode ser usada pelo receptor para detectar a transmissão de erros - se um byte foi
recebido com o número errado de bits 1, então ele deve estar corrompido. Se a paridade estar
correta então não devem haver erros, ou então há um número par de erros. Bits de parada são
enviados no fim de cada byte transmitido com o intuito de permitir que o receptor do sinal se
sincronize. Existe uma convenção para a notação se uma configuração de software de uma
conexão serial, esta notação é da forma D/P/S. Sendo que a configuração mais comum é a
30

8/N/1 que especifica que são transmitidos 8 bits de dados, paridade nula e um bit de parada. O
número de bits de dados pode ser 7, 8 ou (às vezes) 9. Paridade pode ser nula (N), impar (O)
ou par (E); o bit de paridade é emprestado dos bits de dados, então 8/E/1 significa que um dos
oito bits de dados é utilizado como bit de paridade. Podem haver 1, 1,5 ou 2 bits de parada
(1,5 era utilizado em teletypewriters baudot de 60 palavras por minuto). Outra configurações
definem quando pinos enviam sinais de "handshake", ou outras checagem de integridade dos
dados. Combinações comuns são RTS/CTS, DTR/DSR, ou XON/XOFF (que não usam pinos
no conector, mas caracteres especiais no fluxo dos dados). O caractere XON diz ao receptor
que o remetente do caractere está pronto para receber mais dados. O caractere XOFF diz ao
receptor para parar de enviar caracteres. O XON/XOFF está em desuso, e é preferível que se
utilize o controle de fluxo RTS/CTS. XON/XOFF é um método "em banda" que funciona
entre dois pontos, mas ambos devem suportar o protocolo, e há uma confusão em potencial no
início. Pode ser feito numa interface com três fios. RTS/CTS foi desenvolvido com o intuito
de permitir que a teletypewriter e o modem coordenassem ligações half-duplex onde apenas
um modem pode transmitir por vez. O terminal deve "levantar" o sinal Pronto Para Enviar e
esperar que o modem responda com Envie os Dados. RTS/CTS é um "handshake" no nível do
hardware, mas tem suas vantagens. Uma teletypewriter ASR tinha um leitor de fita de papel.
Os caracteres eram enviados quando a fita era lida (ASR vem de Automatic Send Receive,
envia e recebe automaticamente). Quando a máquina recebia um caractere XOFF, ela
desligava a leitora de fita e ao receber um XON a religava. O sistema remoto poderia enviar
um XOFF quando era necessário que o remetente diminuísse sua velocidade. Nos sistemas,
originalmente, as mensagens eram previamente preparadas na fita de papel para que o tempo
de transmissão fosse minimizado. Largura de banda era muito escaça e cara. Em alguns
minicomputadores antigos, a fita de papel era a única maneira de efetuar guardar e restaurar
dados .
31

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 freqüê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 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. (Home Page - Rogercom, 2009)
Caracteristicas ZigBee:
Performance
- Rendimento da 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);
- Freqüê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;
32

- 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 seqüência direta;
Geral
- Faixa de freqüência: 2.4000 - 2.4835 GHz;

Figura 16 – 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 2 - Configuração dos Módulos ZigBee
33

MODULO DE ALIMENTAÇÃO

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


alimentação de 5 v 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 5 v

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 9 V.

O LM7805 é fornecido por vários fabricantes como a Fairchild ou ST


Microelectronics. Ele pode vir em vários encapsulamentos. Para corrente de saída até 1ª
existem dois encapsulamentos: TO-220(vertical) e D-PAK(horizontal).

Figura 17 – Tipos de Encapsulamento LM7805

Circuito de conexão tipica do LM7805

Figura 18 – Exemplo de conexão padrão do LM7805

Capacitores de desacoplamento(entre 10uF e 47uF) são necesários na entrada e saída,


conectados ao gnd.
34

b) DESCRIÇÃO DO REGULADOR DE 3.3V


O CI LM317 é o mais popular dos CI’s reguladores de tensão, o CI LM317M foi
construído para fontes ajustáveis com corrente de saída máxima de 500 mA e tensão
de saída ajustável entre 1,2 V e 37 V. Este componente é simples de usar bastam dois
resistores externos ao CI para ajustar a tensão de saída, ele ainda possui proteção
interna contra curto circuito e proteção contra sobre aquecimento o que torna este CI
prático e difícil de queimar!
O CI LM317 tem uma vasta aplicação. Este CI pode ser usado como fonte fixa,
onde a tensão de saída foge ao padrão dos CI’s com tensão fixa. Outra aplicação é em
fonte onde a tensão de saída tem que ser ajustada na fábrica ou ainda em fontes de
alimentação onde a saída deva ser ajustada pelo operador, como é o caso das fontes
de tensão usada em laboratório de eletrônica!
O encapsulamento deste tipo de CI é mostrado abaixo, note que a pinagem é
bem diferente da pinagem dos CI’s de tensão fixa, você deve prestar atenção para não
errar a conexão. Neste tipo de CI não tem o pino de terra e sim o pino de ajuste
(Adjust)! Outro detalhe importante é que o pino 2 de saída está eletricamente
conectado ao dissipador de calor!

Figura 19 – Pinagem LM317

!
O circuito é mostrado abaixo:

Figura 20 – Exemplo de conexão padrão do LM317


35

PCB
LAYOUT NO ORCAD CAPTURE
36

ROBÔ

Figura 21 – Diagrama de blocos do robô

DESCRIÇÃO DO ROBÔ

Os robôs são constituídos de quatro módulos, o módulo wireless, o módulo de controle de


endereçamento, o módulo de controle dos motores e o módulo de alimentação.

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 sejam iguais aos valores fornecido pelo conjunto de chaves um
sinal de habilitação é enviado para o módulo de controle dos motores.
37

DESCRIÇÃOD O 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.

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
veja o datasheet do componente.

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


38

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 4 v para a saída, o que já
era suficiente para que os transistores conduzissem satisfatoriamente.

Figura 22 – Diagrama interno do 74LS244


39

DESCRIÇÃO DA PONTE H

Ponte H é um circuito eletrônico que permite que um motor DC rode 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 23 – Ponte H
40

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.
Mais informações estão contidas na descrição do módulo wireless do joystick. (Pág. 31)

MODULO DE ALIMENTAÇÃO

O módulo de alimentação conta com um regulador de tensão de 3.3V e alimentação por


pilhas.
A descrição do regulador de tensão 3.3V pode ser visto na página 33.
A descrição do regulador de tensão 3.3V pode ser visto na página 34.
Para isolar os circuitos, a ponte H não recebe alimentação do regulador de 5 v.
41

PCB
LAYOUT NO ORCAD CAPTURE

TESTES DE VALIDAÇÃO
42

1) Funcionamento do programa para o computador;


2) Funcionamento da Interface com o Módulo Wireless;
3) Funcionamento do envio do protocolo entre o Software e o Módulo;
4) Funcionamento do Módulo do Controle Remoto;
5) Funcionamento do Módulo do Robô;
6) Comunicação serial entre o computador e o Módulo do Robô;
7) Comunicação serial entre o Controle Remoto e o Módulo do Robô;
8) Funcionamento do mecanismo do Robô, recebendo as coordenadas;
43

REFERENCIA

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