Preview only show first 10 pages with watermark. For full document please download

Controle - I

Encontrar a função de transferência mais aproximada para um sistema térmico

   EMBED


Share

Transcript

32 11 FACULDADE PITÁGORAS DE BETIM 6º Período de Engenharia Elétrica, 1º semestre 2014 Jonathan Henrique, Moisés Clemente, Tiago Alves Coimbra, Warley Oliveira TRABALHO DE TEORIA DE CONTROLE MODERNO I Montagem e análise da resposta de sistema térmico Betim 2014 Jonathan Henrique, Moisés Clemente, Tiago Alves Coimbra, Warley Oliveira. TRABALHO DE TEORIA DE CONTROLE MODERNO I Montagem e análise da resposta de sistema térmico Trabalho acadêmico apresentado à disciplina Teoria de Controle Moderno I do curso de Engenharia Elétrica na Faculdade Pitágoras de Betim para soma de pontos com peso de avaliação parcial e conteúdo para auxiliar o entendimento sobre sistemas dinâmicos. Orientador: Marcelo Sousa Neves Betim 2014 RESUMO Este trabalho teve como objetivo a coleta de dados de um sistema térmico em malha aberta e a utilização de recursos computacionais avançados para encontrar a função de transferência que mais se aproxima, matematicamente, do sistema em questão, sendo os meios para esse fim de livre escolha de cada grupo, preservando alguns critérios na montagem do sistema físico, tais como o modelo do aquecedor, utilização de água como o meio a ser aquecido e a fonte de alimentação que deveria estar dentro de valores pré-determinados na descrição do trabalho. Foram realizados alguns ensaios que mostraram que o meio ambiente influencia diretamente na resposta do sistema, comprovando que há uma variável ou até mesmo uma função que descreve essa perturbação na resposta coletada e que torna a busca da função de transferência ainda mais complexa e difícil de ser elaborada. Chegou-se então à conclusão de utilizar simplesmente os valores da temperatura em um intervalo de tempo correspondente ao início do aquecimento da água até sua estabilidade, mantidos os dados dos primeiros testes a título de comparação com o resultado escolhido que é aquele em que se utilizou uma caixa térmica para amenizar a influencia do ar ambiente. Palavras-chave: Sistema térmico. Computacionais. Função de transferência . Dados. ABSTRACT This study aimed to collect data from a thermal open-loop system and the use of advanced computational resources to find the transfer function that is closest, mathematically, the system in question, and the means to that end of free choice of each group while preserving some criteria assembling the physical system, such as the model of the heater, using water as the medium to be heated and the power supply should be within predetermined values in the job description . Some tests have shown that the environment directly influences the response of the system , proving that there is a variable or even a function that describes this disorder in response collected and that makes the search function even more complex and difficult to transfer were performed elaborate . We came to the conclusion simply using the temperature values at a time corresponding to the beginning of heating water up to their stability , kept the data of the first tests for comparison with the result that it is chosen the one which used an insulated box to reduce the influence of the ambient air . Keywords: Thermal system. Computing. Transfer function. Data. LISTA DE FIGURAS Figura 1: Fonte 8 Figura 2: Ebulidor 9 Figura 3: Recipiente 9 Figura 4: Placa Arduino Leonardo 10 Figura 5: Sensor LM35 11 Figura 6: Arduino Leonardo 11 Figura 7: Software Arduino.............................................................................................................. 11 Figura 8: Monitor de Serial .............................................................................................................. 12 Figura 9: TEMPer1 e DC instalação 13 Figura 10: Log 14 Figura 11: Janela das curvas instantânea e média 14 Figura 12: Janela Opções 15 Figura 13: Teste abortado devido a condições desfavoráveis 17 Figura 14: Janela Identificação de Sistemas 23 Figura 15: Janela Identificação de Sistemas 24 Figura 16: Diretório do arquivo a ser utilizado 24 Figura 17: Janela do Import 25 Figura 18: Workspace 25 Figura 19: Ferramenta de Identificação de Sistemas....................................................................... 24 Figura 20: Import Data....................................................................................................................... 26 Figura 21: Ferramenta de Identificação de Sistemas 26 Figure 22: Ferramenta de Identificação de Sistemas 27 Figure 23: Caixa de diálogo de informação de erro em alguma variável 27 Figure 24: Identificação da falha na variável 28 Figure 25: Cálculo da função de transferência 28 Figure 26: Modelo simulado salvo como P1 29 SUMÁRIO 1 INTRODUÇÃO 7 1.1 Objetivo 7 2 OBTENÇÃO DA PARTE FÍSICA DO SISTEMA 8 2.1 A fonte 8 2.2 O ebulidor 8 2.2.1 Características 8 2.3 O recipiente 9 3 ESCOLHA DO COLETOR DE DADOS 10 3.1 LM35 Via placa Arduino 10 3.1.1 O LM35 10 3.1.1.1Características...............................................................................................................10 3.1.2 A placa Arduino Leonardo 11 3.1.2.1 Características..............................................................................................................11 3.2 O TEMPer1 12 3.2.1 Características 13 3.2.2 Instruções de instalação 13 3.2.2.1 Instrução de instalação do software............................................................................13 3.2.2.2 Instrução de instalação do hardware..........................................................................13 3.2.3 Instruções de operação 13 3.2.3.1 Log................................................................................................................................14 3.2.3.2 Display de curvas………………………………….…..................…............………………14 3.2.3.3 As configurações para salvar arquivos......................................................................15 3.2.4 Especificações físicas 15 4 COLETA DE DADOS 15 5 ENCONTRAR A FUNÇÃO DE TRANSFERENCIA POR TENTATIVA 19 6 UTILIZANDO MATLAB - IDENT Erro! Indicador não definido. 7 CONCLUSÃO Erro! Indicador não definido.32 1 INTRODUÇÃO Este trabalho teve o propósito de obter e analisar o modelo matemático de um ebulidor elétrico em um volume de água a critério de cada grupo, tendo que seguir as etapas básicas para seu desenrolar. A primeira etapa foi a Modelagem do Ebulidor Elétrico que consiste na obtenção da massa de dados experimentalmente, elaboração de uma função de transferência através desses dados e a validação dessa função por meio de recurso de uma ferramenta do software Matlab, chamada IDENT. A segunda etapa foi a análise em Malha Aberta da planta, observando os dados na teoria e comparando-os com a resposta física. Na elaboração deste trabalho foi de suma importância priorizar a parte física do sistema de aquecimento em malha aberta, respeitando os critérios estabelecidos na descrição. Para isso, o grupo em reunião, determinou que tipo de fonte seria utilizada para fornecer a tensão descrita ( 40 a 50 volts), que tipo de sensor de temperatura para coleta de dados e como o custo dos componentes seria dividido entre os integrantes. Durante o primeiro ensaio foi observado que o meio ambiente influenciava diretamente nos valores de temperatura. Com isso, o grupo se viu forçado a buscar alternativa que amenizassem essas interferências para obter uma função de transferência que modelasse somente o ebulidor. 1.1 Objetivo O objetivo principal deste trabalho foi tornar mais dinâmico o aprendizado na disciplina Teoria de Controle Moderno, envolvendo um ebulidor caseiro, que antes passava despercebido, mas que pôde ser interpretado como parte principal em um sistema termodinâmico, o qual recebeu um estímulo de entrada abaixo do nominal afim de ser percebida estabilidade em uma temperatura que não se pode afirmar previamente em malha aberta devido ao número de interferências físicas existentes para a simplicidade desse sistema. 2 OBTENÇÃO DA PARTE FÍSICA DO SISTEMA 2.1 A fonte Figura 1: FonteFigura 1: Fonte Figura 1: Fonte Figura 1: Fonte Para dar início a coleta de dados, foi necessário observar o que era pedido na descrição do projeto pois, mesmo sendo a fonte de livre escolha, o nível de tensão foi definido pelo professor (40 a 50vac). Foi utilizado um transformador de 500VA (figura 01) de relação 1:2 que ao ser ligado em uma tomada de 127vac era medido 66,4v a vazio e 47v em plena carga, que no caso é o ebulidor puramente resistivo. Atribuiu-se essa diferença na medição à tensão eficaz que pode ser vista no calculo abaixo. 66,4*22= 46,95v (01) Fonte: Elaborado pelo autorFonte: Elaborado pelo autorEssa fórmula foi bem convincente até haver uma observação: Fonte: Elaborado pelo autor Fonte: Elaborado pelo autor O multímetro sempre mede rms. Sendo assim, a resposta para um valor diferente de tensão com carga deveria ser provado com mais conhecimento técnico. Verificou-se que faltava mais uma informação a ser colhida, a parte real da impedância do transformador que foi medida a fim de se calcular a queda de tensão na mesma. Mediu-se uma resistência de 7Ω que, em uma corrente de 3A gera uma queda de 20 v Esclarecendo tecnicamente a queda de tensão medida no transformador de relação 1:2. 2.2 O ebulidor O próximo item foi o ebulidor que também não gerou custo pois um dos integrantes do grupo já possuía um dentro das condições recomendadas, que são: 2.2.1 Características Potencia nominal – 1000W Tensão nominal – 127v Corrente nominal – 7.8ª Figura 2: Ebulidor Fonte: Elaborado pelo autor 2.3 O recipiente A quantidade de água (1 litro) foi determinada conforme o recipiente que foi escolhido devido a suas medidas permitirem melhor aproveitamento do calor dissipado pelo ebulidor, por ser de alumínio e por comportar o volume necessário para o bom desempenho do projeto. Figura 3: Recipiente Fonte: Elaborado pelo autor 3 ESCOLHA DO COLETOR DE DADOS O mercado eletrônico fornece inúmeras possibilidades para coleta de dados, inclusive de temperatura. face a essas possibilidades, o grupo optou por utilizar duas tecnologias acessíveis e fácil utilização, as quais estraremos em detalhes abaixo. A escolha de dois sensores pode ser atribuído também a necessidade de confirmar a exatidão dos valores coletados e para um outro teste que será mostrado mais adiante. 3.1 LM35 Via placa Arduino O sensor de temperatura LM35 é muito simples de ser utilizado por ser um circuito integrado de precisão com saída linearmente proporcional à temperatura em graus Celsius e associado com o Arduino Leonardo que é uma placa didática com um software amigável de interface com o PC e programável em C++, favorece ainda mais à coleta de dados. Na imagem abaixo percebe-se como é fácil conectar os componentes pois a placa tem todos os pinos bem identificados, como exemplo, vê-se com clareza o positivo, o GND e o retorno do sensor que no caso entra no primeiro pino analógico A0. Figura 4: Placa Arduino Leonardo Fonte: Elaborado pelo autor 3.1.1 O LM35 Aqui serão descritas as características do sensor LM35 para melhor entendimento do seu princípio de funcionamento e como inserir em um circuito. 3.1.1.1 Características Calibrado diretamente em graus célsius Figura 5: Sensor LM35Figura 5: Sensor LM35 Fator de escala linear +10mv/°c Figura 5: Sensor LM35 Figura 5: Sensor LM35 Aproximação garantida de 0,5°c em +25°c Range de -55°c a 150°c Adaptação a aplicações remotas Baixo custo Opera de 4 a 30 v Corrente menor que 60 μA Fonte – SENSORES..., 2014Fonte – SENSORES..., 2014Baixo auto aquecimento em ar parado, 0.08°c Fonte – SENSORES..., 2014 Fonte – SENSORES..., 2014 Saída com baixa impedância 3.1.2 A placa Arduino Leonardo O atual momento da evolução tecnológica e do conhecimento humano é tão impressionante que as próximas gerações não se admirarão nem mesmo duvidarão do que se pode criar com dispositivos cada vez menores. Dentro deste contexto chega o Arduino que é voltado para o público jovem, interessado em criar seu próprio brinquedo devido à facilidade de programação desta pequena placa, que pode elaborar projetos de grande complexidade dentro do que o microcontrolador encontrado em seu circuito possibilita. Existem vários modelos de placas Arduino, porém, as características abaixo serão relacionadas ao Arduino Leonardo. 3.1.2.1 Características Figura 6: Arduino LeonardoFigura 6: Arduino LeonardoMicrocontrolador ATmega32u4; Figura 6: Arduino Leonardo Figura 6: Arduino Leonardo Tensão de operação 5v; Tensão de entrada 7 a 12v; Limites aceitáveis na tensão entrada 6 a 20v; 20 pinos digitais I/O; 7 canais PWM; 12 entradas analógicas; 40mA cc por cada pino I/O; Fonte: VISÃO FRONTAL...,2013Fonte: VISÃO FRONTAL...,201350mA por cada pino de 3,3v; Fonte: VISÃO FRONTAL...,2013 Fonte: VISÃO FRONTAL...,2013 16MHz de velocidade de clock; SRAM 2.5KB(ATmega32u4); Memória Flash 32KB (ATmega32u4) onde; 4KB é usado por bootloader; EEPROM 1KB(ATmega32u4). O software para interface da placa Arduino com um PC leva seu próprio nome, software Arduino, e é facilmente encontrado no site oficial da marca que o disponibiliza gratuitamente, incluindo um vasto menu de exemplos, primeiros passos e modelos para facilitar a familiarização com o dispositivo que foi adquirido. A interface gráfica do Arduino é muito amigável. Com pouco tempo de dedicação e leitura do conteúdo disponibilizado no site oficial, é possível já dar os primeiros passos em programação via linguagem Cpp, lembrando que para haver comunicação entre placa e PC o hardware precisa ser bem instalado, pois a entrada é via USB mas a placa emula uma porta serial que deve ser informada também no software bem como o modelo da placa utilizada. Figura 7: Software Arduino Figura 8: Monitor de Serial Fonte: Elaborado pelo autor Fonte: Elaborado pelo autor Neste console visto acima é feito o código e enviado à placa após compilado. Aos códigos que iniciam comunicação via porta serial, ao clicar no botão superior esquerdo abrir-se-á o monitor de serial onde os dados serão colhidos conforme programado. O script utilizado foi um modelo que o grupo encontrou pronto mas modificou alguns itens que se faziam desnecessários para o bom desempenho da coleta de dados. Ao final, observou-se que o script poderia ser muito mais enxuto principalmente na hora de colher os dados, porque o excesso de símbolos dá mais trabalho na hora de levá-los até o EXCEL. 3.2 O TEMPer1 O termômetro TEMPer1F é um dispositivo de medição que utiliza a porta USB para se conectar a um computador. Ele tem um sensor com funções impermeáveis. É possível medir a temperatura do meio ambiente de forma precisa. Deve-se conectar ao computador para começar a trabalhar. O TEMPer1F pode ser usado para testes de temperatura em ambiente fechado, aberto, submerso em fluidos e ambiente especial. 3.2.1 Características Figura 9: TEMPer1 e DC instalaçãoFigura 9: TEMPer1 e DC instalaçãoFigura 3.6 – TEMPer1Figura 3.6 – TEMPer1 Figura 9: TEMPer1 e DC instalação Figura 9: TEMPer1 e DC instalação Figura 3.6 – TEMPer1 Figura 3.6 – TEMPer1 Faixa medição: TEMPer1: -40 a +120 °C; Taxa de resolução: 0.06 °C; Precisão:+2 °C; Energia Elétrica:< 5mA; Suport Windows NT, XP, VISTA, W7,W8; Memória requerida: 20M; Salvamento automático de dados em TXT ou CSV(Excel); Fonte: Foto do autorFonte: Foto do autorFunção de envio de e-mails. Fonte: Foto do autor Fonte: Foto do autor 3.2.2 Instruções de instalação A instalação do sensor é muito simples como pode ser visto nas próximas subseções que descrevem em poucas linhas cada etapa. 3.2.2.1 Instrução de instalação do software Instale dotnetfx.exe. Dotnetfx.exe é framework 2.0 da Microsoft, e pode ser baixado a partir do site da Microsoft, descomprimir o arquivo TEMPerV24.4.rar para o computador e executar TEMPerV24.4 setup.exe. 3.2.2.2 Instrução de instalação do hardware Plugar o sensor em uma porta USB para conectar e rodar o programa TEMPerV24.4 setup.exe. 3.2.3 Instruções de operação (Nota: suporta somente sistema operacional Windows .) Abaixo estão apresentadas somente as instruções de operação mais relevantes e que foram utilizadas para as coletas de dados do grupo, mais informações sobre o sensor poderão ser encontradas no site do fabricante – PC Sensor. 3.2.3.1 Log Grava os dados de temperatura em tempo real e salva no formato previamente configurado. Figura 10: Log Fonte: PRODUCT INFORMATION..., 2011 3.2.3.2 Display de curvas Há duas curvas, uma é linha de temperatura média e a outra é da linha atual. O usuário pode verificar a situação de temperatura contrastante. As curvas podem em tempo real mostrar a situação de mudança de temperatura. A tendência das curvas Responde a situação da temperatura em tempo real como pode ser visto na Figura 3 AVISO: Por favor, verifique o arquivo de log ou de dados em Salvar conteúdo Quando você quiser verificar o histórico de dados. Figura 11: Janela das curvas instantânea e média Fonte: PRODUCT INFORMATION..., 2011 3.2.3.3 As configurações para salvar arquivos Selecione "Tool->Option->Memory Setting" então selecionar local de armazenamento, tipo de aquivo e a contagem máxima para cada arquivo ser salvo. (see picture8) Figura 12: Janela Opções Fonte: PRODUCT INFORMATION..., 2011 3.2.4 Especificações físicas A tabela abaixo descreve as características físicas e cada componente que compõe o kit do sensor no momento de sua aquisição. Tabela 3.1 - Especificações Nome Especificação Quantidade TEMPer1 44g 1 Driver CD 3,5 pol. 1 Sensor Comprimento do cabo: 1m 1 Certificado de Verificação do Prod. *** 1 Fonte: PRODUCT INFORMATION..., 2011 4 COLETA DE DADOS Ao iniciar a coleta de dados, o software do TEMPer1 foi configurado para coletar dados a cada dois segundos (2s) na intensão de obter toda reação do sensor às variações de temperatura. Também foi utilizado o sensor LM35 via Arduino, mas optou-se por omitir os valores de temperatura por ele medidas, tendo em vista que foram um pouco discrepantes por não ter sido devidamente calibrado e por gerar uma massa de dados muito extensa pois foi configurado para colher uma amostra a cada um segundo (1s). Houve uma corrente de ar que influenciou diretamente na curva característica, alterando sua evolução e, por conseguinte, o tempo de estabilização como pode ser visto abaixo (Gráfico 4.1). Acredita-se que essa perturbação torna a modelagem do sistema mais difícil por não descrever somente a mudança de temperatura em função do ebulidor e sim, uma somatória de influências. Gráfico 4.1 – 1º teste Fonte: Dados da experiência Outro teste foi feito em outro local ainda mais aberto, utilizando um recipiente com características volumétricas dispostas a dificultar o aproveitamento do calor gerado pelo ebulidor e maior distância para o sensor que neste caso foi utilizado somente o TEMPer1, pois não havia software do Arduino instalado para coleta dos dados, abrindo possibilidade para maior influência externa. Como este teste foi interrompido, visto que levaria muito tempo para atingir a temperatura de estabilidade, o grupo chegou a conclusão que o ambiente deveria ser controlado termicamente para obtenção de uma curva que atingisse o ponto de estabilidade com menos interferências e mais rápido. Sendo assim, os dados levantados neste teste foram desconsiderados, pois seriam relevantes mas trariam muita dificuldade para realizar a modelagem do projeto. Contudo, foram mantidas evidências do encontro do grupo na casa de um dos integrantes como pode ser visto na figura 13. Figura 13: Teste abortado devido a condições desfavoráveis Fonte: fotos do autor O primeiro teste em ambiente controlado termicamente foi realizado dentro de uma caixa de papelão como pode ser visto n figura 14. A temperatura dentro da caixa também foi monitorada a fim de verificar a que valores chegaria devido ao calor da vaporização da água. Dentro da água utilizou-se o TEMPer1 e dentro da caixa o LM35 via Arduino. Este último começou a oscilar intensamente devido ao vapor de água enclausurado na caixa. O numero de amostras do LM35 foi o dobro do TEMPer1, porque estavam colhendo a cada 1 segundo e a cada 2 segundos respectivamente. Figure 14: Teste abortado devido a condições desfavoráveis Fonte: fotos do autor Gráfico 4.2 – 2º teste com sensor LM35 no interior da caixa Fonte: Dados da experiência Gráfico 4.3 – 2º teste com sensor TEMPer1 na água Fonte: Dados da experiência Mas como explicar que a temperatura medida fora da água e por um sensor mais afastado da fonte geradora é maior que a temperatura medida dentro dela? [...]Também são isolantes térmicos, o ar e o gelo. O ar é utilizado pelos pássaros, no inverno. Eles eriçam suas penas para reter uma camada de ar, isolando o corpo do ambiente. E o gelo é utilizado pelos esquimós na confecção de iglus. Cada material possui um coeficiente de condutividade térmica, que expressa a quantidade de calor conduzida por segundo através de uma camada de 1m de espessura por 1m2 de área a uma diferença de 1°C na temperatura. Dos metais, a temperatura ambiente, a prata é o que possui maior coeficiente de condutividade e dos gases, a 0°C, é o ar [...]. (Grifo meu). CONVECÇÃO: É o processo de transferência de calor que ocorre através do deslocamento de camadas de um fluido, isto significa que ocorre com os líquidos e os gases. É o que ocorre, por exemplo, com a água em uma panela no fogo. A fonte de calor - a chama - aquece a água da parte inferior, que se torna menos densa e sobe devido ao empuxo, enquanto a água da parte superior, que está mais densa que a de baixo, desce. Assim, uma corrente de massa de água se forma no interior da panela e ocorre o que chamamos de deslocamento de camadas ou de massa de fluido, no caso a água. E essa corrente de convecção irá ocorrer enquanto houver diferença de temperatura entre as moléculas do fluido. (GONÇALVES, 2003). O teste considerado definitivo foi o último no qual se utilizou uma caixa de isopor com capacidade volumétrica 13 litros. Como se optou por tomar a referência de temperatura com o TEMPer1 que indica a hora exata em que a coleta ocorre e, dessa vez configurado para informar os dados a cada seis segundos (6s) e diretamente submerso na água, a evolução da curva até atingir a estabilidade foi se desenvolvendo quase perfeitamente porque, como pode ser visto abaixo (Gráfico 4.4) confirmando o já mencionado, há pouquíssimas perturbações devido à corrente de convecção que leva camadas com temperaturas levemente variadas até o sensor. Como a massa de dados foi grande em todos os casos, a curva não foi muito afetada pelas interferências. Gráfico 4.4 – 4º teste na caixa de isopor Fonte: Próprio autor 5 ENCONTRAR A FUNÇÃO DE TRANSFÊRENCIA POR TENTATIVA No gráfico não aparece todos os dados porque foram colhidos de 03:36:06 até as 04: 55:18, 1(uma) amostra a cada 6s(seis segundos), convertendo em segundos somaram 4752s (quatro mil, setecentos e cinquenta e dois segundos), dando um total de 792 (setecentos e noventa e duas amostras). Mais a frente será visto que para o melhor desempenho do software escolhido, foi necessário aumentar o número de amostras em regime permanente. Após a coleta da massa de dados e a curva bem definida, o próximo passo seria a modelagem do sistema que pareceu difícil no início porque o grupo desconhecia a ferramenta do MATLAB conhecida como IDENT, partindo então para a tentativa de desenvolver a função através de dados conhecidos. Contudo, obteve-se êxito através da dedução de fórmulas conhecidas, mesmo sem todos os dados físicos necessários para uma função mais próxima do modelo real, sendo necessário omitir algumas perturbações que influenciam no sistema. Logo abaixo é possível ver o caminho tomado para modelar o sistema térmico através das fórmulas. Qebulidor = Qágua+Qvapor+ Qrecipiente (2) Onde: Q é a quantidade de calor em cada elemento, e sabendo que: Q=mcΔt (3) Onde: m = massa do elemento em questão c = calor específico do elemento Δt = diferença de temperatura. Deduziu-se então da seguinte maneira a transferência de calor do ebulidor para a água: Qa+ Qv+ Qr= Qe (4) macaΔt+mvLv+mrcrΔt = Qe (5) Relembrando a lei do resfriamento de newton: T= -kTc- Tm (7) Onde Tc é a temperatura do corpo, Tm a temperatura ambiente e k é a constante que depende de características físicas. Na equação (8) é feita uma analogia com a fórmula de Newton considerando apenas a água e a transferência de calor pelo ebulidor. Os demais dados foram subentendidos na constante k. T= -kTa- Te (8) Esta equação (8) é uma EDO de primeira ordem separável. Integrando os dois lados fica: dTTa- Te= -kdt lnTa- Te= -kt+c Ta- Te=e-kt+c= e-kt*c Ta(t)=Te+ e-kt*c (9) Considerando Ta(0) = 0 para encontrar o valor da variável c: Ta(0)=Te+ e-k*0*c 0=Te+ c c=-Te Tat=Te+ -Te*e-kt Tat=Te(1 -e-kt) (10) Agora é necessário encontrar o valor de k através de um valor (em °c) real, retirado das amostras e o tempo(em segundos) em que houve esse valor: 66,4=95(1 -e-k*2032) 66,4=95 -95*e-k*2032 66,4-95=-95 *e-k*2032 28,6/95=e-k*2032 0,126=e-k*2032 ln0,3=lne-k*2032 -k*2032=-1,2 k=5,9*10-4 (11) Substituindo k na eq. (10) fica: Tat=95*(1 -e-0,00059t) (12) Esta função encontrada também foi representada na frequência: Tas=95/(1 +1694,92s) (13) Tas=0,056/(s +0,0006) (14) De posse desse modelo matemático e para o sistema, foi criada uma variável para representar o tempo de 0s (zero segundo) até 12000s (doze mil segundos) para obter um tempo maior em regime permanente com relação ao regime transitório, utilizando o Excel para plotar a eq. 12 e o MATLAB para tirar prova plotando a eq. 14. Gráfico 5.1 – Resposta do modelo matemático no Excel Fonte: Dados do trabalho Gráfico 5.2 – Resposta do modelo mat. No MATLAB Fonte: Dados do trabalho Esse processo para determinar a função de transferência deixa claro que a resposta simulada se aproxima do sistema real, mas com pouca precisão por serem omitidos alguns parâmetros importantes como foi visto no início dos cálculos. Um recurso computacional neste caso seria muito útil, por isso, será apresentado no próximo capitulo uma ferramenta para ajudar a determinar um modelo para o sistema desejado, no qual se pode buscar, por tentativa e erro, o modelo matemático. 6 UTILIZANDO MATLAB - IDENT O software MATLAB é uma poderosa ferramenta para engenharia na qual se obtém suporte a vastos ramos da ciência em si tratando de cálculos mais apurados e também, encontram-se neste software muitos recursos computacionais para tratar sinais em geral com rapidez e maior precisão. Aqui será tratado somente da ferramenta/ função denominada IDENT que foi utilizada para validar a função de transferência do sistema em questão. A função ident() é facilmente chamada na janela de comando do MATLAB digitando o nome, com atenção nas letras minúsculas, pois o programa faz distinção entre minúscula e maiúscula. Figura 15: Janela Identificação de Sistemas Fonte: Próprio autor Antes de executar qualquer comando na janela mostrada na figura 15, foi preciso criar duas variáveis no workspace do MATLAB para serem utilizadas como entrada e saída do sistema. A versão utilizada aqui é a de 2013, então será mostrado como se adquire as informações necessárias para elaboração da identificação do sistema: Na aba HOME do MATLAB (primeira aba no canto superior esquerdo), clicou-se na opção Import Data como pode ser visto na Figura 16; Figura 16: Janela Identificação de Sistemas Fonte: Próprio autor MATLAB R2013a Navegou-se até o diretório onde está o arquivo do qual se deseja extrair os dados, selecionou-se o mesmo e clicou-se em abrir; Figura 17: Diretório do arquivo a ser utilizado Fonte: Próprio autor Explore Neste caso o arquivo com extensão xls abriu em uma caixa chamada Import complementado pelo endereço onde está alocado e criou-se condição de importar cada coluna selecionada como uma variável distinta, dando condição também de renomear cada uma delas; Figura 18: Janela do Import Fonte: Próprio autor MATLAB R2013a Ao clicar em Import Selection, as variáveis ficaram no Workspace prontas para utilização no programa. Observe que a primeira linha ficou amarelada em não azul como as demais. Isso foi mantido de propósito onde vai gerar uma falha que será tratada no devido instante. Outro dado muito importante é que foram coletadas somente 792 amostras e o tempo em regime permanente era menor que o tempo em regime transitório. Então inteirou-se mais 1208 amostras com o valor máximo para a temperatura e o mesmo valor de tensão para a variável de entrada; Figura 19: Workspace Fonte: Próprio autor MATLAB R2013a Neste ponto já se pode chamar a ferramenta Ident como descrito no início deste capítulo e novamente clicou-se em Import Data, só que agora na ferramenta onde são dadas algumas opções. Selecionou-se Time domain data onde abriu uma janela para informar quais variáveis serão importadas do Workspace, observando qual é considerada entrada e saída e escrever seus nomes nas caixas de diálogo input e output respectivamente. Há nessa mesma janela a possibilidade de nomear o sistema, escolher o tempo inicial e qual o intervalo de tempo entre cada amostra; Figura 20: Ferramenta de Identificação de Sistemas Figura 21: Import Data Fonte: Próprio autor utilizando software MATLAB Fonte: Próprio autor Ao clicar em import, abriu-se a janela do Ident contendo um bloco habilitado com o nome inserido anteriormente e visto na figura 21. Na caixa de diálogo Estimate selecionou-se Process Models; Figura 22: Ferramenta de Identificação de Sistemas Fonte: Próprio autor utilizando software MATLAB Abriu-se a caixa de diálogo que pode ser vista na figura 23, onde se coloca o número de polos reais, complexos ou conjugados complexos, zeros e o tempo morto. Em suma, os dados que melhoram a aproximação do modelo do sistema real; Figure 23: Ferramenta de Identificação de Sistemas Fonte: Próprio autor utilizando software MATLAB Nota: Ao clicar em Estimate apareceu uma mensagem de erro como a mostrada abaixo, significa que entre os dados tem letras. Então foi necessário voltar nas variáveis que utilizadas e que estavam com dados que não eram somente números para fazer a correção. Foi escolhido um valor idêntico ao que estava na célula mais próxima para não prejudicar a precisão da amostragem: Figure 24: Caixa de diálogo de informação de erro em alguma variável Fonte: Próprio autor utilizando software MATLAB As variáveis necessárias para a execução correta do programa precisaram ser revisadas e conferido se não há letras no lugar de números. A figura 25 mostra que o conteúdo que gerou o erro está contido a palavra NaN. Neste caso, o nome da variável capturada no Excel causou o erro. Depois das falhas corrigidas clicou-se em Estimate; Figure 25: Identificação da falha na variável Fonte: Próprio autor utilizando software MATLAB Retomou-se os passos partir do 5 até o passo 8, onde, se não houver mais erros, os valores de k e Tp1 serão calculados para a configuração do sistema de primeira ordem sem tempo morto, como pode ser visto na figura 26; Figure 26: Cálculo da função de transferência Fonte: Próprio autor utilizando software MATLAB Na janela principal do ident foi importado modelo com as configurações atribuídas, então outros recursos foram disponibilizados. Marcou-se a opção Model output a fim de comparação com o modelo real na busca de uma melhor aproximação; Figure 27: Modelo simulado salvo como P1 Fonte: Próprio autor utilizando software MATLAB O modelo criado apresentou uma aproximação de 84,14% em relação ao sistema real; Gráfico 6.1 – Comparação curva real / simulada Fonte: Próprio autor utilizando software MATLAB Ao fazer outras manipulações nos polos do modelo, na janela Process Models, mostrada na figura 26, encontrou-se aproximações pior e melhor, definindo a melhor aproximação como sendo o modelo matemático que melhor representa o sistema; Gráfico 6.2 – Comparação real / modelos Fonte: Próprio autor utilizando software MATLAB Na figura 29 é fácil ver que a resposta simulada que mais se aproxima da real é a da função de segunda ordem com polos complexos (P2U), chegando a um valor de 94,62% de precisão e a simulação com dois polos reais apresentou resultado abaixo do resultado da curva do sistema de primeira ordem. O MATLAB gerou um relatório que foi copiado e colado aqui , mas somente o que se refere ao melhor modelo encontrado por tentativa e erro até obter uma resposta mais aproximada. P2U = Process model with transfer function: Kp G(s) = -------------------------------- 1+2*Zeta*Tw*s+(Tw*s)^2 Kp = 2.0118 +/- 0.00089306 Tw = 1031.3 +/- 6.6799 Zeta = 0.76765 +/- 0.0029177 Os dados gerados pelo ident foram lançados no editor do MATLAB contendo um código do sistema em malha aberta G(s) e em malha fechada F(s), como pode ser visto no anexo III e gerou os seguintes gráficos para comparação: Gráfico 6.3 – Comparação malha aberta e fechada Fonte: Próprio autor utilizando software MATLAB Houve um erro em regime permanente em malha fechada, porém, ainda não foram aprendidas técnicas de ajuste desse tipo de falha. 7 CONCLUSÃO O intuito do trabalho foi encontrar uma função de transferência que melhor representa o sistema térmico, com liberdade de escolha dos componentes físicos desse sistema, algo que pareceu simples de início, mas que envolveu princípios físicos, os quais já foram aprendidos no decorrer do curso e o foco principal que é teoria de controle. Um levantamento mais apurado de dados para encontrar a função de transferência através de cálculo manual levaria a um investimento alto, tendo em vista que seria necessário um ambiente, além de controlado, monitorado para se determinar com mais precisão a influência sobre a resposta do sistema, bem como um aprofundamento em termodinâmica que seria um foco diferente do intuito do trabalho. Porém, seria muito válido, o que não foi possível devido ao tempo escasso do semestre. No entanto, o objetivo maior foi atingido, que foi o desenvolvimento de cada componente do grupo na disciplina Teoria de Controle Moderno I, bem como em várias outras disciplinas já aprendidas anteriormente, a pesquisa sobre utilização de dispositivos eletrônicos e a utilização do MATLAB, que fez a diferença na tentativa de encontrar o modelo matemático que mais se aproxima do sistema real. REFERÊNCIAS OGATA, Katsuhiko. Engenharia de Controle Moderno, Editora: LTC, 3 Edição, 2000. CARVALHO, J. L. Martins de. Sistemas de Controle Automático, Editora: LTC, 1 Edição 2000. MIYAGI, Paulo Eigi. Controle Programável, Editora: EDGARD BLUCHER, 1 Edição, 1996 SIGHIERI Luciano e Akiyoshi, Nishinari. Controle Automático de Processos Industriais, Editora: EDGARD BLUCHER, 2 Edição, 1997. LOPEZ, Ricardo Aldabo. Sistemas de Redes para Controle e Automação, Editora: BOOK Express, 1 Edição, 2000 Coelho, A. A. R.; Coelho, L. D. Identificação de Sistemas Dinâmicos Lineares. Editora da UFSC, 1ª ed., Florianópolis, 2004. Aguirre, L. A. Introdução à Identificação de Sistemas: Técnicas Lineares e Não-Lineares Aplicadas a Sistemas Reais. Editora da UFMG, 1ª ed., Belo Horizonte, 2000. Seborg, D. E.; Edgar T. F.; Mellichamp D. A. Process Dynamics and Control. John Wiley & Sons. New York, 1989. TEXAS INSTRUMENTS: Fabricante de componentes eletrônicos . SENSORES: Temperatura. Imagem em arquivo didático sobre Arduino, 5 Fev. 2014 Disponível em:. Acesso em: 4 mai. 2014. VISÃO FRONTAL: Site oficial Arduino, mar. 2013 Disponível em: . Acesso em 4 mai. 2014. PRODUCT INFORMATION: Site PC Sensor, fabricante de sensores via USB, mar. 2011. Disponível em: . Acesso em: 3 mai. 2014. GONÇALVES, Leila J., Universidade Federal do Rio Grande do Sul Mestrado Profissionalizante em Ensino de Física, setembro de 2004. Disponível em:< http://www.if.ufrgs.br/~leila/propaga.htm >. Acesso em: 3 mar. 2014. ANEXO I – Algoritmo em C++ para a placa Arduino //Projeto : Sensor de temperatura LM35 int pin = 0; // Pino analogico para ligacao do LM35 int tempc = 0,tempf=0; // Variaveis que armazenam a temperatura em Celsius e Fahrenheit int samples[8]; // Array para precisão na medição int maxtemp = -100,mintemp = 100; // Variáveis que guardam a temperatura máxima e mínima int i; void setup() { Serial.begin(9600); // Inicializa comunicação serial} void loop() { for(i = 0;i<=7;i++) { // Loop que faz a leitura da temperatura 8 vezes samples[i] = ( 5.0 * analogRead(pin) * 100.0) / 1024.0; tempc = tempc + samples[i]; //A cada leitura, incrementa o valor da variavel tempc delay(100); } tempc = tempc/8.0; // Divide a variavel tempc por 8, para obter precisão na medição tempf = (tempc * 9)/ 5 + 32; //Converte a temperatura em Fahrenheit e armazena na variável tempf if(tempc > maxtemp) {maxtemp = tempc;} //Armazena a temperatura máxima na variável maxtemp if(tempc < mintemp) {mintemp = tempc;} //Armazena a temperatura máxima na vari[avel mintemp   } //As linhas abaixo enviam para o monitor serial a temperatura em Celsius e Fahrenheit, // e também as temperaturas máxima e mínima registradas Serial.print(tempc,DEC); Serial.print(" Cels., "); Serial.print(tempf,DEC); Serial.print(" Fahr. -> "); Serial.print(" Min : "); Serial.print(mintemp,DEC); Serial.print(" Max: "); Serial.println(maxtemp,DEC); tempc = 0; delay(1000); // Aguarda 1 segundo e reinicia o processo } ANEXO II – Cópia da janela de comando do MATLAB ans = SISTEMA DE AQUECIMENTO G = 0.056 ---------- s + 0.0006 Continuous-time transfer function. F = 0.056 ---------- s + 0.0566 Continuous-time transfer function. SISTEMA DE AQUECIMENTO SIMULADO NO IDENT G = 2.012 ------------------------- 1.064e06 s^2 + 1583 s + 1 Continuous-time transfer function. F = 2.012 ----------------------------- 1.064e06 s^2 + 1583 s + 3.012 Continuous-time transfer function. ANEXO III % TRABALHO PRÁTICO CONTROLE I 'ANÁLISE EM MALHA ABERTA' clc clear all close all s = tf ('s'); 'variáveis obtidas via ident' k = 2.0118 ; Tw = 1031.3 Zeta = 0.76765 V = 47 'MODELO DO EBULIDOR' G= k/(1+2*Zeta*Tw*s+(Tw*s)^2) figure(1) subplot(2,2,1) step(V*G)%V é o valor da tensão de entrada % ANÁLISE EM MALHA FECHADA H = 5/95; %ganho de realimentação 'FUNÇÃO DE TRANSFERÊNCIA EM MALHA FECHADA' H = feedback(G,H) %figure(2) subplot(2,2,2) step (V*H)%V é o valor da tensão de entrada %comparar desempenho em malha aberta com malha fechada %figure(3) subplot(2,2,3) step(V*G,V*H) legend('FTMA','FTMF')