UIVERSIDADE CATÓLICA DE GOIÁS DEPARTAMETO DE COMPUTAÇÃO GRADUAÇÃO EM EGEHARIA DE COMPUTAÇÃO TECOLOGIA WIRELESS: ACIOADO UM DISPOSITIVO ROBÓTICO POR MEIO DE UM MICROCOTROLADOR ALEX ARGEMON FERNANDES DAIANE BARBOSA MORI KARINE CLAUDIO FERREIRA JUNHO 2008 UIVERSIDADE CATÓLICA DE GOIÁS DEPARTAMETO DE COMPUTAÇÃO GRADUAÇÃO EM EGEHARIA DE COMPUTAÇÃO TECOLOGIA WIRELESS: ACIOADO UM DISPOSITIVO ROBÓTICO POR MEIO DE UM MICROCOTROLADOR Trabalho de Projeto Final de Curso II apresentado por Alex Argemon Fernandes, Daiane Barbosa Mori e Karine Cláudio Ferreira à Universidade Católica de Goiás, sob a orientação da Profª. Mírian Sandra Rosa, MSc, como requisito parcial para a Graduação do Curso de Engenharia de Computação. ii AGRADECIMETOS Agradecimentos aos nossos pais ausentes e presentes, colegas e familiares, por nos apoiarem em chegar ao final de mais uma etapa da vida. A nossa orientadora, Mírian Sandra Rosa, que teve paciência e compreensão em nos orientar no desenvolvimento deste trabalho de conclusão de curso. Para a nossa professora Solange Silva que não mediu esforços para nos auxiliar na área de rede a nossa estima. Ao Departamento de Computação da Universidade Católica de Goiás por nos ceder o laboratório de robótica para a realização dos experimentos práticos por nós realizados. iii DEDICATÓRIA A Deus, pelas nossas vidas e por ter colocado pessoas no caminho que tanto nos ajudaram, pela serenidade e sabedoria para absorver os conhecimentos. Aos nossos familiares pela força e compreensão em nossos momentos de ausência e falta de paciência. Aos amigos pelo companheirismo. “Deus, dai-me a serenidade para aceitar as coisas que eu não posso mudar, coragem para mudar as coisas que eu possa, e sabedoria para que eu saiba a diferença: vivendo um dia a cada vez, aproveitando um momento de cada vez; aceitando as dificuldades como um caminho para a paz.” Reinhold Niebuhr iv RESUMO Este projeto tem como objetivo o desenvolvimento de módulos utilizando a tecnologia sem fio para a transmissão de sinais, integrando-os a um microcontrolador que acionará um dispositivo robótico. Estes módulos possibilitam o controle de outros dispositivos que podem ser utilizados tanto em residências no acionamento de portões eletrônicos ou na indústria no acionamento de grandes motores. Os módulos minimizam á utilização de fios e cabos para controlar/acionar dispositivos elétricos. Palavras-Chave: sem fio, microcontrolador, robótica v ABSTRACT This project has as objective the development of modules using the technology wireless for transmission of signals, integrating them into a microcontroller that will set in motion a robotic device. These modules make possible the control of other devices that can in such a way be used in residences in the drive of electronic gates or the industry in the drive of great engines. The modules minimize the use of wires and handles to control/to set in motion electric devices. Word-Key: wireless, microcontroller, robotics vi TECOLOGIA WIRELESS: ACIOADO UM DISPOSITIVO ROBÓTICO POR MEIO DE UM MICROCOTROLADOR SUMÁRIO LISTA DE FIGURAS.............................................................................................................. ix LISTA DE TABELAS ............................................................................................................. xi LISTA DE ABREVIATURAS E SIGLAS ........................................................................... xii INTRODUÇÃO .......................................................................................................................... 1 FUNDAMENTAÇÃO TEÓRICA ............................................................................................. 3 2.1. Componentes Eletrônicos .............................................................................................. 3 2.1.1. Resistor ............................................................................................................... 3 2.1.2. Capacitores ......................................................................................................... 4 2.1.3. Transistor ............................................................................................................ 5 2.1.4. Diodo .................................................................................................................. 5 2.1.5. LED .................................................................................................................... 6 2.1.6. Circuito Integrado ............................................................................................... 6 2.1.7. Cristal de Quartzo ............................................................................................... 7 2.2. Porta Paralela .............................................................................................................. 8 2.3. Motores de Passos .................................................................................................... 10 2.4. Fonte de Tensão e Corrente ...................................................................................... 12 2.5. Matriz de contato ...................................................................................................... 12 2.6. Microcontrolador ...................................................................................................... 13 2.6.1. Microcontrolador PIC16F877 .......................................................................... 15 2.7. Transmissão e Recepção ........................................................................................... 22 2.8. Estudo das Redes Wireless ....................................................................................... 26 vii EXPERIMENTOS REALIZADOS .......................................................................................... 30 3.1. Primeiro Experimento: Teste de I/O do PIC 16F877 .................................................. 30 3.2. Segundo experimento: Acionamento de um motor de passo ..................................... 31 3.3. Terceiro experimento: Transmissão wireless .............................................................. 33 3.4. Quarto Experimento: Envio de dados usando o RT4 e RR3 ...................................... 34 4.1. Módulo de Comunicação ............................................................................................ 38 4.2. Módulo de Controle ..................................................................................................... 39 5.4. Módulo Físico .............................................................................................................. 44 CONCLUSÃO .......................................................................................................................... 47 BIBLIOGRAFIA ...................................................................................................................... 49 APÊNDICE .............................................................................................................................. 53 Apêndice A – Código-fonte em Linguagem C do Primeiro Experimento ......................... 53 C do Segundo Experimento ......................... 55 Apêndice B – Código-fonte em Linguagem Apêndice C – Código-fonte em Linguagem C do Módulo de Controle ............................. 56 viii TECOLOGIA WIRELESS: ACIOADO UM DISPOSITIVO ROBÓTICO POR MEIO DE UM MICROCOTROLADOR LISTA DE FIGURAS Figura 1 - Resistor [MIL2007] .................................................................................................. 4 Figura 2 - Capacitores [CAP2007] ........................................................................................... 4 Figura 3 - Transistores[XAT2007] ............................................................................................ 5 Figura 4 - Tipos de diodos [E)C2007] ..................................................................................... 6 Figura 5 - LED [PAG2007] ....................................................................................................... 6 Figura 6 - Circuito Integrado [CI2008] .................................................................................... 7 Figura 7 - Cristal de Quartzo .................................................................................................... 8 Figura 8 - Conector DB25[ROG2007] ...................................................................................... 9 Figura 9 - Dados enviados através da porta paralela[ROG2007] ........................................... 9 Figura 10 - Pinagens do CI UL)2003 [ROG2007] ................................................................ 11 Figura 11 - Pinagens do CI UL) 2803[ROG2007] ................................................................ 11 Figura 12 - Controle de 1 motor de passo usando o CI UL) 2003[ROG2007] ..................... 12 Figura 13 - Matriz de contato[MI)2007] ............................................................................... 13 Figura 14 - Componentes de um Microcontrolador [MZE2007] ............................................ 14 Figura 15 - PIC16F877 [MEC2007] ....................................................................................... 15 Figura 16 - Diagrama de pinos do PIC16F877[SOU2003] .................................................... 16 Figura 17 - Gravadora mcFflash[LAB2007] .......................................................................... 21 Figura 18 - Circuito Equivalente do Transmissor[SAB2007] ................................................ 23 Figura 19 - Identificação dos terminais[SAB2007] ................................................................ 24 Figura 20 - RT4[TEL2007] ...................................................................................................... 24 ix Figura 21 - Pinagem do receptor[SAB2007] .......................................................................... 25 Figura 22 - Receptor RR3 [ROG2007] .................................................................................... 26 Figura 23 - Esquema Elétrico do Microcontrolador ............................................................... 30 Figura 24 - Esquema do Acionamento .................................................................................... 32 Figura 25 - Acionando um motor de passo no PIC Simulator ................................................ 33 Figura 26 - CIs MC145026 e MC145027-[ROG2007] ........................................................... 33 Figura 27 - Teste de transmissão entre o codificador e o decodificador [ROG2007] ............ 34 Figura 28 - Esquema elétrico do RR3 e MC145027 adaptada [ROG2007] ........................... 35 Figura 29 - Esquema elétrico do RT4 e MC145026 - adaptada [ROG2007] ......................... 35 Figura 30 - O Esquema dos Módulos ...................................................................................... 37 Figura 31 - Módulo de Comunicação ...................................................................................... 38 Figura 32 - Esquema Elétrico do Transmissor ........................................................................ 39 Figura 33 - Matriz de Contato ................................................................................................. 40 Figura 34 - Esquema elétrico da matriz de contato. ............................................................... 40 Figura 35 - Módulo Controle................................................................................................... 41 Figura 36 - Esquema Elétrico do Receptor ............................................................................. 41 Figura 37 - Interface dos Sinais[ROG2007] ........................................................................... 43 Figura 38 - Configuração do Registro[ROG2007] ................................................................. 43 Figura 39 - Robô ARM modelo RA-01..................................................................................... 44 Figura 40 - Protótipo ............................................................................................................... 45 Figura 41 - Protótipo com Módulo de Controle ...................................................................... 46 x TECOLOGIA WIRELESS: ACIOADO UM DISPOSITIVO ROBÓTICO POR MEIO DE UM MICROCOTROLADOR LISTA DE TABELAS Tabela 1 - Endereçamento e formas de acesso aos registradores [ROG2007] .......................... 8 Tabela 2 - Meio passo[ROG2007]........................................................................................... 10 Tabela 3 - Nomenclatura dos pinos do PIC16F877 [MIC2006] ............................................. 17 Tabela 4 - Continuação da nomenclatura dos pinos do PIC16F877 ........................................ 18 Tabela 5 - Descrição dos parâmetros de controle [PER2004] ................................................. 19 Tabela 6 - Enviar pulsos [GRA2007] ...................................................................................... 21 Tabela 7 - Comparativo entre as redes Wireless ..................................................................... 29 xi TECOLOGIA WIRELESS: ACIOADO UM DISPOSITIVO ROBÓTICO POR MEIO DE UM MICROCOTROLADOR LISTA DE ABREVIATURAS E SIGLAS A/D Analógico / Digital CCS Custom Computer Services CI Circuito Integrado CLP Controlador Lógico Programável CPU Central Processor Unit (Unidade Central de Processamento) EEPROM Electrically Erasable Programmable Read-Only Memory GND Ground (Terra) IDE Integrated Development Environment I/O Input/Output (Entrada/Saída) LCD Liquid Crystal Display (Display de Cristal Líquido) LED Light Emitting Diode (Diodo Emissor de Luz) PC Personal Computer (Computador Pessoal) PIC Peripherical Interface Controller PWM Pulse-Width Modulation (Modulação por Largura de Pulso) RAM Random Access Memory (Memória de Acesso Randômico) RCX Robotic Command Explorer RISC Reduced Instruction Set Computer UCG Universidade Católica de Goiás UCP Unidade Central de Processamento ULA Unidade Lógica Aritmética USB Universal Serial Bus (Barramento Serial Universal) VT Transmissão válida xii 1 TECOLOGIA WIRELESS: ACIOADO UM DISPOSITIVO ROBÓTICO POR MEIO DE UM MICROCOTROLADOR CAPITULO I ITRODUÇÃO A comunicação de dados digitais é uma realidade em nosso cotidiano em que o crescimento de trocas de informações vem fazendo parte, tanto na indústria, quanto nas residências. No início, as infra-estruturas de redes que faziam essa comunicação eram feitas através de cabos, ou seja, a conexão era puramente física. Devido à necessidade de se ter mobilidade para a troca de informações, surgiu à transmissão sem fio, permitindo ao usuário de qualquer lugar realizar a troca de informações sem a necessidade de estar conectado a uma rede. Este projeto visa o estudo de uma tecnologia de comunicação sem fio, especificamente a utilização de dois chips, um transmissor (RT4) e um receptor (RR3) fabricados pela Telecontrolli, empresa privada que produz componentes híbridos com tecnologia de radiofreqüência. A partir de uma abordagem experimental, foi proposta uma aplicação para testar e analisar o desempenho dos chips que estavam disponíveis no Laboratório de Robótica do Departamento de Computação da Universidade Católica de Goiás. Para essa aplicação foram desenvolvidos três módulos: um para enviar um sinal vindo de um computador usando o transmissor RT4, outro para receber este sinal via wireless utilizando o receptor RR3, e o último módulo é um dispositivo robótico contendo dois motores de passo concedendo ao mesmo dois graus de liberdade, isto é, tem mobilidade nos eixos horizontal e vertical. Este projeto está dividido em sete capítulos. O segundo capítulo mostra a fundamentação teórica (como): os componentes eletrônicos utilizados, como o microcontrolador, o dispositivo periférico do computador (porta paralela), motores de passo, linguagem de programação (C), e o estudo das tecnologias wireless. O terceiro capítulo traz os experimentos realizados com microcontrolador e os chips de transmissão e recepção. 2 O quarto capítulo faz a descrição dos módulos implementados para a aplicação deste projeto a fim de validá-lo. O quinto capítulo traz as conclusões e as dificuldades encontradas. O sexto capítulo é a bibliografia que contém as referências que embasam a aplicação. O sétimo capítulo traz em apêndices os programas desenvolvidos na linguagem C para os experimentos. 3 TECOLOGIA WIRELESS: ACIOADO UM DISPOSITIVO ROBÓTICO POR MEIO DE UM MICROCOTROLADOR CAPITULO II FUDAMETAÇÃO TEÓRICA Esse capítulo apresenta uma pesquisa teórica a respeito das tecnologias atuais utilizadas no desenvolvimento da aplicação deste projeto, dentre os quais podem-se destacar: redes sem fio, microcontroladores, motores de passo, porta paralela, e componentes eletrônicos, os quais serão descritos neste capítulo. 2.1. Componentes Eletrônicos Nesta seção é feita uma descrição dos componentes eletrônicos utilizados na aplicação deste projeto, a fim de mostrar o seu conceito e características pelas quais foram selecionadas (para compor a parte física deste projeto.) 2.1.1. Resistor Os resistores têm por finalidade apresentar uma resistência elétrica, ou seja, uma oposição à passagem de corrente. A medida da resistência é feita em uma unidade denominada ohm (Ώ). O tamanho do resistor está relacionado com sua capacidade de dissipar calor. Quanto mais intensa for a corrente num resistor, mais calor ele irá gerar, e este calor precisará ser transferido ao meio ambiente. Assim, o tamanho do resistor está relacionado com sua potência em watts (W) e não com sua resistência. [BRA2005] Os principais resistores fixos são os de carbono e os de fio enrolado. Estes possuem um código de cores de três a cinco faixas que corresponde a um sistema de padrões adotados para a identificação da resistência que pode ser verificada também através de um ohmímetro (ou multímetro). 4 A Figura 1 mostra um exemplo de resistor. Figura 1 - Resistor de Carbono[MIL2007] Neste projeto foi usado para proteger os componentes para não danificá-los. 2.1.2. Capacitores Capacitores são elementos que têm a finalidade de armazenar energia na forma de campo elétrico em um circuito e, por apresentarem uma impedância são utilizados como elementos de filtragem e modificadores do ângulo de fase entre corrente e tensão. Estas funções são conseguidas graças à propriedade física dos materiais dielétricos que submetidos a um campo elétrico, se tornam polarizados e acumulam energia. Um capacitor só admite corrente enquanto estiver sendo carregado ou descarregado, de modo que, quanto mais carga existir no capacitor maior será o campo elétrico criado. [QUE2000] Capacitores também são utilizados com o fim de eliminar sinais indesejados, diminuindo a possibilidade da invasão do circuito por ruídos. Atualmente, existem vários tipos de capacitores, como mostra a Figura 2, sendo que estes podem ser classificados da seguinte forma: eletrolíticos, filme plástico, cerâmicos, mica e redes capacitivas. Figura 2 - Capacitores [CAP2007] 5 Neste projeto foi usado para filtrar ruídos e interferências. 2.1.3. Transistor Um transistor é um dispositivo semicondutor de três camadas, PNP ou NPN, com duas junções. Essa estrutura é formada por duas camadas de cristais do mesmo tipo, intercalada por uma camada de cristal do tipo oposto, que tem como função controlar a passagem de corrente entre elas. Esse dispositivo possui três terminais: a base (B), o coletor (C), e o emissor (E). O coletor e o emissor não podem ser invertidos, devido ao fato das características e dos valores nominais mudarem significativamente. O transistor possui dois tipos básicos de aplicação: amplificação e chaveamento. [AHM2000] Na amplificação, o sinal de saída é igual ao de entrada, mas com maior amplitude, devido à potência fornecida pela fonte de alimentação, controlando assim o fluxo de corrente elétrica e o chaveamento é uma técnica de ligar e desligar a corrente elétrica. Alguns tipos de transistores são mostrados na Figura 3. ɜ Figura 3 - Transistores[XAT2007] Neste projeto foi usado para o motor de passo de 1 A. 2.1.4. Diodo O diodo é um componente eletrônico composto de cristal semicondutor de silício ou germânio contendo dois terminais: um terminal ânodo A (na camada P) e um terminal cátodo K (na camada N). [MAR1996] Quando a tensão no ânodo é mais positiva do que no cátodo, o diodo está diretamente polarizado, permitindo a condução de corrente que terá o sentido convencional. Ao ocorrer o contrário, o diodo está inversamente polarizado e bloqueia o fluxo de corrente. A Figura 4 é mostra alguns tipos de diodos. 6 Figura 4 - Tipos de diodos [E)C2007] 2.1.5. LED LED, Figura 5, é um diodo emissor de luz que quando polarizado diretamente emite brilho visível (infravermelho) ou invisível (ultravioleta), em que é possível obter a modulação da luz por um sinal de alta freqüência. Isso ocorre devido a sua luminosidade ter a propriedade de acompanhar as variações produzidas por corrente alternada e de freqüência elevada. [AHM2000] Eles possuem as mesmas características dos diodos comuns, sendo que para se polarizar um LED, deve-se utilizar um resistor limitador de corrente para não danificá-lo 喀Յ devido à sua sensibilidade. Neste projeto os LED’s foram utilizados para testar a presença da comunicação sem fio. Figura 5 - LED [PAG2007] 2.1.6. Circuito Integrado Circuito Integrado (CI), Figura 6, é um circuito eletrônico completo contendo componentes eletrônicos e sua interconexão dentro de um único empacotamento. Eles podem se dividir em monolítico e híbrido. O CI monolítico tem seus elementos (transistores e resistores) construídos sobre uma base de material semicondutor, quase sempre 7 silício, já os CI’s híbridos são feitos pelo agrupamento de diversos microelementos, entre eles CI monolítico, capacitores e transistores, montados sobre uma placa cerâmica chamada substrato e interligados por condutores metálicos sobre essa placa, cujas dimensões são extremamente reduzidas. [BOR1990] A principal vantagem dessa miniaturização, segundo Borges, é o baixo custo e um melhor desempenho, ou seja, alta confiabilidade e estabilidade de funcionamento. Uma vez que os componentes são formados ao invés de montados, a resistência mecânica destes permite montagens cada vez mais potentes, permitindo a portabilidade dos dispositivos eletrônicos, e na microeletrônica.[BOR1990] 喀Յ Figura 6 - Circuito Integrado [CI2008] Neste projeto foi usado o CI codificador MC145026 e o decodificador MC145027. 2.1.7. Cristal de Quartzo O Cristal de quartzo, Figura 7 é um componente utilizado em circuitos variantes no tempo, para contagem de tempo. O componente possui 2 terminais, ligados a um cristal piezoeléctrico interno. Esse cristal contrai quando submetido a tensão elétrica, e o tempo de contração varia conforme a construção do cristal. Quando a contração chega a um certo ponto, o circuito libera a tensão e o cristal relaxa, chegando ao ponto de uma nova contração. Assim, os tempos de contração e relaxação desse ciclo determinam uma freqüência de operação, 8 muito mais estável e controlável que circuitos com capacitores. Cristais de quartzo são usados neste projeto para sincronizar o microcontrolador. [WIK2007-2] Neste microcontrolador o clock interno é equivalente ao clock externo dividido por 4. Desta forma quando trabalha com um cristal de 4MHz, o PIC estará trabalhando internamente com uma freqüência de 1 MHz. Figura 7 - Cristal de Quartzo O próximo item descreve a porta paralela que é o dispositivo periférico do computador utilizado para a comunicação neste projeto. 2.2. Porta Paralela 喀Յ A porta paralela é um dispositivo de acesso externo relativamente fácil via programação, disponibilizando até 8 bits de saída, 4 de entrada, e outros 4 que podem operar como entrada ou saída. Ela é constituída de três registradores, endereçados seqüencialmente. Geralmente o endereço base é o endereço do primeiro registrador: 378h. São vários os periféricos que utilizam-se desta porta para enviar e receber dados para o computador como, por exemplo: scanners, câmeras de vídeo, unidade de disco removível (e outros.) O registro é a posição do mapa de memória em que a Unidade Central de Processamento (CPU) escreve o dado. Assim, ao escrever no registro, o hardware controlador da porta paralela trata de enviar estes dados para os respectivos pinos do DB-25. Os registros são mostrados na Tabela-1. Tabela 1 - Endereçamento e formas de acesso aos registradores [ROG2007] End(1) 378h 379h 37ah End(2) 278h 279h 27ah Registro de Dados Estado Controle No. bits 8 5 4 Direção OUT IN IN/OUT Read/Write R/W R R/W 9 O DB25 é um conector que fica na parte de trás do gabinete do computador, e é através deste, que o cabo paralelo se conecta ao computador para enviar e receber dados. Nele, um pino está em nível lógico zero quando a tensão elétrica no mesmo está entre 0 à 0,4 V. Um pino se encontra em nível lógico um quando a tensão elétrica no mesmo está acima de 3.1 e até 5 V. A Figura 8 mostra o conector DB25. Figura 8 - Conector DB25[ROG2007] A porta paralela foi usada neste projeto para fazer os testes da transmissão dos dados usando o software Dspcom ®1. 喀Յ A Figura-9 mostra a janela do Dspcom com a opção de enviar ilustrando a transmissão de sinais. Figura 9 - Dados enviados através da porta paralela[ROG2007] 1 Dspcom é um software registrado de interface da porta paralela, conforme site www.rogercom.com . 10 2.3. Motores de Passos Os motores de passo se diferenciam dos outros motores pelo modo em que suas bobinas são organizadas. Eles apresentam uma construção bastante simples, podendo ser controlados através de um hardware específico ou software e sua principal vantagem é a possibilidade de controlar sua posição e sua velocidade sem a necessidade de realimentação da malha de controle. Eles são utilizados largamente em impressoras, plotters, scanners, drivers de disquetes, discos rígidos e muitos outros aparelhos em que a precisão é indispensável. [TOR1999] O seu funcionamento é baseado em três estados: desligado, parado e rodando. O primeiro ocorre quando não há alimentação para suprir o motor, não existindo assim o consumo de energia. Com isso todas as bobinas encontram-se desligadas. O segundo acontece quando pelo menos uma das bobinas fica energizada e o motor permanece estático em um sentido, neste caso, ocorre o consumo de energia, mas o motor permanece alinhado em uma determinada posição. O terceiro estado possui suas bobinas energizadas em intervalos de tempos determinados fazendo com que o motor gire em uma direção. Na operação de motor de passopԺ completo, somente uma bobina é energizada, havendo assim menor torque devido ao pouco consumo de energia e maior velocidade. O motor de meio passo consume mais energia que o motor de passo completo, além de ser mais preciso, possui menor velocidade que a operação anterior. [TOR1999] Para se fazer o controle e o cálculo da velocidade de um motor de passo enviam-se uma seqüência de pulsos digitais conforme Tabela 2 num determinado intervalo. Quanto menor esse intervalo, maior será a velocidade em que o motor irá girar. Sendo necessário um valor superior a 10 ms entre cada passo, pois ao invés do motor rodar irá somente vibrar. Tabela 2 - Meio passo[ROG2007] Nº do B3 B2 B1 B0 Decimal passo 1--> 1 0 0 0 8 2--> 1 1 0 0 12 3--> 0 1 0 0 4 4--> 0 1 1 0 6 5--> 0 0 1 0 2 6--> 0 0 1 1 3 7--> 0 0 0 1 1 8--> 1 0 0 1 9 11 A mudança do sentido de rotação do rotor pode ser feita invertendo os valores da Tabela 2 onde o número de passo assume novo valor decimal. Os valores dos pulsos digitais utilizando passo inteiro rotacional, o motor no sentido horário são 8, 4, 2, 1 invertendo passam a ser 1, 2, 4 e 8 que muda o sentido para anti-horário Para controlar o motor é necessário um driver específico, sendo que a maneira mais simples deste controle pode ser feita utilizando-se drivers já desenvolvidos, como é o caso do ULN 2003 (Figura 10) ou ULN 2803 (Figura 11), que estão em forma de circuitos integrados prontos para serem utilizados em interfaces que necessitam controlar motores de passos, solenóides, relês, motores DC e muitos outros dispositivos. [ROG2007] Figura 10 - Pinagens do CI UL)2003 [ROG2007] O CI ULN 2003 possui 7 entradas que controlam até 7 saídas. Com ele podese controlar um motor de passo. Se desejar controlar 2 motores, deve-se usar dois CI’s ULN 2003, ou somente um CI ULN 2803 (Figura 11). Figura 11 - Pinagens do CI UL) 2803[ROG2007] CI ULN 2803 possui oito entradas que controlam até oito saídas. Com ele pode-se controlar até dois motores de passo simultaneamente. Ambos os CIS trabalham 12 com correntes de 500 mA e tensão de até 50 V. A Figura 12, mostra a utilização do motor de passo que utiliza o CI ULN 2003 e porta paralela para o controle.[ROG2007] Figura 12 - Controle de 1 motor de passo usando o CI UL) 2003[ROG2007] A próxima seção explica como trabalha fonte de tensão e corrente. 2.4. Fonte de Tensão e Corrente A Fonte de Tensão e Corrente é um dispositivo eletrônico constituído basicamente por quatro componentes que喀Յsão: um transformador - que aumenta ou reduz a tensão, um circuito retificador, um filtro capacitivo e/ou indutivo, e um regulador de tensão. Uma das funções exercidas por ela é transformar a energia elétrica sob a forma de corrente alternada (CA) da rede em energia elétrica de corrente contínua (CC).[WIK2007] Uma fonte de tensão de sentido contínua é um elemento que mantém seu valor de tensão constante, independente do que possa ocorrer ao circuito. Na prática, as fontes suportam correntes até um determinado valor, pois a resistência interna produz aquecimento. Neste projeto foram utilizadas as fontes de tensão de um PC que gera tensões de 5 e 12 volts. 2.5. Matriz de Contato Matriz de contato é uma placa com milhares de furos e conexões condutoras para montagem de circuitos elétricos experimentais. Na superfície de uma matriz de contato há uma base de plástico em que existem centenas de orifícios onde são encaixados os componentes, já em sua parte inferior são instalados contatos metálicos 13 interligados segundo um padrão básico. O modelo de uma matriz de contato é mostrado Figura-13 e foi usada para os experimentos, testando-os antes de montar a placa de circuito impresso. Figura 13 -Matriz de contato[MI)2007] pԺ O próximo item traz a explicação detalhada de microcontrolador, particularmente do PIC 16F877 utilizado neste projeto. 2.6. Microcontrolador Em relação aos microcontroladores, é importante salientar sua diferença com os microprocessadores, onde o primeiro possui circuitos integrados num só chip enquanto que no segundo precisa-se de circuitos externos para funcionar. [MIC2007] Dentre as partes que compõem um microprocessador, podem-se citar as seguintes: memória de programa, memória de dados, portas de entrada e saída de sinais (portas de I/O, Input/Output), circuito de reset, circuito oscilador, contador/temporizador, portas lógicas para selecionar endereços, circuito de comunicação serial e paralela, conversor A/D, etc. Já o microcontrolador é composto por: Unidade de Memória, Unidade Central de Processamento, Barramento, Unidade de Entrada e Saída, Unidade de Temporização, Watchdog, Conversor Analógico-Digital e Programa. Estes componentes serão detalhados nos subitens a seguir, segundo a referência. [SOU2002] 14 Diagrama de blocos de microcontrolador é apresentado na Figura 14. Figura 14 - Componentes de um Microcontrolador [MZE2007] • Unidade de memória: A memória é a parte do microcontrolador cuja função é guardar dados. É constituída de diversas partes, é associado um endereço de memória diferente, sendo que para identificar e acessar o conteúdo desse endereço é utilizado um código numérico. Este código é o endereço único. • Unidade Central de Processamento (UCP): A UCP é a parte responsável por interpretar e executar as instruções contidas no programa, comandando ɜ todas as demais partes da máquina de forma ordenada e rápida. É também responsável pelo processamento de todos os tipos de dados e pela apresentação do resultado do processamento. • Barramento: O barramento é o meio pelo qual a informação trafega. Fisicamente ele corresponde a um grupo de 8, 16 ou mais fios ou trilhas que fazem a interligação entre os diversos componentes do microcontrolador. Existem dois tipos de barramento, que são os de dados e os de endereço. • Unidade de Entrada e Saída (E/S): A unidade de E/S é a porta entre o microcontrolador e o meio externo. É através desse componente que o microcontrolador troca informações com o circuito no qual ele está inserido. Ela é basicamente composta por registradores de entrada e registradores de saída, que funcionam como buffers de dados. • Unidade de Temporização: A unidade de temporização tem por função gerar sinais em intervalos de tempo regulares. Sua unidade básica é um 15 registrador cujo conteúdo é incrementado num intervalo de tempo fixo. Calculando a diferença entre dois intervalos de tempo pode-se descobrir o tempo decorrido. • Watchdog: O watchdog ou “cão de guarda” é o bloco responsável por resetar o microcontrolador, caso a execução do programa seja submetida a uma interferência ou reiniciar quando a processo for interrompido sem necessitar da intervenção humana. • Conversor Analógico-Digital: Como os sinais dos periféricos são substancialmente diferentes daqueles que o microcontrolador pode entender (zero e um), eles devem ser convertidos num formato que possa ser compreendido pelo microcontrolador. Esta tarefa é executada por intermédio de um bloco destinado à conversão analógico-digital ou com um conversor A/D. Este bloco vai ser responsável pela conversão de uma informação de valor analógico para um número binário e pelo seu trajeto através do bloco do CPU, de modo a que este o possa processar de imediato. • Programa: Escrever um programa é uma parte especial do trabalho com microcontroladores e é designado por "programação". Um programa é um conjunto de instruções ou operações que são executadas seqüencialmente pelo microcontrolador. 2.6.1. Microcontrolador PIC16F877 Os microcontroladores da família Peripherical Interface Controller (PIC) são muito versáteis, podem possuir de 6 até 66 pinos de I/O, e trabalhar em frequências de até 40MHz. O microcontrolador utilizado neste projeto é um PIC 16F877, Figura 15 disponível no laboratório da UCG. Figura 15 - PIC16F877 [MEC2007] 16 O PIC 16F877 é de 40 pinos, o que possibilita a montagem de um hardware complexo e capaz de interagir com diversos recursos e funções ao mesmo tempo, suas principais características são: • Via de programação com 14 bits e 35 instruções; • 33 portas configuráveis como entrada ou saída; • 15 interrupções disponíveis; • Memória de programa EEPROM FLASH com 8Kwords; • Memória de dados EEPROM interna com 256 bytes; • Memória RAM de dados com 368 bytes; • 3 timers (2x8 bits e 1x16 bits); • Comunicações seriais: SPI, I2C e USART; • Conversores analógicos de 10 bits (8x) e comparadores analógicos (2x); • 2 modos CCP: Capture, Compare e PWM; • Programação in-circuit (alta e baixa tensão); A pinagem do PIC 16F877 é mostrada na Figura 16, e a descrição da pԺ nomenclatura utilizada para a identificação dos pinos nas Tabelas 3 e 4. Figura 16 - Diagrama de pinos do PIC16F877[SOU2003] 17 Tabela 3 - Nomenclatura dos pinos do PIC16F877 [MIC2006] ome do pino OSC1 / CLKIN OSC2 / CLKOUT MCLR /Vpp Vss Vdd RA0 / AN0 RA1 / AN1 RA2 / AN2 /VREF- / VREF RA3 / AN3 / VREF+ RA4 / T0CKI / C1OUT RA5 / SS / AN4 /C2OUT RB0 / INT RB1 RB2 RB3 / PGM RB4 RB5 RB6 / PGC RB7 RC0 / T1OSO / T1CKI RC1 / T1OSI / CCP2 RC2 / CCP1 RC3 / SCK / SCL RC4 / SDI / DAS RC5 / SDO RC6 / TX / CK um pino 13 Descrição Entrada para cristal. Entrada para osciladores externos (híbridos ou RC) 14 Saída para cristal. Os cristais ou ressonadores devem ser ligados aos pinos OSC1 e OSC2. Saída com onda quadrada em ¼ da freqüência imposta em OSC1 quando em modo RC equivalente aos ciclos de máquina internos. 1 Master Clear externo. 12/31 GND. 11/32 Alimentação positiva. 2 I/O digital ou entrada analógica AN0. 3 I/O digital ou entrada analógica AN1. 4 I/O digital ou entrada analógica AN2 ou tensão negativa de referência analógica 5 I/O digital ou entrada analógica AN2 ou tensão positiva de referência analógica 6 I/O digital ou entrada externa do contador TMR0 ou saída do comparador 1. 7 I/O digital ou entrada analógica AN4 ou habilitação externa para comunicação SPI ou saída do comparador 2. 33 I/O digital com interrupção externa. 34 I/O digital. 35 I/O digital. 36 I/O digital ou entrada para programação em baixa tensão (5V). pԺ 37 I/O digital com interrupção por mudança de estado. 38 I/O digital com interrupção por mudança de estado. 39 I/O digital com interrupção por mudança de estado ou clock da programação serial ou pino de in-circuit debugger. 40 I/O digital com interrupção por mudança de estado ou data da programação serial ou pino de in-circuit debugger. 15 I/O digital ou saída do oscilador externo para TMR1 ou entrada de incremento para TMR1. 16 I/O digital ou entrada do oscilador externo para TMR1 ou entrada do Capture2 ou saídas para Compare2/PWM2. 17 I/O digital ou entrada do Capture1 ou saídas para Compare1/PWM1. 18 I/O digital ou entrada/saída de clock para comunicação serial SPI / I2C. 23 I/O digital ou entrada de dados para SPI ou via de dados para I2C. 24 25 I/O digital ou saída de dados para SPI. I/O digital ou TX para comunicação USART assíncrona ou clock para comunicação síncrona. I/O digital ou RX para comunicação USART assíncrona ou data para comunicação síncrona. I/O digital ou dado 0 (comunicação paralela). I/O digital ou dado 1 (comunicação paralela). I/O digital ou dado 2 (comunicação paralela). I/O digital ou dado 3 (comunicação paralela). I/O digital ou dado 4 (comunicação paralela). I/O digital ou dado 5 (comunicação paralela). RC7 / RX / DT 26 RD0 / PSP0 RD1 / PSP1 RD2 / PSP2 RD3 / PSP3 RD4 / PSP4 RD5 / PSP5 19 20 21 22 27 28 18 Tabela 4 - Continuação da nomenclatura dos pinos do PIC16F877 ome do pino RD6 / PSP6 RD7 / PSP7 RE0 / RD / AN5 RE1 / WR / AN6 RE2 / CS / AN7 um pino 29 30 8 9 10 Descrição I/O digital ou dado 6 (comunicação paralela). I/O digital ou dado 7 (comunicação paralela). I/O digital ou controle de leitura da porta paralela ou entrada analógica AN5. I/O digital ou controle de escrita da porta paralela ou entrada analógica AN6. I/O digital ou habilitação externa da porta paralela ou entrada analógica AN7. A arquitetura do PIC16F877 está preparada para operar com uma RAM de até 512 bytes, mas nem toda a memória está disponível para o usuário. Existem 19 endereços indisponíveis que retornam zeros no caso de leitura e 48 equivalentes às posições espelhadas de 16 endereços válidos. 2.6.1.1. Programação em C C é considerada uma linguagem de médio nível por combinar elementos de alto nível com a funcionalidade da linguagem ԺAssembly. Permite a manipulação de bits, p bytes e endereços, é muito portável, ou seja, adapta um software escrito para um tipo de computador a outro. Possui uma linguagem estruturada, isto é, a divisão do código e dos dados. O principal componente estrutural de C é a função – a sub-rotina, funções são blocos de construção em que toda a atividade do programa ocorre. C foi a linguagem utilizada para desenvolver os experimentos deste projeto. 2.6.1.2. Diretivas do compilador Todo compilador possui uma lista de comandos internos que não são diretamente traduzidos em código. Esses comandos são utilizados para especificar determinados parâmetros internos usados pelo compilador no momento de compilar o código-fonte. Os itens seguintes mostram as sintaxes dos comandos usados nestes programas nos apêndices para os experimentos que estão relatados no terceiro capítulo. a. #DEFI)E Utilizada para substituir o identificador pelo texto especificado imediatamente depois dele. Sintaxe: 19 #define identificador texto Exemplo: #define tempo 50 b. #DEVICE Define o nome do processador utilizado.Sintaxe: #device chip opções Exemplos: #device PIC16F628 #device PIC16F877*=8 #device ICD = TRUE # device PIC16F876 ADC=8 c. #FUSES Utilizada para configurar o PIC em C. Os parâmetros de controle mais utilizados na Tabela-5. 喀Յ Tabela 5 - Descrição dos parâmetros de controle [PER2004] Descrição – XT HS WDT )OLVP PUT Oscilador do tipo Cristal Oscilador HS Watchdog desligado, ou seja, o clock interno do PIC está Programação em baixa tensão desabilitada Temporizador de Power-up ligado Ex.: #fuses HS, )OLVP, )OWDT, PUT 20 # I)CLUDE d. Utilizada para inserir um arquivo texto externo especificado dentro de um parâmetro <> a partir da posição atual do arquivo. Esta diretiva é utilizada para inserir arquivos de bibliotecas e funções de código do programa atual. Ex.: #include <16f877.h> 2.6.1.3. Funções do Compilador C Existem várias funções disponíveis na linguagem C, os ícones seguintes mostram as que foram usadas nos código-fonte dos experimentos, conforme referência [PER2004]. a. DELAY_MS( ) Função que retarda a execução do programa aguardando n milissegundos. Ex.: Delay_ms (10); // retarda 10 milissegundos b. I)PUT( ) Ն Lê o estado lógico de um pino do microcontrolador. Ex.: input(pin_RE0); // lê o estado do pino RE0 c. OUTPUT_X( ) Escreve um byte completo nas portas do microcontrolador determinadas. O valor binário 1 representa o pino em nível alto, e 0 para nível baixo. Ex.: output_b(0b10000000); // escreve no portb 10000000, pino 33 d. SET_TRIS_X( ) Configura a direção dos pinos de uma porta do PIC. O valor binário 1 indica que o pino é configurado como entrada e o valor 0 indica que opino é configurado como saída. Ex.: set_tris_b(0x00); //configurando PORTB para saídas em hexadecimal. Set_tris_b(0b00000000); //configurando PORTB para saídas em binário. 21 2.6.1.4. Gravadora de PIC A gravadora é o hardware, que converte os impulsos eletrônicos ativados pelo software via porta serial para os pinos do microcontrolador. Após codificar os comandos, em número hexadecimal, eles são transcodificados em impulsos elétricos seriais para gravadora, que vai atingir os níveis de tensões necessários para possibilitar a transferência dos códigos na memória de dados no PIC. O princípio de gravação é o mesmo para todas as gravadoras, o que muda é o hardware que o desenvolvedor vai utilizar para garantir segurança para seu computador, seu microcontrolador e sua gravadora. Em determinado momento da gravação precisaremos de um pulso entre 13Vcc e 15Vcc no pino 5 - MCLR (Limpar memória), portanto também teremos uma outra fonte para gerar esta tensão. O pino SDA (RB7) transmite e recebe dados. É por este pino que os dados a serem gravados são inseridos ou lidos, conforme o comando selecionado. O pino SCL (RB6) é o relógio de sincronismo das informações. O grande segredo é saber onde enviar estes pulsos (ver Tabela 6). 蕐Յ Tabela 6 - Enviar pulsos [GRA2007] Pino SOQUETE 8 SOQUETE 18 SOQUETE 28 SOQUETE 40 DAS 7 13 28 40 SCL 6 12 27 39 MCLR 4 4 1 1 A Figura 17 mostra um gravador de PIC de até 40 pinos. Figura 17-Gravadora mcFflash[LAB2007] VCC 1 14 20 11/20 GND 8 5 8 12/31 22 Para execução de gravação no PIC foi utilizado o programa MPLAB que serve tanto para criação/edição de programas quanto para gravar no PIC. O arquivo que será gravado dentro do PIC deve ser inicialmente em hexadecimal. Dentro do programa MPLAB deve selecionar a opção Programmer e dentro dela a opção PICSTART PLUS. O programa PICSTART PLUS irá verificar se o PIC está conectado e realizará a gravação do programa no PIC. O arquivo gravado dentro do PIC foi compilado e transformado para hexadecimal usando o plug-in CCS que é descrito no próximo item. 2.6.1.5. O MPLAB e o CCS PIC C Compiler O MPLAB é um ambiente integrado para o estudo e desenvolvimento com a família PIC de microcontroladores. Sua principal característica é a total integração de seus módulos com o ambiente Windows, permitindo com facilidade a cópia de arquivos e trechos do mesmo de um aplicativo para outro, contendo todas as funções necessárias para gravação de um PIC, proporcionando, o gerenciamento de projetos, compilação, simulação, emulação e gravação do chip. CCS, o plug-in utilizado para compilar os programas em hexadecimal, consiste 簐Պ em um ambiente integrado de desenvolvimento (IDE) também com o sistema operacional Windows e suporta toda linha de microcontroladores PIC (séries PIC12, PIC14,PIC16, PIC18). O IDE é constituído de três módulos compiladores independentes: PCB, PCM, PCH. Suas características são: compatibilidade com a padronização ANSI e ISO, grande eficiência no código gerado, diversidade de funções e bibliotecas da linguagem C, portabilidade de código entre os diversos microcontroladores PIC e inclusive com código escrito para outros microcontroladores ou sistemas. Neste projeto foi utilizado o plug in CCS. O próximo item mostra o funcionamento da transmissão wireless com os componentes utilizados no projeto. 2.7. Transmissão e Recepção Projetos de sistemas sem fio para uso geral como, por exemplo, sistemas de segurança sem fio, alarmes de carros, controles remotos para portas de garagem, monitoramento de sensores, etc. Podem ser simplificados e ter um grau de compacidade 23 muito maior se forem usados módulos híbridos de baixo custo e fácil utilização. [SAB2007] A Telecontrolli2 produz módulos híbridos que recebem essa denominação por usarem uma tecnologia de montagem que agrega componentes discretos e integrados numa mesma placa. Essa tecnologia híbrida, denominada Tick Film Hybrid Technology, possibilita a fabricação de produtos extremamente compactos, estáveis e de reduzidas dimensões, ideais para várias aplicações. Neste projeto são utilizados dois módulos RT4 para transmitir e o RR3 para receber sinais. O par, transmissor e receptor, pode ser obtido nas freqüências de 315, 418 e 433 MHz. A freqüência é indicada pelo XXX na designação RT4-XXX, por exemplo. O transmissor tem uma entrada de código que permite realizar a modulação do sinal e o receptor possui uma saída para o código que pode ser aplicada à lógica de controle. A freqüência tanto do transmissor quanto do receptor é ajustada a laser na própria fábrica, o que quer dizer que eles não necessitam de qualquer tipo de ajuste. Na Figura 18 tem-se o circuito equivalente do transmissor RT4 que utiliza um ressonador SAW e uma antena externa. Ն Figura 18- Circuito Equivalente do Transmissor[SAB2007] F.A tensão de alimentação do transmissor pode ficar entre 2 e 14 V, com uma corrente típica de 4 mA. A Figura 19 traz a identificação dos terminais desse componente. [SAB2007] 2 Telecontrolli: Produz módulos híbridos, acessar site: http://www.telecontrolli.com 24 Figura 19 -Identificação dos terminais[SAB2007] Onde os pinos são: 1 – Vcc – Tensão de alimentação 2 – GND – Terra 3 – IN – Entrada de modulação 4 – EA – Antena externa A Figura 20 mostra o chip RT4. 簐Պ Figura 20 - RT4[TEL2007] O RR3 é com indutor ajustado a laser. Nesse caso, também o “XXX” indica a freqüência de operação. O ajuste a laser possibilita a obtenção de uma grande precisão. A tensão de operação desse chip deve ficar entre 4,5 a 5,5 V, sendo o valor recomendado é 5 V e seu consumo típico é de 2,5 mA. A taxa máxima de transmissão de dados é de 2 kHz. Deve-se levar em conta esse fato ao fazer sua modulação a partir de microcontroladores, pois podem ocorrer problemas se a velocidade não for compatível. [SAB2007] 25 A saída no nível alto tem um mínimo de 3,6 V, o que é suficiente para excitar tanto a tecnologia TTL (Lógica Transistor Ttransistor) quanto a CMOS (Complementary Metal-Oxide-Semiconductor). A tecnologia TTL trabalha com funções de porta lógica e de amplificação pelos transistores, sendo que os sinais de entrada e saída de equipamentos eletrônicos são chamados de entrada ou saída TTL. Já a tecnologia CMOS é composta de um transistor MOSFET canal N e um transístor MOSFET canal P, tal como um inversor lógico CMOS. A principal vantagem sobre os circuitos integrados CMOS é o baixíssimo consumo de energia. A Figura 21 mostra o invólucro com a pinagem do receptor. Figura 21 - Pinagem簐do receptor[SAB2007] Պ Onde os pinos são: 2 – RF – GND (terra) 3 – IN 4 – NC –não conectado 5 – NC – não conectado 6 – NC – não conectado 7 – RF GND (terra) 8 – NC – não conectado 9 – NC – não conectado 10 – AF - +Vcc 11 – AF – GND (terra) 12 – AF - +Vcc 13 – Ponto de teste 14 – OUT (saída) 15 – AF - +Vcc 26 Na Figura 22 mostra o chip RR3. Figura 22 - Receptor RR3 [ROG2007] O próximo item relata o estudo feito em redes sem fio e suas tecnologias wireless. 2.8. Estudo das Redes Wireless Esta sessão faz uma breve descrição das redes wireless existentes na atualidade. Com o estudo teórico realizado em relação essas tecnologias existentes, que realizam trocas de sinais sem estar conectado fisicamente a uma rede, neste projeto pԺŴ optou-se em utilizar os chips RT4 e RR3 fabricados pela Telecontrolli, o transmissor RT4 envia sinais ao receptor RR3. A rede sem fio wireless é uma ampliação da Local Área )etwork (LAN) com fio, inserindo as características de mobilidade, interligação de redes provisórias e cobertura a locais de difícil acesso. A comunicação das LANs sem fio pode ser feita através de uma interconexão com estação de uma LAN com fio, já nas LANs sem fio com infra-estrutura, utilizam-se módulos de controle que se conectam aos dois tipos de LAN. Os módulos móveis utilizam uma estação de trabalho alimentada por baterias que precisam de longo tempo de duração quando usadas em adaptadores sem fio. O uso de LANs sem fio possui recursos para diminuir o consumo de energia e evitar o uso da rede com um modo de espera, esta rede oferecer uma transmissão mesmo em ambientes com ruídos e deve garantir a segurança no envio dos dados. As LANs sem fio são classificadas segundo a técnica de transmissão utilizada [STAL2005]. Existe a LAN sem fio de infra-estrutura e LAN sem fio ad hoc. Na primeira, os nós estão em contato direto com um Ponto de Acesso (AP) na rede fixa. Nesta, a comunicação deve passar por uma central, mesmo que os nós estejam a uma 27 proximidade onde a conexão possa ser estabelecida diretamente entre eles, a adição ou remoção de um nó deve ser pré-configurada garantindo assim o bom funcionamento da rede. A LAN sem fio Ad Hoc é uma rede temporária para resolver problemas imediatos e diferencia-se das demais por não possuir infra-estrutura. Os dispositivos podem fazer parte da rede apenas durante o tempo de comunicação, os nós podem movimentar-se de forma inesperada e comunicam-se entre si sem a necessidade de uma central, acrescenta-se ou remove-se dispositivos sem a necessidade de uma préconfiguração [STAL2005]. As LANs sem fio seguem os padrões da IEEE (Institute of Electrical and Electronies Engineers). O padrão IEEE 802.11 especifica uma forma de ligação entre as redes sem fios, facilitando assim as conexões. As transmissões são realizadas na freqüência de rádio (RF) ou infravermelho, no caso, este projeto usa o tipo de transmissão de RF. O Bluetooth é uma tecnologia que utiliza uma conexão a rádio e de curto alcance e baixa potência, está disponível para o uso de baixa potência não licenciados, oferece uma lista de aplicações incluindo dados, operando em um sistema com vários pԺŴ usuários. É mais indicado para aplicações como: sincronização de computadores, telefones celulares, aplicações de áudio como fone sem fio, transferência de arquivos entre computadores e impressoras e outros. No Bluetooth, os sinais se propagam em todas as direções não necessita estar alinhado, tornando assim a locomoção mais fácil [BLU2008]. A tecnologia ZigBee foi projetada para autorizar uma conexão sem fio confiável, utilizando a definição 802.15.4 do IEEE. O objetivo deste tipo de rede é a redução do consumo de energia e o uso de redes com vários dispositivos. A vantagem desta é que os dispositivos podem permanecer por um tempo sem estabelecer comunicação, e consegue detectar se houve perda ou adição de dispositivo. A diferença existente entre Bluetooth e ZigBee é que na primeira conexão os dispositivos são carregados periodicamente, enquanto na segunda eles são alimentados com pilhas comuns com uma longa durabilidade [ZIG2008]. Wi-fi é uma tecnologia de rede sem fio baseada no padrão IEEE 802.11 utilizada para estabelecer conexões entre dispositivos sem fio. Opera em baixa freqüência, não necessita de licença para sua utilização, por isso é muito atrativa. No 28 Brasil, para uso comercial, é necessária a licença na Agência Nacional de Telecomunicações (Anatel) [WIF2008]. O nome WiMAX (Worldwide Interoperability for Microwave Access/Interoperabilidade Mundial para Acesso de Micro-ondas) é um padrão similar ao Wi-Fi (IEEE 802.11), com conhecimentos e recursos mais recentes, visando uma melhor comunicação, utiliza a transmissão e a recepção de ondas de rádio, porém com maior alcance e banda larga. A tecnologia de radiofreqüência, é bem conhecida entre os profissionais de telecomunicação, passou a ser utilizada como meio de transmissão entre computadores. O uso deste recurso é possível uma vez que o sinal digital seja convertido para sinal de rádio. Sendo que, para que ocorra a transmissão de forma satisfatória, o sinal deve ser transmitido pelo modulo de comunicação com potência suficiente para ser recuperado pelo modulo de controle, e com o mínimo de distorção [Tafner, 1996]. A Tabela 7 mostra um comparativo dessas tecnologias em função de suas características como: tipo de transmissão, velocidade, aplicação, alcance, vantagens e desvantagens, baseadas em várias fontes citadas na referência bibliográfica. Os componentes híbridos de radiofreqüência deste projeto utilizam o protocolo pԺ AX. 25, conforme Tafner, protocolo é um conjunto de regras pré-estabelecidas, cuja função é fazer com que a comunicação de dados entre equipamentos seja realizada com segurança e de forma ordenada. Estas regras devem obedecer a uma seqüência lógica e padronizada. Quanto aos controles durante o processo de comunicação, os protocolos se apresentam sobre a orientação a caractere ou sob a orientação por bit. A mensagem não deve distorcer-se durante o período de comunicação, os bits serão escolhidos aleatoriamente e enviados sendo que pode ocorrer uma mudança no sentido do envio dos mesmos, não afetando assim a integridade dos dados enviados. Protocolos orientados a bit não utilizam caracteres especiais para delimitar blocos de mensagem. Todo o controle é tratado em nível de bit, isto é, campos formados por combinações binárias bem definidas, não existindo caracteres que designem funções especiais. 29 Tabela 7 - Comparativo entre as redes Wireless Tecnologia Desvantagen s Transmissão de dados. -Necessita de antena - Número limitado de dispositivos que podem se conectar ao mesmo tempo. 1 Mbps -Baixo consumo de energia -Segurança -Confiabilidade - Mobilidade. - Flexibilidade. -Facilidade de instalação e configuração -Baixa comunicação 20kbps 250kbps -Exige maior nível de segurança -Menor tráfego de dados Confiabilidade -Requer linha de visão entre os pontos - Interferência com obstáculos epԺ ruídos 54 Mbps - Sofre interferência pela chuva, diminuindo a taxa de transferência e o raio de cobertura Vantagens Bluetooh Zigbee Wi-fi -Mobilidade -Flexibilidade RR3 e RT4 -Conexão internet banda larga em regiões onde não existe infra-estrutura Wi-max Aplicação Alcance -Rede dial-up -Fax - Celular - Fone de ouvido -Transferência de arquivos -sincronização 10 m -Saúde -Automação -Periféricos eletrônicos. -Redes locais internas de escritórios e residências -Redes públicas de acesso a internet. 10 à 100 m - 2 kHz -Sensores - Robótica -Saúde -Controle em geral -Até 100m 70 Mbps -Celulares até Km a 100 m 50 O próximo capítulo apresenta os experimentos realizados durante o estudo dos componentes, juntamente com o microcontrolador 16F877. 30 TECOLOGIA WIRELESS: ACIOADO UM DISPOSITIVO ROBÓTICO POR MEIO DE UM MICROCOTROLADOR CAPÍTULO III EXPERIMETOS REALIZADOS Neste capítulo serão descritos os experimentos realizados com o intuito de familiarizar com o microcontrolador 16F877 e os chips RT4 e RR3 utilizados na comunicação wireless. 3.1. Primeiro Experimento: Teste de I/O do PIC 16F877 O primeiro experimento é uma aplicação que utiliza as portas de entrada e saída, com microcontrolador PIC16F877 originalmente o software foi codificado em C. O experimento consiste em acender seqüencialmente oito LED’s, de acordo com os valores de entrada que estão fisicamente representados por dois botões. Os LED’s foram conectados no PORTB do pino P33 ao P40, pԺ e os botões conectados ao PORTE nos pinos P8 e P9. A Figura 23 exibe o esquema elétrico do experimento. Os pinos do PORTB foram configurados como saída, cujos níveis são alternados para alto e nível baixo em seqüência, conforme o programa (Apêndice A). Cada LED é aceso por um instante e depois é apagado em seqüência, ou seja, o primeiro LED é aceso seguido por um atraso, ao término deste atraso, ele é apagado e o segundo LED é aceso. O atraso é novamente executado, seguido por instruções de apagar o segundo LED e acender o terceiro, e assim sucessivamente. Figura 23 - Esquema Elétrico do Microcontrolador 31 O programa primeiramente faz com que todos os LED’s sejam apagados. Entra-se em um laço de repetição indefinidamente, e conforme os botões de entrada são pressionados é executada uma seqüência diferente para acender os LED’s. Caso o botão 1 seja pressionado os LED’S serão acionados da direita para esquerda. Caso o botão 2 seja pressionado será executada seqüência da esquerda para direita e caso ambos ou nenhum dos botões sejam pressionados, os LED’s serão acionados da extremidade para o centro. Em todos os exemplos, o microcontrolador tem um resistor de 10kΩ ligado ao pino que recebe uma alimentação de 5 volts, um oscilador pizoelétrico de 4kHz, e dois capacitores de 5µF conectados em paralelo ao cristal, ligados aos pinos 13 e 14 necessários para a geração do sinal de clock. Os pinos 12 e 31 são aterrados e os pinos 11 e 32 são alimentados em 5 volts. 3.2. Segundo experimento: Acionamento de um motor de passo O segundo experimento consiste em acionar o motor de passo utilizando o pԺ simulador de PIC3 para verificar o funcionamento do programa antes de ser gravado no PIC. O microcontrolador PIC16F877, o programa em C está no (Apêndice B) e executa o acionamento das bobinas do motor. Utiliza-se o CCS C para compilar o programa e depois o simulador para testar o código fonte. O uso deste é bastante simples e pode-se observar claramente os LED`s acessos que indicam o acionamento das bobinas do motor. A seqüência de LED`s a serem acessos está conectada aos pinos RB7, RB6, RB5 e RB4, indicando assim que as bobinas são acionadas corretamente. A Figura 24 exibe o esquema elétrico do experimento do motor de passo. 3 PIC Simulador: é um programa para simular o código fonte antes de ser gravado no microcontrolador. 32 Figura 24 - Esquema do Acionamento Nos experimentos foram utilizados um simulador para PIC, PICSimulator4 desenvolvido com um ambiente gráfico para Windows que suporta os microcontroladores da família 12F e 16F. A versão usada permite o usuário entrar na IDE e utilizá-lo por trinta vezes, e a cada entrada pode-se trabalhar somente por cento e pԺ vinte minutos. O intuito de utilizar o simulador foi de verificar a veracidade do código fonte antes de testar no PIC 16F877, deixando a gravação do código fonte em hexadecimal para ser feita somente após comprovada a sua eficiência . A Figura 25 mostra a tela do PIC Simulador IDE no momento da simulação feita para um motor de passo. O programa em C utilizado na aplicação deste projeto também foi testado no simulador e encontra-se no apêndice C. Usou-se o MPLab com o plug-in da CCS para compilar o código fonte em C para hexadecimal, pois o simulador só aceita carregar códigos fonte em hexadecimal. 4 PIC Simulator fabricado pela OshonSoft Soluções em Software, www.oshonsoft.com 33 Figura 25 - Acionando um motor de passo no PIC Simulator pԺ 3.3. Terceiro experimento: Transmissão wireless No terceiro experimento foram utilizados os CIs MC 145026 (codificador) e MC 145027 (decodificador), conforme mostra a Figura 26, com a função de verificar se estão oscilando na mesma freqüência, para isso basta endereçar igualmente os pinos de A1 a A5 de ambos os CIs. Figura 26 - CIs MC145026 e MC145027-[ROG2007] 34 O componente MC 145026 codifica o sinal a ser enviado enquanto o MC 145027 decodifica o sinal recebido. A Figura 27 mostra o teste de transmissão entre o codificador e decodificador. No pino 11 (VT- transmissão válida) do decodificador conecta-se a um resistor de 470 ohm e um LED. Para testar se há um sincronismo entre os CIs, leva-se o pino 14 (transmissão disponível) do MC145026 ao nível baixo (0V), ao fazer isso, o LED conectado ao pino VT do MC145027 deverá acender. Figura 27 -Teste de transmissão entre o codificador e o decodificador [ROG2007] O CI MC145026 pode trabalhar numa faixa de tensão de 2,5 a 18V. Já os decodificador MC145027 trabalha entre 4,5 a 18V. Os componentes presentes neste experimento são: CIs MC 145026, MC145027, 3 capacitor (5,6nF ,100nF e 22nF) e 4 resistências (2 de 51K,100K e 200K). 3.4. Quarto Experimento: Envio de dados usando o RT4 e RR3 O quarto experimento tem como objetivo montar os circuitos para o envio de dados utilizando o RT4 e RR3. O receptor RR3 captura os dados e repassa-os para o decodificador MC145027 que faz uma comparação nos bits do endereço recebido com os bits do endereço de sua própria configuração. Se os endereços forem iguais, os bits de dados ficam disponíveis nos pinos (D6, D7, D8 e D9) e o pino VT é levado a nível alto (1). O pino VT só permanece ativo por um instante informando que um dado foi reconhecido e está disponível. Já o pino dos dados retém a última informação. Isso só 35 acontece porque os pinos estão ligados a um latch (um tipo de memória volátil), estes dados permanecem nele até que um novo dado seja enviado e aceito,ou interrompa a alimentação da fonte. O circuito da Figura 28 utiliza um decodificador MC145027 para tornar-se disponível um conjunto de 4 bits de saída responsável pelo envio do sinal para o microcontrolador. pԺ Figura 28 - Esquema elétrico do RR3 e MC145027 adaptada [ROG2007] A Figura 29 mostra o circuito completo do transmissor conectado a Porta Paralela. Figura 29 - Esquema elétrico do RT4 e MC145026 - adaptada [ROG2007] 36 Os componentes presentes neste experimento são: o esquema elétrico receptor: • • • • • 1 RR3; 1 capacitores (4 de 100nF e 2 de 22Nf); 2 resistores (1 de 200K ohm, 1 de 51K ohm); 1 LED, antena, 2 MC 145027 ; 1 fonte de 5 V. Já no módulo transmissor: • • • • • • • Porta Paralela; MC 145026; RT4; 2 resistores (51 K ohm, 100 K ohm); 2 capacitores (5,6 nF,100 Nf); 1 antena; 1 fonte de 5V. O funcionamento dos módulos conforme Figura 30. Figura 30- Modulação da mensagem através da portadora de RF [ROG2007] Os componentes estão funcionando corretamente, eles foram testados e a realização de transmissão wireless foi realizada com sucesso. Foi feito testes com obstáculos, onde o módulo comunicador foi posicionado no quarto andar na sala 410F no final do corredor com a porta fechada e levamos o módulo receptor para a sala 401F que se encontra no início do corredor, a comunicação foi bem sucedida. Depois, levouse o receptor para o quinto andar e não obteve resultado satisfatório, percebeu-se que a laje de concreto não permitiu a passagem de sinal, portanto não houve a comunicação. O próximo capítulo traz a descrição dos módulos e o seu funcionamento. 37 TECOLOGIA WIRELESS: ACIOADO UM DISPOSITIVO ROBÓTICO POR MEIO DE UM MICROCOTROLADOR CAPITULO IV DESCRIÇÃO DOS MÓDULOS A aplicação feita para ilustrar a tecnologia estudada e experimentada neste projeto consiste em enviar sinais através da porta paralela (DB25), na qual está conectado junto ao transmissor RT4, que envia sinais ao receptor RR3. O mesmo transmite pulsos ao microcontrolador 16F877, no qual excita transistores que acionam dois motores de passo, um que movimenta a base horizontalmente do dispositivo físico e o outro que o movimenta no sentido vertical. De acordo com suas funções e características os componentes foram agrupados formando três módulos específicos os quais foram denominados de, módulo de comunicação, módulo de controle, e módulo físico. Os mesmos estão ilustrados na Figura 31 e são descritos nos itens seguintes. 簐Պ Figura 31 - O Esquema dos Módulos 38 4.1. Módulo de Comunicação O módulo de comunicação tem a característica de transmitir dados oriundos do computador via porta paralela utilizando a tecnologia wireless que possui um alcance de até 100 metros sem obstáculos. Os componentes que fazem parte desse módulo são: • • • • • • 2 resistores: 1 de 51k ohm (R1) e 1 de 100k ohm (R2); 1 transmissor RT4; 1 capacitor 5µF (C1); 1 antena 17,5 cm; 1 codificador MC145026; 3 borners. A Figura 32 mostra a placa de circuito impresso do módulo de comunicação, a Figura 33 mostra o esquema elétrico do mesmo. Os fios ligados aos borners estão conectados aos conectores do DB25, que é o periférico de comunicação externa do computador utilizada neste projeto. 簐Պ Figura 32 - Módulo de Comunicação 39 Figura 33 - Esquema Elétrico do Transmissor Esse módulo está sendo alimentado com uma tensão externa de 5,0 V respeitando as faixas de tensão do MC 145026 que opera em uma faixa de tensão de 2,5 a 18 V e o RT4 entre 2 a 14 V. 4.2. Módulo de Controle pԺ O módulo de controle tem como função receber os dados enviados pelo módulo de comunicação. Os dados são recebidos codificados e enviados para o microcontrolador que irá ativar um dos motores conforme o desejado. A Figura 34 mostra o módulo de controle desenvolvido em uma matriz de contato. Os componentes que fazem parte desse módulo são: • • • • • • • 7 resistores: 4 de 470 ohm (R1), 1 de 200k ohm (R2), 1 de 50k ohm (R3) e 1 de 470 ohm (R4). 1 receptor RR3 3 capacitores de 250nF 5 LEDs 1 antena 17,5 cm 1 decodificador MC145027 1 microcontrolador 16F877 40 Figura 34 - Matriz de Contato do módulo de Controle Esse módulo está sendo alimentado com uma tensão externa de 5,0 V respeitando as faixas de tensão do MC 145027 que opera numa faixa entre 4,5 á 18 V de tensão, o RR3 entre 4,5 á 5,5 V e o microcontrolador que alimentado com uma tensão de 4,5 a 5,5 V. A Figura 35 mostra o esquema elétrico do módulo de controle. pԺ Figura 35 – Esquema elétrico da matriz de contato. 41 Neste módulo foi utilizada a matriz de contato, pois ocorreram problemas com a placa de circuito impresso. A Figura 36 mostra a placa de circuito impresso do módulo de controle somente com o chip RR3. 4 Figura 36 - Módulo Controle O esquema elétrico da placa do receptor está representado na Figura 37, este esquema foi feito no programa Diptrace4. Figura 37 - Esquema Elétrico do Receptor 4 Programa destinado a desenvolver esquema elétrico encontrado no site www.diptrace.com Diptrace 1.50 Freeware. 42 Confeccionaram-se diversas placas de circuito impresso para este esquema elétrico do receptor, mas não obteve sucesso. Problemas com interferência prejudicaram a comunicação entre os módulos. A mesma não recebe sinais e possíveis soluções para a correção do problema são descritas nos próximos parágrafos. Os problemas de GND ocorrem quando o analógico e o digital se encontram, a qualidade do sistema cai devido ao não conhecimento de manter o GND analógico e digital separados, outro ponto é que as trilhas dos sinais digitais não devem cruzar com um sinal analógico e as trilhas analógicas não devem cruzar a área do plano do GND digital, evitar alinhar as trilhas digitais e analógicas também contribui para diminuir o ruído irradiado. Outro problema são os laços de GND (ground loops), ocorrem quando um dispositivo elétrico está conectado ao GND em mais de um ponto, estes podem gerar ruídos significantes, quanto maior o laço (o comprimento da trilha), mais ruído será gerado, solução, um único ponto comum de GND, conhecido também como árvore de GND. Cada condutor possui sua própria impedância, qualquer corrente fluindo através dele resultará em quedas de tensões, o que se deve fazer é engrossar as trilhas, pԺ pois fios mais grossos, significam menos impedância, ou seja, menos radiação devido às quedas de tensão. 4.3. Transmissão dos sinais Para gerar e transmitir os sinais via porta paralela foi utilizado o programa Dspcom, este programa possibilita gerar várias combinações de sinais digitais e envialós a porta paralela. Os sinais utilizados nesta aplicação são: o sinal binário 0001 que irá acionar o motor da base no sentido horário, enquanto o sinal 0010 aciona o mesmo motor em sentido anti-horário. O sinal 0100 irá ativar o motor do eixo no sentido horário e o sinal 1000 irá ativar o mesmo em sentido anti-horário. A Figura 38 ilustra a interface do programa e os botões devidamente nomeados que irão acionar os motores. 43 Figura 38 - Interface dos Sinais[ROG2007] O programa Dspcom necessita de algumas configurações para ser utilizado. Na aba “Registros de Controle”, é necessáriopԺque em “Enviar sinais de controle” esteja ligada a opção “Auto Feed”, Figura 39. Figura 39 - Configuração do Registro[ROG2007] 44 5.4. Módulo Físico O módulo físico se caracteriza em um dispositivo baseado no robô ARM Figura 40. Este dispositivo Figura 41, irá ser comandado pelo módulo de controle. Os componentes que integram o módulo físico são: • • • • 4 transistores TIP 122; 2 motores de passo: 1 de 500mA e 1 de 1 A; 1 ULN 2803; 4 resistores de 470Ώ. Baseado no trabalho de conclusão de curso dos graduados Eduardo Henrique Alves Amorim e Junio Alves de Oliveira, defendido em dezembro de 2007, intitulado como “Manipulador Robótico com Quatro Graus de Liberdade”, o dispositivo robótico deste projeto aproveitou parte do protótipo do projeto supracitado, que por sua vez, se baseou no robô ARM Figura 40. Figura 40 - Robô ARM modelo RA-01 [IMA2008] O protótipo da Figura 41, oferece dois graus de liberdade, sendo que a base é fixa. A segunda peça conectada à base é giratória e possibilita um giro de até 270º. A 45 terceira um movimento em relação ao eixo horizontal, com limite de giro de até 90º, para pegar um objeto foi usado um imã preso à terceira peça. ɜ Figura 41 – Protótipo Para um perfeito acoplamentos das peças, foram utilizados alguns mecanismos objetivando eliminar o atrito, facilitando o movimento entre elas. Foi utilizado um rolamento do tipo axial entre a primeira e a segunda peça, onde o eixo do motor da base foi fixado à parte superior do rolamento através de um eixo, facilitando a movimentação entre as peças envolvidas. Ao receber os pulsos vindos do microcontrolador, para enviá-los às bobinas do motor, foi utilizado o CI ULN 2803, com seis entradas e seis saídas e dois pinos para alimentação e o GND que controla o segundo motor que tem uma corrente inferior 500mA. O motor utilizado possui seis fios e estão conectados ao PORTC do microcontrolador nos pinos 15 ao 18. Foram utilizados quatro transistores, TIP122, os quais estão conectados nos pinos 33 ao 36 do microcontrolador (PORTB), motor que possui uma corrente de 1 A. Cada transistor está conectado a um bobina do motor da base, conforme Figura 42. 46 Figura 42 – Protótipo com Módulo de Controle O próximo capítulo traz as conclusões e dificuldades que ocorreram durante a elaboração do projeto. 47 TECOLOGIA WIRELESS: ACIOADO UM DISPOSITIVO ROBÓTICO POR MEIO DE UM MICROCOTROLADOR CAPITULO V COCLUSÃO Com o avanço tecnológico criam-se recursos que estão facilitando as nossas atividades diárias. A robótica vem despertando cada vez mais interesse aos profissionais que buscam estas inovações. O tema escolhido para o desenvolvimento deste trabalho foi o interesse de relacionar a robótica com comunicação wireless. Algumas alterações foram feitas em relação à idéia inicial, devido ao tempo de duração deste projeto, sendo que inicialmente pensou-se em construir protótipo de um kit educacional de robótica contendo um carro com controle wireless que pudesse ser usado em competições. Com a evolução das pesquisas e a experimentação dos componentes, verificou-se que o desenvolvimento deste kit englobaria mais implementações que exigiriam mais tempo para estudo e análise. Toda a implementação eletrônica deste projeto foi desenvolvida no laboratório da UCG, mas o módulo mecânico precisou de recursos externos, especificamente na adaptação dos motores de passo à placa de metalon. Todos os experimentos foram bem sucedidos utilizando a matriz de contato, sendo que o módulo de controle não obteve os sinais enviados pelo módulo de comunicação depois de confeccionados numa placa de fenolite devido aos ruídos e interferências ocorridos nas trilhas. Foram encontradas também dificuldades ao descrever os chips RT4 e RR3, pois seus datasheets não possuíam dados técnicos suficientes. Foram pesquisados artigos relacionados ao assunto, mas o tratamento com esses chips é superficial, (não entrando em detalhes.) Salienta-se a complementação da formação profissional de conteúdos utilizados para o desenvolvimento deste projeto e não contemplados em disciplinas do curso, como por exemplo, microcontroladores. Para trabalhos futuros recomenda-se implementar um protocolo que garanta a segurança dos dados enviados entre os módulos, bem como um estudo detalhado da autonomia dos módulos eletrônicos para os mesmos sejam suficientes por um determinado período conforme a necessidade da aplicação sem a necessidade de serem 48 conectados diretamente a uma rede elétrica, suprindo-os com fontes alternativas que assegurem a perfeita comunicação transmissão entre os módulos. pԺ 49 TECOLOGIA WIRELESS: ACIOADO UM DISPOSITIVO ROBÓTICO POR MEIO DE UM MICROCOTROLADOR CAPITULO VI BIBLIOGRAFIA [AHM2000] AHMED, ASHFAQ. Eletrônica de Potência.1ª edição, São Paulo, Editora Prentice Hall,2000. [BRA2005] BRAGA, NEWTON C. Eletrônica Básica para Mecatrônica.1ªedição, São Paulo, Editora Saber, 2005. [BOR1990] BORGES, JOSÉ, SCHAMITZ, EBER. Projeto de Circuitos integrados.1ªedição, São Paulo, Editora LTC,1990. [MAR1996] MARQUES, ÂNGELO , EDUARDO CESAR, SALOMAO CHOUERI. Dispositivos Semicondutores: Diodos e Transistores. 4ª edição, São Paulo, Editora Érica 1996. [PER2004] PEREIRA, FÁBIO. Microcontroladores PIC – Programação em C. 3ª edição, São Paulo, Editora Érica 2004. [QUE2000] QUEVEDO, CARLOS. Circuitos Elétricos e Eletrônicos. 2ª edição, Rio de Janeiro, Editora LTC -Livros Técnicos e Científicos 2000. [SOU2003] SOUZA, DAVID JOSÉ DE. LAVINIA, NICOLAS CÉSAR. Conectando o PIC 16F877A: Recursos Avançados. 1ª edição, São Paulo, Editora Érica 2003. [STAL2005] STALLING, WILLIAM. Redes e Sistemas de Comunicação de Dados. 5ª edição, Rio de Janeiro, Editora CAMPUS 2005. [SCH1997] SCHILDT, HERBERT. C Completo e Total. 3ª edição, São Paulo, Editora Pearson, 1997. 50 [TAN2003] TANEBAUM, ANDREW S. Redes de Computadores. 4ª edição, Rio de Janeiro, Editora CAMPUS 2003. [TOR1999] TORO, VICENT DEL. Fundamentos de Máquinas Eétricas, Rio de Janeiro, LTC- Livros Técnicos e Científicos Editora S.A. [CAP2007] Capacitor Industries. Disponível em:< http://www.capacitorindustries.com/images/CapacitorLine.jpg .>Acessado em: 21/10/07 [CI2008]Images Burgos Eletrônica Circuito Integrado. Disponível em:< http://images.google.com.br/imgres?imgurl=http://www.burgoseletronica.net/citot al.jpg&imgrefurl=http://www.burgoseletronica.net/citotal.htm&h=458&w=526&s z=63&hl=ptBR&start=17&um=1&tbnid=0J75q6AnFWOdcM:&tbnh=115&tbnw=132&prev= /images%3Fq%3Dcircuito%2Bintegrado%26um%3D1%26hl%3DptBR%26sa%3DN >Acessado em: 21/05/2008. [ENC2007] Enciclopédia pԺ Diodo. Disponível em:< http://enciclopedia.us.es/index.php/Diodo.> Acessado em: 31/10/2007. [IMA2008] ROBOTIC. Disponível em: < http://www.imagesco.com/catalog/robot/arm.html> Acessado em: 20/05/08. [LAB2007] Labtools Produtos. Disponível em:< http://www.labtools.com.br/index.asp?area=07&subarea=a&idioma=por&script= produtos&prod=165# . > Acessado em: 21/11/2007. [MIL2007] Milcomp. Disponível em:< http://www.milcomp.com.br/default.asp.> Acessado em: 25/10/2007. [MIN2007] Matriz de contato. Disponível em:< http://www.minipa.com.br/prod_esp.asp?id=151&cod_produto=MP-1680#name > Acessado em: 31/10/2007. [MZE2007] Artigo Mzeditora Mic Modernos http://www.mzeditora.com.br/artigos/mic_modernos.htm.> 31/10/2007. . Disponível Acessado em:< em : 51 [MEC2007] Mecanique Produts. Disponível http://www.mecanique.co.uk/products/parts/index.html#PIC16F877A. em:< Acessado em: 31/10/2007. [PAG2007] Paginas Terra. Disponível em:< http://paginas.terra.com.br/arte/risnik/led.htm Acessado em: 31/10/2007. [ROG2007] PORTA PARALELA. Disponível em: <http://www.rogercom.com/ Acessado em: 01/10/2007. [ROG2007] Motor de Passo Paralela. Disponível http://www.rogercom.com/pparalela/IntroMotorPasso.htm>. em:< Acessado em: 15/09/2007. [SAB2007] SABER DA ELETRÔNICA. Disponível www.sabereletrocica.com.br/files/file/modulos_hibridos.pdf> Acessado em: em: 15/09/2007. [SPE2008] Suporte Eletrônico. Disponível em: < pԺ http://www2.eletronica.org/artigos/outros/evitando-ruido-em-projetos-de-pcb> Acessado em : 05/05/2008. [TEL2007] RR3 Receptor. Disponível em: <http://www.telecontrolli.com/pdf/receiver/rr3.pdf> Acessado em: 31/10/2007. [TEL2007] RT4 Transmissor. Disponível em: <http://www.telecontrolli.com/pdf/receiver/rt4.pdf> Acessado em : 31/10/2007. [XAT2007] XAT Transistor. Disponível em: <http:// xataka.com/2006/06/22-eltransistor-100-veces-mas-rapido-que-los-actuales> Acessado em : 31/10/2007. [ZIG2008] ZIGBEE. Disponível em: <http://pt.wikipedia.org/wiki/ZigBee> Acessado em : 31/10/2007. [WIF2008] WI-FI. Disponível em: <http://pt.wikipedia.org/wiki/Wi-Fi> Acessado em : 31/10/2007. 52 [WIK2007] WIKIPEDIA <http://pt.wikipedia.org/wiki/Circuito_integrado> Acessado em : 31/10/2007 [WIMAX2008] WIMAX. Disponível <http://pt.wikipedia.org/wiki/WiMAX> Acessado em : 31/10/2007. pԺ em: 53 TECOLOGIA WIRELESS: ACIOADO UM DISPOSITIVO ROBÓTICO POR MEIO DE UM MICROCOTROLADOR CAPITULO VI APÊDICE Apêndice A – Código-fonte em Linguagem C do Primeiro Experimento Este é o código-fonte em Linguagem C do primeiro experimento(Teste E/S do PIC16F877). /* EXPERIMETO 1 Teste de I/O do Port B Seqüenciamento de LEDs executados conforme comandos de botões entrada. */ #include<16f877.h> e E do PIC 16F877 // declaração da biblioteca do PIC 16F877 #fuses XT,NOLVP,NOWDT,PUT // Definiçao das palavras de controle internas do PIC // Oscilador tipo cristal // NOLVP Programação em baixa tensão desabilitada // NOWDT Watch Dog desabilitado // PUT Temporizador de Power-Up ligado #use delay(clock=4000000) // define clock do PIC #define tempo 50 // o registrador tempo recebe o valor 50 void main() { set_tris_b(0x00); set_tris_e(0b111); // configurando PORTB para saídas - LEDs // configurando PORTE para entradas - botões output_b(0b00000000); // zera as oito saídas do PORTB output_e(0b000); // zera as três entradas do PORTE while(true){ // Se pin_e0 ligado e pin_e1 desligado acende os leds da direita para a esquerda && !input(pin_e1)) { output_b(0b00000001); // Acende led conectado ao pino RB7 delay_ms(tempo); // tempo de espera com LED aceso output_b(0b00000010); // Acende led conectado ao pino RB6 delay_ms(tempo); output_b(0b00000100); // Acende led conectado ao pino RB5 delay_ms(tempo); output_b(0b00001000); // Acende led conectado ao pino RB4 delay_ms(tempo); output_b(0b00010000); // Acende led conectado ao pino RB3 delay_ms(tempo); output_b(0b00100000); // Acende led conectado ao pino RB2 delay_ms(tempo); output_b(0b01000000); // Acende led conectado ao pino RB1 delay_ms(tempo); output_b(0b10000000); // Acende led conectado ao pino RB0 delay_ms(tempo); if(input(pin_e0) 54 } // Se pin_e1 ligado e pin_e0 desligado acende os leds da esquerda para a direita else if(input(pin_e1) && !input(pin_e0)){ output_b(0b10000000); delay_ms(tempo); output_b(0b01000000); delay_ms(tempo); output_b(0b00100000); delay_ms(tempo); output_b(0b00010000); delay_ms(tempo); output_b(0b00001000); delay_ms(tempo); output_b(0b00000100); delay_ms(tempo); output_b(0b00000010); delay_ms(tempo); output_b(0b00000001); delay_ms(tempo); } //Se pin_e0 e pin_e1 ligados acende leds da direita e da esquerda para o centro else if(input(pin_e0) && input(pin_e1)){ output_b(0b10000001); delay_ms(tempo); output_b(0b01000010); delay_ms(tempo); output_b(0b00100100); delay_ms(tempo); output_b(0b00011000); delay_ms(tempo); output_b(0b00100100); pԺÎ delay_ms(tempo); output_b(0b01000010); delay_ms(tempo); } } } 55 Apêndice B – Código-fonte em Linguagem C do Segundo Experimento #include<16f877.h> // declaração da biblioteca do PIC 16F877 #fuses XT,NOLVP,NOWDT,PUT // Definiçao das palavras de controle internas do PIC // Oscilador tipo cristal // NOLVP Programação em baixa tensão desabilitada // NOWDT Watch Dog desabilitado // PUT Temporizador de Power-Up ligado #use delay(clock=4000000) // define clock do PIC #define tempo 50 // o registrador tempo recebe o valor 50 void main() { set_timer0(0); // zerando timer0 set_tris_b(0x00); // configurando PORTB para saídas - LEDs set_tris_e(0b111); // configurando PORTE para entradas - botões output_b(0b00000000); output_e(0b000); // zera as oito saídas do PORTB // zera as três entradas do PORTE while(true) { if(input(pin_e0) && !input(pin_e1)) pԺ { output_b(0b00000001); // Acende led conectado ao pino RB0 delay_ms(tempo); // tempo de espera com LED aceso output_b(0b00000011); // Acende led conectado ao pino RB0 e RB1 delay_ms(tempo); output_b(0b00000010); Acende led conectado ao pino RB1 delay_ms(tempo); output_b(0b00000110); // Acende led conectado ao pino RB1 E RB2 delay_ms(tempo); output_b(0b00000100); // Acende led conectado ao pino RB2 delay_ms(tempo); output_b(0b00001100); // Acende led conectado ao pino RB2 e RB3 delay_ms(tempo); output_b(0b00001000); // Acende led conectado ao pino RB3 delay_ms(tempo); output_b(0b00001001); // Acende led conectado ao pino RB3 e RB0 delay_ms(tempo); } } } 56 Apêndice C – Código-fonte em Linguagem C do Módulo de Controle #include <16f877A.h> #fuses XT,*OLVP,*OWDT,PUT #use delay(clock=4000000) #define tempo 50 void main() { set_timer0(0); set_tris_d(0b111111); //configurando PORTD para entrada set_tris_b(0x00); // configurando PORTB para saida MOTOR DA BASE (pinos 33,34,35,36) set_tris_c(0x00); // configurando PORTC para saida MOTOR DA BRACO (pinos 15,16,17,18) output_b(0b00000000); // zerando as 8 saidas do PORTB output_c(0b0000); // zerando as 4 saidas do PORTC while(true){ if(input(pin_d0)) { output_b(0b00000001); delay_ms(tempo); output_b(0b00000011); delay_ms(tempo); output_b(0b00000010); delay_ms(tempo); output_b(0b00000110); delay_ms(tempo); output_b(0b00000100); delay_ms(tempo); output_b(0b00001100); delay_ms(tempo); output_b(0b00001000); delay_ms(tempo); output_b(0b00001001); delay_ms(tempo); } else if(input(pin_d1)){ output_b(0b00001001); delay_ms(tempo); output_b(0b00001000); delay_ms(tempo); output_b(0b00001100); delay_ms(tempo); output_b(0b00000100); pّ 57 delay_ms(tempo); output_b(0b00000110); delay_ms(tempo); output_b(0b00000010); delay_ms(tempo); output_b(0b00000011); delay_ms(tempo); output_b(0b00000001); delay_ms(tempo); } else if(input(pin_d2)){ output_c(0b0001); delay_ms(tempo); output_c(0b0011); delay_ms(tempo); output_c(0b0010); delay_ms(tempo); output_c(0b0110); delay_ms(tempo); output_c(0b0100); delay_ms(tempo); output_c(0b1100); delay_ms(tempo); output_c(0b1000); delay_ms(tempo); output_c(0b1001); delay_ms(tempo); } else if(input(pin_d3)){ output_c(0b1001); delay_ms(tempo); output_c(0b1000); delay_ms(tempo); output_c(0b1100); delay_ms(tempo); output_c(0b0100); delay_ms(tempo); output_c(0b0110); delay_ms(tempo); output_c(0b0010); delay_ms(tempo); output_c(0b0011); Ժ 58 delay_ms(tempo); output_c(0b0001); delay_ms(tempo); } } } Ժ