You are on page 1of 9

A INTERAO DE MICROCONTROLADORES COM SISTEMAS DE ALTO NVEL DE PROCESSAMENTO

Julierme S. de Arajo e Hugo Vieira L. de Sousa Universidade Federal de Pernambuco - UFPE, Centro de Informtica CIn julierme.silva@gmail.com, hvlsouza@gmail.com

Resumo Os microcontroladores so pequenos componentes eletrnicos, dotados de uma inteligncia programvel, utilizado no controle de processos lgicos. Em muitos casos estes componentes contm funcionalidades que os possibilitam delegar aes eletronicamente de forma independente sem haver interao alguma com o meio externo. Neste trabalho apresentada uma abordagem que visa as possibilidades e tcnicas de interao dos microcontroladores, com sistemas de alto nvel de processamento. Ao contrrio de outros sistemas microcontrolados baseados em um MCU sem canal de comunicao com meio externo, esta abordagem da nfase possibilidade de fundir conceitos e tcnicas computacionais com esses componentes capazes de proporcionar aos dispositivos processamentos lgicos e aritmticos. Promove-se ento a concepo de uma nova viso de desenvolvimento de sistemas microcontrolados, totais ou parcialmente integrados a dispositivos microeletrnicos complexos. Este trabalho consiste no uso do microcontrolador PIC18F2550 e de uma aplicao em Java, onde usando a vantagem de uma arquitetura que incorpora o protocolo USB e a tecnologia Java Native Access (JNA) foi possvel interar o MCU a aplicao. O sistema de controle de temperatura microcontrolado, experimento proposto como estudo de caso, mostrouse capaz de interagir de forma eficaz com a aplicao instalada em um computador pessoal. Abstract The microcontrollers are "small" electronic components, with a programmable "intelligence", used to control logical processes. In many cases these components contain features that enable to delegate independents actions electronically without any interaction with the external environment. This work presents an approach aimed at the possibilities and techniques for interaction of microcontrollers with high level processing systems. Unlike other microcontroller systems based on MCU without a channel of communication with the external environment, this approach gives emphasis at the possibility of merging concepts and computational techniques with these components capable of providing to the devices logical and arithmetic processing. It promotes itself then a new vision for the development of microcontroller systems, total or partially integrated in complex microelectronic devices. This work is the use of the PIC18F2550 microcontroller and an application in Java, where the advantage of using an architecture that incorporates the USB protocol and Java Native Access (JNA) could interest the MCU application. The microcontrolled temperature control system, proposed as an experiment of study, was able to interact effectively with the application installed on a personal computer.. Palavras-chave Interao, MCUs, JNA, USB protocol.

1 Introduo
Com o desenvolvimento tecnolgico humano, houve uma demanda por microcomponentes com capacidade de conter funcionalidades capazes de delegar aes eletronicamente de forma independente e onde estes pudessem interagir com as necessidades do usurio final, proporcionando assim melhores resultados na soluo de problemas. O surgimento desse perfil de necessidade aguou os sentidos das equipes de desenvolvimento das grandes empresas, favorecendo a grande disseminao de eletrnicos autnomos onde, em algum ponto de seus projetos de desenvolvimento, foram empregados microcontroladores. No entanto, existem situaes onde aplicaes microcontroladas necessitam interagir com sistemas com o nvel de processamento e armazenamento de dados maiores que as suas. Com o avano da tecnologia e a disseminao cada vez maior dos sistemas embarcados muitos chips microcontroladores (MCU) vm evoluindo em diversos pontos de sua arquitetura, principalmente nas tecnologias para tornar possvel a comunicao com o meio externo. O que se busca de diferente atualmente a possibilidade de se desenvolver sistemas microcontrolados capazes de interagir com sistemas com alto nvel de processamento por meio de protocolos de comunicao cada vez mais modernos. Dessa forma, torna-se possvel implementao de sistemas computacionais interligados a qualquer dispositivo eletroeletrnico na qual se deseja controlar e/ou monitorar. Este trabalho tem como principal objetivo demonstrar a idia de interao entre sistemas de alto nvel de processamento de dados (como o caso dos computadores pessoais) e sistemas microcontrolados, que possuem capacidades arquiteturais restritas a pequenas quantidades de memria, processamento e outras caractersticas. Partindo deste princpio ser possvel observar o uso do microcontrolador para solucionar problemas que requerem pouco processamento. Porm a soluo destes problemas por parte do MCU ocorrer simultaneamente ao processo de interao do mesmo com um aplicativo de alto nvel, executado em um sistema de grande porte. Ser possvel visualizar neste estudo tcnicas de comunicao entre PC e MCU, entre MCU e sensores e entre MCU e atuadores. Como forma de obter resultados e exemplificar este objetivo, foi proposto o desenvolvimento de um sistema de controle de temperatura microcontrolado capaz de interagir com uma aplicao instalada em um computador pessoal. De acordo com o que foi descrito, o foco deste trabalho consiste em propor um modelo de interao entre dois nveis distintos de arquitetura e robustez computacional tornando assim possvel analisar o comportamento desta interao.

2 SISTEMAS MICROCONTROLADOS
Esta seo deve apresentar conceitos que fundamentam os microcontroladores, abordando temas como sua aplicabilidade, sua conectividade e principais linguagens para a programao de seu firmware. 2.1 Chips Microcontrolador Chip todo circuito eletrnico digital construdo com uma pastilha de material semicondutor. Apesar de existir constantes pesquisas em torno da descoberta de novos materiais, atualmente o substrato definido como melhor semicondutor o silcio (TORRES, 2001). O desenvolvimento de um componente programvel, que possusse as funcionalidades de um microprocessador, mas que no tivesse que se interligar com perifricos externos tais como memrias, barramentos de entrada e sada e componentes de temporizao, foram caractersticas prioritrias para a definio do conceito de microcontroladores (MCU). No entanto, ser um componente compacto e verstil era fundamental, visto que sistemas autnomos, em sua maioria, necessitam de certa mobilidade e/ou so sistemas que prezam pela economia de espao e energia. No era necessrio um alto nvel de processamento de instrues, como os de um microprocessador convencional, j que o componente seria utilizado para delegar tarefas compostas sempre de um problema especfico (CORTELETTI, 2006). Sousa (2003), em seu livro Desbravando o PIC define microcontrolador como um pequeno componente eletrnico, dotado de uma inteligncia programvel, utilizado no controle de processos lgicos. Matic e Andric (2009) ressaltam que para que um microprocessador seja utilizado, outros componentes devem-lhe ser adicionados, tais como memria e componentes para receber e enviar dados. Em resumo, isso significa que o microprocessador o verdadeiro corao do computador. Por outro lado, o microcontrolador foi projetado para ter tudo num s. Nenhum outro componente externo ser necessrio na aplicao, uma vez que todos os perifricos necessrios j esto contidos nele. Assim, poupa-se tempo e espao na construo de dispositivos. pelos mesmos motivos citados por Matic e Andric (2009) que o MCU considerado por muitos um microcomputador, visto que internamente possui componentes semelhantes aos de um computador comum, s que em nvel de desempenho e tamanho em menores propores como pde ser observado na Figura 1.

Figura 1 - Exemplo de microcontrolador Fonte - (Corteletti, 2006)

A arquitetura interna de um microcontrolador pode ser baseada nas arquiteturas de Von-Neumann ou em uma arquitetura mais recente denominada arquitetura de Harvard. A arquitetura de Harvard proporciona aos MCUs trabalharem mais rapidamente, pois nesta a memria de dados e a memria de programa so separadas e distintas, possibilitando que uma maior quantidade de dados flua atravs da unidade central de processamento o que tende a proporcionar ao dispositivo uma maior velocidade de funcionamento (MATIC e ANDRIC, 2009). A microcontroladores com a arquitetura de Harvard d-se o nome de MCUs Reduced Instruction Set Computer (RISC) e os que possuem a arquitetura de Von-Neumann denominam-se MCUs Complex Instruction Set Computer (CISC) (MATIC e ANDRIC, 2009). 2.2 Aplicabilidade No toda situao que favorvel ao o uso de microcontroladores. Em comparao com processadores de alto nvel de processamento, desenvolvidos para processar e executar milhes de instrues por segundo, os MCUs so componentes de baixo nvel de processamento, pouca memria e com outras caractersticas internas que os restringem ao controle de processos lgicos bem especficos (CORTELETTI, 2009). O estudo dos requisitos funcionais relacionados ao desenvolvimento de um sistema microcontrolado em boa parte dos projetos de grande importncia, visto que o MCU dever possuir caractersticas em sua arquitetura que possibilite o mesmo executar os processos relacionados a tais funcionalidades. possvel encontrar muitas semelhanas na arquitetura dos microcontroladores dos fabricantes que atualmente esto no topo do desenvolvimento dessa tecnologia a ponto de serem considerados por muitos dispositivos idnticos. Os autores do livro Microcontroladores e Fine Pitch Grid Arrays (FPGAs) contextualizam que injusto se afirmar que microcontroladores como, por exemplo, os PIC da Microchip Technology, os MC da Motorola, os COP da National Semiconductor e os AT da ATMEL Corporation so todos componentes iguais.

Porm correto ressaltar que so similares e que todos possuem algumas caractersticas tambm presentes em seus concorrentes. Nota-se que existe um conjunto padro de perifricos que realizam funes semelhantes (ORDONEZ, PENTEADO e SILVA, 2006). possvel exemplificar essa linha de pensamento dos autores observando o perifrico Brown-out-Detect (BOD) que nada mais que um conversor Analgico / Digital (A/D) reduzido, que tem a funo de monitorar constantemente a tenso de alimentao, reconfigurando o chip MCU se este cair a nveis crticos e mantendo-o assim at que a tenso retorne para um nvel seguro. Para um microcontrolador que no possua BOD ou um mecanismo similar, essas oscilaes de energia so perigosas do ponto de vista da confiana. Ou seja, no h garantia de que a execuo do programa continue do ponto correto logo aps ripples (componente de corrente alternada que incide sobre a corrente contnua ocasionando oscilao na crista da onda) seguidos. O BOD somente muda de nomenclatura entre os MCU citados acima. Por exemplo, no PIC este perifrico chamado de BOD, nos microcontroladores da Motorola denominado Low Voltage Inhibit (LVI) e nos MCUs da National Semiconductor recebe o nome de Brown out (ORDONEZ, PENTEADO e SILVA, 2006). 2.3 Conectividade Muitas vezes um sistema microcontrolado necessita que certos parmetros sejam monitorados e controlados por uma aplicao, em um computador por exemplo. Cabe ao desenvolvedor do sistema decidir por um protocolo de comunicao que se adapte s necessidades esperadas, tornando eficiente a interao do sistema MCU com a aplicao de alto nvel. Uma empresa responsvel pela fabricao de um microcontrolador, alm de se preocupar com os requisitos funcionais em nvel de automao, estabelece tambm quais formas de comunicao certos modelos de chip possuiro. Alguns fatores influenciam na especificao do protocolo de comunicao a ser utilizado em um sistema em desenvolvimento. Rudos, velocidade e custo so fortes candidatos a serem levados em considerao no momento da especificao do protocolo de comunicao. Pereira (2007) contextualiza que a escolha entre os tipos de comunicao um paradoxo da dualidade custo x benefcio. aconselhvel que os desenvolvedores de aplicaes que fazem uso das interfaces de comunicao sempre tenham em mente esta dualidade. A interpretao das vantagens e desvantagens das tcnicas de comunicao define como se comportar o sistema e se a eficincia esperada ser alcanada. 2.4 Principais linguagens de desenvolvimento de Fimwares para MCU As duas linguagens de programao que normalmente so utilizadas ao se desenvolver firmwares para

dispositivos microcontrolados so a linguagem Assembly e a linguagem C. O termo que melhor define o processo de criao de um arquivo em linguagem binria montagem (do ingls assembly). Este termo denominou a linguagem de programao que foi criada para facilitar os trabalhos de codificaes de um programa de computador (CORTELETTI, 2006). As instrues na linguagem Assembly so denominadas de minemnicos. Manzano (2004) cita em seu livro que muito mais fcil olhar para um minemnico e lembrar o que ele faz do que seu equivalente em cdigo binrio ou hexadecimal, legvel apenas pelo microprocessador (CPU) do computador. O Assembly, assim como toda linguagem de programao, necessita de um ambiente de desenvolvimento para que seja possvel criar programas executveis. A todo programa capaz de compilar um cdigo escrito em linguagem de montagem, tornando-o executvel, d-se o nome de Assembler (montador). Ou seja, a ferramenta responsvel por traduzir o programa fonte (escrito em Assembly) para o programa objeto (programa em cdigo de mquina) a ser interpretado por uma unidade central de processamento como visto na Figura 2 (MANZANO, 2004). A linguagem Assembly uma tecnologia favorvel sempre em situaes onde no haja problema quanto ao tempo de desenvolvimento do sistema, que seja necessrio um cdigo executvel rpido, pequeno e onde o ponto crucial do projeto seja o custo do hardware e a eficincia. Lembrando que, no momento do desenvolvimento destes projetos, pontos negativos como a no portabilidade e alto grau de dificuldade em manuteno do programa, tambm devem ser levados em conta (CORTELETTI 2006).

lgica quanto linguagens de alto nvel como PASCAL, COBOL (PEREIRA, 2007). Devido a sua proximidade com o hardware e o Assembly, Fbio Pereira (2007) ainda ressalta que C extremamente eficiente e que de fato, considerada a linguagem de alto nvel mais eficiente atualmente disponvel. C uma linguagem que possui seu processo de transformao de cdigo fonte (gerado pelo programador) em cdigo de mquina totalmente diferente da linguagem Assembly como possvel observar comparando as Figuras 2 e 3. Para que isso seja possvel essa linguagem usa um segundo programa denominado de Compilador. Corteletti (2006) afirma que na maioria dos compiladores o processo realizado em duas etapas, sendo isso transparente ao usurio, fato este observvel na Figura 3.

Figura 3 - Diagrama de programao em linguagem C Fonte - (CORTELETTI, 2006)

Figura 2 - Elementos da programao Assembly Fonte - (CORTELETTI, 2006)

A linguagem de programao C totalmente procedural (aes a serem realizadas) e verstil. Graas a isso, essa linguagem supriu algumas das principais deficincias da linguagem Assembly. Ela foi desenvolvida para ser to eficiente e rpida quanto o Assembly e to estruturada e

Segundo Pereira (2007), a criao de programas para microcontroladores e microprocessadores pode ser uma tarefa bem desgastante medida que aumenta a complexidade da aplicao em desenvolvimento. O fato da linguagem C ser procedural, ou seja, estruturada, proporciona o desenvolvimento de aplicaes complexas de forma mais simples e clara quando comparada com outras linguagens como Assembly. A forma de programao estruturada de C permite tambm que os programas possuam um grau de reaproveitamento de trechos e sub-rotinas j escritas incomparavelmente maiores do que quando se est programando em Assembly. Vrias situaes a favor da linguagem C podem ser observadas ao se desenvolver sistemas usando a mesma. No entanto Corteletti (2006), no dossi tcnico desenvolvido para o Centro de Tecnologia de Mecatrnica do SENAI-RS, ressalta que a desvantagem da linguagem C sobre a linguagem Assembly est no consumo de memria. Como o compilador nem sempre consegue cobrir todas as otimizaes de cdigo possveis, em muitos casos necessrio um acrscimo de instrues no cdigo binrio (arquivo HEX) gerado, consumindo um pouco mais de memria de programa.

Contudo possvel que um programador experiente possa gerar programas em linguagem C, refinando-os posteriormente com otimizaes que tragam um menor custo de memria, algo muito prximo ao que seria gerado se o programa fosse escrito em Assembly e gastando menos tempo do que se fosse totalmente desenvolvido em tal linguagem. A linguagem C pode se tornar problemtica quando trabalhada ignorando certos requisitos de hardware. possvel observar isto com os microcontroladores, j que os mesmos so componentes dotados de pouca capacidade de armazenamento abrigando assim os programadores a trabalharem em seus cdigos otimizando-os ao mximo. Mesmo com um alto grau de otimizao, Fbio Pereira (2007) contextualiza em seu livro que por mais eficientes que sejam uma linguagem de programao e um compilador, dificilmente eles geraro um cdigo to eficiente quanto um bom programador Assembly. A viso de uma programao otimizada com uma lgica favorvel ao entendimento e com um cdigo executvel a propiciar o processamento rpido de instrues pode ser alcanada fundindo C com Assembly. Pereira (2007) ressalta que de maneira geral pode-se dizer que os principais alvos dessa fuso de linguagens so as rotinas de tratamento de interrupo (nos casos da ocorrncia de um elevado nmero de interrupes num curto espao de tempo), rotinas de manipulao de dados como converses binrias/decimal/hexadecimal, dentre outros.

Figura4 - Diagrama de portas do Pic 18F2550 Fonte - (MICROCHIP TECHNOLOGY, 2012)

3.2 Termistor LM35 O LM53 um componente desenvolvido pela National Semiconductor, empresa do ramo tecnolgico especializada no desenvolvimento de Circuitos Integrados (ICs) e semicondutores. Este componente um termistor de preciso que possui um output linear que varia de 10mv para cada grau Celsius registrado de acordo com a temperatura do ambiente em que ele se encontrar, independente da alimentao ser simples ou simtrica. Seu input para alimentao qualquer valor entre 4 e 30Vdcc tendo tambm para um dos seus trs pinos o valor GND como ilustrado na Figura 5.

3 DEFINIO DAS TECNOLOGIAS


Esta seo apresentar definies sobre as principais tecnologias aplicadas na pesquisa que demonstrou a interao entre um microcontrolador e um sistema de auto nvel de processamento. 3.1 Microcontrolador PIC 18F2550 O microcontrolador usado no sistema que compe o estudo de caso apresentado neste trabalho foi um PIC com arquitetura de 8bits, denominado PIC 18F2550. Esses MCUs so de fabricao exclusiva da empresa Microchip Technology (2012) que os subdividem em outras famlias por ordem crescente de desempenho e dimenso. O modelo PIC18F2550, analisado na Figura 4, um microcontrolador de 28 pinos pertencente famlia PIC 18. Dentre as inmeras caractersticas deste MCU as que determinaram sua aplicao neste sistema foram a presena de 24 vias I/O, possibilidade de se trabalhar com uma velocidade de at 48 Mhz o que deu suporte a comunicao USB 2.0 em alta velocidade, resoluo mxima de 10 bits para converso A/D do sinal obtido pelo termistor LM35DZ, baixa faixa de voltagem para tornar possvel a ativao do MCU (entre 2 e 5.5 volts) e baixo custo de aquisio.

Figura 5 - Diagrama de conexo do LM35DZ Fonte - (NATIONAL SEMICONDUCTOR, 2012)

Ao se trabalhar com o LM35 deve-se estar ciente das suas limitaes tcnicas bem como das suas facilidades e vantagens. Uma das principais vantagens que torna esse termistor popular o fato de ser dispensvel qualquer forma de calibrao externa visando tornar preciso os valores referentes temperatura. 3.3 O barramento USB do PIC e sua biblioteca de comunicao externa O desenvolvimento de dispositivos microcontrolados utilizando o protocolo de comunicao USB tornou-se uma possibilidade concreta primeiramente com os MCU da famlia PIC18, de 8 bits, da Microchip Technology (2012). Para tornar possvel a comunicao USB entre um microcontrolador PIC e uma aplicao rodando, por exemplo, em um computador pessoal a empresa desenvolvedora desse MCU disponibiliza para os desenvolvedores alm de documentaes envolvendo esse protocolo, arquivos de sistema necessrios para aplicar essa tecnologia. O pacote que a Microchip

Technology fornece para os desenvolvedores tornarem possvel a comunicao com o sistema operacional Windows atravs do barramento USB composto por seis arquivos, onde o mchpusb.sys, o picusb.inf e o arquivo mchpapi.dll so de grande importncia para o desenvolvedor. O picusb.inf o arquivo que ir conter as configuraes referentes ao dispositivo USB de destino (neste caso a aplicao microcontrolada) e tambm informaes que sero visualizadas quando o dispositivo for reconhecido pelo sistema operacional. O mchpusb.sys o driver de reconhecimento do microcontrolador que possui a tecnologia USB inserida em sua arquitetura. No momento que o sistema microcontrolado conectado ao computador requisitado esse driver. Se as configuraes definidas no arquivo picusb.inf estiverem compatveis com as encontradas no firmware do microcontrolador o driver reconhecido com sucesso pelo sistema operacional. O arquivo mpusbapi.dll uma biblioteca dinmica que possui as sete funes necessrias para estabelecer um canal de comunicao com o dispositivo microcontrolado. O diagrama ilustrado na Figura 8 composto por essas sete funes.

Fonte de dados: Como esta proposta visa tronar possvel a interao entre duas arquiteturas computacionais distintas um segundo dispositivo de arquitetura de baixo nvel de processamento foi desenvolvido. Desta forma dados de interao puderam ser coletados. O dado em questo a temperatura interna do dispositivo desenvolvido. Levantamento dos dados: Parte dos dados ser coletada do sistema microcontrolado. Em seguida novos dados sero coletados atravs de uma nova fonte de medio Amostra: Foram coletados do sistema dados trmicos entre um determinado intervalo onde estes serviro de referncia ao se comparar com uma segunda fonte de medio.

4.2 O cenrio de teste Para tornar possvel o processo de interao entre um aplicativo de alto nvel, executado em PC, e um dispositivo microcontrolado foi necessrio desenvolver tanto o aplicativo quanto o dispositivo. Ao equipamento microcontrolado deu-se o nome de Cpula Trmica e a aplicao a ser executada em um microcomputador denominou-se TermoPic 1.0. 4.2.1 A cpula trmica A cpula ou estufa trmica um ambiente composto de material plstico por esse possuir uma relevante capacidade de isolamento trmico e por proporcionar uma transparncia favorvel visibilidade interna assim como o acrlico, material no qual tambm poderia ter sido utilizado na montagem deste ambiente. A cpula ter sua temperatura interna monitorada constantemente a partir do momento que o sistema a qual ela est conectada for ativado. A Figura 6 alm de ilustrar a cpula, localizada a direita na imagem, exibe tambm, na parte central da mesma, a sua Unidade Central de Processamento e a esquerda os cabos de alimentao do sistema de aquecimento e resfriamento assim como o cabo de dados USB para tomar possvel o controle e/ou monitoramento do ambiente atravs de um computador pessoal, por exemplo.

Figura 8 - Funes para implementao do protocolo USB Fonte - (MICROCHIP TECHNOLOGY, 2012)

4 PROPOSTA DE INTERAO ENTRE MICROCONTROLADOR E SISTEMA DE ALTO NVEL DE PROCESSAMENTO


Nesta seo, sero descritas informaes sobre a proposta de interao entre o sistema microcontrolado e o de alto nvel de processamento assim como os prprios pontos da proposta como: informaes sobre a pesquisa, o cenrio de teste e a analise e apresentao dos dados. 4.1 A pesquisa Podemos afirmar que a natureza dessa pesquisa aplicada, por que dirigida a resoluo de problemas especficos, no caso desta proposta, ela tem por objetivo interagir dois nveis distintos de arquitetura e robustez computacional.

Figura 6 - Cpula (estufa) trmica conectada a sua Unidade Central de Processamento

a Unidade Central de Processamento da Cpula (UCPC) que, utilizando o microcontrolador PIC 18F2550, controla todas as funcionalidades do ambiente como, por exemplo, a abertura ou no do duto de ventilao e exausto para que conseqentemente seja possvel o ligar ou o desligar do sistema de resfriamento ou de aquecimento. Alm de funcionalidades de controle de responsabilidade da UCPC exibir em uma tela de LCD 2x16 (2 linha e 16 colunas), localizada na rea frontal da UCPC, resultados menos complexos obtidos no decorrer do funcionamento do sistema. Por fim, a UCPC que, utilizando a comunicao USB 2.0, faz a interface de comunicao entre um dispositivo com alto nvel de processamento, como um notebook, e a Cpula, possibilitando assim, o controle e/ ou monitoramento atravs de um aplicativo (instalado neste dispositivo com alto nvel de processamento), responsvel por gerar uma maior quantidade de informaes e possibilitar a reconfigurao do sistema em tempo real. possvel observar na Figura 7 uma ilustrao mais detalhada da cpula trmica. Para os quatro pontos citados na figura tm-se no ponto 1 o termistor LM35DZ, o ponto 2 as lmpadas incandescentes que representam o sistema de aquecimento do sistema, no ponto 3 os dois coolers onde o inferior promove a ventilao, o superior a exausto e ambos, em conjunto, correspondem ao sistema de resfriamento do sistema e no ponto 4 os motores de Corrente Contnua (CC) responsveis pelo bloquear e desbloquear dos dutos de ventilao e exausto.

Arquivos com extenso *.dll so bibliotecas dinmicas de compartilhamento desenvolvidas pela Microsoft especificamente para os Sistema Operacionais Microsoft Windows. O arquivo mpusbapi.dll passa agora a ser visto pela JVM como uma biblioteca nativa da linguagem, tornando possvel o uso das funes do protocolo USB. O TermoPic 1.0 foi desenvolvido de uma forma que fosse possvel controlar e/ou monitorar todos os eventos que venham a correr no decorrer do funcionamento do sistema. A Figura 9 ilustra a interface grfica do aplicativo onde a mesma composta sua direita pelos indicadores de estabilidade dos componentes USB, PIC e S.T. (Sensor Trmico). Ainda nesta rea encontram-se os grficos de variao trmica, de histrico trmico e a definio do perodo de atualizao desses grficos, em milissegundos. Na parte central do aplicativo tem-se a estrutura grfica que representa os dutos de ar e a exibio dos valores do intervalo trmico que foram definidos no painel de controle. Na rea esquerda esto todos os componentes que exibem valores referentes temperatura, como por exemplo, a escala trmica.

Figura 9 - Aplicao TemoPic 1.0

Figura 7 - Cpula (estufa) trmica

4.2.2 A aplicao de alto nvel A linguagem de programao utilizada no desenvolvimento da aplicao de alto nvel, denominada de TermoPic 1.0, foi a linguagem Java. Para a Mquina Virtual Java (JVM) qualquer linguagem que no seja Java considerada uma linguagem nativa. As tecnologias que esta linguagem prov, visando possibilitar ao desenvolvedor interaes com outras linguagens, so as denominadas Java Native Access (JNA) e Java Native Interface (JNI) (ORACLE, 2012). Neste projeto optou-se pela tecnologia JNA por ela ser uma evoluo do JNI. Ao aplicar esta tecnologia foi possvel carregar o arquivo mpusbapi.dll dentro do cdigo Java que estrutura a aplicao de alto nvel.

4.2.3 Anlise e apresentao dos dados A analise de eficincia do sistema foi realizada tendo como parmetro a comparao entre os dados oriundos do sistema e aqueles coletados por uma segunda fonte de medio. Com o termistor devidamente montado e com o sistema em funcionamento foi possvel observar a relao conjunta entre o sensor e o MCU. Para verificar o processo de captao, atualizao e conseqentemente de preciso trmica do sistema em relao outra fonte de medio trmica, passou-se a monitorar a temperatura interna da cpula com um termmetro de mercrio. O mesmo ambiente e os mesmos intervalos de tenso foram mantidos de forma a tornar possvel uma comparao entre os dados j coletados e os que ainda seriam colhidos. O envio dos valores analgicos emitidos pelo LM35DZ, em milivolts (mv), e a converso A/D, para sua respectiva temperatura em graus Celsius (C) pelo microcontrolador foi transcrita na Tabela 1, entre um intervalo de teste que vai de 24,0C a 27,0C.

Tenso (mv) 239 244 249 254 259 263 268 273

C Mercrio 24,0 24,5 25,0 25,0 25,5 26,0 26,5 27,0

C LM35DZ 24,01 24,50 24,99 25,48 25,97 26,46 26,95 27,44

C Sistema 24 24 25 25 26 26 27 27

sistema microcontrolado pode ser utilizada como parte de outros sistemas mais complexos ou no. Em relao linguagem de alto nvel Java, utilizada no desenvolvimento do aplicativo TermoPic 1.0, a tcnica de acesso a linguagens nativas (JNA) reforou ainda mais o conceito de linguagem flexvel e adaptvel que a caracterizou. Outro benefcio adquirido referente linguagem de alto nvel Java foi possibilidade de se observar na prtica a importncia do uso de determinados padres de projetos. Enfim, correto afirmar que as vantagens que foram adquiridas com o trmino deste projeto sero certamente reaplicadas em projetos futuros.

Tabela1 - Comparao entre C no Mercrio, C no LM35DZ e C no Sistema

REFERNCIAS
CORTELETTI, Daniel. Introduo a Programao de Microcontroladores Microchip Pic. 2006. [Disponvel on-line: http://www.sbrt.ibict.br/dossietecnico/downloadsDT/NTE=] Acesso em: 09 Mar. 2012. MANZANO, Jos Augusto dos Santos N. G.. Fundamentos em Programao Assembly Para computadores IBM: PC a partir dos microprocessadores Intel 8086/8088. 2 ed. So Paulo: rica Editora, 2004. MATIC, Nebojsa; ANDRIC, Dragan. Ebook - The Pic Microcontroller: The Book 1 2007. Editora. [Disponvel on-line: http://ebookbrowse.com/gdoc.php?id=186117780&url= 4dcb4aefcf738d76b057d4626b697196] Acesso em: 8 Mar. 2012. MICROCHIP TECHNOLOGY INC. 2011. [Disponvel on-line: http://www.microchip.com] Acesso em: 01 Mar. 2012. NATIONAL SEMICONDUCTOR. 2011. [Disponvel on-line: http://www.ti.com/lit/ds/symlink/lm35.pdf] Acesso em: 01 Mar. 2012. ORDONEZ, Edward David Moreno; PENTEADO, Cesar Giacomini; SILVA, Alexandre Csar Rodrigues da. Microcontroladores e FPGAs: Aplicao e Automao. So Paulo: Novatec Editora, 2006. PEREIRA, Fbio. Microcontroladores PIC: Programao em C 6 ed. So Paulo: rica Editora, 2007. SOUSA, David Jos de. Desbravando o PIC 6 ed. So Paulo: Editora rica, 2003. ORACLE. 2011[Disponvel on-line: http://www.sun.com] Acesso em: 29 Fev. 2012. TORRES, Gabriel. Hardwares: Curso completo 4 ed. Rio de Janeiro: Axcel Books do Brasil Editora, 2001.

Os requisitos funcionais do sistema (o estudo de caso) definem que valores fracionados da temperatura so irrelevantes, dessa forma foi definido um padro de arredondamento onde valores que possuem partes fracionadas acima de 0,50 dcimos devero ter sua parte inteira somada a mais um (+1). Para valores iguais ou abaixo de 0,50 dcimos deve-se ignorar a parte fracionada e trabalhar somente com a parte inteira. Como exemplo, temos 25,48C, o quarto valor da escala de temperatura listado na Tabela 1, que para o sistema equivale a exatamente 25C visto que sua parte fracionada menor que 0,50 dcimos. J para os valores 25,97C e 26,95C, da mesma tabela, o sistema interpretar como sendo 26C e 27C, respectivamente, j que 0,97 e 0,95 so fraes maiores que 0,50.

5 CONCLUSO
Com base nos dados obtidos e nas analises efetuadas, pode-se concluir que a interao entre a Cpula Trmica, sistema microcontrolado utilizado nesta pesquisa, comportou-se de forma positiva ao interagir com o aplicativo TermoPic, este instalado em um microcomputador. Quando comparado os dados trmicos obtidos pelo sistema com dados oriundos de outro sistema de medio ficou claro o potencial da interao entre nveis distintos de arquiteturas computacionais. As tecnologias estudadas neste trabalho no se resumem s funcionalidades na qual elas foram empregadas. Este sem sombra de dvida o mais importante dos benefcios adquiridos com a finalizao do projeto. Como exemplo cita-se o processo de monitoramento trmico da cpula, onde utilizando de tcnicas semelhantes torna-se possvel monitorar inmeros ambientes e objetos como motores automotivos e industriais, radiadores, transformadores de alta potncia, etc. O mesmo processo de converso A/D pode ser utilizado em um sistema que monitora a quantidade de cargas restantes em baterias. Para o uso do protocolo USB 2.0 as funcionalidades e possibilidades so diversas. A mesma lgica realizada para tornar possvel a interao entre o aplicativo e o

You might also like