• Nenhum resultado encontrado

Desenvolvimento de software

No documento 2007.1Ortega TCC (páginas 45-57)

5.2 Arquitetura do Projeto

5.2.2 Desenvolvimento de software

Para melhor organiza¸c˜ao, o software foi dividido nos seguintes pacotes: • gui: Todas as classes de interface com o usu´ario, ou janelas.

• control: Todas as classes de controle. Englobando controle do ADC, controle do motor de passo e a interface com o dispositivo USB.

• util: Todas as classes de apoio como gera¸c˜ao de gr´aficos, convers˜oes num´ericas, convers˜oes de tipo, e a abstra¸c˜ao dos dados.

• observator: Interface para implementa¸c˜ao do padr˜ao Observer

5.2.2.1 Configura¸c˜ao do FT232R

O chip FT232R foi configurado utilizando a fun¸c˜aoSetBitMode() no modo BitBang: o modo BitBang pode ser ass´ıncrono ou s´ıncrono e como foi citado anteriormente permitem a configura¸c˜ao dos pinos como pinos de I/O.

Nesse modo, a taxa te transferˆencia do dispositivo ´e de dezesseis vezes o valor con- figurado como baudrate. Como exemplo, caso tenhamos o baudrate configurado para 9600 Baud poderemos transmitir a uma taxa de (9600X16) = 153600 bytes por segundo. Para essa configura¸c˜ao ´e utilizado o comando SetBaundRate(). Podemos tamb´em utilizar valores n˜ao padronizados para o baudrate utilizando a fun¸c˜ao SetDivisor. Esta permite fixar o baudrate a partir do rel´ogio interno do m´odulo (48 MHz) divido por 16 (3 MHz). O divisor simplesmente divide essa freq¨uˆencia pelo divisor escolhido.

´

E importante observar que, cada escrita e leitura realizadas nos buffers atrav´es das respectivas fun¸c˜oes Read(), respons´avel pela leitura do buffer, e Write(), respons´avel pela escrita no buffer, obedece valores de tempo pr´e-configurados definidos atrav´es da fun¸c˜ao SetTimeouts() expressa no quadro abaixo:

Figura 26: Fun¸c˜ao SetTimeout()

5.2 Arquitetura do Projeto 45

1. ftHandle: ´e a instancia do dispositivo USB.

1. dwReadTimeout: ´e o tempo em ms entre uma opera¸c˜ao e outra de leitura do Buffer.

1. dwWriteTimeout: ´e o tempo em ms entre uma opera¸c˜ao e outra de escrita do Buffer.

Isso significa que uso das fun¸c˜oes que fazem uso do barramento USB (leitura e escrita) devem obedecer a essas condi¸c˜oes cujo valor m´ınimo definido em (FTDI, 2007) ´e de 2ms. Por esta raz˜ao, para que seja logrado a taxa m´axima de transferˆencia, evitando o delay das opera¸c˜oes citadas, deve se escrever nos buffers mais de um byte em cada uma das opera¸c˜oes de escrita ou leitura.

Portanto, deve-se considerar um dos pontos mais importantes deste projeto, a rela¸c˜ao que condiz entre a taxa de aquisi¸c˜ao e a escolha do modo BitBang ass´ıncrono ou s´ıncrono. Durante a etapa de estudo e implementa¸c˜ao de pequenos projetos, foi utilizado o modo ass´ıncrono como configura¸c˜ao para o chip USB FT232R. Neste modo, as opera¸c˜oes de escrita e leitura do barramento USB podem ser realizadas de forma independente. Apesar de satisfazer os requisitos do sistema atual, sendo realizadas em m´edia 3 aquisi¸c˜oes por segundo, esse modo n˜ao ´e o ideal quando deseja-se realizar opera¸c˜oes de escrita e leitura em seq¨uencia. Esse tipo de opera¸c˜ao ´e requisitado pelo ADC, que para cada ciclo de clock (transi¸c˜ao de subida e descida) envia um bit do valor convertido (data out - conforme pode ser visto na figura 22), necessitando, portanto, de a cada duas opera¸c˜ao de escrita (considerando a escrita de apenas um byte no buffer) uma opera¸c˜ao de leitura ou, cor- respondentemente, uma opera¸c˜ao de escrita (enviando dois bytes) e uma de leitura(lendo um byte). Como j´a foi especificado anteriormente, ´e necess´ario um tempo m´ınimo de 2 ms entre elas, o que de fato representa um delay significante.

Essa opera¸c˜ao ´e maximizada utilizando o modo de opera¸c˜ao s´ıncrono, que para cada comando de escrita, ´e realizado a leitura interna do dado anterior disposto nos pinos. Isso significa que ao dispor n bytes no barramento USB para escrita, n bytes ser˜ao lidos e dispostos no buffer de leitura, sem a necessidade de executar a instru¸c˜ao Read().

Portanto, a rotina do ADC em quest˜ao ´e maximizada utilizando esse modo. Para rea- lizar uma aquisi¸c˜ao ´e necess´ario um comando de escrita com envio de 21 bytes. Podemos ent˜ao, enviar uma palavra n vezes 21, sendo n o n´umero de aquisi¸c˜oes a efetuar, e em seguida realizar a leitura com o mesmo tamanho, selecionando os bytes de interesse.

5.2 Arquitetura do Projeto 46

5.2.2.2 Rotinas principais

O software foi desenvolvido em Java utilizando a IDE Netbeans 6.0. De acordo com os requisitos do sistema, dentre as rotinas estabelecidas citamos as seguintes principais:

• (1) Calibra¸c˜ao do espectrˆometro.

• (2) Encontrar a ordem zero

• (3) Tra¸car o espectro da lˆampada.

• (4) Tra¸car o espectro da amostra.

• (5) Gerar gr´aficos com os resultados das espectros adquiridos.

Calibra¸c˜ao do espectrˆometro: Normalmente, essa rotina ´e comum aos espectrˆometros. Entretanto, de acordo com o projeto deste espectrˆometro a rotina de calibra¸c˜ao do apa- relho, que consiste na determina¸c˜ao da rela¸c˜ao entre n´umero de passos do motor de passo e o comprimento de onda correspondente, n˜ao se faz necess´ario, conforme visto na se¸c˜ao de controle do movimento da rede de difra¸c˜ao, uma vez que esta ´e estabelecida de acordo a geometria dos componentes envolvidos.

Ordem zero: A rotina de encontrar a ordem zero ´e primordial as rotinas de tra¸car o espectro da lˆampada e tra¸car o espectro da amostra. Objetiva encontrar o ponto inicial do posicionamento do bra¸co, ou a posi¸c˜ao de maior energia. Consiste nas etapas de acordo com o que se segue:

Na c´elula fotoac´ustica ´e depositado como amostra um corpo negro, pois em teoria absorve todos os comprimentos de onda conforme cita Fonseca (2002). Em qualquer posi¸c˜ao que esteja o bra¸co, este ir´a se deslocar at´e alcan¸car o lado onde est´a localizado o motor (vide figura 16 ). Devido ao circuito de final de curso, quando o bra¸co alcan¸car a posi¸c˜ao limite imediatamente o movimento ser´a interrompido e iniciar´a a movimenta¸c˜ao para o lado oposto em at´e 100 passos. Para cada passo concretizado ´e realizado n leituras do canal do AD (com n estabelecido pelo usu´ario) e calculado a m´edia das aquisi¸c˜oes para essa posi¸c˜ao. O valor de 100 passos ´e emp´ırico, uma vez que a posi¸c˜ao da ordem zero ´e fixa para a configura¸c˜ao do espectrˆometro em quest˜ao e se encontra dentro desse intervalo. A posi¸c˜ao da ordem zero ser´a dado pela posi¸c˜ao na qual for encontrado o maior valor m´edio

5.2 Arquitetura do Projeto 47

Figura 27: Software. Fluxograma da rotina de ordem zero

adquirido em cada passo, resultando por fim, no deslocamento do bra¸co at´e essa posi¸c˜ao, denominada posi¸c˜ao zero. O fluxograma da figura 27 ilustra esse procedimento.

Tra¸car o espectro da lˆampada: Objetiva medir a intensidade do espectro emitido pela lˆampada conforme varia¸c˜ao do comprimento de onda. O espectro da lˆampada ´e o padr˜ao, a partir do qual todas as medidas ser˜ao baseadas. Essa medida tamb´em ´e realizada tendo um corpo negro como amostra. Consiste basicamente em, a partir da posi¸c˜ao ordem zero, realizar uma serie de aquisi¸c˜oes at´e encontrar o limite de final de curso, onde um gr´afico ´e plotado explorando a rela¸c˜ao comprimento de onda versus intensidade absorvida. Um arquivo com os dados ´e salvo e o bra¸co retorna a posi¸c˜ao de ordem zero. Na sess˜ao de resultados, ser´a exibido o gr´afico correspondente.

5.2 Arquitetura do Projeto 48

Tra¸car o espectro da amostra: Objetiva medir a intensidade do espectro ab- sorvido pela amostra conforme varia¸c˜ao do comprimento de onda. Basicamente, consiste no mesmo procedimento anterior, entretanto a an´alise ´e feita com a amostra de interesse. Nesta rotina o usu´ario poder´a ter a op¸c˜ao de selecionar o comprimento de onda de inter- esse e escolher o n´umero de pontos a serem analisados, respeitando o limite m´aximo de pontos entre os comprimentos de onda.

As figuras 28 e 29 ilustram algumas das funcionalidades. A figura 28 ilustra a entrada onde ´e definido a configura¸c˜ao geom´etrica do espectrˆometro, necess´ario para o c´alculo do comprimento de onda correspondente a posi¸c˜ao do motor de passo. J´a a figura 29 exibe os parˆametros de entrada para a rotina de localizar a ordem zero, sendo poss´ıvel ao usu´ario escolher o canal e determinar o n´umero de aquisi¸c˜oes em cada passo.

5.2 Arquitetura do Projeto 49

5.2 Arquitetura do Projeto 50

5.2.3

Resultados

Esta se¸c˜ao apresenta os resultados obtidos a partir das altera¸c˜oes propostas para o aparelho em quest˜ao e dos requisitos analisados.

5.2.3.1 Testes de linearidade do sistema de aquisi¸c˜ao

O sinal gerado pela amostra inserida na c´elula fotoac´ustica (sinal fotoac´ustico) foi verificado experimentalmente no oscilosc´opio. Feito isso, tamb´em foram realizados testes para verificar o comportamento da parte eletrˆonica destinada ao processamento do sinal fotoac´ustico.

Testes de linearidade no sistema de aquisi¸c˜ao mostraram uma excelente linearidade conforme ilustra a figura 30. Esses testes consistiram da inje¸c˜ao de tens˜oes conhecidas no n´o de circuito equivalente a sa´ıda do lock-in e a sua convers˜ao resultante.

Figura 30: Gr´afico: verifica¸c˜ao de linearidade do sistema de aquisi¸c˜ao

O passo seguinte consiste na execu¸c˜ao das rotinas principais do programa.

5.2.3.2 Testes de rotinas principais

5.2 Arquitetura do Projeto 51

Figura 31: Gr´afico: Localiza¸c˜ao de ordem zero

Salientamos que a rotina de ordem zero nesse caso consistia na varredura total entre os finais de curso, ao contr´ario do exposto no se¸c˜ao 5.2.2 Foi devido a esses testes que se estabeleceu a nova rotina de localiza¸c˜ao da ordem zero conforme explicitado na referida se¸c˜ao.

Esse teste foi realizado com um sensor ´otico sem o uso do lock-in, como previsto inicialmente, em raz˜ao das aquisi¸c˜oes anteriores com a c´elula fotoac´ustisca n˜ao mostrar valores em conformidade com o esperado. Com efeito, segundo Denis (2007) autor do projeto do espectrˆometro, este modo de funcionamento ainda est´a em desenvolvimento.

Na an´alise da figura 31, o sistema localizou a ordem zero como sendo localizada no passo 355, pois esse tem a maior intensidade entre todos os pontos adquiridos. No entanto, o valor correto estaria no outro extremo do gr´afico, entre os pontos 448 e 460. A seta no gr´afico aponta o local aproximado. Acontece que o ganho no sistema de amplifica¸c˜ao do sensor provocou a sua satura¸c˜ao de modo que foi captado um valor um pouco maior que no local correto. A solu¸c˜ao neste caso ´e diminuir o ganho do amplificador ou permitir menos passagem de luz atrav´es da fenda ´otica. Por fim, omitimos propositadamente os valores iniciais no gr´afico a fim melhor detalha-lo. No gr´afico seguinte (o espectro da lˆampada) esses valores poder˜ao ser visualizados.

5.2 Arquitetura do Projeto 52

Figura 32: Gr´afico: espectro da lˆampada

ordem zero anteriormente citado. Logo, com as devidas considera¸c˜oes explicitadas, fica constatado o funcionamento adequado do sistema.

Por fim, o ideal seria uma compara¸c˜ao entre os resultados obtidos com o sistema an- terior a fim de verificar a conformidade. Entretanto o escopo desse trabalho, ampliou o esperado de modo que n˜ao houve tempo h´abil para o mesmo. Ademais, exigiria algu- mas modifica¸c˜oes no programa do (DENIS, 2007), uma vez que, o circuito eletrˆonico foi modificado.

5.2.3.3 Testes de potˆencia do circuito

Um dos fatores de alta importˆancia na confec¸c˜ao do circuito eletrˆonico era saber se o barramento USB suportaria alimentar todos os CIs envolvidos. Foi realizado um teste com um amper´ımetro para verfica¸c˜ao do consumo total de corrente com o circuito em standby e em funcionamento. O resultado desse teste mostrou que em standby o consumo ficava entre 74 a 75 mA, enquanto que com o sistema em funcionamento esse valor fica entre 84 a 85 mA, demostrando a viabilidade, uma vez que o barramento USB pode fornecer at´e 100mA.

53

6

Conclus˜oes e Perspectivas

O projeto de automatiza¸c˜ao do espectrˆometro em quest˜ao utilizando a interface USB teve por principio o dimensionamento adequado dos componentes de modo a otimizar a sua utiliza¸c˜ao. Os estudos te´oricos e an´alise dos chips citados propiciaram o alcance deste objetivo. Foi em raz˜ao disto que se optou por utilizar o chip FT23R ao inv´es do micro- crontrolador Pic18F4550, uma vez que cumpria com todos os requisitos da especifica¸c˜ao enquanto que o microcontrolador PIC seria subutilizado. J´a o ATtiny foi desconsiderado uma vez que o firmware ´e implementado em software, de modo que isso poderia aumentar a probabilidade de mal funcionamento.

Enfatizamos a versatilidade da linguagem Java, normalmente utilizada para ambiente web, sendo neste trabalho usada para instrumenta¸c˜ao eletrˆonica. Como melhoria para o projeto, a freq¨uˆencia de rota¸c˜ao do chopper poderia ser regulada e estabilizada por um sistema de controle ativo e retroalimentado de modo a se obter a taxa de rota¸c˜ao desejada, ou a possibilidade de permitir que o pr´oprio sistema encontrasse um valor adequado. At- ualmente, essa fun¸c˜ao ainda ´e deixado a cargo do usu´ario. Com a eletrˆonica desenvolvida e a transforma¸c˜ao do c´odigo em uma biblioteca, podemos imaginar tamb´em a concep¸c˜ao de um kit espec´ıfico para controle de motor de passo e ADC.

O desenvolvimento desse trabalho implicou em leitura, levantamento bibliogr´afico, experimenta¸c˜ao e an´alise, tanto no quesito interface hardware-software quanto no aspecto eletrˆonico. Esses estudos foram essenciais para o desenvolvimento deste projeto cuja importˆancia acadˆemica se sobressai considerando que espectrˆometros utilizando interface USB ainda s˜ao poucos no mercado e de elevado valor final. Al´em disso, ressalta-se que o dom´ınio e a busca da proficiˆencia sobre a tecnologia USB permitir´a sua (re)utiliza¸c˜ao em v´arios projetos que envolvam sua aplica¸c˜ao, especialmente nos projetos de instrumenta¸c˜ao eletrˆonica. Espera-se que o uso dessa tecnologia agregado ao espectrˆometro possa ser de utilidade especialmente para comunidade acadˆemica da UEFS.

6 Conclus˜oes e Perspectivas 54

55

Referˆencias

AXELSON, J. USB complete. Everything You Need to Develop Custom USB Peripherals. [S.l.]: Madison, 2005.

CESKO, I. AVR309: USB to UART Protocol Converter. [S.l.]: ATMEL, 2006. CESKO, I. AVR309:Software Universal Serial Bus (USB). [S.l.], 2006.

DAWSON, M. et al. Creating predictable-performance Java applications in real time. [S.l.], 2007.

DENIS, D. Projeto e constru¸c˜ao de um espectrˆometro de fotoac´ustica. [S.l.], 2007. ELMER, P. Whats is a lock in Amplifier. [S.l.], 2000.

FEITELSON, J.; MAUZERALL, D. Photoacoustic evaluation of volume and entropy changes in energy and electron transfer. triplet state porphyrin with oxigen and naphthoquinone. [S.l.], 1996.

FONSECA, J. R. L. Projeto e constru¸c˜ao de um espectrˆometro de fotoac´ustica: aplica¸c˜ao para determina¸c˜ao da energia de laser pulsado. Rio Claro – SP: UNESP, 2002.

FTDI. AN232R-01 BitBang modes for the FT232R. www.ftdichip.com, 2006.

FTDI. FT232R USB UART I.C datasheet. 10 2007. Dispon´ıvel em: www.ftdichip.com. IBM. Creating predictable-performance Java applications in real time. IBM, 2007. Dispon´ıvel em: <ibm.com/software/webservers/realtime>.

JAMES, J. F. Spectrograph Design Fundamentals. [S.l.]: Cambridge University Press, 2007.

LIANG, S. Java Native Interface: Programmer’s Guide and Specification. SUN, 2005. [On- line; acessado 15-outubro-2007]. Dispon´ıvel em: <http://java.sun.com/docs/books/jni>. LINDHOLM, T.; YELLIN, F. The JavaTM Virtual Machine Specifica-

tion. SUN, 2005. [Online; acessado 18-Outubro 2007]. Dispon´ıvel em:

<http://java.sun.com/docs/books/jvms/second edition/html/VMSpecTOC.doc.html>. MAGALH˜aES, E. C. S. Propriedades ´Opticas de Filmes Finos de Di´oxido de Estanho Puro e Dopados com Fl´uor. Disserta¸c˜ao (Mestrado) — UFBA, 2006.

MICROCHIP. PIC18F2455/2550/4455/4550 Data Sheet. Microchip Tech- nology Inc., 2008. [Online; acessado 9-agosto-2007]. Dispon´ıvel em: <http://ww1.microchip.com/downloads/en/DeviceDoc/39760c.pdf>.

Referˆencias 56

NAKAMURA, O. O que ´e fotoac´ustica? 2000. [Online; acessado 5-abril-2007]. Dispon´ıvel em: <http://www.fis.ufba.br/ ossamu/Pesquisa/Fotoacustica/Fotoacustica.html>. SUN. 10 2007. Dispon´ıvel em: www.sun.com.

TATO. Industria de eletrˆonica. 2007. Dispon´ıvel em: <http://www.tato.ind.br>. TEXAS. TLC1542C, TLC1542I, TLC1542M, 10-BIT Analog to digital converters with serial control and 11 analog inputs. Texas Instruments Inc., 2008. [Online; acessado 10-outubro-2007]. Dispon´ıvel em: <http://www.ti.com>.

VINHA, C. A. Aplica¸c˜oes da espectroscopia fotoac´ustica e ressonˆancia paramagn´etica eletrˆonica a materiais biol´ogicos. Tese (Doutorado) — Unicamp, 1998.

No documento 2007.1Ortega TCC (páginas 45-57)

Documentos relacionados