tese_controle_termico.pdf

79
i SISTEMA DE MEDIÇÃO E CONTROLE DE TEMPERATURA APLICADO EM UM TÚNEL DE VENTO Sandro Santoro Rezende “PROJETO SUBMETIDO AO CORPO DOCENTE DO DEPARTAMENTO DE ENGENHARIA ELÉTRICA DA ESCOLA POLITÉCNICA DA UNIVERSIDADE FEDERAL DO RIO DE JANEIRO COMO PARTE DOS REQUISITOS NECESSÁRIOS PARA A OBTENÇÃO DO GRAU DE ENGENHEIRO ELETRICISTA” Aprovado por: ______________________________ Prof. José Luiz da Silva Neto, Ph.D. (Orientador) ______________________________ Prof. Luís Guilherme Barbosa Rolim, Ph.D. ______________________________ Prof. Cesar Cosenza de Carvalho, D.Sc. ______________________________ Juliana Braga Rodrigues Loureiro, M. Sc. RIO DE JANEIRO, RJ – BRASIL MARÇO DE 2007

Upload: jose-luis-oliveira

Post on 17-Dec-2015

225 views

Category:

Documents


1 download

TRANSCRIPT

  • iSISTEMA DE MEDIO E CONTROLE DE TEMPERATURAAPLICADO EM UM TNEL DE VENTO

    Sandro Santoro Rezende

    PROJETO SUBMETIDO AO CORPO DOCENTE DO DEPARTAMENTO DE ENGENHARIAELTRICA DA ESCOLA POLITCNICA DA UNIVERSIDADE FEDERAL DO RIO DEJANEIRO COMO PARTE DOS REQUISITOS NECESSRIOS PARA A OBTENO DOGRAU DE ENGENHEIRO ELETRICISTA

    Aprovado por:

    ______________________________

    Prof. Jos Luiz da Silva Neto, Ph.D.(Orientador)

    ______________________________

    Prof. Lus Guilherme Barbosa Rolim, Ph.D.

    ______________________________

    Prof. Cesar Cosenza de Carvalho, D.Sc.

    ______________________________

    Juliana Braga Rodrigues Loureiro, M. Sc.

    RIO DE JANEIRO, RJ BRASILMARO DE 2007

  • ii

    Resumo

    Em aplicaes industriais e laboratoriais um fator que s vezes muito importante a temperatura, seja para promover reaes qumicas, medies de outras grandezas, etc...A temperatura tem que ser no apenas conhecida, mas tambm estvel.

    O Laboratrio de Mecnica de Turbulncia da UFRJ adquiriu um equipamentobaseado em tnel de vento aquecido e sistema de controle de temperatura, porm estesistema no estava funcionando dentro das exigncias do laboratrio e no havia muitainformao sobre o funcionamento do equipamento. Observou-se experimentalmente queeste trabalhava em um regime tipo ligado-desligado, isto , caso a temperatura estivesseabaixo da especificada ele acionava o aquecimento do ar no tnel. O problema que devidoa constante de tempo trmica ser muito elevada, esse sistema no fornece uma sadaestvel.

    Este projeto se prope a desenvolver um sistema de controle baseado em um sinalPWM utilizando o controle PI (proporcional-integrador) de forma a obter uma sada detemperatura do tnel de vento controlada, isto , com baixa oscilao de temperatura e debaixo custo de forma a atingir as exigncias do laboratrio. O sinal PWM permite umcontrole eficiente do aquecimento atuando em freqncia maior que a da rede e a tcnica PIpermite que o sistema se ajuste a cada instante para garantir a temperatura desejada. Estesistema utilizado em conjunto com um sensor de temperatura eletrnico. As vantagensdesse tipo de sensor em relao a outros mtodos de medio de temperatura de umescoamento so: fcil implementao e resposta rpida que j pode ser capturada por umdispositivo eletrnico para posterior anlise, pois a faixa de tenso de sada utilizada para oprojeto varia de 0 a 5 Volts.

  • iii

    ndicendice de figuras .................................................................................................................... v1 Introduo........................................................................................................................ 1

    1.1 - Motivao .................................................................................................................. 11.2 - Objetivo ..................................................................................................................... 11.3 Dispositivos utilizados ............................................................................................... 11.4 - O tnel de vento ........................................................................................................ 21.5 - Descrio dos captulos seguintes............................................................................. 3

    2 O Microcontrolador .......................................................................................................... 42.1 - Surgimento dos microcontroladores........................................................................... 42.2 - O microcontrolador .................................................................................................... 4

    2.2.1 - Algumas caractersticas do BasicStep M8........................................................... 42.2.2 - Conversor analgico - digital ............................................................................... 8

    2.3 - Comunicao serial entre o microcontrolador e o computador................................. 102.3.1 - RS-232.............................................................................................................. 10

    2.4 - Breve introduo ao software BasicStep (verso para BasicStep M8) ..................... 123 Circuitos condicionadores de sinais ............................................................................... 15

    3.1 - Circuito regulador de tenso .................................................................................... 153.2 - Circuito de medio ................................................................................................. 15

    3.2.1 - Sensor .............................................................................................................. 163.3 - Circuito de segurana .............................................................................................. 19

    3.3.1 - O Rel de Estado Slido ................................................................................... 203.4 Outros circuitos ....................................................................................................... 20

    4 O controle ...................................................................................................................... 224.1 - O Controle PI ........................................................................................................... 224.2 - PWM........................................................................................................................ 244.3 - Determinao dos parmetros do sistema............................................................... 26

    4.3.1 MATLAB........................................................................................................... 264.3.2 - PSCAD ............................................................................................................. 28

    4.3.2.1 - Determinao de K e PT ............................................................................ 334.3.2.2 - Determinao da constante de tempo da resistncia ................................. 344.3.2.3 - Determinao da constante de tempo do sensor ....................................... 35

    5 - Resultados experimentais............................................................................................... 375.1 - Programao do BasicStep M8................................................................................ 375.2 - Programao no PC (Ambiente LabWindows/CVI) .................................................. 455.3 - O sistema em funcionamento .................................................................................. 53

  • iv

    6 - Concluso ...................................................................................................................... 56Bibliografia........................................................................................................ 57Anexos ............................................................................................................. 58

    1. Dados do Rel ................................................................................................................. 582. Diagrama do circuito ........................................................................................................ 593. Programa gravado no microcontrolador BasicStep M8 .................................................... 604. Programas desenvolvidos em CVI ................................................................................... 64

    4.1 M8TMP.c ................................................................................................................... 644.2 M8TMP.h (headrers, gerado automticamente) ......................................................... 684.3 M8TMP.prj (arquivo gerado automaticamente) .......................................................... 70

  • vndice de figuras

    Figura 1.3.1 Diagrama do Sistema...................................................................................... 2Figura 1.4.1 O tnel de vento (esquerda) / Detalhe do bocal (direita) ................................. 3Figura 2.2.1.1 Diagrama do BasicStep M8.......................................................................... 5Figura 2.2.1.2 Pinagem do BasicStep M8 ........................................................................... 7Figura 2.2.2.1 - Sinal original (esquerda) / Sinal convertido (direita) ...................................... 8Figura 2.2.2.2 - Sinal original (esquerda) / Sinal convertido (direita) ...................................... 9Figura 2.3.1.1 Conector DB-9 fmea ................................................................................ 11Figura 2.4.1 Tela do BasicStep......................................................................................... 13Figura 3.1.1 Circuito regulador de tenso ......................................................................... 15Figura 3.2.1 Circuito de aquisio e amplificao do sinal ................................................ 15Figura 3.2.1.1 Configurao do TMP para temperaturas acima de 2C sensor (retirada do

    datasheet [6])................................................................................................................ 16Figura 3.2.1.2 Configurao do TMP para temperaturas acima de -55C sensor (retirada

    do datasheet [6])........................................................................................................... 17Figura 3.2.1.3 Relao entre a velocidade do vento e a constante de tempo do sensor

    (retirada do datasheet [6])............................................................................................. 18Figura 3.2.1.4 Encapsulamento do sensor (retirada do datasheet [6]) .............................. 18Figura 3.2.1.5 Circuito interno do sensor (retirada do datasheet [6])................................. 19Figura 3.3.1 Circuito de segurana ................................................................................... 19Figura 3.4.1 Circuito de alta tenso .................................................................................. 21Figura 4.1.1 Diagrama em blocos do controle................................................................... 23Figura 4.2.1 Ciclos de trabalho PWM................................................................................ 25Figura 4.3.1.1 Root-Locus................................................................................................. 26Figura 4.3.1.2 Root-Locus................................................................................................. 27Figura 4.3.2.1 Circuito de alta tenso do PSCAD ............................................................. 29Figura 4.3.2.2 Circuito de disparo dos GTO...................................................................... 29Figura 4.3.2.3 Circuito do clculo da potncia da resistncia............................................ 30Figura 4.3.2.4 Bloco de transformao da potncia em temperatura (modelo do sistema

    junto com o sensor) ...................................................................................................... 30Figura 4.3.2.5 Bloco de controle ....................................................................................... 31Figura 4.3.2.6 Forma de onda da resistncia aplicando o sinal PWM............................... 31Figura 4.3.2.7 Potncia dissipada na resistncia .............................................................. 32Figura 4.3.2.8 Temperatura na sada do sistema.............................................................. 32Figura 4.3.2.9 Sada do controle (valor do ciclo de trabalho PWM)................................... 33

  • vi

    Figura 4.3.2.10 Erro da medida observada na sada do sistema ...................................... 33Tabela 4.3.2.1.1 Determinao da constante K ................................................................ 34Figura 4.3.2.2.1 Forma de onda gerada para um ciclo de trabalho constante................... 35Tabela 4.3.2.3.1 Relao entre a freqncia do inversor e a velocidade do vento............ 35Figura 5.2.1 Tela do programa CVI para o usurio final.................................................... 53Figura 5.3.1 Curvas da temperatura e erro observadas para uma temperatura definida de

    50C ............................................................................................................................. 54Figura 5.3.2 Curvas da temperatura e erro observadas para uma temperatura definida de

    50C e posteriormente alterada para 60C ................................................................... 54Figura 5.3.3 Forma de onde PWM (1) e tenso da rede aplicada a resistncia (2) ........... 55

  • 11 Introduo

    1.1 - Motivao

    O laboratrio de turbulncia da UFRJ adquiriu um sistema de controle detemperatura para ser usado em conjunto com o tnel de vento, mas, aps diversastentativas verificou-se que o sistema apresentava uma grande oscilao de temperatura, porexemplo, quando a temperatura selecionada era de 40C, o sistema apresentava uma sadaque variava de 40C at um valor pouco acima de 60C. Com isso surgiu a necessidade dese desenvolver um projeto de baixo custo e fcil implantao para substituir o sistemaanterior e aproveitando os recursos j disponveis no laboratrio.

    1.2 - Objetivo

    Desenvolver um sistema baseado em microcontrolador utilizando a tcnica PWM eum controle PI (proporcional-integrador) que tem por objetivo garantir uma temperaturadefinida e estvel na sada de um tnel de vento, com o auxilio de um computador para aentrada da temperatura e visualizao da temperatura medida, para ser usado comoinstrumento de calibrao.

    1.3 Dispositivos utilizados

    O projeto possui quatro conjuntos de equipamentos distintos:

    Tnel de vento Computador Sistema de controle baseado em microcontrolador Rel de Estado Slido Sensor

  • 2O diagrama do projeto pode ser visto na figura 1.3.1.

    Figura 1.3.1 Diagrama do Sistema

    1.4 - O tnel de vento

    O tnel de vento utilizado composto por um ventilador com filtro de arconfeccionado pelo prprio pessoal do laboratrio, uma lona de acoplamento entre oventilador e o tubo, um tubo com uma serpentina de dois filamentos internos para promovero aquecimento do ar e um bocal de sada projetado para garantir uma sada uniforme do jatode ar aquecido.

    O ventilador acionado por um controle de variao de freqncia (inversor) e estepor sua vez ligado rede (220V).

    A serpentina ligada ao circuito de controle e alimentada pela tenso da rede. Aserpentina possui uma resistncia de 11, medida experimentalmente.

  • 3Figura 1.4.1 O tnel de vento (esquerda) / Detalhe do bocal (direita)

    1.5 - Descrio dos captulos seguintes

    No captulo 2 abordamos o microcontrolador, falando sobre suas principaiscaractersticas, recursos relevantes ao projeto e o software utilizado para fazer a gravaodo firmware.

    No captulo 3 sero abordados os tpicos referentes aos circuitos de apoio aomicrocontrolador, so estes: o sensor, o rel de estado slido, o amplificador de sinal e oregulador de tenso.

    No captulo 4 sero abordados os tpicos referentes a determinao dos parmetrosutilizados no controle e a tcnica de controle utilizada.

    Os resultados podem ser vistos no captulo 5, onde tambm apresentamos osoftware para uso pelo usurio final e o programa gravado no BasicStep M8 onde implementado o controle.

    No captulo 6 temos uma avaliao dos resultados do projeto.Para finalizar temos a bibliografia utilizada para a execuo do projeto, onde esto listadosos datasheets e livros utilizados.

  • 42 O Microcontrolador

    2.1 - Surgimento dos microcontroladores

    Os microcontroladores surgiram atravs do desenvolvimento da tecnologia doscircuitos integrados. Este desenvolvimento tornou possvel armazenar centenas de milharesde transistores num nico circuito integrado. Isso constituiu um pr-requisito para aproduo de microprocessadores e, os primeiros computadores foram construdosadicionando perifricos externos tais como memria, linhas de entrada e sada,temporizadores e outros. Um crescente aumento do nvel de integrao permitiu oaparecimento de circuitos integrados contendo simultaneamente processador e perifricos.

    Foi assim que o primeiro chip contendo um microcomputador e que mais tardehaveria de ser designado por microcontrolador, apareceu.

    2.2 - O microcontrolador

    O microcontrolador definido para o projeto foi o BasicStep M8, revendido pela TATO,este microcontrolador o Atmega8L desenvolvido pela Atmel Corporation [7]. O adaptadorpara a conexo do cabo serial foi desenvolvido pela prpria TATO. Este microcontrolador jestava disponvel para uso do laboratrio e possua as caractersticas necessrias para odesenvolvimento do projeto.

    2.2.1 - Algumas caractersticas do BasicStep M8

    O BasicStep M8 usa a tecnologia de baixo consumo CMOS baseada na arquiteturaAVR RISC. A figura 2.2.1.1 representa o diagrama de blocos do BasicStep M8.

  • 5Figura 2.2.1.1 Diagrama do BasicStep M8

    O BasicStep M8 um microcontrolador que possui diversas caractersticas quesimplificaram bastante o desenvolvimento da parte tcnica do projeto.Sua velocidade de 2MIPs e 8MHz de freqncia de operao o que gera resultados maisconfiveis e precisos.

    O BasicStep M8 possui trs tipo de memria. Uma delas composta por uma sriede registros. Esta memria dividida na memria do programa (onde as instrues deprograma so armazenadas) e memria dos dados (onde algumas das variveis soarmazenadas). Quando um programa carregado no microcontrolador, fica armazenado namemria do programa, e quando o programa est funcionando, usa a memria dos dados

  • 6como um espao para armazenar e manipular suas variveis. A memria dos dados possuiregistros especiais onde a informao sobre as funes do chip so armazenadas. Cadafuno do chip ter um registro especial da funo (ou diversos registros) associado comela: a porta serial, os conversores analgico digitais, os temporizadores, e talvez maisimportante, os pinos de entrada e sada. A outra uma memria RAM que serve para oarmazenamento de certos tipos de variveis e a terceira, tambm destinada aoarmazenamento de variveis uma memria EEPROM.

    O microcontrolador dispe de 8kb de memria interna disponveis para o programa eas variveis armazenadas em registradores, 1024 bytes de memria RAM e 512 bytes dememria EEPROM, 23 linhas de E/S, 32 registradores de uso geral, 3 Timers/Contadores,controle de interrupo externa e interna, uma interface serial programvel entre outrascaractersticas.

    As variveis do programa podem ser armazenadas nos trs tipos de memria citadosanteriormente dependendo do tipo de varivel e da escolha feita pelo programador, o tipo devarivel definida pelo ltimo caracter em seu nome. As variveis do tipo BYTE podem serarmazenadas em registradores (memrias de acesso rpido) ou em RAM (memrias deacesso mais lento), as variveis do tipo INTEGER so do tipo unsigned integer e soarmazenadas em RAM, utilizando dois bytes, as variveis do tipo STRING so armazenadasem EEPROM e as variveis do tipo matriz de BYTES so armazenadas em RAM.

    Uma das grandes vantagens dos microcontroladores da srie BasicStep apresena do circuito exclusivo de comunicao serial seguindo os padres RS-232, que omesmo padro adotado nos computadores, assim, no necessrio nenhum circuitoexterno para o tratamento do sinal a ser enviado ou recebido pela porta serial. Este conector usado em conjunto com um cabo de comunicao serial fornecido tambm pela prpriaTATO, este cabo garante maior qualidade na comunicao serial do microcontrolador, at omomento este o nico microcontrolador da sria BasicStep que possui essa caracterstica.

    Outra caracterstica importante neste BasicStep a presena de trs canais PWM,pois o controle foi desenvolvido aplicando um sinal PWM na resistncia do tnel de vento.

  • 7Figura 2.2.1.2 Pinagem do BasicStep M8

    Atravs da figura 2.2.1.2 que mostra os terminais do BasicStep M8 podemosvisualizar os pinos descritos como B7, B6, B5, etc.., estes se referem s portas de entrada esada (E/S). No BasicStep M8, h trs portas de E/S, portas B, C e D. Dentro de cada porta,so dados nmeros para os pinos. Para a porta B, os pinos vo de B0 a B7. A porta B e Dso portas de E/S bi-direcional de 8bits.

    A porta C pode assumir funes diferentes dependendo da necessidade,possibilitando o acesso dos blocos perifricos ao meio externo. Por exemplo, o conversoranalgico digital pode utilizar um dos pinos da Porta C como leitor de entrada de dados aserem convertidos ao invs da funo padro de E/S.

    A porta C possui dois pinos exclusivos para a funo de conversor analgico digital,ADC6 e ADC7.

    O pino de tenso de referncia para o conversor analgico digital (VREF) determinao valor mximo que ser medido e convertido pelo conversor, podendo ser no mximo de5V.

    O BasicStep M8 segue os padres TTL de operao, logo, o CI opera com umatenso de 5V aplicada ao pino +5V e o pino GND deve estar conectado ao terra do sistema.

    Um boto tipo push-pull faz a conexo entre o pino de RESET e o terra do sistema,quando este pressionado e solto o microcontrolador reinicia a sua operao, perdendoqualquer informao previamente armazenada.

    Uma caracterstica interessante observada durante o desenvolvimento do projeto foique quando o cabo de comunicao serial estava conectado ao computador e este estavaligado, o microcontrolador entrava no estado de RESET, era necessrio iniciar o programaBasicStep ou o CVI para fazer com que o microcontrolador operasse. Sem o cabo decomunicao o microcontrolador ficava operando continuamente. Outra caracterstica quepara garantir que o programa fosse gravado com sucesso no BasicStep M8 era necessriodefinir a velocidade de operao da porta serial do computador para 2400bps.

  • 8Uma outra caracterstica que foi importante no aspecto de simplificao da partetcnica do projeto foi que o BasicStep possui um controlador de interrupo internofacilitando bastante a transferncia do dado no sentido do computador para omicrocontrolador.

    O conversor analgico digital pode trabalhar de vrias maneiras diferentes, nesteprojeto foi utilizado o modo IDLE, pois este interrompe o microcontrolador colocando-o emmodo SLEEP para que a leitura analgica seja feita e convertida, isso garante que o valorda medida estar livre de rudos originados pelo prprio microcontrolador. Os outros modosde operao so RUN (habilita o modo continuo), INTERRUPT (gera um sinal deinterrupo no programa) e IR (gera um sinal de interrupo e habilita o modo continuo).

    2.2.2 - Conversor analgico - digital

    Os sinais retirados do sistema controlado so diferentes daqueles que omicrocontrolador pode entender (zero e um), por isto, estes devem ser convertidos numformato que possa ser compreendido pelo microcontrolador. Esta tarefa executada porintermdio de um bloco destinado converso analgico-digital. Este bloco vai serresponsvel pela converso de uma informao de valor analgico para um nmero binrio. Alm da preciso, outro parmetro importante a taxa de amostragem, que aquantidade de vezes por unidade de tempo em que o sinal analgico medido e convertido.

    Quando um sinal convertido com uma alta taxa de amostragem maior ser a suasemelhana com o sinal original. A figura 2.2.2.1 mostra o sinal analgico original esquerda e sua representao j convertida a direita. Os pontos indicam as posies emque o sinal foi medido e convertido.

    Figura 2.2.2.1 - Sinal original (esquerda) / Sinal convertido (direita)

    Para poder medir um sinal analgico a taxa de amostragem deve ser pelo menos odobro da freqncia do sinal medido, caso contrrio vales ou picos deste sinal seroperdidos causando uma converso falha. A figura 2.2.2.2 exemplifica o efeito da perda de

  • 9informaes do sinal devido baixa taxa de amostragem, o sinal originalmente senoidal esquerda e sua reproduo convertida com perda de informao.

    Figura 2.2.2.2 - Sinal original (esquerda) / Sinal convertido (direita)

    O conversor tem acesso ao meio externo por meio da porta C. Este projeto requer ouso de apenas uma entrada analgica, no caso foi escolhido o pino 5 da porta C. Estaentrada ser usada para converter os sinais enviados pelo sensor de temperatura.

    Para definirmos a taxa de amostragem deste projeto precisamos levar emconsiderao algumas caractersticas inerentes ao projeto. Como este projeto trabalha comvariaes de temperatura e esta grandeza muito mais lenta do que as grandezas eltricase como a constante do sistema trmico na ordem de algumas dezenas de segundos, ataxa de amostragem foi definida como sendo 1 segundo. Em funo da constante de tempodo sistema ser bastante elevada, o tempo de converso do sinal analgico para digital desprezvel e tambm o tempo de execuo do prprio programa gravado nomicrocontrolador e o tempo de transferncia dos dados do microcontrolador para ocomputador atravs da porta serial no possuem grande influncia no controle.

    O BasicStep M8 possui um conversor analgico digital com resoluo de dez bits,que corresponde 210 (1024) divises do intervalo medido.

    Para calcular a preciso dos valores aferidos pode-se utilizar a seguinte equao (1).

    R2minmaxPr = (1)

    Onde Pr a preciso mxima atingida pelo conversor analgico digital, max o valormximo do intervalo de medio, min o valor mnimo do mesmo intervalo e R aresoluo do conversor.

    Para o caso do BasicStep M8 temos os seguintes parmetros: max=5, min=0 eR=10, o que nos resulta:

    005,01024

    52

    05Pr 10 =

    = (2)

  • 10

    2.3 - Comunicao serial entre o microcontrolador e o computador

    O microcontrolador definido para o projeto possui uma interface serial para acomunicao entre este e o computador, tanto para a transferncia de dados como para aprogramao, sendo assim era importante que o computador utilizado possusse umconector seria tipo DB-9 e que este estivesse disponvel para ser usado pelos softwaresutilizados no projeto. O computador utilizado possu uma placa-me que segue os padresde formato ATX com um conector DB-9 soldado diretamente nela. A conexo serial daplaca-me foi definida como COM1 com o seguinte protocolo de comunicao serial:2400bps, 8 bits de dados, Nenhum bit de paridade, 1 bit de parada (stop bit), nenhumcontrole de fluxo, usar buffer de fila (14 para a recepo e 16 para a transmisso) e driversdo prprio sistema operacional.

    Importante mencionar que a opo de 2400bps de velocidade de comunicao foidefinida baseada na instabilidade que o programa BasicStep apresentou com velocidadesmais altas para a gravao do programa no BasicStep M8.

    Toda a comunicao realizada atravs deste nico conector DB-9, quando oprograma era gravado e testado no microcontrolador pelo BasicStep e quando o sistema eraefetivamente usado, com o programa CVI. Sendo assim, os dois programas, BasicStep eCVI no podiam estar ativos ao mesmo tempo. Mais especificamente, quando o programaem CVI executado, ele no aciona a porta serial, isto quer dizer que a porta ainda estdisponvel para uso por outros softwares, mas quando o usurio pressiona a chave ligardentro do programa, est bloqueia o uso da porta permitindo que apenas o CVI a utilize e nocaso do BasicStep, ele bloqueia o uso da porta quando os dados esto sendo gravados ouquando o usurio pressiona o boto liberar reset no prprio programa.

    2.3.1 - RS-232

    Este padro foi inicialmente usado para conectar um teletipo (equipamentoeletromecnico de comunicao assncrona que usava cdigo ASCII) a um modem. Aterceira reviso deste padro (chamada de RS-232C) fora publicada em 1969, em partepara adequar-se a caractersticas eltricas destes dispositivos. Deste modo, fora utilizadoem diversos tipos de comunicao remota, especialmente por modems [4].

    Atualmente o RS-232 est sendo gradualmente suprimido pelo USB paracomunicao local. Este mais rpido, tem conectores mais simples de conectar e usar, etem um melhor suporte por software. Por isso muitas placas-me, destinadas ao uso em

  • 11

    escritrios so produzidas sem circuitos RS-232. Mesmo assim, continua sendo utilizado emperifricos para pontos de venda (caixas registradoras, leitores de cdigos de barra ou fitamagntica) e para a rea industrial (dispositivos de controle remoto), ento computadorespara estes fins continuam sendo produzidos com portas RS-232, tanto 'on-board' ou umaplaca PCI ou ISA separada. Como alternativa, existem adaptadores para portas USB, quepodem ser utilizados para conectar teclados ou mouses PS/2, uma ou mais portas seriais euma ou mais portas paralelas.

    So usados conectores machos e fmeas, geralmente os conectores dos cabos somachos e os conectores de dispositivos so fmeas. Este padro recomendado paraconexes curtas (quinze metros ou menos). Os sinais variam de 3 a 15 Volts positivos ounegativos, valores prximos de zero no so sinais vlidos.

    Os dispositivos RS-232 podem ser classificados em DTE e DCE; isto define que fiosiro mandar e enviar quais sinais.

    O diagrama dos pinos da RS-232 est presente na figura 2.3.1.1.

    Figura 2.3.1.1 Conector DB-9 fmea

    O BasicStep possui um controlador serial padro RS-232 que funciona no modosncrono full-duplex permitindo que dados sejam enviados e recebidos dadossimultaneamente. O controlador serial utiliza quatro pinos localizados na parte superior doCI para envio e recebimento de informaes. Esses pinos tambm identificam se o caboest conectado a um computador controlando o RESET.

    Para efetuar uma transmisso ou receber qualquer dado atravs da RS-232 preciso configurar o padro de envio e recebimento bem como a velocidade decomunicao. Para o projeto configuramos o microcontrolador para trabalhar com avelocidade de envio e recepo dos dados de 9600bps, importante mencionar que a

  • 12

    velocidade de envio e recepo devem ser as mesmas. A sada serial do microcontroladortrabalha com a configurao 8 N 1, isto , 8 bits de dados, nenhum bit de paridade e 1 bit deparada (stop bit).

    O circuito de comunicao cujos conectores se encontram na parte superior do CI jest nas especificaes de tenses exigidas pelo padro RS-232, sendo assim, no necessrio utilizar nenhum circuito adicional para isso, simplificando bastante odesenvolvimento do projeto.

    O segundo circuito de comunicao, pinos D0 e D1, no seguem os padres RS-232de tenso e sim os padres TTL, isto , ele trabalha com um trem de pulsos de 5V.

    2.4 - Breve introduo ao software BasicStep (verso para BasicStepM8)

    Software desenvolvido pela TATO (www.tato.ind.br) que acompanha omicrocontrolador, neste caso, para o microcontrolador BasicStep M8 tambm fornecido pelaTATO, responsvel pela escrita, compilao e gravao do programa para omicrocontrolador. Foi utilizada a verso 1.2.2.1, ltima verso disponvel no site at omomento de execuo do projeto. O software pode ser baixado atravs do prprio site daTATO. A linguagem de programao do microcontrolador a TBASIC que uma variaoda linguagem BASIC desenvolvida especificamente para os microcontroladores da srieBasicStep, mas o microcontrolador tambm pode ser programado usando a linguagem C . Oambiente de desenvolvimento possui uma ajuda e no site se encontram alguns manuaissobre sua utilizao em formato PDF. O programa possui uma rea de programao, umservio de terminal para testes e alguns botes de atalho para as suas principais funes.

    A figura 2.4.1 apresenta a tela inicial do software onde os pontos importantes estoassinalados em vermelho.

  • 13

    Figura 2.4.1 Tela do BasicStep

    A primeira coisa a fazer definir para qual microcontrolador este programa serutilizado, a verso do BasicStep utilizada pode ser usada para o BasicStep M8, BasicStepM16, BasicStep 1 e BasicStep 1 LT. Para isto basta abrir o menu Ferramentas e clicar emBasicStep M8, no caso deste projeto. Feito isso definimos a porta serial onde omicrocontrolador est conectado ao computador, tambm no menu Ferramentas eselecionando Porta Serial e COM1. Agora definimos a linguagem de programao a serusada, tambm no menu Ferramentas, selecionamos Linguagem BASIC. Agora oprograma est pronto para ser usado.

    O menu Ajuda possui uma listagem de todos os comandos que podem serutilizados na programao do microcontrolador explicando como utiliz-los. A ajuda serefere apenas a linguagem TBASIC.

    Abaixo dos menus temos os botes de fcil acesso, todas as funes executadaspelos botes tambm se encontram nos menus.

    Manipulao de arquivo:Esta rea possui os botes que permitem abrir uma rea em branco para digitar um

    novo programa, abrir uma janela para procurar e abrir um arquivo j existente nocomputador e salvar a programao atual em um arquivo, o nome do arquivo fornecidopelo usurio.

  • 14

    Obs: O programa BasicStep nesta verso possui um bug, o arquivo para ser gravado nomicrocontrolador deve estar no mesmo diretrio de instalao do programa.

    Manipulao de texto:Esta rea possui os botes que permitem recortar o texto selecionado, copiar o texto

    selecionado e colar o texto na posio onde se encontra o cursor.

    Gravao:Esta rea possui os botes para compilar o programa, se o software detectar algum

    erro no programa a operao no finalizada com sucesso e o software informa ao usurio.Caso no sejam detectados erros, o software passa algumas informaes do uso damemria pelo programa para o usurio, gravar o programa no microcontrolador, se oprograma no tiver sido compilado anteriormente, ele ser compilado antes da gravao.

    Controle de Reset:Estes botes permitem: liberar o reset permitindo que o microcontrolador opere

    normalmente, resetar o microcontrolador momentaneamente, o mesmo que pressionar esoltar o boto de reset conectado ao microcontrolador e ativar o reset interrompendo aoperao do microcontolador at que o reset seja liberado novamente, o mesmo que manterpressionado o boto de reset conectado ao microcontrolador indefinidamente.

    Terminal:Abre um terminal para envio e recebimento de dados para o microcontrolador,

    normalmente usado apenas para testes.

    Nome do arquivo:Informa o nome do arquivo aberto ou salvo, Sem nome caso o arquivo ainda no

    tenha sido salvo.

    Programao:rea destinada escrita do programa que ser posteriormente compilado e gravado

    no microcontrolador.

  • 15

    3 Circuitos condicionadores de sinais

    3.1 - Circuito regulador de tenso

    A alimentao do circuito do microcontrolador e demais circuitos auxiliares feitaatravs de um transformador e um regulador de tenso como pode ser observado na figura3.1.1. A alimentao do microcontrolador feita pelo pino 2 do BasicStep.

    Figura 3.1.1 Circuito regulador de tenso

    3.2 - Circuito de medio

    Para que o controle atuasse de forma mais eficiente, o sinal medido foi amplificado.O circuito amplificador pode ser visto na figura 3.2.1.

    Figura 3.2.1 Circuito de aquisio e amplificao do sinal

  • 16

    O circuito amplificador amplia a sada por um fator de aproximadamente 5 (4,995medidos experimentalmente). Segue a equao do circuito:

    59,419,31

    211 =+=+=

    kk

    RR

    ViVo (3)

    Com isso, a temperatura mxima que pode ser medida de 100C, pois issocorresponde a 1V que multiplicado por 5 resulta em 5V que a tenso mxima que pode serfornecida ao canal A/D do microcontrolador.

    3.2.1 - Sensor

    O sensor definido para o projeto precisava ser um sensor de boa preciso quetrabalhasse a temperaturas maiores que 20C e at a pelo menos 100C, de boa velocidadede resposta e se possvel que trabalhasse com tenso nominal de 5V.

    O sensor escolhido foi o TMP [6] revendido pela TATO, pois atende a todas asespecificaes acima. Este sensor possui trs pinos, um de alimentao que pode ser de 4Va 30V, atendendo a especificao de tenso exigida, um pino de terra e um pino com o sinalde sada. O TMP fabricado pela National Semicondutor com o nome de LM35. Seuesquema de ligao pode ser visto na figura 3.2.1.1.

    Figura 3.2.1.1 Configurao do TMP para temperaturas acima de 2C sensor (retirada do datasheet [6])

    O TMP apresenta uma baixa impedncia de sada e uma sada linear e precisa o quefacilita bastante a conexo com os circuitos de aquisio de dados.

    Este sensor tambm conta com um baixo consumo de energia, sua corrente deoperao na ordem de 60A, o que importante para um medidor de temperatura, poisquanto maior a energia consumida pelo dispositivo, maior seu aquecimento o que implicaem uma incerteza maior na medida da temperatura do meio ao qual est imerso. Com essa

  • 17

    corrente baixa, apresenta baixssimo aquecimento, menos de 0,1C no ar. Como a correntedo dispositivo bem pequena, sua sada pode ser ligada diretamente ao microcontroladorsem risco de danific-lo.

    A sua tenso de sada apresenta um comportamento linear em relao atemperatura medida, outra caracterstica importante e que tambm contribui para asimplificao do projeto o fato da tenso de sada ser de 10mV para cada grau Celsius, oque pode ser representado pela equao (4):

    100TV = (4)

    Onde V a tenso no pino de sinal de sada do sensor em Volts e T a temperaturamedida diretamente em graus Celsius, ou seja, se a temperatura medida for de 25C, osensor ter uma sada de 0,25V.

    Este sensor trabalha com uma faixa de temperatura de +2C at +150C, mas podetrabalhar em outras faixas fazendo uma pequena modificao no circuito fazendo com que afaixa de temperatura seja de 55C at 150C. O esquema para essa configurao pode servisto na figura 3.2.1.2.

    Figura 3.2.1.2 Configurao do TMP para temperaturas acima de -55C sensor (retirada do datasheet[6])

    A preciso da medida na temperatura ambiente de aproximadamente 0,25C epara outras faixas de temperatura a preciso de aproximadamente 0,75C.

    Neste projeto o sensor ser utilizado para medir a temperatura da sada de um tnelde vento. O grfico da figura 3.2.1.3 mostra o tempo de resposta do sensor em funo davelocidade do vento, observa-se que quanto maior a velocidade do vento melhor o tempode resposta do sensor.

  • 18

    Figura 3.2.1.3 Relao entre a velocidade do vento e a constante de tempo do sensor (retirada dodatasheet [6])

    O encapsulamento do LM35 utilizado do tipo TO-92, semelhante a um transistorBJC, onde a face plana a face responsvel pela medio da temperatura, pela figura3.2.1.4 observa-se que o encapsulamento TO-92 apresenta um melhor resultado que o TO-46. Tambm podendo ser encontrado com outros tipos de encapsulamento. Oencapsulamento e a pinagem podem ser vistos na figura 3.2.1.4.

    Figura 3.2.1.4 Encapsulamento do sensor (retirada do datasheet [6])

    O circuito do sensor pode ser visto na figura 3.2.1.5.

  • 19

    Figura 3.2.1.5 Circuito interno do sensor (retirada do datasheet [6])

    Maiores informaes podem ser encontradas no datasheet do LM35 encontrado nosite do fabricante (http://www.national.com/pf/LM/LM35.html).

    3.3 - Circuito de segurana

    Como no havia muitos dados eltricos sobre o microcontrolador (corrente mximasuportada, consumo de energia, etc...) foi desenvolvido um circuito auxiliar de interface coma sada digital para garantir que a corrente entregue ao microcontrolador fosse bempequena. O circuito est destacado na figura 3.3.1, este circuito alimentado com umatenso de 5V e a base do transistor BC327 conectada a uma das portas de E/S domicrocontrolador.

    Figura 3.3.1 Circuito de segurana

  • 20

    Observa-se o uso de um transistor PNP (BC 327) cuja funo fornecer a correntepara o microcontrolador. Quando a porta de E/S est em nvel lgico 1, sua tenso de 5Vse igualando a tenso do circuito, assim a corrente no circuito zero e conseqentemente orel fica no estado aberto. Quando a porta est em nvel lgico 0, ou seja 0V, a corrente fluicircuito fazendo com que o rel opere como uma chave fechada, isto , a resistncia notnel passa a receber corrente. Em resumo, quando a porta se encontra em nvel lgico 1,no h potncia fornecida a resistncia do tnel e quando a porta se encontra em nvellgico 0 fornecida a potncia para resistncia. Essa caracterstica se reflete no programade controle gravado no BasicStep M8, pois quando o programa calcula um ciclo de trabalhoalto, isto quer dizer que o circuito dever fornecer potncia por mais tempo e isso significacolocar a sada da porta de E/S em nvel lgico 0 por mais tempo.

    3.3.1 - O Rel de Estado Slido

    O rel um circuito que funciona como uma chave. Quando uma tenso aplicadano lado de baixa tenso, o lado de alta tenso passa a conduzir, ou seja, a chave ficafechada.

    O rel utilizado havia sido adquirido pelo laboratrio, o mesmo rel utilizadoanteriormente, modelo S505-0SJ640-000. Este rel era desenvolvido pela ContinentalIndustries Inc.

    Este rel no mais fabricado e no foram encontradas informaes sobre ele,assim as informaes so todas dados de placa, com exceo de sua resistncia internaque foi medida experimentalmente.

    O diagrama do rel de estado slido S505-0SJ640-000 se encontra em anexo (anexo1).

    3.4 Outros circuitos

    O diagrama esquemtico do circuito completo est em anexo (anexo 2).No anexo tambm pode ser visto um circuito Ligado/Desligado composto por um

    LED e um resistor. Quando o microcontrolador est operando, este LED fica piscando comuma durao de aproximadamente um segundo. Quando o microcontrolador est em resetou desligado o LED fica apagado. Isso importante, pois como foi visto na introduo, o fatodo circuito estar alimentado no significa que o microcontrolador esteja operando,

  • 21

    necessrio que algum software abra a porta de comunicao serial (COM1) para omicrocontrolador entrar em funcionamento ou que o cabo serial esteja desconectado.

    O circuito de alta tenso pode ser vista na figura 3.4.1.

    Figura 3.4.1 Circuito de alta tenso

  • 22

    4 O controle

    4.1 - O Controle PI

    Um controle somente do tipo P (proporcional) tem a desvantagem de sempreapresentar um erro na sada para plantas que no tenham plos na origem, com isso no possvel o usurio pr-definir uma temperatura de sada e obter esta temperatura.

    Esta desvantagem corrigida pelo PI (proporcional integrador), assim o usurio podedeterminar a temperatura desejada do sistema que o controlador ir trabalhar para alcanareste valor e tentar mant-lo o mais estvel possvel.

    Um outro problema que o sistema possui muitas variveis externas, temperaturaambiente no constante, tempo de aquecimento do ar no tubo, etc... O controlador PItambm tentar corrigir essas perturbaes.

    Neste projeto foi implantado um sistema de controle do tipo PI [5]. Esse tipo decontrole atua no erro da medida de duas maneiras, possui uma parte que trabalha com umvalor proporcional ao erro e outra parte que trabalha com um valor relativo a integral do errosendo o erro definido como a temperatura desejada menos a temperatura medida na sadado sistema. Essas duas partes so combinadas para gerar um nico sinal de controle que aplicado ao sistema a ser controlado.

    Neste projeto o sinal de controle um sinal tipo PWM aplicado na resistncia internado tnel de vento, dependendo do ciclo de trabalho desse sinal, a potncia fornecida para aresistncia ser proporcional ao valor do ciclo de trabalho definido e conseqentemente atemperatura do ar passando por est resistncia ter valores diferentes. O ar tem contatodireto com a resistncia no interior do tubo.

    A funo de transferncia do controlador PI est apresentada na equao (5):

    sKiKpsPI +=)( (5)

    Que pode ser arrumada na notao de plos e zeros ficando da seguinte forma:

    [ ]s

    KisKpsPI +=)( (6)

  • 23

    Sendo que Kp o ganho relativo parte proporcional e Ki o ganho relativo parteintegral.

    A funo de transferncia adiciona um plo na origem e um zero na posio Ki/Kpao sistema. Neste projeto o controle tipo PI aplicado em um sistema microcontrolado logoele trabalha em ponto fixo.

    A figura 4.1.1 representa um sistema de controle qualquer baseado em um controletipo PI.

    Figura 4.1.1 Diagrama em blocos do controle

    A equao de sada de um controlador PI a seguinte:

    += edtkeku ip (7)

    Eliminando a integral tem-se:

    ekdtdekdt

    duip += (8)

    E passando para ponto fixo:

    hekeku kikpk += (9)

    Onde u a sada do controlador, e a sua entrada, h o tempo de amostragem, ki o ganho da parte integral e kp o ganho da parte proporcional do PI.

    No projeto u representa o ciclo de trabalho do PWM e e o erro da medida.Para uma medida em um instante k temos:

    eee kkk 1= (10)

  • 24

    Te kk T = (11)

    Onde T a temperatura desejada e Tk a temperatura medida no instante k.E para finalizar:

    uuu kkk += 1 (12)

    4.2 - PWM

    PWM (Pulse Width Modulation) ou Modulao por Largura de Pulso [1] uma tcnicabastante utilizada atualmente para controle de dispositivos analgicos atravs de sistemasdigitais. Com ele possvel controlar a potncia fornecida para o dispositivo analgico comapenas um canal digital, diferentemente de um sistema de controle baseada em conversoD/A (digital/analgica) que precisa de um circuito mais complexo de operao e de maiorinterferncia a rudos.

    Controlando os circuitos digitalmente, o custo do equipamento e o consumo deenergia podem ser bastante reduzidos.

    Circuitos digitais s produzem dois nmeros: "0" e "1". J circuitos analgicos podemter uma infinidade de variaes. Por exemplo, em um circuito digital s podemos ligar ("1")ou desligar ("0") um motor ou uma lmpada, enquanto que em um circuito analgicopodemos controlar em infinitos valores o brilho da lmpada desde o seu estado total deapagamento at o seu brilho mximo. Com um motor acontece o mesmo, podemos controlarem infinitos gradientes sua velocidade, desde o seu estado de repouso at a sua velocidademxima.

    A converso A/D usa uma quantidade de bits proporcionais quantidade degradientes (brilhos, velocidades, etc) que pretendemos ter. Por exemplo, se forem usados 4bits, temos uma possibilidade de 16 (2^4) gradientes de brilho/rotao, de 0000 a 1111.

    O problema desta tcnica que quanto mais gradientes voc quiser, mais bits sonecessrios e mais complexo o circuito de converso A/D.

    J a tcnica PWM utiliza apenas um bit. Nela gerada uma forma de onda quadradaonde o ciclo de trabalho (tempo em que a forma de onda permanece em "1") define avelocidade/brilho do sistema analgico.

  • 25

    Por exemplo, supondo uma forma de onda perfeitamente quadrada, onde 50% dotempo ela est em "0" e 50% do tempo ela est em "1", o resultado final ser que a lmpadater 50% do seu brilho e um motor 50% de sua velocidade.

    Se configurarmos esta forma de onda para ficar 10% do seu tempo em "1" e 90% doseu tempo em "0", o resultado ser um brilho/velocidade de 10% de sua capacidade total.

    A figura 4.2.1 apresenta algumas configuraes de ciclos de trabalho PWM.

    Figura 4.2.1 Ciclos de trabalho PWM

    O ciclo de trabalho definido como:

    TD ton= (13)

    onde:

    tt offonT +=' (14)

    Sendo T o perodo total da onda, ton o perodo em que a onda se encontra no estado1 e toff o perodo no estado 0 e D o ciclo de trabalho. Esses tempos so limitados pelascaractersticas do dispositivo digital utilizado.

  • 26

    4.3 - Determinao dos parmetros do sistema

    4.3.1 MATLAB

    Este software desenvolvido pela The MathWorks Inc, permite fazer clculosmatemticos e a simulao de sistemas de controle.

    O MATLAB permite identificar se um sistema estvel ou instvel e para quaiscondies isso ocorre. Para isso determina-se a funo de transferncia em malha abertado sistema. O grfico de Root-Locus criado usando os plos zeros dessa funo detransferncia. As figuras 4.3.1.1 e 4.3.1.2 representam duas possveis formas do Root-Locuspara o sistema desenvolvido no projeto.

    No primeiro grfico verifica-se que o sistema apresenta um plo que no tem muitainfluncia no sistema (plo mais a esquerda) e que o sistema fica instvel para ganhoselevados (valores a direita da origem).

    No segundo grfico verifica-se que o sistema sempre estvel para qualquer ganho.Tambm aparece o plo de pouca influncia no sistema.

    Figura 4.3.1.1 Root-Locus

  • 27

    Figura 4.3.1.2 Root-Locus

    Verifica-se que o elemento determinante a posio do zero determinado pelasconstantes do PI, relao Ki/Kp. Em ambos os casos, a resposta do sistema no muitorpida.

    A modelagem acima feita com base no diagrama do circuito de controle (figura4.1.1), utilizando as equaes de seus elementos.

    Abaixo so apresentas as equaes dos elementos e a equao final utilizada namodelagem do sistema.

    Equao do controle:

    s

    kiskp +* (15)

    Equao da planta (circuito do tnel de vento):

    1+sk

    P(16)

    Onde P a constante de tempo da planta, 41,33 segundos, e k a relao entre ociclo de trabalho PWM e a temperatura de sada, 0,16.

    Equao do sensor:

  • 28

    11

    +sS(17)

    Onde s a constante de tempo do sensor e equivale a 6 segundos.Funo de Transferncia de Malha Aberta do sistema:

    ( )( )11***

    ++

    +

    sss

    kikskpk

    sP (18)

    4.3.2 - PSCAD

    Uma das vantagens do software PSCAD que possibilita a analise tanto docomportamento dos dispositivos (componentes analgicos) como do controle desenvolvidoem software (componentes digitais).

    Este software desenvolvido pela Manitoba HVDC Research Center Inc [8].Nesta simulao foi considerada a temperatura desejada na sada do tnel de 50C

    que aps as converses devido ao A/D e ao circuito de amplificao da medida correspondeao valor 511, este valor tem que ser inteiro, pois o microcontrolador s trabalha comnmeros inteiros.

    Processo de transformao de C para palavra inteira (exemplo para 50C):

    50C => 0,50V (tenso correspondente a uma medio de 50C) * 5 (circuito deamplificao) * 204,6 (fator de converso do A/D, 10 bits e tenso mxima de 5V) = 0,50 *1023 = 511,5 => 511 (valor inteiro correspondente).

    Esta simulao tem por objetivo validar o sistema de controle, ou seja, verificar se oscomportamentos dos parmetros esto dentro do esperado. Os valores das constantes doPI so determinados experimentalmente devido ao fato do circuito da simulao norepresentar todos os aspectos do ambiente simulado como, por exemplo, a temperatura dasala.

  • 29

    Figura 4.3.2.1 Circuito de alta tenso do PSCAD

    A figura 4.3.2.1 representa a parte do circuito de alta tenso (220V), isto , a fonte dealimentao, o rel de estado slido e a resistncia no tnel. Nesta figura o rel est sendorepresentado por dois GTO, apesar dele ser composto por um TRIAC, o que no invalida asimulao. Um GTO nada mais que um tiristor com um canal de controle, quando aplicada uma corrente reversa neste canal, o GTO desligado. So necessrios dois GTOspara permitir que a potncia seja fornecida resistncia tanto durante o ciclo positivo comono ciclo negativo da tenso da rede.

    Figura 4.3.2.2 Circuito de disparo dos GTO

    A figura 4.3.2.2 representa o circuito responsvel pelo controle dos GTOs, isto , agerao da onda PWM que ir ser aplicada ao canal de controle dos GTOs. Est onda originada em funo de uma onda triangular com uma freqncia de 500Hz e o ciclo detrabalho resultante do circuito de controle. O circuito tambm garante que quando um GTOestiver ligado o outro estar desligado.

    Como o circuito tem um componente de chaveamento, o rel, este chaveamentogera potncia reativa no circuito, sendo assim, a potncia dissipada na resistncia no podeser apenas a corrente atravs dela multiplicada pela sua queda de tenso. O bloco

  • 30

    apresentado na figura 4.3.2.3 representa esse clculo da potncia considerando a potnciareativa do circuito.

    Figura 4.3.2.3 Circuito do clculo da potncia da resistncia

    O bloco da figura 4.3.2.4 transforma essa potncia em temperatura j fazendo amedio desta que a temperatura de sada do tnel.

    Figura 4.3.2.4 Bloco de transformao da potncia em temperatura (modelo do sistema junto com osensor)

    O bloco de controle est apresentado na figura 4.3.2.5. Nela, feita a comparaodas medidas que resulta no erro que usado no PI. A sada do PI passa por um limitadorpor causa das limitaes do sistema digital. O circuito menor apenas para preparar o sinaldo erro para a exibio no grfico.

  • 31

    Figura 4.3.2.5 Bloco de controle

    A simulao foi efetuada por 200 segundos, os grficos abaixo demonstram ocomportamento do circuito.

    A figura 4.3.2.6 apresenta o grfico da tenso que chega na resistncia, ele expressaclaramente o efeito que tem um chaveamento em PWM, a distoro harmnica e os estadoson/off do PWM.

    Figura 4.3.2.6 Forma de onda da resistncia aplicando o sinal PWM

    A potncia fornecida para a resistncia pode ser vista na figura 4.3.2.7. Observa-seque a potncia mxima no incio, isto ocorre porque a temperatura medida est bemabaixo da temperatura desejada e da alta constante de tempo do sistema.

  • 32

    Figura 4.3.2.7 Potncia dissipada na resistncia

    A temperatura medida vista na figura 4.3.2.8. Em funo da alta constante detempo do sistema, a temperatura sobe bastante no comeo, mas depois o sistemaconsegue controlar a sada. O grfico se encontra em regime permanente a partir de maisou menos 80 segundos.

    Figura 4.3.2.8 Temperatura na sada do sistema

    A sada do controlador PI j limitada para o valor 1023 pode ser vista na figura4.3.2.9. Nota-se que o ciclo de trabalho cai rapidamente chegando a zero quando atemperatura est acima da temperatura desejada.

  • 33

    Figura 4.3.2.9 Sada do controle (valor do ciclo de trabalho PWM)

    O erro da medida, diferena entre a temperatura desejada e a medida, pode ser vistono grfico da figura 4.3.2.10.

    Figura 4.3.2.10 Erro da medida observada na sada do sistema

    Com exceo do primeiro grfico (grfico da tenso na resistncia), os demais estoapresentados totalmente, isto , usando todo o intervalo de tempo da simulao. No grficoda tenso, a faixa de tempo de apenas alguns segundos, isso necessrio para podervisualizar a onda que de 60Hz.

    4.3.2.1 - Determinao de K e PT

    A constante K a relao entre o ciclo de trabalho e a temperatura de sada, ela medida aplicando um ciclo de trabalho constante no circuito e mede-se a temperatura emregime permanente de sada. K a temperatura em graus Celsius dividida pelo ciclo de

  • 34

    trabalho. Os valores de K para diferentes ciclos de trabalho esto apresentados na tabela4.3.2.1.

    Ciclo de trabalho Temperatura (C) K123 44 0,358223 46 0,206323 54 0,167423 66 0,156523 69 0,132

    Tabela 4.3.2.1.1 Determinao da constante K

    Verifica-se que a relao entre o ciclo de trabalho e a temperatura no linear, logo,na simulao e no desenvolvimento do projeto foi usado o valor mdio de K, que 0.20.

    PT a relao entre a potncia fornecida resistncia e a temperatura obtida nasada. Este parmetro determinado na simulao. Aplica-se um ciclo de trabalho constantee ajusta-se essa constante at obter a temperatura de sada igual temperatura de sadaverificada experimentalmente para o mesmo ciclo de trabalho.

    Na simulao foi usado o valor 323 para o ciclo de trabalho, logo, PT foi ajustadopara o sistema ter uma sada de 54C. Para esta temperatura, PT igual a 0.04133.

    4.3.2.2 - Determinao da constante de tempo da resistncia

    Para a determinao da constante de tempo, aplica-se um ciclo de trabalhoconstante e espera o sistema entrar em regime permanente. A constante de tempo determinada graficamente e corresponde ao tempo que o sistema leva para variar de 62,3%de seu valor final em condies iniciais nulas, conforme a equao (19).

    ( ) 632,0*TTT if = (19)Onde T a temperatura no tempo igual a constante de tempo do sistema, Tf a

    temperatura final (em regime permanente) e Ti a temperatura inicial do sistema. Aconstante de tempo do sistema de 41,33s.

    O grfico usado para a determinao da constante de tempo pode ser visto na figura4.3.2.2.1. A temperatura final de 85C. e a temperatura inicial de 25C.

  • 35

    Figura 4.3.2.2.1 Forma de onda gerada para um ciclo de trabalho constante

    Esse clculo apresenta um erro porque ele no leva em considerao a constante detempo do sensor, mas como essa bem menor isso no apresenta problemas.

    Como este sistema um sistema trmico ento ele um sistema de primeira ordem.

    4.3.2.3 - Determinao da constante de tempo do sensor

    O datasheet do sensor apresenta a curva de constante de tempo em funo davelocidade do vento ao qual o sensor est imerso.

    A tabela 4.3.2.3.1 apresenta a relao entre a velocidade do vento e a freqnciadefinida no inversor.

    f (freqncia doinversor) Velocidade (m/s)

    Velocidade em FPM(ps por minuto) (s)

    30 5,8 105 840 10,1 184 650 14,2 259 5,560 17,6 320 5

    Tabela 4.3.2.3.1 Relao entre a freqncia do inversor e a velocidade do vento

  • 36

    Com base na tabela 4.3.2.3.1 determinou-se a constante de tempo do sensor deaproximadamente 6s, considerando que o desenvolvimento do projeto foi realizado comuma freqncia no inversor de 40Hz. O sistema de controle pode ser usado paravelocidades maiores o que resulta em uma melhor resposta do controle, melhorando aqualidade do sinal de sada.

  • 37

    5 - Resultados experimentais

    O projeto foi desenvolvido para ser aplicado em uma sala com controle ambientalprecrio, isto , a temperatura da sala no constante. Nos experimentos verificou-se quequanto maior a temperatura ambiente maior a oscilao da temperatura de sada do tnel.Isso se deve ao fato de no haver um controle de resfriamento no sistema, o sistema decontrole desenvolvido atua apenas no aquecimento, assim, quando a sala estava mais friaevitava que a temperatura se elevasse muito acima da desejada. Outra caracterstica doprojeto que a medio da temperatura no feita no interior do tnel, mas em sua sada,logo existe um tempo entre o aquecimento do tnel e esse ar aquecido chegar ao sensor eisto tambm aumenta a interferncia do meio na temperatura do ar aquecido.

    Os cabos que ligam o sensor ao circuito so isolados para evitar que o ar aquecidoos esquente o que resultaria em erro de medio do sensor.

    5.1 - Programao do BasicStep M8

    O programa gravado no BasicStep se encontra em anexo (anexo 3).

    Inicio do programa:

    XMIT INIT 9600RECV INIT 9600RECV INTERRUPT ONMAKEOUT B,2MAKEOUT B,7

    Esta seo define a velocidade de comunicao serial (a velocidade de envio erecepo deve ser a mesma), ativa o suporte a interrupo e define as portas de E/S paraserem usadas, neste caso B,7 o pino da porta B destinado a indicar o estado de operaodo controle (ligado ou desligado) e o pino B,2 destinado a sada PWM. O BasicStep M8possui 3 sadas PWM mas no manual no informa quais so os pinos usados por ela. Opino B,2 foi identificado observando o sinal de sada em um osciloscpio.

  • 38

    Definio das variveis:

    u0% = 0u1% = 2e1% = 0e0% = 0se0 = 0TEMP% = 511ki% = 2kp% = 8y% = 1023

    Esta seo define os estados iniciais de todas as variveis utilizadas no programa.e0% o erro do estado anterior do PI, necessrio definir ele aqui j que ele no gerado naprimeira passagem do programa.se0 o sinal do erro e0%.TEMP% a temperatura desejada inicial, serve apenas para o microcontrolador ter umacondio inicial de trabalho e o programa funcionar corretamente, o valor 511 representauma temperatura de 50C.ki% e kp% so os ganhos do controle PI (obtidos experimentalmente).y% o ciclo de trabalho inicial, 1023 significa que inicialmente a resistncia no recebepotncia.

    PWM:

    PWMB INIT 8, 10PWMB THRESHOLD y%

    Esta seo define qual dos canais PWM ser usado e suas caractersticas (200significa uma freqncia de 500Hz e 10 significa 10bits) e inicia o PWM com o valor de y%definido anteriormente.

    Conversor A/D:

    A2D x%, 5, IDLE

  • 39

    Esta linha define o modo de operao do conversor A/D, o pino a ser utilizado e jfaz a leitura do canal. Neste caso IDLE significa que o microcontrolador colocado emestado de espera para fazer a leitura sem rudos, x% a varivel que ir receber o valorconvertido e 5 significa que ser usado o pino C,5 para fazer a converso.

    O controle PI:

    IF x% = TEMP% THENIF se0 = 0 THEN

    de% = e0%dutemp1% = kp% * de%IF u0% > dutemp1% THEN

    u1% = u0% - dutemp1%ELSE

    SHIFT u0%, 1, RIGHTu1% = u0%

    END IFEND IFIF se0 = 1 THEN

    de% = e0%dutemp1% = kp% * de%u1% = u0% + dutemp1%

    END IFEND IFIF x% > TEMP% THEN

    se1 = 1e1% = x% - TEMP%IF se0 = 1 THEN

    IF e1% = e0% THENdutemp2% = ki% * e1%IF u0% > dutemp2% THEN

    u1% = u0% - dutemp2%ELSE

    SHIFT u0%, 1, RIGHTu1% = u0%

    END IF

  • 40

    END IFIF e1% > e0% THEN

    de% = e1% - e0%dutemp1% = kp% * de%dutemp2% = ki% * e1%IF u0% > du% THEN

    u1% = u0% - du%ELSE

    SHIFT u0%, 1, RIGHTu1% = u0%

    END IFEND IFIF e0% > e1% THEN

    de% = e0% - e1%dutemp1% = kp% * de%dutemp2% = ki% * e1%IF dutemp1% > dutemp2% THEN

    du% = dutemp1% - dutemp2%u1% = u0% + du%

    END IFIF dutemp2% > dutemp1% THEN

    du% = dutemp2% - dutemp1%IF u0% > du% THEN

    u1% = u0% - du%ELSE

    SHIFT u0%, 1, RIGHTu1% = u0%

    END IFEND IFIF dutemp1% = dutemp2% THEN

    u1% = u0%END IF

    END IFEND IFIF se0 = 0 THEN

    de% = e1% - e0%

  • 41

    dutemp1% = kp% * de%dutemp2% = ki% * e1%du% = dutemp1% + dutemp2%IF u0% > du% THEN

    u1% = u0% - du%ELSE

    SHIFT u0%, 1, RIGHTu1% = u0%

    END IFEND IF

    END IFIF TEMP% > x% THEN

    se1 = 0e1% = TEMP% - x%IF se0 = 0 THEN

    IF e1% = e0% THENdutemp2% = ki% * e1%u1% = u0% + dutemp2%

    END IFIF e1% > e0% THEN

    de% = e1% - e0%dutemp1% = kp% * de%dutemp2% = ki% * e1%du% = dutemp1% + dutemp2%u1% = u0% + du%

    END IFIF e0% > e1% THEN

    de% = e0% - e1%dutemp1% = kp% * de%dutemp2% = ki% * e1%IF dutemp2% > dutemp1% THEN

    du% = dutemp2% - dutemp1%u1% = u0% + du%

    END IFIF dutemp1% > dutemp2% THEN

    du% = dutemp1% - dutemp2%

  • 42

    IF u0% > du% THENu1% = u0% - du%

    ELSESHIFT u0%, 1, RIGHTu1% = u0%

    END IFEND IFIF dutemp1% = dutemp2% THEN

    u1% = u0%END IF

    END IFEND IFIF se0 = 1 THEN

    de% = e1% + e0%dutemp1% = kp% * de%dutemp2% = ki% * e1%du% = dutemp1% + dutemp2%u1% = u0% + du%

    END IFEND IF

    Esta seo a responsvel pela gerao do novo ciclo de trabalho da onda PWM(u1%), ela muito extensa por causa das limitaes do microcontrolador, pois este strabalha com valores inteiros e sem sinal.

    Limitao do PWM:

    IF u1% < 2 THENu1% = 2

    END IFIF u1% > 800 THEN

    u1% = 800END IF

    Esta seo tem a finalidade de limitar os possveis valores do ciclo PWM entre 2 e800. Valores acima de 800 podem causar superaquecimento do tnel danificando-o se atemperatura subir demais (algo acima de 80C).

  • 43

    Implementao do PWM:

    y% = 1024 - u1%PWMB THRESHOLD y%

    Esta seo inverte o sinal PWM e coloca efetivamente a onda no pino C,5. Essainverso necessria porque quando o pino C,5 se encontra em nvel lgico alto istosignifica que a resistncia no recebe potncia.

    Preparao para um novo ciclo do programa:

    e0% = e1%se0 = se1u0% = u1%

    Nesta seo so armazenadas as variveis modificadas durante o programa paraserem usadas novamente.

    Comunicao para o PC:

    SHIFT x%, 2, RIGHTtemperatura = x%XMIT OUT temperatura

    Nesta seo o programa prepara a medida proveniente do sensor e a envia para ocomputador. A linha SHIFT x%, 2, RIGHT tem a finalidade de reduzir o tamanho dainformao da medida de 10bits para 8bits deslocando o valor 2bits para a direita, o quesignifica dividir o valor da medida por 4, com isso a medida pode ser enviada atravs de umnico byte. A linha temperatura=x% grava o valor de x% que uma varivel do tipo inteiraem uma varivel do tipo byte, os 8bits menos significativos so gravados. E a ltima linhaenvia o dado pela sada serial para o computador.

    Estado do circuito:

    TOGGLE B,7

  • 44

    Esta linha para acionar o LED para indicar se o circuito est em operao (LEDpiscando) ou no (LED apagado).

    Amostragem:

    PAUSE 1000

    Est linha indica que o tempo de amostragem e operao do programa deaproximadamente 1 segundo. O tempo um pouco maior devido ao tempo de execuo doprograma, tempo de converso do A/D e tempo de envio da medida pela sada serial. Essetempo foi definido baseado na constante de tempo do sistema que na ordem de 40segundos. Como o tempo de um segundo, o parmetro h do PI 1 e no precisa serescrito no programa.

    A interrupo:

    IF rflag = 1 THENTEMP% = rbyte * 10.23rflag = 0

    END IF

    INTERRUPT RECVPUSHFLAGSPUSHREGrflag = 1RECV IN rbyte, errflagPOPREGPOPFLAGS

    END INTERRUPT

    Estas duas sees so responsveis pelo tratamento da interrupo, onde oprograma salva seu estado (PUSHFLAGS e PUSHREG), indica ao programa que foi geradauma interrupo (rflag=1) permitindo que o programa entre na rotina de interrupo, tambmarmazena o dado do recurso que causou a interrupo e restaura o estado do programa(POPREG e POPFLAGS) terminando a interrupo. Neste programa, a interrupo geradaquando o CVI envia a temperatura desejada pela porta serial. Neste caso, o valor

  • 45

    armazenado na varivel rbyte e aps passar pela rotina de interrupo, este valor armazenado na varivel TEMP% para ser utilizado no programa.

    A rotina de interrupo responsvel por zerar o pedido de interrupo (rflag=0).

    5.2 - Programao no PC (Ambiente LabWindows/CVI)

    Este software desenvolvido pela National Instruments e destinado principalmentepara aplicaes grficas baseadas em linguagem C [9] para ambientes de medio einstrumentao [2].

    O programa desenvolvido em CVI tem duas finalidades, permitir que o usurioinforme ao microcontrolador a temperatura de sada desejada e obter a leitura datemperatura de sada.

    O programa consiste em quatro arquivos, so eles: M8TMP.c onde se encontra o programa desenvolvido, parte escrita, pode ser

    editado atravs do CVI ou por um editor de texto puro qualquer. M8TMP.h Esse arquivo criado pelo prprio CVI, o header do programa. M8TMP.prj o arquivo de projeto, tambm criado automaticamente pelo CVI,

    neste se encontram informaes sobre os demais arquivos e parmetros do CVI. M8TMP.uir Este arquivo contem a interface grfica do programa, deve ser editado

    somente atravs do CVI.Os arquivos se encontram em anexo (anexos 4.1 a 4.3), nota-se que o arquivo

    M8TMP.uir no um arquivo editvel.

    A construo do arquivo M8TMP.c utiliza a linguagem C.

    #include #include #include #include #include #include #include "M8TMP.h"

  • 46

    Nesta seo so includas todas as bibliotecas e headers utilizados pelo programa, oCVI inclu automaticamente as informaes necessrias conforme o programa desenvolvido.

    short int n2,ler_bytes;

    int panel_handle,erro,

    flag = 0,porta = 0,step = 0,i,resetbox = 0,datafile,logtime,log_count = 0,log_flag = 0,log_A = 0,inqlen;

    static int panelHandle;char escrita[80],

    porta_serial[30],passo[10],entrada[30],transfer[30],resultstr[500],logfilename[100];

    double fractpart,n,

    intpart,fractpartB,intpartB;

    Esta seo define as variveis do programa.

  • 47

    int main (int argc, char *argv[]){

    if (InitCVIRTE (0, argv, 0) == 0) /* Needed if linking in external compiler;harmless otherwise */

    return -1; /* out of memory */if ((panel_handle = LoadPanel (0, "M8TMP.uir", PANEL)) < 0)

    return -1;DisplayPanel (panel_handle);RunUserInterface ();return 0;

    }

    Esta seo criada automaticamente pelo CVI, nela est indicado o arquivo quecontm a interface grfica do programa.

    int CVICALLBACK StartCallBack (int panel, int control, int event,void *callbackData, int eventData1, int eventData2)

    {int ligado;char setupstr[200], dirname[MAX_PATHNAME_LEN];switch (event) {

    case EVENT_COMMIT:GetCtrlVal (panel_handle, PANEL_LIGADO, &ligado);if (ligado) {

    GetCtrlVal (panel_handle, PANEL_LOG, &logtime); GetProjectDir (dirname); sprintf (logfilename,"%s\\results.log", dirname); datafile = OpenFile

    (logfilename,VAL_WRITE_ONLY,VAL_TRUNCATE, VAL_ASCII); sprintf (setupstr,"Arquivo de log do programa de

    Monitoracao de Temperatura \n--------------------------------------------------------\n Criado em:Data: %s Hora: %s \n\n", DateStr(), TimeStr());

    WriteFile (datafile, setupstr, StringLength (setupstr)); SetCtrlAttribute (panel_handle, PANEL_OK,

    ATTR_DIMMED, 0); strcpy(&porta_serial[0], "COM1");

  • 48

    erro = OpenComConfig (1, porta_serial, 9600, 0, 8, 1, 512,512);

    porta = 1; }

    else { SetCtrlAttribute (panel_handle, PANEL_OK,

    ATTR_DIMMED, 1); erro = CloseCom (1); step = 0; flag=0; }

    break;}return 0;

    }

    O programa executa esta seo quando o usurio clica na chave Ligado noprograma, tambm definida a varivel ligado, essa varivel local essa seo ento afetademais reas do programa. Aqui a comunicao serial inicializada e criado o arquivo delog. Aps o evento da chave Ligar o programa disponibiliza o boto para a aquisio dosdados ao usurio, isso importante para evitar que o usurio tente ler um dado da portaserial antes desta ter sido iniciada.

    int CVICALLBACK QuitCallBack (int panel, int control, int event,void *callbackData, int eventData1, int eventData2)

    {switch (event) {

    case EVENT_COMMIT:if (porta == 0) erro = CloseCom (1);QuitUserInterface (0);break;

    }return 0;

    }

  • 49

    Esta seo de encerramento do programa, o procedimento executado quando ousurio clica no boto Sada do programa. Aqui a comunicao com a porta serial encerrada liberando-a para uso pelo sistema operacional. O programa tambm fechado.

    int CVICALLBACK EscreveCallBack (int panel, int control, int event,void *callbackData, int eventData1, int eventData2)

    {switch (event) {

    case EVENT_COMMIT: {flag=1;}break;

    }return 0;

    }

    Esta seo apenas informa ao programa para iniciar os procedimentos de leitura damedida e gravao do arquivo de log.

    void UpdateTextBoxA (char* event_gen){ char display_str[30];

    Fmt(display_str, "%s

  • 50

    case EVENT_TIMER_TICK:if (flag == 1) {ler_bytes = ComRdByte (1);sprintf(transfer,"%u",ler_bytes);n = atof(transfer);n = n/2.5;fractpart = modf (n , &intpart);

    fractpartB = fractpart * 10; fractpartB = modf (fractpartB , &intpartB); if (fractpartB < 0.5 ) { n = intpart + (intpartB / 10); } else { n = intpart + ((intpartB + 1) / 10); }

    sprintf (transfer, "%0.1f", n);sprintf (passo, "%0.1u", step);step = step + 1;UpdateTextBoxA(transfer);log_count = log_count + 1;

    if (log_count >= logtime) {sprintf (resultstr, "%s %s\n", passo, transfer);WriteFile (datafile, resultstr, StringLength(resultstr));log_count = 0;}

    resetbox = resetbox + 1;if (resetbox == 20) {

    ResetTextBox (panel_handle, PANEL_TEXTBOXA, "");resetbox = 0;}

    inqlen = GetInQLen (1);SetCtrlVal (panel_handle, PANEL_Buffer, inqlen);if (inqlen > 10)

    FlushInQ (1);}

    }

  • 51

    return 0;}

    Esta seo faz o tratamento do dado recebido pela porta serial, o dado recebido um inteiro sem sinal, aqui este valor convertido e transformado em um valor de pontoflutuante para ser exibido para o usurio. A converso necessria porque, como j citadoanteriormente, quando o microcontrolador envia o valor 511, por exemplo, este valorcorresponde temperatura de 50C.

    Nesta seo tambm feita a gravao da informao no arquivo de log baseado notempo determinado pelo usurio.

    Para garantir que o dado apresentado na tela fosse atual, o programa verifica otamanho do buffer de entrada da porta serial, se for maior que 10, ele zera esse buffer,assim o do apresentado est atrasado em no mximo 10 segundos. Na interface grficaexiste um campo que exibe o tamanho desse buffer. Durante o experimento verificou-se queo tamanho, aps algum tempo de execuo, caa para 0, ou seja, o dado exibido era o dadomais atual medido.

    As caixas de exibio do CVI tm um limite de quantidade de informaes que elaspodem receber, quando o limite atingido, os novos valores no so exibidos. Paracontornar esse problema, a caixa de exibio apagada a cada 20 valores exibidos.

    int CVICALLBACK ViewDataFile (int panel, int control, int event,void *callbackData, int eventData1, int eventData2)

    {char tempstr[100];

    switch (event) {case EVENT_COMMIT:

    CloseFile (datafile);sprintf (tempstr,"Notepad.exe %s", logfilename);LaunchExecutable (tempstr);datafile = OpenFile

    (logfilename,VAL_WRITE_ONLY,VAL_APPEND,VAL_ASCII);}return 0;

    }

  • 52

    Esta seo exibe o arquivo de log abrindo-o no Bloco de Notas. A exibio pode serfeita com o programa em execuo, no necessrio parar a medio.

    int CVICALLBACK LOGTIME (int panel, int control, int event,void *callbackData, int eventData1, int eventData2)

    {switch (event) {

    case EVENT_COMMIT:GetCtrlVal (panel_handle, PANEL_LOG, &logtime);break;

    }return 0;

    }

    Esta seo informa ao programa o tempo em que as medidas devem ser gravadasno arquivo de log. O usurio seleciona esse tempo atravs de uma barra de rolagem nainterface grfica.

    int CVICALLBACK SerialCallBack (int panel, int control, int event,void *callbackData, int eventData1, int eventData2)

    {switch (event) {

    case EVENT_COMMIT:GetCtrlVal (panel_handle, PANEL_Janela_2, &n2);ComWrtByte (1,n2);break;

    }return 0;

    }

    Nesta ltima seo feito o procedimento de envio da medida informada pelousurio como medida desejada de temperatura na sada do tnel. O valor enviado emgraus Celsius.

    A figura 5.2.1 apresenta a interface grfica, nesta interface que o usurio interagecom o programa. O usurio pode alterar a temperatura de 5C para a faixa de 25C at95C.

  • 53

    Figura 5.2.1 Tela do programa CVI para o usurio final

    Nota-se que o boto de leitura est desabilitado, para habilit-lo, o usurio devepressionar a chave Ligar.

    5.3 - O sistema em funcionamento

    Aps a concluso da montagem, ajustes das constantes do PI e programao, foramrealizadas algumas medidas para verificar o funcionamento do sistema.

    Foi verificado experimentalmente que as constantes do PI tinham que ser bempequenas, seno o sinal de erro apresentava uma grande amplitude. O problema era quecom valores maiores e em funo da lenta resposta do sistema, o ciclo PWM atingiarapidamente seus valores extremos, 1023 e 2.

    A figura 5.3.1 apresenta a temperatura medida para uma temperatura desejada de50C. Para esta medio foi utilizada uma freqncia de 60Hz no inversor, o que forneceuma velocidade do vento de aproximadamente 17,6m/s ou 320 FPM (ps por minuto). Estafigura apresenta a medida, em vermelho, e o erro, em azul. Pode-se verificar que o sistemaatinge a temperatura desejada em aproximadamente 55 segundos. A constante de tempo 26 segundos.

    A figura 5.3.2 apresenta uma situao em que a temperatura inicial definida de50C e aps 600 segundos, o usurio define a temperatura desejada de 60C.

  • 54

    Figura 5.3.1 Curvas da temperatura e erro observadas para uma temperatura definida de 50C

    Figura 5.3.2 Curvas da temperatura e erro observadas para uma temperatura definida de 50C eposteriormente alterada para 60C

    O rel utilizado possui um circuito tipo detetor de zero, isto , ele acionado quandoa onda senoidal da rede passa pela tenso de 0V. Assim foi utilizado um sinal PWM debaixa freqncia. Com o sinal em nvel baixo, o controle permite a passagem da tenso darede normalmente para a resistncia do tnel e com o sinal em nvel alto, no h tensosendo aplicada na resistncia. Os sinais de tenso da rede aplicada ao tnel de vento e doPWM podem ser vistos na figura 5.3.3.

  • 55

    Figura 5.3.3 Forma de onde PWM (1) e tenso da rede aplicada a resistncia (2)

  • 56

    6 - Concluso

    O sistema de controle de temperatura desenvolvido apresentou um resultadobastante satisfatrio. Um cuidado que se deve ter que ele sofre influncia da temperaturaexterna. Os erros observados para uma temperatura ambiente de 21C variam entre 3C e+3C aproximadamente e para temperatura ambiente de 25C a variao do erro aproximadamente de 5C at +6C.

    A temperatura ambiente influencia o overshoot do sistema. Com a sala mais quenteobserva-se um overshoot maior.

    A constante de tempo do circuito controlado bem menor significando uma respostamais rpida do sistema. No sistema no controlado a constante de tempo de 41,33segundos e no sistema controlado de 26 segundos.

    As medidas observadas demonstraram que a freqncia do inversor no teminfluncia sobre o controle, isto ocorre provavelmente porque os valores utilizados (30Hz a60Hz) se encontram prximos ao joelho da curva da constante de tempo do sensor. Se avelocidade do vento fosse significativamente menor ou maior, o sistema apresentariarespostas diferentes s observadas.

    Os circuitos utilizados no projeto so circuitos de baixo custo e facilmenteencontrados.

    Como este projeto utiliza um microcontrolador para fazer a aquisio dos dados econtrole da sada, ele facilmente adaptado para outras funes, j que o microcontrolador um componente que possibilita diversos usos e ainda dispe de comunicao direta com ocomputador.

    As linguagens utilizadas na elaborao dos programas (linguagem C e Basic) solinguagens j bem estabelecidas atualmente, o que facilita sua utilizao pois existemmuitas fontes de informaes sobre elas.

    A interao do usurio com o sistema bem simples e direta, o que facilita bastanteseu uso.

    Para melhorar ainda mais o controle do sistema poderia futuramente desenvolver umsistema com dois sensores, um mais prximo da resistncia, o que reduziria o tempo deresposta e conseqentemente melhorava o funcionamento do controle. Tambm poderia serutilizado um controle tipo PID (proporcional controlador - derivativo) que um pouco maiscomplexo, mas deve apresentar uma resposta melhor.

    O projeto se encontra, at a presente data, disponvel para uso pelo pessoal dolaboratrio de turbulncia do Centro de Tecnologia da UFRJ, sala I - 138.

  • 57

    Bibliografia

    [1] Mohan, N.; Undeland, T.M.; Robins, W.P.; Power Electronics Converters,Applications, and Design, John Wiley & Sons, New York, 1995, ISBN: 0-471-58408-8.

    [2] National Instruments; LabWindows/CVI Getting Started withLabwindows/CVI, September 2004 Edition.

    [3] Boylestad, R.; Nashelsky, L.; Dispositivos Eletrnicos e Teoria de Circuitos,Prentice-Hall do Brasil, Rio de Janeiro, 1984,

    [4] Torres, Gabriel; Hardware Curso Completo, Axcell Books do Brasil, Rio deJaneiro, 1998, ISBN: 85-7323-087-8.

    [5] Dorf, Richard C.; Bishop, Robert H.; Sistemas de Controle Modernos, 8Edio, ED. Ltc, Rio de Janeiro 1998.

    [6] NATIONAL. LM35 Precision Centigrade Temperature Sensor Datasheet.National Semiconductor Inc, 1986.

    [7] ATMEL. Atmega8/Atmega8L Datasheet. Atmel Corporation, 2006[8] Manitoba HVDC Research Center. PSCAD on-line help.[9] Schildt, Herbert; C Completo e Total, Makron Books, 3 Edio, So Paulo,

    1996, ISBN: 85-346-0595-5.

  • 58

    Anexos

    1. Dados do Rel

    Diagrama do rel modelo S505-0SJ640-000 desenvolvido pela Continental Industries Inc.

    Exemplos de modos de operao de um rel de estado slido: (a) assncrono, (b) sncrono

  • 59

    2. Diagrama do circuito

  • 60

    3. Programa gravado no microcontrolador BasicStep M8

    XMIT INIT 9600RECV INIT 9600RECV INTERRUPT ONMAKEOUT B,2MAKEOUT B,7u0% = 0u1% = 2e1% = 0e0% = 0se0 = 0TEMP% = 511ki% = 2kp% = 8y% = 1023PWMB INIT 8, 10PWMB THRESHOLD y%

    DOA2D x%, 5, IDLEIF x% = TEMP% THEN

    IF se0 = 0 THENde% = e0%dutemp1% = kp% * de%IF u0% > dutemp1% THEN

    u1% = u0% - dutemp1%ELSE

    SHIFT u0%, 1, RIGHTu1% = u0%

    END IFEND IFIF se0 = 1 THEN

    de% = e0%dutemp1% = kp% * de%u1% = u0% + dutemp1%

    END IFEND IFIF x% > TEMP% THEN

    se1 = 1e1% = x% - TEMP%IF se0 = 1 THEN

    IF e1% = e0% THEN

  • 61

    dutemp2% = ki% * e1%IF u0% > dutemp2% THEN

    u1% = u0% - dutemp2%ELSE

    SHIFT u0%, 1, RIGHTu1% = u0%

    END IFEND IFIF e1% > e0% THEN

    de% = e1% - e0%dutemp1% = kp% * de%dutemp2% = ki% * e1%IF u0% > du% THEN

    u1% = u0% - du%ELSE

    SHIFT u0%, 1, RIGHTu1% = u0%

    END IFEND IFIF e0% > e1% THEN

    de% = e0% - e1%dutemp1% = kp% * de%dutemp2% = ki% * e1%IF dutemp1% > dutemp2% THEN

    du% = dutemp1% - dutemp2%u1% = u0% + du%

    END IFIF dutemp2% > dutemp1% THEN

    du% = dutemp2% - dutemp1%IF u0% > du% THEN

    u1% = u0% - du%ELSE

    SHIFT u0%, 1, RIGHTu1% = u0%

    END IFEND IFIF dutemp1% = dutemp2% THEN

    u1% = u0%END IF

    END IFEND IFIF se0 = 0 THEN

    de% = e1% - e0%dutemp1% = kp% * de%

  • 62

    dutemp2% = ki% * e1%du% = dutemp1% + dutemp2%IF u0% > du% THEN

    u1% = u0% - du%ELSE

    SHIFT u0%, 1, RIGHTu1% = u0%

    END IFEND IF

    END IFIF TEMP% > x% THEN

    se1 = 0e1% = TEMP% - x%IF se0 = 0 THEN

    IF e1% = e0% THENdutemp2% = ki% * e1%u1% = u0% + dutemp2%

    END IFIF e1% > e0% THEN

    de% = e1% - e0%dutemp1% = kp% * de%dutemp2% = ki% * e1%du% = dutemp1% + dutemp2%u1% = u0% + du%

    END IFIF e0% > e1% THEN

    de% = e0% - e1%dutemp1% = kp% * de%dutemp2% = ki% * e1%IF dutemp2% > dutemp1% THEN

    du% = dutemp2% - dutemp1%u1% = u0% + du%

    END IFIF dutemp1% > dutemp2% THEN

    du% = dutemp1% - dutemp2%IF u0% > du% THEN

    u1% = u0% - du%ELSE

    SHIFT u0%, 1, RIGHTu1% = u0%

    END IFEND IFIF dutemp1% = dutemp2% THEN

    u1% = u0%

  • 63

    END IFEND IF

    END IFIF se0 = 1 THEN

    de% = e1% + e0%dutemp1% = kp% * de%dutemp2% = ki% * e1%du% = dutemp1% + dutemp2%u1% = u0% + du%

    END IFEND IFIF u1% < 2 THEN

    u1% = 2END IFIF u1% > 800 THEN

    u1% = 800END IFy% = 1024 - u1%PWMB THRESHOLD y%e0% = e1%se0 = se1u0% = u1%SHIFT x%, 2, RIGHTtemperatura = x%XMIT OUT temperaturaTOGGLE B,7IF rflag = 1 THEN

    TEMP% = rbyte * 10.08rflag = 0

    END IFPAUSE 1000

    LOOP

    INTERRUPT RECVPUSHFLAGSPUSHREGrflag = 1RECV IN rbyte, errflagPOPREGPOPFLAGS

    END INTERRUPT

  • 64

    4. Programas desenvolvidos em CVI

    4.1 M8TMP.c

    #include #include #include #include #include #include #include "M8TMP.h"

    short int n2,ler_bytes;

    int panel_handle,erro,

    flag = 0,porta = 0,step = 0,i,resetbox = 0,datafile,logtime,log_count = 0,log_flag = 0,log_A = 0,inqlen;

    static int panelHandle;char escrita[80],

    porta_serial[30],passo[10],entrada[30],transfer[30],resultstr[500],logfilename[100];

    double fractpart,n,

    intpart,fractpartB,intpartB;

  • 65

    int main (int argc, char *argv[]){

    if (InitCVIRTE (0, argv, 0) == 0) /* Needed if linking in external compiler; harmless otherwise */return -1; /* out of memory */

    if ((panel_handle = LoadPanel (0, "M8TMP.uir", PANEL)) < 0)return -1;

    DisplayPanel (panel_handle);RunUserInterface ();return 0;

    }

    int CVICALLBACK StartCallBack (int panel, int control, int event,void *callbackData, int eventData1, int eventData2)

    {int ligado;char setupstr[200], dirname[MAX_PATHNAME_LEN];switch (event) {

    case EVENT_COMMIT:GetCtrlVal (panel_handle, PANEL_LIGADO, &ligado);if (ligado) {

    GetCtrlVal (panel_handle, PANEL_LOG, &logtime); GetProjectDir (dirname); sprintf (logfilename,"%s\\results.log", dirname); datafile = OpenFile (logfilename,VAL_WRITE_ONLY,VAL_TRUNCATE,

    VAL_ASCII); sprintf (setupstr,"Arquivo de log do programa de Monitoracao de

    Temperatura \n--------------------------------------------------------\n Criado em: Data: %s Hora: %s \n\n", DateStr(),TimeStr());

    WriteFile (datafile, setupstr, StringLength (setupstr)); SetCtrlAttribute (panel_handle, PANEL_OK, ATTR_DIMMED, 0); strcpy(&porta_serial[0], "COM1"); erro = OpenComConfig (1, porta_serial, 9600, 0, 8, 1, 512, 512); porta = 1; }

    else { SetCtrlAttribute (panel_handle, PANEL_OK, ATTR_DIMMED, 1); erro = CloseCom (1); step = 0; flag=0; }

    break;}return 0;

  • 66

    }

    int CVICALLBACK QuitCallBack (int panel, int control, int event,void *callbackData, int eventData1, int eventData2)

    {switch (event) {

    case EVENT_COMMIT:if (porta == 0) erro = CloseCom (1);QuitUserInterface (0);break;

    }return 0;

    }

    int CVICALLBACK EscreveCallBack (int panel, int control, int event,void *callbackData, int eventData1, int eventData2)

    {switch (event) {

    case EVENT_COMMIT: {flag=1;}break;

    }return 0;

    }

    void UpdateTextBoxA (char* event_gen){ char display_str[30];

    Fmt(display_str, "%s

  • 67

    sprintf(transfer,"%u",ler_bytes);n = atof(transfer);n = n/2.5;fractpart = modf (n , &intpart);

    fractpartB = fractpart * 10; fractpartB = modf (fractpartB , &intpartB); if (fractpartB < 0.5 ) { n = intpart + (intpartB / 10); } else { n = intpart + ((intpartB + 1) / 10); }

    sprintf (transfer, "%0.1f", n);sprintf (passo, "%0.1u", step);step = step + 1;UpdateTextBoxA(transfer);log_count = log_count + 1;

    if (log_count >= logtime) {sprintf (resultstr, "%s %s\n", passo, transfer);WriteFile (datafile, resultstr, StringLength(resultstr));log_count = 0;}

    resetbox = resetbox + 1;if (resetbox == 20) {

    ResetTextBox (panel_handle, PANEL_TEXTBOXA, "");resetbox = 0;}

    inqlen = GetInQLen (1);SetCtrlVal (panel_handle, PANEL_Buffer, inqlen);if (inqlen > 10)

    FlushInQ (1);}

    }return 0;

    }

    int CVICALLBACK ViewDataFile (int panel, int control, int event,void *callbackData, int eventData1, int eventData2)

    {char tempstr[100];

    switch (event) {case EVENT_COMMIT:

    CloseFile (datafile);sprintf (tempstr,"Notepad.exe %s", logfilename);

  • 68

    LaunchExecutable (tempstr);datafile = OpenFile (logfilename,VAL_WRITE_ONLY,VAL_APPEND,VAL_ASCII);

    }return 0;

    }

    int CVICALLBACK LOGTIME (int panel, int control, int event,void *callbackData, int eventData1, int eventData2)

    {switch (event) {

    case EVENT_COMMIT:GetCtrlVal (panel_handle, PANEL_LOG, &logtime);break;

    }return 0;

    }

    int CVICALLBACK SerialCallBack (int panel, int control, int event,void *callbackData, int eventData1, int eventData2)

    {switch (event) {

    case EVENT_COMMIT:GetCtrlVal (panel_handle, PANEL_Janela_2, &n2);ComWrtByte (1,n2);break;

    }return 0;

    }

    4.2 M8TMP.h (headrers, gerado automticamente)

    /**************************************************************************//* LabWindows/CVI User Interface Resource (UIR) Include File *//* Copyright (c) National Instruments 2006. All Rights Reserved. *//* *//* WARNING: Do not add to, delete from, or otherwise modify the contents *//* of this include file. *//**************************************************************************/

    #include

    #ifdef __cplusplus

  • 69

    extern "C" {#endif

    /* Panels and Controls: */

    #define PANEL 1#define PANEL_LIGADO 2 /* callback function: StartCallBack */#define PANEL_OK 3 /* callback function: EscreveCallBack */#define PANEL_QUIT 4 /* callback function: QuitCallBack */#define PANEL_TEXTBOXA 5#define PANEL_Log 6 /* callback function: ViewDataFile */#define PANEL_LOG 7 /* callback function: LOGTIME */#define PANEL_Buffer 8#define PANEL_Janela_2 9#define PANEL_COMMANDBUTTON 10 /* callback function: SerialCallBack */#define PANEL_Tempo 11 /* callback function: TimerCallBack */

    /* Menu Bars, Menus, and Menu Items: */

    /* (no menu bars in the resource file) */

    /* Callback Prototypes: */

    int CVICALLBACK EscreveCallBack(int panel, int control, int event, void *callbackData, int eventData1, inteventData2);int CVICALLBACK LOGTIME(int panel, int control, int event, void *callbackData, int eventData1, int eventData2);int CVICALLBACK QuitCallBack(int panel, int control, int event, void *callbackData, int eventData1, inteventData2);int CVICALLBACK SerialCallBack(int panel, int control, int event, void