Você está na página 1de 25

Trabalho 1 - Controle e Servomecanismos I

Felipe Neves Pianco - 201420534611

Universidade do Estado do Rio de Janeiro

Introdução
Segundo Katsuhiko Ogata, o controle automático de sistemas é uma área considerada essencial para qualquer
campo da engenharia. A análise de sistemas e o desenvolvimento de técnicas de controle para o engenheiro
é extremamente importante, já que está cada vez mais presente nos mais diversos ramos, desde sistemas
industriais, ao controle de redes elétricas, no emprego de veículos autonômos, entre muitos outros. Com
o aumento da quantidade de informações e com o aumento da complexidade dos sistemas, o estudo e a
modelagem desses sistemas se torna mais e mais importante.
Embora estudado desde o século XVIII, os problemas de controle de hoje necessitam cada vez mais de
uma capacidade de processamento maior, com um grande número de interações e uso de ferramentas com-
putacionais mais robustas. A literatura apresenta diversos problemas reais com a intenção de exemplificar
diferentes questões que a área aborda, auxiliando o leitor em um melhor entedimento. Problemas mais
teóricos como o relógio de água desenvolvido pelo filósofo Ctesíbio, ou o regulador centrífugo flyBall, até
problemas mais práticos e concretos, como modelagem da direção de um veículo por um condutor humano
ou a modelagem do piloto automático de uma aeronave.
Um dos exemplos muito abordados nesta área é a modelagem do pêndulo invertido. Um pêndulo normal
consiste em um objeto qualquer com um determinado peso, preso a uma extremidade de um bastão, a outra
extremidade do bastão permanece fixa em uma roldana de modo que o sistema possa oscilar. O pêndulo
invertido consiste justamente no inverso de um pêndulo simples, onde o bastão permanece preso a uma
roldana no chão e o peso ficaria na parte superior, de modo que estaria sujeita a oscilar livremente. Este é
um sistema naturalmente instável, e justamente por isso, o problema aborda diversas questões que podem
possibilitar um maior entendimento de sistemas de controle. A principal ideia é manter o sistema do pêndulo
invertido estável através da leitura de uma variável que irá determinar a amplitude da aplicação de uma
força externa, tornando o sistema retroalimentado. A modelagem de um sistema de pêndulo invertido e sua
análise irá permitir extrapolar os conceitos para outros exemplos e outras áreas. Este trabalho se propõe
justamente em realizar uma analise deste sistema mais teórico e desenvolver um projeto livre aplicando os
conceitos estudados em um sistema específico.

Pêndulo Invertido

Modelagem

O sistema de um pêndulo invertido é composto por estrutura semelhante a um carro, com rodas na sua base
que pode se mover para frente e para trás. Acoplada a parte superior, uma roldana segura um cabo rígido
em um terminal, o qual está acoplado uma esfera na outra extremidade.

1
Analisando melhor as variáveis do sistema, o mesmo pode ser desenhado da seguinte maneira:

Onde a representa a aplicação de uma aceleração externa no carrinho, variante no tempo, e que representará
a variável de entrada do sistema. A ação da gravidade sobre a massa acoplada na extremidade do bastão,
g, irá repercutir em um distúrbio ao sistema que ocasionará uma aceleração angular x, também em função
do tempo t. Esta aceleração servirá também como variável de entrada, mas esta não será controlada de
forma direta e sim representará o distúrbio natural do sistema. Esse distúrbio irá ocasionar um movimento
no pêndulo aumentando o ângulo teta, o qual servirá como parâmetro para o controle, onde o equilíbrio será
alcançado quando este ângulo for zero. O sistema também pode ser representado de forma simples através
de um fluxograma, onde a variável x(t) se comporta como a variável do distúrbio, a(t) a variável que poderá
ser controlada, através de uma maior ou menor aplicação de uma força externa ao carrinho, e a variável
teta(t) que representa a saída da dinâmica do sistema em função de x(t) e a(t):

Pela dinâmica do sistema, sabe-se que com qualquer distúrbio de x(t) haverá um desequilíbrio do sistema
com o teta sendo diferente de zero. Como a ideia do problema é que haja um equilíbrio do sistema, onde
teta é zero, será necessário fazer uma retroalimentação, onde através de um processamento da saída teta(t)
será aplicada uma aceleração a(t) maior ou menor:

2
Existem diversos tipos de controles que podem ser utilizados para esse problema:

Controlador Proporcional Integral e Derivativo (PID)

Este tipo de controle de malha fechada se dá através de três componentes, proporcional, integral e derivativa,
as quais nomeam a sigla PID. A abordagem é feita através de erro e referência, onde a componente propor-
cional faz a redução do tempo de subida e do erro, além de aumentar o overshoot. Já a componente integral
tem a função de eliminar completamente o erro com a referência, consequentemente afetando a resposta
transisente, aumentando o assentamento e o overshoot. Por ultimo, a componente derivativa aumenta a
estabilidade do sistema, reduzindo o overshoot e o tempo de assentamento. De forma geral, o sinal do erro
é minimizado pela componente P, zerado pela componente I e obtido pela componente D.
Na figura a seguir, é mostrado o fluxo de processo deste controlador. Neste exemplo y representa a saída
do sistema que se deseja controlar e u a entrada que serve como o meio possível para realizar o controle. É
necessário a modelagem do sistema físico deste processo para entender o funcionamento matemático para
ter um melhor resultado. Apesar disso, é possível realizar um projeto deste tipo sem conhecer inteiramente
meu modelo físico, utilizando métodos heurísticos, onde ensaios práticos e um conhecimento parcial poderá
servir no desenvolvimento do projeto. Neste caso a variável e representa o erro da variável medida y do valor
de setpoint, justamente a diferença entre elas. Esta variável e servirá de insumo para as componentes P, I e
D para aumentar o diminuir a variável para assim ter uma saída u o mais proximo possível do valor setado
no inicio do esquema.

Este é um tipo de controlador muito importante, já que atualmente, mais de metade dos sistemas industriais
que possuem controle o utilizam.

3
Controle não linear por redes neurais

Outra técnica que pode ser utilizada neste caso são as redes neurais. Através de algorítimos esse sistema
pode reconhecer padrões e correlações, se desenvolvendo melhor a cada comportamento percebido, neste caso
não necessitaria um conhecimento do modelo físico de forma completa.
Na imagem a seguir um exemplo do resultado para o controle do ângulo de um pêndulo invertido após
modelagem com redes neurais, realizado por pesquisadores da Universidade Técnicas de Sofia [4]. A partir
de diferentes ângulos iniciais, é mostrada a resposta ao controle do ângulo ao longo do tempo. Nota-se na
quarta figura, que com um ângulo inicial maior que 6 rads o sistema já não consegue se estabilizar no zero.

Controle por lógica fuzzy

O controle fuzzy, ou nebulosa, também pode ser implementado para um problema como esse. Esta técnica
aborda processamentos não binários, tornando o sistema mais complexo e robusto.
A figura a seguir mostra um projeto real da implementação de um sistema de pêndulo invertido de duas
rodas (TWIP), realizado por pesquisadores taiwaneses [6], com um esquema de controle que inclui três tipos
de lógica fuzzy: fuzzy balanced standing control (FBSC), fuzzy traveling and position control (FTPC), e fuzzy
yaw steering control (FYSC).

4
Controle por algorítimo Regulador Linear Quadrático (LQR)

Este tipo de sistema permite encontrar um controlador ótimo de resposta de estado apropriado. É baseado
na retroalimentação de estados, e segundo [8] pode ser considerado uma solução intermediária entre contro-
ladores PID e controladores mais complexos.

Controle com Mapeamento Exponencial (CME)

Segundo [9], este controlador unifica um método heurístico para abandonar a necessidade de um modelo e
para definir seus parâmetros iniciais com um mapeamento exponencial unidimensional baseado na inferência
da lógica nebulosa para lidar com uma classe de não-linearidades.

5
Modelo não-linear

Para calcular este processo necessário, inicialmente é preciso entender a dinâmica física do sistema. Con-
siderando a esfera na extremidade do bastão como o centro de gravidade, e portanto, considerando a massa
do bastão como nula, pode-se chegar as coordenadas do ponto de centro de gravidade representadas por xg
e yg:

xg = x + Lsin(θ)

yg = Lcos(θ)

Considerando o diagrama de corpo livre representado abaixo, pode-se resumir o movimento do sistema em
quatro movimentos: o movimento rotacional do bastão em torno da roldana, o movimento horizontal e o
movimento vertical do peso na extremidade do bastão, e o movimento horizontal do carro.

6
Movimento rotacional do pêndulo:

d2 θ
V.L.sen(θ) − H.L.cos(θ) = I
dt2
Movimento horizontal do pêndulo:

d2
H=m (x + L.sen(θ))
dt2
Movimento vertical do pêndulo:

d2
V − mg = m (L.cos(θ))
dt2
Movimento horizontal do carrinho:

d2 x
a−H =M
dt2
Considerando as duas equações do plano horizontal, tem-se:

d2 d2 x
m 2
(x + L.sen(θ)) = a − M 2
dt dt
Movendo alguns elementos, tem-se a primeira equação que rege o sistema, onde a aceleração horizontal a do
carrinho é relacionada com duas variáveis, x e theta :

d2 d2
(M + m) 2
(x) + L.m. 2 (sen(θ)) = a
dt dt
Subsistituindo os valores de V e H na equação do movimento rotacional do pêndulo, tem-se:

7
d2 θ d2 d2
I = (m (L.cos(θ)) + m.g).L.sen(θ) − (m (x + L.sen(θ))).L.cos(θ)
dt2 dt2 dt2

d2 θ d2 d2 d2
I = (m.L (cos(θ)) + m.g).L.sen(θ) − (m (x) + m.L (sen(θ))).L.cos(θ)
dt2 dt2 dt2 dt2
Sabendo que:

d2 d 2 d2
(cos(θ)) = −cos(θ).( (θ)) − sen(θ). (θ)
dt2 dt dt2

d2 d 2 d2
(sen(θ)) = −sen(θ).( (θ)) + cos(θ). (θ)
dt2 dt dt2
Então, a primeira equação será transformada para:

d2 d 2 d2
(M + m) (x) + L.m.(−sen(θ).( (θ)) + cos(θ). (θ)) = a
dt2 dt dt2

(M + m)ẍ + L.m.sen(θ).θ̇2 + L.m.cos(θ).θ̈ = a

Já a segunda equação será:

d2 θ d d2
I 2
= (m.L.(−cos(θ).( (θ))2 − sen(θ). 2 (θ)) + m.g).L.sen(θ)−
dt dt dt

d2 d d2
−(m 2
(x) + m.L.(−sen(θ).( (θ))2 + cos(θ). 2 (θ))).L.cos(θ)
dt dt dt
Quer através de simplificações, retorna como:

−m.ẍ.cos(θ) + m.g.sen(θ) − m.L.θ̈ = I θ̈/L

Com:

I θ̈/L = 0

−m.ẍ.cos(θ) + m.g.sen(θ) − m.L.θ̈ = 0

m.g.sen(θ) = m.L.θ̈ + m.ẍ.cos(θ)

Portanto, no final foram desenvolvidas duas equações:

a = (M + m)ẍ + L.m.sen(θ).θ̇2 + L.m.cos(θ).θ̈

m.g.sen(θ) = m.L.θ̈ + m.ẍ.cos(θ)

8
Multiplicando essa segunda equação por -cos(theta) e somando com a primeira equação, chega-se no
seguinte resultado:

(M + m − m.cos2 θ)ẍ = L.m.senθ.θ̇2 − m.g.senθ.cosθ + a

Onde:

L.m.senθ.θ̇2 − m.g.senθ.cosθ + a
ẍ =
(M + m − m.cos2 θ)

Com a primeira equação tem-se que:

g.senθ − L.θ̈
ẍ =
cosθ
Igualando as duas equações é possível chegar ao seguinte valor:

a.cosθ − g.senθ.(M + m) + L.m.senθ.cosθ.θ̇2


θ̈ =
L(m.cos2 θ − (M + m))

   θ̇

θ 2
a.cosθ−g.senθ.(M +m)+L.m.senθ.cosθ.θ̇
d  θ̇  = 
  L(m.cos2 θ−(M +m))


dt  x   ẋ
 

ẋ L.m.senθ.θ̇ 2 −m.g.senθ.cosθ+a
(M +m−m.cos2 θ)

Modelo linearizado

Para tornar o modelo linearizado é necessário tomar como premissa que o ângulo theta será pequeno, os-
cilando ao redor de zero. Quando assumimos o ângulo como muito pequeno, pode-se fazer a seguinte
apropriação:

senθ ≈ θ

cosθ ≈ 1

Neste caso, tem-se:

a − g.θ.(M + m) + L.m.θ.θ̇2
θ̈ =
L(m − (M + m))

L.m.θ.θ̇2 − m.g.θ + a
ẍ =
(M + m − m)

9
Aplicações Reais

Qualquer aplicação que necessite uma estabilização no eixo vertical possui uma dinâmica similar a dinâmico
do pêndulo invertido. Existem muitos exemplos na internet de projetos realizados baseados no pêndulo
invertido, como é o caso do diversos projetos do Laboratório de Controle Aplicado (LAC) pertence ao
Departamento de Engenharia de Telecomunicações e Controle da USP. No projeto de um pêndulo invertido
comum realizado pelo laboratório, é utilizado o controle LQR (Linear Quadratic Regulator) além de um
algoritimo de swing-up para levantar o pêndulo do seu repouso. Avançando um pouco mais no conceito, o
laboratório desenvolveu um pêndulo invertido rotacional, também conhecido como pêndulo de Furuta, neste
exemplo, o atuador do sistema é um motor acoplado a um eixo, onde existem dois graus de liberdade: o
deslocamento do braço mecânico e o deslocamento angular do pêndulo. Outros sistemas similares também
foram desenvolvidos pelo laboratório, como o pêndulo invertido por roda de reação, onde poderia ser aplicado
em sistemas de controle de satélites e veículos espaciais; e o sistema bola e roda onde um controlador por
modos deslizantes foi utilizado e um sensor de distância por infravermelho mede a posição da bola.

Um aplicação prática deste conceito de pêndulo invertido e do seu controle é o diciclo SEGWAY, usado para
locomoção e que necessitou de técnicas de controle para o seu desenvolvimento. No laboratório mencionado,
uma aplicação similar é o Monociclo Auto-equilibrado.

10
A dinâmica de um pêndulo invertido pode ser comparada com a postura humana e o equilibrio necessário
para se movimentar, um exemplo claro é o caso de um equilibrista, que em uma corda bamba precisa regular
o peso para se manter ereto e conseguir caminhar pela corda sem cair. Apesar de ser um sistema muito mais
complexo, conceitos básicos aprendidos com a análise de um pêndulo invertido pode ser extrapolado para
robôs humanoídes e o contrele necessário para sua estabilização. O Robô Auto-Equilibrado desenvolvido
pelo laboratório é uma ótima analogia de como este conceito pode ser extrapolado para o equilíbrio de um
robô, mas projetos mais complexos como os robôs da Boston Dynamics fornecem uma perspectiva de como
esse conceito pode ser evoluido, com robôs tentando abrir uma porta e se equilibrando frente a empurrões e
forças externas, ou até mesmo robôs dançando.

Em sistemas aéreos também utiliza-se muito conceitos de controle como os utilizado no pêndulo invertido.
No lançamento de alguns foguetes por exemplo, é necessário manter o veículo na posição vertical durante o
período. Sistemas de controle em drones também utilizam conceitos aqui mencionados, nesta palestra TED é
mostrado um pouco da capacidade de controle de drones desenvolvidos por cientistas, utilizando modelagem
matemática e técnicas de controle de sistemas.

11
Simulação Pêndulo Invertido

O sistema do pêndulo invertido foi simulado através do GNU Octave.

Os parâmetros iniciais foram adicionados através do código:

#Cod GNU Octave


M = 0.5;
m = 0.2;
b = 0.1;
I = 0.006;
g = 10;
l = 0.3;
q = (M+m)*(I+m*lˆ2)-(m*l)ˆ2;
s = tf('s');
Pendulo = (m*l*s/q)/(sˆ3 + (b*(I + m*lˆ2))*sˆ2/q - ((M + m)*m*g*l)*s/q - b*m*g*l/q);

O controle utiilizado foi o PID, com os seguintes parâmetros iniciais:

#Cod GNU Octave


Kp = 1;
Ki = 1;
Kd = 1;
C = pid(Kp,Ki,Kd);
T = feedback(Pendulo,C);

É possível examinar a resposta do sistema de malha fechada a uma perturbação de impulso:

#Cod GNU Octave


t=0:0.01:10;
impulse(T,t)
title({'Resposta a um distúrbio - Posição Pendulo';'PID: Kp = 1, Ki = 1, Kd = 1'});
xlabel ("Tempo [s]");
ylabel ("Posição Pendulo");

12
Com o resultado mostrado, a solução não é estável. alterando a parcela proporcional Kp para 100, tem-se o
seguinte resultado:
#Cod GNU Octave
Kp = 100;
Ki = 1;
Kd = 1;
C = pid(Kp,Ki,Kd);
T = feedback(Pendulo,C);
t=0:0.01:10;
impulse(T,t)
axis([0, 2.5, -0.2, 0.2]);
title({'Resposta a um distúrbio - Posição Pendulo';'PID: Kp = 100, Ki = 1, Kd = 1'});
xlabel ("Tempo [s]");
ylabel ("Posição Pendulo");

Por tentativa e erro é possível chegar em um resultado melhor alterando a parcela derivativa Kd:
#Cod GNU Octave
Kp = 100;
Ki = 1;
Kd = 20;
C = pid(Kp,Ki,Kd);
T = feedback(Pendulo,C);
t=0:0.01:10;
impulse(T,t)
axis([0, 2.5, -0.2, 0.2]);
title({'Resposta a um distúrbio - Posição Pendulo';'PID: Kp = 100, Ki = 1, Kd = 1'});
xlabel ("Tempo [s]");
ylabel ("Posição Pendulo");

13
Aplicações Gerais - Controle e Servomecanismos
A geração de energia através de processos térmicos é uma das formas mais usadas na indústria, com diferentes
tecnologias, a partir de fontes variadas e com diferentes finalidades. Na geração de energia elétrica é também
um processo amplamente difundido, onde no mundo cerca de 80% de toda a geração de eletricidade provem
de uma usina térmica. Desse total, cerca de 65% utiliza como insumo combustíveis fósseis e 14% materiais
radiotativos. Uma forma de geração de elétricidade através de térmicas e que vem crescendo ultimamente é a
geração heliotérmica, que utiliza a energia solar como fonte para aquecer um líquido, um solução mais limpa
do as térmicas a combustíveis fosseis. No Brasil, apesar de representar apenas 14% da geração doméstica, é
uma fonte de extrema relevância para a segurança energética do setor e confiabilidade do sistema, além disso,
diversos estudos apontam para um crescimento acelerado desta parcela no setor brasileiro para os próximos
anos.
De todas as tecnologias que se destacam na geração térmica, a que domina o mercado é a turbina a vapor,
com 54% do mercado mundial. Considerando apenas as termelétricas movidas a combustíveis fosséis, em
linhas gerais há inicialmente a conversão energia química dos combustíveis em calor através da queima do
combustível, depois o calor produzido se converte em trabalho mecânico através de uma máquina térmica e
por último o trabalho mecânico se transforma em energia elétrica através do gerador elétrico.

A usina térmica é composta de um sistema complexo, como mostrado na figura a seguir, e pode ser dividida
para melhor entendimento em diversos subsistemas. Para citar os principais, o Subsistema de Conversão de
Energia consiste no núcleo principal e inclui os equipamentos dos processos mencionados anteriormente; o

14
Subsistema de Combustível compreende todos os equipamentos de recepção, armazenamento e tratamento
do combustível para a usina, por ser o sistema que mais envolve custos, a recepção do combustível na usina
requer um rigoroso controle de qualidade e quantidade. Fraudes no comércio de combustíveis; Todas as
máquinas térmicas necessitam de ar para queimar o combustível, por isso, o Subsistema de Ar se encarrega
de absorver e tratar o ar antes de injetá-lo nas máquinas; por último, a Conexão com a Rede Elétrica requer
cuidados especiais para atender as normas das empresas de distribuição ou transmissão e garantir a operação
da usina de forma confiável. Fazendo parte de todos esses subsistemas, existe o sistema de controle, que
incopora diversos sistemas e irá permitir o trabalhos de todas as partes sincronizado, de forma eficiente e
segura.

Atualmente, a geração de energia elétrica, utilizando o vapor, se baseia na turbina a vapor. A combustão
da mistura combustível+ar produz calor na caldeira que transforma a água em vapor. Após isso, é injetado
o vapor na turbina para gerar trabalho mecânico, acionando o gerador. O vapor na saída na turbina
se transforma novamente em água ao passar pelo condensador. Através de uma bomba, a água sai do
condensador e injeta novamente a água com a pressão adequada na caldeira.

15
A simulação do trabalho consiste em desenvolver um controle de temperatura da caldeira através de uma lóg-
ica PID. Abaixo está demonstrado de forma simplificada o ciclo chamado rankine, responsável pelo trabalho
de usinas térmicas a vapor. Neste caso, pretende-se analisar a passagem do ponto 2 para 3:

16
O modelo que diz respeito somente a parte de aquecimento do fluido pode ser descrita de forma simples por:

dT ρqCp (Te − T ) + hs As (Ts − T )


=
dt ρV Cp

O primeiro termo diz respeito a entalpia de entrada de saída e o segundo termo a troca termica entra a
superfícia inferior do boiler e o fluido.

dTs Q − hs As (Ts − T )
=
dt ρs Vs Cp s

Sendo
Ts - Temperatura superfície do boiler
Q - Calor fornecido pelo boiler
Para inserir esse modelo no python inicia-se importando as bilbiotecas e depois disso define-se as constantes
de entrada:

import numpy as np
import matplotlib.pyplot as plt
from scipy.integrate import odeint

# Propriedades Fluido (Agua)


rho = 997 # Densidade Kg/mˆ3
q = 0.001 # Vazao mˆ3/s
cp = 4186 # Calor Especifico K/Kg.K
Te = 350 # Temperatura de Entrada K (50 C)
V = 0.01 # Volume mˆ3

17
# Material boiler (Aco)
rhos = 7860 # Densidade Kg/mˆ3
Vs = 0.1 # Volume Superficie mˆ3
cps = 486 # Calor Especifico J/Kg.K
hr = 1200 # Coeficiente de Transferencia de calor entre o fluido e o metal
As = 1 # Area Superficie mˆ2

# Condicoes iniciais de temperatura


T0 = 400 # Temp fluido K
Ts0 = 500 # Temp superficie K

# Valor Inicial da variavel manipulada (Calor)


Q = 500000 # Calor J/s

É definida então a função:

def FuncaoTanque(M,t):
T,Ts = M
dT_dt = (rho*q*cp*(Te - T) + hr*As*(Ts - T))/(rho*V*cp)
dTs_dt = (Q - hr*As*(Ts - T))/(rhos*Vs*cps)
return(dT_dt, dTs_dt)

Após isso, é possível rodar um caso inicial sem controle para ver o funcionamento do modelo:

t = np.linspace(0,1000,num=100)
M = odeint(FuncaoTanque, [T0,Ts0], t)

T_vetor = M[:,0]
Ts_vetor = M[:,1]

plt.clf()
plt.plot(t,T_vetor)

## [<matplotlib.lines.Line2D object at 0x000000002D45B390>]

plt.ylabel('Temperatura Fluido (Agua) [K]')

## Text(0, 0.5, ’Temperatura Fluido (Agua) [K]’)

plt.show()

18
460
450
Temperatura Fluido (Agua) [K]

440
430
420
410
400
390
0 200 400 600 800 1000

plt.clf()
plt.plot(t,Ts_vetor)

## [<matplotlib.lines.Line2D object at 0x000000002D5597B8>]

plt.ylabel('Temperatura Superficie (Boiler) [K]')

## Text(0, 0.5, ’Temperatura Superficie (Boiler) [K]’)

plt.show()

19
850
800
Temperatura Superficie (Boiler) [K]

750
700
650
600
550
500
0 200 400 600 800 1000

Após isso o controlador PID pode ser implementado através da seguinte solução, onde busca-se chegar a uma
temperatura de 520 K do fluído. Os valores iniciais de Kc, TauI e TauD foram sendo alterados empiricamente
até chegar em um bom resultado.

Tset = 520

Q_barra = 500000
num = 5
delta_t = 50
t0 = 0
I = 0

T_vetor = []
tempo = []
M = []
t_vetor = []

Kc = 2
TauI = 0.1
TauD = 2

e = 0
e_anterior = 0
T0 = 500
ts0 = 580
T = T0

20
Ts = Ts0

ne = 80
for i in range(0,ne):
P = e
I = e*delta_t+I
D = (e-e_anterior)/delta_t

Q = Q_barra+Kc*(P+(1/TauI)*I+TauD*D)

tf = t0 + delta_t
t = np.linspace(t0,tf,num)
M = odeint(FuncaoTanque,[T0, Ts0],t)
t0 = tf

T = M[:,0]
Ts = M[:,1]
e = Tset - T[num-1]
e_anterior = Tset - T[0]
T0 = T[num-1]
Ts0 = Ts[num-1]

T_vetor = np.append(T_vetor,T)
t_vetor = np.append(t_vetor,t)

plt.clf()
plt.plot(t_vetor, T_vetor)

## [<matplotlib.lines.Line2D object at 0x000000002D6B3400>]

plt.ylabel('Temperatura Fluido (Agua) [K]')

## Text(0, 0.5, ’Temperatura Fluido (Agua) [K]’)

plt.xlabel('tempo')

## Text(0.5, 0, ’tempo’)

plt.show()

## Traceback (most recent call last):


## File "C:\Users\pianc\AppData\Local\R-MINI~1\envs\R-RETI~1\lib\site-packages\matplotlib\backends\bac
## self.draw()
## File "C:\Users\pianc\AppData\Local\R-MINI~1\envs\R-RETI~1\lib\site-packages\matplotlib\backends\bac
## self.figure.draw(self.renderer)
## File "C:\Users\pianc\AppData\Local\R-MINI~1\envs\R-RETI~1\lib\site-packages\matplotlib\artist.py",
## return draw(artist, renderer, *args, **kwargs)
## File "C:\Users\pianc\AppData\Local\R-MINI~1\envs\R-RETI~1\lib\site-packages\matplotlib\figure.py",
## renderer, self, artists, self.suppressComposite)

21
## File "C:\Users\pianc\AppData\Local\R-MINI~1\envs\R-RETI~1\lib\site-packages\matplotlib\image.py", l
## a.draw(renderer)
## File "C:\Users\pianc\AppData\Local\R-MINI~1\envs\R-RETI~1\lib\site-packages\matplotlib\artist.py",
## return draw(artist, renderer, *args, **kwargs)
## File "C:\Users\pianc\AppData\Local\R-MINI~1\envs\R-RETI~1\lib\site-packages\matplotlib\axes\_base.p
## self._update_title_position(renderer)
## File "C:\Users\pianc\AppData\Local\R-MINI~1\envs\R-RETI~1\lib\site-packages\matplotlib\axes\_base.p
## if (ax.xaxis.get_ticks_position() in [’top’, ’unknown’]
## File "C:\Users\pianc\AppData\Local\R-MINI~1\envs\R-RETI~1\lib\site-packages\matplotlib\axis.py", li
## self._get_ticks_position()]
## File "C:\Users\pianc\AppData\Local\R-MINI~1\envs\R-RETI~1\lib\site-packages\matplotlib\axis.py", li
## major = self.majorTicks[0]
## IndexError: list index out of range

575
550
Temperatura Fluido (Agua) [K]

525
500
475
450
425
400

0 500 1000 1500 2000 2500 3000 3500 4000


tempo
Alterando os valores de Kc, TauI e TauD é possível analisar a perda de estabilidade do sistema:
Com:

Kc = 100
TauI = 0.2
TauD = 2

Tem-se:

22
Já com:

Kc = 150
TauI = 0.2
TauD = 2

Tem-se a perda da estabilidade por completo:

23
Conclusões
É possível concluir a importância em entender os conceitos apresentados em sala de aula e sua aplicação
no mundo prático. Após o entendimento da matéria é possível vislumbrar sistemas de controle nos mais
diversos sistemas, desde máquinas, até sistemas como a visão humana, por exemplo.
No caso do processo PID, melhor analisado na construção deste trabalho, no exemplo mostrado de controle
de temperatura de um boiler, nota-se a curva característica deste processo, onde a temperatura passa do
valor de set point, depois retornar abaixo da linha de set point e assim por diante, onde o erro entre o valor
e o set point é pouco a pouco diminuido pela ação das componentes derivativa, integrativa e proporcional.

Referências
[1] OGATA, KATSUHIKO. Engenharia de controle moderno. 5. ed. São Paulo, Pearson Prentice Hall, 2010.
[2] OPPENHEIM, Alan V. Lecture 26, Feedback Example: The Inverted Pendulum. MIT RES.6.007 Signals
and Systems, Spring 2011. Disponível em: https://www.youtube.com/watch?v=D3bblng-Kcc. Acesso em:
01 de maio 2021.
[3] J. J. Wang. “Simulation studies of inverted pendulum based on pid controllers,”Simulation Modeling
Practice and Theory, vol. 19, no. 1, pp. 440–449, 2011.
[4] C. W. Anderson. “Learning to control an inverted pendulum using neural networks,”IEEE Control
Systems Magazine, Vol. 9, no. 3, pp. 31–37,1989.
[5] W. PEDRYCZ. “Fuzzy control and fuzzy systems,”Research Studies Press, 1993.
[5] C.-H. Huang and W.-J. W. Fellow. Design and implementation of fuzzy control On a two-wheel Inverted
pendulum. IEEE Transactions on Industrial Electronics, vol. 58, no. 7, pp. 2988–3001, 2011.

24
[6] C.-H. Huang, wen June Wang, and C.-H. Chiu. S an approach to fuzzy control of nonlinear systems:
stability and design issues. IEEE Transactions on Fuzzy Systems, vol. 4, no. 1, pp. 14–23, 1996.
[7] H. de Castro, P. Paglione, and C. Ribeiro. Exponential mappingfunction for nonlinear control. Studies
in Informatics ans Control, vol. 24, no. 4, 2015.
[8] F. Dalatore. Controle multivariável em redes de trocadores de calor combypasses. Doutorado em engen-
haria de sistemas, Instituto Tecnológicode Aeronáutica, São Paulo, 2011
[9] H. F. de Castro Filho. Modified exponential mapping function forstreamlined control of nonlinear dynam-
icas systems. Doutorado emCiências Aeronáuticas e Engenharia Mecânica, Instituto Tecnológico deAeronáu-
tica, Santa Maria, 2015.
[10] PORTELLA, KENEDY. et al. Comparação entre estratégias de controle por regulador linear quadrático
e controle por mapeamento exponencial aplicado a um sistema de pêndulo invertido. 2018.
[11] D’ANDREA, Raffaello. O assombroso poder atlético dos quadricópteros. 2013. Disponível em:https:
//www.youtube.com/watch?v=w2itwFJCgFQ. Acesso em: 30 de maio 2021.
[12] MAFFEZZONI, C. Boiler-turbine dynamics in power-plant control. Control Engineering Practice, 5(3),
301–312. 1997.

25

Você também pode gostar