32
UNIVERSIDADE DE PASSO FUNDO FACULDADE DE ENGENHARIA E ARQUITETURA CURSO DE ENGENHARIA ELÉTRICA Trabalho Projeto do Sistema de Controle de Velocidade com Controlador Digital Disciplina: Projeto Mecatrônico Professor: Mikhail Polonskii Aluno: Renan Pieczkoski 1

Roteiro Do Trabalho 2

Embed Size (px)

DESCRIPTION

controle

Citation preview

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.