Este artigo tem o objetivo de descrever o desenvolvimento de um dirigvel indoor rdio controlado e todas as tecnologias envolvidas em sua construo. Para esse fim foram utilizados conceitos de programao desktop (C#) e de micro controladores (PIC). O dirigvel basicamente constitudo de: um balo inflado com gs hlio, uma estrutura de gndola, uma cmera wireless e trs motores de corrente contnua. Um dos motores controla o deslocamento do dirigvel na direo horizontal, responsvel pela propulso. Um segundo motor controla o dirigvel na direo vertical, responsvel pela elevao. O terceiro motor localizado na parte traseira do balo utilizado como leme, para controlar a direo do vo. A cmera implantada na parte frontal do balo capta as imagens do ambiente. So apresentados maiores detalhes relativos ao desenvolvimento realizado (Hardware e Software) e o funcionamento do controle do dirigvel no decorrer do artigo.
Palavras Chave: dirigvel, radio freqncia, gs hlio, aforge.NET, comunicao serial, mdulos de comunicao Xbee.
1 Aluno do Curso de Cincia da Computao do Centro Universitrio do Sul de Minas UNIS-MG. Email: felipecomps@hotmail.com. 2 Aluno do Curso de Cincia da Computao do Centro Universitrio do Sul de Minas UNIS-MG. Email: juliocor7@hotmail.com. Professor do Centro Federal de Educao Tecnolgica CEFET, Ex Professor do Centro Universitrio do Sul de Minas UNIS-MG. Email: coelhojm@unis.edu.br.
1. REFERENCIAL TERICO
1.1. DIRIGVEL
Um dirigvel uma aeronave mais leve do que o ar, que pode ser controlada. Ao contrrio de aeronaves mais pesadas, os dirigveis sustentam-se atravs do uso de uma grande cavidade que preenchida com um gs menos denso do que o ar, como o gs hlio ou mesmo o inflamvel gs hidrognio. (DIRIGVEL..., 2010, P. 1).
Figura 1: Dirigvel.
Atualmente no Brasil, dirigveis a base de gs hlio so utilizados para fins publicitrios e para realizao de transmisses de TV em eventos esportivos. A mais famosa dessas aeronaves possui o nome de Ventura, sendo mais conhecida como dirigvel da Goodyear, por ser de propriedade dessa fabricante de pneus. (DIRIGVEL..., 2010, P. 1).
1.2. ROBTICA
Robtica um ramo da tecnologia que engloba mecnica, eletrnica e computao, que atualmente trata de sistemas compostos por mquinas e partes mecnicas automticas e controladas por circuitos integrados, tornando sistemas mecnicos motorizados, controlados manualmente ou automaticamente por circuitos eltricos. De uma forma geral, veculos robticos abrangem sistemas areos, terrestres e subaquticos. Na sua forma mais simples, esses sistemas podem ser operados remotamente, ou seja, controlados distncia por um operador humano, o tempo todo, para desempenhar determinada tarefa. Os sistemas robticos areos so comumente denominados Veculos Areos No-Tripulados (vants) ou, em Ingls, Unmanned Aerial Vehicles (uavs). Em termos de aeronaves, tm-se principalmente avies, helicpteros e dirigveis, existindo ainda propostas de aeronaves no convencionais. Apesar de serem mais lentos e menos manobrveis que avies e helicpteros, dirigveis necessitam despender menos energia e podem permanecer por longos perodos em vo; tm a capacidade de pairar no ar sobre reas de interesse; podem decolar e pousar verticalmente sem necessidade de infraestrutura complexa; apresentam grande capacidade de carga relativa ao prprio peso e degradam lentamente em caso de falha (usualmente no caem abruptamente). Essas caractersticas, dentre outras, fazem com que os dirigveis sejam uma plataforma area particularmente adequada para um amplo conjunto de operaes de observao remota. (ROBTICA AREA..., 2010, P. 1).
1.3. COMUNICAO SERIAL
A maioria das mensagens digitais so mais longas que alguns poucos bits. Por no ser prtico nem econmico transferir todos os bits de uma mensagem simultaneamente, a mensagem quebrada em partes menores e transmitida sequencialmente. A transmisso bit-serial converte a mensagem em um bit por vez atravs de um canal. Cada bit representa uma parte da mensagem. Os bits individuais so ento rearranjados no destino para compor a mensagem original. Em geral, um canal ir passar apenas um bit por vez. A transmisso bit-serial normalmente chamada de transmisso serial, e o mtodo de comunicao escolhido por diversos perifricos de computadores. A transmisso byte-serial converte oito bits por vez atravs de oito canais paralelos. Embora a taxa de transferncia seja oito vezes mais rpida que na transmisso bit-serial, so necessrios oito canais, e o custo poder ser maior do que oito vezes para transmitir a mensagem. Quando as distncias so curtas, factvel e econmico usar canais paralelos como justificativa para as altas taxas de transmisso. A interface Centronics de impressoras um caso tpico de transmisso byte-serial. (PULGA, 2004).
1.3.1. - Taxa de Transferncia (Baud Rate) A taxa de transferncia refere-se velocidade com que os dados so enviados atravs de um canal e medido em transies eltricas por segundo. Na norma EIA232, ocorre uma transio de sinal por bit, e a taxa de transferncia e a taxa de bit (bit rate) so idnticas. Nesse caso, uma taxa de 9600 bauds corresponde a uma transferncia de 9600 dados por segundo, ou um perodo de aproximadamente, 104 ms (1/9600 s). Outro conceito a eficincia do canal de comunicao que definido como o nmero de bits de informao utilizvel (dados) enviados atravs do canal por segundo. Ele no inclui bits de sincronismo, formatao, e deteco de erro que podem ser adicionados informao antes da mensagem ser transmitida, e sempre ser no mximo igual a um.
1.3.2. - Transmisso Assncrona x Transmisso Sncrona Geralmente, dados serializados no so enviados de maneira uniforme atravs de um canal. Ao invs disso, pacotes com informao regulares so enviados seguidos de uma pausa. Os pacotes de dados binrios so enviados dessa maneira, possivelmente com comprimentos de pausa varivel entre pacotes, at que a mensagem tenha sido totalmente transmitida. O circuito receptor dos dados deve saber o momento apropriado para ler os bits individuais desse canal, saber exatamente quando um pacote comea e quanto tempo decorre entre bits. Quando essa temporizao for conhecida, o receptor dito estar sincronizado com o transmissor, e a transferncia de dados precisa torna-se possvel. Falhas na manuteno do sincronismo durante a transmisso iro causar a corrupo ou perda de dados. Duas tcnicas bsicas so empregadas para garantir a sincronizao correta. Em sistemas sncronos, canais separados so usados para transmitir dados e informao de tempo. O canal de temporizao transmite pulsos de clock para o receptor. Atravs da recepo de um pulso de clock, o receptor l o canal de dado e armazena o valor do bit encontrado naquele momento. O canal de dados no lido novamente at que o prximo pulso de clock chegue. Como o transmissor responsvel pelos pulsos de dados e de temporizao, o receptor ir ler o canal de dados apenas quando comandado pelo transmissor, e, portanto a sincronizao garantida. (CANZIAN, 2009).
1.4. MICROCONTROLADOR PIC
O PIC um componente eletrnico pertencente classe dos microcontroladores programveis de arquitetura Harvard e conjunto reduzido de instrues (RISC). Em sntese, um microcomputador completo, consistindo de uma memria RAM, memria no voltil EEPROM, memria de programa, controladores de E/S digital e analgica (opcional) em torno de uma CPU com um conjunto reduzido de instrues, dentro de um nico chip. O PIC pode ser programado para executar diversas tarefas, como controlar um dispositivo eletromecnico, realizar medies, exibir informaes em um display, ou simplesmente piscar luzes. A simplicidade, disponibilidade e o baixo custo so os principais atrativos do PIC. A programao pode ser feita em um PC com ferramentas disponveis gratuitamente em Assembler ou C, mas requer o uso de um dispositivo programador para transferir o cdigo do programa para dentro do PIC. Normalmente isto pode ser feito de duas maneiras:
Inserindo-se o PIC no soquete apropriado do programador. Posteriormente, o PIC transferido para o circuito definitivo, onde pode ser soldado diretamente placa de circuito impresso ou inserido em um soquete.
Conectando-se um programador serial em um soquete previamente soldado placa de circuito impresso onde o PIC j reside. Isto conhecido como In- Circuit Serial Programming ou ICSP. Esta modalidade bastante prtica e causa menos estresse ao PIC, por evitar seu constante manuseio durante repetidos testes.
H vrios tipos diferentes de programadores cujo projeto pode ser encontrado na Internet ou adquirido pronto de determinados fornecedores. A maioria deles de fcil construo e podem ser conectados ou porta paralela ou porta serial do computador. De fato, qualquer computador que disponha de uma dessas interfaces pode ser usado para programar o PIC. (PIC MICRO..., 2010, P. 1).
1.5. RDIO FREQNCIA
Rdio um recurso tecnolgico das telecomunicaes utilizado para propiciar comunicao por intermdio da transcepo de informaes previamente codificadas em sinal eletromagntico que se propaga atravs do espao. O sistema de comunicao de rdio frequncia feito atravs de ondas eletromagnticas propagadas no espao, que por serem de comprimento diferente so classificadas em ondas curtas de alta frequncia e ondas longas de baixa frequncia, assim, utilizadas para fins diversos como televiso, rdio, avio, etc. Os sistemas de radiocomunicao normais so formados por dois componentes bsicos: Transmissor composto por um gerador de oscilaes, que converte a corrente eltrica em oscilaes de uma determinada frequncia de rdio; um transdutor que converte a informao a ser transmitida em impulsos eltricos equivalentes a cada valor e um modulador, que controla as variaes na intensidade de oscilao ou na freqncia da onda portadora, sendo efetuada em nveis baixo ou alto. Quando a amplitude da onda portadora varia segundo as variaes da freqncia e da intensidade de um sinal sonoro, denomina-se modulao AM. J quando a freqncia da onda portadora varia dentro de um nvel estabelecido a um ritmo igual frequncia de um sinal sonoro, denomina-se modulao FM; Receptor Tem como componentes principais: a antena para captar as ondas eletromagnticas e convert-las em oscilaes eltricas; amplificadores que aumentam a intensidade dessas oscilaes; equipamentos para desmodulao; um alto-falante para converter os impulsos em ondas sonoras e na maior parte dos receptores osciladores para gerar ondas de radiofrequncia que possam se misturar com as ondas recebidas. (RADIO..., 2010, P. 1).
1.6. LINGUAGEM DE PROGRAMAO C#
O C# (C Sharp) uma linguagem de programao desenvolvida pela Microsoft que completamente suportada pela plataforma .NET Framework, abrange o poder e a versatilidade do Visual Basic, a fora e a criatividade do C++ e a inteligncia do Javascript para validaes. Alm disso, por ser derivado de C++ e C e por possuir uma grande semelhana com a linguagem de programao Java, permitindo que desenvolvedores destas linguagens pudessem se adaptar com facilidade ao C#. Segundo HADDAD (2004) o impacto do C# no mercado foi to grande que muitas ferramentas e plataformas deixaram de existir. O C# possuiu grandes vantagens, uma delas a possibilidade de maior interatividade com os usurios, que passam a poder postar informaes a qualquer momento, com o C# controlando o envio e recebimento de dados, principalmente a partir da mesma pagina. Outra vantagem na utilizao de C# a programao orientada a objeto, no possvel em C e em Visual Basic. Segundo HADDAD (2004) este seria um dos melhores recursos oferecido por esta linguagem, visto que os cdigos podem ser utilizados facilmente, pois existem heranas, polimorfismo e encapsulamento. Outro to esperado recurso oferecido pelo C# o recurso de programao orientada a evento, que significa no ter de programar linhas em Javascript para disparar os poucos eventos existentes em alguns controles. Em sntese, a linguagem de programao C# disponibiliza os seguintes aspectos:
Maior interatividade com os usurios; Possui recurso de programao orientada a objeto; Desenvolvimento em ambiente Windows; No precisa registrar componentes; Possui fcil validao e tratamento de dados. (VANTAGENS..., 2010, P. 1).
1.6.1. AFORGE.NET FRAMEWORK
O framework aforge.NET escrito em C# e projetado para desenvolvedores e pesquisadores nas reas de Viso Computacional e Inteligncia Articial. Atua diretamente nas reas de processamento de imagens, redes neurais, algoritmos genticos, aprendizado de mquina, robtica. O framework composto por um conjunto de bibliotecas e aplicativos de exemplo, e tem vrias bibliotecas que demonstram suas caractersticas: Aforge.Imaging Bibliotecas com funcionalidades de processamento de imagens e ltros. Aforge.Vision Biblioteca de viso computacional. Aforge.Neuro Biblioteca para redes neurais articiais. Aforge.Genetic Biblioteca para computao evolucionria. Aforge.Fuzzy Biblioteca para lgica fuzzy. Aforge.machinelearning Biblioteca para aprendizado de maquinas. Aforge.Robotics Biblioteca que prov suporte a alguns kits para robtica. Aforge.Video Conjunto de bibliotecas para processamento de vdeo. 2. DESENVOLVIMENTO
Como j havia sido citado anteriormente o objetivo deste projeto o desenvolvimento de um dirigvel indoor radio frequncia de baixo custo. Em um primeiro momento foi criado o prottipo do dirigvel para testes referentes estabilidade e velocidade do dirigvel. Na segunda etapa, foi desenvolvido o software que responsvel pelo controle e captura de imagens atravs da cmera acoplada ao equipamento.
2.1. PROTOTIPAO
Analisando as opes de dirigvel (indoor, outdoor, rgido, flexvel) foi necessria a criao de um prottipo para abstrair as funes e opes possveis. O primeiro dirigvel desenvolvido em nosso projeto possua apenas dois motores, designados para propulso e elevao e, no possua um motor para controle de direo. Este era constitudo de:
- Trs bales inflados de dimetro 100 cm; - Dois motores (Propulso e elevao); - Dois circuitos de rdio frequncia (transmissor e receptor); - Uma bateria de 9 V para alimentao dos motores e do circuito.
No primeiro instante, o intuito do desenvolvimento era apenas vislumbrar o que seria necessrio para o desenvolvimento do projeto final. Era controlado por um Controle RF e inflado com gs hlio. O grande fator problema do prottipo era o peso dos equipamentos em relao quantidade de gs hlio que seria utilizada. Um metro cbico de hlio pode elevar cerca de 1000 gramas, por isso multiplicamos o volume do balo por 1000. Por exemplo: um balo de 6 metros possui um raio de 3 metros. 3* 3 * 3 * 3,14 * 4/3 = 113 m3 de volume. 113 m3 * 1000 gramas/m3 = 113.000 gramas ou 113 quilogramas. Realizando esses clculos, levando em considerao o peso dos equipamentos, foi possvel obter a quantia de hlio necessria para fazer o dirigvel flutuar.
2.2. ARQUITETURA DO SISTEMA
O sistema de comunicao aplicao/dispositivo ser implementado na forma descrita pela figura 2 abaixo.
Figura 2: Arquitetura de Comunicao do Sistema
A comunicao ser feita atravs do computador com a aplicao Visual C# que ir enviar/receber comandos atravs do Circuito Xbee transmissor o circuito transmissor logicamente necessita de um receptor que por sua vez ser responsvel por realizar a comunicao com o circuito que possui o PIC possibilitando assim a interpretao lgica dos comandos realizando o acionamento dos motores do dirigvel.
2.3. DESENVOLVIMENTO DO CIRCUITO ELETRNICO
O sistema de comunicao do dirigvel deve possuir algo que faa a ligao entre a serial que ir receber os comandos e o PIC que ser responsvel por interpretar esses comandos atravs da sua programao sendo possvel assim realizar o acionamento dos motores que iro movimentar o dirigvel. Portanto para realizar essa comunicao foi criado um circuito eletrnico que foi constitudo de:
2 Mdulos X-Bee 1 Mdulo Usb Xbee 1 Led 1 Placa Perfurada
Para que os mdulos Xbee Tx e RX possam se comunicar necessrio que o pino RX do PIC esteja conectado ao pino TX do Xbee. E o pino TX do PIC ao RX do Xbee. Na figura 3 temos a arquitetura do circuito eletrnico desenvolvido para o dirigvel utilizando o software Multisim: K K1 1mH 1 K K2 1mH 1 K K3 1mH 1 K K4 1mH 1 R1 1k R2 1k R3 1k R4 1k Q1 BC337 Q2 BC337 Q3 BC337 Q4 BC337 D1 1N4007 D2 1N4007 D3 1N4007 D4 1N4007 1 2 3 4 5 6 7 8 U1 LM7805CT LINE VREG COMMON VOLTAGE V1 12 V 0 U2 PIC16F84A RA2 1 RA3 2 RA4T0CKI 3 MCLR 4 VSS 5 RB0INT 6 RB1 7 RB2 8 RB3 9 RB4 10 RB5 11 RB6 12 RB7 13 VDD 14 OSC2CLKOUT 15 OSC1CLKIN 16 RA0 17 RA1 18 11 12 13 14 J1 HDR1X8 17 18 10 16 15 0 C1 1mF 0 J2 HDR1X2 J3 HDR1X2 9 20 0 19
Figura 3: Arquitetura da placa principal.
2.4. VISUAL STUDIO COMPONENTE PORTA SERIAL A comunicao serial utilizada nesse projeto ser feita atravs de uma porta serial virtual emulada pelo dispositivo transmissor e receptor RF. A comunicao serial utilizando o Visual Studio 2008 de simples implementao, podendo se utilizar de um componente j existente no C# que realiza comunicao com a porta serial. A comunicao funciona da seguinte forma: Obtm-se a conexo com a porta serial definindo a qual porta ir se conectar Ex: (COM1, COM2... Etc.). Definir a que velocidade (baud rate) ser realizada a transmisso Definir os bits de paridade entre a comunicao Utilizar no projeto a biblioteca using System.IO.Ports que responsvel por utilizar os dispositivos de interface externa do computador.
Depois de realizadas estas etapas era necessrio abrir a conexo com a porta serial para que fosse possvel enviar comandos a serem executados pelo lado receptor da porta serial.
2.5. REALIZANDO COMUNICAO RDIO FREQUNCIA
Para realizar a comunicao via rdio frequncia entre computador e dirigvel, foram utilizados dois mdulos X-Bee Pro, um deles conectado placa COM-USBEE ligada ao computador, que emulara uma porta serial e o outro ligado no circuito do dirigvel. A escolha dos mdulos foi feita devido facilidade de implementao, pois no necessitam de nenhuma configurao, pela qualidade e alcance de comunicao, que chega 100m em linha reta.
Figura 4:Comunicao dos mdulos X-Bee Pro
2.6. OBTER IMAGENS DE VDEO PARA O C#
O projeto do dirigvel Indoor RC possui uma cmera para captura de vdeo e explorao de ambientes possibilitando captao de imagens e tambm para que em futuros projetos fosse possvel tornar-se um dirigvel autnomo. Conhecendo as diversas opes de frameworks disponveis para integrao de vdeo no Visual Studio C#, a que mais se adequou ao projeto foi a Aforge 2.1, devido a sua fcil implementao e diversas fontes de pesquisa, incluindo o prprio site do desenvolvedor. Abaixo uma breve descrio:
Aforge 2.1: Possui alm das funes de captura de vdeo, funes de inteligncia artificial e processamento de imagens j desenvolvidas, alem de ser escrito em C# e possuir cdigo fonte livre e ampla documentao. 3. CUSTO DO PROJETO
Apesar de ser um projeto com fins cientficos e visando o menor custo possvel alguns componentes geraram um custo aos participantes. Segue abaixo a planilha com os custos do projeto:
O projeto desenvolvido mostrou-nos as diversas aplicaes possveis ao nosso prottipo. Como desenvolvimento futuro, consideramos a opo de implantao de uma cmera de maior resoluo, para que o sistema possa ser utilizado na vigilncia de ambientes. Tambm a substituio dos motores por outros mais potentes para que o projeto possa se tornar um dirigvel Outdoor, podendo assim explorar ambientes externos. Levando em conta a melhoria no dispositivo de captura de imagens, seria possvel implementar o processamento de imagens utilizando o framework AFORGE.NET para sensoriamento de movimentos, cores e etc. Aps ser implementado como dirigvel Outdoor, novamente uma gama de possibilidades nos proposta, podendo ser acoplado ao dirigvel um modulo GPS para localizao do equipamento. E como uma aplicao de extrema importncia, devemos citar tambm o desenvolvimento de um dirigvel autnomo, que atravs do processamento das informaes do meio externo seria capaz de operar sozinho.
5. CONCLUSO
Este projeto possibilitou aumentar nossos conhecimentos em diversas reas da computao, como programao e eletrnica. Durante o decorrer do projeto, foram utilizadas vrias ferramentas de desenvolvimento, como Visual Studio C#, para criao do software de controle com a utilizao do framework AFORGE.NET para obteno e tratamento de imagens utilizando cmera acoplada ao dirigvel. Com a utilizao dessas ferramentas foi possvel obter uma viso de situaes perfeitamente aplicveis dentro da realidade do mercado de desenvolvimento de software. Com todo o desenvolvimento do projeto, percebemos as diversas possibilidades de aplicao do projeto sendo no somente para fins publicitrios, como foi inicialmente proposto, mas possibilitando a explorao nas reas de monitoramento de ambientes, sistema autnomo de navegao, entre outras.
ABSTRACT
This article describes the development of an indoor radio controlled blimp and all the technologies involved in the project. For this purpose, we used the concepts of desktop programming (C#) and microcontrollers (PIC). The blimp is basically composed of: a balloon inflated with helium gas, a structure for the gondola, a wireless camera and three DC motors. The first motor, controls the displacement of the blimp in the horizontal direction, its responsible for the propulsion. The second motor, controls the blimp in the vertical direction, its responsible for the floatation. The third motor, placed at the rear of the blimp, controls the direction of flight, like a rudder. The camera placed in front of the blimp captures images of the environment. More details concerning the development of the project (Hardware and Software) and the control operation of the blimp are presented.
Keywords: blimp, radio frequency, helium gas, aforge.NET, serial communication Xbee communication modules. 6. REFERENCIAL BIBLIOGRFICO
Dirigvel, 2010, Disponvel em: http://pt.wikipedia.org/wiki/Dirig%C3%advel em 17 Set. 2010 Rogercom, 2010, Disponvel em: http://www.rogercom.com em 17 Set. 2010 Robtica, 2010, Disponvel em: http://pt.wikipedia.org/wiki/Rob%C3%b3tica em 17 Set. 2010 PIC Micro hardware and software techniques to help you design your projects, 2010, Disponvel em: http://pt.wikipedia.org/wiki/Rob%C3%b3tica em 19 Set. 2010 Rdio (comunicao), 2010, Disponvel em: http://pt.wikipedia.org/wiki/R%C3%a1dio_frequ%C3%aancia em 17 Set. 2010 C# Comunicao Serial, Disponvel em: http://underlineivan.blogspot.com/2010/06/acessando-porta-serial-com-c.html em 03 Out. 2010 Vantagens do C#, Disponvel em: http://karhunkaatolaulu.blogspot.com/2008/01/vantagens-do-c.html em 03 Out. 2010 Desenvolvendo com Framework aforge.NET Disponvel em: http://www.developerit.com/en/search/page-2/isapi-rewrite em 5 Out. 2010 Artigo Controlo de um Dirigvel, Disponvel em: http://ltodi.est.ips.pt/aabreu/relatoriofinal_dirigivel.pdf em 05 Out. 2010