Exercicio de Modelagem de Suspensão Dinamica

19
Trabalho Final de PTC2413 - Controle I - 2008 Aluno: Fernando J. Capeletto Neto Professor: Piqueira. Número : 2370518 Suspensão de Onibus Introdução Este exemplo desenvolve a modelagem, estudo e ensaio do controle ativo do movimento vertical da suspensão de um ônibus. O modelo considera tanto a inércia do ônibus como a inércia da suspensão/pneus, bem como a dos amortecedores. Um atuador é adicionado entre a suspensão e o ônibus. Modelo Físico Desenvolver o sistema de suspensão automática para um ônibus trata-se de um sistema demasiado complexo, no escopo desse ensaio me ative a 1/4 do modelo completo de suspensão (uma das quatro rodas) dessa forma simplificando o problema a um sistema de dimensão única. Um diagrama do sistema é apresentado abaixo: Onde: Massa do Onibus "Body Mass" (m1) = 2500 kg. Massa da Suspensão "Suspension Mass" (m2) = 320 kg.

description

PTC2413 (2008)- Controle I - Trabalho da Disciplina de Graduação em Eng. Eletronica na Escola Politecnica da Universidade de São Paulo: Modelagem de Sistema de Controle de Suspensão Dinamica Automotiva , aplicada em um Onibus.

Transcript of Exercicio de Modelagem de Suspensão Dinamica

Page 1: Exercicio de Modelagem de Suspensão Dinamica

Trabalho Final de PTC2413 - Controle I - 2008Aluno: Fernando J. Capeletto NetoProfessor: Piqueira.Número : 2370518

Suspensão de Onibus

Introdução

Este exemplo desenvolve a modelagem, estudo e ensaio do controle ativo domovimento vertical da suspensão de um ônibus. O modelo considera tanto ainércia do ônibus como a inércia da suspensão/pneus, bem como a dosamortecedores. Um atuador é adicionado entre a suspensão e o ônibus.

Modelo Físico

Desenvolver o sistema de suspensão automática para um ônibus trata-se de um sistemademasiado complexo, no escopo desse ensaio me ative a 1/4 do modelo completo desuspensão (uma das quatro rodas) dessa forma simplificando o problema a um sistema dedimensão única. Um diagrama do sistema é apresentado abaixo:

Onde:• Massa do Onibus "Body Mass" (m1) = 2500 kg.• Massa da Suspensão "Suspension Mass" (m2) = 320 kg.

Page 2: Exercicio de Modelagem de Suspensão Dinamica

• Constante da mola do sistema de suspensão(k1) = 80,000 N/m.• Constante da mola da roda e pneu(k2) = 500,000 N/m.• Constante de amortecimento do sistemas de suspensão (b1) = 350 Ns/m.• Constante de amortecimento da roda e pneu (b2) = 15,020 Ns/m.• Força de Controle (u) = Força do controlador que iremos desenvolver.

Equação do Movimento:

Do desenho e das leis de Newton, obtemos as equações dinâmicas que seguem:

Função de Transferência:

Assumindo que todas as condições iniciais são nulas, então essas equações representam asituação quando a roda do onibus passa sobre o obstaculo.As equações diferenciais acima podem ser expressas na forma de funções de transferênciatomando a sua Transformada de Laplace.A obtenção das Funções de Transferênciave G1(s) e G2(s) da saída,X1-X2, e duasentradas,U e W, segue os passos abaixo.

Encontrando a inversa da matrix A e então multiplicando pelas entradas U(s) e W(s) do ladodireito da equação encontramos X1(s) e X2(s) :

Page 3: Exercicio de Modelagem de Suspensão Dinamica

Partindo da suposição que o problema possa ser tratado de modo linear, separamos aanálise pela superposição de efeitos de apenas uma entrada, fazendo nula a outra.Desse modo, considerando apenas U(s) e tomando W(s) = 0 (Sistema sem disturbio)obtemos G1(s) como segue:

E considerando apenas o disturbio W(s) e tomando U(s) = 0 (Sem ação de controle)obtemos G2(s):

Modelando no Matlab

Colocamos então as funções de transferência aciuma no Matlab definindo o numerador edenominador das Funções de Transferência no formato nump/denp para a força deentrada no atuador e num1/den1 para o disturbio de entrada, assim definimos as G1(s) eG2(s) como:

G1(s) = nump/denp

G2(s) = num1/den1

Então, inicializamos o Matlab com o seguinte código:

m1=2500;m2=320;k1=80000;k2=500000;b1=350;b2=15020;

nump=[(m1+m2) b2 k2];denp=[(m1*m2) (m1*(b1+b2))+(m2*b1) (m1*(k1+k2))+(m2*k1)+(b1*b2) (b1*k2)+(b2*k1) k1*k2];'G(s)1'printsys(nump,denp)

2820 s^2 + 15020 s + 500000-----------------------------------------------------------------------800000 s^4 + 38537000 s^3 + 1480857000 s^2 + 1376600000 s + 40000000000

Page 4: Exercicio de Modelagem de Suspensão Dinamica

num1=[-(m1*b2) -(m1*k2) 0 0];den1=[(m1*m2) (m1*(b1+b2))+(m2*b1) (m1*(k1+k2))+(m2*k1)+(b1*b2) (b1*k2)+(b2*k1) k1*k2];'G(s)2'printsys(0.1*num1,den1)

-3755000 s^3 - 125000000 s^2-----------------------------------------------------------------------800000 s^4 + 38537000 s^3 + 1480857000 s^2 + 1376600000 s + 40000000000

Requisitos de Desenvolvimento:

Um bom sistema de suspensão veicular para onibus deve ter habilidade satisfatória desegurança na estrada enquanto mantem o conforto quando se defronta com obstáculos eburacos na estrada. Quando o ônibus é submetido a qualquer perturbação na estrada comosujeira, lombadas ou pavimentação erodida, o corpo do ônibus não deve reagir com largasoscilações e essas oscilações devem ser dissipadas rapidamente.Uma vez que a distância X1-W é muito complicada de ser mensurada, e a deformação dopneu (X2-W) é desprezivel, usaremos a distância X1-X2 para aproximar X1-W como asaída do nosso problema.O disturbio da estrada (W) nesse problema será simulado por uma entrada degrau. Essedegrau pode representar o ônibus passando por um desnivel na estrada.Nos queremos desenvolver um controlador realimentado em que a saída (X1-X2) possuium sobresinal menor que 5% e possua um tempo de ajuste menor que 5 segundos. Porexemplo, quando o onibus ultrapassar um degrau de 10 cm de altura, seu corpo irá oscilardentro de um patamar de variação de +/- 5 mm e irá retornar à suavidade na condução em5 segundos.

Resposta em Malha Aberta

Utilizamos então o Matlab para levantar a resposta de malha aberta original do sistema(sem qualquer controle de realimentação).

Page 5: Exercicio de Modelagem de Suspensão Dinamica
Page 6: Exercicio de Modelagem de Suspensão Dinamica

Desse gráfico da resposta em malha aberta para uma força de atuação de degrau unitário,podemos observar que o sistema é sub-amortecido. Pessoas sentadas no ônibus irão sentiruma pequena oscilação e o erro em regime é de 0.013mm. Alem disso, o ônibus demora umtempo inaceitavelmente longo para ajustar-se ao regime estacionário.

step(0.1*num1,den1)

Page 7: Exercicio de Modelagem de Suspensão Dinamica

Para observar mais detalhes, mudamos o eixo:

axis([0 10 -.1 .1])

Page 8: Exercicio de Modelagem de Suspensão Dinamica

Desse gráfico de resposta em malha aberta para um disturbio formato degrau de 10cm,podemos observar que quando o ônibus passa sobre uma lombada ou obstáculo de 10 cm,seu corpo irá oscilar por um tempo inaceitavelmente longo (aprox. 100 segundos) e comlarga amplitude de movimento (aprox. 14 cm) com o impacto inicial. Pessoas sentadas noônibus não estarão confortáveis submetidas a esse tipo de oscilação. O grande sobresinal eo lento tempo de acomodamento irão causar estrago ao sistema de suspensão. A soluçãopara esse problema é adicionar um controle realimentado no sistema para melhorar suaperformance. O diagrama esquemático da malha-fechada do sistema é a que segue:

De acordo com a Função de Transferência e diagrama em blocos, podemos desenhar odiagrama em blocos do sistema de suspensão do ônibus, como segue:

Page 9: Exercicio de Modelagem de Suspensão Dinamica

Desenhando o Lugar Geometrico das Raizes

Agora passamos a desenvolver um controlador usando o método do lugar geométrico dasraizes.Primeiramente, encontramos os polos de malha-aberta do sistema:>> R = roots(denp)

R =

-23.9758 +35.1869i-23.9758 -35.1869i-0.1098 + 5.2504i-0.1098 - 5.2504i

>>Portanto, os pólos dominantes são as raizes -0.1098 + 5.2504i e -0.1098 - 5.2504i, asquais estão próximas ao eixo complexo com uma pequena taxa de amortecimento.

A idéia principal do desenvolvimento pelo lugar das raizes é estimar a resposta em malha-fechada a partir do desenho do lugar das raízes de malha-aberta. Adicionando zeros e/oupólos ao sistema original (por meio de um compensador), o lugar das raizes e a respostaem malha-fechada será modificada.Primeiramente vamos observar o Lugar Geométrico das Raízes da planta.

rlocus(nump,denp)z=-log(0.05)/sqrt(pi^2+(log(0.05)^2))sgrid(z,0)

Page 10: Exercicio de Modelagem de Suspensão Dinamica

Lugar das Raízes 'Descompensado' com linha de amortecimento de 5%

Observemos que é requisito da especificação que o sobresinal,%OS, deve ser menor que5% e a taxa de amortecimento zeta, é aproximada por z =-log(%OS/100)/sqrt(pi^2+[log(%OS/100)^2]).

O comando sgrid é utilizado para desenhar a linha de porcentagem de sobresinal desejadosobre o lugar das raizes aproximado.Do gráfico acima, observamos que existem dois pares de polos e zeros que estão muitopróximos. Esses pares de pólos e zeros estão quase sobre o eixo imaginário, eles podemtornar o sistema do ônibus marginalmente estável, o que pode ser a causa do problema.Temos que fazer com que todos os pólos e zeros movam-se para o semi-plano esquerdo omáximo possivel para evitar um sistema instável. Temos que inserir dois zeros bempróximos aos dois polos no eixo imaginário do sistema descompensado para havercancelamento de polo com zero. Alem disso, colocaremos outros dois pólos próximos aoeixo real para obter rapidez de resposta.Precisaremos então de dois zeros próximos aos dois polos no eixo complexo para desenar olugar das raizes, cancelando esses polos com os zeros do compensador ao invés de 'deixá-los' para os zeros da planta no eixo imaginário. Também precisaremos de dois póloscolocados distantes, à esquerda para 'puxar' o lugar das raízes para a esquerda emconjunto, diminuindo o tempo de reação do sistema.Vamos tentar com zeros em 30 e 60 e pólos em 3+/-3.5i.z1=3+3.5i;z2=3-3.5i;p1=30;p2=60;numc=conv([1 z1],[1 z2]);

Page 11: Exercicio de Modelagem de Suspensão Dinamica

denc=conv([1 p1],[1 p2]);rlocus(conv(nump,numc),conv(denp,denc))

Lugar das Raízes 'Compensado'

Mudando o eixo para ressaltar os detalhes do LGR:axis([-40 10 -30 30])z=-log(0.05)/sqrt(pi^2+(log(0.05)^2))sgrid(z,0)

Page 12: Exercicio de Modelagem de Suspensão Dinamica

Lugar das Raízes 'Compensado'

Obtendo o ganho pelo Lugar das Raizes.

Agora que arrastamos o lugar das raizes para a linha de 5% de taxa de atenuação, pode-seescolher o ganho a partir do qual os requisitos de desempenho serão satisfeitos. Para obterum sobresinal pequeno e resposta rápida, precisaremos selecionar o ganho correspondenteao ponto onde o lugar das raizes cruza a linha de taxa de atenuação desejada. Desejamosnesse caso, o cancelamento de pólos e zeros proximos ao eixo imaginário, o que justifica aescolha.Para isso usamos o seguinte comando MatLab:

[k,poles]=rlocfind(conv(nump,numc),conv(denp,denc))

Selecionando o ponto mencionado no gráfico do LGR, encontramos os seguintes valorespara o ganho K e os pólos.selected_point = -3.0115 + 3.6433ik = 1.4188e+008poles = 1.0e+002 *

-0.6327 + 7.0881i-0.6327 - 7.0881i-0.0287 + 0.1306i

Page 13: Exercicio de Modelagem de Suspensão Dinamica

-0.0287 - 0.1306i-0.0294 + 0.0363i-0.0294 - 0.0363i

O valor obtido para o ganho é então inserido no compensador:numc=k*numc;

Para obter a Função de Transferência em malha-fechada de W para X1-X2, fizemos:numa=conv(conv(numf,nump),denc);dena=conv(denf,polyadd(conv(denp,denc),conv(nump,numc)));

Obs: A função "polyadd" não é uma função padrão do Matlab e foi encontrada na web parao auxilio da operação 'soma de polinômios', agradecimento a Justin Shriver da University ofMichigan, parte da bilbiografia deste trabalho.

Obtendo a resposta em malha-fechada para o compensador 'LGR'.

Agora vamos ensaiar a resposta ao degrau em malha-fechada obtida com o uso docompensador. Vamos simular novamente para um obstáculo de 0.1m.step(0.1*numa,dena)title('Resposta Compensada em Malha-Fechada a um degrau de 0.1m - PTC23413 - Fernando J.Capeletto.')

Da resposta encontrada, observa-se que ao encontrar um obstáculo degrau de 10cm, omáximo desvio do corpo do ônibus para a estrada é aproximadamente 14cm, e asoscilações são ajustadas em menos de 0.1 segundo. É uma resposta satisfatória quanto ao

Page 14: Exercicio de Modelagem de Suspensão Dinamica

tempo de acomodação mas não me satisfez quanto ao sobresinal, pode ter havido algumerro no meio do processo pois eu esperava 5%.

Obtenção da Resposta em Frequência

Aqui o objetivo é usar o gráfico da curva de Bode da resposta em frequência da função detransferência de malha-aberta para estimar a resposta em malha-fechada. Adicionando umcontrolador ao sistema, mudanças no gráfico da curva de bode de malha-aberta provocarãomudanças na resposta de malha-fechada.Em primeiro lugar, obtemos a curva de Bode para a malha-aberta original.

w = logspace(-1,2);bode(nump,denp,w)

O efeito da variação de K é mover a magnitude da curva para cima (aumentando K) ou parabaixo (diminuindo K) de um fator de 20*logK, mas o ganho K não possui efeito sobre acurva de fase. Pelo gráfico anterior, K precisa ser 100dB (100000) para mover a magnitudeda curva para 0 dB em 0.1 rad/s.

nump=100000*nump

Levantando novamente a Curva de Bode agora com o ganho K:

Page 15: Exercicio de Modelagem de Suspensão Dinamica

Adicionando dois controladores por avanço de fase.

Da curva de Bode acima, observamos que a curva de fase é íngreme e concavaaproximadamente em 5 rad/sec. Primeiro tentaremos adicionar fase positiva ao redor dessaregião e verificamos o quanto da fase irá restar sobre a linha de -180 graus. Uma vez queuma larga margem de fase conduz a um sobresinal pequeno, desejaremos adicionar nomínimo 140 graus de fase positiva na região próxima de 5 rad/seg. Uma vez que umcontrolador por avanço não pode adicionar mais que +90 graus, usaremos doiscontroladores por avanço:

Para obter T e a, seguimos os passos:1: Determinnar a fase positiva necessária:

Uma vez que queremos um total de 140 graus, precisaremos de 70 graus de cadacontrolador.

2: Determinar a freqüencia onde a fase deverá ser adicionada:No nosso caso essa frequencia deve ser de 5.0 rad/seg.

3: Determinar a constante 'a' da equação abaixo, isso determina a distância necessáriaentre o zero e o polo para a máxima fase adicionada desejada.

Page 16: Exercicio de Modelagem de Suspensão Dinamica

4: Determinar T e aT das seguintes equações, isso determinará as freqüencias de cantonas quais a máxima fase será adicionada à frequencia desejada.

Agora, colocaremos nossos 2 controladores por avanço dentro do sistema e ver o que ográfico da Curva de Bode sinaliza.numc=conv([1.13426 1], [1.13426 1]);denc=conv([0.035265 1], [0.035265 1]);margin(conv(nump,numc),conv(denp,denc))

Uma vez que o gráfico de Bode possui a variação de fase limitada (-360-0), o gráfico acimaestá um pouco enganoso. Ajustando na sequência obtemos o gráfico equivale a seguir:

w=logspace(-4,4);[mag,phase,w] = bode(conv(nump,numc),conv(denp,denc),w);subplot(2,1,1);semilogx(w,20*log10(mag));gridtitle('Resposta em Frequencia Compensada de Malha-Aberta. - PTC2413 - Fernando J. Capeletto.')xlabel('Frequencia (rad/s)')ylabel('20logM')subplot(2,1,2);semilogx(w,phase);

Page 17: Exercicio de Modelagem de Suspensão Dinamica

axis([1e-4, 1e4, -180, 360])gridxlabel('Frequencia (rad/s)')ylabel('Fase (graus)')

Do gráfico acima verificamos que agora a parcela côncava do gráfico de fase está acima dos-180 graus, e a margem de fase é larga para o critério requisitado.Agora vamos levantar a resposta em malha-fechada do mesmo modo que fizemos ao finaldo processo de compensação pelo método do lugar das raízes.numa=conv(numc,denc);dena=polyadd(conv(denp,denc),conv(nump,numc));

Resposta em Frequência Compensada de Malha-Fechada

Vamos testar a resposta ao degrau de 10cm de perturbação:t=0:0.01:5;step(0.1*numa,dena,t)axis([0 5 -.01 .01])title('Resposta em Frequencia Compensada de Malha-Fechada. - PTC2413 - Fernando J. Capeletto.')

Page 18: Exercicio de Modelagem de Suspensão Dinamica

Do gráfico obtido observamos que o percentual de sobresinal é menor que 3.5E-9 mm e otempo de acomodação é menor que 5 segundos (diria aproximadamente 3 segundos).Agora sim, considero essa resposta satisfatória.

Conclusão

Urge dizer que este ensaio foi propositalmente além do solicitado como tarefa.Em adição à dificuldade de fazer o trabalho e suas subtarefas ao seu tempo, desejei reunir oconhecimento adquirido durante o curso e ensaiar os tipos de compensação estudados.Por isso, a bibliografia é extensa e os ensaios também, infelizmente estava preparado umterceiro ensaio, com o Compensador PID pela tabela de Ziegler-Nichols, mas é precisoregistrar que enquanto a bibliografia do trabalho está pronta faz mais de uma semana, osensaios só puderam ser iniciados ontem, e os dois métodos de compensação ensaiados(pelo LGR e pela Resposta em Frequência), demoraram mais de 12 horas no Matlab do meucomputador com apenas 128MRam.Agora são 09:25Am e depois de uma madrugada inteira finalizando o trabalho, precisoparar por aqui e imprimir o trabalho para realizar a prova daqui 30 minutos.Como trabalho futuro, gostaria de acrescentar outro tipo de compensação e comparar osefeitos, até aqui, o compensador calculado pela margem de fase e ganho mostrou-se muitomelhor que o desenvolvido pelo método gráfico do LGR, mas ambos exerceram melhoria naplanta.

Page 19: Exercicio de Modelagem de Suspensão Dinamica

Bibliografia

[BAZANELLA, Alexandre S.] - Ajuste de Controladores PID - http://www.ece.ufrgs.br/

[Moura, Exdras Deivys] Estudo de uma suspensão Veicular Passiva,Semi-Ativa e Ativa.(UNIFEI, Itajuba MG)

[SHRIVER, Justin] Matlab Control Tutorials University of Michigan -http://www.engin.umich.edu/

[SILVA, Fabio Luis & Furukawa,Márcio] Estudo das Suspensões Passivas, Semi-Ativas eAtivas. (UFRN, Natal RN)

[OLIVEIRA,Luiz Affonso G.] Projeto de COntroladores PID para um processo térmicobaseado em uma nova regra de sintonia. (UFPA, PA)

[TEIXERA,Andre de Oliveira] Controle Ativo da Suspensão de um Veiculo.