You are on page 1of 36

o Tecnolo

gica de Minas Gerais


Centro Federal de Educa
ca
polis
Campus Divino
o em Engenharia Mecatro
nica
Gradua
ca

Gustavo Barros Castro


Mateus Viana de Oliveira e Costa

CONTROLE DE ALTURA DE UMA


PLATAFORMA ATUADA POR CABOS

Divinopolis
2015

Gustavo Barros Castro


Mateus Viana de Oliveira e Costa

CONTROLE DE ALTURA DE UMA


PLATAFORMA ATUADA POR CABOS

Relatorio apresentado `a disciplina de Controle Digital


do curso de Engenharia Mecatronica do Centro
Federal de Educacao Tecnologica de Minas Gerais.

Orientador: Valter J
unior de Souza Leite

Divinopolis
2015

Resumo

O Presente relat
orio visa apresentar as atividades realizadas durante desenvolvimento do trabalho final da disciplina de Controle Digital e Laboratorio de Controle
Digital, o qual consiste no controle de altura de uma plataforma atuada por cabos.
Desenvolveu-se uma plataforma na qual um motor CC ira enrolar ou soltar uma
corda de forma a alterar a altura de uma plataforma suspensa. O sensor utilizado
para aferic
ao da altura e um sensor ultrassom modelo HC-SR04. Para modelagem
do processo utilizou-se tecnica de caixa cinza. Validou-se o sistema com excitacao
do tipo ruido branco, de forma a garantir fidelidade do modelo com o sistema real.
Para controle desenvolveu-se controlador PID, atraves de duas tecnicas, estes foram
implementados na placa Arduino atraves de um algoritimo para o PID.
Palavras-chave: Controle de altura. Plataforma atuada por cabos. Controle Digital.

iii

Sumario

Lista de Figuras

vi

1 Introdu
c
ao
1.1 Objetivos do Trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Aplicac
oes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1
1
1

2 Revis
ao Bibliografica
2.1 Modelagem de Sistemas . . . . . . . . . . . .
2.2 Linearizac
ao de Sistemas . . . . . . . . . . . .
2.3 Avaliac
ao de estabilidade . . . . . . . . . . .
2.4 Avaliac
ao de controlabilidade do sistema . . .
2.5 Avaliac
ao de observabilidade do sistema . . .
2.6 Transformada Z . . . . . . . . . . . . . . . . .
2.7 Teorema da amostragem de Nyquist-Shannon
2.8 Controlador PID . . . . . . . . . . . . . . . .
2.8.1 Ac
ao Proporcional . . . . . . . . . . .
2.8.2 Ac
ao Integral . . . . . . . . . . . . . .
2.8.3 Ac
ao Derivativa . . . . . . . . . . . .
2.9 PID Discreto . . . . . . . . . . . . . . . . . .
2.9.1 Aproximac
ao Foward Difference . . .
2.9.2 Aproximac
ao Backward Difference . .
2.9.3 Aproximac
ao Bilinear de Tustin . . .
2.10 Sintese de controlador por curva de reacao . .
2.11 Filtro Digital . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

2
2
3
4
4
4
5
5
6
6
7
7
7
8
8
9
10
10

3 Desenvolvimento
3.1 Materiais Utilizados . . . . . . . . . . . . . .
3.2 Modelagem do sistema . . . . . . . . . . . . .
3.2.1 Modelagem do sistema mecanico . . .
3.2.2 Sistema eletrico . . . . . . . . . . . . .
3.2.3 Equac
ao Diferencial do Sistema . . . .
3.3 Validac
ao do Modelo . . . . . . . . . . . . . .
3.4 Linearizac
ao do Modelo . . . . . . . . . . . .
3.5 Escolha do perodo de amostragem . . . . . .
3.6 Discretizac
ao do sistema . . . . . . . . . . . .
3.6.1 Avaliac
ao do sistema em malha aberta
3.7 Controladores . . . . . . . . . . . . . . . . . .
3.7.1 Discretizac
ao de controlador PID . . .

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

11
11
12
12
13
14
15
17
17
18
18
20
20

iv

Sum
ario

3.8

3.7.2 Projeto pelo Sisotool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


C
odigo PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

20
21

4 Resultados

23

5 Conclus
oes

25

Refer
encias

26

A C
odigos

27

Lista de Figuras

2.1

Efeito do Aliasing

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9

Planta para controle de altura . . . . . . . . . . . . . . . . . .


Esquema de funcionamento motor CC . . . . . . . . . . . . .
Diagrama de blocos da planta de controle de altura . . . . . .
Validac
ao do Modelo para um entrada do tipo onda quadrada
Sinal PRBS aplicado . . . . . . . . . . . . . . . . . . . . . . .
Validac
ao do utilizando rudo branco . . . . . . . . . . . . . .
Lugar das razes do sistema discretizado . . . . . . . . . . . .
Diagrama de bode do sistema . . . . . . . . . . . . . . . . . .
Projeto de controlador feito na toolbox sisotool . . . . . . . .

. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
de amplitude 170 .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .

12
13
15
16
16
16
19
19
20

4.1
4.2

Controlador no sisotool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Controlador discretizadol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

23
24

vi

Captulo

Introducao
O presente trabalho visa desenvolver e controlar uma plataforma atuada por cabo. Nesta
plataforma um motor CC ir
a enrolar ou soltar uma corda de forma a alterar a altura de uma
plataforma suspensa. O sensor utilizado para afericao da altura e um sensor ultrassom modelo
HC-SR04. Para controle ser
a desenvolvido um controlador PID digital implementado na placa
arduino UNO, que garante erro de regime 0, e baixo overshoot.

1.1

Objetivos do Trabalho

Neste trabalho objetivou-se de maneira geral o controle de altura, mensurado por ultrassom,
de uma plataforma icada por cabos.
Levantamento de um modelo matematico obtido atraves de tecnica de caixa cinza.
Validac
ao do modelo obtido
Escolha do periodo de amostragem do sistema
Discretizac
ao do PID obtido anteriormente
Desenvolvimento de um controlador do tipo PID atraves do sisotool.
Desenvolvimento de um c
odigo para PID

1.2

Aplica
c
oes

O projeto prop
oe o controle de altura de uma plataforma icada por cabos atraves de um
sensor ultrassom. Sua finalidade e manter uma distancia pre determinada do solo a qualquer
instante. Este sistema e uma simplificacao de 1 DOF do sistema de camera guiada por cabos
utilizado por redes televisivas para filmagens de jogos esportivos, conhecido como sky cam. O
estudo de um modelo simplificado e um primeiro passo para desenvolvimento de um sistema
completo de controle para uma c
amera.

Captulo

Revisao Bibliografica
O capitulo introduz os metodos de modelagem de sistemas por caixa branca, preta e cinza,
demonstrado as vantagens e desvantagens de cada metodo. A seguir e feita uma introduc
ao
sobre controladores PID discretos e por fim discute-se o controle por realimentacao de estados.

2.1

Modelagem de Sistemas

A modelagem matem
atica e a
area do conhecimento que estuda maneiras de desenvolver e
implementar modelos de sistemas reais. Modelos que se aproximem da realidade e sejam de
facil manipulac
ao podem fazer a diferenca entre um projeto ser bem sucedido ou apenas uma
ferramenta sem uso pr
atico.
A precis
ao do modelo obtido tambem reflete diretamente no desempenho da ferramenta a ser
implementada, possibilitando ao sistema trabalhar mais proximo do seu ponto de rendimento
otimo e tornando-o mais robusto.
Uma das maneiras de modelar o sistema e conhecido como modelagem caixa preta, uma
caracterstica deste tipo de tecnica e que pouco ou nenhum conhecimento previo do sistema e
necessario, este metodo e conhecido como identificacao de sistemas.(AGUIRRE, 2007)
Uma outra forma de realizar a modelagem e a chamada modelagem caixa branca, no qual e
necessario um conhecimento profundo do sistema a ser modelado e das relacoes matematicas que
descrevem os fen
omenos envolvidos. Na identificacao caixa branca, todos os termos da estrutura,
e seus par
ametros, possuem significado fsico.
Como desvantagens da identificacao caixa-preta pode-se citar, em geral, o fato de a estrutura
do modelo n
ao possuir significado fsico, a dificuldade para sua selecao e, em muitos casos, o
n
umero excessivo de par
ametros. Como vantagens, em geral, sao enumeradas a relativa facilidade
de obtenc
ao e a possibilidade de se escolher estruturas mais adequadas para o projeto de sistemas
AGUIRRE, 2004)
de controle.(CORREA;
Como desvantagem da modelagem caixa-branca, destaca-se a dificuldade de obtencao do
modelo. Em geral, as equac
oes fsicas envolvidas em um processo, assim como seus parametros,
nao sao totalmente conhecidas. Muitas vezes, as relacoes sao por demais complexas e nao podem
ser determinadas. Como principal vantagem, destaca-se o significado fsico do modelo obtido.
2

2.2. Linearizacao de Sistemas

Modelagem por caixa branca e por caixa preta podem ser interpretadas como os dois extremos
de tecnicas de modelagem. A rigor, qualquer procedimento que nao esteja em nenhum desses
extremos pode ser denominada de identificacao caixa-cinza. Esta area de conhecimento busca
combinar as vantagens dos procedimentos de identificacao caixa-preta e caixa-branca. Nesse
caso, tanto dados de entrada e sada obtidos no sistema, quanto informacao auxiliar sao usados
na identificac
ao. A identificac
ao caixa-cinza e uma area bastante ampla e por se tratar de um
assunto relativamente novo, muitos problemas estao praticamente em aberto. (AGUIRRE, 2007)
De posse dos modelos, e comum uma etapa de validacao, onde os modelos encontrados s
ao
submetidos a diversas formas de avaliacao a fim de ser determinar a adequacao do mesmo. H
a
diversas formas de serem feitas estas analises, sendo a mais comum a exposicao dos modelos a
uma nova realidade experimental. (ORENSTEIN, 2013)
As perturbac
oes aplicadas no sistema podem ter diversas formas, dependendo da finalidade
do modelo, da regi
ao de frequencia que se deseja mapear, limites de operacao das entradas ou
alguma outra particularidade, que delimitam as condicoes de contorno do problema. Embora
existam infinitas formas de perturbar um sistema, a forma mais classica e a excitacao por meio
de degrau, ou uma onda quadrada que essencialmente e a aplicacao de diversos degraus de forma
sucessiva. Outra forma menos usual de excitacao e o Sinal Binario Pseudo Aleatorio (PRBS).
O PRBS e um sinal peri
odico que alterna entre dois nveis pre-fixados de forma determinstica, com intuito de simular as caractersticas na frequencia de um rudo branco. Duas
caractersticas interessantes deste sinal para o uso em identificacao sao o fato que a sua media
tende assintoticamente a zero e a sua covariancia se aproxima ao rudo branco, na medida em
que a sua durac
ao tende ao infinito. Estas caractersticas garantem uma distribuicao proxima `
a
uniforme para o espectro de potencia.

2.2

Lineariza
c
ao de Sistemas

Varios sistemas fsicos s


ao lineares dentro de uma certa gama de valores das variaveis. Entretanto, todos os sistemas tornam-se, em uma u
ltima analise, nao-lineares `a medida que os valores
das variaveis crescem sem limite.(DORF; BISHOP, 2011)
Um sistema e definido como linear quando este satisfaz as propriedades de superposic
ao e
homogeneidade. Essas propriedades sao:
Quando para um sinal de entrada x1 (t) ha uma sada y1 (t), e para uma entrada x2 (t) ocorra
uma sada y2 (t), ent
ao caso x1 (t) + x2 (t) = y1 (t) + y2 (t) o sistema atende o criterio da superposicao.
Para o criterio da homogeneidade, para um sinal de entrada x(t) com sinal de sada y(t).
Caso a entrada x(t) seja multiplicada por uma constante , entao o valor de sada dever
a ser
igualmente y(t)
Quando um sistema apresenta elementos nao lineares, estes podem ser linearizados admitindose condicoes de pequenos sinal. Como a curva da funcao e continua sobre uma faixa de interesse,
entao pode-se utilizar uma expans
ao em serie de Taylor em torno do ponto de operacao desejado.

2.3. Avaliacao de estabilidade

A equacao encontrada atraves desta expansao e uma aproximacao linear precisa, uma vez que
a hipotese de pequenos sinais e aplicavel ao problema. Com a linearizacao da funcao pode-se
entao aplicar diversa tecnicas para analise e controle do sistema.

2.3

Avalia
c
ao de estabilidade

Assegurar a estabilidade de um sistema de controle em malha fechada e uma questao central


no projeto de sistemas de controle. Um sistema e dito estavel se apresentar uma resposta
limitada para uma entrada igualmente limitada. Em termos de sistemas lineares, o requisito de
estabilidade pode ser definido em termos da localizacao dos polos do sistema.
Para sistemas contnuos no tempo, um sistema e dito estavel caso todos os seus polos estejam
contidos no semi-plano esquerdo, ou seja, que todos os polos da funcao de transferencia do sistema
tenham parte real negativa.

2.4

Avalia
c
ao de controlabilidade do sistema

Um sistema descrito pelas matrizes (A,B) pode ser dito controlavel se existir um sinal de
controle u(t) sem restric
oes que possa transferir qualquer estado inicial x(0) para qualquer outra
possvel determinar se o sistema e controlavel avaliando-se a
localizacao desejada para x(t). E
condicao algebrica:
h

posto B AB A2 B . . . An1 B = n

(2.1)

Para um sistema com uma u


nica entrada e uma u
nica sada, a matriz de controlabilidade Pc
e descrita em termos de A e B, como visto na equacao 1.3 :
h

Pc = B AB A2 B . . . An1 B

(2.2)

Que e uma matriz n x n. Portanto, se o determinante de Pc for nao nulo, o sistema e


controlavel.

2.5

Avalia
c
ao de observabilidade do sistema

A observabilidade de um sistema se refere `a capacidade de se estimar uma variavel de estado.


Assim, considera-se que um sistema seja observavel se a sada possuir uma componente devida
a cada uma das vari
aveis de estado.
Um sistema e observ
avel se, e somente se, existir um tempo T finito tal que o estado
inicialx(0) possa ser determinado a partir do historico de y(t), dado o sinal de controle u(t).
O sistema ser
a observ
avel se o determinante de Q for nao nulo, onde Q e:

C
CA

Q=

...
CAn1
4

(2.3)

2.6. Transformada Z

2.6

Transformada Z

Ao analisar sistemas contnuos, normalmente e vantajoso a representacao no domnio da


frequencia complexa s, atraves da transformada de Laplace. No caso de sistemas discretos, a
ferramenta utilizada para passar um sinal do domnio do tempo para o domnio da frequencia e
a transformada Z.
A transformada Z e utilizada para simplificar operacoes que envolvem equacoes de diferenca,
por exemplo, a convoluc
ao de dois sinais discretos no tempo e reduzida para um produto de
duas express
oes algebricas.(MOUDGALYA, 2007)
A transformada Z de um sinal x(k) e definida por:
X(z) =

x(k)z k

(2.4)

k=

Em que z e escolhido de tal forma que: X(z) =


a

eT s ,

k= |x(k)z

k |

< . E z e equivalente

em que T e o perodo de amostragem do sinal. Portanto:


Z(x(k)) = x0 + x1 z 1 + x2 z 2 + x3 z 3 . . .

(2.5)

Da mesma maneira que pode-se transformar um sinal no tempo para frequencia atraves da
transformada Z, pode-se tambem passar o sinal da frequencia para o domnio do tempo atraves
da transformada Z inversa. Para a transformada X(z) a sua inversa e:
1
x(n) =
2j

x(k)z k1 dz

(2.6)

Essa integral e uma integral de contorno na direcao anti-horaria em um caminho fechado no


plano complexo.

2.7

Teorema da amostragem de Nyquist-Shannon

A amostragem de um sinal, ou forma de onda analogica, e o processo atraves do qual o sinal


contnuo passa a ser representado por um conjunto discreto de n
umeros, e entao, atraves das
amostras obtidas e possvel reconstruir o sinal com exatidao. Estas amostras sao iguais ao valor
do sinal em instantes bem determinados, conhecidos como instantes de amostragem. O intervalo
de tempo entre amostras e conhecido como intervalo de amostragem e e representado por Ts , o
seu inverso e a frequencia de amostragem e e representado por fs .
O teorema de Nyquist-Shannon demonstra que se a transformada de um sinal contnuo u(t)
e nula para todo f < f0 , isto e se o espectro de frequencia u
(f ) 0f < f0 , entao o sinal u(t)
pode ser determinado de forma u
nica a partir de suas amostras u(kt) se o perodo de amostragem
e escolhido observando-se a relac
ao: (PAGANOS, 2010)
T 6

1
2f0

(2.7)

2.8. Controlador PID

O teorema coloca que amostrando o sinal com uma frequencia pelo menos duas vezes maior
que a maior das componentes em frequencia do sinal, e possvel recuperar toda a informac
ao a
partir das amostras. Esta frequencia e conhecida como frequencia de Nyquist.
Devido ao encobrimento do espectro do sinal original, aparece em sua replica um efeito de
distorcao conhecido como Aliasing, ou seja, ocorre o falseamento do sinal, que impede a correta
recuperac
ao do sinal original. O efeito do Aliasing pode ser visto abaixo:

Figura 2.1: Efeito do Aliasing


Como pode-se observar na figura 2.1, o efeito do Aliasing pode criar a impressao de que
o sinal amostrado representa corretamente o sinal senoidal de entrada, mas o sinal obtido tem
uma frequencia muito mais baixa que o real.

2.8

Controlador PID

Segundo
ASTROM;
HAGGLUND
(2005), o controlador PID pode ser descrito pela Equac
ao
2.8.

Z t

u(t) = Kp e(t) + Ki

e(t)dt + Kd
0

d
e(t)
dt

(2.8)

Em que u e o sinal de controle e e e a diferenca entre a a referencia e a sada do processo (e(t) =


r(t) y(t)). Kp , Ki e Kd s
ao os ganhos proporcional, integral e derivativo, respectivamente.

2.8.1

Ac
ao Proporcional

Segundo VISIOLI (2006), para controladores Proporcionais, a acao de controle e proporcional


ao erro de acordo com a Equac
ao 2.9.
u(t) = Kp e(t) = Kp (r(t) y(t)

(2.9)

Em que, Kp e o ganho proporcional que implementa a operacao de aumentar o sinal de


controle quando o erro no processo.
A maior desvantagem na utilizacao de controladores proporcionais puros e que ele produz
um erro de regime permanente.
6

2.9. PID Discreto

2.8.2

Ac
ao Integral

A acao integral em um controlador gera uma sada proporcional `a integral do err, ou seja:
Z t

e(t)dt

.u(t) = Ki

(2.10)

Em que Ki e o ganho integral, e

Rt
0

e(t)dt pode ser interpretado como um somatorio do erro

do processo num dado intervalo de tempo.


A presenca do integrador, ou seja, de um polo na origem do plano complexo, permite erro
de regime permanente nulo para uma entrada em degrau.

2.8.3

Ac
ao Derivativa

A acao derivativa e baseada em variacoes do erro. Uma acao ideal de controle derivativo
pode ser expressa pela Equac
ao 2.11.
u(t) = Kd
Em que Kd e o ganho derivativo e

de(t)
dt

(2.11)

de(t)
representa a variacao do erro num dado intervalo
dt

de tempo.

2.9

PID Discreto

Para implementac
ao de um PID digital, pode-se realizar a transformada z da Equacao ??,
dada pela Equac
ao:
Ki
+ Kd (1 z 1 ) E(z)
1 z 1


U (z) = Kp +

(2.12)

Rearranjando-se a Equac
ao 2.12 e obtem-se
U (z) =

(Kp + Ki + Kd ) + (Kp 2Kd )z 1 + Kd z 2


1 z 1

E(z)

(2.13)

Definindo:
Ki = Kp + Ki + Kd
K2 = Kp 2Kd

(2.14)

K3 = Kd
Assim, a Equac
ao 2.12 pode ser reescrita como observa-se na Equacao 2.15.


U (z) z 1 U (z) = Ki + K2 z 1 + K3 z 2 E(z)

(2.15)

De uma maneira geral, a func


ao de transferencia de um controlador PID pode ser dada pela
Equacao 2.16, como se segue.
C(z) = Kp + Ci (z) + Cd (z)

(2.16)

2.9. PID Discreto

Dependendo da aproximac
ao utilizada para a integral e a derivada, Ci (z) e Cd (z) podem
assumir v
arias formas. Desse modo, a implementacao de um controlador PID digital pode ser
obtida a partir de aproximac
oes discretas. (DORF; BISHOP, 2011)
Essas aproximac
oes s
ao chamadas de: forward differences, backward differences e bilinear de
Tustin.

2.9.1

Aproximac
ao Foward Difference

Esta aproximac
ao tem relac
ao entre o dominio s e o dominio z e dada por:
s=

z1
T

(2.17)

Para realizar o mapeamento do domnio continuo no discreto utilizando a aproximac


ao
Foward Difference tem-se ent
ao que a acao integral e:
Ci (z) = Ki

T
1
T
= Kp
= Kp
z1
Ti (z 1)
i (z 1)

com

i =

Ti
T

(2.18)

d =

Td
T

(2.19)

E para calculo da ac
ao derivativa:
Cd (z) = Kd

z1
z1
= Kp Td
= Kp d (z 1) com
T
T

Dessa maneira tem-se que a equac


ao do controlador PID sera:
C(z) = Kp + Kp

1
+ Kp d (z 1)
i (z 1)

(2.20)

Que pode ser expandido para:


z2

C(z) = Kp d

1
i d i + 1
z+
d
d i
z1


(2.21)

A func
ao de transferencia possui dois zeros reais ou complexos, um polo em z = 1 . Essa
aproximac
ao possui uma implementacao problematica, uma vez que dela deriva uma func
ao
impropria. Desse modo, opta-se pela utilizacao das outras aproximacoes que nao apresentam tal
problema.

2.9.2

Aproximac
ao Backward Difference

A transformac
ao Backward e uma das maneiras de mapear o eixo imaginario no circulo
unitario. Porem, ao realizar este tipo de aproximacao, nem toda a regiao de estabilidade do
plano z e utilizada, e portanto, para este metodo a regiao de estabilidade e menor que o circulo
unitario.
Nesta aproximac
ao a relac
ao entre o dominio s e o dominio z e dada por:
s=

z1
Ts

(2.22)

2.9. PID Discreto

Realizando-se a aproximac
ao Backward Difference num PID tem-se que os coeficientes Ci (z)
e Cd (z) s
ao:
Ci (z) = Ki

z
Tz
= Kp
=
z1
i (z 1)

(2.23)

z1
z+1
= Kp d
Tz
z

(2.24)

Cd (z) = Kd

Tem-se ent
ao que a func
ao do PID discreto utilizando a aproximacao Backward sera:
z2
1
C(z) = Kp (1 + + d )
i

1+2d
z
1+ 1i +d

d
1+ 1i +d

(2.25)

z(z 1)

A func
ao de transferencia possui dois zeros reais ou complexos, um polo em z = 1 e um polo
em z = 0

2.9.3

Aproximac
ao Bilinear de Tustin

Para esta aproximac


ao tem-se que a relacao entre o dominio s e o dominio z e dada por:
s=

2 z1
T z+1

(2.26)

Realizando-se a aproximac
ao por Tustin num PID tem-se que os coeficientes Ci (z) e Cd (z)
sao:
Ci (z) = Ki

T z+1
1
z
T z+1
= Kp
= Kp
2 z1
2Ti z 1
2i i (z 1)

com

i =

Ti
T

(2.27)

E para c
alculo da ac
ao derivativa:
Cd (z) = Kd

2 z1
2 z1
z1
= Kp Td
= Kp d 2
T z+1
T z+1
z+1

com

d =

Td
T

(2.28)

Dessa maneira tem-se que a equacao do controlador PID sera:


C(z) = Kp + Kp

1 z+1
z1
+ Kp d 2
2i z 1
z+1

(2.29)

Que pode ser expandido para:


z2


C(z) = Kp 1 +

1
+ 2d
2i

1
i 4d
z
+ 21i + 2d

1
2i

+ 2d 1

1+

(z + 1)(z 1)

1
2i

+ 2d

(2.30)

A func
ao de transferencia possui dois zeros reais ou complexos, um polo em z = 1 e um polo
em z = 1.

2.10. Sintese de controlador por curva de reac


ao

2.10

Sintese de controlador por curva de reac


ao

Ziegler e Nichols desenvolveram um metodo de sintonia, chamado de metodo da curva de


reacao, que e realizado em malha aberta. Em muitas aplicacoes reais, e mais facil e seguro
utilizar este metodo em melha aberta do que forcar o sistema a se manter oscilando.
O procedimento para se encontrar a curva de reacao consiste em aplicar uma variacao em
degrau na planta em malha aberta. Com a curva de resposta do processo a esta pertubac
ao,
que e chamada curva de reac
ao do processo, calcula-se a taxa de variacao, a inclinacao da
reta tangente S no ponto de inflex
ao, e o tempo morto do sistema , o tempo que a tangente

intercepta o eixo do tempo. E importante ressalta que a variavel utilizada para o metodo e S ,
que denota a inclinac
ao normalizada, isto e, S =

S
p ,

e p corresponde `a variacao aplicada na

entrada do sistema. O controlador e entao obtido da tabela de Curva de Reacao:


Tabela 2.1: Metodo da Curva de Reacao
Controlador
P
PI
PID

2.11

Kp
1
S
0,9
S
1,2
S

3,33S
3,33

1
S

Filtro Digital

Os sistemas pr
aticos est
ao sujeitos a rudos e perturbacoes aleatorias que podem dificultar
os procedimentos de an
alise. . Para contornar estes problemas tem-se recorrido a utilizac
ao
de filtros, a fim de se capturar somente os sinais com as dinamicas de interesse presentes no
sistema. Filtrar um sinal e deixar passar pelo sistema a informacao de interesse e bloquear a
informacao indesejada. Filtros podem ser aplicados nao somente para diminuir a influencia do
rudo do processo, mas tambem para ?suavizar? o resultado de nao homogeneidade de misturas.
Os filtros digitais garantem aspectos interessantes: repetibilidade, pois, diferentemente dos
filtros anal
ogicos, independem de tolerancias e sao invariantes no tempo (nao ha degradac
ao de
componentes eletr
onicos como capacitores e indutores); alterabilidade e modularidade.
Um dos tipos mais comuns de filtro digital e o FIR (Finite Impulse Response), ou filtro de
resposta ao impulso finita, caracterizado por uma resposta ao impulso que se torna nula ap
os
um tempo finito. Estes filtros apresentam funcoes de transferencia:
Y (z)
=
X(z)

PM

k=0 ak z
zM

(M k)

(2.31)

Ou seja, cada amostra a ser filtrada z M k e multiplicada por um coeficiente ak , o somat


orio
de todas estas operac
oes ser
a o sinal filtrado.

10

Captulo

Desenvolvimento
No presente capitulo ser
ao relatados os materiais e metodos utilizados para desenvolvimento
do sistema de controle. Inicialmente e detalhado o processo de modelagem em caixa branca, a
seguir e demonstra-se o processo de obtencao dos coeficientes de ganho para um controlador PID
digital e dos ganhos para um controlador por realimentacao de estados. Por fim apresenta-se
o desenvolvimento de cogido para implementacao do PID e do controle por realimentac
ao de
estados na placa Arduino.

3.1

Materiais Utilizados

c
Software Matlab 2014b

c
Ferramenta Simulink
Arduino UNO R3
Circuito integrado L298
Motor 12V - 80 rpm
Estrutura met
alica com polias
Balanca digital de precis
ao
Paqumetro
A estrutura met
alica foi desenvolvida com base de comprimento de 700mm, altura das barras
verticais de 450mm, espacamento entre as barras verticais de 450mm, espessura das barras de
30mm. Alem da confecc
ao em aco, pintou-se a estrutura com tinta preta de forma a evitar a
oxidacao e assim melhorar a durabilidade da planta a longo prazo. Confeccionou-se um mancal,
tres polias e tres cantoneiras em alumnio, para fixacao do motor e passagem dos cabos utilizados
na suspens
ao da plataforma.
O elemento atuador da planta e um motor CC com reducao mecanica interna que leva
a rotacao de sada do motor para 80RP M com torque maximo de 3Kg/cm. Sua tensao de
11

3.2. Modelagem do sistema

alimentac
ao e de 12V , sendo sua corrente sem carga e de 100mA e a corrente maxima de
500mA. O driver de controle utilizado para acionamento e inversao do sentido de rotacao foi
um modulo que utiliza o CI de ponte H L298.
Para a aquisic
ao da dist
ancia da plataforma ao solo utilizou-se um sensor ultrassom modelo
HC- SR04, que mede uma faixa de distancia de 20 a 4000mm, com resolucao de 3mm. Este sensor
baseia-se no princpio de propagac
ao das ondas mecanicas, emitindo uma onda ultrassonica em
uma direc
ao, que retorna ao encontrar algum obstaculo. Como a amostragem deste sensor ocorre
antes da realizac
ao da medic
ao, este sensor e praticamente imune a efeitos de aliasing.
Nesta plataforma o motor CC ira enrolar ou soltar o cabo de forma a alterar a altura da
plataforma suspensa. A seguir ser
a detalhado a modelagem deste processo.

3.2

Modelagem do sistema

Inicialmente utilizou-se tecnica de caixa branca para modelagem do sistema. No equacionamento do sistema eletrico os par
ametros escolhidos se baseiam na estrutura do funcionamento de
um motor CC, o mesmo sendo controlado pela corrente de armadura. Para modelagem do sistema mec
anico utilizou-se de equac
oes da mecanica newtoniana. Por fim uniu-se os dois sistemas
para modelagem final da planta.

3.2.1

Modelagem do sistema mec


anico

O Sistema mec
anico do projeto foi modelado utilizando as leis de Newton-Euler, para tanto
considerou-se o sistema visto na figura abaixo:

Figura 3.1: Planta para controle de altura


Na figura acima pode-se averiguar que o sistema possui uma polia fixa e uma polia m
ovel
para transmiss
ao de movimento. Os dois elementos que atuam com forca no sistema sao o motor
CC e a plataforma suspensa. A polia movel faz com que a tensao na corda seja dividida em 2,
sendo que a componente desta tens
ao que e utilizada como torque de carga no motor depende
do cosseno do angulo formado entre a polia da estrutura e a corda.

12

3.2. Modelagem do sistema

Assim tem-se que o torque de carga aplicado pelo sistema mecanico no motor e:
Tc =

mp g sen()
Rm
2

(3.1)

Em que e o angulo formado entre a corda e a lateral da estrutura metalica. mp indica


o somatorio da massa da polia e da plataforma, g e a aceleracao gravitacional e Rm e o raio
da polia acoplada ao motor. O elemento sen() pode ser medido por trigonometria atraves da
equacao:
sen() = p

a2

a
+ (H h)2

(3.2)

Em que h e a altura da plataforma ao chao, H e a altura da lateral da estrutura, e a e


corresponde a metade do comprimento total da estrutura. A altura h pode ser determinada por:
h=H

(L Rm )2 a2

(3.3)

Sendo o deslocamento angular da polia do motor e L o comprimento do cabo entre a polia


da plataforma e a polia suspensa no cabo.
Pode-se substituir a equac
ao 3.2 na equacao 3.1 encontrando-se entao a seguinte express
ao
para o torque de carga:
Tc =

3.2.2

a
mp g
q
Rm
p
2
a2 + (H H (L Rm )2 a2 )2

(3.4)

Sistema el
etrico

Para o controle do motor decidiu-se pelo acionamento pela corrente de armadura. Por
meio de uma tens
ao Va e gerada entao uma corrente que percorre a bobina do motor, como
resposta a excitac
ao eletrica a esta bobina ocorre a geracao de torque exercido pelo eixo, que
sera respons
avel pela din
amica do processo. O esquema eletrico de um motor CC pode ser visto
abaixo:

Figura 3.2: Esquema de funcionamento motor CC


Para motores de corrente contnua a indutancia de armadura normalmente tem valor baixo,
e portanto pode ser desprezada no equacionamento. A equacao simplificada que caracteriza a
transformac
ao da tens
ao eletrica em torque e:
13

3.2. Modelagem do sistema

Tm = Ka

Va
Ra

(3.5)

Em que:
Ka e uma constante, que depende de caractersticas construtivas do motor
Va e a tens
ao de entrada do sistema
Ra e a resistencia de armadura
Tm e o torque fornecido
Para modelagem do motor para a planta de controle de altura inicialmente definiu-se a
resistencia de armadura deste por meio de teste de rotor bloqueador, encontrando-se resistencia
de 15,51. O valor da indut
ancia pode ser desprezado devido a insignificancia de sua grandeza.
A seguir alimentou-se o motor com uma tensao fixa de 8V , mediu-se no ampermetro uma
corrente Ia de 20mA, e com a utilizacao de um tacometro digital TC-5030 para monitoramento
da velocidade de rotac
ao obteve-se medida de 63.2 rpm. Para aumentar a confianca no resultados
posteriores aferiu-se novamente a rotacao do motor para uma excitacao de 11V e com corrente
de 30mA, obtendo-se ent
ao a velocidade angula de 84.5rpm.
Calculou-se ent
ao a constante Ka atraves de:
Ka =

Ea
rad

(3.6)

Sendo que Ea e:
Ea = Va Ra Ia

(3.7)

Dessa maneira pode-se determinar que Ea foi de 7,7898V .


E rad e dado por:
rad =

2 rpm
60

(3.8)

Encontrou-se ent
ao que rad = 6,6183rad/s
Substituindo-se as equac
oes 3.7 e 3.8 em 3.6, encontra-se que Ka = 1,177

3.2.3

Equac
ao Diferencial do Sistema

Com a din
amica do sistema eletrico e do sistema mecanico definidos, pode-se obter a equac
ao
que rege a din
amica da planta como um todo.
O torque aplicado pelo motor ao sistema mecanico e:
Tm =

Ka
(Va Ka )
Ra

(3.9)

Em que Va e a tens
ao aplicada nos terminais do motor, e e a velocidade do motor, dada
em radianos por segundo.

14

3.3. Validacao do Modelo

O torque total aplicado no sistema e:


Ttotal = Tmotor Tcarga Tatrito

(3.10)

O torque total do sistema e utilizado para gerar o movimento efetivo na polia do motor.
Dessa forma tem-se que:
Ttotal
=
J0

(3.11)

Em que J0 e o momento de inercia do sistema. Transformando-se a equacao 3.11 do domnio


do tempo para o domnio da frequencia tem-se que:
Ttotal
Ttotal
e =
=
J0 s
J0 s2

(3.12)

Com pode-se calcular a altura da plataforma atraves de trigonometria, como demostrado


na equacao 3.3. Assim pode-se calcular o torque de carga do sistema substituindo a equac
ao
3.12 na equac
ao 3.3 e esta nas equacoes 3.1.
Expressou-se a equac
ao diferencial do sistema na forma de diagrama de blocos implementado
na ferramenta Simulink. Como utilizou-se a placa arduino para controle do processo, a tens
ao
aplicada no motor e dada na forma de PWM (Pulse With Modulation), que tem valor de 0 a
255 para uma tens
ao de 0 a 12 Volts. O modelo implementado pode ser visto abaixo na figura:

Figura 3.3: Diagrama de blocos da planta de controle de altura


O modelo da planta consiste essencialmente de um equilbrio entre o torque fornecido pelo
motor e o torque de carga imposto pela plataforma suspensa. A forca que excede este equilbrio
e entao transformada em acelerac
ao angular.

3.3

Valida
c
ao do Modelo

Apos desenvolvimento do modelo, utilizou-se a ferramenta simulink em conjunto com a toolbox Arduino IO para realizar a validacao. Para tanto utilizou-se como entrada uma onda
quadrada com frequencia de 0,1Hz e amplitude de 170, equivalente a 8Volts. Este sinal foi
enviado ao modelo e a planta, e os sinais adquiridos plotados em conjunto, como pode ser visto
abaixo na figura 3.4 :

15

3.3. Validacao do Modelo

Figura 3.4: Validac


ao do Modelo para um entrada do tipo onda quadrada de amplitude 170
A utilizac
ao da onda quadrada permite verificar que a amplitude do sinal de sada do modelo,
assim como sua constante de tempo, estao similares a da planta. Para avaliar se a dinamica
da planta e corretamente representada pelo modelo realizou-se a validacao utilizando um sinal
PRBS como visto na figura 3.5

Figura 3.5: Sinal PRBS aplicado


Aplicando-se este sinal na planta e no modelo obteve-se as seguintes curva:

Figura 3.6: Validacao do utilizando rudo branco


Nota-se pelo sinal da figura 3.6 que embora o modelo nao represente com 100% de fidelidade
o sistema, a din
amica deste apresenta similaridades satisfatorias.
16

3.4. Linearizacao do Modelo

3.4

Lineariza
c
ao do Modelo

Apos validac
ao, pode-se utilizar o modelo para desenvolvimento de controladores.
Para tal fim inicialmente encontrou-se os pontos de equilbrio do sistema, que sao os pontos
nos quais o sistema se encontra em estado estacionario. Matematicamente os pontos de equilbrio
sao aqueles em que a derivada dos estados do sistema e igual a zero. Para encontrar estes pontos
utilizou-se o comando trim do software Matlab em conjunto com o modelo da planta desenvolvido
na ferramenta Simulink.
A utilizac
ao do comando trim necessita da insercao de valores das condicoes iniciais dos
estados em radianos, e do valor da sada em milmetros para essa mesma condicao inicial. Para
as condic
oes:
"

9,9
x(0) =
0

"

180
e y(0) =
0

(3.13)

Encontrou-se como pontos de equilbrio:


#

"

h
i
h
i
9,1131
, y = 168,266 e u = 11,734
x=
0

(3.14)

Sendo que o valor encontrado de dx e muito pequeno, e pode ser considerado 0. A seguir
utilizou-se o comando linmod para linearizar o sistema proximos ao ponto de equilbrio encontrado pelo comando trim. Os coeficientes da matriz de estados para o sistema linearizado
sao:

"

0
1
A=
0,0081 0,5768
h

C = 15.2292 0

3.5

"

0
e B=
0,0210
h i

e D= 0

(3.15)

(3.16)

Escolha do perodo de amostragem

Para escolha de um perodo de amostragem adequado para o sistema, utilizou-se como criterio
a posicao dos polos desejados em malha fechada. Estes polos foram escolhidos atraves de criterios
de desempenho j
a obtidos na materia de teoria de controle, utilizou-se estes pois sabe-se que s
ao
realizaveis. Os criterios foram:
M P O = 15%
Ts = 10 segundos
Sabendo que o tempo de acomodacao de um sistema de segunda ordem e dado por:
Ts =

(3.17)

Em que e a constante de tempo do sistema. Dessa maneira a constante de tempo do sistema


sera 2s. O perodo de amostragem do sistema deve ser pequeno o bastante para que seja possvel

17

3.6. Discretizacao do sistema

reconstruir o sinal amostrado com precisao, sem a presenca de aliasing, mas tambem deve
ser grande o suficiente para que os polos do sistema no domnio z nao sejam alocados muito
perto de 1, pois isso faz com que a dinamica destes polos se aproximem da de um integrador.
Considerando-se as condic
oes acima uma boa pratica para projeto e:

T
5
10

(3.18)

Definiu-se o perodo de amostragem como sendo de de

1
10

da constante de tempo, aproximou-

se o valor do perodo de amostragem para 0,25 segundos.

3.6

Discretiza
c
ao do sistema

Utilizando-se o perodo de amostragem = 0,25s mapeou-se a funcao em espaco de estados


dada na sec
ao 3.4 em z utilizando a funcao c2d do software matlab. Os coeficientes da matriz
de estados s
ao:
#

"

0,9998
0,2328
A=
0,001897 0,8655
"

0,0006271
B=
0,004899
h

C = 15,23 0

(3.20)

(3.21)

D=0

3.6.1

(3.19)

(3.22)

Avaliac
ao do sistema em malha aberta

Com o sistema j
a discretizado, realizou-se a analise deste. Inicialmente avaliou-se a estabilidade deste calculando os autovalores da matriz A, obtendo-se:
"

0,9964
eig(A) =
0,8688

(3.23)

Os autovalores da matriz A s
ao os polos do sistema, portanto, como estes sao maiores que
1 e menores do que 1 o sistema e estavel.
Utilizando-se a equac
ao 2.2, pode-se verificar que o sistema tem todos os estados control
aveis,
pois oo determinantes da matriz de controlabilidade tem valore de 5,999 105
Para avaliac
ao da observabilidade substituiu-se as matrizes A e C na equacao 2.3, obtendo-se
assim o valor de 53,9909, o que mostra que todos os estados do sistema sao observaveis.
Avaliando-se o zeros do sistema, que esta em z = 0,9531, pode-se representar o sistema
como func
ao de transferencia na forma:
Gz =

0,00955z + 0,009102
z 2 1,865z + 0,8657
18

(3.24)

3.6. Discretizacao do sistema

O Lugar das razes para Gz pode ser visto abaixo: Esta configuracao tem os seguintes

Figura 3.7: Lugar das razes do sistema discretizado


requisitos:
Tempo de acomodac
ao: 35,39 segundos
ganho DC: 39,3239
Tambem avaliou-se este modelo em relacao sua resposta em frequencia. O diagrama de bode do
sistema pode ser visto abaixo:

Figura 3.8: Diagrama de bode do sistema


Observa-se que a margem de fase do sistema e de 50,2 graus e a margem de ganho e de
23,4dB

19

3.7. Controladores

3.7

Controladores

Nesta sec
ao e apresentado o desenvolvimento dos controladores utilizados na planta de controle de altura. Utilizou-se como formas de encontrar um controlador 3 metodos: a discretizac
ao
de um controlador calculado no domnio continuo, a utilizacao da toolbox sisotool e o metodo
polinomial:
Como j
a citado na sec
ao 3.5, definiu-se como criterios de desempenho a serem atendidos:
M P O = 15%
Ts = 10 segundos

3.7.1

Discretizac
ao de controlador PID

Na disciplina de Teoria de Controle desenvolveu-se um controlador PID atraves do metodo


de curva de reac
ao (ziegler Nichols em malha aberta).
Para obtenc
ao deste controlador PID, aplicou-se uma entrada degrau no sistema em malha
aberta. Tracou-se ent
ao uma reta tangente ao ponto de inflexao do sinal.
Apos a obtenc
ao de e de S utilizou-se a tabela 2.1 para encontrar os coeficientes do PID:
Kp = 2.4 , Ki = 0,3692 e Kd = 0.024
Discretizou-se este controlador atraves do metodo Backward Difference. Substituiu-se a
equacao 2.22 na equac
ao para o pid analogico dada em 2.8. Utilizou-se o software Matlab para
para realizar esta operac
ao. Os ganhos para o PID discretizado foram Kp = 3.4, Ki = 1,6 e Kd =
0.33

3.7.2

Projeto pelo Sisotool

Para desenvolvimento do controlador utilizou-se o modelo linearizado calculado na sec


ao
3.4. Importou-se o sistema discreto para o toolbox sisotool. Definiu-se a utilizacao de um PID
utilizando a aproximac
ao backward.

Figura 3.9: Projeto de controlador feito na toolbox sisotool


Os ganhos encontrados para esta posicao de polos foram: Kp = 1,87 , Ki = 0,9 e Kd = 0,3
20

3.8. Codigo PID

3.8

C
odigo PID

Implementou-se um algortimo de PID para controle da planta na linguagem da placa Arduino, este pode ser visto no apendice A.
O funcionamento do Arduino baseia-se em duas funcoes principais do tipo void. Sao elas o
setup() e o loop(). Sendo que sua operacao se inicia realizando os comandos presentes no setup()
e permanece em execuc
ao permanente das acoes presentes no loop().
A inicializac
ao do setup define que o Timer1, nativo do microcontrolador ATMEGA, realizar
a
uma interrupc
ao `
a cada perodo de amostragem do filtro, definido em 100Hz. Estabelece tambem
os pinos necess
arios para operac
ao do sensor ultrassom (13 e 12), a presenca de comunicac
ao
serial com o computado e os pinos de controle do motor via ponte H (10 e 11).
A func
ao loop, de operac
ao continua, fica responsavel por definir os momentos em que a
necessario que o filtro
funcao filtro() ser
a executada e quando a funcao controla() ira operar. E
realize oito amostras do sensor para que a funcao controla opere apenas uma vez. Tal configuracao permite que o sinal enviado para a funcao controla opere com caractersticas mais proximas
do comportamento da planta reduzindo significantemente o rudo proveniente do sensor. A
interrupc
ao age ent
ao incrementando contadores que sao comparados dentro do loop.
A func
ao f iltro() foi implementada com o objetivo de aplicar um filtro digital do tipo FIR
de quinta ordem no sinal proveniente do sensor ultrassom. A primeira operacao que este realiza
e desconsiderar distancias superiores a 450 e inferiores `a 50mm. Tais situacoes sao impossveis
de se obter na planta.
Concluda esta etapa, este apresenta um vetor com a leitura atual e cinco leituras anteriores
realizadas pelo ultrassom. A essas amostras sao aplicados coeficientes obtidos a partir de do
codigo contido no apendice ??, de modo a definir o sinal de distancia filtrado (distf ilt). Os
coeficientes do Filtro foram calculados para uma frequencia de corte de 5Hz e sao:
B0 =0,0264077249232381
B1 =0,140531362762416
B2 =0,333060912314346
B3 =0,333060912314346
B4 =0,140531362762416
B5 =0,0264077249232381
Concluda a realizac
ao de 8 iteracoes da funcao filtro(), a funcao controla() e entao executada
baseada no erro presente entre o set point e o sinal de distancia filtrado. O sinal de controle u
e obtido a partir de:
Kp eatual +

X
Kd
(eatual eanterior ) + Ki Ts
eanteriores
Ts

21

(3.25)

3.8. Codigo PID

O sinal de controle e ent


ao avaliado para que seja definido em qual dos terminais da ponte
H esse deve ser aplicado. Caso o sinal de controle supere a saturacao de 255 (PWM de 8 bits)
o sinal de controle e ent
ao substitudo pelo valor de 255.
Em seguida o somat
orio do erro, ou seja a integral do erro, e calculada. Caso ocorra saturac
ao
do sinal de controle o erro n
ao e somado, pois este pode gerar instabilidade no sistema por
requerer um maior sinal de controle quando este nao pode ser fornecido ao sistema. Esta ac
ao
e conhecida como Anti- Wind-up

22

Captulo

Resultados
Apos projeto dos controladores avaliou-se na planta a resposta. No presente captulo ser
ao
apresentados as imagens referentes `
a resposta do sistema para os controladores obtidos na sec
ao
anterior, assim como seus ndices de desempenho.
A figura 4.1 apresenta a rejeicao a pertubacao do sistema ao utilizar o controlador obtido
atraves do SISOTOOL.

Figura 4.1: Controlador no sisotool

23

Nota-se que a resposta da planta aparenta nao estar com erro de regime permanente igual a
zero, tal fato se deve a resoluc
ao do sensor, que e de 3 milmetros.
A Figura 4.2 apresenta a resposta do sistema ao utilizar o controlador obtido atraves da
discretizac
ao do controlador continuo obtido por curva de reacao.

Figura 4.2: Controlador discretizadol

24

Captulo

Conclusoes
No presente trabalho objetivou-se modelar o sistema da plataforma atuada por cabos e
projetar um controlador no dominio z para a mesma. Apos desenvolvimento da modelagem por
caixa cinza, o modelo obtido foi validado, e este que mostrou-se coerente com o sistema, com
resposta ao degrau similar ao da planta e resposta a um sinal do tipo ruido branco que remete
a dinamica do sistema.
Atraves da linearizac
ao do modelo, desenvolveu-se dois controladores para o sistema, um
utilizando o toolbox SISOTOOL e outro utilizando a tecnica discretizacao em um PID ja existente. Notou-se que o controlador projetado pelo sisotool apresenta resposta lenta, demorando a
zerar o erro de regime permanente, porem com tempo de subida rapido. controlador discretizado
apresenta resposta mais r
apida , porem com maior overshoot.
Em suma, pode-se desenvolver um modelo que representasse adequadamente o sistema e
projetar um controlador que levasse o sistema a erro de regime nulo. Estes porem nao apresentam
a melhor resposta devido a incerteza gerada pelo sensor, que tem resolucao de 3mm.

25

Referencias

AGUIRRE, L. Introduc
ao `
a identificac
ao de sistemas: tecnicas lineares e nao lineares aplicadas
a sistemas reais. [S.l.: s.n.], 2007.

CORREA,
M. V.; AGUIRRE, L. Identificacao nao-linear caixa-cinza: uma revisao e novos
resultados. SBA: Controle & Automac
ao, [S.l.], v.15, n.2, p.109126, Junho 2004.
DORF, R. C.; BISHOP, R. H. Modern Control Systems. [S.l.]: Pearson Prentice Hall, 2011.
MOUDGALYA, K. M. Digital Control. [S.l.: s.n.], 2007.
ORENSTEIN, L. P. Procedimento para identificac
ao de sistemas din
amicos em ambiente industrial. 2013. Dissertac
ao (Mestrado em Ciencia da Computacao) Universidade Federal do
Rio de Janeiro. Instituito Luiz Coimbra, Rio de Janeiro, RJ.
PAGANOS, D. J. Teoria de Sistemas Amostrados e Controle Digital. Florianopolis, SC, 2010.

ASTROM,
K. J.; HAGGLUND,
T. Advanced PID Control. [S.l.]: ISA, 2005.
VISIOLI, A. Practical PID Control. 2006.ed. [S.l.]: Springer, 2006. (Advances in Industrial
Control).

26


Apendice

Codigos
#include <TimerOne.h>
#define trigger

13

// trigger do ultrassim, pindo que envia a onda mecanica.

#define echo

12

// Echo ultrassom, pino que fica ligado enquanto a onda mecanica n~


ao

volatile float dist_filt=0;


volatile int contador_ts=0,contador_tsf=0;
const float ts_f=0.01;
const float ts=0.08;

float b[]={0.0264077249232381, 0.140531362762416, 0.333060912314346, 0.333060912314346, 0.


void setup() {
Timer1.initialize(ts_f*1000000);
Timer1.attachInterrupt(interrupcao,ts_f*1000000);
contador_ts=0;
pinMode(trigger,OUTPUT);// configura pino GATILHO como sa
da
digitalWrite(trigger,LOW);
delayMicroseconds(2);
pinMode(echo,INPUT);// configura pino ECHO como entrada
Serial.begin(9600);
pinMode (10,OUTPUT);
pinMode (11,OUTPUT);
}

27

void loop() {
if(contador_tsf){
contador_tsf=0;
filtro();
}
if(contador_ts==ts/ts_f){
contador_ts=0;
controla();
}
}
void interrupcao(){
contador_ts++;
contador_tsf++;
}

float altura(){
digitalWrite(trigger, HIGH);// disparar pulso
delayMicroseconds(10);

// tempo para envio de alguns pulsos

digitalWrite(trigger, LOW);
/* Rotina de convers~
ao para altura */
float tempo = pulseIn(echo, HIGH);// medir tempo de ida e volta do pulso ultrass^
onico
return (tempo / 2.94 / 2); // calcular as dist^
ancias em mm
}
void filtro(){
static int i_c=0;
static float dist_vec[6]={0,0,0,0,0,0};
int iter=i_c;
float distancia=altura();
//if(distancia>450) return;
//if(distancia<50) return;
dist_vec[i_c]=distancia;

28

dist_filt=0;
for (int i=0;i<=6;i++){
dist_filt+=b[i]*dist_vec[iter];
iter--;
if (iter<0)iter=5;
}
//Serial.println(dist_filt);
i_c++;
if(i_c>5)i_c=0;
}

void controla()
{
#define kp 9.1
#define kd (0.054)
#define ki (6.64)
#define setpoint 150
static float ie=0,eant=0;
float u=0,e=0;
int y1,y2;
if(dist_filt < 0){
dist_filt= 0;
}
e = (setpoint - dist_filt);
u = kp*e + (kd/ts)*(e-eant) + ki*(ie+e*ts);
if (u>0){
y1=abs(u)+60;
y2=0;
if(y1>255){
digitalWrite(10,HIGH);
digitalWrite(11,LOW);
}
else{
analogWrite(10,y1);
analogWrite(11,y2);
29

}
}
else{
y1=0;
y2=abs(u)+60;
if(y2>255){
digitalWrite(11,HIGH);
digitalWrite(10,LOW);
}
else{
analogWrite(10,y1);
analogWrite(11,y2);
}
}
if ((u>=-255) && (u<=255))
{
ie = ((e*ts) + ie);
}
eant = e;
//Serial.print("Altura: ");
Serial.print(dist_filt);
Serial.print("

");

Serial.print(y1);
Serial.print("

");

Serial.print(y2);
Serial.print("

");

Serial.println(u);

30

You might also like