Hugo Tanza Rella Teixeira

67
UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO CENTRO TECNOLÓGICO DEPARTAMENTO DE ENGENHARIA ELÉTRICA PROJETO DE GRADUAÇÃO DESENVOLVIMENTO DE UM AMBIENTE DE CONTROLE E MONITORAMENTO EM TEMPO REAL USANDO O MATLAB E A PLACA DE AQUISIÇÃO NUDAQ PCI-9112 HUGO TANZARELLA TEIXEIRA VITÓRIA – ES Agosto/2008

Transcript of Hugo Tanza Rella Teixeira

Page 1: Hugo Tanza Rella Teixeira

UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO

CENTRO TECNOLÓGICO DEPARTAMENTO DE ENGENHARIA ELÉTRICA

PROJETO DE GRADUAÇÃO

DESENVOLVIMENTO DE UM AMBIENTE DE CONTROLE E MONITORAMENTO EM TEMPO REAL

USANDO O MATLAB E A PLACA DE AQUISIÇÃO NUDAQ PCI-9112

HUGO TANZARELLA TEIXEIRA

VITÓRIA – ES Agosto/2008

Page 2: Hugo Tanza Rella Teixeira

HUGO TANZARELLA TEIXEIRA

DESENVOLVIMENTO DE UM AMBIENTE DE CONTROLE E MONITORAMENTO EM TEMPO REAL

USANDO O MATLAB E A PLACA DE AQUISIÇÃO NUDAQ PCI-9112

Parte manuscrita do Projeto de Graduação do aluno Hugo Tanzarella Teixeira, apresentado ao Departamento de Engenharia Elétrica do Centro Tecnológico da Universidade Federal do Espírito Santo, para obtenção do grau de Engenheiro Eletricista.

VITÓRIA – ES Agosto/2008

Page 3: Hugo Tanza Rella Teixeira

HUGO TANZARELLA TEIXEIRA

DESENVOLVIMENTO DE UM AMBIENTE DE CONTROLE

E MONITORAMENTO EM TEMPO REAL USANDO O MATLAB E A PLACA DE AQUISIÇÃO

NUDAQ PCI-9112

COMISSÃO EXAMINADORA: ___________________________________ Prof. Dr. José Leandro Félix Salles Orientador ___________________________________ Prof. Dr. Celso José Munaro Examinador ___________________________________ Prof. Dr. Alessandro Mattedi Examinador

Vitória - ES, 27, Agosto, 2008

Page 4: Hugo Tanza Rella Teixeira

i

DEDICATÓRIA

Aos meus pais, C. Giovani C.Teixeira e Grazzia Tanzarella, por fazerem acontecer.

Page 5: Hugo Tanza Rella Teixeira

ii

AGRADECIMENTOS

Agradeço ao professor José Leandro pelas idéias e orientação.

Agradeço aos amigos, André Roussey pela parceria durante todo o projeto e

pela troca constante de idéias, Gustavo Mariotto pela ajuda com a criação da interface

gráfica, Ricardo Lempke pelo pontapé inicial, Renato Rocha pelo apoio logístico,

Matheus Oggioni pelas invencionices, Fabio Rodrigues pelo apoio cinematográfico, ao

Daniel Bozi um agradecimento especial pela ajuda com toda a montagem necessária

ao projeto.

Um agradecimento especial também à minha namorada Tatiana Piotz, que

além de dar apoio, contribuiu significativamente com boas idéias ao projeto.

Page 6: Hugo Tanza Rella Teixeira

iii

LISTA DE FIGURAS

Figura 1 – Representação da planta. ............................................................................ 11

Figura 2 – Layout da placa NuDAQ PCI-9112 ........................................................... 12

Figura 3 – Disposição de pinos do CN3 (Canais analógicos). .................................... 13

Figura 4 – Disposição de pinos do CN1 (Entrada Digital) e CN2 (Saída Digital). ..... 14

Figura 5 – Disposição de pinos do adaptador para as portas digitais. ......................... 14

Figura 6 – Diagrama de fluxo do algoritmo de tempo real. ........................................ 18

Figura 7 – Interface Gráfica com o usuário para controle de posição ou velocidade. 23

Figura 8 – Interface Gráfica com o usuário para controle de nível. ............................ 23

Figura 9 – Interface para gerar os gráficos do processo. ............................................. 24

Figura 10 – Esquemático da fonte de tensão. .............................................................. 25

Figura 11 – Seguidores de tensão. ............................................................................... 26

Figura 12 – Circuito amplificador diferença ............................................................... 26

Figura 13 – Circuito amplificador-não-inversor .......................................................... 27

Figura 14 – Circuito da saída analógica. ..................................................................... 27

Figura 15 – Placa de circuito impresso do módulo de comunicação. .......................... 28

Figura 16 – Detalhe dos conectores para a placa e os bornes. ..................................... 28

Figura 17 – Frente do módulo de comunicação........................................................... 28

Figura 18 – Relação de pinos dos cabos digital e analógico do módulo de

comunicação. ............................................................................................................... 29

Figura 19 – Circuito de acionamento do Motor CC. ................................................... 29

Figura 20 – Circuito de alimentação do potenciômetro. ............................................. 30

Figura 21 – Representação do sensor capacitivo. ........................................................ 31

Figura 22 – Circuito para o sensor capacitivo. ............................................................ 31

Figura 23 – Gráfico de tensão do sensor capacitivo. ................................................... 32

Figura 24 – Conversão de Tensão do sensor capacitivo para Nível de água............... 34

Figura 25 – Resposta do sensor capacitivo com amplificação na região de 20 a 30

cm. ................................................................................................................................ 36

Figura 26 – Planta para controle de velocidade. .......................................................... 37

Figura 27 – Diagrama de blocos do sistema de controle. ............................................ 38

Page 7: Hugo Tanza Rella Teixeira

iv

Figura 28 – Resposta a um degrau de um sistema de primeira ordem. ....................... 38

Figura 29 – Resposta a um degrau da planta de controle de velocidade. .................... 39

Figura 30 – PID tipo ISA. ............................................................................................ 40

Figura 31 – Resposta a um degrau com controlador PID. ........................................... 41

Figura 32 – Freio magnético e motor CC. ................................................................... 42

Figura 33 – Resposta do sistema a perturbação externa. ............................................. 42

Figura 34 – Atuação do sinal de controle no sistema. ................................................. 43

Figura 35 – Efeito das ações de controle no sinal de controle. ................................... 43

Figura 36 – Controle proporcional de nível. ................................................................ 45

Figura 37 – Resposta a um degrau da planta de controle de nível. ............................. 46

Figura 38 – Resposta do sistema a perturbação externa (aumento da vazão de

entrada). ....................................................................................................................... 47

Figura 39 – Resposta do sistema a perturbação externa (vazão de entrada nula). ...... 47

Figura 40 – Tela inicial da ferramenta GUIDE. .......................................................... 60

Figura 41 – Interface de criação da ferramenta GUIDE. ............................................. 60

Figura 42 – Menu dos objetos gráficos disponíveis. ................................................... 61

Figura 43 – Propriedades dos objetos gráficos. ........................................................... 64

Page 8: Hugo Tanza Rella Teixeira

v

LISTA DE TABELA

Tabela 1 – Relação de pinos para os circuitos de entrada e saída. .............................. 28

Tabela 2 – Tensões medidas no ensaio da válvula. ..................................................... 30

Tabela 3 – Valores de tensão obtidos no sensor capacitivo. ....................................... 33

Tabela 4 – Valores de tensão obtidos no sensor capacitivo com circuito

amplificador. ................................................................................................................ 35

Page 9: Hugo Tanza Rella Teixeira

vi

SIMBOLOGIA

LECO – Laboratório de Ensino de Controle

PID – Proporcional-Integral-Derivativo

GUIDE – Graphical User Interface development environment

Page 10: Hugo Tanza Rella Teixeira

vii

SUMÁRIO

DEDICATÓRIA ........................................................................................................... I

AGRADECIMENTOS .............................................................................................. II

LISTA DE FIGURAS ............................................................................................... III

LISTA DE TABELA .................................................................................................. V

SIMBOLOGIA .......................................................................................................... VI

SUMÁRIO ................................................................................................................ VII

RESUMO ................................................................................................................... IX

1 INTRODUÇÃO .............................................................................................. 10

2 O SOFTWARE ............................................................................................... 12

2.1 Introdução ......................................................................................................... 12

2.2 A placa de aquisição de dados NuDAQ PCI-9112 ........................................... 12

2.2.1 Entrada analógica .................................................................................... 13

2.2.2 Saída analógica ........................................................................................ 13

2.2.3 Entrada e saída digitais ............................................................................ 14

2.3 Toolbox DAQ-MTLB ....................................................................................... 15

2.3.1 Funções de verificação de hardware ....................................................... 15

2.3.1.1 daqhwinfo ................................................................................... 15

2.3.2 Funções de entrada analógica .................................................................. 15

2.3.2.1 analoginput ................................................................................. 15

2.3.2.2 addchannel .................................................................................. 15

2.3.2.3 getsample .................................................................................... 16

2.3.3 Funções de saída analógica ..................................................................... 16

2.3.3.1 analogoutput ............................................................................... 16

2.3.3.2 addchannel .................................................................................. 16

2.3.3.3 putsample ................................................................................... 16

2.3.4 Funções de entrada e saída digitais ......................................................... 16

2.3.4.1 digitalio ....................................................................................... 16

2.3.4.2 addline ........................................................................................ 17

2.3.4.3 getvalue ...................................................................................... 17

Page 11: Hugo Tanza Rella Teixeira

viii

2.3.4.4 putvalue ...................................................................................... 17

2.4 O algoritmo de Controle ................................................................................... 17

2.4.1 O tempo de Amostragem ......................................................................... 21

2.5 Interface gráfica ................................................................................................ 22

3 O HARDWARE .............................................................................................. 25

3.1 Introdução ......................................................................................................... 25

3.2 Módulo de comunicação ................................................................................... 25

3.2.1 Testes para o funcionamento o módulo ................................................... 29

3.3 Circuitos de acionamento da válvula ................................................................ 29

3.4 Circuitos do Sensor capacitivo .......................................................................... 30

3.4.1 Testes para o funcionamento do sensor ................................................... 31

4 RESULTADOS OBTIDOS ............................................................................ 37

4.1 Introdução ......................................................................................................... 37

4.2 Controle de velocidade ..................................................................................... 37

4.2.1 Modelagem .............................................................................................. 38

4.2.2 Controle ................................................................................................... 39

4.3 Controle de nível ............................................................................................... 44

5 CONCLUSÃO ................................................................................................ 48

REFERÊNCIAS BIBLIOGRÁFICAS ..................................................................... 49

APÊNDICE A – ALGORITMO DE SEGURANÇA DO MOTOR CC ............... 50

APÊNDICE B – ALGORITMO DE CONTROLE ................................................ 51

APÊNDICE C – UTILIZANDO O GUIDE............................................................. 60

Page 12: Hugo Tanza Rella Teixeira

ix

RESUMO

Este projeto tem como principal objetivo o desenvolvimento de uma solução

em MATLAB que permita o controle de um processo em tempo real utilizando a placa

de aquisição de dados NuDAQ PCI-9112. Para tanto foram desenvolvidos, uma

interface gráfica para tornar o controle do processo mais amigável para o usuário e um

módulo de comunicação entre a placa de aquisição e a planta a ser controlada. Foram

feitos testes no sistema com controle de nível de um tanque e com controle de

velocidade de um motor CC.

Page 13: Hugo Tanza Rella Teixeira

10

1 INTRODUÇÃO

Atualmente no LECO utiliza-se o SIMULINK e a placa de aquisição de dados

NuDAQ PCI-9112 da Adlink, em conjunto com a biblioteca DASKLIB que faz a

interface lógica entre eles, tal interface foi desenvolvida por Haddad [1] e é usada para

fazer o controle das plantas do kit didático DC servo trainer ED-4400B da Langlois,

no entanto, tal controle é feito em tempo não-real.

Com o intuito de realizar controle em tempo real, inicialmente buscou-se a

biblioteca Real Time Windows Target [4] do MATLAB/SIMULINK. Os resultados

obtidos foram negativos, por não haver compatibilidade entre a biblioteca e a placa de

aquisição de dados. Como alternativa a esse problema, propôs-se a criação de uma

interface com o usuário somente no MATLAB, sem o SIMULINK, que permitisse o

controle de processos em tempo real. A criação do algoritmo por trás da interface só

foi possível com o toolbox DAQ-MTLB disponibilizado pela Adlink [5],

possibilitando a execução de todas as funções de entrada e saída, analógica e digital da

placa NuDAQ PCI-9112 pelo MATLAB.

Para facilitar a comunicação entre a planta e a placa de aquisição e garantir

alguma segurança, construiu-se um módulo de comunicação, onde estão disponíveis

através de bornes quatro entradas analógicas, duas saídas analógicas, quatro entradas

digitais e quatro saídas digitais.

Como forma de validar o funcionamento da interface criada propôs-se o

controle de nível de um tanque, desenvolvido e aprimorado em projetos anteriores [2]

e [3]. A planta consiste em um tanque de acrílico com base quadrada de arestas de 20

cm e 39 cm de altura. Nele há duas válvulas atuando, sendo a de entrada manual e a de

saída controlada automaticamente. Dentro do tanque foi instalado o sensor capacitivo,

desenvolvido por Araújo [6], para controle de nível. A representação da planta pode é

vista na Figura 1.

Page 14: Hugo Tanza Rella Teixeira

11

Figura 1 – Representação da planta.

Foram feitos também a modelagem e controle de velocidade do motor CC do

kit didático DC servo trainer ED-4400B.

No capítulo 2 serão discutidos todos os aspectos do software desenvolvido

para realizar o controle em tempo real no MATLAB.

O capítulo 3 tratará do hardware e os circuitos eletrônicos implementados.

No capítulo 4 serão apresentados os resultados dos testes com o algoritmo de

controle e no capítulo 5 as conclusões do projeto.

Page 15: Hugo Tanza Rella Teixeira

12

2 O SOFTWARE

2.1 Introdução

Compreende o desenvolvimento do programa que faz a comunicação entre a

placa de aquisição e o MATLAB, mais o algoritmo de controle PID em tempo real, e a

implementação da interface gráfica que permite a visualização de gráficos em tempo

real do set point e da variável de saída e a inserção dos parâmetros de controle. Para

tanto utilizou-se a placa NuDAQ PCI-9112, para aquisição de dados, em conjunto com

o toolbox DAQ-MTLB para o MATLAB, ambos da Adlink.

2.2 A placa de aquisição de dados NuDAQ PCI-9112

A NuDAQ PCI-9112 possui:

• 16 entradas analógicas;

• 2 saídas analógicas;

• Resolução de 12 bits para as portas analógicas;

• Canais analógicos configuráveis em unipolar ou bipolar;

• Taxa de amostragem de até 110 kHz;

• 16 entradas digitais;

• 16 saídas digitais.

O layout da placa é mostrado na Figura 2.

Figura 2 – Layout da placa NuDAQ PCI-9112

Onde, CN1 é a porta de canais de entrada digital, CN2 a porta de canais de

saída digital e CN3 a porta de canais de entrada e saída analógica.

Page 16: Hugo Tanza Rella Teixeira

13

2.2.1 Entrada analógica

A entrada analógica conta com um conversor de aproximação sucessiva

(ADS774) de resolução de 12 bits. Estão disponíveis na placa 16 entradas analógicas,

com amplitude podendo ser configurada em ± 10V, ± 5V, ± 2,5V, ± 1,25V, ± 0,625V,

se estiverem na forma bipolar, ou em 0~10V, 0~5V, 0~2,5V, 0~1,25V, se estiverem na

forma unipolar. Para o projeto utiliza-se a forma bipolar na configuração ± 10V. As

entradas analógicas possuem uma proteção contra sobre tensão continua de até ± 35V

e uma impedância de entrada de 10MΩ.

2.2.2 Saída analógica

A placa possui dois canais de saída analógica, também com 12 bits de

resolução. A amplitude da saída pode ser configurada com referência interna de 0~5V

e 0~10V ou com referência externa de +10V ou -10V. Configuradas em 0~10V com

referência interna. A saída analógica possui uma capacidade de fornecimento muito

limitada, de apenas ± 5mA.

A disposição dos canais analógicos na placa pode ser observada na Figura 3.

Figura 3 – Disposição de pinos do CN3 (Canais analógicos).

AI n: Entrada analógica Canal n.

AO n: Saída analógica Canal n.

A.GND: Terra analógico.

Page 17: Hugo Tanza Rella Teixeira

14

2.2.3 Entrada e saída digitais

As 16 entradas e 16 saídas digitais são compatíveis com TTL com os níveis

lógicos bem definidos, no entanto possui uma capacidade reduzida para drenar e

fornecer corrente, em torno de 0,8mA de fornecimento e 20mA de dreno.

As entradas e saídas digitais são fornecidos em duas portas diferentes, como

pode ser visto na Figura 2, na Figura 4 está a relação de pinos de ambos as portas.

Figura 4 – Disposição de pinos do CN1 (Entrada Digital) e CN2 (Saída Digital).

DI n: Entrada digital Canal n.

DO n: Saída digital Canal n.

GND: Terra digital.

Devido ao difícil acesso aos canais digitais, foi feito uma adaptação dos canais

digitais para uma saída DB25, disponibilizando apenas 12 canais de entrada e 12 de

saída, como observado na Figura 5.

Figura 5 – Disposição de pinos do adaptador para as portas digitais.

Page 18: Hugo Tanza Rella Teixeira

15

2.3 Toolbox DAQ-MTLB

Para criar um algoritmo em MATLAB que realizasse o controle de uma planta

em tempo real seria necessário acessar as funcionalidades de entrada e saída, analógico

e digital da placa através do MATLAB, isso se tornou possível com o toolbox DAQ-

MTLB, com uma série de funções do MATLAB para as placas da série NuDAQ.

Nos próximos itens serão descritas as funções utilizadas no algoritmo criado.

2.3.1 Funções de verificação de hardware

2.3.1.1 daqhwinfo

Sintaxe:

out = daqhwinfo

Descrição:

Retorna a estrutura que contém as informações dos hardwares de aquisição de

dados instalados.

Fazendo out.InstalledAdaptors obtém-se os dispositivos de aquisição de dados

instalados.

2.3.2 Funções de entrada analógica

2.3.2.1 analoginput

Sintaxe:

ai = analoginput(‘dispositivo’)

Descrição:

Cria um objeto (ai) de entrada analógica.

2.3.2.2 addchannel

Sintaxe:

ch = addchannel(obj,ch_n)

Descrição:

Adiciona um canal especifico (ch_n) de entrada analógica ao objeto (obj).

Page 19: Hugo Tanza Rella Teixeira

16

2.3.2.3 getsample

Sintaxe:

sample = getsample(obj)

Descrição:

Adquire e retorna o valor de tensão no canal de entrada analógica.

2.3.3 Funções de saída analógica

2.3.3.1 analogoutput

Sintaxe:

ao = analogoutput(‘dispositivo’)

Descrição:

Cria um objeto (ao) de saída analógica.

2.3.3.2 addchannel

Sintaxe:

ch = addchannel(obj,ch_n)

Descrição:

Adiciona um canal especifico (ch_n) de saída analógica ao objeto (obj).

2.3.3.3 putsample

Sintaxe:

putsample(obj,data)

Descrição:

Atualiza o valor de tensão nos canais de saída analógica.

2.3.4 Funções de entrada e saída digitais

2.3.4.1 digitalio

Sintaxe:

dio = digitalio(‘dispositivo’)

Page 20: Hugo Tanza Rella Teixeira

17

Descrição:

Cria um objeto (dio) de entrada e saída digital.

2.3.4.2 addline

Sintaxe:

line = addline(obj,line_n,port,direção)

Descrição:

Adiciona um canal (line_n) à porta especificada (port) para entrada (direção =

‘in’) ou saída (direção = ‘out’) digital .

2.3.4.3 getvalue

Sintaxe:

value = getvalue(obj)

Descrição:

Lê o sinal do canal de entrada digital.

2.3.4.4 putvalue

Sintaxe:

putvalue(obj,value)

Descrição:

Escreve o valor especificado (value) no canal de saída digital.

2.4 O algoritmo de Controle

O algoritmo que possibilita o controle pelo MATLAB em tempo real baseia-se

nas funções de cronômetro do MATLAB, (tic e toc), onde tic inicia a contagem do

cronômetro no instante que é executada, e toc armazena o tempo gasto entre sua

execução e a da função toc, em conjunto com a função while que executará um loop

durante o tempo estabelecido pelo usuário.

A Figura 6 mostra o diagrama de fluxo do algoritmo de controle em tempo

real. Para simplificar seu entendimento de uma forma geral. Em seguida serão

Page 21: Hugo Tanza Rella Teixeira

18

mostrados alguns trechos do algoritmo criado para o controle de velocidade, e

explicações mais detalhadas.

TICTIC

TOC ≤ tempoTOC ≤ tempo

Verifica se o tempo atual é menor que o tempo determinado pelo usuário.

As variáveis do processo são atualizadas

As variáveis do processo são atualizadas

SimSim

O gráfico éatualizadoO gráfico éatualizado

Cálculo do PID

Cálculo do PID

As variáveis do estado anterior recebem os

valores do estado atual

As variáveis do estado anterior recebem os

valores do estado atual

Fim do programaFim do programa Não

Inicia a contagem de tempo

Início do programaInício do programa

Inicialização da placaNuDAQ PCI-9112

Inicialização da placaNuDAQ PCI-9112

O usuário determina o tempo de execução

do processo

O usuário determina o tempo de execução

do processo

Figura 6 – Diagrama de fluxo do algoritmo de tempo real.

Page 22: Hugo Tanza Rella Teixeira

19

O programa é iniciado e o primeiro passo é executar a inicialização da placa

de aquisição.

Então é definido o tempo de execução do processo, dado pelo usuário.

São definidas as variáveis de controle utilizadas no algoritmo. ‘spi’ recebe o

valor do set point inicial definido pelo usuário através da interface gráfica e ‘tensaoi’

recebe o valor de tensão inicial referente à velocidade do motor, através da entrada

analógica, no instante inicial do processo.

A função tic é executada iniciando a contagem de tempo, em seguida inicia-se

o loop que será executado enquanto ‘tf’ for menor que ‘tempo’, definido pelo usuário.

‘tf’ é atualizada com o valor instantâneo do tempo e é feito o cálculo do tempo de

amostragem, que é variável pois depende do tempo que o MATLAB gasta para

realizar as operações dentro do loop.

Page 23: Hugo Tanza Rella Teixeira

20

O gráfico da interface é limpo a cada 10 segundos para evitar sobrecarga da

memória, consumindo, então processamento do algoritmo, causando a aumento do

tempo de amostragem.

As variáveis do processo são atualizadas, ‘spf’ recebe o valor instantâneo do

set point fornecido pelo usuário à interface gráfica, ‘tensaof’ é atualizado com o valor

de tensão referente à velocidade do motor. As conversões necessárias de volts para

RPM e também o contrário são feitas.

O gráfico da interface é atualizado.

É feito o cálculo do sinal de controle, a integral e a derivada são calculadas

numericamente e o sinal de controle é enviado para a planta através da saída analógica.

Devido à saída analógica fornecer apenas valores de 0 a 10V, para adequar a saída às

modificações de tensão feito pelo modulo de comunicação é necessário uma conversão

de valor antes de enviar o sinal de controle para a planta.

Page 24: Hugo Tanza Rella Teixeira

21

Para o cálculo do PID e para atualização do gráfico do processo é necessário

sempre dois estados do processo, o atual e o anterior. Portanto antes do fim da rotina

do loop, as variáveis do estado anterior recebem os valores das variáveis do estado

atual e o programa retorna para o inicio do loop.

2.4.1 O tempo de Amostragem

Devido ao tempo de amostragem obtido com o programa criado varia com o

processamento de cada computador, pois o tempo de amostragem será o tempo gasto

pelo Matlab para executar cada iteração do loop do algoritmo descrito, o que torna o

tempo de amostragem variável também na execução do programa.

Com os testes realizados o tempo de amostragem obtido foi em média 40 ms,

no entanto, caso seja desabilitado o gráfico que mostra a situação do processo, esse

tempo de amostragem chega a cair para menos de 10 ms.

Um sistema computacional é considerado como um sistema em tempo real se

ele processar os cálculos em períodos de amostragem bem menores que a dinâmica da

planta, ou seja a sua constante de tempo deve ser grande em relação ao tempo de

amostragem obtido. No caso do motor, o tempo de subida à entrada degrau é

aproximadamente 200 ms, o que garante que o controlador implementado seja em

tempo real para o Kit do Laboratório e também para o nível do tanque, já que o seu

tempo de subida é de pelo menos 1 seg.

Page 25: Hugo Tanza Rella Teixeira

22

2.5 Interface gráfica

Foram desenvolvidas duas interfaces gráficas para facilitar a comunicação

entre o usuário e o algoritmo de controle, uma para o controle de posição ou de

velocidade, utilizando o kit DC servo trainer ED-4400B, Figura 7, e outra para o

controle de nível do tanque, Figura 8.

No menu ‘Entradas’, comum às duas interfaces, é possível ao usuário definir o

tempo de execução do processo, em segundos ou minutos, o set point pode ser alterado

em qualquer instante da execução do processo.

Na interface para controle de posição ou de velocidade há um menu chamado

‘Planta’ onde o usuário decide qual tipo de planta irá controlar, no caso da escolha ter

sido o controle de posição ele pode optar por visualizar o gráfico em coordenadas

escalares ou polares, caso tenha escolhido controle de velocidade o usuário pode ainda

optar por fazer testes em malha aberta ou fechada.

No menu ‘PID’ o usuário deve definir a sintonia do controlador PID

escolhendo os valores para kp, ki e kd, para o controle de nível deve-se sintonizar

tanto o controlador de nível quanto o de posição da válvula. Há ainda um último

campo onde deve ser escolhido um nome para o arquivo de backup para armazenar

todas as informações sobre o processo.

Page 26: Hugo Tanza Rella Teixeira

23

Figura 7 – Interface Gráfica com o usuário para controle de posição ou velocidade.

Figura 8 – Interface Gráfica com o usuário para controle de nível.

É possível também ao usuário, ao fim do processo, gerar gráficos de histórico

do processo, assim como analisar o efeito das ações proporcional, integral e derivativa

e os sinais de controle, ativando o recurso ‘Plot’, Figura 9.

Page 27: Hugo Tanza Rella Teixeira

24

Figura 9 – Interface para gerar os gráficos do processo.

Todos os gráficos mostrados no capítulo de resultados foram obtidos com esse

recurso.

O Apêndice D traz algumas instruções de uso do GUIDE, ferramenta do

MATLAB utilizada para criação das interfaces gráficas aqui citadas.

Page 28: Hugo Tanza Rella Teixeira

25

3 O HARDWARE

3.1 Introdução

Compreende os circuitos do módulo de comunicação entre a placa de

aquisição e a planta e também os circuitos de acionamento da válvula de controle e os

circuitos do sensor capacitivo.

3.2 Módulo de comunicação

Para facilitar a comunicação entre a planta e a placa de aquisição de dados,

criou-se um módulo que se conecta a placa e disponibiliza entradas e saídas,

analógicas e digitais através de bornes. Para a alimentação do módulo fez-se

necessário a construção de uma pequena fonte simétrica de ±12V, foram utilizados

dois pares de reguladores de tensão em paralelo para que a fonte fosse capaz de

fornecer 2A, seu esquemático pode ser visto na Figura 10.

Figura 10 – Esquemático da fonte de tensão.

O projeto do módulo prevê quatro entradas analógicas, duas saídas analógicas,

quatros entradas digitais e quatro saídas digitais. O circuito para fazer a comunicação

entre a planta e a placa é composto simplesmente de seguidores de tensão, com

Page 29: Hugo Tanza Rella Teixeira

26

exceção das saídas analógicas, detalhadas posteriormente. Na Figura 11 está o

esquemático genérico para as entradas analógicas e digitais, e para as saídas digitais.

Figura 11 – Seguidores de tensão.

(a) Entradas analógicas e digitais. (b) Saídas digitais.

Para as saídas analógicas algumas modificações foram implementadas, visto

que a placa só tem capacidade de fornecer tensões de 0 a 10V, e seria adequado para o

projeto que a saída analógica fosse capaz de fornecer tensões de -10 a 10V, para tanto

se associou à saída dos seguidores de tensão um circuito amplificador diferença

(Figura 12).

Figura 12 – Circuito amplificador diferença

Onde temos que ( )RbVo Vb VaRa

= − , portanto para reduzir a faixa de tensão de 0

a 10 V para -5 a 5V, sendo Ra Rb Rc Rd= = = , fazemos Vb receber a saída analógica e

Va = 5V. Agora, para transformar a faixa de tensão de -5 a 5V para -10 a 10V

Page 30: Hugo Tanza Rella Teixeira

27

associou-se em série ao amplificador diferença um circuito amplificador não inversor

com ganho 2 (Figura 13).

Figura 13 – Circuito amplificador-não-inversor

Onde ( )Ra RbVo viRa+

= , fazendo Ra Rb= , temos que 2.Vo Vi= , com isso

conseguimos uma faixa de saída de -10 a 10V teóricos.

O esquemático completo do circuito de saída analógica pode ser visto na

Figura 14.

Figura 14 – Circuito da saída analógica.

A Figura 15 mostra a placa de circuito impresso do módulo de comunicação, a

Figura 16 mostra, em maiores detalhes, os conectores com a placa e os bornes, a

Tabela 1 indica a relação de pinos para cada circuito de entrada e saída, na Figura 17

pode ser visto a disposição dos bornes e na Figura 18 a relação de pinos dos cabos

digital e analógico do módulo de comunicação.

Page 31: Hugo Tanza Rella Teixeira

28

Figura 15 – Placa de circuito impresso do módulo de comunicação.

Figura 16 – Detalhe dos conectores para a placa e os bornes.

* nP indica o pino do conector para a placa e nB o pino do conector para o borne

10P → 11BDO 36P ← 8BDI 313P ← 16BAI 3

9P → 10BDO 25P ← 7BDI 214P ← 15BAI 2

11P → 9BDO 18P ← 6BDI 13P → 2BAO 215P ← 13BAI 1

12P → 12BDO 07P ← 5BDI 02P → 3BAO 116P ← 14BAI 0

Saídas DigitaisEntradas DigitaisSaídas AnalógicasEntradas Analógicas

* nP indica o pino do conector para a placa e nB o pino do conector para o borne

10P → 11BDO 36P ← 8BDI 313P ← 16BAI 3

9P → 10BDO 25P ← 7BDI 214P ← 15BAI 2

11P → 9BDO 18P ← 6BDI 13P → 2BAO 215P ← 13BAI 1

12P → 12BDO 07P ← 5BDI 02P → 3BAO 116P ← 14BAI 0

Saídas DigitaisEntradas DigitaisSaídas AnalógicasEntradas Analógicas

Tabela 1 – Relação de pinos para os circuitos de entrada e saída.

GND

AI 0 AI 2

AI 3AI 1

AO 1

AO 2

Entrada SaídaAnalógico

DI 0 DI 2

DI 3DI 1

Entrada

DO 0 DO 2

DO 3DO 1

SaídaDigital

Tanzarella

ON

GND

AI 0 AI 2

AI 3AI 1

AO 1

AO 2

Entrada SaídaAnalógico

DI 0 DI 2

DI 3DI 1

Entrada

DO 0 DO 2

DO 3DO 1

SaídaDigital

Tanzarella

ON

Figura 17 – Frente do módulo de comunicação.

Page 32: Hugo Tanza Rella Teixeira

29

Figura 18 – Relação de pinos dos cabos digital e analógico do módulo de comunicação.

3.2.1 Testes para o funcionamento o módulo

Após a placa ser construída realizou-se alguns testes e constatou-se que:

• A fonte de alimentação fornece -12,06V e 11,80V e aproximadamente

2A;

• Para AO 1 a faixa de tensão de saída obtida é de -9,73 a 8,40V;

• Para AO 2 a faixa de tensão de saída obtida é de -9,80 a 8,37V;

• A capacidade de fornecimento de corrente de 5mA para a saída

analógica e 0,8mA para a saída digital aumentou para 35mA;

• Os canais de entrada analógica apresentaram ruído de

aproximadamente 0,1 V, valor considerado alto, para determinados

processos a serem controlados.

3.3 Circuitos de acionamento da válvula

O conjunto que permite o controle da válvula de saída é composto por um

motor CC acoplado a um potenciômetro e um circuito driver de corrente (Figura 19)

para acionamento do motor.

O potenciômetro foi alimentado simetricamente com -8V e 8V, a fim que os

valores medidos não ultrapassem a faixa de atuação da placa de aquisição de dados,

para isso utilizou-se reguladores de tensão (LM7808 e LM7908) para evitar variações

significativas na alimentação. O circuito utilizado é observado na Figura 20.

Figura 19 – Circuito de acionamento do Motor CC.

Page 33: Hugo Tanza Rella Teixeira

30

Figura 20 – Circuito de alimentação do potenciômetro.

As tensões medidas para a válvula totalmente aberta e totalmente fechada

estão listadas na Tabela 2.

-4,553 VFechada

3,448 VAberta

Tensão no PotenciômetroSituação da Válvula

-4,553 VFechada

3,448 VAberta

Tensão no PotenciômetroSituação da Válvula

Tabela 2 – Tensões medidas no ensaio da válvula.

3.4 Circuitos do Sensor capacitivo

O sensor capacitivo consiste em duas placas paralelas de alumínio, separadas

de aproximadamente 1 cm. As placas possuem 60 cm de altura por 12 cm de

comprimento. Para a construção do sensor capacitivo, foram usadas duas placas de

acrílico, como forma de sustentar as placas de alumínio, assim como foram usadas

duas peças de acrílico em cada como base e uma para manter a distância entra as

placas constantes. Uma das placas foi envolvida com uma fita adesiva, para isolar

eletricamente as placas quando em contato com a água.

A variação no dielétrico causa uma variação na capacitância do sensor, sendo

um dielétrico o ar e o outro a água (Figura 21), à medida que o nível de água aumenta,

causa variação no dielétrico do sensor, aumentando sua capacitância, e por

conseqüência diminuindo sua reatância.

Page 34: Hugo Tanza Rella Teixeira

31

Figura 21 – Representação do sensor capacitivo.

Para que o nível de água fosse convertido em um valor de tensão constante, foi

usado um circuito, visto na Figura 22, para retificar e eliminar o efeito Ripple do sinal

proveniente do sensor.

Figura 22 – Circuito para o sensor capacitivo.

3.4.1 Testes para o funcionamento do sensor

Segundo Araújo [6], quanto menor a freqüência utilizada na alimentação do

circuito do sensor, maiores são os níveis de tensão referentes aos níveis dos tanques.

No entanto, é importante ressaltar que o valor de freqüência deve ser escolhido de

modo que a maior tensão obtida na saída do circuito não supere a capacidade de 10 V

de leitura da entrada analógica da placa de aquisição de dados.

Foi escolhido para a alimentação do circuito do sensor um sinal de 10 V de

amplitude com freqüência de 50,0 kHz. Os valores de tensão medidos na saída do

circuito estão listados na Tabela 3 e a curva obtida pode ser vista na Figura 23.

Page 35: Hugo Tanza Rella Teixeira

32

0 5 10 15 20 25 30 350

1

2

3

4

5

6

7

Tens

ão [V

]

Altura [cm]

Figura 23 – Gráfico de tensão do sensor capacitivo.

Page 36: Hugo Tanza Rella Teixeira

33

Alimentação : 10V / 50,0kHz

0,9435

0,9634

0,9933

1,0132

1,0431

1,0830

1,1129

1,1628

1,2227

1,2926

1,3725

1,4224

1,4823

1,5322

1,5721

1,6120

1,6619

1,7118

1,7917

1,8616

1,9515

2,0414

2,1713

2,2612

2,3911

2,5610

2,809

3,088

3,387

3,786

4,285

4,974

5,763

6,292

Tensão no sensor [V]Altura da água [cm]

Sensor Capacitivo

Alimentação : 10V / 50,0kHz

0,9435

0,9634

0,9933

1,0132

1,0431

1,0830

1,1129

1,1628

1,2227

1,2926

1,3725

1,4224

1,4823

1,5322

1,5721

1,6120

1,6619

1,7118

1,7917

1,8616

1,9515

2,0414

2,1713

2,2612

2,3911

2,5610

2,809

3,088

3,387

3,786

4,285

4,974

5,763

6,292

Tensão no sensor [V]Altura da água [cm]

Sensor Capacitivo

Tabela 3 – Valores de tensão obtidos no sensor capacitivo.

Page 37: Hugo Tanza Rella Teixeira

34

Observa-se na região entre 20 a 30 cm, uma maior linearidade do sistema, no

entanto a variação de tensão em 1 cm é em média 0,05 V, sendo o ruído introduzido

pelo módulo de aquisição de 0,1 V, há um erro grande na conversão de tensão para

nível de água, na Figura 24, pode ser visto os resultados obtidos com a aquisição dos

valores de tensão durante o enchimento do tanque.

0 20 40 60 80 100 120 140 1600

1

2

3

4

5

6

7

Tempo [s]

Tens

ão [V

]

Tempo x Tensão

0 20 40 60 80 100 120 140 1600

10

20

30

40

50

60

Tempo [s]

Altu

ra [c

m]

Tempo x Nível

Figura 24 – Conversão de Tensão do sensor capacitivo para Nível de água.

Nota-se que entre a região de 20 a 30 cm de altura de água obteve-se erros de

até 20 cm. Como solução a isso, propôs-se a amplificação da saída do circuito do

sensor capacitivo por um circuito amplificador não-inversor de ganho

aproximadamente 10 V/V, como o circuito visto na Figura 13, onde 1Ra M= Ω e

10Rb M= Ω , assim será possível amplificar a variação de tensão na região linear do

sensor.

Page 38: Hugo Tanza Rella Teixeira

35

Para que os valores de tensão não saturassem, aumentou-se a freqüência do

sinal de alimentação, considerando agora que o controle será feito apenas na região de

20 a 30 cm de altura de água.

Os resultados obtidos estão listados na Tabela 4.

Alimentação: 10V / 95 kHz

7,930,7232

8,050,7331

8,290,7530

8,450,7629

8,630,7828

8,810,8027

9,430,8526

9,800,8825

9,990,9024

10,250,9323

10,470,9522

10,560,9621

10,700,9720

10,880,9819

11,291,0218

11,741,0717

11,741,1116

11,741,1715

11,741,2214

11,741,2813

11,741,3412

11,741,4311

11,741,5310

11,741,729

11,741,938

11,742,097

11,742,416

11,742,865

Tensão no amplificador [V]Tensão no sensor [V]Altura da água [cm]

Sensor Capacitivo

Alimentação: 10V / 95 kHz

7,930,7232

8,050,7331

8,290,7530

8,450,7629

8,630,7828

8,810,8027

9,430,8526

9,800,8825

9,990,9024

10,250,9323

10,470,9522

10,560,9621

10,700,9720

10,880,9819

11,291,0218

11,741,0717

11,741,1116

11,741,1715

11,741,2214

11,741,2813

11,741,3412

11,741,4311

11,741,5310

11,741,729

11,741,938

11,742,097

11,742,416

11,742,865

Tensão no amplificador [V]Tensão no sensor [V]Altura da água [cm]

Sensor Capacitivo

Tabela 4 – Valores de tensão obtidos no sensor capacitivo com circuito amplificador.

Page 39: Hugo Tanza Rella Teixeira

36

Na Figura 25 observa-se a resposta do sensor capacitivo, após a amplificação

na região de 20 a 30 cm. Nota-se que mesmo nessa região, a resposta do sensor não é

bem linear.

20 21 22 23 24 25 26 27 28 29 308

8.5

9

9.5

10

10.5

11

Tens

ão [V

]

Altura [cm]

Figura 25 – Resposta do sensor capacitivo com amplificação na região de 20 a 30 cm.

Outro problema observado no sensor capacitivo é que sua resposta varia com o

tempo. Para uma mesma freqüência de alimentação e um mesmo nível ele apresenta

respostas variando com o tempo.

Page 40: Hugo Tanza Rella Teixeira

37

4 RESULTADOS OBTIDOS

4.1 Introdução

Neste capitulo serão apresentados, a modelagem do sistema para controle de

velocidade, e o controle feito pela interface criada, assim como os resultados obtidos

com a interface criada para o controle de nível e os resultados obtidos.

4.2 Controle de velocidade

Para realizar os testes do controle de velocidade utilizaram-se os seguintes

módulos do kit didático DC Servo Trainer ED-4400B:

U-156B – Fonte de alimentação CC (± 15V 0,2A e alimentação do motor)

U-154B – Driver amplificador de tensão (10 watts)

U-161B – Servo motor Motor: 12V; 4,5W

Taco Gerador: Aproximadamente 3Vp-p/4000rpm

U-155B – Unidade taco amplificadora

U-159B – Tacômetro (4000rpm)

U-163B – Freio Magnético (Gap: 4mm, 10 passos de variação).

Dispostos conforme esquemático na Figura 26.

Figura 26 – Planta para controle de velocidade.

Page 41: Hugo Tanza Rella Teixeira

38

O diagrama de blocos do sistema de controle utilizado é mostrado na Figura

27.

Set Point

Gráfico

Interfacecom usuário

Set Point

Gráfico

Interfacecom usuário

Algoritmode

controle

Algoritmode

controle

NuDAQPCI-9112

Entrada

Saída

NuDAQPCI-9112

Entrada

Saída

+15V

-15V

+15V

-15V

MMMTacho

MATLAB PLANTA

Figura 27 – Diagrama de blocos do sistema de controle.

4.2.1 Modelagem

O motor CC utilizado para experiência pode ser modelado por um sistema de

primeira ordem do tipo .( )

1td skG s e

sτ−=

+ onde k é o ganho estacionário, τ é a

constante de tempo e td é o tempo do atraso. Quando um degrau é aplicado na entrada

(u) o sistema reage conforme mostrado na Figura 28, de onde podemos determinar os

parâmetros do sistema.

Figura 28 – Resposta a um degrau de um sistema de primeira ordem.

Page 42: Hugo Tanza Rella Teixeira

39

Aplicou-se então um degrau de aproximadamente 5V na planta a ser

controlada e o resultado pode ser observado na Figura 29.

3.5 4 4.5 5 5.5 6

0

1

2

3

4

5

tempo[s]

Tens

ão [V

]Resposta a um degrau

Set PointResposta

Figura 29 – Resposta a um degrau da planta de controle de velocidade.

A partir daí temos que, 4.9837yΔ = ; 5,07uΔ = e yku

Δ=Δ

,então 0,983k = ;

0,078td s= e 0,231τ = .

Portanto o sistema utilizado para controle de velocidade pode ser modelado

por 0.0780,983( )0,231 1

sG s es

−=+

.

4.2.2 Controle

A estrutura do controlador PID utilizada é o tipo ISA, conforme visto na

Figura 30.

Page 43: Hugo Tanza Rella Teixeira

40

ue ue

Figura 30 – PID tipo ISA.

O parâmetro proporcional (kp), atua sobre os parâmetros integral (ki) e

derivativo (kd) conforme a equação, 0

( )( ) ( ) ( )t de tu t kp e t ki e t dt kd

dt⎛ ⎞= + +⎜ ⎟⎝ ⎠∫ .

Os cálculos são feitos numericamente pelo MATLAB, no decorrer de cada

iteração do algoritmo de controle criado. As variáveis com índice ‘i’ correspondem aos

valores do estado anterior e as variáveis com índice ‘f’ correspondem aos valores do

estado atual.

_

int . int

( ). int . . . .

a f i

f

f f a i

f if p f p i p d

a

t t t

e setpoint sensor velocidade

e t

e eu e k k k k k

t

= −

= −

= +

−= + +

Após o cálculo do sinal de controle (u ) as variáveis do estado anterior são

atualizadas com o valor das variáveis do estado atual e é feita então, outra iteração dos

cálculos.

int intf

i f

i f

i

t t

e e

=

=

=

A partir do modelo do motor, utilizou-se como método de sintonia para o PID

o critério de Cohen e Coon [11], onde 1 43 4

d

d

tkpk tτ

τ⎛ ⎞= +⎜ ⎟⎝ ⎠

, 13 8

32 6

d

id

t

ktτ

τ

⎛ ⎞+⎜ ⎟⎝ ⎠=⎛ ⎞+⎜ ⎟⎝ ⎠

e

Page 44: Hugo Tanza Rella Teixeira

41

4

11 2d d

d

k ttτ

=⎛ ⎞+⎜ ⎟⎝ ⎠

, aliado à tentativa e erro, chegou-se à seguinte sintonia, 4, 2pk = ,

5,9ik = e 0,02dk = . Com isso o sistema obteve um sobressinal de aproximadamente

13% e um tempo de subida de 0,2 segundos, como observado na Figura 31.

3.2 3.4 3.6 3.8 4 4.2 4.4 4.6 4.8 5 5.2

600

800

1000

1200

1400

1600

1800

2000

2200

tempo [s]

Vel

ocid

ade

[rpm

]

Resposta a um degrau

Set PointVelocidade

Figura 31 – Resposta a um degrau com controlador PID.

Como teste de eficiência do controlador fixou-se o set point em 2000 rpm e

utilizou-se o freio magnético para causar uma perturbação no sistema. O freio foi

configurado na posição 10, de maior potência, para melhor visualização da

perturbação no sistema. A forma como o freio é ligado ao motor é mostrado na Figura

32.

Page 45: Hugo Tanza Rella Teixeira

42

Figura 32 – Freio magnético e motor CC.

O freio foi ligado em aproximadamente 5,75 segundos de simulação e

desligado em 7,5 segundos. A resposta do sistema pode ser visto na Figura 33.

5 5.5 6 6.5 7 7.5 8 8.5 9

1500

1600

1700

1800

1900

2000

2100

2200

2300

2400

2500

tempo [s]

Vel

ocid

ade

[rpm

]

Set PointVelocidade

Figura 33 – Resposta do sistema a perturbação externa.

Podemos observar também na Figura 34, a atuação do sinal de controle no

sistema.

Page 46: Hugo Tanza Rella Teixeira

43

2 3 4 5 6 7 8 9 100

2

4

6

8

10Te

nsão

[V]

tempo[s]

Set PointSensor de velocidadeSinal de Controle

Figura 34 – Atuação do sinal de controle no sistema.

Na Figura 35 pode ser visto a contribuição das ações, proporcional, integral e

derivativa no sinal de controle.

2 3 4 5 6 7 8 9 10-500

0

500

1000

1500

2000

2500

3000

3500

4000

4500

tempo [s]

[rpm

]

Sinal de ControleAção ProporcionalAção IntegralAção Derivada

Figura 35 – Efeito das ações de controle no sinal de controle.

Page 47: Hugo Tanza Rella Teixeira

44

4.3 Controle de nível

A dinâmica do processo do sistema de nível é um integrador puro sKsGP =)( ,

sendo assim um controlador proporcional é suficiente para obter o desempenho

desejado. O controle PI para o nível deve ser usado para corrigir os problemas de zona

morta e saturação da válvula, mas deve ser associado a um sistema anti Wind-up, por

haver um limite no atuador, no caso a válvula controlada, Este fato faz com que a

malha de realimentação seja de certa forma quebrada, pois o atuador permanecerá no

seu limite máximo (ou mínimo) independentemente da saída do processo. Entretanto,

se um controlador com ação integral é utilizado, o erro continuará a ser integrado e o

termo integral tende a se tornar muito grande, ou seja, tende a "carregar-se"

demasiadamente. Neste caso, para que o controlador volte a trabalhar na região linear

(saia da saturação) é necessário que o termo integral se "descarregue". Para tanto se

deverá esperar que o sinal de erro troque de sinal e, por um longo período tempo,

aplicar na entrada do controlador, um sinal de erro de sinal oposto. A conseqüência

disto é que a resposta transitória do sistema tenderá a ficar lenta e oscilatória.

Os testes realizados neste projeto foram apenas com o controlador

proporcional com 3nívelkp = e 4válvulakp = , no entanto o sistema apresentou um erro em

estado estacionário de 1 V, como pode ser visto na Figura 36.

Page 48: Hugo Tanza Rella Teixeira

45

100 150 200 250 3005.5

6

6.5

7

7.5

8

8.5

9

9.5

Tempo [s]

Tens

ão [V

]

Set PointNível

Figura 36 – Controle proporcional de nível.

Como o erro mostrou-se constante para toda a faixa de tensão testada e o nível

do tanque apresentava-se constante, foi feito então uma compensação do erro

diminuindo 1 V do set point via software. Assim chegou-se a resultados satisfatórios

de controle. Alguns gráficos dos testes realizados serão apresentados a seguir.

Na Figura 37 observa-se a resposta a um degrau da planta de controle de nível,

o sinal de controle do PID de nível e a posição de abertura da válvula. Lembrando que

um aumento de tensão na malha de controle de nível significa diminuir o nível de água

no tanque e que o potenciômetro marca aproximadamente 3,5 V quando a válvula está

totalmente aberta e -4,5 V quando a válvula está totalmente fechada.

Nota-se que quando o degrau é aplicado, o sinal do controlador PID de nível

faz com que a válvula aumente a sua abertura até que o tanque se esvazie a medida que

o nível vai atingindo o nível desejado a válvula torna-se a fechar na mesma posição

anterior que mantém o nível de água constante no tanque.

Page 49: Hugo Tanza Rella Teixeira

46

20 30 40 50 60 70 80 90-5

0

5

10

Tempo [s]

Tens

ão [V

]

Set PointNívelSinal de controle de nívelPosição da válvula

Figura 37 – Resposta a um degrau da planta de controle de nível.

Dois tipos de perturbação externa foram causados para testar o controle da

planta, são eles: adicionar água ao tanque em uma quantidade maior que o volume de

entrada habitual e cortar a entrada de água no tanque.

Na Figura 38 observa-se o aumento da vazão de entrada, onde ocorre a

diminuição da tensão no sensor de nível, que faz com que gere um sinal de controle

que força a abertura da válvula a fim de estabilizar o nível de água no nível desejado.

Na Figura 39 a vazão de entrada foi cortada causando uma pequena

diminuição no nível, conseqüentemente aumentando a tensão no sensor de nível,

forçando então a válvula a se fechar, e assim ela permanece enquanto a vazão de

entrada for nula, de 270 a 300 segundos.

Page 50: Hugo Tanza Rella Teixeira

47

80 90 100 110 120 130 140 150-5

0

5

10

Tempo [s]

Tens

ão [V

]

Set PointNívelSinal de controle de nívelPosição da válvula

Figura 38 – Resposta do sistema a perturbação externa (aumento da vazão de entrada).

260 265 270 275 280 285 290 295 300 305-8

-6

-4

-2

0

2

4

6

8

Tempo [s]

Tens

ão [V

]

Set PointNívelSinal de controle de nívelPosição da válvula

Figura 39 – Resposta do sistema a perturbação externa (vazão de entrada nula).

Page 51: Hugo Tanza Rella Teixeira

48

5 CONCLUSÃO

Foi desenvolvido um algoritmo em MATLAB capaz de realizar um controle

em tempo real com a placa de aquisição de dados NuDAQ PCI-9112. O fato de o

tempo de processamento de cada iteração dentro do loop no algoritmo criado variar,

faz com que o tempo de amostragem do algoritmo criado também varie. Soluções que

tornem o processamento exclusivo do MATLAB resolveriam esse problema.

A interface com o usuário criada apresentou-se eficiente e funciona como um

supervisório mais simples.

O módulo de comunicação desenvolvido introduziu muito ruído na aquisição

de dados, portanto pode ser melhorado em trabalhos futuros, de forma que os

componentes para montar seus circuitos devem ser escolhidos de maneira mais

criteriosa de modo a eliminar o ruído.

O sensor capacitivo e seu circuito devem ser estudados e aprimorados, porque,

apesar de apresentar uma solução interessante para a medição de nível de um tanque,

ele se apresentou instável em se tratando de manter um valor de tensão constante para

um dado nível de água. Outra sugestão é utilizar um sensor de pressão, ao invés do

sensor capacitivo, para medir o nível.

O ambiente criado pode ser também aplicado em plantas industriais através do

sistema OPC em conjunto com o Matlab.

Page 52: Hugo Tanza Rella Teixeira

49

REFERÊNCIAS BIBLIOGRÁFICAS

[1] HADDAD, Raphael Rebello. Desenvolvimento de uma Interface entre o

Ambiente Simulink/Matlab e a Placa de Aquisição de dados NuDAQ 9112

para Aplicações em Controle de Processos, Projeto de Graduação em

Engenharia Elétrica, UFES, 2005.

[2] GOMES, Elias P.. Controle de Temperatura e Nível de um Fluido em um

Tanque. Projeto de Graduação em Engenharia Elétrica, UFES, 2004.

[3] CAMPAGNARO, João Gilberto. Controle Digital do Nível de Tanque em Rede

utilizando supervisório Intouch e o CLP Micrologix, Projeto de Graduação em

Engenharia Elétrica, UFES, 2006.

[4] THE MATHWORKS – MATLAB and SIMULINK for Technical Computing.

[on line]. 2008. Disponível: http://www.mathworks.com/ [capturado em jul. 2008].

[5] ADLINK: DAQ-MTLB. Data Acquisition Library for MATLAB. [on line].

2008. Disponível: http://www.adlinktech.com/MAPS/DAQ-MTLB.html

[capturado em jul. 2008].

[6] ARAÚJO, André Luiz de. Desenvolvimento de um Sensor de Nível Capacitivo

para Controle de Processos através do CLP Micrologix 1500. Projeto de

Graduação em Engenharia Elétrica, UFES, 2007.

[7] NILSSON, James W., RIEDEL, Susan A.. Circuitos Elétricos. LTC 6. ed.

[8] SILVA, Érica M.; ALBURQUERQUE, Marcelo P. de; ALBURQUERQUE,

Marcio P. de; MELLO, Aline da Rocha G.; CANER, Eugênio S.. Introdução a

Interface Gráfica no MATLAB, 2004.

[9] FERREIRA, Nelson Martins. Apontamentos de MATLAB, 2003.

[10] LANGLOIS. DC Servo Trainer – ED-4400B Instruction Manual.

[11] COHEN, G.H.; COON, G.A.. Theoretical Consideration of Retarded Control.

Trans. ASME 75, 1983.

Page 53: Hugo Tanza Rella Teixeira

50

APÊNDICE A – ALGORITMO DE SEGURANÇA DO MOTOR CC

Para que o motor CC não seja danificado recebendo tensão caso a válvula já

esteja totalmente aberta ou totalmente fechada, foi tomada uma medida de segurança

no algoritmo de controle, o trecho do código para isso está a seguir:

Page 54: Hugo Tanza Rella Teixeira

51

APÊNDICE B – ALGORITMO DE CONTROLE

Page 55: Hugo Tanza Rella Teixeira

52

Page 56: Hugo Tanza Rella Teixeira

53

Page 57: Hugo Tanza Rella Teixeira

54

Page 58: Hugo Tanza Rella Teixeira

55

Page 59: Hugo Tanza Rella Teixeira

56

Page 60: Hugo Tanza Rella Teixeira

57

Page 61: Hugo Tanza Rella Teixeira

58

Page 62: Hugo Tanza Rella Teixeira

59

Page 63: Hugo Tanza Rella Teixeira

60

APÊNDICE C – UTILIZANDO O GUIDE

GUIDE é uma ferramenta fornecida pelo MATLAB projetada para que o

usuário construa interfaces gráficas com maior facilidade e rapidez. A função GUIDE

contém ferramentas para criar, instalar, alinha e alterar o tamanhos de objetos

uicontrol, listados no item C.1.

Para abrir a ferramenta GUIDE, deve-se digitar o comando guide no prompt

do MATLAB, em seguida aparecerá uma tela, Figura 40 onde o usuário deve escolher

entre criar uma nova GUI, em branco ou utilizar modelos prontos, ou abrir o trabalho

existente.

Figura 40 – Tela inicial da ferramenta GUIDE.

Em seguida aparecerá a interface de criação da ferramenta GUIDE, Figura 41.

Figura 41 – Interface de criação da ferramenta GUIDE.

Page 64: Hugo Tanza Rella Teixeira

61

Quando a janela de criação de interface é ativada o MATLAB cria

automaticamente dois arquivos:

• fig-file: arquivo com extensão .fig, contém uma descrição completa

sobre o layout da interface gráfica a ser criada, as modificações

desejadas na aparência da GUI devem ser feitas no fig-file.

• m-file: arquivo com extenção .m, contém o código que controla a GUI,

incluindo as callbacks dos componentes. Cabe ao usuário modificar

este arquivo de acordo com as necessidades do seu programa.

C.1 Uicontrol e programação dos Callbacks

O uicontrol é um objeto gráfico adicionado à interface e tem como função

fazer a comunicação entre o usuário e o programa criado.

Cada objeto gráfico adicionado ao fig-file gera no m-file uma sub-função,

chamada callback, que é executada de acordo com as ações tomadas pelo usuário

através da interface gráfica criada. Para adicioná-los à interface que está sendo criada o

usuário deve escolher entre as opções a esquerda na interface de criação vista na

Figura 42 e a seguir é apresentada uma breve descrição da ação desencadeada pelo

callback de cada uma.

Figura 42 – Menu dos objetos gráficos disponíveis.

Page 65: Hugo Tanza Rella Teixeira

62

C.2 Push Button

Gera uma ação quando pressionado. A ação que é desencadeada quando se

pressiona o botão deve ser programada na sua callback, imediatamente após ser

acionado ele retorna a seu estado inicial. Geralmente são usados para executar uma

ação e não para mudar um estado ou fixar um atributo.

C.3 Slider

Consiste de um controle deslizante, onde o valor de entrada é apontado pelo

indicador dentro de um intervalo de valores pré-determinados. Existem quatro

propriedades que controlam o intervalo e o incremento com que o slider desloca-se:

Value – contém o valor corrente do slider;

Max – define o limite superior do intervalo;

Min – define o limite inferior do intervalo;

SliderStep – especifica o incremento com que o slider se desloca em relação

aos limites do intervalo.

C.4 Radio Button

Gera uma ação quando selecionado e indica seu estado corrente, mas é

entendido como sendo mutuamente exclusivo dentro de um grupo de radio buttons

relacionados.

Os radio buttons possuem dois estados, selecionado e não selecionado. É

possível saber o estado de um radio button através da propriedade Value.

Value = Max, o botão está selecionado

Value = Min, o botão não está selecionado.

De modo a tornar os radio buttons mutuamente exclusivos dentro de um

grupo, o callback de cada um deve atribuir à propriedade ‘Value’ o valor ‘Min’ aos

demais.

Page 66: Hugo Tanza Rella Teixeira

63

C.5 Check Box

Assim como os radio buttons geram uma ação quando selecionadas e indicam

seu estado corrente, mas não são mutuamente exclusivas. As check boxes são úteis

quando se pretende dar ao usuário uma série de escolhas independentes que

especificam diferentes modos de operar.

C.6 Edit Text

São campos que permitem ao usuário introduzir ou modificar valores no

decorrer do programa.

C.7 Static Text

Mostra linhas de texto e é essencialmente utilizado para colocar nomes nos

outros controles, fornecer instruções ao utilizador, ou indicar valores associados a um

slider. O usuário não pode alterar um static text interativamente e este não possui um

callback associado.

C.8 Pop-up Menu

Quando clicado mostra uma lista de escolhas ao usuário. Quando não está

aberto, o pop-up menu, mostra a escolha corrente. São úteis quando se pretende dar ao

utilizador uma longa série de escolhas mutuamente exclusivas, e não se quer gastar

todo o espaço que isso tomaria no caso dos radio buttons.

C.9 Listbox

Mostram uma lista de itens e permitem ao utilizador escolher um ou mais itens

da lista.

C.10 Toggle Button

Funcionam como chave, alternam entre dois estados, ligado ou desligado.

Page 67: Hugo Tanza Rella Teixeira

64

C.11 Axes

Permite à interface mostrar o resultado de gráficos no decorrer do programa.

Após definir quais objetos gráficos serão adicionados à sua interface, o usuário

deve editar algumas de suas propriedades, principalmente sua Tag que será usada

como nome na criação da callback do objeto. Para isso deve-se clicar duas vezes sobre

o objeto e fazer as devidas escolhas na tela de propriedades, Figura 43.

Figura 43 – Propriedades dos objetos gráficos.