Você está na página 1de 83

UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN

DEPARTAMENTO ACADMICO DE ELETRNICA


DEPARTAMENTO ACADMICO DE MECNICA
CURSO SUPERIOR DE TECNOLOGIA EM MECATRNICA INDUSTRIAL





GUILHERME SCHUSTER MONTEIRO
TASSIO PETRY





DESENVOLVIMENTO DE PROTTIPO PARA ENSAIOS DE TCNICAS
DE CONTROLE PROGRAMADAS EM MICROCONTROLADOR




TRABALHO DE CONCLUSO DE CURSO






CURITIBA
2012


GUILHERME SCHUSTER MONTEIRO
TASSIO PETRY










DESENVOLVIMENTO DE PROTTIPO PARA ENSAIOS DE TCNICAS
DE CONTROLE PROGRAMADAS EM MICROCONTROLADOR



Trabalho de Concluso de Curso de graduao
apresentado disciplina de Trabalho de
Diplomao, do Curso Superior de Tecnologia
em Mecatrnica Industrial dos Departamentos
Acadmicos de Eletrnica e Mecnica
DAELN e DAMEC - da Universidade
Tecnolgica Federal do Paran - UTFPR, como
requisito parcial para obteno do ttulo de
Tecnlogo.
Orientador: Prof. M.Sc. Guilherme Alceu
Schneider



CURITIBA
2012



GUILHERME SCHUSTER MONTEIRO
TASSIO PETRY


DESENVOLVIMENTO DE PROTTIPO PARA ENSAIOS DE TCNICAS
DE CONTROLE PROGRAMADAS EM MICROCONTROLADOR

Este trabalho de concluso de curso foi apresentado no dia 26 de novembro de 2012,
como requisito parcial para obteno do ttulo de Tecnlogo em mecatrnica industrial,
outorgado pela Universidade Tecnolgica Federal do Paran. Os alunos foram arguidos
pela Banca Examinadora composta pelos professores abaixo assinados. Aps
deliberao, a Banca Examinadora considerou o trabalho aprovado


______________________________
Prof. Milton Luiz Polli
Coordenador de Curso
Departamento Acadmico de Mecnica


______________________________
Prof. Dcio Estevo do Nascimento
Responsvel pela Atividade de Trabalho de Concluso de Curso
Departamento Acadmico de Eletrnica

BANCA EXAMINADORA

_______________________________
Prof. Ph.D. Hugo Vieira Neto


_______________________________
Prof. M.Sc. Guilherme Alceu Schneider
Orientador
_______________________________
Prof. M.Sc. Valmir de Oliveira


(Obs: O Documento original contendo as assinaturas encontra-se em posse da coordenao).


RESUMO

PETRY, Tassio Vincius; MONTEIRO, Guilherme Schuster. Desenvolvimento de
prottipo para ensaios de tcnicas de controle programadas em microcontrolador. 2012.
81 f. Trabalho de Concluso de Curso (Curso Superior de Tecnologia em Mecatrnica
Industrial) Departamento Acadmico de Eletrnica, Departamento Acadmico de
Mecnica, Universidade Tecnolgica Federal do Paran. Curitiba, 2012.

O presente trabalho tem por objetivo elaborar o Prottipo para Ensaio de Tcnicas de
Controle Programadas em Microcontrolador. Esse controle se dar por meio da
parametrizao de valores de entrada - comumente utilizados em controles
Proporcional, Integral, Derivativo (PID), com a combinao de diferentes formas de
discretizao. O prottipo conta com uma interface no software Elipse E3 passvel de
comunicao com o hardware e sua programao se faz atravs da utilizao do
software de programao MikroC, implementado no microcontrolador (PIC) 18F4520
sendo utilizada a linguagem C para o seu desenvolvimento. O projeto utiliza o modbus
Remote Terminal Unit (RTU) para realizar a comunicao e o driver modbus RTU para
comunicar-se com o software supervisrio Elipse.

Palavras-chave: Tcnicas de controle programadas em microcontrolador. Controle
discretizado por meio de microcontroladores.
















ABSTRACT

PETRY, Tassio Vincius; MONTEIRO, Guilherme Schuster. Desenvolvimento de
prottipo para ensaios de tcnicas de controle programadas em microcontrolador. 2012.
81 f. Trabalho de Concluso de Curso (Curso Superior de Tecnologia em Mecatrnica
Industrial) Departamento Acadmico de Eletrnica, Departamento Acadmico de
Mecnica, Universidade Tecnolgica Federal do Paran. Curitiba, 2012.

The purpose of the present work is the design of a prototype for experiments using
control techniques programmed in microcontrollers. This control will be done by
parameterizing the entrance values commonly used in PID controllers with the
combination of different ways of discretization. The prototype has an interface
developed in Elipse E3 which enables communication with the hardware. The projects
programming is done utilizing the software MikroC in a PIC 18F4520 with C as
programming language. This Project utilizes modbus RTU to communicate and the
modbus RTU driver to communicate with Elipse.

Key words: Control techniques programmed in microcontrollers. Discretized control in
microcontrollers.


















LISTA DE FIGURAS

FIGURA 1 - TANQUE DE NVEL, EXEMPLO DE CONTROLE CONTNUO. ................................................................... 8
FIGURA 2 - CONTROLE DE MALHA ABERTA ......................................................................................................... 10
FIGURA 3 - CONTROLE DE MALHA FECHADA. ...................................................................................................... 11
FIGURA 4 - ESQUEMTICO DO PROJETO DESENVOLVIDO ................................................................................... 13
FIGURA 5 - FUNO DEGRAU ............................................................................................................................. 16
FIGURA 6 MALHA FECHADA SOB ANLISE ........................................................................................................ 17
FIGURA 7 - EXEMPLO DE UMA PLANTA DE REFERNCIA PARA GERAO DE UMA FUNO DE TRANSFERNCIA
SITUAO REAL ......................................................................................................................................... 19
FIGURA 8 SISTEMA EM MALHA FECHADA DO CONTROLE DO MOVIMENTO DE MASSA.................................... 21
FIGURA 9 - ANLISE DA RESPOSTA TRANSITRIA. ............................................................................................... 21
FIGURA 10 - EXEMPLO EM LGEBRA DE BLOCOS DA APLICAO DO CONTROLE PID .......................................... 23
FIGURA 11- EFEITO DO CONTROLE EM MALHA ABERTA ..................................................................................... 24
FIGURA 12 - CONTROLE EM MALHA FECHADA E APLICAO DO EFEITO PROPORCIONAL COM BAIXO GANHO .. 25
FIGURA 13 - CONTROLE EM MALHA FECHADA E APLICAO DO EFEITO PROPORCIONAL COM ALTO GANHO .... 25
FIGURA 14 - AO DE CONTROLE PROPORCIONAL INTEGRAL EM MALHA ABERTA ............................................. 26
FIGURA 15 AO DE CONTROLE PROPORCIONAL INTEGRAL EM MALHA FECHADA.......................................... 27
FIGURA 16 - AO PROPORCIONAL INTEGRAL DERIVATIVA EM MALHA ABERTA ................................................ 28
FIGURA 17 - AO PROPORCIONAL INTEGRAL DERIVATIVA EM MALHA FECHADA ............................................. 29
FIGURA 18 - MALHA FECHADA COM GANHO KU ................................................................................................. 30
FIGURA 19 - RESPOSTA TEMPORAL INSTVEL COM GANHO CRTICO .................................................................. 30
FIGURA 20 - ANLISE DO DEGRAU NA FT DA PLANTA ......................................................................................... 32
FIGURA 21 - CURVA REPRESENTANDO K, L E T .................................................................................................... 32
FIGURA 22 EXEMPLO DE PROBLEMA SERVO .................................................................................................... 33
FIGURA 23 EXEMPLO DE PROBLEMA REGULATRIO. ....................................................................................... 34
FIGURA 24 PROBLEMA REGULATRIO DISTRBIO. .......................................................................................... 34
FIGURA 25 - DIAGRAMA DE BLOCOS DA APLICAO DO CONTROLADOR PID PARALELO IDEAL .......................... 38
FIGURA 26 DIAGRAMA DE BLOCOS DA APLICAO DO CONTROLADOR PID EM SRIE .................................... 39
FIGURA 27 DIAGRAMA DE BLOCOS DA APLICAO DO CONTROLADOR PID PARALELO IDEAL COM FILTRO
DERIVATIVO (FD) ....................................................................................................................................... 41
FIGURA 28 - DIAGRAMA DE BLOCOS DA APLICAO DO CONTROLADOR PI-D COM FILTRO DERIVATIVO............ 42
FIGURA 29 DIAGRAMA DE BLOCOS DA APLICAO DO CONTROLADOR PID EM SRIE COM FILTRO
DERIVATIVO .............................................................................................................................................. 44


FIGURA 30 - TABELA DE APLICAO DO MODBUS .............................................................................................. 44
FIGURA 31 MENSAGEM MODBUS .................................................................................................................... 45
FIGURA 32 ESTRUTURA MECNICA . ................................................................................................................ 50
FIGURA 33 PLACA DO HARDWARE DURANTE OS TESTES .................................................................................. 51
FIGURA 34 DIAGRAMA DE BLOCOS DO HARDWARE. ........................................................................................ 53
FIGURA 35 FLUXOGRAMA DE PROGRAMAO ................................................................................................ 55
FIGURA 36 FLUXOGRAMA DE COMUNICAO MODBUS.................................................................................. 58
FIGURA 37 TELA PRINCIPAL SUPERVISRIO...................................................................................................... 60
FIGURA 38 TELA AUXILIAR SUPERVISRIO ....................................................................................................... 61
FIGURA 39 PROJETO DURANTE OS TESTES ....................................................................................................... 62
FIGURA 40 - RESPOSTA DA PID1 AO SETPOINT DE 130. ....................................................................................... 64
FIGURA 41 - RESPOSTA DA PID1 AO SETPOINT DE 150. ....................................................................................... 64
FIGURA 42 - RESPOSTA DA PID2 AO SETPOINT DE 130 ........................................................................................ 65
FIGURA 43 - RESPOSTA DA PID2 AO SETPOINT DE 150 ........................................................................................ 66
FIGURA 44 - RESPOSTA DA MALHA ABERTA AO SETPOINT DE 200 ...................................................................... 67
FIGURA 45 - RESPOSTA DA MALHA ABERTA AO SETPOINT DE 210 ...................................................................... 68






LISTA DE TABELAS

TABELA 1 - CLCULO DO PRIMEIRO MTODO DE ZIEGLER-NICHOLS. ...................................................................... 31
TABELA 2 - CLCULO DO SEGUNDO MTODO DE ZIEGLER-NICHOLS. ...................................................................... 33
TABELA 3 - CLCULO PELO MTODO DE CHR PARA RESPOSTA MAIS RPIDA SEM SOBRE VALOR DE PROBLEMAS DO
TIPO MUDANA DE SETPOINT. ...................................................................................................................... 35
TABELA 4- CLCULO PELO MTODO DE CHR PARA RESPOSTA MAIS RPIDA SEM SOBRE VALOR DE PROBLEMAS DO
TIPO PERTURBAO ...................................................................................................................................... 35
TABELA 5 CLCULO DO MTODO DE RESPOSTA RPIDA COM 20% DE SOBRE VALOR PARA PROBLEMAS DO TIPO
MUDANA DE SETPOINT ............................................................................................................................... 36












SUMRIO
1 INTRODUO ........................................................................................................ 8
1.1 OBJETIVO GERAL ............................................................................................. 11
1.2 OBJETIVO ESPECFICO ................................................................................... 11
1.3 PROBLEMA ....................................................................................................... 12
1.4 JUSTIFICATIVA ................................................................................................. 12
1.5 ESTRUTURA DO TRABALHO ........................................................................... 14
2 FUNDAMENTAO TERICA ............................................................................ 16
2.1 FUNO DEGRAU ............................................................................................ 16
2.2 COMPONENTES DE UM SISTEMA DE CONTROLE ......................................... 17
2.3 CRITRIOS DE ANLISE .................................................................................. 21
2.4 MODOS DE CONTROLE DO CONTROLADOR PID .......................................... 23
2.5 MTODOS DE SINTONIA .................................................................................. 29
2.6 ARRANJOS PID ................................................................................................. 36
2.7 COMUNICAO MODBUS RTU ........................................................................ 44
3 DESENVOLVIMENTO .......................................................................................... 49
3.1 ESTRUTURA MECNICA .................................................................................. 49
3.2 HARDWARE ...................................................................................................... 50
3.3 PROGRAMAO ............................................................................................... 53
3.4 COMUNICAO ................................................................................................ 56
3.5 SUPERVISRIO ................................................................................................ 59
3.6 FUNCIONAMENTO ............................................................................................ 61
4 TESTES ................................................................................................................ 63
5 CONCLUSO ....................................................................................................... 69
REFERNCIAS ....................................................................................................... 71
APNDICES ............................................................................................................ 73



8

1 INTRODUO
Em meados dos anos 30 do sculo XX, matemticos desenvolveram um
algoritmo chamado controle PID (Proporcional, Integral, Derivativo). Contudo, no
panorama internacional, os controladores PID industriais surgiram a partir dos anos 80,
quando os microprocessadores conseguiram atingir uma capacidade de processamento
e memria capazes de executar alguns algoritmos PID. No Brasil, apenas em 1993 uma
empresa nacional lanou um equipamento semelhante, porm limitado se comparado
aos produtos estrangeiros. Hoje, so possveis de se encontrar no mercado,
controladores com vrios tipos de algoritmos de controle, inclusive com autoajuste de
parmetros por mtodos de sintonia variados, ficando a critrio do tcnico a escolha
dos mesmos (CAON 1999).
O PID usado nas indstrias para o controle dos processos. Tais controles so
feitos em malha fechada, pois a resposta do sistema retorna ao controle sob forma de
erro, ou seja, a subtrao entre valor desejado e valor medido. Para exemplificar
apresenta-se um controle contnuo de um tanque de gua, como demonstrado na figura
1.

Figura 1 - Tanque de nvel, exemplo de controle contnuo
Fonte: SCHNEIDER (2011, p. 5).
9

No tanque observa-se a vlvula de nvel LV para enchimento, outra vlvula, para
esvaziamento - a qual est fora da malha de controle e o sensor de nvel LT.
Desconsiderando a presso da gua, com as duas vlvulas abertas no mesmo
percentual e supondo-se vlvulas iguais, tem-se a estabilidade do sistema, onde o
montante de gua que sai o mesmo que entra. Porm, assume-se que o tanque
esteja vazio e a vlvula no controlada no tem sua abertura alterada, permanecendo
constante em um percentual entre 0 e 100%. A partir do momento em que o controle
percebe que o nvel do tanque est vazio, ele atua na vlvula LV, que manipulada de
forma a permitir a passagem total do lquido at que o sensor LT reconhea o tanque
cheio. Quando LT detectar o tanque cheio, o controlador ir reduzir a abertura da
vlvula manipulada, fazendo com que o fluxo de entrada e sada de gua se estabilize.
Entretanto, algum pode alterar a abertura da vlvula que no est presente no
controle. Nesse momento, o sensor LT percebe que houve uma variao e envia a
informao para o controle. O controle gera um sinal de correo para a vlvula LV e
essa dinmica ocorre at a estabilizao do sistema.
Diante disso, torna-se importante a descrio de duas topologias, em Malha
Aberta e em Malha Fechada.
Sistema de controle em malha aberta o nome dado aos sistemas nos quais o
sinal de sada no causa nenhuma interferncia na ao de controle a ser tomada, ou
seja, no h a retroao e no h o sinal de erro, h somente o sinal de entrada. Ao
receber o sinal de entrada a ao executada, porm o resultado no repercute em
uma nova ao, sendo assim o processo torna-se dependente de uma prvia
calibrao. Exemplos de controle em malha aberta tambm so muito simples. A
mquina de lavar roupas no verifica o coeficiente de limpeza realizado, executando o
ciclo programado independentemente da quantidade de sabo, por exemplo. A figura 2
mostra um exemplo de um sistema de controle malha aberta (OGATA, 1998).
10


Figura 2 - Controle de Malha Aberta
Fonte: Autoria Prpria.

Segundo Cruz (2004), nos sistemas de controle em malha fechada, a sada
utilizada para alterar o controle, por isso sinnimo de sistemas com realimentao. O
controlador um dispositivo que usa o erro do comparador, entre o valor desejado
(setpoint) e o valor real. Um exemplo disso a geladeira domstica. Por meio do boto
de regulagem de temperatura, a geladeira mantm-se fria, a despeito das perturbaes
externas, tais como variaes da temperatura ambiente.
Sistemas de controle a malha fechada so sistemas de controle com retroao,
isto , o sistema mantm uma relao entre a sada e a referncia. O erro obtido pela
subtrao entre o sinal de sada do processo e o sinal de entrada. A diferena entre o
sinal de entrada e o sinal de retroao, excita o controlador de modo que este atue no
processo com o objetivo de reduzir cada vez mais o prprio erro, trazendo o valor do
sinal de sada para o valor desejado (OGATA, 1998).
Existem inmeros exemplos de controles a malha fechada em diversas reas
(controle de temperatura, vazo, refrigerao, presso, entre outros). O sistema de
refrigerao de notebooks um exemplo. Sabendo-se que existe uma faixa de
temperatura segura para o funcionamento do computador e supondo que a faixa de 30
a 40C seja ideal para o funcionamento, o controle no acionar o ventilador caso a
temperatura esteja nesta faixa, porm se ultrapassar os 40C a diferena entre a faixa e
o sinal de sada explicitar um valor positivo e o ventilador ser acionado para corrigir
11

essa desconformidade (OGATA, 1998). A figura 3 mostra um sistema de controle
malha fechada.

Figura 3 - Controle de Malha Fechada
Fonte: Adaptado de OGATA (1998, p. 54).

Visto isso, passa-se para a anlise do distrbio.
O distrbio causa uma variao indesejada no processo. Em malha fechada,
sendo um sistema de refrigerao, o distrbio pode ser criado a partir e uma fonte de
calor que elevar a temperatura indesejadamente.
1.1 Objetivo Geral
Desenvolver um sistema (hardware, firmware e a planta didtica) para utilizar
como ferramenta de ensaio de controles PID industriais.
1.2 Objetivos Especficos
- Pesquisar sobre arranjos PID;
- Desenvolver um hardware;
- Estudar a discretizao de alguns arranjos PID;
12

- Desenvolver um firmware para os arranjos PID;
- Desenvolver a estrutura da planta;
- Desenvolver o modelo didtico da planta;
- Desenvolver a interface de comunicao hardware PC;
- Realizar ensaios para levantamento de dados quantitativos a respeito dos PID;
1.3 Problema
A motivao presente na elaborao da ferramenta acadmica de ensaios de
controles utilizando PID microcontrolados a de demonstrar o funcionamento dos
arranjos de PID na prtica e aplicar os processos de discretizao, buscando mostrar
como pode ser feita a discretizao do PID e sua respectiva aplicao em um processo
real. H tambm a demonstrao didtica dos arranjos de PID para aperfeioar os
estudos dos acadmicos e interessados na rea, assim como h a demonstrao da
integrao dos PID com o sistema supervisrio que so corriqueiramente
implementados nas indstrias. A escassez de plantas trabalhadas com PID para ensaio
e a no prtica do desenvolvimento de algoritmos de PID tambm motivaram a
elaborao do trabalho.
1.4 Justificativa
O trabalho visa a difundir o conhecimento dos controladores PID, dos programas
supervisrios e da integrao entre as reas para todos os interessados, bem como
fornecer base para futuros estudos acerca dos processos utilizados no projeto. Tambm
faz parte do alcance do projeto a utilizao de PID em microcontroladores - matria que
no foi estudada na graduao. Com o kit ser possvel entender melhor o
comportamento de um algoritmo PID embarcado em uma malha de controle fechada.
A Figura 4 mostra o Projeto a ser desenvolvido com as respectivas atuaes
explicadas.
13


Figura 4 - Esquemtico do Projeto Desenvolvido
Fonte: Autoria Prpria.
O controle ser feito atravs de um microcontrolador e far com que o ventilador
equilibre a balana, atuando de maneira proporcional ao distrbio. O sensor, que um
potencimetro, ser responsvel por traduzir de forma correta para o controle a posio
da balana. Com a ocorrncia de algum distrbio na outra ponta da balana ela se
desestabilizar e depender da atuao do controle para buscar o equilibro novamente.
Todo o processo mencionado ser transmitido ao operador, o qual estar
comandando o software supervisrio no computador. Este operador observar o
desempenho do processo, assim como poder efetuar mudanas a partir do
supervisrio. A comunicao ser feita por meio do protocolo modbus.

14

1.5 Estrutura do Trabalho
O captulo 1 traz a Introduo, a qual trata dos aspectos iniciais do trabalho, bem
como mostra os objetivos, problemas e justificativas para o desenvolvimento do
prottipo. Tambm na introduo so dadas breves explicaes sobre os tipos de
malhas existentes e os tipos envolvidos no projeto.
O captulo 2 mostra a fundamentao terica do presente trabalho. So vistos
conceitos aplicveis s malhas de controle, tais como a funo degrau. Outro aspecto
abordado so os componentes do sistema de controle como setpoint, erro, variveis
controladas e manipuladas, entre outros. So aspectos que tem relao direta com o
tipo de malha utilizada no presente projeto, no caso, a malha fechada. So vistos
tambm os critrios de anlise das respostas transitrias do sistema, como o tempo de
atraso (Td), o tempo de subida (Ts) e o tempo de pico (Tp), por exemplo, os quais so
podem ser observados na curva de resposta e servem de anlise para melhorar a
regulagem do sistema. Alm disso, pode-se observar no captulo 2 as diferentes aes
de controle do PID e os mtodos de sintonia de CHR e Ziegler-Nichols, e suas
respectivas tabelas para a construo de parmetros Kp, Ti e Td otimizados. No item
2.6 so apresentados 5 tipos diferentes de arranjos discretizados de PID. So
apresentados os diagramas em bloco dos PID e grficos com as respostas dos arranjos
para respostas em degrau e com parmetros especficos. Alm disso, so
demonstradas as equaes respectivas a cada arranjo e o mtodo utilizado para
realizar a discretizao. No ltimo tpico do captulo, apresentada a comunicao
modbus com um breve histrico e uma pequena explicao acerca dos pacotes
enviados e recebidos e seus modos de envio e recebimento.
O captulo 3 contm informaes sobre o desenvolvimento do prottipo,
abordando itens como: estrutura mecnica, hardware, programao, comunicao,
software supervisrio e o funcionamento do projeto, sendo que o hardware e a
programao possuem diagramas que so complementados pelos apndices presentes
neste trabalho. Este captulo tambm conta com a definio e uma breve explicao
dos componentes utilizados e suas funcionalidades no projeto. Quanto comunicao,
tem-se sua programao anexada ao apndice, como tambm h figuras para melhor
entendimento do procedimento de comunicao. O item 3.5 mostra o desenvolvimento
15

do software supervisrio e algumas telas para observao e estudo dos grficos
gerados pelo prottipo. O ltimo item do captulo trata do funcionamento do projeto com
sua explanao.
No captulo 4 encontra-se o levantamento de grficos de testes de dois tipos
diferentes de arranjos de PID e suas anlises em relao a dois setpoints diferentes,
bem como a anlise de respostas de uma malha aberta do sistema. Por fim, os testes
visam mostrar diferenas em relao aos PID utilizados.
No captulo 5 apresenta-se a concluso do presente trabalho e propostas de
possveis trabalhos futuros.

















16

2 FUNDAMENTAO TERICA
Nesse captulo sero abordadas a funo degrau e os componentes de um
sistema - tais como setpoint, erro, varivel controlada e varivel manipulada, entre
outros. Tambm consta os critrios de anlise da resposta transitria, como tempo de
atraso e tempo de subida; e os modos de controle do controlador PID. Alm disso, so
vistos os mtodos de sintonia, tais como o primeiro e segundo mtodos de Ziegler-
Nichols, e o mtodo CHR; os arranjos de PID: controlador PID em arranjo paralelo ideal,
controlador PID em arranjo srie, controlador PID em arranjo paralelo ideal com filtro
derivativo, controlador PI-D em arranjo srie com filtro derivativo e controlador PID em
arranjo srie com filtro derivativo; e a Comunicao modbus RTU e seus respectivos
pacotes de envio e recebimento de dados. Entretanto todos esses aspectos sero
explanados e detalhados no decorrer do captulo.
2.1 Funo Degrau
A funo degrau representa a mudana do valor de uma varivel, que pode ser
para mais ou para menos. A alterao da temperatura desejada em um aquecedor
pode ser representada por uma funo degrau: Ao mudar de 20C para 22C teremos
um degrau de 2C, sendo a funo degrau uma transio instantnea e discreta.
(Ogata, 1998)
O grfico da funo degrau demonstrado na figura 5:

Figura 5 - Funo Degrau
Fonte: SCHNEIDER (2011, p. 12).
17

2.2 Componentes de um Sistema de Controle:

Figura 6 - Malha fechada sob anlise
Fonte: Adaptado de OGATA (1998, p. 55).

Passa-se anlise dos componentes de um sistema de controle como
demonstrado na figura 6:
a) Setpoint (SP)
O setpoint a varivel de entrada, o valor de referncia do controlador, (valor
desejado) que utilizado para o clculo do erro. Em uma temperatura que possa variar
de 0C a 200C, supondo variaes lineares e a variao do setpoint de 0 a 100, para
cada variao de 1% no setpoint teremos 2C variados. Iremos obter uma reta partindo
da Origem onde SP = 0 e T =0 variando 2C a cada 1% aumentado, ento se
desejarmos uma temperatura de 86C, neste exemplo, o setpoint ser de 43% (OGATA,
1998).
b) Erro
O erro a varivel calculada entre a diferena do sinal referncia (setpoint) e a
sada do sistema. Esse sinal usado para se determinar como a ao de controle ir
atuar no sistema para que varivel de sada fique o mais prximo possvel da
referncia. Ainda utilizando o exemplo, caso se deseje 86C o setpoint ser 43% e
nesse momento tem-se uma temperatura de 20C, ou seja, 10%. O valor do erro ser o
18

valor do setpoint subtrado do valor da temperatura e, calculando esse valor, chega-se
a 33%. Esse sinal de 33% ser usado para gerar uma correo a fim de atingir a
temperatura desejada (OGATA, 1998).
c) Varivel Controlada (PV)
A varivel PV varivel de processo, process variable (PV) ou varivel
controlada, entendida como, por exemplo, a presso, o nvel, a temperatura, vazo,
velocidade, posio ou qualquer que seja a varivel que se controle. Ela muda de
acordo com a variao na entrada e sua representao numrica usada no clculo do
erro pela formula E= SP-PV ou E=PV-SP dependendo do controle em questo. A PV
o objetivo do controle. No caso do exemplo anterior a PV a temperatura (OGATA,
1998).
d) Varivel Manipulada (MV)
A varivel manipulada, manipulated variable (MV), a varivel de sada do
controlador, a varivel que atua na planta. chamada de manipulada porque, por
exemplo, quando em malha aberta a nica que atua na planta e que literalmente
manipulada, sem a necessidade de prvio processamento ou de ajustes. Portanto
possvel perceber que para o controle da varivel controlada (controle indireto)
necessrio a varivel manipulada (controle direto) (OGATA, 1998).
e) Sensor
O sensor o dispositivo responsvel por mensurar a sada e informar de forma
precisa qual o valor medido. Essa informao comparada ao SP gerando o erro que
o sinal processado pelo controle. O sensor, pea fundamental da malha, deve estar
sempre calibrado, pois deve enviar o valor medido precisamente (OGATA, 1998).
f) Controle
O controle o protagonista no sistema e para que este funcione adequadamente
so utilizados os controladores industriais. Neste sentido existe o controlador PID que
executa aes proporcional, integral e derivativa que sero abordadas na seo 2.2. A
sua funo est em atuar no processo e buscar a estabilizao do sistema (OGATA,
1998).
19

g) Planta
A planta o conjunto de equipamentos que fazem parte do processo. Sua
representao pode ser feita em uma equao no plano S. Quando a planta recebe o
sinal do controlador, esta envia a resposta de acordo com sua equao, a qual a fiel
reproduo do processo e assim pode-se afirmar que impossvel duas equaes de
plantas serem idnticas devido aos diversos fatores que influenciam na sua
composio. A planta representada por meio de uma funo de transferncia
(OGATA, 1998).
Funo de transferncia uma funo que representa as relaes de entrada e
sada dos componentes ou sistemas, que podem ser descritos atravs de equaes
lineares - representa a unio das equaes relativas a cada equipamento do sistema. A
funo de transferncia de um sistema representado por equaes diferenciais lineares
invariantes no tempo definida como a relao entre a transformada de Laplace do
sinal de sada (funo resposta) e a transformada de Laplace do sinal de entrada
(funo excitao), na hiptese de que todas as condies iniciais so nulas (OGATA,
1998). A ttulo de exemplo, a figura 7 e as equaes 1 a 7 apresentam a Funo de
Transferncia de um carrinho, que neste caso ser a planta do nosso sistema.
A funo de transferncia uma equao que relaciona algebricamente a sada
de um sistema sua entrada. Essa funo permite combinar algebricamente
representaes matemticas de vrios subsistemas para obteno do sistema total.
(NISE, 2000)

Figura 7 - Exemplo de uma planta de referncia para gerao de uma funo de transferncia
situao real
Fonte: Adaptado de SCHNEIDER (2011, p. 12).
20


Nesse exemplo, sabe-se que para a locomoo do carrinho necessria uma
fora (F) suficiente para mov-lo apesar de sua massa (m) e de sua resistncia (b), a
acelerao (a) e a velocidade (V) (SCHNEIDER, 2011). Equaes (1) a (6) propostas
por Schneider para a resoluo da planta do carrinho (2011).
Tem-se que:
(1)
E sabe-se que:

(2)
Ento:

(3)
Transpondo a equao para o plano S:

(4)

Considerando F(s) a excitao e V(s) a Resposta:

(5)
Assim, se a massa for 1000 e a resistncia for 50, teremos:

(6)
A figura 8 mostra a malha fechada (MF) do sistema de controle de velocidade
para o carrinho. Considerando o carrinho com massa de 1000 kg e um coeficiente de
atrito b de 50. PV representa a velocidade do carrinho e MV representa a fora. O
sensor mede a velocidade do carrinho e realimenta o sistema (SCHNEIDER, 2011).
21


Figura 8 - Sistema em malha fechada do controle do movimento da massa
Fonte: Adaptado de SCHNEIDER (2011, p. 12).
2.3 Critrios de Anlise
Para analisar a resposta transitria do sistema, so analisados os seguintes
aspectos representados na figura 9. Para a anlise, aplicada uma funo degrau
como excitao:

Figura 9 - Anlise da Resposta Transitria
Fonte: Adaptado de SCHNEIDER (2011, p. 16).
22



a) Tempo de atraso, (Td) (delay time).
O tempo de atraso o tempo necessrio para o sistema atingir a metade do
valor da sua acomodao final. Se o sistema se estabiliza com o valor de 70, o Td o
tempo necessrio para atingir o valor de 35 (OGATA, 1998).
b) Tempo de subida (Ts) ou (Tr) (rise time).
O tempo de subida o tempo necessrio para o sistema chegar a 100% do valor
da sua acomodao final. (OGATA, 1998).
c) Tempo de pico, (Tp) (peek time).
O tempo de pico o tempo necessrio para o sistema chegar ao seu primeiro
pico no sobressinal (OGATA, 1998).
d) Tempo de Acomodao (Ta).
O tempo de acomodao o tempo necessrio para que a curva de resposta se
estabilize, e pare de oscilar. Pode-se adotar faixas para definir o sistema acomodado,
como por exemplo, faixas de 2% a 5% (OGATA, 1998).
e) Erro em Regime Permanente (Erp).
Segundo Cruz (2004), o desempenho dos sistemas de controle pode ser
especificado no somente na resposta transitria, mas tambm no erro estacionrio em
relao aos sinais de referncia como o degrau.
O erro em regime permanente a diferena obtida entre o momento de
estabilidade de duas curvas: a desejada e a obtida. Quando o erro em regime
permanente diferente de 0 conclui-se que o sistema no conseguiu cumprir sua
funo de atingir o ponto desejado. Assim, devem-se fazer novos ajustes no controle
PID (OGATA, 1998).
f) Overshoot (Mp)
O overshoot Mp ou sobressinal representa o valor ultrapassado, no primeiro
momento, do sinal de resposta. Somente levado em considerao o primeiro
23

momento porque o sistema tende a se estabilizar, portanto em um segundo momento o
overshoot poder ser menor. O sobressinal indesejado pelo fato de causar um
impacto que pode desregular a resposta do sistema e torn-lo instvel. (CRUZ, 2004).
2.4 Modos de Controle do Controlador PID
As aes do controlador PID so: Ao Proporcional, Ao Proporcional Integral,
Ao Proporcional Derivativa, Ao Proporcional Integral Derivativa. A figura 10
apresenta a malha fechada, estando o PID presente no bloco de Controle. As equaes
dos Blocos representam as aes Proporcional (P), Integral (I) e Derivativa (D).

Figura 10 - Exemplo em lgebra de blocos da aplicao do controle PID
Fonte: Adaptado de OGATA (1998, p. 545).

a) Ao Proporcional
Segundo Bazanella (2000), a ao proporcional realiza um controle diretamente
proporcional ao desvio percebido. Por exemplo, caso o ganho do controle seja 2 a ao
duplicar o valor do erro. Assim, uma variao na entrada de 10 resultaria numa
variao da sada de 20. Essa ao ser dada pela frmula em
que c(t) representa a correo em funo do tempo, e(t) o erro em funo do tempo,
24

Kp o ganho proporcional do controle e Po a varivel de processo. Percebe-se nas
figuras 12 e 13 que a ao proporcional no elimina o erro em regime permanente. Na
figura 12 utilizado um ganho proporcional baixo. Na mudana de setpoint, a sada fica
longe do desejado. Na figura 13 aplicado um ganho proporcional alto, o sistema
responde com um overshoot alto e aproxima-se mais do sinal desejado, porm no h
a eliminao do erro em regime permanente. A equao (7) representa
matematicamente o controle proporcional, sendo (c) a sada do controlador e erro (e)

(7)
Equao do controle Proporcional
Efeito do controle proporcional em malha aberta:

Figura 11 - Efeito do controle em malha aberta
Fonte: SCHNEIDER (2011, p. 26).

25

Na figura 11 tem-se a demonstrao do efeito de controle em malha aberta onde
o SP aumentado em 10% e concomitantemente a sada tambm aumenta 10%.
Ao do controle proporcional em Malha Fechada:

Figura 12: Controle em Malha Fechada e aplicao do efeito Proporcional com baixo ganho
Fonte: Autoria Prpria.

Figura 13: Controle em Malha Fechada e aplicao do efeito Proporcional com alto ganho
Fonte: Autoria Prpria.

26

b) Ao Proporcional-Integral
A ao proporcional-integral aplica tanto um fator proporcional ao erro quanto um
fator integral. O primeiro tende a acelerar a resposta do sistema, e o segundo tende a
reduzir ou eliminar o erro em regime permanente (BAZANELLA, 2000). Ti representa o
tempo de integrao. A relao da equao (8) mostra que se o Kp for 1 e o Ti for
1minuto, a cada 1 minuto de integrao, o sinal de sada c(t) variar a porcentagem
relativa ao erro (PV - SP). Ou seja, a cada Ti minutos a ao Kp se repete. Percebe-se
na figura 14, que a ao PI elimina o erro em regime permanente.

(8)
Equao do controle PI

Agora h a aplicao do efeito integral e do efeito proporcional. O efeito integral
corresponde a uma rampa como demonstrado na figura 14. Essa rampa a variao do
efeito em um determinado perodo de tempo. Depois de aplicada essa variao, o
sistema permanece com o efeito resultante da ao integral que o responsvel pela
eliminao do erro em regime permanente como demonstrado na figura 15:

Figura 14 - Ao de controle Proporcional Integral em Malha Aberta
Fonte: SCHNEIDER (2011, p. 27).

27

Ao Proporcional Integral em Malha Fechada:

Figura 15 - Ao de controle Proporcional Integral em Malha Fechada
Fonte: Autoria Prpria.

c) Ao Proporcional Integral Derivativa.
a ao de controle que contm as trs aes de controle: Proporcional,
Integral e Derivativa. Alm dos efeitos das aes P e I, a ao derivativa antecipa o
controle em sua resposta, portanto contribui para uma resposta mais rpida com um
sobressinal reduzido. A ao integral elimina o erro em regime permanente e a ao
proporcional aumenta a velocidade da resposta. O efeito causado pelo controlador PI
eliminado pela ao derivativa. Essa ultima ao aumenta a estabilidade do sistema e
torna a resposta mais rpida. Ela causa um efeito antecipatrio (BAZANELLA, 2000).
um dos controles mais utilizados nas indstrias. Percebe-se que a ao derivativa
diminui as oscilaes da curva. A equao de controle PID, sendo Kp o ganho
proporcional, Ti o tempo de integrao e Td o tempo de derivao, a seguinte:
28


(9)


Equao do controle PID

Na figura 16, tem se a ao PID em malha aberta. Nela possvel ver a ao
derivativa, a qual faz com que haja uma antecipao no sinal de resposta do controle.
Alm dessa ao, pode ser observada as outras duas: proporcional e integral.

Figura 16 - Ao Proporcional Integral Derivativa em Malha Aberta
Fonte: SCHNEIDER (2011, p. 29).


29

Na figura 17, mostra-se a ao do controle PID em malha fechada. Nessa ao
no h overshoot nem erro em regime permanente. O primeiro foi eliminado por meio
da insero do controlador derivativo. O segundo foi sanado com a utilizao do
controle integral.
Ao PID em malha fechada:

Figura 17 - Ao Proporcional Integral Derivativa em malha fechada
Fonte: Autoria Prpria.

2.5 Mtodos de Sintonia
Nesse item so analisados os mtodos de sintonia do PID. Esses mtodos foram
desenvolvidos com o objetivo de aperfeioar a regulao por meio da aplicao de
constantes que multiplicam os parmetros. Dentre eles esto o primeiro e o segundo
mtodo de Ziegler-Nichols e o mtodo CHR.
a) Primeiro Mtodo de Ziegler-Nichols
30

O mtodo Ziegler-Nichols, segundo Ogata (1998), define uma tabela que permite
encontrar o valor de Kp, Ti e Td para o controlador. Para a aplicao da tabela
necessrio encontrar o valor do perodo crtico (Pu), que obtido depois de achado o
ganho crtico (Ku). O ganho crtico obtido aumentando-se o ganho at que a curva de
reposta oscile perfeitamente. Depois de verificada essa condio, obtido o perodo
crtico, que o perodo da oscilao obtida. Aplica-se a funo degrau, regula-se o
ganho e obtm-se o Ku e o Pu, conforme mostra a figura 18.

Figura 18 - Malha Fechada com Ganho Ku
Fonte: Autoria Prpria.
Com o Ku aumentado at que se tenha a instabilidade do sistema obter-se- um
grfico como demonstra a figura 19:

Figura 19 - Resposta temporal instvel com Ganho Crtico
Fonte: SCHNEIDER (2011, p. 41).
31

Depois de obtidos os valores de Ku e Pu, possvel encontrar os parmetros do
controlador para as aes Kp, Ti e Td conforme demonstra a tabela 1.
Tabela 1- Clculo do primeiro mtodo de Ziegler-Nichols.

Tipo do controlador Kp TI Td

P 0,5Ku 0
PI 0,45Ku 0,833Pu 0
PID 0,6Ku 0,5Pu 0,125Pu
Fonte: OGATA (1998).

b) Segundo Mtodo de Ziegler-Nichols
Ziegler e Nichols, segundo Ogata (1998), determinaram regras para se calcular
um valor aproximado dos parmetros PID, (Kp, Td e Ti) a partir de valores da dinmica
da planta. Em seu segundo mtodo aplicada a funo degrau diretamente na planta,
obtendo-se assim uma curva. Dessa curva so extrados dados que sero alocados em
uma tabela para a obteno dos valores de Kp, Ti e Td. Nas figuras 20 e 21 temos L =
Tempo morto K= ganho da planta, T = tempo. Na figura 20, h a aplicao de um
degrau na funo da planta e em seguida h a anlise dos grficos de resposta da
planta. Traa-se uma reta com a inclinao da curva de resposta e considera-se o
tempo morto a distncia da origem do eixo das abscissas at o ponto em que a reta
toca o eixo. O tempo T calculado por meio da subtrao do valor correspondente a
63,2% da curva de resposta, menos o valor de L. Tambm pode-se calcular L e T por
meio da utilizao de duas formulas de tempo: t1 e t2. O valor de t1 corresponde ao
valor de 28,3% da curva de resposta e representa a soma de L com T/3. O valor de t2
corresponde a 63,2% da curva de resposta e representa a soma de L e T. A figura 21
mostra K, L e T.
32


Figura 20 - Anlise do degrau na FT da Planta
Fonte: Adaptado de SCHNEIDER (2011, p. 43).

Figura 21 - Curva representando K, L e T
Fonte: MECATRNICA (2012, p. 13).
33

Observa-se na tabela 2 que os parmetros de Kp, Ti e Td so definidos pelo
tempo (T) e pelo tempo morto (L) no segundo mtodo de Ziegler-Nichols.
Tabela 2 - Clculo do segundo mtodo de Ziegler-Nichols.

Tipo do controlador Kp TI Td

P


0
PI


0
PID


2L 0,5L
Fonte: OGATA (1998).

c) CHR
Problema servo a situao em que o ponto de operao deve seguir uma
trajetria, por exemplo: um reator com volume fixo alimentado, e as temperaturas
devem seguir uma trajetria no tempo (variao no processo). Pode ser caracterizado
por um degrau no setpoint (CAMPOS, 2006). Vide figura 22.

Figura 22 - Exemplo de problema servo.
Fonte: Adaptado de SCIENCE (2012).
34

Problema regulatrio a situao em que o ponto de operao (setpoint) fixo e
se deseja manter o processo o mais prximo possvel deste valor, apesar das
perturbaes (CAMPOS, 2006). De acordo com a figura 23, o setpoint permanece
estvel e em seguida ocorre um distrbio no sistema gerando uma perturbao na
sada. O problema regulatrio pode ser caracterizado pela aplicao de um degrau
como distrbio. de acordo com o demonstrado na figura 24.

Figura 23 - Exemplo de problema regulatrio.
Fonte: Autoria prpria.

Figura 24 - Problema Regulatrio; Distrbio.
Fonte: Autoria prpria.
35

O mtodo baseado na teoria de Chien, Hrones e Reswick, (CHR) que uma
modificao do mtodo de Ziegler-Nichols. O CHR calcula os parmetros para dois
tipos de critrios de desempenho. Examinando o critrio de resposta mais rpida sem
sobressinal e para problemas do tipo servo, podemos calcular as variveis do
controlador PID como mostra a tabela 3. tambm obtido com a funo degrau sendo
aplicada Planta. Os valores de K, L e T so obtidos da mesma forma que para
Ziegler- Nichols (OGATA, 1998).
Tabela 3 - Clculo pelo mtodo de CHR para resposta mais rpida sem sobre valor de problemas
do tipo mudana de setpoint.

Tipo do controlador Kp TI Td

P


0
PI


0
PID


Fonte: OGATA (1998).

Caso o problema seja perturbao pode-se usar a tabela 4:
Tabela 4 - Clculo pelo mtodo de CHR para resposta mais rpida sem sobre valor de problemas
do tipo perturbao.

Tipo do controlador Kp TI Td

P


0
PI


0
PID


2,375L
Fonte: OGATA (1998).


36

A tabela 5 informa como calcular os parmetros no critrio de resposta mais
rpida com 20% de sobressinal para problemas do tipo mudana do setpoint em degrau
(problema servo).
Tabela 5 - Clculo do mtodo de resposta rpida com 20% de sobre valor para problemas do tipo
mudana de setpoint.

Tipo do controlador Kp TI Td

P


0
PI


0
PID


1,357L
Fonte OGATA (1998).

2.6 Arranjos de PID
Nesse item sero vistos cinco arranjos de controladores PID discretizados. H a
demonstrao das frmulas dos arranjos assim como os grficos e os diagramas de
bloco. Os arranjos so: controlador PID em arranjo paralelo ideal, controlador PID em
arranjo srie, controlador PID em arranjo paralelo ideal com filtro derivativo, controlador
PI-D em arranjo srie com filtro derivativo e controlador PID em arranjo srie com filtro
derivativo.
Para a exemplificao das equaes tem-se: e = erro; Kp = ganho proporcional,
Ti = tempo derivativo, Td = tempo integrativo, Ki = Kp / Ti, Kd = Kp / Td, n = ndice de
amostragem, T = taxa de amostragem, N = ndice de filtro derivativo.

a) Controlador PID em Arranjo Paralelo Ideal
De acordo com a literatura, os controladores paralelos ideais dependentes so
denominados dependentes devido aos ganhos integrais e derivativos estarem
dependentes da variao do ganho Kp, ou seja, se alterar o ganho proporcional afetar
37

os demais parmetros. Esse controlador apresenta a equao (10) (IWASSE, 2009
p.34).

(10)

Aplicando a Transformada de Laplace:



Para obter a verso discreta deste controlador poderia se utilizar qualquer um
dos mtodos para discretizao. O mtodo da diferena atrasada (backward difference)
e a aproximao por Tustin no tendem a gerar instabilidade. Embora a aproximao
por Tustin realize um mapeamento mais prximo do ideal entre os planos s e z,
preferiu-se utilizar o mtodo da diferena atrasada (backward difference), pois se
consegue obter um algoritmo mais simples do ponto de vista computacional. Ento
fazendo uso deste mtodo, por substituio, a funo de transferncia do controlador
passa a ser a equao (11) (MORENO, 2010).

(11)
Desenvolvendo a equao (11):

(12)
Para no se trabalhar com termos no futuro, divide-se a equao (12) por

,
sendo k igual ao maior coeficiente positivo de z presente na equao, que neste caso
2.


Fazendo-se uso da identidade,


Obtm-se:
38



Isolando-se u(n):

(13)

A equao (13), proposta por Moreno (2010) representa o equivalente
discretizado do PID paralelo ideal sendo u(n) a varivel de sada e e(n) a varivel de
entrada. A figura 25 mostra o arranjo PID paralelo ideal proposto por Iwasse (2009) e
discretizado por Moreno (2010) na equao (13).


Figura 25 - Diagrama de blocos da aplicao do controlador PID paralelo ideal
Fonte: IWASSE (2009, p. 36).

b) Controlador PID em Arranjo Srie
Esse controlador possui ganhos dependentes, os ganhos Ki e Kd esto
relacionados com Kp , ou melhor, os tempos Ti e Td esto relacionados aos termos
integrais e derivativos sua equao definida conforme a equao(14) (IWASSE,
2009).
39

(14)
Aplicando a Transformada de Laplace:



Para a verso discretizada:


(15)

Figura 26 - Diagrama de blocos da aplicao do controlador PID em srie
Fonte: IWASSE (2009, p. 38).

A figura 26 demonstra o diagrama em blocos do PID em arranjo srio proposto
pelo Iwasse (2009). A equao (15), proposta por Moreno (2010) demonstra a equao
desse diagrama de blocos discretizada.


40

c) Controlador PID em Arranjo paralelo ideal com filtro derivativo
O controlador paralelo ideal nem sempre suficiente para controlar alguns
sistemas, em alguns casos adicionado um filtro no termo derivativo suprindo os
critrios de projeto do controlador. A equao do PID paralelo com filtro derivativo
definida conforme a equao (16) (IWASSE, 2009).

(16)

Aplicando a Transformada de Laplace:




Para a verso discretizada:

(17)


41


Figura 27 - Diagrama de blocos da aplicao do controlador PID paralelo ideal com filtro derivativo
(FD)
Fonte: IWASSE (2009, p. 42).

A figura 27 mostra o diagrama de blocos do PID em srie com filtro derivativo e a
equao (17), proposta por Moreno (2010), mostra a discretizao desse PID.

d) Controlador PI-D (Arranjo srie com Filtro Derivativo)
Esse controlador conhecido como Controlador Industrial (ODWYER), sua
estrutura composta de: um filtro derivativo acoplado na realimentao do sistema e os
termos: integral e proporcional (PI) esto acoplados na sada da variao do erro. A
equao do controlador PI-D mostrada na equao (18) (IWASSE, 2009).

(18)

Aplicando a Transformada de Laplace:
42



Para a verso discretizada:


(19)



Figura 28 - Diagrama de blocos da aplicao do controlador PI-D com filtro derivativo
Fonte: IWASSE (2009, p. 49).

43

A figura 28 mostra o diagrama de blocos do PID em srie com filtro derivativo e a
equao (19), proposta por Moreno (2010), mostra a discretizao desse PID.

e) Controlador PID (Arranjo srie com Filtro Derivativo)
Esse controlador muito utilizado, no entanto sua sintonia mais difcil, pois
todos os ganhos do controlador esto relacionados entre si e possui um filtro no termo
derivativo. Esse controlador possui a equao (20) (IWASSE, 2009).

(20)
Aplicando a Transformada de Laplace:



Para a verso discretizada:

(21)


44


Figura 29 - Diagrama de blocos da aplicao do controlador PID em srie com filtro derivativo
Fonte: IWASSE (2009, p. 55).


A figura 29 mostra o diagrama de blocos do PID em srie com filtro derivativo e a
equao (21), proposta por Moreno (2010), mostra a discretizao desse PID.
2.7 Comunicao modbus RTU
Modbus um protocolo de comunicao de dados utilizado em sistemas
de automao industrial posicionado no nvel sete do modelo OSI, que fornece
comunicao Cliente Servidor entre dispositivos conectados em diferentes tipos de
redes (MODBUS, 2012).
Na figura 30 mostra-se a tabela de aplicaes do MODBUS.

Figura 30 - Tabela de aplicao do MODBUS
Fonte: MODBUS (2012, p. 2).
45

O MODBUS vem sendo utilizado desde 1979, foi desenvolvido pela Modicon e
continua a permitir que milhes de dispositivos de automao se comuniquem. Hoje, a
estrutura do MODBUS continua a crescer. A comunidade pode utilizar o modbus por
meio do TCP / IP na porta 502 (MODBUS, 2012). A figura 31 apresenta o formato da
mensagem modbus.

Figura 31 - Mensagem modbus
Fonte: MODBUS (2012, p. 4).

O Protocolo modbus define uma unidade de protocolo protocol data unit (PDU)
- que independente das outras camadas de comunicao. Essa unidade pode ter
campos adicionais chamados de application data unit (ADU). O ADU produzido pelo
equipamento escravo e inicia a transcrio modbus. O cdigo da funo (function code)
indica ao mestre qual tipo de ao dever ser executada. Esse cdigo varia de 1 a 255
na base decimal (os nmeros 128 a 255 so reservados e usados para respostas de
excees). O campo dados da mensagem enviada pelo escravo contm informaes
adicionais que o mestre utiliza para realizar a ao definida pelo cdigo da funo.
Essas informaes incluem itens como endereos de registro, quantidade de itens a
serem manipulados e a contagem de bytes o campo. O campo dados tambm pode ser
inexistente (com tamanho zero) em certos tipos de requisies (MODBUS, 2012).
Pacote enviado pelo dispositivo mestre:
O pacote de escrita ou leitura do mestre se resume no quadro 1:


46

End. do
Dispositivo
Funo
End.
Registro/Registro
Inicial
Quant. de
Registros/Dados
CRC
1 Byte 1 Byte 2 Bytes 2 Bytes 3 Bytes

Quadro 1 - Pacote modbus Mestre
Fonte: MODBUS (2012).

a) Endereo do dispositivo:
o endereo que foi configurado dentro do dispositivo, no podendo haver dois
dispositivos com o mesmo endereo, pois haver conflito durante a resposta do
escravo. Apenas um escravo pode responder por vez. O endereo do dispositivo varia
de 1 a 255 podendo ser configurado de acordo com a necessidade do projeto
(MODBUS, 2012).
b) Funo:
o comando, ou seja, o que o escravo tem que realizar (MODBUS, 2012). Ver
quadro 2.
c) Endereo do Registro/Registro inicial:
o endereo do registro que se encontra a varivel requisitada pelo mestre para
a leitura ou a escrita. Quando a leitura feita em mais de um registro esse campo
definido com o registro inicial (MODBUS, 2012).
d) Quantidade de registros:
a quantidade de registros a mais que o mestre requisita alm dos endereos
do campo anterior (Registro Inicial) (MODBUS, 2012).
e) CRC:
Pode ser chamado de checksum e representa a soma dos bytes. Serve para
confirmar que a mensagem que est chegando corretamente (MODBUS, 2012).
47

Quadro 2 - Tabela de Cdigos de Comandos modbus.
Fonte: MODBUS (2012).
Cdigo do comando Descrio
01 L um nmero varivel
1
de sadas digitais (bobinas)
02 L um nmero varivel
1
de entradas digitais
03
L um nmero varivel
1
de registros retentivos (sadas
analgicas ou memrias)
04
L um nmero varivel
1
de registros de entrada (entradas
analgicas)
05
Fora uma nica bobina (altera o estado de uma sada
digital)
06
Preset de um nico registro (altera o estado de uma sada
analgica)
07 L excees
2
(registros de erro)
08 Vrias funes de diagnstico
15 Fora uma quantidade varivel
1
de bobinas (sadas digitais)
16
Preset de uma quantidade varivel
1
de registros (sadas
analgicas)
1
A quantidade de variveis a ler definida no frame de solicitao
2
Oito bits previamente configurados. No necessrio fornecer parmetros de
endereamento com este comando, pois o escravo vai enviar sempre os oito bits pr-
configurados.
48


O pacote de resposta do escravo est na quadro 3:


Quadro 3 - Pacote modbus Escravo.
Fonte: MODBUS (2012).

a) Endereo do escravo:
o prprio endereo do dispositivo escravo (MODBUS, 2012).
b) Cdigo da funo:
o mesmo cdigo da funo que o escravo recebeu no pacote do mestre, a
resposta obrigatoriamente tem que conter o mesmo cdigo (MODBUS, 2012).
c) Dados:
Este campo contm os dados requisitados pelo mestre, valores dos registros, ou
uma confirmao de escrita contendo a valor do que foi escrito (MODBUS, 2012).




Endereo do
Escravo
Cdigo da Funo Dados CRC
1 byte 1 byte 0 a 252 bytes 2 bytes (CRC-16)
49

3 DESENVOLVIMENTO
Neste captulo ser abordado o desenvolvimento do prottipo para ensaios de
tcnicas de controle programadas em microcontrolador, sua estrutura mecanica, o
hardware, a programao, a comunicao, o software supervisrio e o funcionamento
do prottipo.
Os softwares utilizados no desenvolvimento do prottipo foram: Elipse E3 para
realizar a superviso dos processos, assim como fornecer grficos, imagens, valores,
medidas e animaes em tempo real para o usurio; Labcenter Eletronics Proteus 7.1
para fazer a simulao dos componentes eletrnicos, do software no microcontrolador e
da placa de circuito impresso; emulador Hrcules para realizar testes com a
comunicao mediante as portas seriais; Microchip MikroC PRO for PIC, que um
ambiente de desenvolvimento de cdigos a serem implementados no PIC; Virtual Serial
Ports para criao de portas seriais virtuais para realizar testes de comunicao, com
ele foi possvel efetivar a comunicao do Proteus com o E3.
3.1 Estrutura Mecnica
A mecnica foi desenvolvida com o objetivo de criar uma sustentao e ao
mesmo tempo reduzir o peso do prottipo. Devido potncia do ventilador ser limitada,
prezou-se por um menor peso dos materiais para que a fora do ventilador seja bem
aproveitada. O material escolhido foi o renshape, comumente usado em prottipos
devido a sua leveza e moderada resistncia.
A parte mecnica composta por uma balana, duas hastes de sustentao e
um suporte. O ventilador preso a uma das hastes fazendo com que esta fique mais
pesada.
A figura 32 mostra o projeto em desenvolvimento e durante as fases de teste.
Nela pode-se observar a haste de suporte, o sensor potencimetro, o motor e a caixa
de suporte do projeto.
50


Figura 32 - Estrutura Mecnica
Fonte: Autoria prpria.
3.2 Hardware
A definio do hardware foi pea importante no desenvolvimento do trabalho,
pois definiria a base de programao e os mtodos de comunicao, alm de
influenciar na escolha do motor e transdutor angular do prottipo. A equipe usou uma
placa fabricada pela empresa Smart Radio, essa PCI (placa de circuito impresso)
prpria para desenvolvimento de microcontroladores da famlias PIC e possui vrios
recursos para desenvolvimento, entre eles: driver para motor de passo, duas interfaces
seriais RS232, teclado, entrada para teclado de PC, conector de carto SD, interface
USB, LCD grfico, entre outras. Neste projeto foi utilizado apenas o circuito responsvel
pela alimentao do PIC e a interface com serial RS232. Utilizamos o PIC 18F4520 pelo
custo e pela praticidade do componente. Apesar de pouco utilizado durante o curso, os
autores ganharam experincia com o hardware atravs da elaborao de outros
projetos que, pertinentes ao curso, influenciaram na deciso a favor do PIC18F4520.
Como o projeto necessita de alto processamento, o microcontrolador trabalha a uma
frequncia de 20MHz. Para realizar o trabalho do sensor de ngulo, escolheu-se o
51

potencimetro, o qual est localizado no centro da balana e aufere o ngulo medida
que a balana pende para um dos lados. O sinal varia de 0V a 5V sendo compatvel
com o limite de tenso da entrada analgica do PIC como receptor do sinal.
Foi utilizado o conversor analgico/digital presente no prprio PIC, o qual possui
10 entradas para os modelos de 28 pinos e 13 entradas para os modelos de 40 a 44
pinos. O PIC 18F4520 pode converter uma entradal analgica para o correspondente a
10 bits de um nmero digital. O conversor capaz de realizar 100.000 amostras por
segundo.
O PIC 18F4520 possui tambm 1536 bytes de memria RAM, memria de
armazenamento do tipo FLASH com tamanho de 32KB, quatro timers, sendo 1 de 8 bits
e 3 de 16 bits, EEPROM de dados de 256 bytes, alimentao de 2V a 5.5V e dois
comparadores. A figura 33 mostra a disposio dos componentes na placa do
hardware.

Figura 33 - Placa do hardware durante os testes
Fonte: Autoria prpria.

52

Quanto ao esquemtico, presente no apndice C, tem-se que o motor
acionado pelo o MOSFET IRF 620, que por sua vez chaveado com um sinal PWM
(permite controlar a potncia do motor atravs da largura de pulso) sada do
controlador PID.
O potencimetro o sensor para realimentao do sistema e medida que a
balana pende para um dos lados, o mesmo pode aumentar ou diminuir sua resistncia.
Quanto ao PIC18F4520, existiram vrias caractersticas que motivaram sua
utilizao. Possui frequncia de clock de at 40 MHz, sendo que no projeto foi utilizado
um cristal de 20 MHz; conversores analgicos digitais, sendo somente um usado no
projeto; Compatibilidade com a serial RS232, pois essa a porta serial utilizada no
projeto; Nveis de prioridade de interrupo: no projeto so utilizados dois nveis, sendo
o estouro do timer prioritrio sobre o conversor analgico/digital.
Alm disso, o PIC possui quatro sadas de modulao em largura de pulso
(PWM) sendo que, no projeto, utilizado um PWM para modular os pulsos que iro
aumentar ou diminuir a velocidade do ventilador. So tambm utilizados dois
temporizadores de 16 bits do PIC, para a programao.
J o MAX232 um circuito integrado produzido pela MAXIM que converte sinais
no padro RS232, que de -12V a 12V, para sinais TTL compatveis com os sinais de
circuitos lgicos e microcontroladores. Os sinais de sada podem ser de 0V a 3.3V ou
5V. No projeto utilizado a tenso de 5V. O prprio MAX232 gera uma tenso mais alta
suficiente para o seu funcionamento, no necessitando ser alimentado com uma fonte
de +12V e -12V como acontece com outros circuitos integrados de funo semelhante.
Para explanao do funcionamento do hardware, tem-se a Figura 34, a qual
apresenta um diagrama de blocos do circuito. A mensagem vinda do software E3 passa
pelo driver modbus RTU, fornecido pela elipse E3, e chega ao conversor MAX232 por
meio de uma porta serial DB9.

53


Figura 34 - Diagrama de Blocos do Hardware
Fonte: Autoria prpria.

O conversor por sua vez, transmite a mensagem ao PIC18F4520_40, sendo
este o responsvel por efetuar as rotinas e clculos necessrios continuidade do
processo. H tambm o valor recebido por meio do sensor potencimetro, o qual
tambm entra no clculo do Erro.
Aps isso, enviado um sinal ao MOSFET que regula a tenso aplicada ao
motor. Todas as ligaes e pinagens, assim como todas as nomenclaturas dos
componentes podem ser encontradas no apndice C.
3.3 Programao
A programao foi realizada com o MikroC e baseou-se em dois tipos de
discretizao, sendo que cada uma apresentou respostas diferentes em relao
comportamento da balana. Foram efetuados diversos testes com os dois tipos de
discretizao, os resultados foram comparados e elaborou-se um grfico do
54

desempenho do prottipo em relao programao. O grfico de testes pode ser
visualizado no captulo 4. Com esses testes tem-se uma melhor viso do PIC 18F4520
e sua velocidade de resposta em relao s diferentes programaes, resultando dessa
maneira em inmeras formas e possibilidades de controle para o processo e efetivando
os objetivos da elaborao do prottipo. O operador tambm pode escolher a funo de
malha aberta, a qual no possui realimentao e depende de uma calibrao prvia.
O programa conta com trs funes principais: Main, Interrupt e PID. A funo
Main executada desde o inicio do programa configurando o microcontrolador, suas
interrupes, conversor analgico/digital e sada PWM. A funo PID dispe os clculos
necessrios para a implementao da discretizao. Nesta obra so usadas duas
discretizaes. As equaes podem ser observadas no captulo 2 desta obra.
A funo interrupt a funo condicionada ao acontecimento de um evento,
portanto ela que efetivamente se comunica com as portas do projeto atravs da
funo de comunicao modbus RTU. As funes Main, Interrupt e PID, assim como
outras funes necessrias ao funcionamento do PIC podem ser vistas no apndice A.
Para o desenvolvimento do algoritmo foi de extrema importncia o estudo do
trabalho do Moreno (2010), no qual so apresentadas equaes discretizadas. Essas
equaes podem ser encontradas na seo 2.6 desta mesma obra. Pelo tempo hbil
para realizar o projeto foram feitas as converses de dois dos cinco algoritmos em
linguagem C ficando as outras trs podendo ser implementadas em trabalhos futuros. A
simulao da comunicao, dos clculos dos algoritmos e configurao das entradas e
sadas foi feita no software Proteus e posteriormente foram comparadas com o
resultado real. Aps os testes, foram integrados os elementos da eletrnica e da
mecnica com xito.
O fluxograma da Figura 35 representa o funcionamento da programao. O
cdigo Main, Config PIC, Interrupt, Comunicao modbus e PID podem ser encontrados
nos Apndices A e B. Quando ligado, a primeira tarefa a ser feita a execuo da
Funo Main. Essa funo zera todas as variveis e em seguida l o ltimo setpoint
setado e as ltimas configuraes de Kp, Ti, e Td que foram setadas. Em seguida, a
funo Main aciona a funo Config PIC.
55



Figura 35 - Fluxograma de Programao
Fonte: Autoria prpria.

A funo Config PIC por sua vez aciona todos os comandos para a correta
execuo do PIC. Nessa rotina configurado o timer em 100Hz para gerar a
interrupo, porta A0 como entrada analgica, PWM com frequncia de 3khz e a porta
serial com baudrate de 9600bps. A funo Config PIC tambm configura a funo
Interrupt que executada periodicamente enquanto o sistema estiver ligado.
A funo Interrupt a funo principal de execuo do programa. A primeira
coisa a ser feita verificar a recepo de dados na entrada. Caso haja dados,
executada a funo comunicao modbus.
Caso no haja dados novos, h a leitura do sensor potencimetro e o clculo do
erro. Em seguida, executada a funo PID com uma das discretizaes que foram
56

selecionadas e seus respectivos clculos. Esse valor calculado transmitido ao PWM,
que atuar no Motor.
Em ambos os casos (recebimento ou no de dados), o prximo passo a ser
realizado pela programao o retorno peridico funo interrupt. Esse passo se
repete infinitamente at o desligamento do sistema.
3.4 Comunicao
O desenvolvimento da comunicao se processou em vrias etapas. O estudo
de viabilidade de protocolos foi a primeira delas. Esse estudo mostrou o protocolo
modbus RTU sendo o mais adequado para a utilizao devido maior facilidade em
sua programao pelos desenvolvedores do projeto e pela experincia dos executores
com o software Elipse E3, promovendo assim a eleio do modbus como o protocolo
mais apto situao. Outro processo da comunicao foi o desenvolvimento de uma
funo no PIC que promovesse a interao do projeto por meio do protocolo modbus
RTU. A simulao de comunicao para a realizao de testes ocorreu com a utilizao
de portas virtuais seriais. Foi criado um par de portas seriais virtuais conectadas entre si
de modo que o software Proteus comunica-se com a porta COM2 e a porta virtual serial
redireciona-o para a COM3 que por sua vez se comunica com o E3 tornando assim fcil
e rpida a realizao dos testes. Posteriormente foi realizado o teste real no projeto que
funcionou com xito. A tabela 8 mostra os endereos utilizados pelos programadores na
configurao da comunicao por meio do modbus.
O protocolo de comunicao modbus funciona no modo mestre-escravo, ou seja,
o dispositivo mestre requisita informaes de um de seus escravos, que o responde.
Nesse protocolo a comunicao somente entre mestre e escravo, no sendo possvel
a comunicao de escravo para escravo. As interfaces mais usadas so as RS485,
RS232 e TCP/IP. As interfaces RS485 e TCP/IP so geralmente usadas para
comunicar dispositivos com uma longa distncia. No caso deste projet,o preferimos usar
a RS232, pois no havia necessidade de longa distncia j que uma conexo simples
ponto a ponto.

57



Endereo Tipo Descrio Escrita/Leitura
0 Byte Entrada Analgica L
1 Byte SetPoint Desejado E/L
2 Byte Sada PWM L
3 Byte Ganho Proporcional E/L
4 Byte Tempo Integrativo E/L
5 Byte Tempo Derivativo E/L
6 Byte
Taxa de
amostragem E/L
7 Byte STATUS E/L
7.0 bit Ligar sistema E/L
7.1 bit Sada PWM=0% L

7.2
bit Sada PWM=100% L
7.3 bit Sistema Ligado L

Quadro 4 - Mapa modbus.
Fonte: Autoria prpria

Para desenvolver esse protocolo dentro do firmware do PIC, foi necessrio dividi-
lo em algumas funes. Quando o hardware recebe algum pacote de dados pela porta
serial, ele levanta um flag (sinalizador) que ativa a funo principal chamada de
comunicacao_modbus(). No supervisrio a comunicao feita com o auxlio do driver
de comunicao modbus da elipse.
A funo de comunicao modbus foi totalmente desenvolvida pela equipe,
mediante a utilizao do programa MikroC.
A figura 36 apresenta o Fluxograma de comunicao modbus. Quando o Elipse
E3, por meio do driver modbus envia dados placa, ocorre a chamada da funo
58

Comunicao modbus. Primeiramente verificado se o endereo do dispositivo est
correto. Caso no esteja, no feito nada.


Figura 36 - Fluxograma de Comunicao modbus
Fonte: Autoria prpria.

Se o endereo for correto, o prximo passo realizado pelo programa a
seleo entre Escrita ou Leitura. Caso o Supervisrio deseje ler os dados, como por
59

exemplo, quando o software l a angulao fornecida pelo potencimetro, a funo
leitura selecionada e ocorre o armazenamento dos dados lidos na memria RAM e
EEPROM para restaurar os valores caso o sistema desligue. Aps isso, os dados so
enviados para a tela do supervisrio.
Caso o supervisrio deseje escrever algo no PIC, executada a funo escrever.
Esse momento ocorre, por exemplo, quando ocorrem mudanas do setpoint ou das
variveis. O operador escreve a nova varivel no software supervisrio e esse se
encarrega de envi-las ao PIC. Aps isso, ocorre uma realimentao realizada pelo
PIC, o qual confirma a operao realizada.
Cabe lembrar que o PIC funciona como escravo, ou seja, ele no tem autonomia
para requisitar dados ou enviar dados. Todas essas funes so executadas mediante
solicitao do supervisrio.
3.5 Supervisrio
A escolha do software supervisrio Elipse E3 deve-se necessidade de
apresentar vrias utilidades que esto sendo amplamente utilizadas no mercado de
trabalho. um software mais complexo que o Elipse SCADA e que possui interfaces
para desenvolvimento, monitoramento e programao em linguagem C. Possui editores
grficos, links, animaes, grficos, sendo possvel a observao em tempo real dos
processos assim como das comunicaes das medidas recebidas e dos
equipamentos/mquinas em utilizao.
O desenvolvimento no software Elipse E3 se deu em duas maneiras. Primeiro,
relativamente s comunicaes, foi configurado e escolhido o driver correto para
propiciar a comunicao entre o E3 e o hardware. O driver fornecido pela Elipse e
pode ser encontrado no prprio site da empresa. H a necessidade de um ajuste na
comunicao como estabelecimento de parmetros para o tipo modbus e as
configuraes das tags de comunicao que permitem ler e escrever. Posteriormente
parametrizao do driver, passou-se a desenvolver a interface grfica. A interface
possui duas telas, sendo uma a principal e a outra de grficos. A tela principal
contempla a balana em tempo real, sete demonstraes numricas, sendo elas:
60

entrada, sada, setpoint, ganho proporcional, tempo integrativo, tempo derivativo e taxa
de amostragem. Essa mesma tela possui dois botes, sendo eles Liga/Desliga,
permitindo o acionamento remoto, e o boto Grfico. Esse ltimo leva tela de grficos,
a qual possui a amostragem em tempo real possuindo dois grficos com trs penas
(traos), sendo essas: a de leitura analgica, a de leitura do SP e a de leitura da sada.
Com a praticidade do software a qualquer momento podem ser adicionadas novas
penas para elaborao de mais grficos dispostos no mesmo ou em outro quadro.
Tela Principal do Software Supervisrio:
Nessa tela, o operador entra com os dados de Entrada, Sada, entre outros e,
alm disso, foram desenvolvidos checkboxs, podendo serem selecionados Arranjos de
PID 1 e 2 e Malha Aberta. O intertravamento dos botes feito por meio do Elipse. Na
tela observada em tempo real a balana. A animao foi feita por meio de quadros
que mudam conforme o valor indicado pelo sensor. Vide figuras 37 e 38.

Figura 37 - Tela principal supervisrio
Fonte: Autoria prpria.
61


Tela Grfico:

Figura 38 - Tela auxiliar supervisrio
Fonte: Autoria prpria.
3.6 Funcionamento
Para iniciar, deve ser feita previamente ao acionamento do prottipo
parametrizao dos valores do tempo de integrao, tempo de derivao, setpoint,
ganho proporcional e da angulao inicial da balana. Essas definies so feitas por
meio do software Elipse E3, no programa desenvolvido pelos executores do projeto, em
sua tela principal. A operao tem por objetivo estipular valores para serem enviados ao
microcontrolador e posteriormente equilibrarem a balana mediante a acelerao ou
62

desacelerao do ventilador. Feitos esses procedimentos, o operador dever observar
se os seus parmetros esto corretos e se a balana est se equilibrando. O algoritmo,
que deve ser previamente implementado no PIC, encarregar-se- de realizar o controle
do processo, minimizando o erro e estabilizando a balana novamente. Os
procedimentos podero ser acompanhados atravs da tela principal do projeto, a qual
demonstrar a balana em tempo real e uma tela de grfico para acompanhamento,
presente no programa. Os grficos do setpoint, da sada do controlador e da entrada
podero ser observados na tela auxiliar do programa que ser acessada ao clicar-se no
boto grfico, presente na tela inicial. Eles representam as respostas enviadas pelo PIC
atravs da comunicao realizada por modbus RTU mediante a utilizao do driver
fornecido pela Elipse. O operador, ento, poder realizar diversos experimentos,
desestabilizando a balana ou criando novas configuraes ou novos algoritmos no
PID. O programa, desenvolvido no supervisrio Elipse, possui tambm duas opes de
equaes discretizadas ou a utilizao em Malha Aberta. A figura 39 mostra o projeto
durante a fase de testes.

Figura 39 - Projeto durante os testes
Fonte: Autoria prpria.
63

4 TESTES
Esse captulo visa reportar a realizao de testes para comparao entre
diferentes arranjos propostos no trabalho em relao a diferentes setpoints
estabelecidos. H tambm a realizao de testes com a malha aberta.
Foram realizados testes com dois tipos de arranjo PID (Controlador PID arranjo
paralelo ideal; e Controlador PID arranjo srie), e com o modo malha aberta. Para o
primeiro arranjo de PID d-se o nome de PID1 e para o segundo PID2. Quanto aos
arranjos, foram feitas duas amostras para cada tipo e foram usados dois tipos de
configurao, um para cada arranjo. Quanto malha aberta, foram feitas duas
amostras para dois tipos diferentes de setpoint.
O valor de entrada medido por meio da resposta do potencimetro. O setpoint
o indicado pelo operador, e a sada corresponde porcentagem de atuao do Motor
no processo.
Os valores do setpoint e da sada variam entre 80 e 180(valor em 8bits lido do
potencimetro), 80 representa a angulao mnima e 180 representa a angulao
mxima possvel pela balana, sendo o valor de 130 a 135 o valor em que a balana
fica na horizontal. J o motor representado no grfico somente at a escala de 100.
Seus valores esto escalonados em porcentagem. A unidade de tempo utilizada de
100ms.
O PID 1 usou os valores de kp=100, Ti=50, Td=40 e Taxa de amostragem de
20Hz. Esses valores foram auferidos pelos desenvolvedores no mtodo da tentativa e
erro. So valores que mostraram boas respostas aos dois tipos de setpoint. O primeiro
setpoint utilizado foi o de 130 como mostra a figura 40.
Observa-se uma acentuada resposta com um grande overshoot atingindo a
marca de 180. Esse acontecimento resulta da manuteno do ventilador fora
mxima, visando recomposio do valor de entrada ao setpoint estabelecido.
Nota-se a reduo da fora do ventilador e a consequente queda do valor de
entrada. No grfico da figura 40, percebe-se que o sistema consegue eliminar o erro em
64

regime permanente e consegue se estabilizar por volta do tempo de 10 segundos. Aps
isso, no h mudanas considerveis nas variveis, permanecendo o sistema estvel.
Para o segundo teste com o arranjo 1 foi feita uma amostra com o setpoint de
150. O resultado demonstrado na figura 41.
Figura 40 - Resposta do PID1 ao setpoint de 130
Fonte: Autoria prpria.

Figura 41 - Resposta do PID1 ao setpoint de 150
Fonte: Autoria prpria.
65

Percebe-se que a configurao proposta para o PID1, de kp=100, Ti=50, Td=40
apresenta uma resposta melhor quando o setpoint foi de 150 comparado ao de 130.
Ainda assim h um overshoot, mas significantemente menor comparado ao
experimento anterior. O sistema se mostra estvel aos 5 segundos permanecendo
assim at o tempo final da amostragem. No h tanta oscilao quanto no primeiro
experimento. A planta tende-se a estabilizar mais facilmente com setpoints mais
elevados.
Os mesmos setpoints foram mantidos para a realizao dos experimentos com o
PID2. O sistema algumas vezes apresenta uma demora no clculo do arranjo 2 o que
compromete parcialmente alguns sinais.
Para a utilizao do PID2, houve outro ajusto de valores sendo que dessa vez
tem-se Kp=170 Ti=60 Td=20 e Taxa de amostragem=50. Os valores foram sintonizados
pelo mtodo da tentativa e erro tambm. Os valores que haviam sido utilizados no
arranjo 1 no so compatveis com o arranjo 2. Vide figura 42:


Figura 42 - Resposta do PID2 ao setpoint de 130
Fonte: Autoria prpria.
66

De acordo com o experimento, o PID2, utilizando o setpoint de 130, mostrou-se
desaconselhvel se comparado ao PID1 anteriormente analisado. Observa-se um
overshoot de 170 e uma oscilao de menor durao. Porm com o PID2 h a
presena do erro em regime permanente. O sistema se estabiliza, porm h um erro de
mais ou menos 30. O controlador com a configurao citada no conseguiu corrigir
esse problema.
A estabilizao do controle ocorre por volta dos 4 segundos, mostrando muito
mais rpida que a vista no primeiro arranjo. Um possvel ajuste pode ser a mudana no
tempo de integrao visando diminuio do erro em regime permanente.
J para o setpoint de 150, o sistema ultrapassa o setpoint e permanece acima
por mais de 2 segundos, devido ao brusco aumento da velocidade, e a leve reduo da
velocidade quando j ultrapassado o setpoint, conforme a figura 43.

Figura 43 - Resposta da PID2 ao setpoint de 150
Fonte: Autoria prpria.

67

A discretizao mostrou-se melhor quando o setpoint est em 150. A equipe
acredita que a complexidade dos clculos envolvendo a apurao dos valores no
arranjo 2, prejudica o desempenho do sistema de controle.
Foram tambm realizados dois testes em malha aberta, sendo no primeiro
(figura 44) o sinal de controle de 78%, e no segundo (figura 45) o setpoint de 82%. A
malha aberta no possui realimentao, portanto no h a correo dos erros. No foi
possvel estabelecer sinais de controle inferiores ou superiores esses valores. O
sistema no responde quando os valores so muito baixos ou responde
exageradamente quando so altos.

Figura 44 - Resposta da malha aberta ao setpoint de 200
Fonte: Autoria prpria.
68


Figura 45 - Resposta da malha aberta ao setpoint de 210
Fonte: Autoria prpria.
Observa-se que a sada crava em 76 no primeiro caso de malha aberta, e crava
em 82 nos segundo. Esses valores no se alteram, pois no h a realimentao, assim
o sistema no sabe que o valor desejado no o valor obtido.
Para um setpoint de 200, o valor de sada estabilizou-se entre 110 e 120, j para
o valor de 210, o valor estabilizou-se entre 170 e 180. Essa diferena percebida
porque o controle no reage da mesma maneira para valores diferentes de setpoint.
No h a tentativa do sistema eliminar o erro em regime permanente.
Por todo o exposto aconselha-se a utilizao do PID1 e de ajustes por sintonia
fina quando h casos em que o sistema apresenta uma leve instabilidade, ou uma
demora na acomodao da curva. O PID2 pode ser implementado, porm necessrio
um ajuste mais preciso. J a malha aberta torna-se interessante pela demonstrao de
um controle sem retroalimentao. Nesse caso dever haver um prvio ajuste para a
sada desejada.

69

5 CONCLUSO
Conclui-se que o Desenvolvimento de Prottipo para Ensaios de Tcnicas de
Controle Programadas em Microcontrolador um projeto vivel e com grande potencial
educacional, tcnico e cientfico. O projeto foi desenvolvido e testado em cinco meses,
funcionou de acordo com o esperado. O presente projeto traz inmeras possibilidades
de utilizao em outras operaes de controle tais como de temperatura, presso,
vazo e outras. H um grande estudo sobre os arranjos de PID no que tange
discretizao para Microcontroladores. Os trabalhos realizados pelo Moreno (2010) e
pelo Iwasse (2009) contriburam muito para facilitar a discretizao e servem como
referncia de estudo nessa rea.
A equipe desenvolveu trs tipos de programao para a utilizao do prottipo.
Pode-se selecionar malha aberta ou uma das duas discretizaes propostas. Toda a
programao foi realizada com sucesso sendo necessrios apenas pequenos ajustes.
Os programas posteriormente foram redefinidos para que possussem uma forma mais
refinada.
A planta foi desenvolvida pela equipe para que pudesse ser verstil e para que
possibilitasse testes precisos, assim como comprovao da eficcia do
microcontrolador como um PID. Salienta-se que a planta da gangorra utilizada pode ser
substituda por qualquer outra desde que sejam feitos os ajustes necessrios nos
parmetros e na programao do microcontrolador. Para um carter didtico, o trabalho
apresenta explicaes detalhadas de todas as funes envolvidas no controle e na
programao do microcontrolador, assim como possui duas formas diferentes de
discretizao e uma forma de funcionamento por malha aberta.
Outro ponto que foi atingido pela equipe foi o desenvolvimento da interface de
comunicao do hardware com o computador. Essa comunicao foi desenvolvida com
sucesso pela equipe por meio de um software nico que foi feito exclusivamente para
propiciar a comunicao modbus. Toda a programao e seu funcionamento
encontram-se neste projeto. A cada trecho das linhas de programao h comentrios
para propiciar maior entendimento ao leitor e garantir a didtica do projeto.
70

O desenvolvimento da balana mostra a variedade de usos do projeto sendo
possvel o desenvolvimento de outros dispositivos eletromecnicos passiveis de
integrao com o hardware.
Os testes realizados pela equipe demonstram a efetividade do controle por meio
de microcontroladores e servem de estudo e anlise para futuros projetos. Esses testes
eram parte do proposto pela equipe e foram realizados com sucesso como
demonstrado no trabalho. A anlise crtica visou comparar a efetividade de diferentes
programaes utilizadas, suas vantagens e seus defeitos. A anlise de grficos
instrumento necessrio para comparao dos desempenhos das discretizaes
propostas.
Por todo o exposto, a equipe demonstra satisfao por ter atingido os objetivos
propostos, por ter efetivado o desenvolvimento desse prottipo e por propiciar uma
ferramenta que poder ser utilizada para aprimorar o conhecimento e os estudos dos
acadmicos da Universidade Tecnolgica Federal do Paran.
Sugestes para trabalhos futuros:
Levantar a FT da planta (modelo matemtico) a partir da malha aberta.
Aplicar os mtodos de regulagem CHR, Ziegler-Nichols, entre outros aos
diversos arranjos de PID propostos.
Implementar outros arranjos de PID na planta.
Implementar sensores mais precisos e com menos rudo.





71

REFERNCIAS
BAZANELLA, S. Alexandre. Ajuste de Controladores PID. Disponvel em:
<http://www.ece.ufrgs.br/~jmgomes/pid/Apostila/apostila/>. Acesso em: 01 out. 2012.
BORBA, Gustavo Benvenutti. Apostila Modbus. Disponvel em:
<http://pessoal.utfpr.edu.br/gustavo/MODBUS_apostila.pdf>. Acesso em: 01 out. 2012.
CAMPOS, Mario C. M. M. de; TEIXEIRA, Herbert C. Controles tpicos de
equipamentos e processos industriais. 1.ed. So Paulo: Editora Edgard Blucher
LTDA, 2006.
CAON JR, Jos Roberto. Controladores PID industriais com sintonia automtica
por realimentao por rels. 1999. 104f. Dissertao (Mestrado em Engenharia
Eltrica) Universidade de So Carlos, 1999.
CRUZ, Jos Jaime da. Entendendo e Ajustando Malhas de Controle. So Paulo:
Departamento de Engenharia de Energia e Automao Eltricas GAESI Escola
Politcnica da Universidade de So Paulo, 2004.
IWASSE, Felipe. Anlise Arranjo Estrutural Controladores Comerciais. 2009. 70f.
Monografia (Especializao em Automao Industrial) Departamento Acadmico de
Eletrnica, Universidade Tecnolgica Federal do Paran 2010.
MECATRONICA, disponvel em:
<http://www.mecatronica.eesc.usp.br/wiki/upload/1/10/Aula5SCI2010.pdf>. Acesso em:
17 jul. 2012.
MICROCHIP, disponvel em:
<http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en010297>.
Acesso em: 23 out. 2012.
MODBUS, disponvel em:
<http://modbus.org/docs/Modbus_Application_Protocol_V1_1b.pdf>. Acesso em: 23 out.
2012.
MORENO, Ricardo Humberto. Estudo para discretizao de controladores PID
Industriais. 2010. 103f. Monografia (Especializao em Automao Industrial)
Departamento Acadmico de Eletrnica, Universidade Tecnolgica Federal do Paran
2010.
NISE, Norman S. Engenharia de Sistemas de Controle. 3. Ed. Rio de Janeiro: LTC,
2000.
72

OGATA, K. Engenharia de Controle Moderno. 3 Ed. Rio de Janeiro: Editora LTC.
1998.
SCHNEIDER, Guilherme Alceu. Sistemas de Controle. Curitiba: Departamento
Acadmico de Eletrnica Universidade Tecnolgica Federal do Paran 2011.
SCIENCE, disponvel em:
<http://www.sciencedirect.com/science/article/pii/S0009250901004390>. Acesso em: 23
out. 2012.











73

APNDICE A Funes Interrupt, Main e PIC
define AD_COMPLETO PIR1.F6// conversao a/d esta completa. Limpar bit depois
#define flag_t0 INTCON.F2
#define END_DISPOSITIVO 2
#define RELE PORTE.F2
#define LIGA_SUPERVISORIO status1.F0
#define FLAG_SERIAL PIR1.RCIF
#define FLAG_TIMER3 PIR2.TMR3IF
#define BOTAO_LIGA PORTB.F0
#define MALHA1 status1.F1
#define MALHA2 status1.F2
#define MALHA_ABERTA status1.F3

unsigned char reg_inicial;
void CRC16(unsigned int dataLength, char *buffer);
void respota_escrita_md();
void escreve_md(unsigned char byte);
void comunicacao_modbus();
signed int pid();
void config_pic();
void interrupt();
signed int e[3],kp,Ti,Td,u[2],T,sp;
signed int entrada,i=0,j=0,pwm;
unsigned char receive[9];
unsigned char send[30]={0,2,3,8,0},dados[30]={0,2,3,8,0};
unsigned char lowCRC,highCRC,status1,k,l,ref_ma;
signed int v1,v2,v3,kd,ki;


void interrupt(){

if(FLAG_SERIAL){ // flag de sinalizao de recepo de dados na seria
l
comunicacao_modbus(); // executa rotina de comunicao
}
else if(FLAG_TIMER3 ){ // flag de estouro do timer 3

entrada=ADC_READ(0)>>2; // le a o canal 0 das entradas analgicas(trasduto
r de ngulo)
e[0]=e[1];
e[1]=e[2];
e[2]=sp-entrada; // Erro = setpoint - leitura do ngulo

if(LIGA_SUPERVISORIO==1){ // comando liga do supervisrio = 1
// RELE=1; // rel que libera alimentaao do motor
if(MALHA_ABERTA) // Malha aberta
pwm=sp; // sada igual a referencia setada no supervisrio
else{
pwm=pid()+235; // saida pwm do hardware igual a rotina de
execuo do PID
//pwm+=127;
} }
else{ // se no estiver ligado executa pwm=0 e sinaliza led desliga
do
pwm=0;
74

//RELE=0; //desliga alimentao do motor
}

PWM1_Set_Duty(pwm); // executa valor calculado para saida pwm no hardware



TMR3H = 0x3C; // preset for timer3 MSB register
TMR3L = 0xB0; // preset for timer3 LSB register


PIR2.TMR3IF=0; // zera o flag de estouro de timer

}
}









void main(){
delay_ms(20);

e[2]=0; // zera as variaveis
e[1]=0;
e[0]=0;
u[0]=0;
u[1]=0;

entrada=1; // seta valor 1 inicial
sp=EEPROM_read(1); // le o ultimo setpoint setado
delay_ms(20);
kp=EEPROM_read(2); // le o ultimo kp setado
delay_ms(20);
Ti=EEPROM_read(3); // le o ultimo Ti setado
delay_ms(20);
Td=EEPROM_read(4); // le o ultimo Td setado
delay_ms(20);
T=EEPROM_read(5); // le o ultima taxa de amostragem setado
delay_ms(20);
status1=EEPROM_read(6); // le bits de status
delay_ms(20);

config_pic(); // executa rotina de configurao dos registros

while(1){
}

}

int pid(){


75






u[0]=u[1];




ki=kp/Ti; // calculo do Ki

kd=kp*Td; // calculo do Kp

if(MALHA1&&!MALHA2){ // selecionado malha 1
// Vide trabalho Moreno -> u(n) = e(n)*( kp + ki*T + kd/T ) e(n-
1)*(kp + 2*kd/T) + e(n-2)*kd/T + u(n-1)

v1=kp+(ki*T)+(kd/T); // primeira parte da funo

v2=kp+2*kd/T; // segunda parte da funo

v3=kd/T; // terceira parte da funo

u[1]=e[2]*v1-e[1]*v2+e[0]*v3+u[0]; // Juntando as 3 partes armazena em U[1]
}
else if(MALHA2&&!MALHA1){ // selecionado malha 2
//Funo PID vide Moreno --> u(n) = e(n)*( kp + ki*T + kd/T + kd/Ti) e(n-
1)*( kp + ((2*kd)/T) + kd/Ti)+ e(n-2)*(kd/T)+ u(n-1)
u[1]=(e[2]*(kp+ki*T+kd/T+kd*ki))-
(e[1]*(kp+(2*kd/T+kd*ki)))+(e[0]*kd/T)+u[0]; // MALHA PID adptada em C
}



//



u[1]=u[1]>>2; // desloca bits em 2 casa para direita
if(u[1]>20) // caso estourar a varivel 8bits ela no passo de 255
u[1]=20;
else if(u[1]<0) // se for menor que 0 igual a 0
u[1]=0;

return u[1]; // retorna o valor calculado na sada do controlador pa
ra atuar no PWM
}

void config_pic(){


ADCON1=0b1110; // AN0 habilitada
TRISA=1; // AN0 entrada
TRISb=0; // CCP1 PWM SAIDA
TRISD=0; // Porta D como saida
TRISE=0; // Porta E como saida
76



PIR1.RCIE=1;
//PIR1.TXIE=1; // HABILITA INTER. UART

INTCON.F6=1; // Liga a interruo geral
INTCON.F7=1; // Liga a interruo geral
INTCON.F5=1; // Liga Timer 0
RCON.IPEN=1; // habilite prioridade de interrupo
IPR1.ADIP=0; // prioridade baixa para conversor Analgico-Digital
INTCON2.TMR0IP=1; // prioridade alta para timer0
IPR1.RCIP=1; // prioridade alta para comunicao
IPR1.TXIP=1; // prioridade alta para comunicao
ADCON0.ADON=1; // habilita conversor Analgico-Digital





// Timer0 // 16-
Bit; Prescaler=1:1; TMRH Preset=84; TMRL Preset=AD; Frequencia=633,49276Hz; Pe
riodo=1,57855 ms
T0CON.TMR0ON = 1;// Liga timer 0
T0CON.T08BIT = 0;// Condifura para 16bits
T0CON.T0CS = 0;// desliga start externo
T0CON.T0SE = 0;//
T0CON.PSA = 0;// desliga prescaler
T0CON.T0PS2 = 1;//
T0CON.T0PS1 = 0;
T0CON.T0PS0 = 0;
TMR0H = 0xB; // configura registro mais significativo
TMR0L = 0xDC; // configura registro menos significativo
// Timer3:
// Prescaler=1:1; TMR3 Preset=15536; Frequencia=100,00Hz; Periodo=10,00 ms
T3CON.T3CKPS1 = 0;// Configura Prescaler
T3CON.T3CKPS0 = 0;//
T3CON.T3SYNC = 1;// Sincronizao do timer interna
T3CON.TMR3CS = 0;// Desabilita FOS/4
T3CON.TMR3ON = 1;// habilita temporizador
TMR3H = 0x3C; // configura registro mais significativo
TMR3L = 0xB0; // configura registo menos signigicativo
//(FONTE: SOFTWARE TIME PIC)

PWM1_Init(3000); //configura PWM com frequencia de 5kHz
PWM1_Start(); //inicia PWM

UART1_Init(9600); // Configura porta serial com baudrate de 9600bps

}





void CRC16(unsigned int dataLength, char *buffer) //CRC 16 do protocolo modbu
s
{
77

unsigned int CheckSum;
unsigned int j1;
unsigned short i1;
CheckSum = 0xFFFF;
for (j1=1; j1<=dataLength; j1++)
{
CheckSum = CheckSum^(unsigned int)buffer[j1];
for(i1=1; i1<=8; i1++)
if((CheckSum)& 0x0001)
CheckSum = (CheckSum>>1)^0xA001;
else
CheckSum>>=1;
}
lowCRC = CheckSum>>8;
CheckSum<<=8;
highCRC = CheckSum>>8;
}











78

APNDICE B Comunicao modbus RTU
void comunicacao_modbus(){

receive[j]=UART1_READ(); //recebe byte da porta serial

if(receive[0]==END_DISPOSITIVO) // Se for igual ao endereo definido avana, s
e no ignora
j++;
else
j=0;

if((receive[1]==3&&j>=8)||(receive[1]==16&&j>=11)){ // verificar se 3(l
eitura) ou 16(escrita)
j=0;
if(receive[0]==END_DISPOSITIVO&&receive[1]==3){ // se for leitura, entra n
a rotina de resposta a leitura
send[1]=END_DISPOSITIVO; // responde com
o endereo de dispositivo setado
send[2]=3; // 3 -
funo leitura registro
dados[4]=0; // armazena variveis no ve
tor
dados[5]=entrada; // armazena variveis
no vetor
dados[6]=0;
dados[7]=sp;
dados[8]=0;
dados[9]=pwm;
dados[10]=0;
dados[11]=kp;
dados[12]=0;
dados[13]=Ti;
dados[14]=0;
dados[15]=Td;
dados[16]=0;
dados[17]=T;
dados[18]=0;
dados[19]=status1;


l=4;
reg_inicial=(receive[3]*2)+2; //calcula q
ual o registro inicial para o vetor
for(k=reg_inicial;k<=reg_inicial+(receive
[5]*2);k++){ //armazena dados para escrever de acordo com o inical e quantida
de
//send[l-1]=0;
send[l]=dados[k];
l++;
}
escreve_md(receive[5]*2); // funo escr
eve dados


}
79


else if(receive[0]==2&&receive[1]==16){
// escrita do supervisrio

if(receive[3]==2&&receive[5]==1){ //
caso escreva setpoint armazena o setpoint e assim por diante com as outras va
riveis
sp=receive[8];
EEPROM_WRITE(1,sp);
respota_escrita_md();
}
else if(receive[3]==4&&receive[5]==1){
kp=receive[8];
EEPROM_WRITE(2,kp);
respota_escrita_md();
}
else if(receive[3]==5&&receive[5]==1){
Ti=receive[8];
EEPROM_WRITE(3,Ti);
respota_escrita_md();
}
else if(receive[3]==6&&receive[5]==1){
Td=receive[8];
EEPROM_WRITE(4,Td);
respota_escrita_md();
}
else if(receive[3]==7&&receive[5]==1){
T=receive[8];
EEPROM_WRITE(5,T);
respota_escrita_md();
}
else if(receive[3]==8&&receive[5]==1){
status1=receive[8];
EEPROM_WRITE(6,status1);
respota_escrita_md();

}


}


}
}

void escreve_md(unsigned char byte){
send[3]=byte;
CRC16(byte+3,send);
for(i=1;i<=byte+3;i++) //envia string com
a resposta
UART1_write(send[i]);
UART1_write(highCRC); //envia o byte m
ais significativo do CRC
UART1_write(lowCRC); //envia o byte me
nos significativo do CRC
}

80


void respota_escrita_md(){ //responde que a
escrita est correta
send[2]=16;
send[3]=0;
send[4]=2;
send[5]=0;
send[6]=1;
CRC16(6,send);
for(i=1;i<=6;i++)
UART1_write(send[i]);
UART1_write(highCRC);
UART1_write(lowCRC);
}










81

APNDICE C Esquemtico Hardware

Você também pode gostar