You are on page 1of 38

DEPARTAMENTO DE ENGENHARIA ELTRICA

TRABALHO DE CONCLUSO DE CURSO

CONTROLADOR PID PARA VELOCIDADE ANGULAR


DE UM MOTOR DE CORRENTE CONTNUA

Gustavo Scaldini Schaeffer


0609549-6
Orientador: Prof. Samir Angelo Milani Martins

So Joo del Rei, novembro de 2014

UNIVERSIDADE FEDERAL DE SO JOO DEL REI


DEPARTAMENTO DE ENGENHARIA ELTRICA

TRABALHO DE CONCLUSO DE CURSO

CONTROLADOR PID PARA VELOCIDADE ANGULAR


DE UM MOTOR DE CORRENTE CONTNUA

Trabalho de Concluso de Curso apresentado


ao Departamento de Engenharia Eltrica da
Universidade Federal de So Joo del Rei como
um dos requisitos para obteno de ttulo de
Bacharel em Engenharia Eltrica.

So Joo del Rei, novembro de 2014

Agradecimentos

minha famlia pelo apoio e principalmente aos meus pais pela oportunidade que me
deram de poder estudar.
minha namorada Daniela por estar do meu lado nos bons e maus momentos.
Aos meus amigos e principalmente a minha segunda famlia, Repblica Bar do Moe.
Ao professor Samir, pela orientao.
Aos tcnicos administrativos do laboratrio de controle: Alexandre e Joo.
UFSJ, pela formao profissional e social.
Ao Rodrigo da Inter Car Sound por ter fornecido o material para a confeco do suporte.

Resumo

O trabalho aborda um estudo de controle de velocidade angular de um motor de corrente


contnua utilizando microcontrolador, neste caso utilizou-se a plataforma Arduino. Para isso
foi desenvolvido fisicamente um prottipo composto de uma base, e nela fixados um motor de
corrente contnua e um sensor infravermelho. O sensor infravermelho foi usado para se medir
a sada, que comparada com a entrada, aps isso o controlador atua devido a diferena entre
entrada e sada, sendo que essa diferena chamada de erro. O controle foi feito usando as
aes proporcional, integral e derivativa, mais conhecido como controlador PID. Para a sintonia
do controlador PID foi usado um modelo de primeira ordem com atraso puro de tempo, sendo
que este modelo foi obtido com a ajuda de ensaios feitos no laboratrio. Posteriormente com o
software Matlab foi calculado os parmetros do controlador usando este modelo. Para a
construo de um supervisrio SCADA, foi utilizado o software Processing 2. O presente
trabalho tambm faz uma abordagem da tcnica de modulao por largura de pulso (PWM).

Palavras Chave: PID, Arduino, Motor CC, sensor infravermelho, PWM.

Sumrio
1.

INTRODUO ............................................................................................................................. 7

2.

OBJETIVO .................................................................................................................................... 8

3.

REVISO BIBLIOGRFICA ..................................................................................................... 8


3.1

Mquinas Eltricas Rotativas .................................................................................................. 8

3.1.1

Motor de corrente contnua ............................................................................................. 9

3.2

Controle ................................................................................................................................. 10

3.3

Instrumentao e Medidas ..................................................................................................... 11

3.4

Microcontroladores ............................................................................................................... 11

3.5

PWM ...................................................................................................................................... 12

METODOLOGIA ....................................................................................................................... 13

4.

4.1

Suporte .................................................................................................................................. 14

4.2

Sistema de controle ............................................................................................................... 15

5.

RESULTADOS ............................................................................................................................ 25

6.

CONCLUSO ............................................................................................................................. 27

7.

PROPOSTAS DE TRABALHOS FUTUROS .......................................................................... 28

8.

REFERNCIA BIBLIOGRFICA ........................................................................................... 29

9.

ANEXO ........................................................................................................................................ 30
9.1

ALGORITMO ....................................................................................................................... 30

9.2

CUSTO DO PROJETO ......................................................................................................... 35

10.

ASSINATURAS ....................................................................................................................... 37

Lista de figuras

Figura 1 - Experimento de Michael Faraday............................................................................................ 9


Figura 2 - Controlador centrfugo de James Watt ................................................................................. 10
Figura 3 - Primeiro microcontrolador, o TMS 1000............................................................................... 12
Figura 4 - Modulao por largura de pulso do Arduino ...................................................................... 13
Figura 5 Dimenses da base do suporte ............................................................................................ 14
Figura 6 - (a) Dimenses do suporte do motor. (b) Dimenses do suporte do sensor infravermelho. 14
Figura 7 - Suporte j envernizado com os sensores e motor fixados.................................................... 15
Figura 8 - Simulao de como feito a contagem das voltas. .............................................................. 16
Figura 9 - Grfico da resposta ao degrau de 2V, com o algoritmo contando o tempo de 5 voltas para
calcular a velocidade ............................................................................................................................. 18
Figura 10 - Comparao entre a curva obtida pela mdia dos 20 ensaios ao degrau e a curva relativa
ao modelo obtido .................................................................................................................................. 19
Figura 11 - Comparao entre a curva obtida pela mdia dos 20 ensaios ao degrau e a curva relativa
ao modelo obtido considerando o atraso puro de tempo .................................................................... 20
Figura 12 - Arquitetura de controle usada para o projeto. ................................................................... 21
Figura 13 - Circuito usado no projeto .................................................................................................... 22
Figura 14 - Esquema eltrico do circuito usado no projeto .................................................................. 24
Figura 15 - Parte grfica do controle feito pelo controlador PID .......................................................... 25
Figura 16 - Parte grfica do controle feito pelo controlador PI sintonizado pelo Matlab .................... 26
Figura 17 - Parte grfica do controle feito pelo controlador PI com os parmetros escolhidos
aleatoriamente ...................................................................................................................................... 26

Lista de tabelas

Tabela 1 Regra de 3 exemplificando como calculado a velocidade angular do motor................... 17

1.

INTRODUO
A Engenharia de Controle a rea da engenharia responsvel pela eficincia de um

processo industrial. Apesar do controle moderno ter sido idealizado para processos industriais,
ele est sendo utilizado em vrios outros setores na sociedade, como por exemplo nas
residncias, na sade, no transporte, no comrcio e nos servios pblicos e privados.
Os controladores que utilizam as aes proporcional, derivativa e integral so chamados
de controladores PID. Segundo a professora Ninoska Bojorge do Departamento de Engenharia
Qumica e de Petrleo da Universidade Federal Fluminense, os controladores PID so
predominantes nas indstrias. Isso se deve ao seu bom desempenho para diversos tipos de
processos industriais e sua simplicidade de funcionamento. Porm, deve-se haver um cuidado
ao se sintonizar um controlador, se mal sintonizado ele pode prejudicar o processo, gerando
perdas e ineficincia na produo.
Devido ao seu pequeno tamanho e preo, o microcontrolador bastante usado em
projetos acadmicos e industriais, com ele possvel criar uma enorme gama de sistemas
embarcados. Um microcontrolador basicamente um componente eletrnico que
programvel e tem a funo de controlar perifricos (leds, botes, rels, sensores, etc.). Neste
trabalho ser usado o Arduino Uno R3, uma placa de prototipagem eletrnica de cdigo aberto
projetada com um microcontrolador ATmega328.
O Arduino foi criado em janeiro de 2005 na Itlia pelos professores de Computao
Fsica, David Cuartielles e Massimo Banzi, com o objetivo de criar uma plataforma de
hardware que fosse facilmente programvel por no especialistas em computadores. A
estrutura da linguagem de programao do Arduino formada por dois blocos de funes:
setup() e loop(). Essas funes carregam outros blocos de funes que so escritas na linguagem
C/C++. O Arduino ainda possui poderosos acessrios, chamados Shields, placas de circuitos
que so plugadas no prprio Arduino estendendo sua capacidade.
A maioria dos processos industriais utilizam motores, e muitos desses processos
necessitam operar com velocidade varivel. Assim, torna-se necessrio controlar a velocidade
angular desses motores. Os motores de corrente contnua foram os primeiros motores a serem
utilizados nas indstrias, e um dos principais motivos pelo qual eles ainda so usados, mesmo
aps o surgimento de acionamentos baseados na eletrnica de potncia para controlar os
motores de corrente alternada, a facilidade de controle da velocidade angular desses motores.
A velocidade uma das principais grandezas fsicas j medidas pelos seres humanos.
Essa grandeza proveniente da relao entre duas das sete grandezas fsicas fundamentais:
7

distncia e tempo. A velocidade angular relaciona o deslocamento circular que um objeto faz
em relao um centro de massa, com a grandeza fsica tempo. No Sistema Internacional de
Unidades a velocidade angular tem como unidade o rad/s, porm mais comumente usado o
rpm (rotaes por minuto).

2.

OBJETIVO

O objetivo deste trabalho controlar a velocidade angular de um motor de corrente


contnua atravs de um controlador PID. Para isso ser utilizado um motor de corrente contnua
com escovas de tenso nominal igual a 3 Volts, um sensor infravermelho e um
microcontrolador. Para a sintonia do controlador PID ser utilizado o software Matlab.
Acoplado no eixo do motor de corrente contnua estar uma hlice de 4 ps, necessria para o
sensoriamento da velocidade do motor de corrente contnua.

3.

REVISO BIBLIOGRFICA

3.1

Mquinas Eltricas Rotativas

As mquinas eltricas rotativas so os verdadeiros transformadores. Um transformador


no converte a energia, apenas a eleva ou diminui. J as mquinas eltricas rotativas convertem
a energia. Se a converso for de mecnica para eltrica, a mquina eltrica rotativa chamada
de gerador. Se a converso de eltrica para mecnica, a mquina eltrica rotativa chamada
de motor. Sendo que a mesma mquina eltrica pode agir tanto como motor quanto gerador.
As mquinas eltricas so classificadas em mquinas de corrente contnua e mquinas
de corrente alternada, sendo que existem dois tipos de mquinas de corrente alternada: as
sncronas e as assncronas. Embora haja essas divises, os princpios fsicos que fazem as
mquinas eltricas funcionarem so bastante parecidos.

3.1.1

Motor de corrente contnua

O motor de corrente contnua uma mquina eltrica rotativa que converte potncia
eltrica em mecnica. O primeiro motor de corrente contnua surgiu em 1821 criado pelo fsico
e qumico ingls Michael Faraday (1791 1867). Faraday resolveu fazer experimentos para
confirmar ou refutar os resultados dos estudos de dois grandes cientistas: Oersted e Ampre.
O fsico e qumico dinamarqus Hans Christian Oersted (1777 1851) em 1820,
publicou um trabalho onde defendia a ideia de que uma corrente eltrica passando por um fio
condutor produzia um efeito magntico circular ao redor desse fio.
Aps a publicao do trabalho de Oersted, o fsico, filsofo e matemtico francs Andr
Marie Ampre (1775 1836) resolveu estudar sobre tais descobertas. Assim, em 18 de setembro
de 1820, demonstrou que as correntes eltricas se atraem ou se repelem mutuamente.
Posteriormente, em outubro de 1821, Faraday usou uma base na qual existia um fio,
pelo qual passava uma corrente, que girava ao redor de um im, criando assim um motor eltrico
na sua forma mais simplificada.

Figura 1 - Experimento de Michael Faraday. Extrado de Elektrotechnisches Institut (ETI). The invention of the electric motor
1800-1854.1

Disponvel em: < http://www.eti.kit.edu/english/1376.php > Acesso em novembro de 2014.

3.2

Controle

O controle automtico surgiu no sculo XVIII, quando o matemtico, engenheiro e


inventor escocs, James Watt (1736 1819) construiu um controlador centrfugo para controlar
a velocidade de uma mquina a vapor, como podemos ver na imagem abaixo:

Figura 2 - Controlador centrfugo de James Watt. Extrado de The centrifugal governor. 2

Segundo a traduo do texto do site Centrifugal governor3, a energia fornecida para


o controlador a partir do eixo de sada do motor por meio de uma correia ligada roda da correia
inferior. O controlador est conectado a uma vlvula borboleta que regula o fluxo de fluido de
trabalho que abastece o motor principal. medida que a velocidade do motor principal
aumenta, o eixo central do controlador gira a uma taxa mais rpida e a energia cintica das bolas
aumenta. Isso permite que os dois braos de alavanca se movam para fora e para cima, contra
a gravidade. Se o movimento for suficiente, este movimento faz com que os braos de alavanca
puxem para baixo um rolamento de empuxo, que move um eixo de ligao, que, por sua vez,
reduz a abertura da vlvula borboleta. A taxa de fluido de trabalho que entra no cilindro assim
reduzida e a velocidade do motor principal controlada, evitando um excesso de velocidade.

Disponvel em: < http://www.e-den.it/fisica/calizzano/regole.htm > Acesso em novembro de 2014.


Disponvel em: < https://www.princeton.edu/~achaney/tmve/wiki100k/docs/Centrifugal_governor.html >
Acesso em novembro de 2014.
3

10

3.3

Instrumentao e Medidas

A rea de instrumentao e medidas fundamental para se controlar processos


industriais. necessrio conhecer a sada de um sistema para que um dispositivo de controle
possa tomar as providencias necessrias, em controle essa ao chamada de realimentao do
processo. Essa realimentao feita por sensores, que medem grandezas fsicas e retornam
valores analgicos ou digitais que sero tratados e enviados um comparador que ir comparar
os valores desejados com os valores medidos. Aps essa etapa o controlador atua no sistema.
Assim como o controle moderno, a rea de instrumentao e medidas est sendo
utilizada em outros setores da sociedade alm da indstria. Podemos ver a atuao da
instrumentao na rea biomdica, sendo usada no monitoramento dos pacientes nos hospitais,
tanto como em clnicas e laboratrios de anlise. E essa parece ser a tendncia das inovaes
nas reas de engenharia que aparecem nas industrias, dar mais conforto e melhorar a vida dos
seres humanos.
A instrumentao surgiu com a necessidade de diminuir o nmero de acidentes com
exploses causadas pelas primeiras mquinas a vapor. Assim os primeiros sensores criados
foram os que mediam a presso nas caldeiras. [12]

3.4

Microcontroladores
O microprocessador um circuito integrado que controla as operaes como um todo

interpretando e executando as instrues dos programas. Para que isso ocorra, necessrio se
conectar vrios componentes ao microprocessador. J o microcontrolador um circuito
integrado mais completo, composto por uma unidade de processamento (CPU), memrias de
programas (ROM, RAM, FLASH), diversos mdulos para controle de perifricos
(temporizadores, porta serial, conversor digital-analgico, conversor analgico-digital) e um
circuito gerador de clock.
Segundo o Instituto Smithsoniano, o primeiro microcontrolador foi inventado em 1971
por Gary Boone e Michael Cochram, engenheiros da Texas Instruments. O nome dado para
esse microcontrolador foi TMS 1000, sendo que ele era de 4 bits e possua memrias ROM e
RAM. Inicialmente utilizado apenas internamente pela empresa nas suas calculadoras, foi
colocado venda em 1974, sendo que em 1983 j tinham sido vendidos 100 milhes de TMS
1000. [8]

11

Hoje em dia h uma infinidade de modelos de microcontroladores no mercado.


Deixando assim na mo do projetista a escolha do microcontrolador a ser utilizado. Dois dos
principais fatores que pesam nessa deciso do projetista so: consumo de energia e velocidade
de processamento. Um exemplo seria a escolha de microcontroladores para um celular da nova
gerao e para um abridor de garrafas musical, o celular necessita de um microcontrolador bem
mais rpido do que o abridor de garrafas.

Figura 3 - Primeiro microcontrolador, o TMS 1000. Extrado de Computer Museum. Chip TI TMS 1000 Microcontroller
(1972).4

3.5

PWM
Modulao por largura de pulsos, ou PWM (Pulse-Width Modulation) na lngua inglesa,

uma tcnica usada para gerar tenses analgicas a partir de uma sequncia de pulsos digitais.
Graas ao PWM podemos controlar a velocidade dos motores, mantendo o torque ainda que em
baixas velocidades o que garante partidas suaves mesmo quando h uma carga maior sobre os
motores.
A forma de onda de um sinal PWM quadrada, com frequncia fixa e com a largura de
seus pulsos varivel. Esta variao feita mudando o tempo em que o sinal fica em nvel logico
alto. Com isso podemos controlar a tenso mdia gerada. Para calcular essa tenso mdia
primeiro tem-se que calcular a porcentagem de ciclo de trabalho de acordo com a seguinte
frmula:
% =

100

(1)

Onde t1 representa a durao do pulso, e t representa a durao de um ciclo.


4

Disponvel em: < http://www.computermuseum.li/Testpage/Chip-TexasInstrumentsTMS1000.htm > Acesso


em novembro de 2014.

12

A seguir multiplicado o valor da % do ciclo de trabalho pela tenso de nvel logico


alto da porta PWM, que no Arduino de 5V. Ento, a tenso mdia gerada por uma porta do
Arduino que use PWM varia de 0V at 5V, dependendo da % do ciclo de trabalho. Essa tenso
mdia representada por um valor analgico, que varia de 0 a 255 no Arduino, como podemos
ver na figura abaixo:

Figura 4 - Modulao por largura de pulso do Arduino. Extrado de Arduino. Tutorial sobre PWM.5

4.

METODOLOGIA

Neste trabalho foi desenvolvido fisicamente um prottipo de um sistema de controle de


velocidade angular de um motor de corrente contnua. Sendo assim o primeiro passo foi fazer
uma lista dos componentes necessrios. Aps a lista feita foi comprado via internet todos os
componentes. Com a chegada e inspeo dos componentes se viu necessrio fabricar um
suporte para que os sensores e o motor ficassem na mesma altura, esperando assim que a leitura
do sensor fosse a melhor possvel. Assim, o projeto foi separado em 2 partes: construo do
suporte e elaborao do sistema de controle.

Disponvel em: < http://arduino.cc/en/Tutorial/PWM > Acesso em novembro de 2014

13

4.1

Suporte

Muitos fatores foram contemplados para a fabricao do suporte, e uma delas foi o
tamanho de uma p da hlice. O motor teria que estar a uma altura mnima para que a hlice
no batesse ou raspasse na superfcie, e essa altura foi um pouco maior que o comprimento de
uma p da hlice.
O suporte foi feito de aglomerado de madeira com as dimenses a seguir:

Figura 5 Dimenses da base do suporte.

Figura 6 - (a) Dimenses do suporte do motor. (b) Dimenses do suporte do sensor infravermelho.

Posteriormente ele foi envernizado e pode ser visto j com os sensores e o motor fixado
na figura a seguir.

14

Figura 7 - Suporte j envernizado com os sensores e motor fixados.

4.2

Sistema de controle
O sistema de controle composto por: Arduino, hlice, sensor infravermelho,

transistor, resistor e fonte de alimentao. Tentou-se usar um sensor ultrassnico porm o


resultado no foi satisfatrio.
A hlice foi o elemento que mais apresentou problemas durante este trabalho.
Inicialmente seria composta apenas por duas ps, porm se viu a necessidade de aumentar o
nmero de ps da hlice para aumentar a preciso da velocidade angular medida. Assim surgiu
a ideia de fazer uma hlice com quatro ps. Ento foi feita uma hlice de quatro ps usando
uma tampa de pote de sorvete. Foi verificado com alguns testes, que a hlice estava se movendo
no seu prprio eixo, assim foi usado cola super bonder para se fixar a hlice ao eixo do motor
de corrente contnua. Mesmo assim o resultado obtido no era o esperado, pois o material que
constitua a tampa de pote de sorvete era muito malevel, com isso no se podia garantir que as
ps estavam na mesma distncia do sensor, e que todas eram captadas pelo mesmo.
Portanto, se viu a necessidade de se usar um outro tipo de hlice, feita de um material
mais rgido e onde suas ps ficassem retas e na mesma distncia do sensor. Ento foi testado
uma hlice de duas ps usada em aeromodelismo, porm os sensores no conseguiam detectar
esta hlice por ela ser curva, construda assim para dar maior propulso para os aeromodelos.
Assim se teve a necessidade de procurar uma hlice que contemplava todas as necessidades e
que no apresenta-se nenhum aspecto negativo para o sensoriamento da velocidade angular,
portanto a hlice deveria ser de material rgido, suas ps deveriam estar no mesmo plano para
que ficassem na mesma distncia do sensor, e essa hlice no poderia girar no seu prprio eixo.

15

Finalmente foi construda uma hlice usando dois palitos de picol, sendo que um palito
foi usado como base e o outro foi cortado em dois pedaes e colado no meio do outro palito
respeitando as distncias para que as ps tivessem o mesmo tamanho. Para que essa hlice no
gira-se no seu prprio eixo foi usado um objeto usado em aeromodelismo chamado salva-hlice.
O sensor infravermelho usado foi o E18-D50NK, ele um sensor digital simples,
apresentando apenas dois estados de sada: baixo ou alto. Quando esse sensor detecta o objeto
o nvel da sua sada baixo e acende um led atrs do sensor, quando no detecta o objeto o
nvel da sua sada alto. Sua sensibilidade e distncia mxima medida so calibrados por um
parafuso atrs do sensor, sendo este parafuso um potencimetro. Ele consegue detectar objetos
a uma distncia de 3 at 50 cm. Por se tratar de um sensor infravermelho ativo, ele possui um
emissor e um receptor. O emissor emite uma luz que refletida ou no dependendo da cor e
constituio do objeto, e assim ou no captada pelo receptor. Este sensor serve tanto como
detector de presena como medidor de distncia.
Para o clculo da velocidade angular do motor, a hlice foi tratada como um tipo de
encoder, sendo necessrio usar a tcnica de interrupes para detectar as mudanas de estado
na entrada digital da porta escolhida do Arduino. A funo interrupo muita em
microcontroladores, ele nada mais que um aviso ao microcontrolador que um evento prprogramado ocorreu e que o controlador deve suspender temporariamente suas tarefas de rotina
e saltar para uma rotina de tratamento dessa interrupo. No caso desse projeto o evento seria
a mudana de estado na entrada digital 2 do Arduino e a rotina de tratamento dessa interrupo
seria um acumulador que somaria em uma varivel o nmero de vezes que a funo interrupo
foi executada. Assim, o programa enxerga que o motor deu uma volta quando a varivel que
conta o nmero de interrupes igual a 9, como podemos ver na imagem abaixo:

Figura 8 - Simulao de como feito a contagem das voltas.

16

Supondo que quando o sensor detecta o objeto a sada dele seja 0, e quando no detecta
seja 1.Supondo tambm que o sensor est lendo na faixa da risca preta, para se garantir que a
hlice deu 1 volta, preciso que a sada do sensor seja alterada 9 vezes, sendo a sequncia 1-01-0-1-0-1-0-1-0.
Na primeira verso do algoritmo, era contando o nmero de vezes que houve variao
na sada do sensor durante 1 segundo. Depois o resultado era dividido por 9 e multiplicado por
60, obtendo assim a velocidade angular em rpm. Porm, percebeu-se a necessidade de mudar o
algoritmo para que fosse possvel fazer o modelo do processo, assim na verso final do
algoritmo, era contado o tempo em milissegundos que demorava para o sensor ler n voltas e
ento era feita uma regra de 3 simples, sendo que as grandezas so diretamente proporcionais,
para o clculo da velocidade angular. Supondo que o sensor demora-se 100 milissegundos para
ler 5 voltas, a velocidade angular do motor em rpm no momento na medio seria calculada da
seguinte forma, lembrando que 1 minuto tem 60000 milissegundos:

5 voltas

100 milissegundos

Rpm

60000 milissegundos

Tabela 1 Regra de 3 exemplificando como calculado a velocidade angular do motor

Obtendo assim, o seguinte valor de Rpm:

5 60000
100

= 3000 []

(2)

Aps o sistema de sensoriamento estar funcionando, o prximo passo era sintonizar o


controlador PID. O mtodo escolhido para a sintonia do controlador PID baseado no modelo
do processo. Como o modelo matemtico de um motor de corrente contnua envolve variveis
muitas vezes no fornecidas pelos fabricantes dos micromotores, e mesmo assim so
extremamente complicadas de se obter por ensaios, a sada foi fazer uma aproximao para um
modelo de primeira ordem.
Um sistema de primeira ordem pode ser descrito pela seguinte funo de transferncia:

() =

()
()

+1

(3)

17

Os termos K e so obtidos atravs do grfico da resposta ao degrau do processo. Sendo


K o ganho esttico do processo e sua constante de tempo.
Para encontrar o modelo, foram feitos vinte ensaios, utilizando um degrau de 2V, sendo
que o algoritmo contava 5 voltas antes de calcular a velocidade angular do motor. Com esses
dados foi feito uma mdia, e atravs dessa mdia foi plotado o grfico a seguir:

Figura 9 - Grfico da resposta ao degrau de 2V, com o algoritmo contando o tempo de 5 voltas para calcular a velocidade.
Grfico plotado pelo software Matlab.

Com esse grfico, foram obtidos os termos K e . O valor de K obtido da diviso do


valor em regime permanente do processo pelo valor do degrau aplicado. J o valor de obtido
atravs da medio do tempo que demorou para que o processo alcanasse 63,2% do seu valor
em regime permanente, que foi medido pela inspeo do grfico resultando no valor de 1,792
segundos. Abaixo o clculo feito para a obteno de K:

1153
2

= 576,5 [1]

(4)

Assim, o modelo obtido foi:

() =

576,5
1,792+1

(5)

18

Foi aplicado um degrau de 2V a esse modelo e comparado com o grfico da mdia dos
20 ensaios da resposta ao degrau de 2V onde o sensor espera 5 voltas para calcular a velocidade
angular, o grfico da comparao mostrado a seguir:

Figura 10 - Comparao entre a curva obtida pela mdia dos 20 ensaios ao degrau e a curva relativa ao modelo obtido.
Grfico plotado pelo software Matlab.

Feita a comparao notou-se que o sistema descrito por uma dinmica de segunda
ordem e que pode ser aproximada por um modelo de primeira ordem com atraso puro de tempo.
O atraso puro de tempo quando a sada do instrumento no afetada assim que h uma
variao na entrada do mesmo.
O atraso puro de tempo alm de causar o atraso da entrada, tm efeito desestabilizador
em aplicaes com malha fechada. Por isso muitas vezes necessrio usar um modelo de
primeira ordem com atraso puro de tempo para se modelar uma dinmica de segunda ordem
sobreamortecida. Para isso so usadas as aproximaes de Pad, como se segue:

() =

( )
( )

(6)

em que:

() = =0

(+)!
!()!

( )

(7)

Como que para a perfeita aproximao do atraso puro de tempo necessrio aumentar
a ordem da funo de transferncia ao infinito, os instrumentos de primeira e segunda ordem
com atraso puro de tempo podem produzir oscilaes em malhas de controle.
19

Porm, neste trabalho no foram usadas as aproximaes de Pad, assim foi utilizado o
modelo de primeira ordem com atraso puro de tempo. Considerando o atraso puro de tempo, a
funo de transferncia de um sistema de primeira ordem descrita pela funo abaixo:

() =

()

=
()


+1

(8)

O atraso puro de tempo Td, medido em segundos, foi obtido por inspeo visual, e
representa o tempo em que o sistema demora para comear a responder aps a aplicao da
entrada degrau, na figura 10 podemos notar que esse tempo de aproximadamente 2 segundos,
porm para que as curvas entre o modelo e a mdia ficassem mais prximas o valor adotado foi
de 1 segundo. Pelo mesmo motivo, o valor de tambm foi alterado. Com isso, a funo de
transferncia do modelo final ficou assim:

() =

576,5

0,5+1

(9)

A seguir podemos ver o grfico que compara a curva que representa a mdia das
entradas ao degrau com o modelo contemplando o atraso puro de tempo.

Figura 11 - Comparao entre a curva obtida pela mdia dos 20 ensaios ao degrau e a curva relativa ao modelo obtido
considerando o atraso puro de tempo. Grfico plotado pelo software Matlab.

20

Com o modelo obtido, foi usado a ferramenta Sisotool do Matlab para a sintonia do
PID. Nessa ferramenta, o primeiro passo escolher a arquitetura, em formato de diagrama de
blocos, que o controle do processo se encaixa. A arquitetura escolhida mostrada abaixo:

Figura 12 - Arquitetura de controle usada para o projeto.

Escolhido a estrutura de controle, o prximo passo foi escolher o mtodo a ser utilizado
para sintonizar o controlador. O mtodo escolhido foi o de tempo de resposta robusto, que
baseado no modelo. Este mtodo baseado em um algoritmo que modifica a largura de banda
e a margem de fase do sistema, sendo que h duas opes de sintonia: automtica e interativa.
Na sintonia automtica, o algoritmo promove um balano entre desempenho e robustez. J na
sintonia interativa, o usurio quem decide como ser a resposta do sistema.
Para efeito de comparao em relao ao desempenho, foram sintonizados dois tipos de
controladores, um PI e um PID. A funo de transferncia do controlador PI mostrada abaixo:
(1+0,5 )

() = 0,00090783

(10)

Para se encontrar os parmetros Kp e Ki, necessrios para que o Arduino controle a


velocidade angular do motor, tem-se que igualar essa funo de transferncia com a funo de
transferncia caracterstica de um controlador PI que mostrada a seguir:
() = (1 +

(11)

Onde Ti = Kp / Ki
Igualando as funes transferncias temos:
(1 +
(1 +

1

1

1+0,5

) = 0,00090783 (

(12)

( +0,5)

) = 0,00090783 (

(13)

21

(1 +
(1 +
(1 +

1

1

1

) = 0,00090783 ( + 0,5) 2
)=

0,00090783
2

(1 + )

(14)
(15)

) = 0,000453915 (1 + )

(16)

Dessa igualdade obtemos Kp = 0,000453915 e Ti = 0,5 segundos. Como Ki = Kp/Ti,


Ki= 0,00090783. Para conferir esse resultado, foi usada a funo [Kp,Ki,Kd,Tf] = piddata(sys)
do Matlab, onde sys a funo de transferncia do controlador. O resultado obtido foi o
mesmo encontrado analiticamente apresentando acima.
Aps feita a sintonia do controlador PI, foi a vez de realizar a sintonia do controlador
PID, encontrando a funo transferncia mostrada a seguir:

() = 0,00068538

(1+0,073)(1+0,073)

(17)

Como a funo [Kp,Ki,Kd,Tf] = piddata(sys) do Matlab, apresentou o valor correto


dos parmetros do controlador PI, somente ela foi usada para a obteno dos parmetros do
controlador PID. Retornando os seguintes valores: Kp=1,0007 . 10-4, Ki=6,8538 . 10-4 e
Kd=3,6524 . 10-6.
Circuito
O circuito usado para o projeto mostrado a seguir:

Figura 13 - Circuito usado no projeto. Criado no software Fritzing.

22

Nele est representado o motor de corrente contnua, um sensor infravermelho, a


alimentao dc, um transistor, um resistor ligado na base do transistor e o Arduino.
O transistor usado no projeto o TIP 122, ele foi necessrio pois para controlar um motor
de corrente contnua necessrio uma corrente maior do que o Arduino pode oferecer, ou
seja, a funo do transistor amplificar a corrente. A vantagem do TIP 122 para outros
transistores NPN que poderiam ser utilizados, que o TIP 122 tem um diodo interno, necessrio
para proteo do Arduino quando o motor para de ser alimentado e continua girando, se
tornando assim um gerador nesse pequeno intervalo de tempo, podendo enviar uma corrente
maior do que as portas do Arduino suportam. A equao que representa o ganho de um
transistor mostrada a seguir:
= hFE [A]

(18)

Onde Ic a corrente de coletor, Ib a corrente de base e hFE o fator de ganho do


transistor.
Para descobrir o valor mximo da corrente de coletor necessria para controlar esse
motor, foi necessrio aplicar o maior valor de tenso suportado pelo motor, e bloquear o seu
rotor. Assim o Ic obtido foi de 0,234 A. O fator de ganho do transistor informado no datasheet
do TIP 122, e seu valor 1000. Assim, obtemos Ib, como mostrado abaixo:

hFE

0,234
1000

= 0,000234 []

(19)

Com o valor da maior corrente de base necessria para controlar esse motor obtida, o
prximo passo calcular o resistor que ser ligado entre a porta de sada do Arduino e a base
do transistor. Esse resistor usado para limitar a corrente de base. A corrente de base a
responsvel pela conduo entre o coletor e emissor. Ento esse resistor fundamental para o
bom controle do processo. Se o valor desse resistor ficar muito abaixo do correto, a corrente de
base ser muito maior que a necessria, fazendo assim com que a corrente do coletor seja maior
do que a necessria podendo danificar o motor. Se o valor desse resistor ficar muito acima do
correto, a corrente de base ser muito menor que a necessria, assim a corrente do coletor no
ser suficiente para controlar de forma adequada o motor. A equao usada para o clculo do
resistor a seguinte:
=

[]

(20)

23

Onde R o valor do resistor, V a tenso entre os terminais da porta do Arduino e da


base do transistor, e Ib a corrente de base.
A tenso entre os terminais da porta do Arduino e da base do transistor calcula como
mostrado a seguir:
= 1 2 [V]

(21)

Onde V1 a tenso mxima que a porta do Arduino transmite e V2 a queda de tenso


entre a base e o emissor do transistor. Assim temos:
= 5 1,4 = 3,6 [V]

(22)

Com os valores de Ib e V calculados, foi encontrado o valor de R:


=

3,6
0,000234

= 15385 []

(23)

O resistor com valor comercial prximo desse valor o de 15 k, sendo assim o resistor
usado neste trabalho.
O esquema eltrico pode ser visto com mais detalhes abaixo:

Figura 14 - Esquema eltrico do circuito usado no projeto. Criado no software Fritzing.

24

5.

RESULTADOS
Foram feitos trs ensaios no LACOI, um usando os parmetros obtidos atravs do

Matlab para o controlador PI, outro usando os parmetros obtidos atravs do Matlab para o
controlador PID, e um ltimo usando parmetros aleatrios de um controlador PI. Em todos os
ensaios, a velocidade a ser controlada era alterada aps 2 minutos, comeando em 1700 rpm,
passando para 1200 rpm, e depois indo a 2200 rpm.
Para analisar os resultados com mais facilidade, foi utilizando o software Processing
2, que uma ferramenta de desenvolvimento de uma linguagem de programao de cdigo
aberto, usado para mostrar ou salvar dados coletados pelo Arduino. Sendo assim o Processing
2 foi utilizado para construir um supervisrio SCADA. A interface do Processing 2
extremamente parecida com a do Arduino, o que facilita o seu uso.
Nos grficos obtidos pelo supervisrio SCADA que sero apresentados a seguir, a curva
em vermelho a velocidade angular medida, a reta verde representa o setpoint e a curva azul
representa a sada do controlador. As escalas dos grficos so ajustadas por comandos no
prprio algoritmo usado, no caso o PID_FrontEnd_v03. Pode-se ver no lado esquerdo todos
os valores tanto dos parmetros do controlador, como os valores de entrada, sada e setpoint do
sistema, podendo-se mudar o setpoint por ali mesmo e mandar a informao direto para o
Arduino sem precisar modificar o algoritmo no Arduino.

Figura 15 - Parte grfica do controle feito pelo controlador PID. Obtido pelo supervisrio SCADA.

25

Figura 16 - Parte grfica do controle feito pelo controlador PI sintonizado pelo Matlab. Obtido pelo supervisrio SCADA.

Figura 17 - Parte grfica do controle feito pelo controlador PI com os parmetros escolhidos aleatoriamente. Obtido pelo
supervisrio SCADA.

26

O resultado esperado era conseguir variar a faixa de trabalho do PWM, atravs do


controlador PI e PID, a fim de controlar a velocidade angular do motor de corrente contnua.
Como se pode ver nas figuras 15 e 16, o objetivo foi alcanado, sendo que o controlador PID
se saiu um pouco melhor considerando o esforo de controle.
O controlador PI mal sintonizado, foi feito para mostrar como a m sintonia de um
controlador pode ser prejudicial para o sistema, como se pode ver na figura 17, o controlador
foi submetido um esforo de controle muito grande, variando a sua sada bruscamente para
tentar manter a velocidade angular perto do valor do setpoint. Foi observado tambm que o
controlador PI mal sintonizado teve um rudo muito maior que os controladores sintonizados
pelo Matlab.

6.

CONCLUSO

Com os resultados apresentados na seo anterior pode-se concluir a importncia de


uma boa sintonia dos controladores PID. Um controlador PID mal sintonizado gera perdas e
ineficincia na produo. Isso pode ser visto na figura 17, onde o controle foi feito por um
controlador PI com os termos Kp, Ki escolhidos aleatoriamente, o controle da velocidade
angular foi pior havendo maior variao dos valores obtidos se comparados com a figura 16,
onde os valores dos termos Kp, Ki foram encontrados por meio de sintonia utilizando como
mtodo o modelo matemtico do processo. Fora a clara diferena entre a variao dos valores
obtidos, do valor setado, o controlador mal sintonizado correspondente da figura 17 est
sofrendo grande variao na sua sada, o que pode causar dano fsico tanto no controlador,
quanto no atuador. Podemos ver tambm a pequena melhora da sada do controlador PID em
relao a sada do controlador PI corretamente sintonizado, a sada do controlador PID varia
um pouco menos que a sada do controlador PI corretamente sintonizado.
Os controladores funcionaram bem. Tanto no controlador PID quanto no controlador
PI, o tempo de atraso e o tempo de subida so pequenos. O pequeno rudo que se pode ver foi
causado pela construo da hlice, que no totalmente uniforme, e pela limitao do sensor
infravermelho usado.
Sendo assim este trabalho atingiu seu objetivo.

27

7.

PROPOSTAS DE TRABALHOS FUTUROS

Como proposta para um trabalho futuro fica a ideia de melhorar o sistema de medio
usando uma hlice mais uniforme e um sensor melhor. Para o sistema de controle a ideia seria
melhorar o controle, usando um controle mais avanado como por exemplo fuzzy ou redes
neurais.

28

8.

REFERNCIA BIBLIOGRFICA

[1] OGATA, K. Engenharia de Controle Moderno. Prentice Hall do Brasil, 1982.


ISBN: 85-7054-019-1.
[2] BOLTON, W. Engenharia de Controle. MAKRON Books do Brasil, 1995. ISBN:
85-346-0343-X.
[3]

FITZGERALD,

A.

E;

KINGSLEY,

Charles;

UMANS,

Stephen

D. Mquinas eltricas. Bookman, 6 Edio, 2008.


[4] BALBINOT, Alexandre; BRUSAMARELLO, Valner Joo. Instrumentao e
fundamentos de medidas. LTC, 2 Edio, 2011. Volume 1. ISBN: 9788521617549.
[5] SILVEIRA, J A. Experimentos com o Arduino. Edio 2.0, 2013.
[6] AGUIRRE, Luis Antonio. Fundamentos da Instrumentao. Pearson, 1 Edio,
2013. ISBN: 9788581431833.
[7]

Sala

de

Fsica.

Biografias.

Disponvel

em:

<http://www.geocities.ws/saladefisica9/index-2.html>. Acesso em 07 de novembro de 2014.


[8]

AYCOCK,

S.

histria

dos

microcontroladores.

Disponvel

em:

<http://www.ehow.com.br/historia-microcontroladores-info_42970/>. Acesso em 07 de
novembro de 2014.
[9]

BOJORGE,

N.

Sintonia

de

malhas

de

controle.

Disponvel

em:

<http://www.professores.uff.br/controledeprocessos-eq/images/stories/Control_Aula17_Sintonia.pdf>.

Acesso em 07 de novembro de 2014.


[10] AUGARTEN, S. State of the art. A photographic History of the integrated
circuit. Disponvel em: <http://smithsonianchips.si.edu/augarten/p38.htm>. Acesso em 07 de
novembro de 2014.
[11]

Electrnica.

Transstor.

Disponvel

em:

<http://www.electronica-

pt.com/componentes-eletronicos/transistor-tipos>. Acesso em 07 de novembro de 2014.


[12] Instrumentao e Controle. Histrico Instrumentao. Disponvel em:
<http://www.instrumentacao.com/historico.html>. Acesso em 07 de novembro de 2014.

29

9.

ANEXO

9.1

ALGORITMO

//
// Algoritmo usado no Trabalho de Concluso de Curso
// de Gustavo Scaldini Schaeffer no curso de Engenharia
// Eltrica pela Universidade Federal de So Joo del Rei
// com orientao do professor Samir Angelo Milani Martins
//

#include <PID_v1.h>

double Setpoint, Input, Output, rpm; // Declarao das variveis usadas pela biblioteca PID_v1
PID myPID(&Input, &Output, &Setpoint,0.006,0.041,0.00022, DIRECT); // Comando usado
pela biblioteca PID_v1 usado para executar o controle

unsigned long serialTime; // Declarao da varivel usada pelo programa Processing para obter
dados do Arduino

int contagem = 0; // Declarao da varivel mais importante do programa, que faz a contagem
das vezes que o nvel da sada do sensor mudou

unsigned long inicio = millis(); // Declarao da varivel que comea a contar o tempo, tempo
esse que usado para calcular a velocidade angular

void setup() {
Serial.begin(9600);
attachInterrupt(0, contador, CHANGE); // Funo do Arduino que executa a funo 'contador'
quando h mudana de nvel na porta digital 2 do Arduino
Input = rpm;
Setpoint = 1700; // Escolha do setpoint em RPM
myPID.SetMode(AUTOMATIC);
30

void loop()
{
if(contagem >= 44){

// Quando 'contagem' igual a 45 , ou seja, so lidas 5

voltas pelo sensor,


unsigned long tempo = millis() - inicio;

// feito o calculo da velocidade angular em RPM

atravs da regra de 3:
rpm = 300000/tempo;

//

Serial.println(rpm);

//

contagem = 0;

//

inicio += tempo;

//

Input = rpm;

5 voltas - tempo (ms)

Velocidade - 60 000 (ms)

//

myPID.Compute();

// Aps a velocidade ser calculada, o resultado enviado

para a varivel
analogWrite(3,Output);

// Input, umas das variveis responsveis pelo controle.

Aps isso a
}

// funo 'myPID.Compute()' calcula o valor que a sada do

Arduino ter
if(millis()>serialTime)

// que fornecer para que seja feito o controle. Aps isso a

funo
{

// 'analogWrite(3,Output)' manda esse valor a ser fornecido atravs

de
SerialReceive();

// PWM na porta digital 3.

SerialSend();

//

serialTime+=500;

// O ltimo if usado pelo programa Processing para

obter os dados
}
}

// do Arduino e converte-los em curvas


//

///////////////////////////////////////////////////////////////////////////////////////////////
//
union {

//
31

byte asBytes[24];

// Essa parte do algoritmo

usada pelo programa Processing


float asFloat[6];

// para obter os dados do

Arduino e converte-los em curvas


}

//

foo;

//
//

void SerialReceive()

//

//
//
//
int index=0;

//

byte Auto_Man = -1;

//

byte Direct_Reverse = -1;

//

while(Serial.available()&&index<26)

//

//
if(index==0) Auto_Man = Serial.read();

//

else if(index==1) Direct_Reverse = Serial.read();

//

else foo.asBytes[index-2] = Serial.read();

//

index++;

//

//
//

if(index==26

&&

(Auto_Man==0

||

Auto_Man==1)&&

(Direct_Reverse==0

||

Direct_Reverse==1)) //
{

//
Setpoint=double(foo.asFloat[0]);

//
//
//
//

if(Auto_Man==0)
{

//
//

Output=double(foo.asFloat[2]);
}

//
//
//
32

double p, i, d;

//

p = double(foo.asFloat[3]);

//

i = double(foo.asFloat[4]);

//

d = double(foo.asFloat[5]);

//

myPID.SetTunings(p, i, d);

//
//

if(Auto_Man==0) myPID.SetMode(MANUAL);

//

else myPID.SetMode(AUTOMATIC);

//
//

if(Direct_Reverse==0) myPID.SetControllerDirection(DIRECT);

//

else myPID.SetControllerDirection(REVERSE);
}

//
//

Serial.flush();
}

//
//
//

void SerialSend()
{

//
//

Serial.print("PID ");

//

Serial.print(Setpoint);

//

Serial.print(" ");

//

Serial.print(Input);
Serial.print(" ");

//
//

Serial.print(Output);
Serial.print(" ");

//
//

Serial.print(myPID.GetKp());
Serial.print(" ");

//
//

Serial.print(myPID.GetKi());
Serial.print(" ");

//
//

Serial.print(myPID.GetKd());
Serial.print(" ");

//
//

if(myPID.GetMode()==AUTOMATIC) Serial.print("Automatic");
else Serial.print("Manual");
Serial.print(" ");

//
//

//

if(myPID.GetDirection()==DIRECT) Serial.println("Direct");

//
33

else Serial.println("Reverse");
}

//
//
//

///////////////////////////////////////////////////////////////////////////////////////////////

void contador() //
{

// Comando executado quando h variao no nvel da sada da porta do sensor,


contagem++; // este comando soma 1 ao valor atual da varivel 'contagem'.

//

34

9.2

CUSTO DO PROJETO

--------------------------------------------------------------------------------------------------*Salva hlice com 2 borrachinhas 2mm - R$5,50


Hlice Gws 4530-114x76 (2) - R$3,70 cada - R$7,40
Frete - R$19,40
Total - R$32,30
-------------------------------------------------------------------------------------------Suporte para 2 pilhas AA com chave liga/desliga - R$8,90
*Suporte para 4 pilhas AA com chave liga/desliga - R$10,90
Frete - R$16,50
Total - R$36,30
-------------------------------------------------------------------------------------------Tacmetro Turnigy Digital - R$40,00
Frete - R$14,80
Total - R$54,80
-------------------------------------------------------------------------------------------*Protoboard Matriz De Contatos 840 Pontos Transparente Sanusb - R$25,50
Cabo Flat Macho-fmea 20 Vias Coloridas Sanusb Pic Arduino - R$13,50
Cabo Flat Fmea-fmea 20 Vias Coloridas Sanusb Pic Arduino - R$11,50
Motor Cc Dc 5v Sanusb Microcontroladores Pic Arduino (2) - R$5,99 cada - R$11,98
Frete - R$14,35
Total - R$76,83
-------------------------------------------------------------------------------------------65 Jumpers Protoboard Macho-macho Arduino - R$12,90
4x Sensor Reflexivo tico Ir Tcrt5000 Pic Arduino Raspberry - R$5,90
*Sensor Reflexivo Infravermelho Distncia Ajustvel Arduino - R$28,90
Frete - R$14,80
Total - R$62,50
-------------------------------------------------------------------------------------------35

-------------------------------------------------------------------------------------------*Arduino Uno R3 Rv3 Atmega328 + Cabo Usb + Ebook Id907 - R$58,50


Suporte Para Sensor De Ultrasom Hc-sr04 E Outros- Id923 - R$15,50
Sensor De Ultrasom Us-020 2cm A 7m (hc-sr04*) + Exemplos - R$15,50
Frete - R$9,40
Total - R$98,90
-------------------------------------------------------------------------------------------*Motor DC 5,9V RF-300 CA Eixo 8mm (5) - R$2,76 cada - R$13,80
Suporte Para 4 Pilhas AA Paralelas Canoa Preto (2) - R$1,40 cada - R$2,80
*Transistor NPN TIP122 (2) - R$0,81 cada - R$1,62
Resistor PR01 (5% Tolerncia 1W) 330 Ohms (2) - R$0,12 cada - R$0,24
Resistor PR01 (5% Tolerncia 1W) 1 KOhms (2) - R$0,18 cada - R$0,36
Resistor PR01 (5% Tolerncia 1W) 2,2 KOhms (2) - R$0,14 cada - R$0,28
Diodo Retificado de uso geral 1A 1N4007 (5) - R$0,06 cada - R$0,30

Total - R$19,40
------------------------------------------------------------------------------------------Total gasto aproximadamente - R$381,03
Total gasto s com os componentes usados na verso final (marcados com *) e desconsiderando as 4
pilhas AA, resistor de 15k, jumpers para conexo do circuito e o frete R$132,87

36

10.

ASSINATURAS

__________________________________________________________________
Gustavo Scaldini Schaeffer
(Aluno)

__________________________________________________________________
Prof. Samir Angelo Milani Martins
(Professor Orientador)

37

You might also like