Você está na página 1de 12

SERVOMECANISMO 2208

EXPERINCIA: CONTROLADOR PD(Lead) DE POSIO

INSTITUTO DE ESTUDOS SUPERIORES DA AMAZNIA


Engenharia de Controle e Automao - 4 ano, Turma: P4NB
Sistemas de Controles Clssicos
Jarbas Costa de Souza 060376
Albetan Reis 061405
Rodrigo Jos Moutinho 0402524
Controle de posio uma realidade presente em muitos processos e equipamentos
industriais, como por exemplo: braos robticos, maquinas CNCs, correias transportadoras,
agitadores e outras. Para estes processos o controle de posio uma varivel importante a
ser controlada.

Esta experincia tem como objetivo demonstrar a implementao de um controlador


PD(Lead) de posio, com auxilio do software MTLAB a tcnica de identificao ser
utilizada onde ser estimada a funo de transferncia do sistema com base nos dados de
entrada e sada, com software LabVIEW possvel demonstrar o controle da posio
atuando sobre o sistema j identificado.

O mtodo de identificao de um sistema desconhecido consiste em aplicar um sinal


conhecido na entrada e observa o sinal de resposta na sada, desta forma obtemos a curva
caracterstica deste sistema, em posse destes dados de entrada e sada possvel estimar
sua funo de transferncia. Veja abaixo uma demonstrao simplificado do mtodo.

Foi utilizado o servomecanismo Datapool modelo 2208 como sistema ser identificado, logo
abaixo uma imagem real do experimento realizado.
A pinagem da conexo entra o Datapool e a placa de aquisio de dados pode ser vista na
imagem abaixo.

Datapool Placa de aquisio Jump entre PINOS 12<-->21


+VU <------------------------>PINO 12
+VA <------------------------>PINO 01
GND<------------------------>GND

Seguindo os passos abaixo possvel compreender melhor este como estimar a funo de
transferncia de um sistema desconhecido pelo mtodo de identificao.

1 Passo
Aplicar um pulso de 5V na entrada do sistema com durao de aproximadamente 0.2
segundos (pino +VU do Datapool) possvel visualizar a curva caracterstica da resposta na
sada do sistema (pino +VA do Datapool), em seguida os respectivos dados de entrada e
sada so armazenados em variveis distintas. Para este procedimento foi criando um
pequeno programa descrito logo abaixo, copie e cole no MTLAB salvando com extenso
.m. Ao executar, certifique-se de que a haste de posio esteja fora da zona morta do
potencimetro que aproximadamente entre 350 e 10 da placa graduada do Datapool.
% Identificar o Tipo de Driver de Placa
infoboard = daqhwinfo('nidaq');
boardIDs = infoboard.InstalledBoardIds(1);

ID = char(boardIDs);

ao = analogoutput('nidaq',ID); % Cria um objeto de sada


analgica
ai=analoginput('nidaq',ID); % Cria objeto de entrada
analgica
chao = addchannel(ao,0); % Relaciona o objeto ao a
sada 0
addchannel(ai,[0 1]) % Adiciona o objeto ai a
entrada 0
set(chao,'OutputRange',[0 10]) % Faixa de valor de tenso
de sada

T=3; % Tempo de aquisio


set(ai,'InputType','SingleEnded'); % ou ai.InputType =
'SingleEnded';
set(ai,'SampleRate',1000); % Frequencia de
amostragem
set(ai,'SamplesPerTrigger',T*1000); % Amostras por quadro

start(ai) % Inicia a leitura de dados


putsample(ao,5) % Sada de sinal de 5V
pause(0.23); % Tempo de espera
putsample(ao,0) % Sada de sinal de 0V

wait(ai,T+1) % Espera T+1(segundos) para completar a


aquisio
dados=getdata(ai); % armazena os dados na varivel dados
delete(ai)
clear ai
stop(ao)
delete(ao)
clear ao

figure(1)
Ts=[1:1:T*1000]*(1/1000); % Tempo
plot(Ts,dados,'-k.') % Plotagem dos dados
title('Tempo (s) x Sinal de tenso(V)')
xlabel('Tempo(s)')
ylabel('Sinal de Tenso(V)')

saida=dados(:,1); % Armazena um vetor de dados em y


entrada=dados(:,2);% pino 21 da placa
2 Passo
No Command Window do MTLAB digite o comando ident, quando a tela System
Identification Tool aparecer realize os seguintes procedimentos, clique em Import data
Em, Time domain data no campo Input digite entrada, que o nome da varivel onde foi
armazenado os dados de entrada, ---->Output digite sada, onde tambm a varivel que
recebeu os dados de sada do sistema, ---->Data Information ---->Starting time digite 0 ----
>Sampling interval digite 3, clique em import. Voc acabou de importar os dados de
entrada e sado do sistema para ser estimada a funo de transferncia.

Marque a caixa Time plot para verificar os grficos de entrada e sada coletado durante a
aquisio de dados para dentificao,
Agora vamos estimas a funo de transferncia do sistema, clique em Estimate---->Linear
parametric models----> clique em Structure para escolher um dos modelos que melhor
adqe a sua funo de transferncia que ser estimada. Em especial, escolhemos
ARMAX por ter demonstrado melhor comportamento na validao deste experimento.

marque a caixa Model output para visualizar como a funo de transferncia estimada se
comporta em relao ao sinal de sada do sistema, o ideal que tenha um comportamento
igual, ou superior a 80%.
Marque a caixa Model resids este grfico mostra se a validao da funo esta dentro do
esperado, a analise feita verificando se o grfico esta predominantemente dentro dos
limites pontilhados, caso no esteja, o melhor e refazer todo o experimento para coletar
outros dados.

Para transferir seu modelo da funo para rea de trabalho do MTLAB , arraste com o
mouse o modelo como mostra a imagem ----> To Workspace.
3 Passo
No Command Window do MTLAB digite:

>> amx2221 verifica se o comando foi transferido corretamente para rea de trabalho
Discrete-time IDPOLY model: A(q)y(t) = B(q)u(t) + C(q)e(t)
A(q) = 1 - 1.982 q^-1 + 0.982 q^-2

B(q) = -0.000268 q^-1 + 0.0003371 q^-2

C(q) = 1 - 1.846 q^-1 + 0.8584 q^-2

Estimated using PEM using SearchMethod = Auto from data set modelo01
Loss function 0.000262346 and FPE 0.000263398
Sampling interval: 1

>> [Nz,Dz]=th2tf(amx2221) entre ( ) digite o nome do modelo que voc estimou

Nz =

1.0e-003 *

0 -0.2680 0.3371

Dz =

1.0000 -1.9820 0.9820

>> [Ns,Ds]=d2cm(Nz,Dz,0.01,'zoh')

Ns =

0 -0.0305 0.6965

Ds =

1.0000 1.8123 0.0060

>> g=tf(Ns,Ds)

Transfer function: funo de no formata final, pronta para ser utilizado no sisotool
-0.03054 s + 0.6965
------------------------
s^2 + 1.812 s + 0.005961
4 Passo
Ainda no Command Window do MTLAB digite: --->sisotool, e seguinte uma tela aparecera,
clique ---->File ---->Import... em System Data, no local marcado digite a varivel que esta
armazenado a funo, neste caso a g, depois, clique em OK.

Neste momento o modelo de funo foi importado, onde possvel manipular-la de forma a
atender as especificaes. Em especial, para este experimento ficou estipulado que o
controle de posio tenha um tempo de acomodao menor que 5s e erro nulo para o
regime permanente. Isso foi possvel adicionando um Zero e um Polo no eixo real e do
lado esquerdo do sistema, caracterizando assim como um controlados do tipo Lead,
atuando apenas no transitrio.
Agora que o modelo da funo j esta atendendo todas as especificaes, hora de anotar
o controlador criado automaticamente. Isso realizado na seguinte tela:

4 Passo
Com o controlador projetado e devidamente anotados vamos ento, aos clculos
necessrios para extrair o Kp, Td e Ti. Estes valores sero inseridos em um programa
desenvolvido em LabVIEW para verificar sua eficincia no controle da posio.



. 
 

Cs =  Cs = 17.695 


.  =   !"
#



!"


 +1 $ 17.695 (
$ =  ' = ' =  )* = +. ,--
1 + 1 + 1
(

1 1 1
.= 01 = 01 =  34 = 5. 6,+
 +1 01  +1 .  + 1 2.27
(

1 = ' 01 1 = 1.966 0.391 )4 = 5. 9-:

' 0.768
; = ; = )= = 5. 555
0; 10.000
5 Passo
Com os valores j calculado, hora de simular o controlador. Lembre que o potencimetro
tem uma rea morta que vai de aproximadamente 350 a 10. Para valores diferente da faixa
de 4.30V e 0V, o controlador ira procurando infinitamente esta referncia. Fica ai uma dica
para futuras modificaes no software LabVIEW para corrigir o problema de limitao deste
equipamento com esta esperiencia.

Jarbas C. Souza.
Espero ter ajudado com este pequeno tutorial.