UNIVERSIDADE DE PASSO FUNDOFACULDADE DE ENGENHARIA E
ARQUITETURACURSO DE ENGENHARIA ELTRICA
TrabalhoProjeto do Sistema de Controle de Velocidade com
Controlador Digital
Disciplina: Projeto MecatrnicoProfessor: Mikhail Polonskii
Aluno: Renan Pieczkoski
Passo FundoNovembro de 2014
ModeloKT1T2J(kgm2)mf (graus)mg (dB)Katr (s)
RENAN PIECZKOSKI113,90,0210,00210,545112,60,52
Tolerncias:ParmetroTolerncia
Margem de fase (mf)
Margem de ganho (mg)
Tempo de subida (tr)
P
TV
Fig.1. Diagrama de blocos da planta.
Para todos os modelo:
Roteiro para o Trabalho 2, disciplina Projeto MecatrnicoA planta
um conversor eletrnico acoplado a um motor eltrico que aciona um
mecanismo. A planta inaltervel. Na Fig.1, V a tenso aplicada
entrada do conversor, T o torque desenvolvido pelo motor, P o
torque externo, J o momento de inrcia equivalente referido ao eixo
do motor, a velocidade angular.O sistema compensado deve ser tipo 2
(dois integradores da funo de transferncia de malha aberta).No
projeto usar os valores numricos de acordo com o nmero do modelo.
Executar os seguintes itens:1) Projetar um compensador digital
empregando o mtodo de Caractersticas Transitrias Padronizadas (CTP)
(Bessekersky V.A., Popov E.P. Teoria de sistemas de controle
automtico, 4 ed.,2003, p.351-354, (em russo));2) Projetar um
compensador digital empregando o mtodo de resposta em frequncia
(grficos logartmicos);3) Comparar entre si os dois compensadores
projetados em termos de complexidade, tempo de subida tr, mximo
sobressinal Mp e tempo de acomodao tSS (critrio 2%);4) Dimensionar
um encoder para utiliz-lo como sensor de velocidade com as
seguintes especificaes: a faixa de velocidade de 10 a 100 rad/s, o
erro de medio 1%. Os encoderes disponveis so: 1024, 2048, 4096,
8192, 16384 e 31768 pulsos/rotao. Simular o sistema com o encoder
selecionado empregando um dos compensadores projetados.
Teoria:De acordo com o mtodo CTP, para sistemas tipo 1 o projeto
baseado nas funes de transferncias W(s) definidas no Quadro 1.
Funes W(s) so funes de transferncia de malha aberta do sistema
compensado; o coeficiente de erro esttico de velocidade; Mp % o
mximo sobressinal na resposta ao degrau unitrio; n a ordem do
sistema.
Quadro 1.n %
25
38
410
Para compensar um sistema, a seguinte sequncia sugerida: definir
a ordem do sistema n; com base no valor de e n calcular ; de acordo
com a ordem n do sistema, calcular a funo de transferncia W(s);
definir a funo de transferncia do compensador srie. O parmetro a
mdia geomtrica das razes da equao caracterstica do sistema
compensado de malha fechada. A Fig.2 traz o conjunto de CTPs para
sistemas tipo1, ordem n = 2,3 e 4. Estas caractersticas mostram o
processo transitrio na resposta ao degrau unitrio dos sistemas em
malha fechada. Os grficos foram plotados com a utilizao de tempo
normalizado .
Fig.2. Conjunto de CTPs para sistemas tipo1, ordem n = 2, 3 e
4.
Para sistemas tipo 2, as funes de transferncia de malha aberta
so mostradas no Quadro 2.Quadro 2.n %
210
310
410
510
610
No Quadro 2, Ka o coeficiente de erro esttico de acelerao. A
Fig.3 traz o conjunto de CTPs para sistemas tipo 2, ordem n = 2, 3,
4, 5 e 6.
Fig.3. Conjunto de CTPs para sistemas tipo2, ordem n = 2, 3, 4,
5 e 6.
A sequncia de projeto a mesma: com base em e n calcular ;
definir W(s); definir a funo de transferncia do compensador srie.As
desvantagens do mtodo CTP: 1) o valor do mximo sobressinal % no
pode ser ajustado; 2) a velocidade de resposta transitria no
especificada se partir do coeficiente de erro esttico de acelerao
Ka. Porm, em vez de Ka, a velocidade de resposta transitria pode
ser especificada. Neste caso, empregando os grficos da Fig.2 ou
Fig.3, o processo transitrio correspondente ordem do sistema
escolhido e o valor de calculado com base no tempo de subida
desejado, a funo de transferncia W(s) definida e, finalmente, a
funo de transferncia do compensador srie calculada.Soluo:Sejam: 3;
J = 0,2; = 0,01; = 0,002. O coeficiente de erro esttico de acelerao
.
1) Projeto baseado no mtodo de caractersticas transitrias
padronizadas (CTP). No trabalho preciso compensar a planta cuja
funo de transferncia :
A funo de transferncia tipo 1 de 3 ordem. Para que o sistema
compensado tenha um coeficiente de erro esttico de acelerao finito
e no nulo, a funo de transferncia a malha aberta do sistema
compensado deve ser tipo 2. Isto significa que um integrador deve
ser includo na funo de transferncia do compensador.
Em MATLAB:>> s = tf('s');>> T1 = 0.01; T2 =
0.002;>> K = 3; J = 0.2;>> G = K/J/s/(T1*s + 1)/(T2*s +
1)Transfer function: 15--------------------------2e-005 s^3 + 0.012
s^2 + s >> Ka = 2;% coeficiente de erro esttico de
acelerao>> Omo = sqrt(16*Ka)% Omo = ver o Quadro 2.Omo =
5.6569>> W = (12*Omo^3*s + Omo^4)/s^2/(s^2 + 7.2*Omo*s +
16*Omo^2)Transfer function: 2172 s +
1024-------------------------s^4 + 40.73 s^3 + 512 s^2
>> % compensador>> Gc = W/G% funo de transferncia do
compensador
Transfer function:0.04344 s^4 + 26.09 s^3 + 2185 s^2 + 1024
s------------------------------------------- 15 s^4 + 610.9 s^3 +
7680 s^2 OBS.: O compensador implementvel, pois o grau do polinmio
do numerador no superior ao do denominador.>> Gc_fator =
zpk(Gc)% fatorar Gc
Zero/pole/gain:0.0028963 s (s+500) (s+100) (s+0.4714)%
(1)-------------------------------------- s^2 (s^2 + 40.73s + 512)
>> G_fator = zpk(G)% fatorar GZero/pole/gain:
750000-----------------s (s+500) (s+100)
>> Gcomp = Gc_fator*G_fator% funo de transferncia a malha
aberta do sistema compensadoZero/pole/gain: 2172.232 s (s+500)
(s+100) (s+0.4714)----------------------------------------s^3
(s+100) (s+500) (s^2 + 40.73s + 512) Simplificar Gcomp:>>
Gcomp = 2172.232*(s+0.4714)/s^2/(s^2 + 40.73*s + 512)Transfer
function: 2172 s + 1024-------------------------s^4 + 40.73 s^3 +
512 s^2 >> G_cl = feedback(Gcomp,1)% F. de Tr. a malha
fechadaTransfer function: 2172 s +
1024-----------------------------------------s^4 + 40.73 s^3 + 512
s^2 + 2172 s + 1024 >> step(G_cl)% Fig.4.
Fig.4. Resposta entrada em degrau unitrio.
>> G_acel = G_cl/s^2;>> t=0:0.01:50;>> [y, t]
= step(G_acel, t);>> ess = t(length(t))^2/2 -
y(length(y))
ess = 0.5000% erro esttico de acelerao 1/Ka = 1/2 = 0.5
Digitalizar o compensador:
>> [num, den] = tfdata(Gc, 'v')
num =
1.0e+003 * 0.0000 0.0261 2.1845 1.0240 0
den =
1.0e+003 * 0.0150 0.6109 7.6800 0 0
>> Ts = 0.02;% perodo de amostragem, assim Ts menor que
tr/10>> [numd, dend] = c2dm(num, den, Ts, 'tustin')
numd = 0.0239 -0.0317 -0.0081 0.0158 0.0000% (2)
dend = 1.0000 -3.3011 4.0436 -2.1840 0.4415% (3)
Modelar o sistema compensado em Simulink.
Fig.5. Modelo trabalho_2.mdl.
Fig.6. Resposta entrada em degrau com variao do torque
externo.
Verificar se o sistema projetado insensvel (robusto) variao dos
coeficientes do compensador.Redefinimos os coeficientes do
compensador copiando e colando os polinmios (2) e (3). Assim sero
cortadas todas as casas decimais a partir da 5.
>> numd1 = numd; dend1 = dend; % salvar os valores exatos
dos coeficientes do compensador>> numd = [0.0239 -0.0317
-0.0081 0.0158 0.0000];>> dend = [1.0000 -3.3011 4.0436
-2.1840 0.4415];
Simulando o modelo trabalho_2.mdl, pode-se ver que o sistema
ficou instvel (Fig.7).
Fig.7. Resposta entrada em degrau. Coeficientes do compensador
arredondados.
A instabilidade do sistema deve ser atribuda ao arredondamento
dos coeficientes do compensador.Modificar a estrutura do
compensador:
>> numd = numd1; dend = dend1; % restaurar os valores
exatos dos coeficientes do compensador
>> [sos, k] = tf2sos(numd, dend)
sos = 1.0000 0.6667 0.0000 1.0000 -1.3011 0.4415 1.0000 -1.9906
0.9906 1.0000 -2.0000 1.0000
k = 0.0239
O comando tf2sos converte funo de transferncia discreta em um
conjunto equivalente das funes de transferncia (estgios) de 2
ordem. Esta modificao aumenta a insensibilidade s variaes dos
coeficientes, possibilitando assim uma implementao no formato com
ponto fixo com um nmero menor de bits. No projeto, o valor de k =
0,0239 o coeficiente que acrescentado conexo em srie de duas funes
(dois estgios) de 2 ordem. A funo de transferncia de cada estgio
tem o seguinte formato:
onde os coeficientes [] so definidos de acordo com uma linha da
matriz sos. A matriz sos obtida tem duas linhas, logo o compensador
modificado tem dois estgios de 2 ordem.
Formar os polinmios do numerador e do denominador dos estgios do
compensador modificado:
>> b1 = [sos(1,1) sos(1,2) sos(1,3)]% 1 estgio
b1 = 1.0000 0.6667 0.0000
>> a1 = [1 sos(1,5) sos(1,6)]
a1 = 1.0000 -1.3011 0.4415
>> b2 = [sos(2,1) sos(2,2) sos(2,3)]% 2 estgio
b2 = 1.0000 -1.9906 0.9906
>> a2 = [1 sos(2,5) sos(2,6)]
a2 = 1.0000 -2.0000 1.0000
>> a11 = a1; a21 = a2; b11 = b1; b21 = b2; % salvar os
valores exatos dos coeficientes>> k1 = k;% salvar o valor
exato do ganho
Simular o sistema com o compensador modificado utilizando o
modelo trabalho_2_robust.mdl mostrado na Fig.9. A Fig.8 traz a
resposta transitria obtida.
Fig.8. Resposta entrada em degrau. Compensador modificado.
11
Fig.9. Sistema com compensador modificado. Modelo
trabalho_2_robust.mdl.
O processo transitrio da Fig.8 mostra que o sistema dotado do
compensador modificado praticamente idntico ao sistema original
(Fig.6).
>> k = round(k*256)/256% arredondar o ganho do compensador
modificado
k = 0.0234
>> a1 = round(a1*256)/256; % arredondar os coeficientes do
compensador modificado>> a2 = round(a2*256)/256;>> b1 =
round(b1*256)/256; >> b2 = round(b2*256)/256;
Simular o modelo trabalho_2_robust.mdl. A Fig.10 traz a resposta
transitria.
Fig.10. Resposta entrada em degrau. Compensador modificado com
coeficientes arredondados.
Comparando a Fig.10 com a Fig.8 e a Fig.6, pode-se concluir que
o compensador projetado, aps a modificao, adquiriu certa robustez
computacional.Verificar se o sistema compensado desenvolve o erro
esttico de acelerao de acordo com a especificao.Para simular o erro
esttico usar o modelo trabalho_2_robust_aceler.mdl (Fig.10a).
Fig.10a. Modelo trabalho_2_robust_aceler.mdl.
Clicar com o boto direito do mouse sobre a janela do modelo
Model Properties Callbacks InitFcn*. Abre-se uma janela mostrando o
script-file que executado no incio de cada simulao. Este
script-file mostrado no Quadro 3.
Quadro 3.s = tf('s');T1 = 0.01; T2 = 0.002;K = 3; J = 0.2;G =
K/J/s/(T1*s + 1)/(T2*s + 1);Ka = 2; % coeficiente de erro esttico
de aceleraoOmo = sqrt(16*Ka); W = (12*Omo^3*s + Omo^4)/s^2/(s^2 +
7.2*Omo*s + 16*Omo^2);Gc = W/G; % funo de transferncia do
compensador[num, den] = tfdata(Gc, 'v');Ts = 0.02; % Perodo de
amostragem[numd, dend] = c2dm(num, den, Ts, 'tustin');[sos, k] =
tf2sos(numd, dend);b1 = [sos(1,1) sos(1,2) sos(1,3)] % 1 estgio a1
= [1 sos(1,5) sos(1,6)] b2 = [sos(2,1) sos(2,2) sos(2,3)] % 2
estgio a2 = [1 sos(2,5) sos(2,6)] % arredondar os coef. do
compensadork = round(k*256)/256; % arredondar o ganho do
compensador modificado a1 = round(a1*256)/256; % arredondar os
coeficientes do compensador modificado a2 = round(a2*256)/256; b1 =
round(b1*256)/256; b2 = round(b2*256)/256;
2) Projeto baseado em grficos logartmicos. Projetar um
compensador digital para obter: Ka = 2; o tempo de subida na
resposta a degrau unitrio tr = 0,5 s; margem de fase 53 ; margem de
ganho 15 dB. Observar que na utilizao do mtodo de CTP impossvel
definir qualquer caracterstica temporal do processo transitrio se o
valor de Ka foi definido.
>> s = tf('s');>> K= 3; J = 0.2; T1= 0.01; T2=
0.002;>> Ka = 2;% coef. de erro esttico de acelerao>> G
= K/J/s/(T1*s + 1)/(T2*s + 1)% parte inaltervel do sistemaTransfer
function: 15--------------------------2e-005 s^3 + 0.012 s^2 + s
>> Gint = G/s;% acrescentar um integrador, pois o sistema
deve ser tipo 2Calcular o ajuste de ganho K necessrio para atender
o requisito de preciso em regime estacionrio.>> K =
2/15;>> G1 = Gint*K;>> bode(G1)Modificar a faixa de
frequncia:>> w = logspace(-2, 2, 2000);>> bode(G1,w)%
curva azul na Fig.11>> tr = 0.5;% tempo de subida na resposta
entrada em degrau unitrio>> wcg = pi/2/tr% wcg = frequncia de
cruzamento de ganhowcg = 3.1416A frequncia de cruzamento de ganho
wcg calculada empregando e seguinte expresso:
Esta expresso d um valor aproximado que geralmente deve ser
ajustado por meio de simulaes.>> % definir a assntota de
frequncias mdias>> % 20*log10(Kass/wcg) = 0>> Kass =
10^(0/20)*wcgKass = 3.1416>> ass_med = Kass/s;>> hold
on >> bode(ass_med)% curva verde na Fig.11
Fig.11. Resposta em frequncia.A faixa da assntota de frequncias
mdias deve-se estender aproximadamente por uma dcada tendo a
frequncia wcg no meio. A frequncia 0,643 rad/s (Fig.11) pode ser
testada como a frequncia do zero do compensador, wz. A frequncia do
polo do compensador, wp, pode ser escolhida aproximadamente uma
dcada acima de 0,643 rad/s. A localizao das frequncia wp e wz em
relao a wcg determina o amortecimento do sistema, sendo que a
diminuio da distncia entre wz e wcg e/ou entre wcg e wp vai reduzir
o amortecimento e causar um aumento no sobressinal.Em termos
gerais, o mtodo de compensao empregado aqui baseado nos grficos de
Lm padronizados, isto , desejados. Usemos a sigla GLmD (Grficos de
Lm Desejados). Os GLmD so mostrados nas Fig.12 a 14.
Lm
-40 ou -60 dB/dc-20 dB/dc
-20 dB/dc
-40 ou -60 dB/dc
0 dB
Fig.12. GLmD para sistemas tipo 1.
-40 dB/dcLm
-60 dB/dc
-20 dB/dc
-40 ou -60 dB/dc
0 dB
Fig.13. Exemplos de GLmD para sistemas tipo 2.
Lm
-20 ou -40 dB/dc0 dB/dc
-20 dB/dc
-40 ou -60 dB/dc
0 dB
Fig.14. Exemplos de GLmD para sistemas tipo 0.A assntota de
baixa frequncia determina a preciso do sistema em regime
estacionrio. A assntota de frequncias mdias ( de a ) determina a
estabilidade relativa (a distnsia entre de a ) e a velocidade de
resposta transitria (). O acoplamento entre a assntota de baixa
frequncia e a de frequncias mdias pode ter uma inclinao de -20 a
-60 dB/dc. A assntota de frequncias altas (acima de ) deve ter uma
inclinao de -40 a -80 dB/dc. Quanto mais rpido decresce Lm acima de
melhor, pois isto reduz os rudos de alta frequncia.No projeto, o
sistema tipo 2, por isso deve ser empregado o GLmD mostrado na
Fig.13. Por coincidncia (Fig.11), no preciso usar uma assntota de
acoplamento e a frequncia pode ser escolhida como a frequncia do
zero do compensador ( = wz = 0,643 rad/s). A frequncia do polo do
compensador (wp) a frequncia e pode ser escolhida uma dcada acima
de .>> % definir o compensador>> wz = 0.643; wp =
7;>> Gc = (s/wz + 1)/(s/wp + 1);>> % sistema
compensado>> Gcomp = Gc*G1Transfer function: 14 s +
9.002-----------------------------------------------------1.286e-005
s^5 + 0.007806 s^4 + 0.697 s^3 + 4.501 s^2 >> figure>>
bode(Gcomp)
Fig.15. Resposta em frequncia do sistema compensado.
>> figure>> G_cl = feedback(Gcomp, 1);>>
step(G_cl)
Fig.16. Resposta ao degrau unitrio do sistema compensado.
>> % verificar o erro estacionro de acelerao>>
G_acel = G_cl/s^2;>> t = 0:0.01:50;>> [y, t] =
step(G_acel, t);>> ess_espicif = 1/Kaess_espicif =
0.5000>> ess_obtido = t(length(t))^2/2 -
y(length(y))ess_obtido = 0.5000>> % funo de transferncia
completa do compensador>> Gcompensador = K*Gc/sTransfer
function: 0.9333 s + 0.6001-------------------0.643 s^2 + 4.501 s
>> % digitalizar o compensador>> Ts = 0.02;>>
[num, den] = tfdata(Gcompensador, 'v')num = 0 0.9333 0.6001den =
0.6430 4.5010 0
>> [numd, dend] = c2dm(num, den, Ts,'tustin')numd = 0.0137
0.0002 -0.0135dend = 1.0000 -1.8692 0.8692
Simular a resposta entrada em degrau empregando o modelo
trabalho_2.mdl.O resultado mostrado na Fig.17.
Fig.17. Resposta entrada em degrau com torque externo
varivel.
Testar a robustez computacional do sistema compensado
arredondando os coeficientes do compensador.>> numd = [
0.0137 0.0002 -0.0135];>> dend = [1.0000 -1.8692
0.8692];Repetir a simulao. A simulao (Fig.18) mostra que o sistema
continua estvel e desenvolve um processo transitrio idntico ao
mostrado na Fig.17.
Fig.18. Resposta ao degrau unitrio. Compensador com os
coeficientes arredondados.
A simulao da resposta entrada em acelerao unitria mostra que o
erro esttico de acelerao 0,436 (Fig.19).
Fig.19. Verificao do erro esttico de acelerao (modelo
trabalho_2_freq_aceler.mdl)
3) Comparar entre si os compensadores projetados:
A funo de transferncia do compensador projetado atravs do mtodo
CTP:
A funo de transferncia do compensador projetado com base na
resposta em frequncia:
Os coeficientes destas funes de transferncia discretas aqui so
mostrados com apensas quatro casas decimais.
O Quadro 4 traz as caractersticas de resposta transitria
(entrada em degrau unitrio).
Quadro 4.Compensadortr , sMp , %tSS , s
0,440,53,49
0,4310,23,81
Comparando os dois compensadores, pode-se concluir que:---
4) Dimensionar um encoder para utiliz-lo como sensor de
velocidade com as seguintes especificaes: a faixa de velocidade de
10 a 100 rad/s, o erro de medio 1%. Os encoderes disponveis so:
1024, 2048, 4096, 8192, 16384 e 32768 pulsos/rotao. Simular o
sistema com o encoder selecionado empregando um dos compensadores
projetados.Soluo:
Seja N o nmero de pulsos por rotao gerados pelo encoder. O nmero
de pulsos por radiano :
Ento a seguinte equao pode ser usada para achar N:
Esta equao diz que o nmero de pulsos gerados pelo encoder na
velocidade durante o intervalo igual a 1/(erro de medio). O erro de
medio relativo especificado 1% = 0,01.Da equao anterior,
obtm-se:
Escolher encoder com 4096 pulsus/rotao. A medio de velocidade
deve ser feita atravs da contagem do nmero pulsos do encoder
durante o intervalo TS = 0,02 s. Calcular o erro de medio relativo
para este encoder:
No Quanzer o parmetro Quantization interval ajustado para:
Simular o sistema com o encoder escolhido.
Fig.20. Modelo trabalho_2_robust_encoder.mdl.
A simulao mostra que o erro relativo de velocidade :
O erro relativo de velocidade obtido na simulao (-0,21 %) muito
inferior em comparao com o valor especificado de 1%. Testamos o
sistema com um encoder com N = 1024 pulsos/rotao. Calcular:
Quantization interval =
Modificar o valor do Quantization interval no modelo
trabalho_2_robust_encoder.mdl e repetir a simulao.
Em MATLAB:>> t = y.time;>> saida =
y.signals.values;>> plot(t, saida)
Fig.21. Processo transitrio com encoder de 1024 pulsos/rotao. No
grfico, pequenas oscilaes de velocidade podem ser observadas.
>> size(saida)ans = 30006 1>> saida_final =
saida(25000:30006);% selecionar apenas a parte final do processo
transitrio>> wmin = 10;>> erro_relativo = (saida_final
wmin)/wmin;>> plot(erro_relativo)
Fig.22. Erro relativo de velocidade no final do intervalo de 30
segundos.
>> min(erro_relativo)% valor mnimo do erro relativoans =
-0.0025>> max(erro_ relativo)% valor mximo do erro
relativoans = 0.0042
O resultado obtido mostra que o erro relativo de velocidade fica
entre -0,25 e 0,42% na velocidade de 10 rad/s o que menor do erro
relativo especificado de 1%. Na velocidade acima de 10 rad/s o erro
relativo deve ser ainda menor.No trabalho, o aluno deve mostrar que
na velocidade o erro relativo de velocidade menor do que na
velocidade .Assim, um encoder com 1024 pulsos/rotao pode ser
utilizado.