Académique Documents
Professionnel Documents
Culture Documents
O carro impulsionado por dois foguetes em oposio. O controlador aciona o motor esquerdo se a soma da velocidade e da posio do carro for negativa, e acionar o motor direito se a soma for positiva. O objetivo do controlador levar o carro ao repouso na origem. Este tipo de controle chamado Controle Bang-Bang. A massa do carro 5 Kg e a fora motor 1 N. A princpio, a equao do movimento do carro :
&= F . m& x
Cap.4 Sistemas Contnuos no Tempo 58
Este um sistema de segunda ordem, ento dois integradores sero necessrios para se calcular a posio do carro. Abre-se uma nova janela de modelo e acrescenta-se a ela dois integradores da biblioteca Linear. Os integradores recebem os nomes Velocidade e Posio, como mostrado:
A entrada do primeiro integrador a acelerao. Resolvendo a equao do movimento para a acelerao, tem-se:
& &= x
F m
Acrescentam-se agora um bloco Ganho que multiplica a fora motora do foguete por
Para visualizar o resultado da simulao utiliza-se um grfico XY (XY Plot) para se plotar um Grfico no Plano de Fase (Phase Plot) com o progresso da simulao. Um Grfico no Plano de Fase um grfico da velocidade x posio. Acrescenta-se ento um Grfico XY. Conecta-se a sada do integrador Posio entrada X (superior) e a sada do integrador Velocidade entrada Y (inferior).
59
Para monitorar o tempo no progresso da simulao, acrescenta-se um bloco Clock da biblioteca de fontes (Sources) e um bloco Display da biblioteca de dispositivos de sada (Sinks) e conectam-se os dois conforme a figura:
No se sabe quanto tempo a soluo demora para atingir a origem, ento por convenincia, adiciona-se uma lgica ao modelo que pare a simulao quando o objetivo for atingido. Esta lgica ir parar a simulao quando a soma dos valores absolutos da velocidade e da posio cair a um valor menor que 0.01. Isto pode ser feito com xito adicionando um bloco de Parada da Simulao (Stop Block) da biblioteca de dispositivos de sada (Sinks). Este bloco fora o SIMULINK parar a simulao quando sua entrada for diferente de zero. Deseja-se que a entrada do bloco seja zero at que
60
Supondo que no incio da simulao o carro estava em repouso afastado de 1 N para a direita. Ento a condio inicial do integrador Velocidade 0 e a do integrador Posio 1. O bloco Sign chaveia a sada instantaneamente de acordo com a entrada. Contudo qualquer sistema fsico de chaveamento realizvel leva um tempo finito para mudar a sada. Para modelar tal comportamento pode-se utilizar um algoritmo de tamanho de passo fixo (fixed-step-size). Vamos supor que o tempo de chaveamento seja 0.05 segundos, clica-se ento em Simulation:Parameters na barra de menu e na opo Type escolhe-se Passo fixo (Fixed-step) e ODE5 (Dormain-Prince). A seguir configura-se o tamanho do passo para 0.05 e o tempo final (Stop time) 200. A simulao agora est pronta para ser executada. Clica-se ento em Simulation:Start e a simulao ser executada at o carro atingir o repouso na origem. O grfico XY deve ser semelhante figura:
Ao se olhar com ateno nota-se que a trajetria da fase se aproxima da origem & = x . Este fenmeno chamado reticncia. mas oscila na linha x Tente substituir o bloco Sign por um bloco de Saturao (Saturation) configurando o limite superior (Upper limit) para 0.05 e o limite inferior (Lower limit) para 0.05. Tente tambm substituir o bloco Sign por um bloco de Zona Morta (Dead Zone), 61
com o incio (Start of dead zone) em 0.05 e fim (End of dead zone) em 0.05. Ao se utilizar qualquer um destes dois blocos no lugar do bloco Sign pode-se ento configurar a simulao para um mtodo de passo varivel j que nenhum bloco do sistema muda instantaneamente de 1 para +1.
4.3.1 - Blocos de Funo (Function Blocks) Duas utilidades particulares de blocos no lineares so os blocos Fcn (C function) e MATLAB Fcn. Ambos executam operaes matemticas especificadas na entrada, mas os blocos tem algumas diferenas importantes. O SIMULINK executa o bloco Fcn muito mais rpido do que o MATLAB Fcn. Porm o bloco Fcn no aceita operaes matriciais. Devido vantagem na velocidade, sempre aconselhvel utilizar o bloco Fcn quando as capacidades especiais do bloco MATLAB Fcn no forem necessrias.
A caixa de dilogo contm um nico campo que deve conter uma expresso na sintaxe da linguagem C. A expresso ento executada nos elementos do vetor de entrada do bloco u[n], onde n a posio do elemento desejado. Vale lembrar que se devem utilizar os colchetes ([ e ]) no lugar dos parnteses (( e )) utilizados no MATLAB. O bloco pode ainda utilizar como parmetro qualquer varivel previamente definida na rea de trabalho do MATLAB. Se a varivel for um escalar, ela deve ento ser referida pelo seu nome. Por exemplo, se h uma varivel escalar a e um vetor com duas entradas no bloco Fcn, uma expresso vlida poderia ser a*(sin(u[1]+u[2]). Se a varivel da rea de trabalho for um vetor ou matriz, deve-se ento utilizar para esta varivel a sintaxe adequada ao MATLAB para se referir a esta varivel como a(1) ou a(2,3).
62
O bloco Fcn pode executar todas as funes matemticas escalares padres como sin, abs, tan etc, operaes relacionais com a sintaxe da linguagem C (==, !=, >, <, >=, <=) e as operaes lgicas ainda na sintaxe C (&& - AND lgico e | | - OR lgico). O bloco Fcn produz sempre uma sada escalar. 4.3.1.2 - Bloco MATLAB Fcn Este bloco mais poderoso do que o anterior pois pode executar operaes matriciais e produzir sadas vetoriais. Em contrapartida muito mais lento do que o bloco Fcn, sendo ento usado somente quando o bloco Fcn no for adequado.
A caixa de dilogo contm dois campos. O primeiro deve conter uma expresso vlida com a sintaxe MATLAB. O valor da expresso a sada do bloco. O ensimo elemento no vetor de entrada do bloco u(n), similar ao bloco Fcn. Se a funo MATLAB no tiver argumentos como a da figura, a operao executada em todos os elementos de entrada. O segundo campo especifica a dimenso do vetor de sada. Entre com 1 se deseja que a sada tenha o mesmo tamanho da entrada. Independentemente de se especificar explici9tamente a dimenso da sada ou de se utilizar o valor default, a dimenso do vetor de sada com o resultado da expresso no campo MATLAB function deve ser a mesma especificada em Output Width. O exemplo a seguir ilustra o uso de blocos no lineares na construo de um modelo simples de um carro e um controle de ganho proporcional. O modelo inclui arraste aerodinmico, a fora gravitacional na subida de rampas e ainda o vento. 63
Exemplo Considere o deslocamento do automvel numa pista montanhosa como mostrado na figura que segue:
H trs foras agindo no carro: a fora motriz produzida pelo motor do carro e transmitida aos pneus (ou fora de frenagem se esta for negativa) (Fe), a fora aerodinnica (incluindo o vento) (Fw) e a componente tangencial da gravidade quando o carro sobe ou desce as rampas (Fh). Aplicando a segunda lei de Newton, a equao do movimento do automvel pode ser escrita da seguinte forma:
& = Fe Fw Fh m& x
onde m representa a massa do automvel e x a distncia percorrida. Fe deve ter limites mximos e mnimos. O limite mximo a mxima fora que o motor pode transmitir pelas rodas para a pista e o limite mnimo a mxima fora de freio. Ento 2000 Fe 1000 , sendo a massa do carro 100 N. A fora aerodinmica o produto do coeficiente de arraste (CD), a rea frontal do automvel (A) e a presso dinmica (P), onde
P=
V 2 2
C D A = 0.001 2
e que a velocidade do vento varia senoidalmente de acordo com a funo
VW = 20 sen( 0.01t )
ento a fora aerodinmica pode ser aproximada para
= 0.0093 sen(0.001x ) .
Cap.4 Sistemas Contnuos no Tempo 64
Fh = 30 sen( 0.0001x ) .
O controlador utilizado ser do tipo controle proporcional com a seguinte lei de controle
& DESEJADO x &) FC = K e ( x & DESEJADO a velocidade FC a fora do motor comandada de trao ou freio, x
controlada (ft/s) e Ke o ganho de realimentao (feedback). Seguindo esta lei, a fora comandada do motor ser proporcional ao erro de velocidade. A fora atual do motor (Fe), como dito antes, limitada pela fora mxima de trao e fora mxima de frenagem. O ganho de realimentao utilizado ser Ke = 50.
A entrada do controlador proporcional a velocidade desejada do automvel em m/s. Este controlador foi implementado com um bloco de ganho do tipo Slider com a entrada ligada um valor constante. Este bloco permite que se modifique o ganho no decorrer da simulao. O controlador proporcional consiste de um bloco de soma (Sum) que calcula o erro da velocidade (diferena entre a velocidade comandada e a atual) e um bloco de ganho. Os limites superior e inferior da fora motora so impostos utilizando blocos MinMax. As constantes de nome Max Trao e Max Freio junto com os blocos MinMax so utilizados para se ilustrar o uso destes blocos. Esta parte do modelo poderia ser substituda por um bloco de Saturao (Saturation) da biblioteca Nonlinear. (Por que o aluno no tenta faz-lo?) As foras no lineares devidas rampa e aerodinmica so calculadas pelos blocos Fcn. O campo Expression da caixa de dilogo do bloco de nome Fora Aero 65
contm 0.001*(u[1]+20*sin(0.01*u[2]))^2. Para o bloco da fora devido ao aclive deve ser 30*sin(0.0001*u[1]). O bloco Display serve como um velocmetro (em m/s) e a velocidade mostrada graficamente no osciloscpio. Este modelo um bom exemplo de um sistema levemente rgido. Para se observar o efeito desta rigidez, a simulao deve ser executada utilizando ODE45 e a seguir deve ser repetida utilizando ODE15S.
66