SlideShare una empresa de Scribd logo
1 de 19
Descargar para leer sin conexión
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.
•   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 a
situaçã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ência
tomando 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 duas
entradas,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 lado
direito da equação encontramos X1(s) e X2(s) :
Partindo da suposição que o problema possa ser tratado de modo linear, separamos a
aná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 e
denominador das Funções de Transferência no formato nump/denp para a força de
entrada no atuador e num1/den1 para o disturbio de entrada, assim definimos as G1(s) e
G2(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
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 de
segurança na estrada enquanto mantem o conforto quando se defronta com obstáculos e
buracos na estrada. Quando o ônibus é submetido a qualquer perturbação na estrada como
sujeira, lombadas ou pavimentação erodida, o corpo do ônibus não deve reagir com largas
oscilaçõ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 do
pneu (X2-W) é desprezivel, usaremos a distância X1-X2 para aproximar X1-W como a
saída do nosso problema.
O disturbio da estrada (W) nesse problema será simulado por uma entrada degrau. Esse
degrau pode representar o ônibus passando por um desnivel na estrada.
Nos queremos desenvolver um controlador realimentado em que a saída (X1-X2) possui
um sobresinal menor que 5% e possua um tempo de ajuste menor que 5 segundos. Por
exemplo, quando o onibus ultrapassar um degrau de 10 cm de altura, seu corpo irá oscilar
dentro de um patamar de variação de +/- 5 mm e irá retornar à suavidade na condução em
5 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).
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 sentir
uma pequena oscilação e o erro em regime é de 0.013mm. Alem disso, o ônibus demora um
tempo inaceitavelmente longo para ajustar-se ao regime estacionário.

step(0.1*num1,den1)
Para observar mais detalhes, mudamos o eixo:

       axis([0 10 -.1 .1])
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 com
larga 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 e
o lento tempo de acomodamento irão causar estrago ao sistema de suspensão. A solução
para esse problema é adicionar um controle realimentado no sistema para melhorar sua
performance. 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 o
diagrama em blocos do sistema de suspensão do ônibus, como segue:
Desenhando o Lugar Geometrico das Raizes

Agora passamos a desenvolver um controlador usando o método do lugar geométrico das
raizes.
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, as
quais 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/ou
pólos ao sistema original (por meio de um compensador), o lugar das raizes e a resposta
em 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)
Lugar das Raízes 'Descompensado' com linha de amortecimento de 5%


Observemos que é requisito da especificação que o sobresinal,%OS, deve ser menor que
5% 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 desejado
sobre o lugar das raizes aproximado.
Do gráfico acima, observamos que existem dois pares de polos e zeros que estão muito
próximos. Esses pares de pólos e zeros estão quase sobre o eixo imaginário, eles podem
tornar 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 o
máximo possivel para evitar um sistema instável. Temos que inserir dois zeros bem
próximos aos dois polos no eixo imaginário do sistema descompensado para haver
cancelamento de polo com zero. Alem disso, colocaremos outros dois pólos próximos ao
eixo real para obter rapidez de resposta.
Precisaremos então de dois zeros próximos aos dois polos no eixo complexo para desenar o
lugar 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ólos
colocados distantes, à esquerda para 'puxar' o lugar das raízes para a esquerda em
conjunto, 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]);
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)
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-se
escolher o ganho a partir do qual os requisitos de desempenho serão satisfeitos. Para obter
um sobresinal pequeno e resposta rápida, precisaremos selecionar o ganho correspondente
ao ponto onde o lugar das raizes cruza a linha de taxa de atenuação desejada. Desejamos
nesse caso, o cancelamento de pólos e zeros proximos ao eixo imaginário, o que justifica a
escolha.
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 valores
para o ganho K e os pólos.
selected_point = -3.0115 + 3.6433i
k =   1.4188e+008
poles = 1.0e+002 *

  -0.6327 + 7.0881i
  -0.6327 - 7.0881i
  -0.0287 + 0.1306i
-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 para
o auxilio da operação 'soma de polinômios', agradecimento a Justin Shriver da University of
Michigan, 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 do
compensador. 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, o
máximo desvio do corpo do ônibus para a estrada é aproximadamente 14cm, e as
oscilações são ajustadas em menos de 0.1 segundo. É uma resposta satisfatória quanto ao
tempo de acomodação mas não me satisfez quanto ao sobresinal, pode ter havido algum
erro 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 de
transferência de malha-aberta para estimar a resposta em malha-fechada. Adicionando um
controlador ao sistema, mudanças no gráfico da curva de bode de malha-aberta provocarão
mudanç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 para
baixo (diminuindo K) de um fator de 20*logK, mas o ganho K não possui efeito sobre a
curva de fase. Pelo gráfico anterior, K precisa ser 100dB (100000) para mover a magnitude
da curva para 0 dB em 0.1 rad/s.

         nump=100000*nump


Levantando novamente a Curva de Bode agora com o ganho K:
Adicionando dois controladores por avanço de fase.

Da curva de Bode acima, observamos que a curva de fase é íngreme e concava
aproximadamente em 5 rad/sec. Primeiro tentaremos adicionar fase positiva ao redor dessa
região e verificamos o quanto da fase irá restar sobre a linha de -180 graus. Uma vez que
uma larga margem de fase conduz a um sobresinal pequeno, desejaremos adicionar no
mínimo 140 graus de fase positiva na região próxima de 5 rad/seg. Uma vez que um
controlador por avanço não pode adicionar mais que +90 graus, usaremos dois
controladores 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 cada
        controlador.
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ária
entre o zero e o polo para a máxima fase adicionada desejada.
4: Determinar T e aT das seguintes equações, isso determinará as freqüencias de canto
nas quais a máxima fase será adicionada à frequencia desejada.




Agora, colocaremos nossos 2 controladores por avanço dentro do sistema e ver o que o
grá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 acima
está 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));
        grid
        title('Resposta em Frequencia Compensada de Malha-Aberta. - PTC2413 - Fernando J. Capeletto.')
        xlabel('Frequencia (rad/s)')
        ylabel('20logM')
        subplot(2,1,2);
        semilogx(w,phase);
axis([1e-4, 1e4, -180, 360])
        grid
        xlabel('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 final
do 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.')
Do gráfico obtido observamos que o percentual de sobresinal é menor que 3.5E-9 mm e o
tempo 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 o
conhecimento 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 um
terceiro ensaio, com o Compensador PID pela tabela de Ziegler-Nichols, mas é preciso
registrar que enquanto a bibliografia do trabalho está pronta faz mais de uma semana, os
ensaios 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 meu
computador com apenas 128MRam.
Agora são 09:25Am e depois de uma madrugada inteira finalizando o trabalho, preciso
parar 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 os
efeitos, até aqui, o compensador calculado pela margem de fase e ganho mostrou-se muito
melhor que o desenvolvido pelo método gráfico do LGR, mas ambos exerceram melhoria na
planta.
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 e
Ativas. (UFRN, Natal RN)

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

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

Más contenido relacionado

La actualidad más candente

Multiplicação e divisão
Multiplicação e divisãoMultiplicação e divisão
Multiplicação e divisãoSonia Amaral
 
Trigonometria ponteiros relogio
Trigonometria ponteiros relogioTrigonometria ponteiros relogio
Trigonometria ponteiros relogiotrigono_metria
 
Funcoes trigonometricas.ppt
Funcoes trigonometricas.pptFuncoes trigonometricas.ppt
Funcoes trigonometricas.pptRodrigo Carvalho
 
Recuperação lista exercicios 7º ano 1º bimestre
Recuperação lista exercicios 7º ano 1º bimestreRecuperação lista exercicios 7º ano 1º bimestre
Recuperação lista exercicios 7º ano 1º bimestreRafael Marques
 
Lista de potenciação e radiciaçao - exercicios
Lista de potenciação e radiciaçao - exerciciosLista de potenciação e radiciaçao - exercicios
Lista de potenciação e radiciaçao - exerciciosPaulo Souto
 
Exercicios ef e mecânica
Exercicios ef e mecânicaExercicios ef e mecânica
Exercicios ef e mecânicaAna Rodrigues
 
Notação cientifica
Notação cientificaNotação cientifica
Notação cientificaMurilo Martins
 
Função do 2°grau
Função do 2°grauFunção do 2°grau
Função do 2°grauLSKY
 
Sistema Internacional de Unidades
Sistema Internacional de UnidadesSistema Internacional de Unidades
Sistema Internacional de UnidadesO mundo da FÍSICA
 
prof.Calazans(Geom.plana) - Polígonos(20 questões resolvidas)
prof.Calazans(Geom.plana) - Polígonos(20 questões resolvidas)prof.Calazans(Geom.plana) - Polígonos(20 questões resolvidas)
prof.Calazans(Geom.plana) - Polígonos(20 questões resolvidas)ProfCalazans
 
Exercícios Resolvidos: Média Aritmetica
Exercícios Resolvidos: Média AritmeticaExercícios Resolvidos: Média Aritmetica
Exercícios Resolvidos: Média AritmeticaDiego Oliveira
 
Aula notação científica (2).ppt
Aula notação científica (2).pptAula notação científica (2).ppt
Aula notação científica (2).pptJooHonorato3
 

La actualidad más candente (20)

001 primeira lei de ohm
001   primeira lei de ohm001   primeira lei de ohm
001 primeira lei de ohm
 
Multiplicação e divisão
Multiplicação e divisãoMultiplicação e divisão
Multiplicação e divisão
 
Plano de aula Cinemática
Plano de aula CinemáticaPlano de aula Cinemática
Plano de aula Cinemática
 
Trigonometria ponteiros relogio
Trigonometria ponteiros relogioTrigonometria ponteiros relogio
Trigonometria ponteiros relogio
 
Funcoes trigonometricas.ppt
Funcoes trigonometricas.pptFuncoes trigonometricas.ppt
Funcoes trigonometricas.ppt
 
Recuperação lista exercicios 7º ano 1º bimestre
Recuperação lista exercicios 7º ano 1º bimestreRecuperação lista exercicios 7º ano 1º bimestre
Recuperação lista exercicios 7º ano 1º bimestre
 
Juros simples e composto
Juros simples e compostoJuros simples e composto
Juros simples e composto
 
Lista de potenciação e radiciaçao - exercicios
Lista de potenciação e radiciaçao - exerciciosLista de potenciação e radiciaçao - exercicios
Lista de potenciação e radiciaçao - exercicios
 
Exercicios ef e mecânica
Exercicios ef e mecânicaExercicios ef e mecânica
Exercicios ef e mecânica
 
Porcentagem.ppt
Porcentagem.pptPorcentagem.ppt
Porcentagem.ppt
 
Notação cientifica
Notação cientificaNotação cientifica
Notação cientifica
 
Janelas de Oportunidades
Janelas de OportunidadesJanelas de Oportunidades
Janelas de Oportunidades
 
Função do 2°grau
Função do 2°grauFunção do 2°grau
Função do 2°grau
 
Sistema Internacional de Unidades
Sistema Internacional de UnidadesSistema Internacional de Unidades
Sistema Internacional de Unidades
 
prof.Calazans(Geom.plana) - Polígonos(20 questões resolvidas)
prof.Calazans(Geom.plana) - Polígonos(20 questões resolvidas)prof.Calazans(Geom.plana) - Polígonos(20 questões resolvidas)
prof.Calazans(Geom.plana) - Polígonos(20 questões resolvidas)
 
Tabela de Integrais
Tabela de  IntegraisTabela de  Integrais
Tabela de Integrais
 
Exercícios Resolvidos: Média Aritmetica
Exercícios Resolvidos: Média AritmeticaExercícios Resolvidos: Média Aritmetica
Exercícios Resolvidos: Média Aritmetica
 
Aula notação científica (2).ppt
Aula notação científica (2).pptAula notação científica (2).ppt
Aula notação científica (2).ppt
 
Aula 01 introdução a estatística
Aula 01   introdução a estatísticaAula 01   introdução a estatística
Aula 01 introdução a estatística
 
Psicomotricidade Relacional 2.ppt
Psicomotricidade Relacional 2.pptPsicomotricidade Relacional 2.ppt
Psicomotricidade Relacional 2.ppt
 

Similar a Exercicio de Modelagem de Suspensão Dinamica

Similar a Exercicio de Modelagem de Suspensão Dinamica (20)

Cap9 - exemplos resolvidos em matlab
Cap9 - exemplos resolvidos em matlabCap9 - exemplos resolvidos em matlab
Cap9 - exemplos resolvidos em matlab
 
Física - 700 Questões de Vestibular - soluções
Física  - 700 Questões de Vestibular - soluçõesFísica  - 700 Questões de Vestibular - soluções
Física - 700 Questões de Vestibular - soluções
 
Tarefa 01
Tarefa 01Tarefa 01
Tarefa 01
 
Motor CC
Motor CCMotor CC
Motor CC
 
Desenvolvimento análise de sistemas lineares
Desenvolvimento análise de sistemas linearesDesenvolvimento análise de sistemas lineares
Desenvolvimento análise de sistemas lineares
 
Lugar raizes
Lugar raizesLugar raizes
Lugar raizes
 
Operações do Sistema Elétrico de Potência
Operações do Sistema Elétrico de PotênciaOperações do Sistema Elétrico de Potência
Operações do Sistema Elétrico de Potência
 
Lista 2 - Robótica (Jim & Ronie)
Lista 2 - Robótica (Jim & Ronie)Lista 2 - Robótica (Jim & Ronie)
Lista 2 - Robótica (Jim & Ronie)
 
Simulink 4
Simulink 4Simulink 4
Simulink 4
 
Relatório 1
Relatório 1Relatório 1
Relatório 1
 
Projeto de um Cruise Control usando MatLab
Projeto de um Cruise Control usando MatLabProjeto de um Cruise Control usando MatLab
Projeto de um Cruise Control usando MatLab
 
Aula 01
Aula 01Aula 01
Aula 01
 
Aula 01
Aula 01Aula 01
Aula 01
 
Pratica 5-clauder-eugenio-e-guilherme-martins
Pratica 5-clauder-eugenio-e-guilherme-martinsPratica 5-clauder-eugenio-e-guilherme-martins
Pratica 5-clauder-eugenio-e-guilherme-martins
 
Controlador de velocidade de máquina a vapor.
Controlador de velocidade de máquina a vapor.Controlador de velocidade de máquina a vapor.
Controlador de velocidade de máquina a vapor.
 
GAIN SCHEDULING (GANHO PROGRAMADO)
GAIN SCHEDULING (GANHO PROGRAMADO)GAIN SCHEDULING (GANHO PROGRAMADO)
GAIN SCHEDULING (GANHO PROGRAMADO)
 
Gaudencio Amos-- C--P.A.T.Correia11.pdf
Gaudencio Amos-- C--P.A.T.Correia11.pdfGaudencio Amos-- C--P.A.T.Correia11.pdf
Gaudencio Amos-- C--P.A.T.Correia11.pdf
 
Motor CC no Matlab
Motor CC no MatlabMotor CC no Matlab
Motor CC no Matlab
 
5 2 funcoes de transferencia
5 2   funcoes de transferencia5 2   funcoes de transferencia
5 2 funcoes de transferencia
 
Cap1.pdf
Cap1.pdfCap1.pdf
Cap1.pdf
 

Más de Fernando José Capeletto Neto

Más de Fernando José Capeletto Neto (7)

PSI2594 - Projeto de Formatura - Escola Politecnica da Usp - LabTeX : Interfa...
PSI2594 - Projeto de Formatura - Escola Politecnica da Usp - LabTeX : Interfa...PSI2594 - Projeto de Formatura - Escola Politecnica da Usp - LabTeX : Interfa...
PSI2594 - Projeto de Formatura - Escola Politecnica da Usp - LabTeX : Interfa...
 
A infoera - João Zuffo
A infoera  - João ZuffoA infoera  - João Zuffo
A infoera - João Zuffo
 
Exortação ao Almirante Wandenkolk
Exortação ao Almirante WandenkolkExortação ao Almirante Wandenkolk
Exortação ao Almirante Wandenkolk
 
Liderança (Estudo de Caso) : Bernardinho
Liderança (Estudo de Caso) : BernardinhoLiderança (Estudo de Caso) : Bernardinho
Liderança (Estudo de Caso) : Bernardinho
 
Introdução à Engenharia Social Bélica
Introdução à Engenharia Social Bélica Introdução à Engenharia Social Bélica
Introdução à Engenharia Social Bélica
 
LabTeX Presentation
LabTeX  PresentationLabTeX  Presentation
LabTeX Presentation
 
Portais Redes Conectividade
Portais Redes ConectividadePortais Redes Conectividade
Portais Redes Conectividade
 

Exercicio de Modelagem de Suspensão Dinamica

  • 1. 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.
  • 2. 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 a situaçã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ência tomando 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 duas entradas,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 lado direito da equação encontramos X1(s) e X2(s) :
  • 3. Partindo da suposição que o problema possa ser tratado de modo linear, separamos a aná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 e denominador das Funções de Transferência no formato nump/denp para a força de entrada no atuador e num1/den1 para o disturbio de entrada, assim definimos as G1(s) e G2(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
  • 4. 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 de segurança na estrada enquanto mantem o conforto quando se defronta com obstáculos e buracos na estrada. Quando o ônibus é submetido a qualquer perturbação na estrada como sujeira, lombadas ou pavimentação erodida, o corpo do ônibus não deve reagir com largas oscilaçõ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 do pneu (X2-W) é desprezivel, usaremos a distância X1-X2 para aproximar X1-W como a saída do nosso problema. O disturbio da estrada (W) nesse problema será simulado por uma entrada degrau. Esse degrau pode representar o ônibus passando por um desnivel na estrada. Nos queremos desenvolver um controlador realimentado em que a saída (X1-X2) possui um sobresinal menor que 5% e possua um tempo de ajuste menor que 5 segundos. Por exemplo, quando o onibus ultrapassar um degrau de 10 cm de altura, seu corpo irá oscilar dentro de um patamar de variação de +/- 5 mm e irá retornar à suavidade na condução em 5 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).
  • 5.
  • 6. 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 sentir uma pequena oscilação e o erro em regime é de 0.013mm. Alem disso, o ônibus demora um tempo inaceitavelmente longo para ajustar-se ao regime estacionário. step(0.1*num1,den1)
  • 7. Para observar mais detalhes, mudamos o eixo: axis([0 10 -.1 .1])
  • 8. 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 com larga 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 e o lento tempo de acomodamento irão causar estrago ao sistema de suspensão. A solução para esse problema é adicionar um controle realimentado no sistema para melhorar sua performance. 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 o diagrama em blocos do sistema de suspensão do ônibus, como segue:
  • 9. Desenhando o Lugar Geometrico das Raizes Agora passamos a desenvolver um controlador usando o método do lugar geométrico das raizes. 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, as quais 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/ou pólos ao sistema original (por meio de um compensador), o lugar das raizes e a resposta em 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)
  • 10. Lugar das Raízes 'Descompensado' com linha de amortecimento de 5% Observemos que é requisito da especificação que o sobresinal,%OS, deve ser menor que 5% 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 desejado sobre o lugar das raizes aproximado. Do gráfico acima, observamos que existem dois pares de polos e zeros que estão muito próximos. Esses pares de pólos e zeros estão quase sobre o eixo imaginário, eles podem tornar 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 o máximo possivel para evitar um sistema instável. Temos que inserir dois zeros bem próximos aos dois polos no eixo imaginário do sistema descompensado para haver cancelamento de polo com zero. Alem disso, colocaremos outros dois pólos próximos ao eixo real para obter rapidez de resposta. Precisaremos então de dois zeros próximos aos dois polos no eixo complexo para desenar o lugar 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ólos colocados distantes, à esquerda para 'puxar' o lugar das raízes para a esquerda em conjunto, 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]);
  • 11. 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)
  • 12. 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-se escolher o ganho a partir do qual os requisitos de desempenho serão satisfeitos. Para obter um sobresinal pequeno e resposta rápida, precisaremos selecionar o ganho correspondente ao ponto onde o lugar das raizes cruza a linha de taxa de atenuação desejada. Desejamos nesse caso, o cancelamento de pólos e zeros proximos ao eixo imaginário, o que justifica a escolha. 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 valores para o ganho K e os pólos. selected_point = -3.0115 + 3.6433i k = 1.4188e+008 poles = 1.0e+002 * -0.6327 + 7.0881i -0.6327 - 7.0881i -0.0287 + 0.1306i
  • 13. -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 para o auxilio da operação 'soma de polinômios', agradecimento a Justin Shriver da University of Michigan, 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 do compensador. 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, o máximo desvio do corpo do ônibus para a estrada é aproximadamente 14cm, e as oscilações são ajustadas em menos de 0.1 segundo. É uma resposta satisfatória quanto ao
  • 14. tempo de acomodação mas não me satisfez quanto ao sobresinal, pode ter havido algum erro 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 de transferência de malha-aberta para estimar a resposta em malha-fechada. Adicionando um controlador ao sistema, mudanças no gráfico da curva de bode de malha-aberta provocarão mudanç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 para baixo (diminuindo K) de um fator de 20*logK, mas o ganho K não possui efeito sobre a curva de fase. Pelo gráfico anterior, K precisa ser 100dB (100000) para mover a magnitude da curva para 0 dB em 0.1 rad/s. nump=100000*nump Levantando novamente a Curva de Bode agora com o ganho K:
  • 15. Adicionando dois controladores por avanço de fase. Da curva de Bode acima, observamos que a curva de fase é íngreme e concava aproximadamente em 5 rad/sec. Primeiro tentaremos adicionar fase positiva ao redor dessa região e verificamos o quanto da fase irá restar sobre a linha de -180 graus. Uma vez que uma larga margem de fase conduz a um sobresinal pequeno, desejaremos adicionar no mínimo 140 graus de fase positiva na região próxima de 5 rad/seg. Uma vez que um controlador por avanço não pode adicionar mais que +90 graus, usaremos dois controladores 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 cada controlador. 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ária entre o zero e o polo para a máxima fase adicionada desejada.
  • 16. 4: Determinar T e aT das seguintes equações, isso determinará as freqüencias de canto nas quais a máxima fase será adicionada à frequencia desejada. Agora, colocaremos nossos 2 controladores por avanço dentro do sistema e ver o que o grá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 acima está 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)); grid title('Resposta em Frequencia Compensada de Malha-Aberta. - PTC2413 - Fernando J. Capeletto.') xlabel('Frequencia (rad/s)') ylabel('20logM') subplot(2,1,2); semilogx(w,phase);
  • 17. axis([1e-4, 1e4, -180, 360]) grid xlabel('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 final do 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.')
  • 18. Do gráfico obtido observamos que o percentual de sobresinal é menor que 3.5E-9 mm e o tempo 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 o conhecimento 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 um terceiro ensaio, com o Compensador PID pela tabela de Ziegler-Nichols, mas é preciso registrar que enquanto a bibliografia do trabalho está pronta faz mais de uma semana, os ensaios 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 meu computador com apenas 128MRam. Agora são 09:25Am e depois de uma madrugada inteira finalizando o trabalho, preciso parar 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 os efeitos, até aqui, o compensador calculado pela margem de fase e ganho mostrou-se muito melhor que o desenvolvido pelo método gráfico do LGR, mas ambos exerceram melhoria na planta.
  • 19. 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 e Ativas. (UFRN, Natal RN) [OLIVEIRA,Luiz Affonso G.] Projeto de COntroladores PID para um processo térmico baseado em uma nova regra de sintonia. (UFPA, PA) [TEIXERA,Andre de Oliveira] Controle Ativo da Suspensão de um Veiculo.