• Nenhum resultado encontrado

manual aluno projeto controle discreto v1

N/A
N/A
Protected

Academic year: 2021

Share "manual aluno projeto controle discreto v1"

Copied!
12
0
0

Texto

(1)

UF

ABC

- EIA

R

- Pro

f.

Ma

gn

o

Me

za

Projeto de Controle Discreto - ESZA004-13

Manual do Aluno

Prof. Magno Enrique Mendoza Meza

1

Pr´

e-requisitos

Para o sucesso dos laborat´orios, o aluno deve estar familiarizado com o seguinte:

• Placa de aquisi¸c˜ao de dados (e.g. Q8), o amplificador de potˆencia (e.g. UPM) e os principais componentes do SRV02 (e.g. atuador, sensor) como descritos na suas respectivas referˆencias. • Cabeamento e procedimento de opera¸c˜ao da planta SRV02 com a UPM e o dispositivo de DAC. • Fundamentos da fun¸c˜ao de transferˆencia, e.g., obter a fun¸c˜ao de transferˆencia de uma equa¸c˜ao

diferencial.

• Laborat´orio descrito para se familiarizar no uso do SRV02 com o QuaRC.

2

Vis˜

ao geral dos arquivos

A Tabela a seguir lista e descreve os arquivos fornecidos para o laborat´orio de controle de posi¸c˜ao do SRV02 (Quanser, 2012).

Nome do arquivo Descri¸c˜ao 02-SRV02 Position Control - Student

Manual.pdf

Este guia do laborat´orio contem os exerc´ıcios de pr´e-laborat´orio e do laborat´orio em si, demostrando como projetar e implementar o controle de posi¸c˜ao na planta de rota¸c˜ao SRV02 da Quanser utilizando o QuaRC.

setup_srv02_exp02_pos.m O script principal do Matlab que seta os parˆametros do motor do SRV02 e do sensor, bem como seus parˆ a-metros do modelo que depende da configura¸c˜ao. Exe-cutar este arquivo somente para configurar o laborat´orio.

config_srv02.m Devolve as especifica¸c˜oes do modelo base de confi-gura¸c˜oes do SRV02 Rm, kt, km, Kg, eta g, Beq, J eq, e eta m, as constantes de calibra¸c˜ao do sensor K P OT , K EN C e K T ACH e os limites da UPM V M AX U P M e IM AX U P M .

d_model_param.m Calcula os parˆametros K e tau do modelo SRV02 ba-seado nas especifica¸c˜oes do dispositivo Rm, kt, km, Kg, eta g, Beq, J eq e eta m.

calc_conversion_constants.m Devolve v´arios fatores de convers˜ao.

(2)

UF

ABC

- EIA

R

- Pro

f.

Ma

gn

o

Me

za

3

Planta

O servomecanismo SRV02 ´e constitu´ıdo por um motor DC encaixotado em uma estrutura de alum´ınio s´olido e equipado com uma caixa de engrenagens planet´arias, i.e., o motor tem a sua pr´opria caixa de engrenagens internas que acionam engrenagens externas. A unidade SRV02 b´asica vem com um sensor de potenciˆometro que pode ser utilizado para medir a posi¸c˜ao angular da engrenagem de carga, tamb´em pode vir equipado com um encoder para obter a medida digital da posi¸c˜ao e um tacˆometro para medir a velocidade da engrenagem de carga. A Figura 1 mostra a estrutura do servomecanismo que ser´a utilizada nas aulas pr´aticas.

Figura 1: Servomecanismo SRV02, Quanser (2012).

O aparato experimental utilizado, o motor e a carga utilizados est˜ao mostrado na Figura 2.

Figura 2: Montagem do experimento.

Modelo do servomecanismo

O modelo matem´atico do SRV02 correspondente ao caso de engrenagens altas e carga em disco ´e como segue,

G(s) = Θl(s) Vm(s) =

K

s(τ s + 1) (1)

no qual θl(t) ´e a sa´ıdo da posi¸c˜ao que indica a medida do ˆangulo do eixo da carga e vm(t) ´e a tens˜ao de entrada no SRV02, K ´e o ganho total de malha aberta e τ ´e a constante de tempo de malha aberta do

(3)

UF

ABC

- EIA

R

- Pro

f.

Ma

gn

o

Me

za

motor. Os valores de K e τ s˜ao dados na Tabela 1, (Quanser, 2012). Tabela 1: Tabela de dados do motor.

Descri¸c˜ao S´ımbolo Valor Unidade

Ganho de estado estacion´ario de malha aberta K 1, 53 rad/(V.s) Constante de tempo de malha aberta τ 0, 0254 s

4

Tipo de compensa¸c˜

ao para um sistema de controle com

realimenta-¸c˜

ao unit´

aria

O compensador colocado em s´erie ou em cascata `a frente da planta ser´a utilizado nas aulas pr´aticas, veja Figura 3. O compensador do diagrama de blocos poder´a ser um compensador por avan¸co de fase, PD, PI, PID, realimenta¸c˜ao de estados discretos, etc.

+

P (s)

Planta

V

m

(s)

Θ

l

(s)

R(s)

E(s)

Compensador

discreto

Figura 3: Tipo de compensa¸c˜ao em s´erie ou cascata para um compensador discreto.

Especifica¸c˜oes para o controle de posi¸c˜ao do SRV02

As especifica¸c˜oes podem ser dadas para o dom´ınio do tempo ou para o dom´ınio da frequˆencia com o intuito de controlar a posi¸c˜ao do eixo de carga do SRV02.

5

Procedimentos de laborat´

orio

5.1 Simula¸c˜ao do controle de posi¸c˜ao

O diagrama do Simulink s_srv02_pos mostrado na Figura 4 ´e usado para simular a resposta da posi¸c˜ao em malha fechada do SRV02 quando usados o controle PV ou PIV. O modelo SVR02 usa o bloco Transfer Fcn da libraria do Simulink para simular o sistema SRV02 (Quanser, 2012).

(4)

UF

ABC

- EIA

R

- Pro

f.

Ma

gn

o

Me

za

Figura 4: Modelo Simulink exemplo utilizado para simular a resposta da posi¸c˜ao em malha fechada do SRV02.

5.1.1 Configura¸c˜ao para simula¸c˜ao dos controles de posi¸c˜ao Siga estes passos para configurar a simula¸c˜ao apropriadamente:

1. Carregue o software Matlab.

2. Navegue atrav´es da janela Current Directory em Matlab e localize a pasta que cont´em os arquivos dos controladores SRV02 de posi¸c˜ao, por exemplo, s_srv02_pos_d.mdl.

3. Dˆe um duplo clique no arquivo s_srv02_pos_d.mdl para abrir o diagrama Simulink mostrado na Figura 4.

4. Dˆe um duplo clique no bloco Control do arquivo s_srv02_pos_d.mdl para abrir o diagrama Si-mulink mostrado na Figura 5.

Figura 5: Diagrama de blocos no Simulink de um controle exemplo.

(5)

UF

ABC

- EIA

R

- Pro

f.

Ma

gn

o

Me

za

Figura 7: Detalhes do Rate Transition das Figuras 5 e 6.

Observa¸c˜ao: As Figuras 4, 5, 6 e 7 s˜ao exemplos ilustrativos para simples referˆencia do local no qual devem ser localizados o ganho do compensador, numerador e denominador do compensador no diagrama de blocos do Simulink. O grupo de trabalho dever´a implementar seu pr´oprio diagrama de blocos do respectivo compensador no Simulink.

5. Dˆe um duplo clique no arquivo setup_srv02_exp02_pos_d.m para abrir o script de configura¸c˜ao para os modelos de controle de posi¸c˜ao do Simulink, configure como mostrado nas Figuras 8 e 9. 6. Configurar o script de configura¸c˜ao: Os controladores ser˜ao executados no SRV02 na

configura-¸c˜ao de alta engrenagem com o disco de carga. A fim de simular o SVR02 corretamente, certifique-se que o script est´a configurado para coincidir com esta configura¸c˜ao, i.e., the EXT GEAR CONFIG deve ser definido como ‘HIGH’ e o LOAD TYPE deve ser definido como ‘DISC’. Al´em disso, verifi-que os parˆametros ENCODER TYPE, TACH OPTION, K CABLE, UPM TYPE e VMAX DAC sejam definidas de acordo com o sistema SRV02 que ´e para ser usado no laborat´orio. Em seguida, defina o CONTROL TYPE como ‘MANUAL’. Definir CONTROL TYPE = ‘AUTO PV’ para carregar os ganhos de PV que satisfa¸cam as especifica¸c˜oes ou CONTROL TYPE =‘AUTO PIV’ para carregar os ganhos PIV que satisfa¸cam as especifica¸c˜oes. Configu-rar o controle como CONTROL TYPE = ‘MANUAL’, como mostrado na Figura 8. Defina suas vari´aveis de desempenho para o projeto do compensador e o per´ıodo de amostragem T , como mostrado nas Figuras 8 e 9.

(6)

UF

ABC

- EIA

R

- Pro

f.

Ma

gn

o

Me

za

Figura 8: Configura¸c˜ao do tipo de controle.

Figura 9: Defini¸c˜ao das vari´aveis de desempenho do controle manual.

Observa¸c˜ao: As Figuras 8 e 9 s˜ao exemplos ilustrativos para simples referˆencia do local no qual de-vem ser localizados o ganho do compensador, numerador e denominador do compensador no arquivo setup_srv02_exp02_pos_d.m de configura¸c˜ao. O grupo de trabalho dever´a implementar sua pr´oprio estrutura do respectivo compensador no arquivo setup_srv02_exp02_pos_d.m. A linha 85 da Figura 9 [nc_z,dc_z,Kc]=meu_avanco(K,tau,Mp,tp,T); faz referˆencia a uma fun¸c˜ao criada denominada meu_avanco que tem como entradas os parˆametros K, tau, Mp, tp, T e como sa´ıdas [nc z,dc z,Kc] que s˜ao os coeficientes do numerador (nc z), do denominador (dc z) e o ganho do compensador (Kc). O grupo dever´a criar sua respectiva fun¸c˜ao, a qual determina os coeficientes do numerador e denominador, bem como o ganho do compensador proje-tado.

7. Execute o script selecionando o item Debug|Run na barra de menu ou clicando no bot˜ao Run na barra de ferramentas.

(7)

UF

ABC

- EIA

R

- Pro

f.

Ma

gn

o

Me

za

6

Simulando a resposta ao degrau usando compensador exemplo

A resposta da posi¸c˜ao do SRV02 em malha fechada ao degrau ser´a simulado usando os diferentes controles para confirmar que as especifica¸c˜oes em uma situa¸c˜ao ideal foram satisfeitas e verificar que o motor n˜ao est´a saturado.

Seguir estes passos para simular a resposta da posi¸c˜ao do SRV02 com algum compensador:

1. Introduzir o ganho Kc, o numerador e o denominador do compensador exemplo no bloco Controle, Figura 5.

2. Selecionar square (onda quadrada) na ´area Signal Type do Gerador de Sinais do SRV02 para gerar uma referˆencia degrau.

3. Defina a Amplitude (rad) do bloco de ganho no valor de π/4 e o frequˆencia de 0, 1 Hz para gerar um degrau com uma amplitude de 90 graus.

4. Abrir o scope da posi¸c˜ao do eixo da carga, theta_l (rad) e o scope da tens˜ao de entrada do motor, Vm (V).

5. Inicie a simula¸c˜ao. Por padr˜ao, a simula¸c˜ao ´e executada por 5 segundos, modifique esse valor para 20 s. Os scopes devem exibir respostas semelhantes `as mostradas na Figura 10. Note que o scope de theta_l (rad), o tra¸co claro ´e o sinal de referˆencia da posi¸c˜ao, enquanto que o tra¸co escuro ´e a simula¸c˜ao da posi¸c˜ao (gerado pelo bloco do modelo do SRV02). Esta simula¸c˜ao ´e denominada a resposta ideal do compensador exemplo.

Figura 10: Resposta ideal da posi¸c˜ao com compensador exemplo. Tens˜ao ideal de entrada do motor com compensador exemplo.

6. Gere uma figura em Matlab mostrando a resposta da posi¸c˜ao ideal com o compensador exemplo e a tens˜ao de entrada ideal e anex´a-las ao seu relat´orio. Depois de cada simula¸c˜ao executada, cada scope salva automaticamente suas respostas em uma vari´avel no workspace no Matlab. Isto ´e, o scope theta_l (rad) salva sua resposta na vari´avel denominada data_pos e o scope Vm (V) salva seus dados na vari´avel data_vm. A vari´avel data_pos tem a seguinte estrutura: data_pos(:,1) ´e o vetor do tempo, data_pos(:,2) ´e o setpoint, e data_pos(:,3) ´e o ˆangulo simulado. Para a vari´avel data_vm, data_vm(:,1) ´e o tempo e data_vm(:,2) ´e a tens˜ao de entrada simulada. O grupo pode utilizar os Scripts Matlab 1 e 2 referenciados na se¸c˜ao 8 deste manual.

(8)

UF

ABC

- EIA

R

- Pro

f.

Ma

gn

o

Me

za

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 −0.5 0 0.5 θ e Referência [rad] 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 −10 −5 0 5 10 Tensão V m [V] Tempo [s]

Figura 11: Resposta ideal da posi¸c˜ao em malha fechada com compensador exemplo.

7. Medir o erro de estado estacion´ario, a porcentagem do m´aximo sobressinal e o tempo de pico da resposta simulada. A resposta satisfaz as especifica¸c˜oes dadas na se¸c˜ao 4?

8. Ao implementar um controlador em hardware real geralmente n˜ao ´e aconselhado a tomar a derivada direta de um sinal medido. Por exemplo, quando se toma a derivada do codificador do SRV02 ou sinal do potenci´ometro qualquer ru´ıdo ou picos no sinal tornam-se amplificados. Este, em seguida, ´e multiplicado por um ganho e alimentado para o motor que pode levar a danos. Para remover quaisquer componentes de alta frequˆencia no sinal de velocidade, um filtro passa-baixo ´e colocado em s´erie com a derivada, i.e., tomando as componentes altas do sinal medido. No entanto, como com um controlador, o filtro deve ser sintonizado de forma adequada para n˜ao ter alguns efeitos adversos.

9. Medir o erro de estado estacion´ario, o tempo de pico, o tempo de assentamento e percentual de sobressinal. As especifica¸c˜oes ainda s˜ao satisfeitas sem saturar o atuador? Lembrando que, o tempo de assentamento e o percentual de sobressinal n˜ao deve exceder os valores dados na se¸c˜ao 4. Discutir as mudan¸cas que foram percebidas a partir da resposta ideal.

7

Implementa¸c˜

ao do controle de posi¸c˜

ao

O diagrama no Simulink q_srv02_pos mostrado na Figura 12 ´e usado usado para executar os exerc´ıcios de controle de posi¸c˜ao nesta aula pr´atica. O subsistema SRV02-ET cont´em os blocos QuaRC que fazem interface com o motor DC e os sensores do sistema SRV02. O subsistema Controle implementa o controle exemplo (Quanser, 2012).

(9)

UF

ABC

- EIA

R

- Pro

f.

Ma

gn

o

Me

za

Figura 12: Modelo no Simulink usado com o QuaRC para executar os controladores de posi¸c˜ao exemplo no SRV02.

7.1 Configura¸c˜ao para implementa¸c˜ao do controle de posi¸c˜ao

Antes de iniciar os exerc´ıcios de laborat´orio no dispositivo SRV02, o diagrama no Simulink q_srv02_pos e o script setup_srv02_exp02_pos devem ser configurados.

Siga estes passos para obter o sistema pronto para esta aula pr´atica:

1. Configurar o SRV02 na configura¸c˜ao de alta engrenagem e com a carga do disco. 2. Carregue o software Matlab.

3. Navegue atrav´es da janela Current Directory no Matlab e localize a pasta que cont´em os arquivos de controle SRV02 posi¸c˜ao, e.g., q_srv02_pos.mdl.

4. Dˆe um duplo clique no arquivo q_srv02_pos.mdl para abrir o diagrama Position Control Simulink mostrado na Figura 12.

5. Configurar DAQ: Dˆe um duplo clique sobre o bloco HIL Initialize no subsistema SRV02-ET (que est´a localizado dentro do subsistema de Posi¸c˜ao SRV02-ET) e garanta que est´a configurado para o dispositivo DAQ que est´a instalado no seu sistema. Por exemplo, o bloco mostrado na Figura 12 ´e configurado para a placa Q4 da Quanser hardware-in-the-loop.

6. Configurar Sensor: A posi¸c˜ao do eixo de carga pode ser medido utilizando v´arios sensores. Ajuste o bloco fonte Pos Src no q_srv02_pos, como mostrado na Figura 12 como segue:

• 1 para usar o potenci´ometro • 2 para usar o encoder

Note-se que, quando se utiliza o potenci´ometro, haver´a uma descontinuidade.

(10)

UF

ABC

- EIA

R

- Pro

f.

Ma

gn

o

Me

za

7.2 Implementa¸c˜ao da Resposta ao degrau usando controle exemplo

Nesta aula pr´atica, a posi¸c˜ao angular do eixo de carga do SRV02, isto ´e, a carga do disco, ir´a ser controlada usando o controle exemplo desenvolvido. As medi¸c˜oes ser˜ao ent˜ao tomadas para assegurar que as especifica¸c˜oes foram satisfeitas.

Siga os passos abaixo:

1. Execute o script setup_srv02_exp02_pos.m.

2. Digite o ganho Kc, o numerador e o denominador do controle exemplo, conforme mostrado nas Figuras 8 e 9.

3. Definir o Signal Type no Gerador de Sinal no SRV02 para square para gerar uma referˆencia degrau. 4. Definir o bloco de ganho para a Amplitude (rad) no valor de π/4 para gerar um degrau com uma

amplitude de 90 graus.

5. Abrir o scope da posi¸c˜ao do eixo da carga, theta_l (rad) e no scope da tens˜ao de entrada do motor, Vm (V).

6. Clique em QuaRC|Build para compilar o diagrama no Simulink.

7. Selecionar QuaRC|Start para come¸car a executar o controlador. Os scopes dever˜ao exibir respostas semelhantes `a Figura 13. Note-se que, no scope theta_l (rad), o tra¸co claro ´e a referˆencia da posi¸c˜ao enquanto que o tra¸co escuro ´e a posi¸c˜ao medida.

Figura 13: Resposta ao degrau medido com controle exemplo. Tens˜ao de entrada controle exemplo.

8. Quando uma resposta adequada ´e obtida, clique no bot˜ao Stop na barra de ferramentas do diagrama no Simulink (ou selecione QuaRC|Stop a partir do menu) para interromper a execu¸c˜ao do c´odigo. Gerar uma figura no Matlab mostrando a resposta de posi¸c˜ao do controle exemplo e sua tens˜ao de entrada. Anex´a-las ao seu relat´orio. Como no diagrama Simulink s_srv02_pos, quando o controlador ´e detido cada escopo salva automaticamente a sua resposta em uma vari´avel no espa¸co de trabalho do Matlab. Assim, o scope theta_l (rad) salva sua resposta na vari´avel data_pos e o scope Vm (V) salva seus dados na vari´avel data_vm.

Solu¸c˜ao: A medida da resposta ao degrau da posi¸c˜ao do SRV02 quando se utiliza o controle exemplo ´e mostrado na Figura 14. Para salvar todos os dados do Workspace pode ser utilizado o comando save algum_nome_para_arquivo, no qual algum_nome_para_arquivo ´e o nome do arquivo .mat onde ´e salvo todos os dados da implementa¸c˜ao do controle exemplo. Para recuperar todos os dados armazenados no arquivo algum_nome_para_arquivo.mat executar o comando load algum_nome_para_arquivo na janela de Command Window do Matlab.

(11)

UF

ABC

- EIA

R

- Pro

f.

Ma

gn

o

Me

za

(b) Executar o modelo Simulink q_srv02_pos at´e que uma resposta quase preencha os scopes, parar a execu¸c˜ao antes do scope ser preenchido para n˜ao perder dados.

(c) Parar o QuaRC.

(d) Verificar se os dados data_pos e data_vm contˆem os dados da implementa¸c˜ao do controle exemplo.

(e) Salvar todos os dados do Workspace. O comando do MATLAB para salvar todos os dados do Workspace em um arquivo “.mat” ´e como segue:

save nome_do_grupo_para_os_dados.mat

(f) Recuperar todos os dados do Workspace. O comando do MATLAB para recuperar todos os dados do Workspace do arquivo “.mat” ´e como segue:

load nome_do_grupo_para_os_dados.mat

Figura 14: Medida da resposta ao degrau do SRV02 com PV.

9. Medir o erro de estado estacion´ario, o porcentual do sobressinal e o tempo de pico do eixo da carga do SRV02. Ser´a que a resposta satisfaz as especifica¸c˜oes previstas na Se¸c˜ao 4?

10. Assegure-se que o QuaRC esteja detido.

(12)

UF

ABC

- EIA

R

- Pro

f.

Ma

gn

o

Me

za

8

Scripts Matlab

Script Matlab 1: Programa para plotar dados de simula¸c˜ao e implementa¸c˜ao.

close all;

figure(1)

plot(data_pos(:,1),data_pos(:,2)*180/pi,'b',data_pos(:,1),data_pos(:,3)*180/pi,'r'); Mp=(max(theta)*180/pi-max(ref)*180/pi)/(max(ref)*180/pi)*100

legend('Ref','\theta')

ylabel('\theta e Referência [graus]'); grid; size_font figure(2) plot(data_vm(:,1),data_vm(:,2)); title('Tensão V_m [V]') ylabel('Tensão V_m [V]'); xlabel('Tempo [s]') grid; size_font

Script Matlab 2: Programa auxiliar para plotar dados de simula¸c˜ao e implementa¸c˜ao. % Estabele a posição da figura, a largura e comprimento

% set(gcf, 'units','normalized','outerposition',[0 0 1 1]);

set(gcf, 'Units','centimeters', 'Position',[2 3 56 42]/2)

% Estabelece tamanho da fonte do título e etiqueta dos eixos

set(findall(gcf,'Type','text'),'FontSize',15)

% Estabelece espessura linha e cor dos dados

set(findall(gcf,'Type','line'),'LineWidth',3)

% Estabelece tamanho fonte etiqueta eixos, cor e espessura linhas

set(findall(gcf,'Type','axes'),'FontSize',14,'LineWidth',3,'XColor',...

'black','YColor','black')

Para plotar os dados angulares em graus ´e necess´ario fazer a convers˜ao de rad para graus, multiplicando data_pos(:,2) e data_pos(:,3) vezes 180/π.

Referˆ

encias

Quanser, Rotary Experiment 02: Position Control, Quanser Innovate Educate, SRV02 Position Controle using QuaRC, 2012.

Referências

Documentos relacionados

Os estudos originais encontrados entre janeiro de 2007 e dezembro de 2017 foram selecionados de acordo com os seguintes critérios de inclusão: obtenção de valores de

pontos de transferências modais mais estratégicos e mais importantes. Uma análise que se pretende útil para o planejamento de investimentos ou medidas de controle para mitigar a

This study evaluated specifically the sensitivity of primordial follicles to in vitro preservation conditions and showed that the storage of ovarian fragments in 0.9% saline

Pesos nas variáveis controladas (W): são utilizadas para normalizar, compatibilizar as faixas das medições e principalmente para priorizar as variáveis controladas

Entendemos, assim, que é oportuna a ideia de institucionalizar, também do Brasil, a figura do paralegal, permitindo a milhares de bacharéis em Direito aperfeiçoar seus

Ara bé: sé del cert que jo existeixo i sé també que totes les imatges (i, en general, totes les coses que es refereixen a la naturalesa dels cossos) potser són només somnis

Gatos: a dose recomendada por via oral é de 25 mg/kg de peso corporal, ou seja, 1 comprimido contendo 50mg de cefadroxil para cada 2 kg de peso, em dose única diária.. Em ambas

ensino superior como um todo e para o curso específico; desenho do projeto: a identidade da educação a distância; equipe profissional multidisciplinar;comunicação/interatividade