5. Diagramas de blocos Um sistema de controlo pode ser constituído por vários componentes. O diagrama de blocos é uma representação por meio de símbolos das funções desempenhadas por cada componente e do fluxo dos sinais. Num diagrama de blocos as variáveis do sistema estão ligadas entre si por meio de blocos funcionais. O bloco é uma representação das operações que são efectuadas sobre o sinal à sua entrada. Um elemento do diagrama de blocos pode ser: A representação por diagramas de blocos tem como principal vantagem a simplificação da análise dos sistemas. O diagrama de blocos não contem nenhuma informação relativa à estrutura física do sistema. Qualquer sistema linear pode ser representado por um diagrama de blocos constituído por blocos, somadores e pontos de ramificação. Exemplo de sistema com realimentação Quando a saída de um sistema é realimentada para comparação com a entrada, pode ser necessário modificar o sinal de saída de modo a que ele possa ser comparado com o sinal de entrada. Isso pode ser feito por meio de um bloco auxiliar de função de transferência H(. Para o sistema representado pode obter-se a função de transferência da seguinte forma: C( G( E( C( G( [ ( H ( C( ] E( ( B( ( H ( C( C( G( Função de transferência da malha fechada ( + G( H (
ALGUMAS EGAS DE SIMPLIFICAÇÃO DE DIAGAMAS DE BLOCOS Diagrama de blocos original Diagrama de blocos Equivalente
Sistema em malha fechada sujeito a uma perturbação N(. Para analisar o efeito da perturbação N(, considera-se que o sistema está inicialmente com (S). Calcula-se então a resposta C N ( à perturbação apenas. Neste exemplo a resposta pode então ser determinada a partir de: C N ( G ( N ( + G( G ( H ( Da mesma forma pode obter-se a resposta do mesmo sistema sujeito apenas à entrada, considerando para o efeito N(. Neste caso a resposta do sistema C ( à entrada de referência ( pode ser determinada a partir de: C ( G( G ( ( + G ( G ( H ( Como o sistema é linear, a resposta à aplicação simultânea da entrada e da perturbação pode ser obtida somando as respostas individuais (Principio da sobreposição) e portanto: G ( ) ( ) ( ) ( ) s C s C N s + C s [ G( ( + N( ] + G ( G ( H ( ) s 6. Controlo automático industrial Os controladores industriais têm como principio de funcionamento a comparação do valor real da saída do sistema onde estão aplicados com o valor desejado para essa saída. Determinando o desvio existente, produz um sinal de controlo que reduz o desvio a zero ou a um valor muito pequeno. Podemos classificar de acordo com a sua acção de controlo como: Controladores de posições ou ON-OFF Controladores Proporcionais (P) Controladores Integrais (I) Controladores Proporcional-Integrais (PI) Controladores Proporcional-Derivativos (PD) Controladores Proporcionais-Integral-Derivativos (PID)
6.. Controladores de posições ou ON-OFF Sistema de controlo simples com apenas posições do elemento actuador. Sendo o sinal de saída do controlador m( e o erro e( o controlo ON-OFF terá apenas dois valores dependendo do valor do erro u, e( m ( com u e u constantes u, e( < É comum haver um intervalo de valores de e( entre os valores correspondentes a u e u (uma histerese). Exemplo da temperatura de um aquecedor domestico pela acção do seu termostato Implementação pratica com AMP-Ops de controlo de acção ON-OFF sem histerese Implementação pratica com AMP-Ops de controlo de acção ON-OFF com histerese
6.. Controladores Proporcionais (P) controlador com acção de controlo proporcional é essencialmente uma amplificador com ganho ajustáveis. A sua relação entre a saída do controlador e o erro e( é: m(kp e( ou em termos de transformada de Laplace, Kp s E s U ) ( ) ( Implementação pratica com AMP-Ops montagem inversora i i Implementação pratica com AMP-Ops montagem não inversora i i i +
6.3. Controladores de acção Integral (I) Num controlador com acção de controlo Integral, o valor da saída do controlador m(altera-se a uma taxa proporcional ao sinal do erro e(. Ou seja: t dm( Ki e( m( Ki e( dt, onde Ki é uma constante ajustável. A função de dt transferência de um controlador de acção Integral é: U( Ki E( s Implementação práctica com AMP-Ops (inversora) No controlo integral o sinal de saída em cada instante é dado pela área sob a curva do erro até esse instante. O controlo m( pode assumir um valor não nulo, mesmo quando o sinal do erro e( é zero. Esta situação é impossível no caso do controlo proporcional.
6.4. Controladores de acção Proporcional-Integral (PI) A acção de controlo de um controlador PI é definida pela equação: t Kp m( Kp e( + e( dt, Ti A função de transferência de um controlador de acção Integral é: U( Kp + E( Ti s Em que: Kp Ganho ou sensibilidade proporcional (ajustável) Ti Tempo do integral (ajustável) É possível decompor este controlador em controladores sequenciais respectivamente P e I. Como consequência, saliente-se que a saída do controlador P é a entrada do controlador I. Implementação prática com AMP-Ops (inversora) (não inversora) Erro em degrau unitário esposta de um controlador PI a uma entrada (erro) em degrau unitário
6.5. Controladores de acção Proporcional-Derivativa (PD) A acção de controlo de um controlador PI é definida pela equação: de( m( Kp e( + Kp Td, dt A função de transferência é: U( Kp( + Td E( Em que: Kp Ganho ou sensibilidade proporcional (ajustável) Td Tempo da derivada (ajustável) É possível decompor este controlador em controladores sequenciais respectivamente P e D. Como consequência, saliente-se que a saída do controlador P é a entrada do controlador D. A acção de controlo derivativa, também designada por controlo da taxa de mudança, é uma acção em que a saída do controlador é proporcional à taxa de mudança do sinal do erro. O tempo Td é o intervalo de tempo de que a acção de controlo proporcional é avançada devido ao efeito da taxa de mudança. Erro em rampa unitária esposta de um controlador PD a uma entrada (erro) em rampa unitária A acção de controlo derivativa tem um efeito antecipativo. Evidentemente esta acção não pode antecipar uma acção que ainda não ocorreu. Esta acção de controlo permite obter um controlador de elevada sensibilidade, tendo a vantagem de responder à taxa de mudança do erro, podendo produzir uma correcção antes que a grandeza do erro se torne demasiado grande. A sua principal desvantagem reside no facto de que os sinais de ruído são amplificados e pode ocorrer saturação do actuador. Devido ao facto de o controlo de acção Derivativa operar sobre a taxa de variação do erro actuante e não sobre o próprio erro actuante, este nunca é utilizado sozinho. É sempre utilizado em combinação com acção Proporcional (P) ou acção Proporcional-Integral (PI).
6.6. Controladores de acção Proporcional-Integral-Derivativa (PID) A acção de controlo de um controlador PID é a combinação dos controlos Proporcionais, Integrais e Derivativos. A equação do controlador é: t de( Kp m( Kp e( + Kp Td + e( dt, dt Ti A função de transferência é: U( Kp + Td s + E( Ti s Em que: Kp Ganho ou sensibilidade proporcional (ajustável) Ti Tempo da derivada (ajustável) Td - Tempo do integral (ajustável) Implementação prática com AMP-Ops
Nas montagens com controladores electrónicos é frequente, introduzir os controladores I e D na malha de realimentação. Por exemplo se se desejar uma acção PD, pode inserir-se o elemento com função de transferência na malha de realimentação, mantendo o P na + Td s malha directa. Deve-se manter presente que o controlo de um sistema em malha fechada reduz a sensibilidade de um sistema em relação a variações dos parâmetros mas também aumenta o número de componentes dos sistemas, aumentando a complexidade e introduzindo também a possibilidade de instabilidade. 6.7. Dicas gerais para desenhar um controlador PID Matlab Neste capítulo, pretende-se evidenciar as características de cada controlador P, I e D e como os manipular afim de obter a resposta desejada. Como auxiliar será ser utilizado o MATLAB. O sistema de controlo a considerar terá a estrutura que se segue: Nesta estrutura, o controlador actua directamente sobre o sinal do erro. O sistema a utilizar como exemplo é o seguinte: Considerando que não há atrito adicional nas rodas, e utilizando os conhecimentos adquiridos na modelação de sistemas, resulta: Ms X ( + BsX ( + KX ( F( De onde se extrai a função de transferência: X ( F( Ms + Bs + K Considerando então: MKg BN.s/m KN/m Substituindo na função de transferência fica: X ( F( s + s +
É objectivo desta demonstração mostrar como cada tipo de controlador contribui para se obter: ápido tempo de subida Overshoot mínimo Erro nulo em regime permanente 6.7.. esposta do sistema em malha aberta a uma entrada em degrau unitário O sistema em malha aberta é do tipo: Em que a função de transferência é a cálculada utilizando os conceitos da modelação: X ( F( s + s + A simulação poderá ser feita no Matlab com a seguinte sequência de comandos: Num; Den[ ]; Step(Num,Den) Sugere-se a construção de um ficheiro *.m..5.45.4.35 Step esponse Amplitude.3.5..5..5.5.5 Time (sec.) Daqui se depreende que o ganho da função de transferência em malha aberta é / e como tal,5 será a saída perante uma entrada de um degrau unitário. Isto corresponde a um erro em regime permanente de,95. Para além disso o tempo de subida (-%) é de s. Sugere-se que faça manipulações no sistema para ver como se altera o seu comportamento perante variações individuais dos seus componentes, M, B e K.
6.7.. esposta do sistema em malha fechada com controlo P O sistema será: De acordo com a abordagem teórica, espera-se que a utilização do controlador proporcional na malha fechada reduza o tempo de subida, aumente o overshoot e reduza o erro em regime permanente. A função de transferência será: X ( Kp F( s + s + + Kp ( ) A simulação poderá ser feita no Matlab com a seguinte sequência de comandos: Kp3; Num[Kp]; Den[ +Kp]; t:.:; step(num,den, Sugere-se a construção de um ficheiro *.m. Step esponse. Amplitude.8.6.4..5.5 Time (sec.) Doravante, em vez de calcular a função de transferência em malha fechada, sugere-se a utilização da função cloop do MATLAB ou dependendo da versão do MATLAB a função feedback. Utilizando a função cloop, a sequência de comandos ficaria: clear; Num; Den[ ]; Kp3; [NumCL,DenCL]cloop(Kp*Num,Den); t:.:; step(numcl,dencl,
Como esperado o sistema reduziu o tempo de subida, o erro em regime permanente e reduziu também ligeiramente o tempo de estabelecimento. Contudo aumentou o Overshoot. 6.7.3. esposta do sistema em malha fechada com controlo PD De acordo com a abordagem teórica, espera-se que a utilização do controlador PD reduza o Overshoot e o tempo de establecimento. A função de transferência da malha fechada com o controlador PD será: X ( K D s + K P F( s + + K s + + K ( ) ( ) D P A simulação poderá ser feita no Matlab com a seguinte sequência de comandos: clear; Kp3; Kd; Num[Kd Kp]; Den[ +Kd +Kp]; t:.:; step(num,den, Sugere-se a construção de um ficheiro *.m. Step esponse.8 Amplitude.6.4..5.5 Time (sec.) Como esperado constata-se a redução do Overshoot, tempo de estabelecimento, pequena melhoria do tempo de estabelecimento e pequeno efeito no tempo de subida e erro em regime permanente.
6.7.4. esposta do sistema em malha fechada com controlo PI A função de transferência da malha fechada com o controlador PI será: X ( K P s + K I 3 F( s + s + + K s + K ( P ) I eduzindo Kp para 3 e igualando Ki a 7, a simulação poderá ser feita no Matlab com a seguinte sequência de comandos: clear; Kp3; Ki7; Num[Kp Ki]; Den[ +Kp Ki]; t:.:; step(num,den, Sugere-se a construção de um ficheiro *.m..9.8.7 Step esponse Amplitude.6.5.4.3...5.5 Time (sec.) eduziu-se o ganho proporcional (Kp) porque o controlador integral também reduz o tempo de subida e aumenta o Overshoot conforme o faz também o proporcional (duplo efeito). A resposta demonstra que o controlador integral eliminou completamente o erro em regime permanente.
6.7.5. esposta do sistema em malha fechada com controlo PID A função de transferência da malha fechada com o controlador PID será: X ( K D s + K P s + K I 3 F( s + + K s + + K s + K ( D ) ( P ) I Utilizando agora K P 35, K I 3 e K D 5 pode-se simular no MATLAB com a seguinte cadeia de comandos. clear; Kp35; Ki3; Kd5; Num[Kd Kp Ki]; Den[ +Kd +Kp Ki]; t:.:; step(num,den, Sugere-se a construção de um ficheiro *.m..9.8.7 Step esponse Amplitude.6.5.4.3...5.5 Time (sec.) Obteve-se agora um sistema sem Overshoot, rápido tempo de súbida e sem erro em regime permanente. Sugerem-se os seguintes passos para o desenho de um controlador PID Obter a resposta em malha aberta e determinar o que necessita de ser melhorado Adicionar controlo proporcional para melhorar o tempo de subida Adicionar controlo derivativo para melhorar o Overshoot Adicionar controlo integral para eliminar o erro em regime permanente. Ajustar o Kp, Ki e Kd até obter a saída desejada. Manter na ideia que caso não se justifique, não se deverão implementar os 3 tipos de controlador num sistema. Por exemplo se um controlador PI for suficiente (como no exemplo abordado), não será necessário implementar o controlador derivativo. Deverá manter-se o controlador o mais simples possível. Métodos de sintonia de Ziegler-Nichols (apresenta-se de seguida) ou outros
6.8. Sintonia de controladores Ziegler-Nichols e Shinskey, malhas fechadas Será visto apenas o caso da malha fechada. Para malha aberta deverá consultar-se a bibliografia aconselhada. Apresenta-se de seguida os métodos de Ziegler-Nichols e Shinskey Faça o controlador comportar-se como um controlador P apenas, ajustando os modos I e D para uma acção mínima. Aumente progressivamente o ganho até que a saída oscile com amplitude constante. O ganho que permitir esta oscilação será chamado de ganho crítico (Kc). O período da oscilação resultante será designado por período crítico (Tc). Esta situação corresponde à acção de um par de pólos conjugados localizados no eixo imaginário. Como alternativa, através do traçado do lugar de raízes obtém-se o ganho que faz com que surjam pólos sobre o eixo imaginário. Após encontrar o ganho critico (Kc) e o período critico (Tc), ajusta-se o controlador com os seguintes parâmetros: Controlador Parâmetro Ziegler Nichols Shinskey (malha fechada) P K.5Kc.5Kc PI K.45Kc.5Kc Ti.833Pc.43Pc PID K.6Kc.5Kc Ti.5Tc.34Pc Td.5Tc.8Pc Em geral estes métodos não nos conduzem directamente ao resultado desejado. Contudo produzem bons indicadores iniciais para uma aproximação iterativa Sugere-se experimentar estes método com uma função de transferência por exemplo para a s + 3 função de transferência em malha aberta Gs () 4 3 s + 5s + 9s + 5s Programa em Matlab para analisar sucintamente este exemplo: clear %Controlador Kp4.49*.6 t:.: Ti.5*4.55 Td.5*4.55 % Função de transferência de um PID NumC[Kp*Ti*Td Kp*Ti Kp] DenC[Ti ] SysCtf(NumC,DenC) %Função de transferência da função (isolada) em malha aberta NumMA[ 3] DenMA[ 5 9 5 ] SysMAtf(NumMA,DenMA) %controlador em serie com a malha aberta Totalseries(SysC,SysMA) rlocus(total, xrlocus(total,; pause %Malha fechada do sistema completo já incluindo o controlador SysMFfeedback(Total,) %Gráfico da resposta a degrau step(sysmf,