Baixe o app para aproveitar ainda mais
Prévia do material em texto
Instituto Federal de Educação, Ciência e Tecnologia do Norte de Minas Gerais Campus Montes Claros Faculdade de Engenharia Elétrica Sistemas de Controle I Trabalho 1 Professor: Igor Sérgio de Oliveira Freitas Alunos: Celio de Cassio Felix e Lucas Tiago Pereira Gonçalves 28/11/2022 Proposta do Trabalho: Considere o sistema de suspensão de um veículo juntamente com a representação do modelo esquemático de um quarto de um carro, conforme está descrito na Figura 1: Sabendo que as equações matemáticas que descrevem o comportamento são definidas por (1) e (2). Responda o que se pede: Assuma que a massa de um quarto do veículo é 𝑚2 = 365kg, a massa do pneu é 𝑚1 = 30kg, 𝑘𝑠= 120.000 N/m, 𝑘𝑤 = 1.000.000 N/m e b = 9.800 Ns/m. 1. Com os valores mencionados no enunciado 1, escreva a função de transferência para esse sistema. 2. Apresente o gráfico do deslocamento y para uma entrada degrau unitário. No mesmo gráfico plote o sinal de entrada. 3. Determine o mapa de polos e zeros para esse sistema. 4. Quais são os polos que mais influenciam na resposta do sistema? Comprove sua resposta a partir da equação no domínio do tempo para a resposta ao degrau unitário. 5. Com os polos dominantes calcule os valores do tempo de subida, tempo de acomodação, sobressinal e tempo de pico. 6. A partir do gráfico traçado na questão 2, determine os mesmos itens solicitados na questão 5 e compare. As equações a seguir mostra a função transferência para esse sistema: 𝑠2𝑋(𝑠) + 𝑠 𝑏 𝑚1 (𝑋(𝑠) − 𝑌(𝑠)) + 𝑘𝑠 𝑚1 (𝑋(𝑠) − 𝑌(𝑠)) + 𝐾𝑤 𝑚1 𝑋(𝑠) = 𝑘𝑤 𝑚1 𝑅(𝑠) 𝑠2𝑌(𝑠) + 𝑠 𝑏 𝑚2 (𝑌(𝑠) − 𝑋(𝑠)) + 𝑘𝑠 𝑚2 (𝑌(𝑠) − 𝑋(𝑠)) = 0 Após algumas aplicações algébricas: 𝑌(𝑠) 𝑅(𝑠) = 𝑘𝜔 ∗ 𝑏 𝑚1 ∗ 𝑚2 ∗ (𝑆 + 𝑘𝑠 𝑏 ) 𝑆4 + ( 𝑏 𝑚1 + 𝑏 𝑚2) 𝑆 3 + ( 𝑘𝑠 𝑚1 + 𝑘𝑠 𝑚2 + 𝑘𝜔 𝑚1) 𝑆 2 + ( 𝑘𝜔 ∗ 𝑏 𝑚1 ∗ 𝑚2) 𝑆 + 𝑘𝜔 ∗ 𝑘𝑠 𝑚1 ∗ 𝑚2 Substituindo os respectivos valores: 𝑌(𝑠) 𝑅(𝑠) = 1000000 ∗ 9800 30 ∗ 365 ∗ (𝑆 + 120000 9800 ) 𝑆4 + ( 9800 30 + 9800 365 ) 𝑆3 + ( 120000 30 + 120000 365 + 1000000 30 ) 𝑆2 + ( 1000000 ∗ 9800 30 ∗ 365 ) 𝑆 + 1000000 ∗ 120000 30 ∗ 365 𝒀(𝒔) 𝑹(𝒔) = 𝟖𝟗𝟒𝟗𝟕𝟕, 𝟏𝟕𝒔 + 𝟏𝟎𝟗𝟓𝟒𝟓𝟐𝟎. 𝟏𝟐 𝑺𝟒 + (𝟑𝟓𝟑, 𝟓𝟏)𝑺𝟑 + (𝟑𝟕𝟔𝟔𝟐, 𝟏𝟎)𝑺𝟐 + (𝟖𝟗𝟒𝟗𝟕𝟕, 𝟏𝟕)𝑺 + 𝟏𝟎𝟗𝟓𝟖𝟗𝟎𝟒, 𝟏 Levando em conta a função de transferência apresentada, foi usado o google colab para plotar os gráficos e estudar o sistema proposto, a figura 02 mostra o sinal de resposta do sistema ao aplicar um degrau unitário. Um outro gráfico foi criando, onde mostra o sinal de resposta do sistema junto ao sinal de entrada original, o mesmo pode ser observado na figura 03. Figura 02 – Gráfico de resposta ao degrau unitário Fonte: Acervo dos autores (2022) Figura 03: Gráfico de resposta ao degrau unitário e sinal de entrada Fonte: Acervo dos autores (2022) A figura 04 mostra o mapa de polos e zeros do mesmo. Figura 04: Mapa de polos e zeros Fonte: Acervo dos autores (2022) Para facilitar a análise do mapa de polos e zeros, foi gerado um novo mapa, onde os polos foram circulados com cores diferentes (vermelho e azul). Na figura 05 apresentada na sequência pode-se observar o que foi feito. Observa-se que os polos circulados na cor azul, que indicam a frequência 𝜔d se mantiveram constantes, entretanto os polos circulados em vermelho, se afastaram consideravelmente da origem. Com isso concluimos que os polos circulados em azul tem um impacto muito maior sobre o sistema que os polos de vermelhos. Figura 05: Mapa de polos e zeros editado Fonte: Acervo dos autores (2022) Com o auxílio da função ‘residue’ é possível escrever a função no domínio do tempo para a resposta ao degrau unitário, a mesma é apresentada a seguir. 𝑥(𝑡) = 1 + (−0.7 − 0.6𝑗)𝑒(−13.52+14.23𝑗)𝑡 + (−0.7 + 0.6𝑗)𝑒(−13.52−14.23𝑗)𝑡 + (0.2 − 0.35𝑗)𝑒(−163.24+42.47𝑗)𝑡 + (0.2 + 0.35𝑗)𝑒(−163.24−42.47𝑗)𝑡 Dessa forma nos mostra que os polos dominantes são de fato os mais próximos do eixo imaginário que é respectivamente: (−13.51889 ∓ 14.22817𝑗) A tabela 01 apresenta os valores de sobressinal, tempo de subida, acomodação e tempo de pico, tanto para o gráfico da questão 02 quanto para os polos dominantes. Tabela 01:Relação de dados A partir do gráfico da questão 02 Com polos dominantes Tempo de subida = 0.03976096854836751 s 0.039853985398539855 s Tempo de acomodação 0.25633135042883737s 0.256025602560256s Sobressinal 28.20398847820772 28.20917249912044 Tempo de pico. 0.11674497148244077 s 0.11646164616461646 s Fonte: Acervo dos autores (2022) Após a terceira casa decimal fica visível a diferença entre os valores da primeira e segunda coluna, essa diferença se dá por conta dos diferentes métodos usados para calcular os resultados das mesmas, e junto a isso as aproximações feitas durante o tratamento das equações. Referência Bibliográfica NISE, Norman S. Engenharia de sistemas de controle. 6o ed. Rio de Janeiro: LTC, 2013. FRANKLIN, Gene F.; POWELL, J. David; EMAMI-NAEINI, Abbas. Sistemas de controle para engenharia. Bookman Editora, 2013. Código Usado Gráfico 01: !pip install control from control.matlab import* from plotly import graph_objects as go import numpy as np num = ([894977.17,10954520.12]) den = ([1,353.51,37662.1,894977.17,10958904.1]) Ts = tf(num,den) t = np.linspace(0,0.5,10000) resposta = step(Ts,t) #print(Ts) d = np.ones(10000) degrau=step(d,t) fig = go.Figure() fig.add_trace(go.Scatter(x = resposta[1], y = resposta[0])) fig.update_layout(title = "Resposta do sistema ao aplicar um degrau " '',xaxis_title = 'Tempo', yaxis_title = 'Amplitude') fig.show() Questões 02,03 e 06: #!pip install control from control.matlab import* from plotly import graph_objects as go import numpy as np num = ([894977.17,10954520.12]) den = ([1,353.51,37662.1,894977.17,10958904.1]) Ts = tf(num,den) t = np.linspace(0,0.5,10000) resposta = step(Ts,t) print(Ts) d = np.ones(10000) degrau=step(d,t) fig = go.Figure() fig.add_trace(go.Scatter(x = resposta[1],name = "Resposta ao degrau ", y = resposta[0])) fig.add_trace(go.Scatter(x =t, y = d,name = "Sinal de entrada")) fig.update_layout(title = '',xaxis_title = 'Tempo', yaxis_title = ' Amplitude') fig.show() pzmap(Ts) info = stepinfo(Ts) #print(info) print("Tempo de Assentamento = {}s". format(info['SettlingTime'])) print("Sobre-Sinal = {} ".format(info['Overshoot'])) print("Tempo de Subida = {} s".format(info['RiseTime'])) print("Tempo de Pico = {} s".format(info['PeakTime'])) Questões 04 e 05: from scipy.signal.signaltools import residue numl=([894977.17,10954520.12]) denl = ([1,353.51,37662.1,894977.17,10958904.1,0]) G=tf(numl,denl) print(G) resp=residue(numl, denl) print(resp) l=abs(0.9996 + (-0.7025-0.6224j)*np.exp((-13.5189+14.2282j)*t) + (- 0.7025+0.6224j)*np.exp((-13.5189-14.2282j)*t) + (0.2027- 0.3468j)*np.exp((- 163.2361+42.4710j)*t) + (0.2027+0.3468j)*np.exp((-163.2361- 42.4710j)*t)) fig = go.Figure(data = go.Scatter(x = t,y = l)) fig.show() #print(l) inf = stepinfo(l,t) #print(inf) print("Tempo de Assentamento = {}s". format(inf['SettlingTime'])) print("Sobre-Sinal = {} ".format(inf['Overshoot'])) print("Tempo de Subida = {} s".format(inf['RiseTime'])) print("Tempo de Pico = {} s".format(inf['PeakTime']))
Compartilhar