associaÇÃo beneficente da indÚstria carbonifera de …

64
ASSOCIAÇÃO BENEFICENTE DA INDÚSTRIA CARBONIFERA DE SANTA CATARINA – SATC EVANDRO BENEDET LEONARDO PADOIN MATHEUS MAZZUCHELLO RENAN SILVEIRA ABREU VICTOR POSSAMAI PROJETO INTERDISCIPLINAR ETAPA II CRICIÚMA, 07 DE NOVEMBRO DE 2016

Upload: others

Post on 26-Oct-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

ASSOCIAÇÃO BENEFICENTE DA INDÚSTRIA CARBONIFERA DE SANTA CATARINA – SATC

EVANDRO BENEDET LEONARDO PADOIN

MATHEUS MAZZUCHELLO RENAN SILVEIRA ABREU

VICTOR POSSAMAI

PROJETO INTERDISCIPLINAR

ETAPA II CRICIÚMA, 07 DE NOVEMBRO DE 2016

ASSOCIAÇÃO BENEFICENTE DA INDÚSTRIA CARBONIFERA DE SANTA CATARINA – SATC

EVANDRO BENEDET LEONARDO PADOIN

MATHEUS MAZZUCHELLO RENAN SILVEIRA ABREU

VICTOR POSSAMAI

PROJETO INTERDISCIPLINAR

Projeto interdisciplinar de Conversão Eletromecânica I, Eletrônica II, Sistemas de Controle, Microprocessadores e Modelagem e Laboratório de Controle.

ETAPA II CRICIÚMA, 07 DE NOVEMBRO DE 2016

SUMÁRIO

1 INTRODUÇÃO ......................................................................................................... 3

2 FABRICAÇÃO DO MOTOR ..................................................................................... 4

2.1 Dimensionamento das bobinas ............................................................................. 5

2.2 Processo de bobinagem ........................................................................................ 7

3 DADOS ADICIONAIS E MEDIÇÕES REALIZADAS ............................................. 13

4 TESTE DO ROTOR TRAVADO ............................................................................. 13

5 TESTE DO MOTOR A VAZIO ................................................................................ 14

6 MODELAGEM ........................................................................................................ 16

6.1 Circuito equivalente do motor .............................................................................. 17

6.2 Equações parte elétrica por malhas .................................................................... 17

6.3 Equações parte mecânica ................................................................................... 18

6.4 Modelagem pelo método de Lagrange ................................................................ 19

7 ESTUDO DO CONTROLE DE VELOCIDADE DO MOTOR .................................. 21

7.1 Controle PID ........................................................................................................ 21

7.2 Ação do controle proporcional ............................................................................. 23

7.3 Ação do controle integral ..................................................................................... 24

7.4 Ação do controle derivativo ................................................................................. 24

8 DADOS DO TACÔMETRO .................................................................................... 25

8.1 Função de transferência da resposta do tacogerador ......................................... 26

8.1.1 Constante de tempo ......................................................................................... 27

8.1.2 Tempo de subida (Tr) ....................................................................................... 27

8.1.3 Tempo de assentamento (Ts) .......................................................................... 28

8.2 APLICAÇÃO DOS CONCEITOS NO MOTOR TRIFÁSICO ................................ 28

8.2.1 Valor da constante de tempo (T) ...................................................................... 28

8.2.2 Valor do tempo de assentamento (Ts) ............................................................. 28

8.2.3 Valor do tempo de subida (Tr) .......................................................................... 29

8.2.4 Função de transferência ................................................................................... 29

8.3 Obtendo a função de transferência no Matlab™ ................................................. 29

9 PROJETO DO CONTROLADOR ........................................................................... 31

9.1 Aplicação do método de sintonização para sistemas de primeira ordem sem

zeros ......................................................................................................................... 31

10 SIMULAÇÃO DO CONTROLADOR .................................................................... 35

10.1 Amplificador Subtrator (1) .................................................................................. 35

10.2 Amplificador Proporcional (2) ............................................................................ 36

10.3 Amplificador Integrador (3) ................................................................................ 36

10.4 Amplificador Derivativo (4) ................................................................................ 36

10.5 Amplificador buffer (somador) (5) ...................................................................... 36

11 CONSTRUÇÃO DO CONTROLADOR ................................................................ 37

11.1 Projeto da placa da fonte simétrica ................................................................... 37

11.1.1 Construção da fonte simétrica ........................................................................ 38

11.2 Projeto da placa do controlador PID .................................................................. 39

11.2.1 Construção da placa do circuito PID .............................................................. 40

11.3 Resultados finais PID analógico ........................................................................ 41

13 PID DIGITAL ........................................................................................................ 41

13.1 Programação Arduino........................................................................................ 42

13.2 Resultados finais PID digital .............................................................................. 59

14 CONCLUSÃO ...................................................................................................... 61

15 REFERÊNCIAS .................................................................................................... 62

3

1 INTRODUÇÃO

As forças mecânicas de rotação inerente aos motores elétricos de indução

são utilizadas em equipamentos dos mais diversos tamanhos: desde pequenos

eletrodomésticos até gigantescas máquinas com potências de vários quilowatts.

Motores elétricos de indução são encontrados nas mais diversas formas e

tamanhos, cada qual apropriado à sua finalidade de utilização. Não importa quanto

torque ou potência um motor deva oferecer, com certeza, o usuário encontrará no

mercado o modelo ideal para sua utilização.

A primeira etapa da elaboração do projeto consiste no dimensionamento e

construção de um motor de indução trifásico. Equipamento que tem finalidade de

converter energia elétrica em energia mecânica através de bobinas de cobre

alimentadas por uma corrente, que geram uma força eletromagnética que por fim

movimenta de forma giratória o rotor do motor. Nesta mesma etapa, também será

apresentada a modelagem do motor, realizada através de pesquisas realizadas e

conhecimento adquirido em sala de aula.

Nas etapas posteriores, o motor servirá de planta para os sistemas de

controle analógico e digital que serão desenvolvidos, afim de se controlar sua

velocidade e trabalhar com um set point pré-estabelecido.

4

2 FABRICAÇÃO DO MOTOR

Um motor elétrico é um dispositivo eletromecânico que converte energia

elétrica em energia mecânica. Alguns motores, atuam com corrente contínua (CC /

DC) e podem ser alimentados tanto por baterias/pilhas quanto por outras fontes de

alimentação, outros operam com corrente alternada (CA / AC) e podem ser

alimentados de forma direta pela rede elétrica do sistema interligado do Brasil.

Existem até mesmo motores que realizam seu trabalho, indiferentemente, com esses

dois tipos de correntes distintas.

Os motores de corrente alternada (modelo proposto para o projeto) são

classificados em síncronos, monofásicos, indução trifásico e motores para fins

especiais. O motor mais utilizado é o motor de indução trifásico, devido à sua

construção simples, robusta e de baixo custo. Ainda conta com boas características

de funcionamento, ausência de comutador e boa regulação de velocidade. Com este

tipo de motor não necessita de qualquer dispositivo auxiliar de arranque. O motor de

indução também é chamado de motor síncrono, uma vez que corre a uma

velocidade diferente da velocidade síncrona. Como qualquer outro motor elétrico de

indução, também têm duas partes construtivas principais, o rotor e o estator.

Estator, como o próprio nome indica, é a parte fixa do motor de indução. São

onde as bobinas são dispostas, no caso do projeto em questão foram utilizadas três

bobinas compensadas por um ângulo elétrico de 120°. A estrutura do motor de

indução trifásico deve ser muito forte e rígida, caso contrário rotor não permanecerá

concêntrico com estator, o que dará origem a atração magnética ocorrendo um

desequilíbrio e desbalanceamento do rotor.

Quando o enrolamento do estator está ligado a um fornecimento de corrente

alternada trifásica, estabelece-se um campo magnético rotativo que roda a uma

velocidade síncrona.

O sentido de rotação do motor depende da sequência de fases de linhas de

alimentação, e a ordem em que estas linhas são ligadas ao estator. Assim trocando

a ligação de quaisquer dois terminais de fornecimento, irá inverter o sentido de

rotação.

Rotor é a parte rotativa do motor de indução que está ligado à carga

mecânica através do eixo. O rotor da gaiola de esquilo no motor de indução trifásico

5

é de forma cilíndrica e tem ranhuras na sua periferia. As ranhuras não são paralelas

umas às outras, mas estão pouco inclinadas o que torna a operação de motores

mais suave e mais silencioso.

Consiste em alumínio, latão ou barras cobre. Estas barras são chamadas

condutores do rotor e estão colocados nas ranhuras na periferia do rotor. Os

condutores do rotor estão permanentemente em curto pelas linhas de cobre ou

alumínio, anéis que são chamados de anéis finais.

À medida que as barras estão permanentemente em curto-circuito por anéis

de extremidade, a resistência do rotor é muito pequena e não é possível adicionar

resistência externa como as barras estão permanentemente em curto-circuito. Estes

motores têm a vantagem de adaptar a qualquer número de pares de pólos.

Partindo da necessidade de enrolar as três bobinas idênticas em algum

meio, escolheu-se o suporte que auxiliaria para tal, assim partiu para a parte da

construção do entreferro, estator e início dos os cálculos de projeto do protótipo de

motor. Os carretéis selecionados, vindos de carcaças de esparadrapos, têm

diâmetro interno de 25mm e 54mm de comprimento.

O rotor gaiola de esquilo foi conseguido por meio de um cooler Adda

220V/110V que não era mais utilizado na empresa Prince Automação. Desmontado

o mesmo e retirado as hélices do cooler e lubrificando os enrolamentos existentes,

este já estava pronto para fazer seu trabalho no projeto.

Figura 1 - Rotor cooler Adda utilizado.

2.1 Dimensionamento das bobinas

Como o carretel que foi enrolado o fio possui um diâmetro interno de

ø25mm, solicitou-se para que o entreferro fosse usinado com ø20mm. O entreferro

foi cortesia de uma empresa de tornearia, Tornearia Costa, localizada no bairro

6

Quarta Linha em Criciúma. Que conforme dados passados pelo proprietário, foi

utilizado uma liga metálica 3e7, no qual tem permeabilidade magnética relativa (µr)

aproximadamente 15000 e é geralmente utilizada nas matrizes de prensas

hidráulicas para cerâmica.

Para obter o diâmetro do fio que utilizado para enrolar as bobinas,

utilizou-se a equação a seguir: 𝐼

𝐽 ∗ √3

Onde:

𝐼 – Corrente do motor;

𝐽 – Densidade de corrente do motor.

Utilizou-se a corrente de projeto de 1 A, e para motores até 10 HP

(horsepower) utiliza-se a densidade de corrente ( 𝐽 ) de 7 e multiplica-se por raiz de

3 por ser um sistema trifásico, portanto:

𝐼

𝐽 ∗ √3=

17 ∗ √3

= 0,08𝑚𝑚

O fio de diâmetro ø0,08mm é equivalente ao AWG 28, que foi o

utilizado para o enrolamento das bobinas.

Com a especificação do fio a utilizar e as dimensões da bobina, os

dados foram inseridos no software de simulação Calcbob no qual foi obtido o

número de espiras para bobinas com núcleo de ar, utilizada apenas como

referência. Logo abaixo segue a simulação realizada:

7

Figura 2 - Software Calcbob utilizado para dimensionamento do número de espiras.

Utilizando o número de espiras fornecidas pelo simulador e os dados

descritos acima pode-se calcular a impedância das bobinas através da equação

abaixo:

𝐿 =1,27 ∗ 𝑁2 ∗ µ ∗ 𝐴

𝑙 ∗ 10^7

Onde:

𝐿 – Indutância da bobina;

𝑁– Número de espiras;

µ - Permeabilidade magnética do entreferro;

𝐴 – Área da seção;

𝑙–Comprimento da bobina.

Substituindo os valores tem-se:

𝐿 =1,27 ∗ (3192)2 ∗ 15000 ∗ 4𝜋10−7 ∗ 908

54 ∗ 10^7= 406,9 𝑚𝐻

2.2 Processo de bobinagem

A partir dos cálculos realizados para o dimensionamento do número de

espiras, deu-se início à confecção das bobinas. Como carretel, decidiu-se utilizar

8

rolos de esparadrapo, levando em conta sua resistência mecânica e na boa

performance do experimento feito pelos colegas do semestre anterior, que estava

disponível como modelo a seguir.

Para que o processo de bobinagem se tornasse mais eficiente e mais ágil, foi

utilizado um motor de máquina de costura, que em conjunto a um sistema de polias,

transferia a rotação para um eixo onde fixava os carretéis. Neste mesmo eixo,

acoplou-se um contador mecânico que mostraria o número de voltas.

Porém, como a rotação do motor era muito alta, isso foi um empecilho para

este processo. Para isso, foi utilizado um dimmer de chuveiro na fase do motor, que

nos possibilitou alterar a velocidade do mesmo conforme as espiras eram enroladas

nos carretéis.

Figura 3 - Conjunto utilizado para enrolamento das bobinas

Figura 4- Controle de velocidade por dimmer de chuveiro

9

Com as bobinas confeccionadas, foi passado uma volta de fita, a fim de

deixar a mesma bem firme. Com os entreferros em mãos, foi feito uma pré-

disposição de como iria ficar postos no estator e aí sim mediu-se para que haja 120°

entre furos. Realizados os furos iniciou-se a parte da montagem.

Figura 5 - Disposição das bobinas no estator

Com todas as peças no lugar, iniciou-se o primeiro teste. Este ocorreu com

um inversor de frequência WEG CFW08, emprestado pela empresa Prince

Automação de Criciúma para nos auxiliar no projeto. Nos terminais de entrada do

equipamento, alimentado com tensão 380V, foram feitas algumas configurações

básicas para dar a partida, uma vez que não sabia-se qual seria o resultado real a

ser apresentado pelo protótipo.

Uma rampa suave de aceleração entorno de 7 segundos, e uma frequência

limitada a 15Hz, e foi assim que se viu em funcionamento pela primeira vez. Ficou

ligado aproximadamente uns quinze minutos e como não houve aquecimento e a

corrente estava de comportando admissível, elevando a frequência de trabalho em

dez em dez hertz.

10

Figura 6 - Primeiros testes com CFW08.

Tabela abaixo apresenta alguns valores de corrente encontrados nos

primeiros testes com inversor 380V e ligação em estrela.

Corrente (A)

Frequência Fase U Fase V Fase W

20 0,5 0,4 0,4

30 0,7 0,6 0,6

40 0,7 0,7 0,7

50 0,8 0,8 0,7

60 0,9 0,8 0,8

Tabela 1- Dados de corrente obtidos por fase

Partindo para segunda meta estipulada, utilizou-se um motor cc acoplado

momentaneamente ao rotor para medir qual a tensão que teria a fim de trabalhar no

controle posteriormente. Trabalhando com 40Hz o taco gerador estava produzindo

cerca de 4,3V, porem perdendo muita rotação devido ao modelo do motor cc ser

pesado, então optou-se em trocá-lo por um modelo menor, apresentado

posteriormente.

11

Figura 7 - Primeiro modelo de taco-gerador proposto.

Com a convicção que o protótipo estava funcionando como planejado,

desmontou-se o mesmo por inteiro para dar início a fase de acabamentos e

melhorias.

O projeto foi colocado sobre uma base de mdf na qual as conexões elétricas

ficaram na parte de baixo da mesma. Em cima ficaram as seis pontas das bobinas

interligadas a peças de ligação rápida.

Foi criado um suporte de tecnil para dar altura ao rotor, para que este ficasse

com seu meio perpendicular aos entreferros. Com o novo taco gerador, foi

construído através de impressora 3D na empresa onde um dos integrantes trabalha,

um suporte para o mesmo a fim de não fazer esforço sobre o rotor.

Figura 8: Suporte e novo taco-gerador escolhido

No laboratório da SATC, através do aparelho que mede indutância foram

confirmados os valores com pequena margem de erro. Da esquerda para a direita

aparecem os valores de indutância das bobinas U, V e W respectivamente.

12

Figura 9 - Indicadores de indutância em aparelho digital

Através do tacômetro digital disponibilizado no laboratório, mediu-se a

rotação do experimento. Trabalhando com o inversor agora monofásico em 60Hz

com ligação em estrela obtiveu-se 2200RPM, quando passou para ligação em

triangulo houve um acréscimo de 300RPM, totalizando assim os 2500RPM

encontrados.

Figura 10 - Rotações encontradas nos dois tipos de ligação

13

3 DADOS ADICIONAIS E MEDIÇÕES REALIZADAS

Com o motor montado foi possível obter algumas características, são

elas:

Peso rotor: 152g

Peso bobina confeccionada: 220g

Uso de fio de cobre por bobina: 306m

Resistência média das bobinas: 62Ω

Indutância média das bobinas: 420mH

Corrente média das bobinas: 0,4A (220V) e 0,8A (380V)

Rotação quando alimentação 220V e frequência 60Hz: 2200 rpm (1) Tensão de saída do tacogerador sob as condições (1): 7V

4 TESTE DO ROTOR TRAVADO

Para avaliar os parâmetros do motor de indução trifásico, foi realizado

teste do rotor bloqueado (ou travado) e o teste à vazio do mesmo.

Para o teste do rotor bloqueado, coloca-se o reostato de partida do

motor em curto circuito, e logo em seguida bloqueia-se o rotor da máquina. Após,

uma tensão Vt é aplicada na alimentação até obter a corrente nominal do motor

(Inom = Irt).

Utilizando um analisador de energia, conecta-se o terminal na fase

desejada, a referência no neutro e o cabo com o amperímetro também na fase

desejada a medir.

Os dados do ensaio na fase S (referência) foram:

Tensão: 157V (fase S)

Corrente: 0,43V

Potência Ativa: 0,04kW

As figura 11 e 12 mostram a imagem capturada do aparelho:

14

Figura 11 – Leitura do analisador

Figura 12 – Leitura do analisador

Em relação ao teste descrito acima, não foram registradas alterações

significativas nos parâmetros originais do motor. Isso pode ser atribuído à falta de

torque do motor, tendo em vista a forma construtiva do mesmo.

5 TESTE DO MOTOR A VAZIO

Para realização do teste do motor à vazio, libera-se totalmente o rotor do

motor e aplicando a tensão nominal, mede-se os dados de corrente (A), Fator de

15

Potência, e potências ativa, reativa e aparente. Os dados são relacionados na tabela

abaixo:

Dados do teste à vazio do motor de indução

Tensão (V) Fase Corrente

(A) Fator

Potência P. Ativa

(kW)

P. Aparente

(kVA)

P. Aparente

(kVAR)

100 R 0,12 0,67 0,01 0,01 0,01 S 0,15 0,66 0,02 0,02 0,01 T 0,09 0,64 0,01 0,02 0,01

140 R 0,22 0,57 0,05 0,04 0,03 S 0,23 0,59 0,06 0,05 0,04 T 0,18 0,56 0,06 0,05 0,03

180 R 0,26 0,53 0,08 0,08 0,06 S 0,3 0,57 0,09 0,07 0,08 T 0,21 0,54 0,08 0,07 0,07

220 R 0,3 0,55 0,10 0,11 0,08 S 0,42 0,59 0,10 0,12 0,09 T 0,26 0,54 0,09 0,11 0,08

240 R 0,41 0,6 0,11 0,14 0,010 S 0,43 0,62 0,11 0,14 0,10 T 0,4 0,59 0,10 0,15 0,09

Tabela 2 - Dados do teste a vazio

Também pode-se obter as curvas de corrente e potência em função da

tensão de alimentação, conforme apresentado abaixo:

Gráfico 1 – Corrente x Tensão

Com o teste mostrado acima, percebe-se um aumento nas grandezas de

corrente e potências à medida que a tensão da alimentação é aumentada.

0,15

0,23

0,3

0,42 0,43

100 140 180 220 240

Corrente x Tensão (fase S)

Corrente (A)

16

Para obter os valores referentes ao modelo do motor, iremos analisar a

fase S. Analisando a diferença de potências entre a tensão de refência 220V e a

suporior aplicada, 240V, esse valor é de cerca de 20W. Com base nesse valor

estima-se as perdas no ferro.

𝑃𝑓 = 110𝑊 − 0,4𝑅𝑠² − 20𝑊 = 21,3𝑊

𝐸 = 240 − (𝑅𝑠 + 𝑗𝑋1)𝐼𝑜 = 81,2

𝐼𝑓 =𝑃𝑓𝐸

=21,381,2

= 0,26𝑚𝐴

𝐼𝑚 = 𝐼𝑜 − 𝐼𝑓 = 0,43𝑚𝐴 − 0,26𝑚𝐴 = 0,17𝑚𝐴

𝑋𝑚 =𝐸𝐼𝑚

= 0,88𝐻

𝑍 = 1

(𝐿𝑠 + 𝐿𝑚)(𝐿𝑟 + 𝐿𝑚)

𝑍 = 1

(0,4 + 0,88)(0,4 + 0,88)= 0,61

Assim temos:

𝐺(𝑠) = 𝑍(𝑆𝐿𝑚 (𝐿𝑠 + 𝐿𝑟) + 𝑅𝑠𝑅𝑟

𝑆² + �𝑆 (𝑅𝑟𝐿𝑠 + 𝑅𝑠𝐿𝑚 + 𝑅𝑟𝐿𝑟 + 𝑅𝑟𝐿𝑚)� + 𝑅𝑟𝑅𝑠

𝐺(𝑠)

= 0,61(𝑆0,88 (0,4 + 0,4) + 𝑅𝑠𝑅𝑟

𝑆² + �𝑆 (301,22 ∗ 0,4 + 301,22 ∗ 0,88 + 301,22 ∗ 0,4 + 301,22 ∗ 0,88)� + 301,22 ∗ 301,22

6 MODELAGEM

O motor de indução é uma máquina elétrica constituída de duas partes,

o estator e o rotor, que são divididos pelos entreferros.

A alimentação por corrente alternada é feita pelos terminais trifásicos

do estator, sendo que o rotor recebe a corrente alternada por indução, de forma

semelhante a um transformador. A excitação do estator pela fonte trifásica gera um

campo magnético girante no entreferro, que gira em uma velocidade dependente da

freqüência da tensão alimentada.

17

O rotor utilizado é do tipo gaiola de esquilo, que é constituído por

barras condutoras curto circuitadas em seus terminais e encaixadas no ferro do

rotor.

6.1 Circuito equivalente do motor

Figura 13 - Circuito elétrico equivalente do motor por fase

Para o circuito, admite-se que Ls e Lr respectivamente são as

reatâncias do estator e do rotor por fase, Lm a reatância de magnetização por fase e

Rm a resistência de magnetização, tal qual Rs e Rr são as resistências do estator e

do rotor por fase, e s o escorregamento. Para efeito de modelagem se considera o

motor como travado. Para a parte mecânica, considerado J como o rotor e B o atrito

do mesmo.

6.2 Equações parte elétrica por malhas

𝑀𝑎𝑙ℎ𝑎 𝐼1

−𝑉𝑖 + 𝑉𝑏 + 𝑉𝑅𝑠 + 𝑉𝐿𝑠 + 𝑉𝑅𝑚 = 0

𝐿1 𝐼1̇ = 𝑉𝑖 − 𝑉𝑏 − 𝑉𝑅𝑠 − 𝑉𝑅𝑚 ( ʃ )

𝐼1 = 1𝐿1

∗ ʃ(𝑉𝑖 − 𝑉𝑏 − 𝑉𝑅𝑠 − 𝑉𝑅𝑚)( ʆ )

𝑰𝟏 = 𝟏𝑳𝟏𝑺

∗ (𝑽𝒊 − 𝑽𝒃 − 𝑽𝑹𝒔 − 𝑽𝑹𝒎)

𝑽𝑹𝒎 = 𝑹𝒎 ∗ (𝑰𝟏 − 𝑰𝟐)

𝑽𝑹𝒔 = 𝑹𝒔 ∗ 𝑰𝟏

𝑽𝒃 = 𝑲𝒗 ∗ 𝒘

𝑀𝑎𝑙ℎ𝑎 𝐼2

𝑉𝑅𝑚 + 𝑉𝐿𝑚 = 0

𝐿𝑚(𝐼2 −̇ 𝐼1̇) = -VRm

18

𝐿𝑚𝐼2̇ = −𝑉𝑅𝑚 + 𝐿𝑚𝐼1̇ ( ʃ )

𝐼2 = − ʃ 𝑉𝑟𝑚𝐿𝑚

+ 𝐼1 ( ʆ )

𝑰𝟐 = −𝟏

𝑳𝒎𝑺∗ (𝑽𝑹𝒎) + 𝑰𝟏

𝑀𝑎𝑙ℎ𝑎 𝐼3

𝐴𝑑𝑚𝑖𝑡𝑒 − 𝑠𝑒 𝑞𝑢𝑒 𝑅𝑟𝑠

(1 − 𝑆) = 𝑉𝑅𝑥

𝑉𝑅𝑟 + 𝑉𝐿𝑟 + 𝑉𝑅𝑥 + 𝑉𝐿𝑚 = 0

𝐿𝑚�𝐼3̇ − 𝐼2̇� = −𝑉𝑅𝑟 − 𝑉𝐿𝑟 − 𝑉𝑅𝑥

𝐼3̇ = 𝐼2̇ − 𝑉𝑅𝑟𝐿𝑚

− 𝑉𝐿𝑟𝐿𝑚

−𝑉𝑅𝑥𝐿𝑚

( ʃ )

𝐼3 = 𝐼2 − 1𝐿𝑚

∗ ʃ(𝑉𝑅𝑟 + 𝑉𝐿𝑟 + 𝑉𝑅𝑥) ( ʆ )

𝑰𝟑 = 𝑰𝟐 − 𝟏

𝑳𝒎𝑺∗ (𝑽𝑹𝒓 + 𝑽𝑳𝒓 + 𝑽𝑹𝒙)

𝑽𝑹𝒓 = 𝑰𝟑 ∗ 𝑹𝒓

𝑽𝑳𝒓 = 𝑰𝟑 ∗ 𝑳𝒓𝑺

𝑽𝑹𝒙 = 𝑰𝟑 ∗ 𝑹𝒓𝒔

(𝟏 − 𝑺)

6.3 Equações parte mecânica

τ𝐽 + τ𝐵 = τ

𝐽�̇� = −τB + τ ( ʃ )

𝑤 = 1𝐽

ʃ ( τ − τB) ( ʆ )

𝒘 = 𝟏𝑱𝑺

( 𝛕 − 𝛕𝐁)

𝛕𝐁 = 𝐁 ∗ 𝐰

𝑲𝛕 = 𝛕 ∗ 𝐈𝟑

19

A partir das equações, é possível elaborar o diagrama de blocos, com

integradores e ganhos, referentes a este sistema:

Figura 14 - Diagrama de blocos do sistema

6.4 Modelagem pelo método de Lagrange

Modelo aproximado do motor pelo método de Lagrange aprendido em

sala de aula:

Figura 15 - Circuito elétrico equivalente do motor por fase

𝐿 = 𝑇 − 𝑈

𝑇:12

𝐿𝑠 𝑞²̇ +12

𝐿𝑟 𝑞² +12

𝐿𝑚 𝑞²̇ +12

𝐽 𝜃²̇̇

𝑈: 0

𝐹𝑜𝑛𝑡𝑒𝑠:𝑉1

𝑃𝑒𝑟𝑑𝑎𝑠:𝐵 ∗ �̇�;𝑅𝑠 ∗ �̇� + 𝑅𝑟 ∗ 𝑞 + 𝑅𝑚 ∗ �̇�̇

20

Coordenada θ: 𝜕𝐿𝜕�̇�

= 𝜕𝐿𝜕�̇�

�12𝐽�̇�� = 𝐽�̇�

𝑑𝑑𝑡�𝜕𝐿𝜕�̇�� = 𝐽�̈�

𝜕𝐿𝜕𝜃

= 0

𝑑𝑑𝑡�𝜕𝐿𝜕�̇�� −

𝜕𝐿𝜕𝜃

→ 𝐽�̈� = −𝐵 ∗ �̇� (𝟏)

Coordenada q: 𝜕𝐿𝜕�̇�

= 𝜕𝐿𝜕�̇�

�12

𝐿𝑠 𝑞²̇ +12

𝐿𝑟 𝑞²̇ +12

𝐿𝑚 𝑞²̇ � = 𝐿𝑠 𝑞²̇ + 𝐿𝑟 𝑞²̇ + 𝐿𝑚 𝑞²̇

𝑑𝑑𝑡�𝐿𝑠 𝑞²̇ + 𝐿𝑟 𝑞²̇ + 𝐿𝑚 𝑞²̇� = 𝐿𝑠 𝑞² +̈ 𝐿𝑟 𝑞²̈ + 𝐿𝑚 𝑞²̈

𝜕𝐿𝜕𝑞

= 0

𝑑𝑑𝑡�𝜕𝐿𝜕�̇�� − 𝜕𝐿

𝜕𝑞→ 𝐿𝑠 𝑞² +̈ 𝐿𝑟 𝑞²̈ + 𝐿𝑚 𝑞²̈ = 𝑉1 − 𝑅𝑠�̇� + 𝑅𝑟𝑞 + 𝑅𝑚�̇�̇ (2)

(1) e (2) representam as equações do sistema

(2)

Através das equações obtidas pelo modelo do motor, com rearranjo das

mesmas é possível obter a função de transferência característica.

Para melhor visualização de valores, isola-se uma variável Z que

representa:

𝑍 = 1

(𝐿𝑠 + 𝐿𝑚)(𝐿𝑟 + 𝐿𝑚)

Assim tem-se:

𝐺(𝑠) = 𝑍(𝑆𝐿𝑚 (𝐿𝑠 + 𝐿𝑟) + 𝑅𝑠𝑅𝑟

𝑆² + �𝑆 (𝑅𝑟𝐿𝑠 + 𝑅𝑠𝐿𝑚 + 𝑅𝑟𝐿𝑟 + 𝑅𝑟𝐿𝑚)� + 𝑅𝑠𝑅𝑠

21

7 ESTUDO DO CONTROLE DE VELOCIDADE DO MOTOR

Em muitos processos, seja ele para uso industrial, comercial ou

doméstico, há necessidade de se manter um ou mais parâmetros estáveis ou dentro

de uma faixa mínima de variação.

Os itens abordados a seguir serão relacionados ao controle de velocidade de

um motor de indução trifásico, construído artesanalmente, mas também pode ser

aplicado a controles de temperatura de fornos, controle de fluído em um recipiente,

entre outros tipos de controles.

7.1 Controle PID

É comum encontrar em alguns equipamentos o tipo de controle com

termostato (liga-desliga), por exemplo, nos eletrodomésticos, tais como: ferros de

passar roupa e geladeiras. Quando há necessidade de maiores exigências de

precisão e estabilidade o mais indicado é utilizar o controle PID (proporcional,

integral e derivativo).

Durante a operação do motor, a velocidade pode variar devido à vários

tipos de distúrbios, como variações em cargas aplicadas ao seu eixo ou até mesmo

alterações na tensão de alimentação. Neste caso o controlador deve agir para

manter os parâmetros desejados.

O controlador tem a função de manter a variável controlada o mais

aproximado possível do valor previamente definido.

Para realizar o controle da velocidade, deve ser feita uma comparação

entre o valor desejado e o valor medido pelo taco gerador, que no caso do projeto é

um motor CC de driver de CD comum.

O controle PID é uma forma refinada e mais robusta de controle, aliados à

sua simplicidade de arquitetura.

A utilidade dos controles PID permanece na maioria do seu campo de

aplicabilidade. No campo dos sistemas de controle de processos contínuos, é fato

conhecido que as estruturas de controle PID provaram sua utilidade ao propiciar

controle satisfatório, embora não possam fornecer o controle excelente em algumas

situações específicas (OGATA, 2000).

22

Controladores PID apresentam características que permitem atingir a

maioria dos objetivos de controle (baixo overshoot, erro nulo em regime permanente

e desempenho transitório adequado, figura 16)

Figura 16 – Resposta desejada de um controlador PID

Apesar de uma vasta gama de aplicação, ainda não há consenso na

definição do algoritmo de controlador PID. De acordo com Astrom e Hagglund

(1995), a versão acadêmica do controlador PID tem a seguinte forma, como vemos

na equação 1:

𝑢(𝑡) = 𝐾𝑝 �𝑒(𝑡) + 1𝑇𝑖

∫ 𝑒(𝑡)𝑑𝑡 + 𝑇𝑑 𝜕𝑒𝜕𝑡

𝑡0 � (1)

Onde:

- 𝑢 representa a varável de controle;

- 𝐾𝑝 é conhecido como o ganho do controlador ou proporcional;

- 𝑒 é o erro definido por 𝑒 = 𝑈 − 𝑌 onde 𝑈 é o valor de referência ou

setpoint e 𝑌 o valor da saída do processo;

- 𝑇𝑖 é o ganho integral e influencia as partes presente e passado do

processo;

- 𝑇𝑑 é o ganho derivativo, que antecipa a ação do proporcional e

influencia a parte futura do processo.

Na figura 17, observa-se um modelo de controlador simples com

retroalimentação.

23

Figura 17 – Controlador PID simples com retroalimentação

7.2 Ação do controle proporcional

Na ação do controle proporcional, a relação entrada/saída do controlador

e o sinal de erro é apenas um ganho, que é representada pela equação 2 e sua

função de transferência pode ser verificada na equação 3.

𝑢(𝑡) = 𝐾𝑝𝑒(𝑡) (2) 𝑈(𝑠) 𝐸𝑟𝑟(𝑠)

= 𝐾𝑝 (3)

Onde:

- 𝑈 é a amplitude do sinal de controle;

- 𝐸𝑟𝑟 é o sinal de erro (variável desejada);

- 𝐾𝑝 é ganho proporcional.

O controlador do tipo proporcional possui uma característica específica,

que faz com que a variável de controle se afaste do valor estipulado quando existir

variação de carga de demanda, pois esta leva a saída do controlador para uma nova

posição. Esse desvio em relação ao valor desejado é chamado de desvio

permanente ou offset, e só pode ser removido se ajustado manualmente.

A figura 18 mostra uma relação entre o sinal de erro e a ação do controle

proporcional. Excluída a faixa de saturação da variável que é manipulada, cada valor

de erro tem um único valor correspondente de ação de controle e vice versa.

Figura 18 – Ação do controle gerada por um controlador do tipo proporcional

24

O ganho do controlador é dado pela inclinação da reta sobre a banda

proporcional percentual (BP), a relação entre ambos é dada pela equação 4. Esta

representação é genérica e somente para o caso onde a saída do controlador varia

entre 0 e 100%. 100 𝐾𝑝

= 𝐵𝑝 (4)

7.3 Ação do controle integral

A ação do integral vai atuar ao longo do tempo enquanto ocorrer diferença

entre o valor estipulado e o valor medido. Assim, o sinal a ser corrigido é integrado

no tempo, conforme a equação 5. 𝑑𝑒(𝑡)𝑑𝑡

= 𝐾𝑖𝑢(𝑡) (5)

Para que a correção fique sob a forma de amplitude, a integração e feita

da equação 6.

𝑒(𝑡) = 𝐾𝑖 ∫ 𝑢 (𝑡) (6)

E a função de transferência é:

𝑈(𝑠) 𝐸𝑟𝑟(𝑠)

= 𝐾𝑖𝑠

Onde 𝐾𝑖 é o ganho integral.

A ação integral apresenta como principal vantagem, a eliminação do

desvio permanente.

O modo integral apresenta um fenômeno indesejado, que consiste na

saturação do sinal produzido pela integração quando existir um desvio positivo ou

negativo durante um tempo determinado. Nesse caso a saída do controlador é

saturada a um valor limite, seja ela no limite máximo ou mínimo de tensão

produzida, por exemplo, por uma placa de aquisição.

7.4 Ação do controle derivativo

Na ação derivativa, a amplitude de correção é proporcional à amplitude do

desvio e uma grande taxa de variação provoca um grande sinal de correção mesmo

que o erro seja pequeno, entretanto se o erro variar o sinal de correção é nulo.

𝑒(𝑡) = 𝑇𝐷𝑑𝑢(𝑡)𝑑𝑡

A função de transferência é:

25

𝑈(𝑠) 𝐸(𝑠)

= 𝑆 𝑇𝐷

O tempo derivativo 𝑇𝐷, é conhecido também como ganho derivativo, que

corresponde ao tempo gasto para se obter a mesma quantidade operacional da

ação proporcional somente pela ação derivativa, quando o desvio é variado numa

velocidade constante.

O modo derivativo não é indicado para processos com muito ruído, pois o

mesmo poderá atingir valores de amplitudes prejudiciais ao processo. Recomenda-

se então o emprego desse modo em processo que possuem várias capacitâncias e

tempos mortos.

8 DADOS DO TACÔMETRO

Para realizar a medição de velocidade do motor trifásico foi utilizado um

motor cc de driver de cd convencional como tacogerador de sinal, conforme a figura

19.

Figura 19 – Motor utilizado como tacogerador

Com o motor em máxima rotação (1850 RPM) foi gerado

aproximadamente 1V na saída do tacogerador. Para fins de projeto, o sinal foi

amplificado para 5V conforme figura 20.

26

Figura 20 – Saída do tacogerador após amplificação para 5V

8.1 Função de transferência da resposta do tacogerador

Como a curva obtida na saída do tacogerador tem um aspecto de primeira

ordem foi aplicado o conceito de equação diferencial de primeira ordem.

A figura 21 apresenta o comportamento da saída adimensional contra o

tempo adimensional:

27

Figura 21 – Resposta ao degrau de um sistema de primeira ordem

Quando t = 1/a, a resposta c(t) alcança 63,2 % de sua variação total (ver

figura). Com estas constatações, definimos a seguir três especificações da resposta

transitória.

8.1.1 Constante de tempo

Denomina-se o fator 1/a constante de tempo. Da equação (3), trata-se do

tempo para e-at decair 37 % do seu valor inicial, ou o tempo para a resposta ao

degrau alcançar 63 % do seu valor final. Como o pólo da função de transferência

está em –a, podemos dizer que o pólo está localizado na recíproca da constante de

tempo, e quanto mais afastado o pólo estiver do eixo imaginário, mais rápida será a

resposta transiente.

8.1.2 Tempo de subida (Tr)

É o tempo necessário para a resposta passar de 10 % a 90 % do seu

valor final. O tempo de subida é obtido da equação.

28

8.1.3 Tempo de assentamento (Ts)

É o tempo necessário para a curva de alcançar e permanecer dentro de

uma faixa em torno de 2 % do seu valor final.

8.2 APLICAÇÃO DOS CONCEITOS NO MOTOR TRIFÁSICO

Aplicando os conceitos estudados, foram obtidos os valores de constante

de tempo (T), tempo de assentamento (Ts), tempo de subida (Tr) e a função de

transferência aproximada da curva apresentada na figura 22.

Figura 22 - Imagem capturada na saída do tacogerador

8.2.1 Valor da constante de tempo (T)

Manipulando a imagem e traçando uma linha em 63,2% da amplitude, ou

seja, 3,16V, chegou-se à uma constante de tempo (T) de 6,5 segundos.

8.2.2 Valor do tempo de assentamento (Ts)

Para encontrar o valor de Ts foi utilizado a fórmula abaixo:

29

Ts = 4 x T

Ts = 4 x 6,5

Ts = 26 segundos

8.2.3 Valor do tempo de subida (Tr)

Para encontrar o valor de Tr foi utilizado a fórmula abaixo:

Tr = 2,2 x T

Tr = 2,2x 6,5

Tr= 14,3 segundos

8.2.4 Função de transferência

Com os valores obtidos acima pôde-se calcular a função de transferência

conforme a seguir:

G(s) = 𝑘/𝑎 𝑠− 𝑘/𝑎

𝑠+𝑎

G(s) = 𝑘 𝑎− 𝑘 𝑒−𝑎𝑡

𝑎

𝑘 𝑎

= 5

k = 5 x a

k = 5 x 0,1538

k = 0,769

G(s) = 𝑘 𝑠+𝑎

G(s) = 𝟎,𝟕𝟔𝟗 𝒔+𝟎,𝟏𝟓𝟑𝟖

8.3 Obtendo a função de transferência no Matlab™

Para verificar se a função de transferência está correta, utilizou-se o

MATLAB com o seguinte código:

30

Utilizando o código acima, chegou-se à função de transferência da figura

23:

Figura 23 – Função de transferência obtida pelo MATLABTM

Como pode-se oberservar, a curva obtida pelo MATLABTM possui o

mesmo comportamento da resposta do tacogerador, comprovando assim que o

calculo está correto.

31

9 PROJETO DO CONTROLADOR

Existem muitas maneiras de sintonização de um controlador PID, a única

questão que se coloca é como selecionar os parâmetros dos controladores de modo

a ter uma resposta satisfatória, quando se controla um determinado sistema.

Algumas vezes torna-se necessário recorrer a métodos empíricos para resolver este

problema.

Dentre todos os métodos existentes, optou-se em aplicar o método de

sintonização para sistemas de primeira ordem sem zeros, que é o mais apropriado

para o tipo de resposta obtida no tacogerador.

9.1 Aplicação do método de sintonização para sistemas de primeira ordem sem zeros

Para os seguintes parâmetros:

• MP < 16,3%

• Ts < 1 segundo

Deve-se encontrar o valor do fator de amortecimento (𝜁):

𝑙𝑛 0,163 = 𝑙𝑛 𝑒−𝜋𝜁�1−𝜁2

−1,814 = 𝑒−𝜋𝜁�1−𝜁2

−1,8142 𝑋 �1 − 𝜁2 2

= −(𝜋𝜁)2

3,29 𝑋 �1 − 𝜁2 2

= −(𝜋𝜁)2

3,29 − 3,29𝜁2 = −(𝜋𝜁)2

3,29 = 𝜁2 + (𝜋2 + 3,29)

𝜻 = 𝟎,𝟓

E o valor da frequência natural (ωn):

𝑇𝑠 =4𝜁𝜔𝑛

1 =4

0,5𝜔𝑛

𝝎𝒏 = 𝟖

Encontrado os valores do fator de amortecimento (𝜁) e frequência natural

(𝜔𝑛) inicia-se o cálculo dos ganhos Kp, Ki e Kd.

32

Ganho Kd

𝐾𝑑 =𝑘

100

𝐾𝑑 =0,769100

𝑲𝒅 = 𝟎,𝟎𝟎𝟕𝟔𝟗

Ganho Kp

𝐾𝑝 = [2𝜁𝜔𝑛 (1 + 𝑘 ∗ 𝐾𝑑)]− 𝑃𝑜𝑙𝑜

𝑘

𝐾𝑝 = [2 ∗ 0,5 ∗ 8 (1 + 0,769 ∗ 0,00769)] − 0,1538

0,769

𝑲𝒑 = 𝟏𝟎,𝟐𝟔

Ganho Ki

𝐾𝑖 = ([𝜔𝑛2 (1 + 𝑘 ∗ 𝐾𝑑)]

𝑘

𝐾𝑖 = ([82 (1 + 0,769 ∗ 0,00769)]

0,769

𝑲𝒊 = 𝟖𝟕,𝟕𝟏

Com os valores dos ganhos calculados, chegou-se a seguinte função de

transferência:

𝐶(𝑠) = 10,26 +83,71𝑠

+ 0,00769𝑠

𝑪(𝒔) = 𝟎,𝟎𝟎𝟕𝟔𝟗𝒔𝟐 + 𝟏𝟎,𝟐𝟔𝒔 + 𝟖𝟑,𝟕𝟏

𝒔

Aplicando malha fechada na função G(s):

𝐺(𝑠)𝑚𝑓 =

0,769𝑠 + 0,1538

1 + 0,769𝑠 + 0,1538

𝑮(𝒔)𝒎𝒇 = 𝟎,𝟕𝟔𝟗

𝒔 + 𝟎,𝟗𝟐𝟐𝟖

Na figura 24 abaixo pode-se verificar a resposta ao degrau da função

𝐺(𝑠)𝑚𝑓:

33

Figura 24 - Resposta ao degrau obtida no MATLABTM

Aplicando resposta ao degrau do controlador em série com a planta:

Na figura 25, pode-se observar o comportamento do controlador com a

resposta ao degrau:

34

Figura 25 – Controlador em série com a planta

Para as especificações destacadas anteriormente, observa-se que o

controlador apresentou um overshoot superior à 20% (circulado em vermelho),

deixando a resposta inadequada para o esperado.

Para diminuir o valor do overshoot mudou-se a especificação de Ts para

menor que 2s:

𝑇𝑠 =4𝜁𝜔𝑛

2 =4

0,5𝜔𝑛

𝝎𝒏 = 𝟒

Calculando novos valores de Kp, Ki e Kd:

Novo ganho Kd

𝐾𝑑 =𝑘

100

𝐾𝑑 =0,769100

𝑲𝒅 = 𝟎,𝟎𝟎𝟕𝟔𝟗

Novo ganho Kp

𝐾𝑝 = [2𝜁𝜔𝑛 (1 + 𝑘 ∗ 𝐾𝑑)]− 𝑃𝑜𝑙𝑜

𝑘

𝐾𝑝 = [2 ∗ 0,5 ∗ 4 (1 + 0,769 ∗ 0,00769)] − 0,1538

0,769

𝑲𝒑 = 𝟓,𝟎𝟑𝟐

35

Novo ganho Ki

𝐾𝑖 = ([𝜔𝑛2 (1 + 𝑘 ∗ 𝐾𝑑)]

𝑘

𝐾𝑖 = ([42 (1 + 0,769 ∗ 0,00769)]

0,769

𝑲𝒊 = 𝟐𝟎,𝟗𝟐

A figura 26 mostra a nova resposta do controlador com as novas

especificações:

Figura 26 – Resposta ao degrau para o controlador com Ts < 2s

Observa-se uma melhora significativa no valor de overshoot tornando o

controlador viável para aplicação.

10 SIMULAÇÃO DO CONTROLADOR

A implementação do controlador PID foi realizada no ambiente do

ProteusTM , conforme ilustrado na figura 12. É possível observar o uso de 5

amplificadores operacionais LM741.

10.1 Amplificador Subtrator (1)

É o responsável por fazer a subtração entre o valor de set point e saída

do tacogerador.

36

10.2 Amplificador Proporcional (2)

O ganho do controlador Proporcional é dado pela relação entre os valores

dos resistores, neste caso entre o potenciômetro de 50k e o resistor de 100k, ou

seja, ganho de 5 vezes da saída em relação à entrada. 𝑽𝒐𝒖𝒕 𝑽𝒊𝒏

= −𝑹𝒑𝒐𝒕𝒆𝒏𝒄𝒊ô𝒎𝒆𝒕𝒓𝒐

𝑹𝒓𝒆𝒔𝒊𝒔𝒕𝒐𝒓

10.3 Amplificador Integrador (3)

Parcela de controle responsável por manter o erro de regime nulo, caso

tenha valor muito alto acarreta no aumento do sobressinal da resposta. 𝑽𝒐𝒖𝒕 𝑽𝒊𝒏

= −𝟏

𝑹𝒓𝒆𝒔𝒊𝒔𝒕𝒐𝒓 ∗ 𝑪𝒄𝒂𝒑𝒂𝒄𝒊𝒕𝒐𝒓

10.4 Amplificador Derivativo (4)

Parcela de controle responsável por acrescentar amortecimento,

fundamental em processos onde grandes sobressinais são perigosos como

controles de temperatura. 𝑽𝒐𝒖𝒕 𝑽𝒊𝒏

= −𝑹𝒓𝒆𝒔𝒊𝒔𝒕𝒐𝒓 ∗ 𝑪𝒄𝒂𝒑𝒂𝒄𝒊𝒕𝒐𝒓

10.5 Amplificador buffer (somador) (5)

Amplificador que apenas isola os terminais de entrada e saída sem adição

de ganho qualquer.

37

Figura 27 – Simulação do circuito PID no ProteusTM

11 CONSTRUÇÃO DO CONTROLADOR

Depois de realizada toda a parte de simulação iniciou-se o processo de

construção do controlador.

As placas foram projetadas com o auxílio do software EagleTM , dedicado

para esse tipo de trabalho.

11.1 Projeto da placa da fonte simétrica

Primeiro foi projetada uma fonte simétrica para a alimentação dos

amplificadores operacionais e entrada de set point do controlador. A figura 28 mostra

o esquemático da fonte e a figura 29 o resultado final da placa.

Figura 28 – Esquemático da fonte simétrica

38

Figura 29 – Projeto da placa finalizado

11.1.1 Construção da fonte simétrica

Para confeccionar a placa da fonte simétrica, foram utilizados os

seguintes materiais:

• Placa de fenolite virgem

• Percloreto de ferro anidro

• Papel tranfer

• Ferro de passar

• Transformador 0 – 127V – 220V / +9V, -9V

• Resistores

• Capacitores

• Diodo 1N4007

• Diodo Zener

• Conectores

Pode-se observar o resultado final na figura 30.

39

Figura 30 – Frente e verso da fonte CC finalizada

11.2 Projeto da placa do controlador PID

Depois de projetada a fonte simétrica, iniciou-se o projeto da placa para o

circuito do controlador PID, preparada para a entrada do Arduino, sendo essa a

próxima etapa do projeto.

Tendo o mesmo procedimento da placa da fonte simétrica, pode-se

observar na figura 31 o esquemático do circuito e na figura 32 o resultado final da

placa.

Figura 31 – Esquemático do circuito do controlador PID

40

Figura 32 – Projeto da placa finalizado

11.2.1 Construção da placa do circuito PID

Para confeccionar a placa do circuito PID, foram utilizados os seguintes

materiais:

• Placa de fenolite virgem

• Percloreto de ferro anidro

• Papel tranfer

• Ferro de passar

• Amplificador operacional LM741

• Resistores

• Capacitores

• Conectores

Pode-se observar o resultado final na figura 33.

Figura 33 – Frente e verso da placa do circuito PID

41

11.3 Resultados finais PID analógico

Após a finalização de toda parte de confecção de placas, o circuito foi

adaptado ao motor trifásico e aferido os dados mais relevantes.

A tabela 3 demonstra um comparativo entre o motor com e sem

controlador.

MEDIÇÃO SEM CONTROLADOR COM CONTROLADOR T 6,5s 4s

TS 19s 7s Ess - 16%

Tabela 3 – Comparativo do motor com e sem controlador

Pode-se observar uma diminuição do tempo T e TS em 2,5 e 12

segundos, respectivamente.

O controlador apresentou um de aproximadamente 16%, que poderá ser

melhorado futuramente.

13 PID DIGITAL

A saída PWM do Arduino possui 8 bits, assim, ela varia em valores

numéricos de 0 a 255, ou seja, de 0 a 5V. Desta forma, com o algoritmo

desenvolvido foi possível alterar esses valores, o que proporciona uma variação

também da tensão de alimentação da entrada analógica do inversor de frequência.

Porém há uma incompatibilidade referente a ligação do Arduino com o inversor de

frequência, que é exatamente o fato da saída do Arduino ser digital e a entrada do

inversor de frequência ser analógica e que ainda varia de 0 a 10V, assim foi

necessário a elaboração de uma interface que deve tornar compatível o recebimento

do sinal do Arduino para o inversor de frequência.

A transformação do sinal digital em analógico consiste, simplesmente, na

montagem de um circuito RC que vai variar a tensão de 0 a 5V, porém, ainda é

necessário fazer com que a tensão varie de 0 a 10V, com isso, foi necessário

projetar um amplificador operacional com ganho 2, conforme figura 32.

42

Figura 31 – Interface para transformação do sinal digital em analógico

13.1 Programação Arduino

A programação foi feita no ambiente do Arduino, e o código está

descrito abaixo:

#include <TimerOne.h>

#include <MsTimer2.h>

unsigned char contBotao = 0, i = 0, j = 0, dig1 = 0, dig2 = 0, dig3 = 0, dig4

= 0, mode = 0, contSet = 15, pon = 0, modeAnt = 0;

unsigned int valorBotao = 0, setPoint = 0, scanTime = 200, k = 0,

valorTaco = 0, contTela = 0, kp = 5032, ki = 2092, kd = 8, displayValue = 0,

valorSetPoint = 0, valorSetPointAnt = 0;

unsigned int contPot = 0, valorControle = 0;

int erroSomado = 0, erroAnt = 0, erro = 0;

const char disp1 = 11, disp2 = 10, disp3 = 13, disp4 = 12, dispDot = 7,

pinoBotao = A0, tacogerador = A1, ref = 25, pinoControle = A3, pinoSetPoint = A2,

saidaControle = 8;

/*

* pino 0 = f

* pino 1 = c

* pino 2 = e

* pino 3 = d

* pino 4 = g

* pino 5 = b

* pino 6 = a

43

* pino 10 = display 2

* pino 11 = display 1

* pino 12 = display 4

* pino 13 = display 3

*

* tempo = 1ms

*

* PORTD = B0abgdecf;

* digito 0 = B01101111;

* digito 1 = B00100010;

* digito 2 = B01111100;

* digito 3 = B01111010;

* digito 4 = B00110011;

* digito 5 = B01011011;

* digito 6 = B01011111;

* digito 7 = B01100010;

* digito 8 = B01111111;

* digito 9 = B01111011;

* digito A = B01110111;

* digito b = B00011111;

* digito C = B01001101;

* digito d = B00111110;

* digito E = B01011101;

* digito F = B01010101;

* digito P = B01110101;

* digito i = B00000010;

*/

void display(unsigned char dig, unsigned char car) {

switch (car) {

case 0:

PORTD = B01101111;

break;

case 1:

44

PORTD = B00100010;

break;

case 2:

PORTD = B01111100;

break;

case 3:

PORTD = B01111010;

break;

case 4:

PORTD = B00110011;

break;

case 5:

PORTD = B01011011;

break;

case 6:

PORTD = B01011111;

break;

case 7:

PORTD = B01100010;

break;

case 8:

PORTD = B01111111;

break;

case 9:

PORTD = B01111011;

break;

case 10:

PORTD = B01110111;

break;

case 11:

PORTD = B00011111;

break;

case 12:

PORTD = B01001101;

45

break;

case 13:

PORTD = B00111110;

break;

case 14:

PORTD = B01011101;

break;

case 15:

PORTD = B01010101;

break;

case 16:

PORTD = B01110101;

break;

case 17:

PORTD = B00000010;

break;

}

switch (dig) {

case 0:

digitalWrite(disp1, LOW);

digitalWrite(disp2, LOW);

digitalWrite(disp3, LOW);

digitalWrite(disp4, LOW);

digitalWrite(dispDot, LOW);

break;

case 1:

digitalWrite(disp1, HIGH);

digitalWrite(disp2, LOW);

digitalWrite(disp3, LOW);

digitalWrite(disp4, LOW);

if(pon == 1) digitalWrite(dispDot, HIGH);

else digitalWrite(dispDot, LOW);

break;

case 2:

46

digitalWrite(disp2, HIGH);

digitalWrite(disp1, LOW);

digitalWrite(disp3, LOW);

digitalWrite(disp4, LOW);

if(pon == 2) digitalWrite(dispDot, HIGH);

else digitalWrite(dispDot, LOW);

break;

case 3:

digitalWrite(disp3, HIGH);

digitalWrite(disp1, LOW);

digitalWrite(disp2, LOW);

digitalWrite(disp4, LOW);

if(pon == 3) digitalWrite(dispDot, HIGH);

else digitalWrite(dispDot, LOW);

break;

case 4:

digitalWrite(disp4, HIGH);

digitalWrite(disp1, LOW);

digitalWrite(disp2, LOW);

digitalWrite(disp3, LOW);

if(pon == 4) digitalWrite(dispDot, HIGH);

else digitalWrite(dispDot, LOW);

break;

}

}

void refreshDisplay() {

if (mode == 0) {

i++;

if (i == ref) {

j++;

switch(j) {

case 1:

display(j, dig1);

47

break;

case 2:

display(j, dig2);

break;

case 3:

display(j, dig3);

break;

case 4:

display(j, dig4);

j = 0;

break;

}

i = 0;

}

} else if(mode == 1) {

k++;

if (k <= 2000) {

i++;

if (i == ref) {

j++;

switch(j) {

case 1:

display(j, dig1);

break;

case 2:

display(j, dig2);

break;

case 3:

display(j, dig3);

break;

case 4:

display(j, dig4);

j = 0;

break;

48

}

i = 0;

}

} else if (k <= 2500) {

display (0, 0);

} else k = 0;

} else if(mode == 2) {

k++;

if (k <= 2000) {

i++;

if (i == ref) {

j++;

switch(j) {

case 1:

display(j, dig1);

break;

case 2:

display(j, dig2);

break;

case 3:

display(j, dig3);

break;

case 4:

display(j, dig4);

j = 0;

break;

}

i = 0;

}

} else if (k <= 2500) {

i++;

if (i == ref) {

j++;

switch(j) {

49

case 1:

display(j, dig1);

break;

case 2:

digitalWrite(disp2, LOW);

break;

case 3:

display(j, dig3);

break;

case 4:

display(j, dig4);

j = 0;

break;

}

i = 0;

}

} else k = 0;

} else if(mode == 3) {

k++;

if (k <= 2000) {

i++;

if (i == ref) {

j++;

switch(j) {

case 1:

display(j, dig1);

break;

case 2:

display(j, dig2);

break;

case 3:

display(j, dig3);

break;

case 4:

50

display(j, dig4);

j = 0;

break;

}

i = 0;

}

} else if (k <= 2500) {

i++;

if (i == ref) {

j++;

switch(j) {

case 1:

display(j, dig1);

break;

case 2:

display(j, dig2);

break;

case 3:

digitalWrite(disp3, LOW);

break;

case 4:

display(j, dig4);

j = 0;

break;

}

i = 0;

}

} else k = 0;

} else if(mode == 4) {

k++;

if (k <= 2000) {

i++;

if (i == ref) {

j++;

51

switch(j) {

case 1:

display(j, dig1);

break;

case 2:

display(j, dig2);

break;

case 3:

display(j, dig3);

break;

case 4:

display(j, dig4);

j = 0;

break;

}

i = 0;

}

} else if (k <= 2500) {

i++;

if (i == ref) {

j++;

switch(j) {

case 1:

display(j, dig1);

break;

case 2:

display(j, dig2);

break;

case 3:

display(j, dig3);

break;

case 4:

digitalWrite(disp4, LOW);

j = 0;

52

break;

}

i = 0;

}

} else k = 0;

} else if(mode == 5) {

k++;

if (k <= 2000) {

i++;

if (i == ref) {

j++;

switch(j) {

case 1:

display(j, dig1);

break;

case 2:

display(j, dig2);

break;

case 3:

display(j, dig3);

break;

case 4:

display(j, dig4);

j = 0;

break;

}

i = 0;

}

} else if (k <= 2500) {

i++;

if (i == ref) {

j++;

switch(j) {

case 1:

53

digitalWrite(disp1, LOW);

break;

case 2:

display(j, dig2);

break;

case 3:

display(j, dig3);

break;

case 4:

display(j, dig4);

j = 0;

break;

}

i = 0;

}

} else k = 0;

}

}

void pid() {

valorTaco = map (analogRead(tacogerador), 0, 1023, 0, 1650);

erro = setPoint - valorTaco;

erroSomado += erro / 100;

int p = (float) (kp / 1000) * erro;

int it = (float) (ki / 100) * (erroSomado);

if (it > 500) it = 500;

else if (it < -500) it = -500;

int d = (float) (kd / 1000) * (erroAnt);

erroAnt = erro;

int saida = p + it + d;

if (saida > 1600) saida = 1600;

else if (saida < 0) saida = 0;

Timer1.pwm(9, map(saida, 0, 1600, 0, 1023));

}

54

void telas() {

unsigned int erroMostrado = 0;

unsigned char flagDisplay = 0, contMostrado = 0;

mode = 5;

dig1 = 14;

dig2 = 16;

dig3 = 17;

dig4 = 13;

while(contTela <= 24) {

valorBotao = analogRead(pinoBotao);

if(valorBotao <= 12) {

mode++;

if(mode == 6) mode = 2;

contTela = 0;

}

if (valorBotao >= 500 && valorBotao <= 524) {

contTela = 100;

}

contTela++;

delay(scanTime);

}

if (contTela >= 100) {

contTela = 0;

modeAnt = mode;

mode = 0;

if (modeAnt == 2) {

displayValue = kp;

pon = 1;

} else if (modeAnt == 3) {

displayValue = ki;

pon = 2;

} else if (modeAnt == 4) {

displayValue = kd;

55

pon = 1;

} else if (modeAnt == 5) {

while (valorBotao >= 100) {

valorBotao = analogRead(pinoBotao);

if (valorBotao >= 500 && valorBotao <= 524) {

flagDisplay++;

if (flagDisplay == 2) flagDisplay = 0;

}

if (erro < 0) erroMostrado = (-1) * erro;

else erroMostrado = erro;

if (flagDisplay == 0) {

erroMostrado = map(erroMostrado, 0, 1600, 0, 5000);

pon = 1;

} else pon = 0;

if (contMostrado == 5) {

dig1 = erroMostrado / 1000;

dig2 = erroMostrado / 100 % 10;

dig3 = erroMostrado / 10 % 10;

dig4 = erroMostrado % 10;

}

delay(200);

contTela = 25;

contMostrado++;

if (contMostrado == 6) contMostrado = 0;

}

}

while (contTela <= 24) {

valorBotao = analogRead(pinoBotao);

if (valorBotao >= 500 && valorBotao <= 524) {

if (modeAnt == 2) {

if (kp < 9999) kp++;

displayValue = kp;

pon = 1;

}

56

else if (modeAnt == 3) {

if (ki < 9999) ki++;

displayValue = ki;

pon = 2;

}

else if (modeAnt == 4) {

if (kd < 9999) kd++;

displayValue = kd;

pon = 1;

}

if (contBotao < 250) contBotao++;

contTela = 0;

} else if (valorBotao >= 670 && valorBotao <= 694) {

if (modeAnt == 2) {

if (kp > 0) kp--;

displayValue = kp;

pon = 1;

}

else if (modeAnt == 3) {

if (ki > 0) ki--;

displayValue = ki;

pon = 2;

}

else if (modeAnt == 4) {

if (kd > 0) kd--;

displayValue = kd;

pon = 1;

}

if (contBotao < 250) contBotao++;

contTela = 0;

} else if (valorBotao <= 12) {

contTela = 25;

} else {

contBotao = 0;

57

contTela++;

}

dig1 = displayValue / 1000;

dig2 = displayValue / 100 % 10;

dig3 = displayValue / 10 % 10;

dig4 = displayValue % 10;

if (contBotao == 0) scanTime = 200;

else if (contBotao == 10) scanTime = 100;

else if (contBotao == 30) scanTime = 50;

else if (contBotao == 70) scanTime = 5;

else if (contBotao == 250) scanTime = 3;

delay(scanTime);

}

}

contTela = 0;

pon = 0;

scanTime = 200;

}

void setup() {

DDRD = B11111111;

pinMode(disp1, OUTPUT);

pinMode(disp2, OUTPUT);

pinMode(disp3, OUTPUT);

pinMode(disp4, OUTPUT);

pinMode(dispDot, OUTPUT);

pinMode(saidaControle, OUTPUT);

PORTD = B00000000;

digitalWrite(disp1, LOW);

digitalWrite(disp2, LOW);

digitalWrite(disp3, LOW);

digitalWrite(disp4, LOW);

digitalWrite(dispDot, LOW);

digitalWrite(saidaControle, LOW);

58

Timer1.initialize(200); //200us period

Timer1.attachInterrupt(refreshDisplay);

Timer1.pwm(9, 0);

MsTimer2::set(10, pid); // 10ms period

MsTimer2::start();

}

void loop() {

pon = 0;

valorBotao = analogRead(pinoBotao);

valorSetPoint = analogRead(pinoSetPoint);

valorControle = analogRead(pinoControle);

if (valorControle >= 1010) {

digitalWrite(saidaControle, HIGH);

mode = 0;

dig1 = valorTaco / 1000;

dig2 = valorTaco / 100 % 10;

dig3 = valorTaco / 10 % 10;

dig4 = valorTaco % 10;

} else if (valorControle <= 2) {

contPot = 0;

digitalWrite(saidaControle, LOW);

if (valorSetPoint >= valorSetPointAnt + 400 || valorSetPoint <=

valorSetPointAnt - 400) {

while (contPot <= 10 && valorControle <= 1010) {

contPot++;

valorSetPoint = analogRead(pinoSetPoint);

valorControle = analogRead(pinoControle);

setPoint = map(valorSetPoint, 0, 1023, 0, 1600);

setPoint /= 100;

setPoint *= 100;

mode = 1;

dig1 = setPoint / 1000;

dig2 = setPoint / 100 % 10;

59

dig3 = setPoint / 10 % 10;

dig4 = setPoint % 10;

delay(scanTime);

valorSetPointAnt = valorSetPoint;

}

}

if (valorBotao <= 12) {

scanTime = 250;

telas();

}

mode = 0;

dig1 = valorTaco / 1000;

dig2 = valorTaco / 100 % 10;

dig3 = valorTaco / 10 % 10;

dig4 = valorTaco % 10;

}

delay(scanTime);

}

13.2 Resultados finais PID digital

Após a finalização de toda parte de montagem das placas, o circuito foi

adaptado ao motor trifásico juntamente com o PID analógico e aferido os dados mais

relevantes.

A tabela 4 demonstra um comparativo entre o motor com e sem

controlador.

MEDIÇÃO SEM CONTROLADOR COM CONTROLADOR T 6,5s 5s

TS 19s 9s Ess - 18%

Tabela 4 – Comparativo do motor com e sem controlador

Pode-se observar uma diminuição do tempo T e TS em 1,5 e 10

segundos, respectivamente.

60

O controlador apresentou um de aproximadamente 18%, que poderá ser

melhorado.

61

14 CONCLUSÃO

Ao fim do experimento como um todo, chegamos aos resultados

esperados em relação aos requisitos solicitados no anteprojeto, e também, em

relação às vivências e aprendizagem de todo o grupo sobre o tema abordado e seus

assuntos correlacionados.

O projeto solicitado através do roteiro, teve como objetivo a construção de um

motor de indução trifásico de corrente alternada. Ainda, solicitado um sistema de

controle de variação de velocidade de rotação do rotor de duas maneiras: analógico

e digital.

O cálculo dos dados de projeto do motor bem como a sua construção

evoluíram como o esperado e dentro do cronograma estipulado pelo roteiro. O ponto

chave desse primeiro avanço do projeto foi a “transformação” da teoria em prática.

Conseguimos tirar os cálculos do papel e traduzi-los em um projeto completo e

funcional (funcional para a finalidade didática).

O segundo avanço tratou de modelar representar o motor de indução, criando

subsídios para o desenvolvimento dos sistemas de controle do motor tanto o

analógico quanto o digital. Esta etapa foi de grande valia para o aprendizado do

grupo que conseguiu imprimir os dados da modelagem no terceiro e último avanço

do trabalho.

Partindo para o terceiro avanço, projetou-se e construiu-se as placas e

programas para o controle analógico/digital do motor, bem como sua análise de

desempenho e confiabilidade. Ao final desse último avanço, foi possível entregar o

projeto com todos os dados solicitados no roteiro e obter o aprendizado completo de

como construir e projetar um sistema de controle proporcional / integrativo /

derivativo (PID), com a inserção e programação de um microcontrolador ao sistema.

62

15 REFERÊNCIAS

[1] NISE, B. W. Engenharia de sistemas de controle.[S.I]: Norman S, 2012 [2] CAMARGO,V. L. A. Controladores lógicos programáveis. Sistemas discretos. Lambert Erica, 2008. [3] GEROMEL, J. C. Controle linear de sistemas dinámicos. Teoria, ensaios práticos e exercícios. Edgard Blucher, 2011. [4] OGATA ,Katsuhiko. Engenharia de controle moderno. Prentice hall Brasil, 2010. [5] MALVINO. Eletrônica. Person, 1996.