INSTITUTO TECNOLÓGICO DE AERONÁUTICA
DIVISÃO DE ENGENHARIA MECÂNICA
MPS-36 – Modelagem e Simulação de Sistemas Dinâmicos
Prof. Davi Antônio dos Santos
LABORATÓRIO 1: Identificação da Dinâmica de um Servomecanismo de Posição Angular
Data:
Nomes:
Turma:
Conceito:
_________________________________________________________
_________________________________________________________
_________________________________________________________
_________________________________________________________
Objetivos: Esta prática tem por objetivos:

Identificar a dinâmica do servomecanismo de posição angular da ECP utilizando métodos
paramétricos e não-paramétricos.

Avaliar os modelos obtidos comparando suas respostas simuladas com as correspondentes
respostas experimentais.
Materiais:

Kit ECP Modelo 220

Driver do DSP: Desktop\Lab1MPS36\ECPDSPDrivermdl.mdl

Reset do DSP: Desktop\Lab1MPS36\ECPDSPResetmdl.mdl
1. Introdução
A Seção 1.1 descreve brevemente o servomecanismo de posição angular da ECP. A Seção 1.2
apresenta um modelo dinâmico teórico (obtido por meio de leis da Física) do aparato. A Seção 1.3
resume os conceitos necessários para a realização da prática.
1.1. Servomecanismo da ECP
O servomecanismo utilizado nesta experiência consiste no Emulador Industrial Modelo 220
da ECP. Esse kit didático é composto de 4 partes:

Sistema mecânico: Constitui-se de dois discos de inércia e um redutor de velocidades
(RV) acoplados por correias e polias. Vide ilustração na Figura 1. O disco 1 consiste no
disco de acionamento, enquanto que o disco 2 representa a carga. Em cada disco, há um
1
encoder incremental (sensor de posição angular) e um motor de corrente contínua (CC)
brushless acoplados. O motor do disco 1, motor 1, é empregado no acionamento do
servomecanismo.
Figura 1. Emulador Industrial ECP Modelo 220.
1.2.

Módulo de interfaceamento com sensores e atuadores: Tem as seguintes funções: 1)
Eletrônica de potência para geração de correntes elétricas com potência suficiente para
acionar os motores; 2) Condicionamento dos sinais dos sensores de posição angular.

Placa de aquisição de dados e controle em tempo real (ECPDSP): Consiste numa
placa contendo circuitos de conversão AD/DA e um Processador Digital de Sinais (Digital
Signal Processor – DSP) da família M56000. Esta placa está conectada à placa mãe de um
computador pessoal via barramento ISA. O DSP executa um sistema operacional de tempo
real com base no qual se pode implementar algoritmos para controle da planta mecânica.

Programa Executive ECP: Programa executado num PC com sistema operacional
Windows que tem por finalidade prover uma interface entre o aluno e o DSP. Permite operar
o sistema com facilidade (visualizar dados monitorados, editar o programa de controle a ser
executado pelo DSP, gerar gráficos, gerar trajetórias de referência para o sistema de controle,
etc). Opcionalmente, pode-se comunicar com o DSP utilizando-se o MATLAB/Simulink.
Essa alternativa será empregada na presente prática.
Modelagem física
Considere que os acoplamentos entre os discos do servomecanismo sejam rígidos e despreze
as não-linearidades (saturação dos circuitos amplificadores, atrito seco, etc.). Sendo assim, o
movimento angular do disco de carga pode ser descrito pela seguinte EDO linear, invariante no
tempo, de segunda ordem, obtida pela 2.a lei de Newton:
̈ ( )
̇ ( )
( ),
(1a)
,
(1b)
onde é o torque aplicado pelo motor 1 sobre o disco 1. Esse torque é proporcional à corrente de
armadura do motor, que por vez é aproximadamente proporcional ao sinal de controle produzido
pelo DSP;
e
são as posições angulares dos discos 1 e 2, respectivamente; é o momento de
inércia refletido para o eixo do disco 1; é o coeficiente de atrito refletido para o eixo do disco 1; e
é a relação de engrenagem entre os discos 1 e 2.
2
Q1: Obtenha a função de transferência
( )
( ).
( )), onde ( ) é o sinal de referência de posição, e obtenha a
Q2: Faça ( )
( ( )
função de transferência ( ) ( ). Esse modelo descreve, de forma aproximada, a dinâmica do
servomecanismo de posição em malha fechada.
Note que neste ponto há duas informações importantes sobre a dinâmica do servomecanismo
estudado: 1) ordem 2; 2) comportamento linear.
1.3.
Conceitos necessários
Em seguida, os conceitos necessários para a realização da prática serão apresentados de forma
sucinta. Para maiores detalhes, consulte a bibliografia do curso.
1.3.1. Resposta ao degrau
Seja o modelo dinâmico de segunda ordem em formato padrão
( )
( )
,
(2)
onde
é a freqüência natural não-amortecida e é o coeficiente de amortecimento. A Figura 2
apresenta uma resposta temporal típica do modelo em (2) quando excitado por um sinal tipo degrau
de magnitude ̅ . Essa figura ilustra duas figuras de mérito que descrevem a dinâmica do sistema
modelado por (2): a máxima ultrapassagem,
; e o instante de pico, .
3
Figura 2. Resposta temporal de um sistema de segunda ordem
a uma excitação do tipo degrau de magnitude ̅ .
As características
e
de um sistema de segunda ordem se relacionam de forma exata
com os parâmetros
e por meio das seguintes equações:
{
},
√
(3)
.
√
(4)
Isso sugere uma forma simples de se identificar um sistema de segunda ordem a partir de um
experimento de resposta ao degrau.
1.3.2. Identificação não paramétrica
Seja um sistema discreto no tempo, linear e invariante no tempo (LIT) cujo comportamento
dinâmico é descrito pela resposta impulso . Sendo assim, dada a sequência de entradas * + , a
saída desse sistema medida no instante discreto é
,
-
,
que de forma explícita fica
∑
.
(5)
Considere que
e
sejam variáveis aleatórias ortogonais. Sendo assim, multiplicando
(5) por
e tomando a esperança matemática, obtém-se
( )
∑
(
),
(6)
( )
*
+ e
(
)
*
+. Note que, ao contrário de (5), a
onde
equação (6) não tem entradas aleatórias, i.e., trata-se de um modelo determinístico.
4
Tomando-se a transformada de Fourier de (6), obtém-se
( )-
,
, ( )- ,
(
)- ,
ou
( )
( )
( ),
, ( )- é a função resposta em frequência;
( )
,
(
)- é a função
onde ( )
( )
( )- é o espectro cruzado entre a entrada e a saída. Sendo
autoespectro da entrada; e
,
( ) e
assim, a função resposta em frequência pode ser estimada a partir de estimativas de
( ), ou seja,
̂( )
̂ ( ) ̂ ( )
(7)
Nesta prática, a função spa da toolbox “System Identification” do MATLAB será utilizada para gerar
a estimativa ̂ ( ) da forma como indicado acima. Esse método é conhecido como método de
Blackman-Tukey.
1.3.3. Identificação paramétrica
Os métodos de identificação paramétrica constituem-se basicamente de duas etapas. A
primeira consiste na escolha de uma estrutura do modelo, enquanto a segunda trata da estimação dos
parâmetros dessa estrutura utilizando dados experimentais de entrada e saída do sistema.
Uma estrutura de modelo bastante utilizada na identificação de sistemas lineares SISO é o
chamado modelo ARX (Auto-Regressive with eXogenous input). Esse modelo é dado por
,
(8)
onde * + é o sinal (ou sequência) de saída; * + é o sinal de entrada; * + é o sinal de ruído; os
coeficientes , são os parâmetros a serem estimados;
é o atraso de transporte.
Conforme visto em sala de aula, os coeficientes de (8) podem ser estimados de forma a
minimizar um custo quadrático do erro de estimação da saída (critério de mínimos quadrados - MQ).
Nesta prática, a função arx da toolbox “System Identification” do MATLAB será utilizada para gerar
as estimativas ̂ , ̂ pelo critério MQ.
5
2. Procedimentos experimentais
2.1.
Preparação da bancada
a) Configure o servomecanismo da seguinte forma:



Disco 1: 2 massas de
Disco 2: 2 massas de
RV:
e
, com
, com
;
;
b) No programa Executive ECP, selecione o menu Utility/Download Controller Personality File.
Abra o arquivo C:\Arquivos de programas\ECP Systems\ cn\
M220_rtwt_3.pmc. Feche esse programa e abra o MATLAB 2007/Simulink. (OBS: Esse
comando permite que o Simulink se comunique com a placa de controle em tempo real (DSP), ao passo
que desabilita tal comunicação por meio do Executive ECP).
A Figura 3 ilustra o bloco para Simulink (Emulador Industrial1) correspondente ao driver do
DSP da ECP. Há uma cópia desse bloco disponível no arquivo Desktop\ Lab1MPS36
\ECPDSPDrivermdl.mdl. Note que as entradas do bloco ( e ) correspondem aos sinais
de controle dos motores, enquanto que as saídas (teta1, teta2,...) são provenientes dos sensores.
- clique com o botão direito
- clique em look under mask
- clique duplamente
com o botão esquerdo
Figura 3. Bloco correspondente ao Driver do DSP.
c) Utilizando o driver do DSP, crie o modelo Simulink ilustrado na Figura 4 e nomeie-o por
Desktop\Lab1MPS36\exp1.mdl. Note que esse diagrama corresponde a um
controle em malha fechada de
utilizando um controlador proporcional em série (cascata)
com a planta para gerar . A entrada de referência ( ) é um degrau de amplitude
rad.
Faça
e, no bloco do driver, configure o endereço da placa ECP com „0xB800‟,
o período de amostragem com
e o time out com 500.
6
Figura 4. Malha de controle de posição angular da carga.
d) Abra a caixa de diálogo Tools/Real-Time Workshop/Options. Em system target file, selecione
rtwin.tlc. Em Solver, selecione a integração com passo fixo, método de Euler (ODE1) e
stop time de 10 seg.
e) Abra o Scope e clique no ícone Parameters. Na caixa de diálogo Parameters, selecione a opção
Data history. Modifique Limit data points to last para 12500. Selecione Save data to workspace,
Variable name = “Dados”, Format = “Structure with time”. (OBS: Isso permite que os dados
adquiridos no experimento em tempo real sejam armazenados na variável “Dados” no workspace do
MATLAB).
f) Abra a caixa de diálogo Tools/External Mode Control Panel. Selecione Signal & Triggering. Em
Trigger, configure Duration = 80000. (OBS.: Com isso, a cada 80000 amostras dos sinais do DSP, o
Simulink apagará os registros que armazenam os correspondentes dados).
2.2.
Experimento de resposta ao degrau
a) Com a entrada de referência já configurada (degrau de amplitude
rad), Selecione
Tools/Real-Time Workshop/Build Model para compilar o diagrama. (OBS.: Neste momento, o
Simulink gerou um código em linguagem de máquina do DSP que equivale a esse diagrama).
b) Abra o arquivo Desktop\Lab1MPS36\ECPDSPResetmdl.mdl. Compile esse
diagrama como no item 2.2a. Execute o código referente a esse diagrama da seguinte forma.
No menu Simulation, selecione Connect to Target. Novamente em Simulation, selecione Start
Real-Time Code. Aguarde 1 seg, feche esse diagrama e volte ao exp1.mdl. (OBS.: Neste
momento, os registros de contagem dos encoders e os flags de segurança do aparato foram “resetados” no
DSP).
c) Utilizando os passos descritos no item 2.2b, execute o código referente ao diagrama
exp1.mdl. O servomecanismo deve se movimentar em resposta ao degrau comandado na
entrada de referência (vide Figura 4).
Q3: Após finalizada a execução e utilizando os dados salvos no workspace por meio do bloco Scope, os
quais podem ser acessados por
>> Y = Dados.signals.values(:,1);
>> R = Dados.signals.values(:,2);
>> T = Dados.time;
obtenha e salve o gráfico da resposta ao degrau identificando o arquivo com o nome
Desktop\Lab1MPS36\f1.fig.
7
Q4: Meça
e
e calcule e
utilizando (3)-(4). Com isso, tem-se uma estimativa de um
modelo de segunda ordem, no formato padrão, para o sistema em malha fechada correspondente ao
diagrama da Figura 4.
Q5: Obtenha (manualmente) a FT de malha aberta
identificada em Q4.
( )
( ) a partir da FT de malha fechada
Essa FT consiste num modelo dinâmico paramétrico do servomecanismo da ECP!
2.3.
Experimento de resposta a um sinal aleatório
a) “Resete” o DSP como no passo 2.2b. (OBS.: O diagrama ECPDSPResetmdl não precisa ser
compilado novamente, pois não foi alterado!).
b) Salve uma cópia do diagrama exp1.mdl com o nome Desktop\Lab1MPS36
\exp2.mdl. Modifique esse diagrama de forma que ele fique como ilustrado na Figura 5.
Note que, no lugar da entrada degrau, inseriu-se um bloco Sources/Band-Limited White Noise.
Adicionalmente, foram inseridos blocos necessários para adequar taxas de amostragem
distintas (OBS.: Sem a presença desses blocos, o Simulink geraria mensagens de erro no momento da
compilação do diagrama).
8
Figura 5. Experimento de resposta a um sinal aleatório.
) e Sample Time: .
a) Configure o bloco Band-Limited White Noise com Power: (
Configure os blocos Rate Transition com os tempos de amostragem ( ) indicados na Figura 5.
Configure o tempo de execução do diagrama em
e o período de amostragem do Scope
em
.
b) Da forma como fora instruído previamente (itens 2.2a e 2.2b), compile o diagrama
exp2.mdl e execute o correspondente experimento em tempo real.
Q6: Após finalizada a execução e utilizando os dados salvos no workspace por meio do bloco Scope, os
quais podem ser acessados por
>> Y = Dados.signals.values(:,1);
>> R = Dados.signals.values(:,2);
>> T = Dados.time;
obtenha e salve o gráfico da resposta ao sinal aleatório com o nome Desktop
\Lab1MPS36\f2.fig.
2.3.1. Obtenção de um modelo ARX
Q7: Utilizando a função arx disponível no MATLAB, obtenha os parâmetros do modelo ARX com
dimensões
e
e atraso de transporte
. Na sequência, converta o modelo
obtido para o domínio contínuo. Para tal, utilize os seguintes comandos:
>> Ts= 0.1;
% período de amostragem
>> Z = iddata(Y,R,Ts);% estrutura de dados
>> na=2;nb=2;nk=1;
%dim. da estrutura arx escolhida
>> M = arx(Z,[na nb nk]); % estimação dos parâmetros via
critério MQ
>> [den num]=polydata(M); % conversão de Arx para FT
>> T = tf(num,den,Ts);
% ... continuação
>> Tc = d2c(T,'zoh');
% discretização no tempo
Anote o modelo ARX (armazenado em M) e a função de tranferência em tempo contínuo (armazenada
em Tc) obtidos acima.
9
Os modelos acima descrevem a dinâmica do servomecanismo em malha fechada com um
controlador proporcional
.
Q8: Crie um novo diagrama em Simulink para simular o servo em malha fechada por meio do modelo
Tc obtido em Q7. Utilize um sinal degrau de amplitude
como excitação. Utilize um Scope
configurado para salvar os dados no workspace do MATLAB numa estrutura com nome “Dadossim”,
similar ao que foi feito no item 2.1e. Configure a duração da execução em
. Salve esse diagrama
com o nome Desktop\Lab1MPS36\sim1.mdl.
Q9: Execute o diagrama criado em Q8 no modo normal (menu Simulation/normal). Após finalizada a
execução e utilizando os dados salvos no workspace por meio do bloco Scope, os quais podem ser
acessados por
>> Y = Dadossim.signals.values;
>> T = Dadossim.time;
obtenha o gráfico da resposta ao degrau. Na janela da figura, clique no ícone Edit plot (“setinha”) e, em
seguida, clique na curva. Copie-a e cole-a sobre o gráfico da figura salva como f1.fig. Edite o
gráfico, como desejado, de maneira a distinguir a curva de resposta obtida experimentalmente daquela
obtida a partir do modelo Tc. Salve o gráfico resultante em Desktop\Lab1MPS36
\f3.fig.
Q10: Comente sobre o gráfico f3.
2.3.2. Obtenção de um modelo de resposta em frequência
Na Subseção 2.3.1, a toolbox “System Identification” foi utilizada através da janela de comando
do MATLAB. Na sequência, veremos como utilizar a interface gráfica dessa toolbox para obter um
modelo de resposta em frequência pelo método de análise espectral descrito na Subseção 1.3.2.
a) Abra a interface gráfica da Toolbox:
>> ident
b) Importe a estutura de dados Z (já criada em Q7) no ambiente gráfico da toolbox mediante os
seguintes passos. Em Import data, selecione Time domain data. Em Data Format for Signals
selecione Data Object. Na caixa de texto Object, escreva Z. Clique em Import.
c) Estime a resposta em frequência mediante os seguintes passos. No menu pull-down “estimate”,
selecione Spectral models. Escolha o método SPA (Blackman-Tuckey) e os demais parâmetros
em seus valores padrão. Clique em Estimate e feche essa janela.
10
d) Na tela principal do System Identification Tool, selecione o check box “Frequency resp”. Neste
momento, aparecerá uma janela contendo o gráfico da resposta em frequência estimada. No
menu file dessa janela, selecione copy figure para obter o correspondente gráfico no formato
.fig. Salve-o como Desktop\Lab1MPS36\f4.fig.
Q11: Utilizando o modelo de segunda ordem padrão obtido em Q4, obtenha a resposta em frequência
simulada do sistema em malha fechada. Para tal, utilize os seguintes passos:
>>
>>
>>
>>
>>
>>
>>
zeta = ?
% vide Q4; modelo
wn = ?
% vide Q4; modelo
num = wn^2;
den = [1 2*zeta*wn wn^2];
[mag,fas,w]=bode(num,den);
figure; plot(w,mag);
% curva
figure; plot(w,fas);
% curva
da MF
da MF
de magnitude
de fase
Como em Q9, copie as duas curvas obtidas acima sobre os correspondentes gráficos de resposta em
frequência experimental, f4.fig. Salve o gráfico resultante em Desktop\ Lab1MPS36
\f5.fig.
Q12: Comente sobre o gráfico f5.
3. Conclusão
Q13: Escreva uma conclusão que resuma o que essencialmente foi aprendido nesta prática.
11
Download

Instituto Tecnológico de Aeronáutica