Buscar

Controle da posição de um carro

Prévia do material em texto

INSTITUTO FEDERAL CATARINENSE – CÂMPUS Luzerna 
Componente curricular: Controle Discreto 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Controle da posição do carro 
 
 
 
 
 
 
 
 
 
 
 
 
Daniela Iagher Dildey 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Luzerna, 14 de novembro de 2017 
O trabalho foi feito considerando as seguintes especificações: 
 Topologia em série; 
 𝑚𝑠 = 272 𝑘𝑔, 𝑚𝑢 = 48 𝑘𝑔, 𝑘𝑠 = 18500 ே
௠
, 𝑐𝑠 = 1100𝑁. ௦
௠
, 𝑘𝑡 = 168000 ே
௠
 
 Diminuir o tempo de estabilização em 10% e sobressinal menor que 25%; 
A Equação (1) define a topologia em série que foi implementada através de blocos 
no simulink, para ser aproximada por um sistema de segundo grau. 
𝑥�̈� =
−𝑐𝑠
𝑚𝑠
(𝑥�̇� − 𝐹) −
𝑘𝑠
𝑚𝑠
(𝑥𝑠 − 𝑥𝑢) 
 
𝑥�̈� =
𝑐𝑠
𝑚𝑢
(𝐹 − 𝑥�̇�) +
𝑘𝑠
𝑚𝑢
(𝑥𝑠 − 𝑥𝑢) −
𝑘𝑡
𝑚𝑢
(𝑥𝑢 − 𝑥𝑟) 
 
(1) 
A Equação (2) mostra o sistema com os valores das variáveis 
𝑥�̈� = −4,0441(𝑥�̇� − 𝐹) − 68,0147(𝑥𝑠 − 𝑥𝑢) 
 
𝑥�̈� = 22,9166(𝐹 − 𝑥�̇�) + 385,4166(𝑥𝑠 − 𝑥𝑢) − 3500(𝑥𝑢 − 𝑥𝑟) 
 
(2) 
Nas equações, 𝑚𝑠 é a massa após o sistema de suspensão, ou seja, a massa do 
carro que está sendo suportada por aquela roda, 𝑥𝑠 é o deslocamento da massa 𝑚𝑠, 𝑘𝑠 é 
a constante da mola, 𝑐𝑠 é a constante de amortecimento do amortecedor hidráulico, 𝑥𝑢 é 
o deslocamento da massa mu antes da suspensão, ou seja, roda e eixo do carro, 𝑥𝑟 é o 
deslocamento do pneu devido à perturbações na estrada, F é a força exercida pelo atuador 
e 𝑘𝑡 é a constante elástica do pneu. 
Depois de implementado no simulink os blocos para simulação do sistema através 
das equações 𝑥�̈� e 𝑥�̈�, foi possível obter a resposta do sistema à um degrau, Figura 1. 
 
Figura 1 - Sistema real da posição 
Na Figura 1 pode-se observar um sobressinal de 𝑂𝑆(%) = 42,52% e um tempo 
de pico de 𝑡𝑟 = 0,4𝑠, através desses dados é possível aproximar esse sistema à um 
sistema de 2° ordem que pode ser descrito pela Equação 3, após o ajuste do ganho. 
Gୟ୮ =
4,807
𝑠ଶ + 4,275 + 66,253
 
(3) 
 
 
Na Figura 2, pode-se observar a comparação do sistema real com a aproximação. 
 
Figura 2 - Comparação dos sistemas aproximado e real 
 A planta foi discretizada utilizando um tempo de amostragem (Ts=0,001s) e a 
planta obtida pode ser observada na Equação 4. 
G୸ =
2,4 ∗ 10ି଺𝑧 + 2,4 ∗ 10ି଺
𝑧ଶ − 1,996 + 0,9957
 
(4) 
 
 
Para que o sistema tenha um sobressinal menor do que 25% e um tempo de 
assentamento 10% menor (1,235s), já que o tempo de assentamento em malha aberta era 
menor que o especificado. O ponto desejado é (0,9978, 0,078311) para que o sistema 
tenha essas características. É necessário um controlador com integrador, ou seja, com um 
polo em 1, para que o sistema siga referências 
 Então o controlador resultante pode ser observado na Equação (5). 
 
𝐶 =
338730(𝑧 − 0,7946)(𝑧 − 0,9886)(𝑧 + 0,551)
(𝑧 − 1)(𝑧 + 0,9617)(𝑧 + 0,550)
 (5) 
 
Para o projeto do controlador, depois de adicionado o polo em 1 e um zero em 
0,7946 faltava ainda uma contribuição de aproximadamente 150º, mas depois de 
acrescentar mais um controlador de atraso e um de avanço foi necessário o uso do sisotool 
para fazer os ajustes mais finos. Depois de definidos os parâmetros que eram necessários, 
foram feitos ajustes acompanhando a resposta ao degrau e tentando manter os polos da 
malha fechada dentro da região preestabelecida, o ganho também foi alterado de maneira 
a atingir os pré-requisitos. O lugar das raízes da planta em malha fechada com o 
controlador pode ser observada na Figura 3. 
 
 
Figura 3 – Lugar das raízes da planta controlada 
Após o sistema estar controlado pode-se observar uma melhora grande no tempo 
de assentamento, assim como no sobressinal apresentado. O tempo de assentamento 
precisou ser bem menor do que o planejado, pois o sobressinal também precisava ser 
atendido. Na Figura 4 podemos observar o sistema em malha fechada. 
 
Figura 4 - Sistema em malha fechada 
A ação de controle do controlador pode ser observada na Figura 5. 
 
Figura 5- Ação de controle 
A rejeição à perturbação também foi atingida com sucesso e pode ser observada na Figura 
6, esse teste foi feito com a referência em zero. 
 
Figura 6 - Sistema rejeitando perturbação 
A ação de controle para rejeitar essa perturbação é na ordem de 10ସ. Não foi possível 
projetar um controlador com uma ação de controle menor para que atendesse os dois pré-
requisitos. A ação de controle pode ser observada na Figura 7. 
 
Figura 7 - Ação de controle para rejeitar perturbação 
Para desenvolver o código é necessário encontrar as equações à diferenças. 
Y(z)
U(z)
=
2,4 ∗ 10ି଺𝑧 + 2,4 ∗ 10ି଺
𝑧ଶ − 1,996 + 0,9957
 
Y(z) ∗ (𝑧ଶ − 1,996 + 0,9957)
= U(z) ∗ (2,4 ∗ 10ି଺𝑧 + 2,4 ∗ 10ି଺) 
 
y(𝑘) = +1,996𝑦(𝑘 − 1) − 0,9957𝑦(𝑘 − 2) + 2,4 ∗ 10ି଺u(k − 1)
+ 2,4 ∗ 10ି଺𝑢(𝑘 − 2) 
 
 
 
 
 
(6) 
 
U(z)
e(z)
=
338730 ∗ (𝑧ଷ − 1.233 𝑧ଶ − 0.1961𝑧 + 0.4322)
 𝑧ଷ + 0.5117 𝑧ଶ − 0.9828 𝑧 − 0.5289
 
 
u(k) = −0,5117u(k − 1) + 0,9828u(k − 2) + 0,5289u(k − 3)
+ 338730(e(k) − 1,233e(k − 1) − 0,1961e(k − 2)
+ 0,4322e(k − 3)) 
 
 
 
(7) 
O programa em C pode ser visualizado abaixo, primeiro foram definidas as variáveis 
globais e a partir do recebimento do valor do erro. 
 
int u1,u2,u3,u4,e1,e2,e3,e4; //Definição de variáveis globais 
e1 = 0; // Erros passados 
e2 = 0; 
e3 = 0; 
u1 = 0; //Ações de controle passadas 
u2 = 0; 
u3 = 0; 
 
float calculo_controle(float e4){ 
 
 
u4 = -0.5117*u3+0.9828*u2+0.5289*u1+338730*(e4-1.233*e3-0.1961*e2 + 
0.4322*e1); //Cálculo da ação de controle 
 
u1 = u2; 
u2 = u3; 
u3 = u4; //Faz com que a ação de controle atual seja 
//passada à u3 e assim por diante 
e1 = e2; 
e2 = e3; 
e3 = e4; //Atualiza os valores dos erros 
 
return u4; //Resulta na ação de controle 
} 
 
 Conclui-se que a simulação através do simulink foi satisfatória para a análise e 
atendimento dos pré-requisitos solicitados pelo professor. 
 Foi possível projetar um controlador com as características necessárias e que 
atendesse os pré-requisitos de uma forma satisfatória através de um projeto de LGR. 
 A função escrita em linguagem C poderá ser inserida em um algoritmo que 
recebe o erro do sistema e calcula o controle a ser realizado pelo controlador.

Continue navegando