ENSINO DE MODELAGEM E IDENTIFICAÇÃO DE PROCESSOS USANDO AMBIENTE COMPUTACIONAL /SIMULINK Leandro dos Santos Coelho Pontifícia Universidade Católica do Paraná, Laboratório de Automação e Sistemas, PUCPR/CCET/LAS Rua Imaculada Conceição, 55, Prado Velho, 85-3 Curitiba PR e-mail: lscoelho@rla.pucpr.br Resumo. Este artigo propõe a utilização do ambiente computacional Matlab/Simulink para análise e verificação de fundamentos e aspectos relevantes de modelagem e identificação de processos. A abordagem adotada propicia aos alunos adquirirem experiência na simulação de modelos matemáticos lineares (e não-lineare e aprimorarem seus conhecimentos de processos industriais. O artigo é organizado na forma de lições. As lições apresentadas tratam diversos fundamentos de modelagem e identificação de processos, tais como: (i) resposta do processo a sinais degrau e rampa, (ii) determinação de pólos e zeros da função de transferência, (iii) decomposição da função de transferência do processo em frações parciais, (iv) verificação se o processo é estável (ou instável) em malha aberta, (v) determinação da existência (ou não) de não-linearidades, e (vi) representação de processos em espaço de estados. O estudo de caso avaliado no Matlab consiste de um modelo simplificado do sistema de suspensão de uma das rodas de um automóvel. Além disso, o modelo matemático de um sistema mecânico denominado snubber é avaliado através de simulações utilizando o Simulink. Palavras-chave: Matlab, Identificação de processos, Modelagem de processos industriais, Metodologias de ensino, Novas Tecnologias e Metodologias no Ensino de Engenharia.
. INTRODUÇÃO Este artigo trata de parte do conteúdo da disciplina de Processos em Engenharia. Esta disciplina é ministrada para os estudantes do 5 o semestre, do curso de Engenharia Mecatrônica (Controle e Automação), da Pontifícia Universidade Católica do Paraná. A disciplina de Processos em Engenharia tem um caráter multidisciplinar, pois abrange estudos de caso de processos industriais em diversas áreas, tais como: processos mecânicos, térmicos, fluídicos, elétricos e químicos. Este enfoque da disciplina tem por mérito abordar diversas facetas da teoria de sinais e sistemas aliada aos conceitos de modelagem, identificação e controle de processos, destacando-se a: (i) transferência da teoria de controle e de modelagem à aplicação de exemplos de sistemas reais (em vez da simples análise de funções de transferência que não são facilmente conectadas a realidade física); (ii) seleção criteriosa de exemplos de sistemas dinâmicos que representem importantes características de processos em diversas áreas; (iii) adoção de ambientes computacionais para simulação ou mesmo animação do comportamento dinâmico de processos industriais; (iv) adoção de experimentos práticos de laboratório; e (v) leitura de artigos científicos básicos, pesquisa na Internet e exercícios de simulação de processos industriais. Os fundamentos teóricos de modelagem, identificação e controle de processos industriais são muito conceituais. Conforme Bernstein [], a educação deve ser tanto conceitual quanto experimental, pois os conceitos abstratos são elegantes e poderosos, mas o aprendizado é sempre aprimorado através da experiência direta. Neste artigo deseja-se apresentar algumas simulações em ambiente Matlab/Simulink que sirvam de motivação para a realização de simulações em computador e experimentos práticos dos conceitos teóricos apresentados em aula. Esta forma de didática visa o aprimoramento do ensino na área de automação industrial é enfatizada na literatura por diversos pesquisadores, entre os quais Bissell [], Bequette et al. [3] e Chen and Naughton [4]. De acordo com a ementa da disciplina de Processos em Engenharia, alguns estudos adicionais são incluídos visando a adoção do ambiente computacional Matlab/Simulink e a realização de experimentos práticos em laboratório. O ambiente computacional Matlab/Simulink, da MathWorks, é utilizado no meio acadêmico e científico para o processamento de matrizes, cálculos polinomiais, visualização gráfica, simulação, processamento de imagens, filtragem, otimização, estatística e controle de processos, entre outras finalidades. Neste contexto, este artigo propõe a utilização de estudos de caso para verificação de características relevantes de processos industriais. Esta abordagem propicia aos alunos ganharem experiência na simulação tanto modelos matemáticos lineares quanto não-lineares de processos. Desta forma o aluno se familiariza, de forma interativa, com diversas características de sinais, conversão de modelos, visualização de sinais e características de processos presentes no meio industrial. O estudo de caso abordado para utilização do Matlab, neste artigo, é a de um sistema mecânico constituído de massas, molas e amortecedores. Este estudo de caso representa um modelo matemático simplificado de um sistema de suspensão de uma das rodas de um automóvel e diversas lições são tratadas visando-se a exploração das potencialidades da utilização do software Matlab/Simulink. A principal contribuição é a proposta de um conjunto de lições que são tratadas e ministradas de forma didática e motivadora visando o aproveitamento das potencialidades do ambiente Matlab/Simulink. Estas lições podem ser ferramentas úteis para o acelerar o processo de ensino-aprendizagem por parte dos alunos de disciplinas ministradas por professores que atuam nas áreas de Engenharias de Controle e Automação, Elétrica, Mecânica e Computação. Entretanto, esta composição de lições pode ser estendida de acordo com o enfoque a ser dado na disciplina podendo englobar algumas das poderosas caixas de ferramentas do Matlab, tais como: System Identification, Optimization Toolbox, Sygnal Processing, Symbolic Toolbox e Control System Toolbox. O artigo é organizado da seguinte maneira. Na seção é apresentado o estudo de caso do sistema de uma das rodas de um automóvel. Na seção 3 são apresentados exemplos da aplicação do ambiente computacional Matlab para o ensino de alguns fundamentos de modelagem e identificação de processos. O modelo matemático de um sistema mecânico denominado snubber é avaliado através de simulações utilizando o Simulink na seção 4. Na seção 5, as conclusões e as perspectivas de trabalhos futuros são abordadas.. ESTUDO DE CASO DE UM SISTEMA MECÃNICO Considerando-se o sistema mecânico, apresentado na figura, que consiste de um modelo simplificado do sistema de suspensão de uma das rodas de um automóvel, sendo:
massa M do automóvel M x (t) B B K K M x (t) f(t) K M Convenções Dados utilizados no estudo de caso M : massa do automóvel; M : 945 kg; B: constante do amortecedor; B:, N-s/m; K : constante de elasticidade das molas; K : 3 N/m; M : massa da roda mais massa do pneu; M : kg; K : a elasticidade do pneu. K : 5 N/m. Figura. Sistema de suspensão de uma das rodas de um automóvel. Note que devem ser escritas duas equações, já que existem dois deslocamentos independentes; isto é, conhecendo o deslocamento x ( t ) não pode-se determinar o deslocamento x ( t ). Primeiro, são somadas as forças para a massa M. Na figura, todos os elementos que penetram esta curva exercem uma força em M. Portanto, a equação contém três termos (não há força aplicada à massa), ou seja, [5] M d x dx dx B K x dt ( x ) () dt dt O próximo passo é a soma das forças que atuam sobre M. Os três elementos estão conectados a M, além da força aplicada. Por isso, cinco termos aparecem na equação da força, M d x f t) dt dx ( dx B K x dt dt ( x x ) K () Agrupando-se os termos e aplicando-se a propriedades da transformada de Laplace obtém-se: [ ( sx ( ] + K [ X ( X ( )] M s X( + B sx s [ ( sx ( ] + K [ X ( X ( ] + K X ( F( ) M s X ( + B sx s (3) (4) Supondo-se que deseja-se determinar uma função de transferência relacionando F( e X ( s ), isto é, entre a força aplicada à roda e o deslocamento do carro. Esta função de transferência pode ser determinada eliminando-se X ( s ) nas duas equações mencionadas anteriormente. O método utilizado visa a construção de um gráfico de fluxo de sinais das equações e determinar a função de transferência usando a fórmula de ganho de Mason. Existem três variáveis nestas equações; por isso, o gráfico de fluxo de sinais tem três nós, sendo F( o nó de entrada (ou fonte). A primeira equação é resolvida em função de um dos termos desconhecidos e segunda em função do outro. Escolhe-se resolver a primeira equação em função de X ( s ), ou seja,
Bs + K X ( X ( G ( X ( (5) Ms + Bs + K A função racional (razão entre dois polinômio é indicada por G ( s ) para maior conveniência. A segunda equação pode ser resolvida para X ( s ) e assim tem-se: Bs + K X ( F( X( ) M s s + Bs + K + K M s + Bs + K + K (6) X ( G( F( + G3 ( X( (7) Em sítnese, o gráfico de fluxo de sinais é construído conforme apresentado na figura. F F X G X X G + X X G G + G 3 G 3 Figura. Modelos para o estudo de caso. Assim, a função de transferência da fórmula de ganho de Mason é X ( ) ( ) ( ) ( ) s G s G s T s (8) F( + G ( G3( Se for realizado o cálculo da equação anterior obtém-se X ( ) ( ) s T s (9) F( e consequentemente, T ( 4 MM s + B 3 ( M + M ) s + ( K M + K M + K M ) s + KBs + KK Bs + K () O sistema obitdo é de quarta ordem. A dinâmica do sistema mecânico é completamente descrita por esta função de transferência. Dadas a massa do carro, a massa da roda, e a elasticidade do pneu, a suavidade do movimento é determinada pelos parâmetros dos amortecedores e das molas. Estes parâmetros são usados para que o sistema possa ser ajustado para dar uma boa resposta. Com a deterioração dos amortecedores, o valor do parâmetro B se altera, o que modifica a função de transferência e, portanto, a qualidade do movimento. Nota-se também que o mesmo acontece se for instalado um amortecedor com o valor B incorreto. A seguir são apresentadas as lições para análise das características e comportamento dinâmico deste estudo de caso.
3. LIÇÕES DE RELATIVAS AO ESTUDO DE CASO Lição : Resposta do processo (em malha aberta) a sinais degrau e rampa Nota-se pela figura 3 que o processo apresenta um comportamento oscilatório, provavelmente motivado pela presença de pólos complexos conjugados. Neste caso, este comportamento é comprovado pela lição. %--- parâmetros do processo M 945; B.; K 3; M ; K 5; %--- função de transferência num [B K]; den [(M*M) (B*(M*M)) (K*M+K*M+K*M) (K*B) (K*K)]; t :.:; %--- resultado apresentado na Figura 3 step (num, den,t) axis ([ 5.5]); Amplitude.5.45.4.35.3.5..5..5 Gráfico de saída Step Response 3 4 5 Time (sec.) Figura 3. Resposta do processo em malha aberta. A seguir, na figura 4, é apresentada a resposta do processo a um sinal do tipo rampa. t :.:; u t; [y,x] lsim (num,den,u,t); plot(t,y,'k',t,u,':'); title('resposta do processo a um sinal rampa'); xlabel('tempo('); ylabel('saída do processo'); saída do processo 9 8 7 6 5 4 3 Gráfico de saída Resposta do processo a um sinal rampa 4 6 8 tempo( Figura 4. Resposta do processo a um sinal do tipo rampa. Lição : Verificação da posição dos pólos e dos zeros da função de transferência do processo O gráfico dos pólos e zeros obtidos é apresentado na figura 5. zeros roots(num) polos roots(den) %--- resultado apresentado na figura 5 pzmap(num, den) Resultados: Imag Axis.5.5 -.5 Gráfico de saída Pole zero map zeros -3 polos -.5 +.7i -.5 -.7i. +.668i. -.668i - -.5-3 -5 - -5 - -5 5 Real Axis Figura 5. Pólos e zeros da função de transferência que representa o processo.
Nota-se que o zero está posicionado no semiplano esquerdo o que quer dizer que o processo é de fase mínima. Existem dois pólos complexos conjugados o que ocasiona o comportamento oscilatório do processo. O script apresentado pode ser implementado também pela utilização de outros comandos do Matlab, tais como: tf, pole e tzero. Lição 3: Expansão da função de transferência do processo em frações parciais Considerando a função de transferência B( A( num den m m b() s + b() s +... + b( m) n n a() s + a() s +... + a( n) () onde a ( ), mas alguns termos de a (i) e b ( j) podem ser nulos. Os vetores-coluna num e den especificam os coeficientes do numerador e denominador da função de transferência, que são, num [b() b()... b(m)] den [a() a()... a(n)] O comando [r,p,k] residue (num,den) determina os resíduos, pólos e termos da expansão em frações parciais da divisão dos polinômios B( por A(, onde B( r() r() r( n) + +... + + k( () A( s p() s p() s p( n) [r,p,k] residue (num,den ) Resultado: r. +.4i. -.4i. -.67i. +.67i p -.5 +.7i -.5 -.7i. +.668i. -.668i k [] Esta é a representação em Matlab da seguinte expansão em frações parciais de B(/A(, onde B(,s + 3,s + 3 ( ) 3 79 4 A s s + 7,9s + 33735s +,5s + 5 j B( j,4 j,4 j,67 j,67 + + + A( s +,5 j,7 s +,5 + j,7 s j,668 s + j,668 ( s +,5 j.7)( s +,5 + j,7)( s j,668)( s +,668) O comando [num,den]residue(r,p,k) converte a expansão de frações parciais anterior pela divisão polinomial B(/A(, onde r, p e k são dados da saída obtida anteriormente através do Matlab, conforme pode ser verificado pelo comando a seguir. [num,den] residue (r,p,k) Resultado: num. 3. den.e+4 *.79.79 3.3735.5.5 Lição 4: Verificação se um processo é estável em malha aberta Um processo é dito estável se sua resposta ao impulso, δ(t), converge para zero em t. Um processo é dito marginalmente estável se sua resposta ao impulso, δ(t), é limitada, ou seja, se existe uma constante positiva finita c, tal que h( t) c para todo t. Um processo é dito instável se sua resposta ao impulso, δ(t), é cresce sem limites para t. Em termos matemáticos, o processo é instável se e somente se h (t) quando t. O que acontece
quando pelo menos um dos pólos p i tem Re( p i ) > ou se existe pelo menos um pólo repetido p i com Re( p i ). Em outras palavras, um processo é instável se e somente se existe(m) um ou mais polos no semi-plano direito aberto (a região a direita do eixo j ω ou se existem pólos repetidos sobre o eixo j ω ). % determinação da resposta impulsiva do processo impulse(num,den) % o processo analisado é instável em malha aberta, % pois apresenta pólos complexos conjugados na % origem (valores obtidos na lição ). Amplitude.5 -.5 Gráfico de saída Impulse Response - -.5.6..8.4 3 3.6 Tim e (sec.) x 5 Figura 6. Resposta do processo a sinal do tipo impulso. Lição 5: Verificação de propriedades de um sistema (processo) linear invariante no tempo Um sistema linear invariante no tempo apresenta as propriedades mencionadas a seguir, estas baseadas.no diagrama apresentado na figura 7. entrada, x m processo, T saída, y n Figura 7. Relação entrada-saída em um processo linear invariante no tempo. Aditividade: Dado que Tx (t) y (t) e Tx (t) y (t) então T{x (t) + x (t)} y (t) + y (t) para sinais de entrada x (t) e x (t), onde y (t) e y (t) são as saídas do processo e T é um operador linear. Mudança de escala (homogeneidade): Dado que T{α x (t)} β y (t) e T{α x (t)} β y (t) para sinais de entrada x (t) e x (t), onde y (t) e y (t) são as saídas do processo e T é um operador linear. Deslocamento no tempo: Considera-se que T{x (t-τ )} y (t-τ ), para algum valor real de τ, e T{x (t-τ )} y (t-τ ), para algum valor real de τ. Superposição: Trata-se da combinação das propriedade de aditividade e mudança de escala, onde: T{α x (t)} + T{α x (t)} β y (t) + β y (t) A seguir é apresentado um teste de não-linearidade baseado no teorema da superposição. Para a realização x t), y ( ), aplicando-se uma mudança no sinal de deste teste inicia-se do nível de operação normal de um processo, [ ( t ] entrada [ x ( t) + x ] do processo e armazena-se o sinal de saída y ( t ) normal e aplica-se um segundo sinal de entrada [ x ( t) x ] maior que x, e armazena-se o sinal de saída y ( t ), isto é, ( ). Após retorna-se o processo ao nível de operação + ao processo, onde a mudança no degrau x é ρ vezes x ρ (3) x Após, remove-se o nível de operação normal (primeiras amostra de cada resposta ao degrau e obtém-se a taxa Se y(t) é constante e igual a ρ então o sistema é linear. y( t) y y( t) (4) y ( t) y
A seguir é apresentado o procedimento no Matlab para verificar-se o grau de não-linearidade do sistema de suspensão de uma das rodas de um automóvel. Nota-se pelas figuras 8 e 9, que o processo apresenta um comportamento não-linear. alfa 5; alfa ; alfa3 3; sinal_entrada alfa3*ones(,); sinal_entrada alfa3*ones(,); for i5: %--- degrau com fator de escala, alfa5 sinal_entrada(i) alfa*sinal_entrada(i)/3; %--- degrau com fator de escala, alfa sinal_entrada(i) alfa*sinal_entrada(i)/3; end 6 5 4 3 Gráfico de saída t() ; for i: t(i) t(i-) +.; end hold on plot(t,sinal_entrada,'b'); plot(t,sinal_entrada,'r'); axis ([ 6]) pause clf hold on lsim (num, den, sinal_entrada,t); lsim (num, den, sinal_entrada,t); hold off axis ([ - ]) Amplitude 3 4 5 6 7 8 9 Figura 8. Sinais de entrada, u. Linear Sim ulation Results.5.5 -.5-4 6 8 Tim e (sec.) Figura 9. Sinais de saída, y. Lição 6: Transformação do modelo do processo do domínio da freqüência para espaço de estados ft_ma tf(num,den); espaço_estados ss(ft_ma) Resultado: a x x x3 x4 x -. -.833-4.8e-6 -.577 x x3.5 x4.5 c x x x3 x4 y 7.696e-6.935 b d u x.5 x x3 x4 u y 4. LIÇÃO RELATIVA AO SIMULINK PARA OUTRO ESTUDO DE CASO Lição 7: Exemplo da simulação de um sistema mecânico snubber Os snubbers mecânicos são dispositivos comumente utilizados para absorção de grande quantidade de energia de deslocamentos relativamente pequenos. O esquema do snubber pode ser idealizado conforme apresentado na figura.
m x x (equilíbrio estático) B k k x x x snubber Figura. Representação de um snubber. Uma massa, m, adquire uma certa quantidade de energia e no tempo t t é movimentada com velocidade v de uma posição inicial de x que é maior que x. A massa é suspensa em uma mola ideal, k, e, portanto, não apresenta perda de enrgia sem o snubber. Para simular este sistema dinâmico, dois integradores são requeridos, um para o deslocamento e outro para a velocidade. Deve-se observar que a equação da velocidade é: x v (5) Entretanto, a equação para a derivada da velocidade é uma configuração dependente e apresenta o seguinte equacionamento: k ( x x) v m k ( x x) + F snubber m m onde [, k ( x x) bv] F snubber max (6) É interessante notar que os elementos indivuais do sistema são lineares. No entanto, o sistema na configuração apresentada resulta em um sistema não-linear. Resultado do fato que o snubber pode apresentar ou não contato com a massa. Na figura é apresentada uma simulação com snubber, empregando o Simulink, para a obtenção dos gráficos de deslocamento e velocidade. Figura. Resultado da simulação do snubber.
5. CONCLUSÕES E FUTUROS TRABALHOS Este artigo propôs a utilização de alguns um estudo de caso para verificação de características relevantes de processos industriais. O estudo de caso foi a de um modelo matemático simplificado de um sistema de suspensão de uma das rodas de um automóvel (utilizando o Matlab) e um snubber (utilizando o Simulink). A abordagem proposta neste artigo propicia aos alunos ganharem experiência na simulação de modelos lineares e análise de características não-lineares de processos. Diversos aspectos das características de sinais, conversão de modelos, visualização de sinais e características de processos também foram tratados. Outros aspectos relevantes relativos a modelagem e identificação de processos serão tratados na continuação deste trabalho, tais como: (i) identificação via algoritmo dos mínimos quadrados, (ii) detecção de atraso de transporte através da aproximação Padé, (iii) análise de modelos matemáticos de ordem reduzida para representar processos, (iv) análise de processos no domínio de freqüência através da utilização de diagramas de Bode e Nyquist, (v) análise de sistemas discretos (transformada Z), e (vi) verificação de outros fundamentos relevantes de identificação de processos pela utilização do System Identification Toolbox. REFERÊNCIAS [] D.S. Bernstein, Concretizing control education, Proceedings of the American Control Conference, San Diego, CA, pp. 455-459. [] C.C. Bissell, Control education: time for radical change, IEEE Control Systems, vol. 9, no. 5, Oct 999, pp. 44-49. [3] B.W. Bequette, J.H. Chow, C.J. Li, E. Maby and J.C. Newell, An interdisciplinary control education studio, Proceedings of the 38th Conference on Decision & Control, Phoenix, AZ, pp. 37-374. [4] Y.-C. Chen and J. M. Naughton, An undergraduate laboratory platform for control system design, simulation, and implementation, IEEE Control Systems, June, pp. -. [5] C.L. Philllips and R.D. Harbor, Sistemas de controle e realimentação, Makron Books, 997.