Você está na página 1de 63

UNIVERSIDADE FEDERAL DE SANTA CATARINA

DEPARTAMENTO DE ENGENHARIA ELETRICA

Tiago Auricchio de Miranda

REGULADOR DISCRETO DE VELOCIDADE APLICADO

A MOTOR DE CORRENTE CONT


INUA DE
IMAS

PERMANENTES BASEADO NO CONTROLE CLASSICO

Florian
opolis
2013

Tiago Auricchio de Miranda

REGULADOR DISCRETO DE VELOCIDADE APLICADO

A MOTOR DE CORRENTE CONT


INUA DE
IMAS

PERMANENTES BASEADO NO CONTROLE CLASSICO

Trabalho de Conclus
ao de Curso submetido ao Curso de Engenharia Eletrica
como requisito para a obtenc
ao do Grau
de Engenheiro Eletricista.
Orientador: Prof. Jorge Coelho, Dr.
Coorientador: Prof. Hamilton Medeiros Silveira, D.Et.

Florian
opolis
2013

Catalogac
ao na fonte elaborada pela biblioteca da
Universidade Federal de Santa Catarina

A ficha catalogr
afica e confeccionada pela Biblioteca Central.
Tamanho: 7cm x 12 cm
Fonte: Times New Roman 9,5
Maiores informaco
es em:
http://www.bu.ufsc.br/design/Catalogacao.html

Tiago Auricchio de Miranda

REGULADOR DISCRETO DE VELOCIDADE APLICADO

A MOTOR DE CORRENTE CONT


INUA DE
IMAS

PERMANENTES BASEADO NO CONTROLE CLASSICO

Este Trabalho de Conclus


ao de Curso foi julgado aprovado como
requisito para a obtenc
ao do grau de Engenheiro Eletricista, e aprovado
em sua forma final pelo Curso de Engenharia Eletrica

Florian
opolis, 15 de fevereiro 2013.

.
Banca Examinadora:

Prof. Nastasha Salame da Silva, Dr.

Prof. Jorge Coelho, Dr.


Orientador

Prof. Hamilton Medeiros Silveira, D.Et.


Coorientador

Prof. Renato Lucas Pacheco, Dr.

` minha filha Emlia.


A

AGRADECIMENTOS

Agradeco aos meus pais, Rodolfo e Solange, por todo o carinho e


dedicac
ao. Sou grato pelo apoio irrestrito e por todos os ensinamentos
atraves de exemplos.
Ao meu pai, Rodolfo Miranda, pela amizade e exemplo em minha
vida. Sou grato por me ter permitido desmontar varias vezes o u
nico
computador da famlia e me ensinar a n
ao ter medo de aprender.
` minha esposa, Ana Dolores, pela compreensao, pelo compaA
nheirismo em todos os momentos e por tornar a minha vida muito mais
interessante.
` minha irm
A
a, Tas, pela inspirac
ao em me mostrar sua dedicac
ao ao buscar seus objetivos.
Ao professor Hamilton Medeiros Silveira, por me guiar neste
trabalho, pela generosidade e humildade em ensinar, pelas incontaveis
ligac
oes telef
onicas para discutir o trabalho e principalmente por ensinar engenharia.
Aos professores da banca, sou grato pela disponibilidade e exemplo profissional.
Aos meus amigos que participaram comigo deste sonho, agradeco
pelo apoio e por tornarem o caminho mais divertido.
Ao Jose Porfrio, pela amizade e por fabricar as pecas mecanicas
para este trabalho.

Its not about how hard you can hit. Its


about how hard you can get hit and keep
moving forward.

Sylvester Stallone

RESUMO
Manter constante a velocidade de rotac
ao de motores e uma caracterstica de interesse em diversos bens de consumo e processos industriais. Neste estudo se prop
oe uma solucao baseada na plataforma
apresentado
Arduino e fundamentada na teoria de controle classico. E
um prot
otipo para regular a velocidade de um pequeno motor de corrente contnua com par
ametros totalmente desconhecidos, modelando
o sistema por identificac
ao. Os resultados reais sao comparados com
simulac
oes
Palavras-chave: regulador de velocidade, Arduino, modelagem, controle cl
assico

ABSTRACT
In many industrial processes, is an interesting characteristic to keep a
constant speed rotation of DC motors. This study proposes an Arduino
solution based on classical control theory. A prototype is developed to
regulate the speed of a small DC motor with totally unknown parameters, modeling a system by identification. The actual results are
compared with simulations.
Keywords: speed regulator, Arduino, parameters identification, modeling, classical control.

LISTA DE FIGURAS

Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura
Figura

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

Ilustrac
ao PWM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Diagrama em blocos do sistema. . . . . . . . . . . . . . . . . . . . . . . .
Arduno UNO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Motor C.C. DOTS-MIRAGE. . . . . . . . . . . . . . . . . . . . . . . . . . .
Detalhe do Encoder acoplado ao eixo. . . . . . . . . . . . . . . . . .
Circuito de acionamento do motor. . . . . . . . . . . . . . . . . . . . .
Tens
ao coletor/emissor - TIP1222. . . . . . . . . . . . . . . . . . . . . .
Corrente de coletor - 4n35. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Caractersticas de conduc
ao do diodo - 4n35. . . . . . . . . . .
Circuito de acionamento do motor. . . . . . . . . . . . . . . . . . . . .
Discos de inercia usinados em aco. . . . . . . . . . . . . . . . . . . . . .
Ensaio de identificac
ao. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Simulac
ao do ensaio de identificacao . . . . . . . . . . . . . . . . . . .
Evidencia da n
ao linearidade do sistema . . . . . . . . . . . . . . .
LGR do sistema compensado.. . . . . . . . . . . . . . . . . . . . . . . . . .
Resposta do sistema compensado. . . . . . . . . . . . . . . . . . . . . .
Cancelamento polo-zero imperfeito. . . . . . . . . . . . . . . . . . . . .
Resposta do sistema simulado . . . . . . . . . . . . . . . . . . . . . . . . .
LGR do sistema compensado apos ajuste.. . . . . . . . . . . . . .
Resposta do sistema compensado apos ajuste. . . . . . . . . .
Simulac
ao do sistema compensado apos ajuste. . . . . . . . .
Diagrama eletrico do sistema . . . . . . . . . . . . . . . . . . . . . . . . . .
Prot
otipo finalizado. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Interface com usu
ario. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

23
23
25
26
27
29
30
31
32
36
37
38
39
40
44
47
48
48
49
50
50
51
52
53

LISTA DE ABREVIATURAS E SIGLAS

C.A.
IDE
GPL
PWM
Hz
LED
V
Ah
PI
USB

Corrente Alternada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Integrated Development Environment . . . . . . . . . . . . . . . . . . .
General Public License . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Pulse Width Modulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Hertz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Light Emitting Diode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tens
ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Amp`ere-hora . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Proporcional-Integral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Universal Serial Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

21
25
25
26
26
30
32
32
43
52


SUMARIO

1 INTRODUC
AO
...................................
.........................................
1.1 MOTIVAC
AO
1.2 METODOLOGIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3 OBJETIVOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3.1 Objetivos Gerais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3.2 Objetivos Especficos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 RECURSOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1 ARDUINO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.1 Arduino UNO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 MOTOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3 FERRAMENTA SCILAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 CIRCUITO DE ACIONAMENTO DO MOTOR . . . . .
3.1 TOPOLOGIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 DIMENSIONAMENTO DE COMPONENTES . . . . . . . . . . . .

DA VELOCIDADE . . . . .
4 METODOS
DE MEDIC
AO

4.1 METODO
DO TEMPO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4.2 METODO
DOS PULSOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DO SISTEMA . . . . . . . . . . . . . . . . . .
5 IDENTIFICAC
AO
DO METODO

5.1 DESCRIC
AO
............................
PRATICA

5.2 IDENTIFICAC
AO
...........................
5.2.1 Valida
c
ao do modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2.2 Determina
c
ao do perodo de amostragem . . . . . . . . . .
6 CONTROLADOR PROPORCIONAL-INTEGRAL (PI)
6.1 MODELO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2 PROJETO DO CONTROLADOR . . . . . . . . . . . . . . . . . . . . . . .
7 RESULTADOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.1 HARDWARE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7.2 INTERFACE COM USUARIO


..........................

8 CONCLUSOES E SUGESTOES
PARA TRABALHOS
FUTUROS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
..........................................
8.1 DISCUSSAO
8.2 TRABALHOS FUTUROS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9 APENDICE
.......................................

REFERENCIAS
.....................................

21
21
22
24
24
24
25
25
25
26
27
29
29
30
33
33
34
35
35
37
39
40
43
43
44
47
50
52
55
55
55
57
61

21

1 INTRODUC
AO

1.1 MOTIVAC
AO
O interesse pelo projeto surgiu ao cursar a disciplina de Sistemas de Controle na Universidade Federal de Santa Catarina. Nas
aulas te
oricas do curso de Controle Cl
assico foi possvel conhecer os
princpios do controle, enquanto que nas aulas em laboratorio foram
abordados metodos de identificac
oes de sistemas e projetos de controladores atraves de simulac
ao com o software Silab. Estes conhecimentos
despertaram especial curiosidade sobre os aspectos praticos de implementac
ao de um sistema de controle real, com todas as peculiaridades
que podem ser encontradas durante o processo de experimentacao.
Optou-se ent
ao por um problema encontrado frequentemente nos
processos automatizados da ind
ustria, o controle de velocidade de um
motor de corrente contnua.
Manter a velocidade de rotac
ao do eixo constante, mesmo quando
submetido a variac
oes de carga, e um problema comum na maioria dos
casos.
Devido ao recente progresso no desenvolvimento de inversores
de frequencia de estado s
olido e a reduc
ao de custos de componentes
eletr
onicos, a relac
ao custo benefcio dos motores de C.A. (corrente alternada) tem levado a ind
ustria a gradativamente substituir o motor de
C.C. (corrente contnua) por motores de inducao em diversos processos
[1]. O custo de manutenc
ao do motor de C.C. e mais elevado devido
a presenca de aneis comutadores e escovas. Entretanto, os motores em
`
corrente contnua ainda s
ao considerados em algumas aplicacoes devido
as suas caractersticas, destacando-se em:
M
aquinas operatrizes em geral
Bombas a pist
ao
Torques de fricc
ao
Ferramentas de avanco
Tornos
Bobinadeiras
Mandrilhadoras

22

M
aquinas texteis
Guinchos e guindastes
P
orticos
Veculos de trac
ao
Prensas
M
aquinas de papel
Fornos, exaustores, separadores e esteiras para ind
ustria cimenteira e outros [2].
Em motores de C.C. convencionais a distribuicao de densidade
de fluxo ao longo do entreferro, necess
aria para que exista torque, e gerada pela corrente que circula nos enrolamentos de campo. Entretanto,
em algumas aplicacoes, este aspecto construtivo pode nao representar
vantagem particular e implicar em maior custo. Alguns exemplos sao os
motores eletricos instalados em autom
oveis, utilizados em limpadores
de p
ara-brisas, janelas, ventiladores e condicionadores de ar. O tamanho reduzido destes motores e pequena potencia requerida, justificam
a utilizac
ao de motores de C.C. com o uso de m
as permanentes no lugar de enrolamentos de campo, oferecendo menor custo e simplicidade
construtiva [3]. Neste trabalho, a disponibilidade e baixo custo foram
aspectos motivadores na escolha do motor a ser controlado, ja que todo
o projeto foi financiado com recursos pr
oprios.
1.2 METODOLOGIA
Ap
os a definic
ao do motor a ser controlado, foi projetado e construdo um circuito de acionamento que permite variar a tensao de alimentac
ao nos terminais da armadura do motor. Para fornecer potencia
eletrica ao motor de C.C. foi utilizada uma tecnica comum em fontes
de corrente contnua chaveadas. Atraves de um semicondutor operando
como chave, pode-se controlar a tens
ao media fornecida ao motor em
funcao da frequencia de chaveamento da fonte. O sinal de controle da
chave eletr
onica e conhecido como PWM, do ingles Pulse Width Modulation. Este sinal e caracterizado por uma frequencia fixa, pulsos de
amplitude constante e largura vari
avel. A Fig.(1) ilustra este sinal.
O metodo de medic
ao de velocidade adotado e composto por
um disco perfurado solid
ario ao movimento de rotacao do eixo, onde,

23

Figura 1 Ilustrac
ao PWM. Adaptado de http://jallib.blogspot.com.br

atraves de um conjunto emissor-receptor infravermelho, e medida a


frequencia de interrupc
ao do feixe luminoso pelo disco. Esta opcao
requer a utilizac
ao de uma das entradas do microcontrolador. Para
verificar a funcionalidade do controlador, a velocidade medida e exibida
em um mostrador de cristal lquido. A seguir o sistema completo e
descrito com o auxlio de um diagrama de blocos simplificado:

Figura 2 Diagrama em blocos do sistema. Adaptado de [4].

sendo:
r: Entrada do sistema. Aqui e definida a velocidade de rotacao
desejada;
Controlador: Sistema que recebe como entrada o erro de velocidade em relac
ao `
a referencia, convertendo em sinal de entrada para o
driver de potencia;
Driver do Motor: Circuito que converte o sinal do controlador
em potencia entregue ao motor;
Medicao: Mede a velocidade de rotacao do motor para que seja
comparada com a referencia.

24

1.3 OBJETIVOS
1.3.1 Objetivos Gerais
Projetar e montar um regulador discreto de velocidade, utilizando a plataforma Arduino, para um motor de corrente contnua de
m
as permanentes.
1.3.2 Objetivos Especficos
1. Projetar um circuito de acionamento para motor C.C de pequeno
porte;
2. Projetar um sistema capaz de medir a velocidade de rotacao do
eixo do motor;
3. Obter o modelo matem
atico do sistema por identificacao.
4. Desenvolver um regulador discreto de velocidade e implementar
o software.

25

2 RECURSOS
2.1 ARDUINO
Arduno e uma plataforma de desenvolvimento de prototipos
eletr
onicos de hardware livre. Contendo um micro-controlador Atmel
AVR, o sistema possui linguagem de programacao propria, baseada em
C/C++. Com incio na It
alia em 2005, o projeto tem por objetivo criar
ferramentas mais acessveis, de baixo custo e flexveis.
Os projetos e esquemas de hardware sao distribudos sob a licenca Creative Commons Attribution Share-Alike e estao disponveis
para acesso. O c
odigo fonte do IDE (Ambiente Integrado de Desenvolvimento) e as bibliotecas de aplicac
ao s
ao disponibilizadas sob licenca
GPLv2.
Existem diversas vers
oes disponveis da plataforma, com capacidades diferentes de mem
oria e n
umero de portas de entrada e sada.
Neste projeto o modelo Arduno UNO foi escolhido pela disponibilidade
previa de duas unidades.
2.1.1 Arduino UNO

Figura 3 Arduno UNO.

A plataforma Arduno UNO e baseada no micro-controlador Atmega 328. Possui 14 portas digitais de entrada e sada, 6 sadas PWM,

26

6 entradas anal
ogicas, frequencia de operac
ao de 16 MHz e interface
USB.
O frequencia de sada PWM no Arduino UNO e de aproximadamente 490 Hz, quando utilizadas as bibliotecas que acompanham o
IDE. Atraves da configurac
ao direta dos registradores e possvel obter
frequencias de modulac
ao na faixa de poucos hertz ate 62,5 kHz. Neste
projeto foi utilizada a frequencia de 2 kHz. Frequencias excessivamente
baixas produzem vibrac
ao e torque descontnuo, enquanto frequencias
muito altas exigem semicondutores com elevada frequencia de resposta,
geralmente mais caros.
2.2 MOTOR
O motor de corrente contnua de m
as permanentes, Fig.(4), objeto de estudo, fora obtido em sucatas de produtos eletronicos. Nao
foram localizadas especificac
oes tecnicas do motor, apenas as inscricoes
DOTS-MIRAGEe CJ MOTOR DC MASTER PIT COD.: 24-44.

Figura 4 Motor C.C. DOTS-MIRAGE.

Em pesquisas verificou-se que, provavelmente, era um componente de grandes impressoras matriciais do fabricante DOTS-MIRAGE.
Ao eixo do motor, j
a se encontram acoplados dois discos de metal
com 96 furos e sensores infravermelho. Estes componentes constituem
o encoder do motor, com func
ao de medir a velocidade e posicao do
eixo. Neste projeto, no qual somente a velocidade constitui a variavel
de controle, foi suficiente apenas utilizar um disco perfurado.
Por disponibilidade do diagrama funcional, optou-se pelo uso de
outro sensor infravermelho encontrado nas impressoras HP692C, em
substituic
ao ao original.

27

Figura 5 Detalhe do Encoder acoplado ao eixo.

2.3 FERRAMENTA SCILAB


Desenvolvido no INRIA (Instituto Nacional de Pesquisas em
Ciencia da Computac
ao e Controle da Franca), o software Scilab foi
desenvolvido para aplicac
oes de sistemas de controle e processamento
digital de sinais. Seu c
odigo fonte e disponibilizado para acesso e possui
muitas func
oes similares ao software MATLAB.

28

29

3 CIRCUITO DE ACIONAMENTO DO MOTOR


3.1 TOPOLOGIA

24 V

R2

Sinal PWM
Sada Arduno

R1

MOTOR
D1

+88.8

1k

1N4107

U1
1

390R

5
2

Q2
4n35

Q1
TIP1222

Figura 6 Circuito de acionamento do motor.

O circuito de acionamento do motor foi desenvolvido com base


no TIP1222. Este transistor do tipo Darlington NPN permite fornecer ate cinco amp`eres em corrente contnua, suficiente para acionar
um pequeno motor de C.C. como o utilizado neste projeto. A mesma
topologia pode ser aplicada para motores um pouco maiores, sendo
necess
ario substituir o transistor por outro de maior potencia.
O circuito integrado 4n35 tem a funcao de atuar como optoacoplador, isolando eletricamente o circuito de controle do circuito de
potencia. O uso deste componente se mostrou necessario, pois em ensaios preliminares, sem o uso de opto-acoplador, fora detectada interferencia eletrica entre o motor e o sistema de comunicacao do Arduno,
gerando instabilidade e mal funcionamento do sistema. O problema
ocorria com frequencia quando o motor operava em torno de 1800
rpm, sendo necess
ario reiniciar o Arduino para reestabelecer o funcionamento. Como benefcio adicional, o opto-acoplador protege o circuito
de controle, parte mais dispendiosa do sistema, caso ocorram falhas na
etapa de potencia do circuito.

VBE(sat), VCE(sat)[V], SATURATION VOLTAGE

VCE = 4V

3.5

IC = 250IB

3.0

2.5

2.0

VBE(sat)

1.5

1.0

VCE (sat)

0.5
0.1

10

RENT

10

IC[A], COLLECTOR CURRENT

FiguraFigure
7 Tens
ao coletor/emissor
TIP1222.
2. Base-Emitter
Saturation -Voltage

Gain

Collector-Emitter Saturation Voltage

IC[A], COLLECTOR CURRENT

s
5m

apacitance
e

s
1m

OLTAGE
LTAGE

DC

Cob

O diodo D110tem func


ao de proteger o circuito de acionamento
contra a alta tens
ao reversa, em func
ao do chaveamento da carga indutiva.
O resistor R11 limita a corrente de conduc
ao do LED infra-vermelho,
enquanto R2 atenua a queda de tens
ao coletor-emissor sobre Q2
s
0m
10 ms
0
50

f=0.1MHz

TIP120/TIP121/TIP122 NPN Epitaxial Darlington Transistor

30

3.2 DIMENSIONAMENTO
DE COMPONENTES
0.1
TIP120
TIP121
TIP122

Devido a ausencia de especificac


oes tecnicas do motor, com base
100
em
ensaios pr
aticos
0.01 e manuais de motores semelhantes, considerou-se a
1
10
100
corrente nominal do motor
igual a tres amp`eres. Consultando o manual
V [V], COLLECTOR-EMITTER VOLTAGE
do TIP1222, de acordo com a Fig.(7) tem-se a seguinte relacao:
CE

Figure 4. Safe Operating Area

Ic = 250Ib

(3.1)

portanto Ib = 12 mA, quando o transistor opera na regiao de saturacao.


Consultando novamente a Fig.(7) tem-se:
VBE(Q2)SAT 1, 8V

(3.2)

Por an
alise da malha que abrange os dois transistores, pode-se
definir a relac
ao:
VCE(Q1) = 24V R2 Ib VBE(Q2)SAT

(3.3)

0.02

20

0.01

TA = 25C
1

10

40

100

400

1000

0.2

0.4 0.6

Figure 4

1.2

1.4

1.6

1.8

31

COLLECTOR CURRENT
vs
COLLECTOR-EMITTER VOLTAGE
60

100
VCE = 10 V
IB = 0
TA = 25C

IB = 0
TA = 25C
See Note A

50

10
4
1
0.4
0.1

40
Max Continuous
Power Dissipation
30

IF = 20 mA

20

IF = 15 mA
IF = 10 mA

10

0.04
0.01
0.1

Figure 5

COLLECTOR CURRENT
vs
INPUT-DIODE FORWARD CURRENT

40

0.8

VF Forward Voltage V

fmod Modulation Frequency kHz

I C Collector Current mA

I C Collector Current mA

0.04

IF = 5 mA
0
0.4
1
4
10
40
IF Input-Diode Forward Current mA

100

10

12

14

16

18

20

VCE Collector-Emitter Voltage V


NOTE A. Pulse operation of input diode is required for operation
beyond limits shown by dotted lines.

Figura 8 Corrente de coletor - 4n35.

Figure 6

Figure 7

Para evitar que a potencia dissipada no transistor Q1 esteja


muito pr
oxima do limite, conforme Fig.(8), determina-se o valor da
resistencia R2 para se obter 10 volts em VCE(Q1) . A partir da Eq.
(3.3),tem-se:
POST OFFICE BOX 655303

DALLAS, TEXAS 75265

R2 =

24V VBE(Q2)SAT VCE(Q1)


Ib

(3.4)

Portanto,
24V 1, 8V 10V
= 1017 1k
(3.5)
10mA
Consultando novamente a Fig.(8), e suficiente uma corrente If
de 10 mA para garantir o fornecimento de corrente `a base do transistor
Q2 .
Para calcular o valor da resistencia R1 , e necessario observar a
Fig.(9).
Para temperatura ambiente em torno de 25 C, a queda de tensao
Vf sobre o LED em conduc
ao e de aproximadamente 1,2 volts, quando
If = 10 mA. Portanto:
R2 =

R1 =
ent
ao:

V Vf
If

(3.6)

6, 4N37
UPLERS

32

VEMBER 1981 REVISED APRIL 1998

TYPICAL CHARACTERISTICS
COLLECTOR CURRENT
vs
MODULATION FREQUENCY

INPUT-DIODE FORWARD
CONDUCTION CHARACTERISTICS
160

VCC = 10 V
IB = 0
TA = 25C

140
TA = 25C
I F Forward Current mA

RL = 100

RL = 1

RL = 475

120
100
TA = 70C

80
60
40
20

TA = 25C
4

10

40

100

400

1000

0.2

0.4 0.6

0.8

1.2

1.4

1.6

1.8

VF Forward Voltage V

fmod Modulation Frequency kHz

Figure 4

Figure 5

Figura 9 Caractersticas de conduc


ao do diodo - 4n35.
COLLECTOR CURRENT
vs
COLLECTOR-EMITTER VOLTAGE

COLLECTOR CURRENT
vs
INPUT-DIODE FORWARD CURRENT
60

CE = 10 V
=0
A = 25C

IB = 0
TA = 25C
See Note A

5V 1, 2V
= 380
10mA
40
Max Continuous
Power Dissipation
Adotando o valor comercial mais
pr
oximo, define-se:
I C Collector Current mA

50

30

IF = 20 mA

20

IF = 15 mA
1

R = 390

(3.8)

IF = 10 mA
10
IF = 5 mA
0

0.4
1
4
10
40
IF Input-Diode Forward Current mA

100

10

14

16

18

20

VCE Collector-Emitter Voltage V


NOTE A. Pulse operation of input diode is required for operation
beyond limits shown by dotted lines.

Figure 6

Figure 7

POST OFFICE BOX 655303

12

DALLAS, TEXAS 75265

(3.7)

33

DA VELOCIDADE
4 METODOS
DE MEDIC
AO
Neste trabalho foram considerados dois metodos para medir a
velocidade do eixo com o auxlio do sensor infravermelho. O primeiro
consiste na medic
ao do intervalo de tempo entre cada pulso do sensor
e ser
a aqui denominado metodo do tempo. O segundo metodo se baseia
na contagem de pulsos durante um intervalo de tempo pre-determinado,
chamado aqui de metodo dos pulsos.

4.1 METODO
DO TEMPO
Esta foi a primeira tecnica considerada para medir indiretamente
a velocidade de rotac
ao do eixo.
Cada vez que o feixe luminoso e bloqueado pelo disco perfurado,
e gerada uma interrupc
ao de software no Arduino. A rotina de tratamento da interrupc
ao compara o instante de tempo atual, baseado
em um rel
ogio interno, com o instante quando ocorreu a interrupcao
anterior. Com o intervalo de tempo entre interrupcoes e o n
umero de
furos do disco, a velocidade pode ser calculada pela seguinte equacao:
v [rpm] =

60
t.nf uros

(4.1)

onde nf uros e o n
umero de furos por revolucao e t o tempo medido.
Esta soluc
ao apresentou resultado satisfatorio nos primeiros experimentos quando se utilizou discos com resolucao inferior. Quando
a resoluc
ao do encoder foi aumentada, dois problemas foram detectados. Como a velocidade de interesse se situava em torno de 2000 rpm e
utilizando um encoder de 96 furos, eram geradas mais de tres mil interrupc
oes de software por segundo. A grande quantidade de interrupcoes
gerava atrasos na execuc
ao de outras rotinas, como a atualizacao do
mostrador de cristal lquido e c
alculo do sinal de comando do controlador, apesar do micro-controlador operar em 16 MHz.
O segundo problema desta abordagem estava relacionado com o
perodo de amostragem. Neste caso, o perodo de amostragem varia
em func
ao da velocidade medida. Esta caracterstica nao e abordada
na teoria de controle cl
assico e inviabilizaria o projeto do controlador
por tecnicas conhecidas.

34

4.2 METODO
DOS PULSOS
Este metodo consiste em registrar em um acumulador o n
umero
de interrupc
oes do feixe infravermelho. A cada perodo de amostragem,
fixo e pre-determinado, uma interrupc
ao no software e gerada. A rotina
de tratamento da interrupc
ao efetua o c
alculo da velocidade media
naquele perodo, em func
ao do n
umero de pulsos acumulados, e em
seguida e feita a limpeza do acumulador.
O c
alculo da velocidade, executado pelo software, e feito pela
Eq.(4.2).
v [rpm] =

npulsos 1
60
nf uros T

(4.2)

onde npulsos e o valor do acumulador, nf uros e o n


umero de furos por
revoluc
ao e T e o perodo de amostragem em segundos.

35

DO SISTEMA
5 IDENTIFICAC
AO
DO METODO

5.1 DESCRIC
AO
Para que seja possvel projetar um controlador com base na teoria de controle cl
assico, inicialmente e necessario que o modelo matem
atico do sistema seja conhecido. O modelo consiste em uma, ou
mais equac
oes diferenciais que caracterizem o regime permanente e o
comportamento din
amico do sistema.
Pode-se citar dois metodos principais para obtencao do modelo
aproximado de um motor. O primeiro e baseado no modelo de conhecimento, ou seja, atraves do conhecimento previo do circuito equivalente
de um motor de caractersticas similares e dos parametros fornecidos
pelo fabricante, ou atraves de ensaios, obtem-se o modelo diretamente.
A utilizac
ao deste metodo pode se tornar complexa em aplicacoes
pr
aticas onde a planta n
ao consiste unicamente de um motor, mas
possui mecanismos acoplados com folgas, circuitos de acionamento e
n
ao idealidades.
O segundo metodo, denominado identificacao, considera o sistema como uma caixa preta, onde n
ao e necessario conhecimento previo
sobre a din
amica da planta, apenas e preciso definir a ordem de grandeza dos polos dominantes do modelo a ser identificado.
A identificac
ao de um sistema consiste na obtencao de seus
par
ametros, atraves do estudo da resposta do sistema a sinais de entrada conhecidos [4].
Adotou-se o metodo de identificac
ao indireto, onde o sistema a
ser analisado e realimentado com um ganho conhecido. Em seguida, o
sistema realimentado e identificado por meio de ensaios. O modelo do
sistema original pode ser, ent
ao, obtido atraves de uma transformacao
matem
atica.
O metodo descrito a seguir e v
alido para sistemas lineares,
contnuos, causais e invariantes no tempo. Porem, apesar do sistema em
estudo ser um sistema discreto, e feita uma aproximacao considerando-o
contnuo.
Ap
os a obtenc
ao dos par
ametros do sistema sao feitas simulacoes,
confrontando as respostas do sistema real com o sistema modelado, para
verificar se a aproximac
ao e satisfat
oria.
Um motor de corrente contnua pode ser aproximado por um

Kv =

U t2 t1

Observe
36 que y1 = y(t1 ) e y2 = y(t2 ).
EXPERIMENTO 3:
modelo de segunda ordem, com a seguinte func
ao de transferencia [4].
Simule em malha aberta, usando como entrada o degrau de amplitude 2 e sem
rudo, o sistema a ser identificado:
1
Ks
(5.1)
2
1 + 0,
s + 1n 2 s2
n 2
.
s
onde:
Medindo y1 , y2 , t1 e t2 , obtenha o parametro Kv do integrador.
= amortecimento
n = frequencia natural
O processo
identificac
ao adotado neste trabalho pode ser di3 Identifica
c
aodeindireta
vidido em duas etapas. Primeiro o sistema e realimentado com um
Seja G(s)
o sistema
a ser identificado.
tipo de identificacao e feito em dois passos.
ganho
Kc conhecido,
conforme Este
Fig.(10).
Primeiramente realimentamos G(s) com um ganho Kc
r

Kc

G(s)

Figura 10 Circuito de acionamento do motor.


onde r(t) e o sinal de referencia.
Usando para referencia um degrau de amplitude R, medimos y(t) e identificamos o
sistema realimentado:
A seguir, aplica-se um degrauKU
de referencia de amplitude coc G(s)
.
=
nhecida enquanto a sada M
do(s)
sistema

e
monitorada.
Medindo-se a am1 + Kc G(s)
plitude de sada em regime y(), o valor m
aximo de sobressinal yp e
o instante quando ocorre o sobressinal tp , pode-se determinar todos os
par
ametros do sistema em malha fechada com o auxlio das seguintes
equac
oes:
y()
Kc U

(5.2)

yp y()
y()

(5.3)

a
+ 2

(5.4)

a2 + 2
tp

(5.5)

Ks =
a = ln

=
n =

a2

Identificado o processo em malha fechada M (s), a funcao de


transferencia do sistema original e obtida:

37

G(s) =

1 M (s)
Kc 1 M (s)

(5.6)

Dois criterios devem ser atendidos na escolha do ganho Kc de


realimentac
ao. A resposta do sistema deve apresentar sobressinal, ou
seja, os polos de malha fechada devem ser complexos. Este requisito
e necess
ario para que as duas contantes de tempo sejam identificadas.
O segundo requisito est
a relacionado com o esforco de controle. Este
n
ao pode exceder a capacidade m
axima do atuador. Portanto nao deve
haver saturac
ao do controlador.
Como o sistema a ser identificado e desconhecido, um ganho
Kc que atenda os requisitos descritos n
ao pode ser calculado analiticamente, sendo necess
ario que sejam realizados ensaios recursivos para se
obter um ganho de realimentac
ao adequado.
PRATICA

5.2 IDENTIFICAC
AO
Para emular uma aplicac
ao real, foram acoplados volantes de
inercia ao eixo do motor. Os discos, usinados em aco, tornam a resposta
do sistema mais lenta, como em um sistema real.

Figura 11 Discos de inercia usinados em aco.

Considerando uma faixa limitada de velocidade de operacao do


motor, foi escolhido o degrau de referencia de 1500 rpm para 2000 rpm
no processo de identificac
ao.
O ajuste do ganho de realimentac
ao, para atender aos requisitos apresentados no item anterior, foi determinado atraves de ensaios

38

sucessivos.
Inicialmente a referencia do sistema foi estabelecida em 1500
rpm. Ap
os alguns segundos, suficientes para que a resposta atingisse o
regime permanente, a referencia foi alterada para 2000 rpm.
Nas Fig.(12) e Tab.(1) pode-se observar os seguintes valores medidos, sendo U o esforco de controle.

456789

5 
3122
3222

0222



#%
%

&

0122
'

122
2 )
0

!57 "

Figura 12 Ensaio de identificacao.

Tabela 1 Identificac
ao
Grandeza
y()
y(0)
yp
tp
Kc

Valor medido
1687,5
1296,875
1750
0,12
0,3

Legenda Fig.(12)
1
2
3
4

Os par
ametros do modelo, no domnio da frequencia, sao obtidos
substituindo-se os valores medidos nas equac
oes do item anterior:
G(s) = 18

1
(1 + 0, 172377s)(1 + 0, 0404174s)

(5.7)

Aplicando-se a transformada Z no processo com o sustentador

39

de ordem zero, obtem-se uma aproximac


ao da funcao de transferencia
discreta da planta. Adotando-se perodo de amostragem de 40 ms,
tem-se:
G(z) =

1, 4054849z + 0, 9366121
(z 0, 3716983)(z 0, 7929076)

(5.8)

5.2.1 Valida
c
ao do modelo
Para verificar se a resposta do modelo identificado se aproxima
suficientemente da resposta da planta, o mesmo ensaio de identificacao
foi simulado utilizando o modelo obtido. Comparando a resposta real
com a resposta do modelo simulado, respectivamente nas figuras (12)
e (13), verifica-se, pela Tab.(2), que a resposta do modelo obtido se
aproxima muito da resposta real na faixa de velocidade considerada.
r/ym

Reference Measured output

2000

1500

1000

500

0
s
0.0

0.5

1.0

1.5

2.0

2.5

3.0

3.5

4.0

Figura 13 Simulac
ao do ensaio de identificacao

Vale mencionar que, apesar do motor de C.C., bem como o


circuito de acionamento, terem sido considerados um sistema linear,
pode-se observar, na Fig.(14), gerada atraves de ensaios praticos, que
o sistema apresenta n
ao linearidade. Portanto, o metodo e uma aproximac
ao.

40

Tabela 2 Identificac
ao simulada
Grandeza
y()
y(0)
yp
tp

Medido
1687,5
1296,875
1750
0,12

Simulado
1687,5
1265,6
1871
0,12

Velocidade em Reginme Permanente (rpm)

3000

2500

2000

Velocidade em
Regime
1500

Aproximao linear
1000

500

0
0

50

100

150

200

250

300

Referncia

Figura 14 Evidencia da n
ao linearidade do sistema

5.2.2 Determina
c
ao do perodo de amostragem
A definic
ao da frequencia de amostragem deve levar em considerac
ao que perodos de amostragem elevados tem efeitos degradantes sobre a estabilidade do sistema. Uma regra geral, para a maioria
dos sistemas, e amostrar com um perodo pr
oximo `a menor constante
de tempo do sistema [5]. Alem deste aspecto, devido ao metodo de
medic
ao adotado neste projeto, o perodo de amostragem tem influencia
direta sobre a resoluc
ao de leitura da velocidade.
A resoluc
ao de leitura pode ser calculada pela seguinte equacao:
Un [rpm] =

60
nf uros T

(5.9)

sendo nf uros o n
umero de furos por revoluc
ao e T o perodo de amostragem.
Fica evidente que, aumentando o perodo de amostragem, obtem-

41

se melhor resoluc
ao nas medic
oes. Outro aspecto considerado foi a
velocidade m
axima possvel de ser medida, visto que o acumulador do
Arduino, possuindo apenas oito bits, armazena no maximo o valor 255.
A limitac
ao da velocidade medida pode ser calculada por:
vmax =

2b 60
nf uros T

(5.10)

onde b e a quantidade de bits do acumulador.


Para se obter um bom desempenho nesta relacao de compromisso, o perodo de 0, 04 segundos se mostrou adequado.

42

43

6 CONTROLADOR PROPORCIONAL-INTEGRAL (PI)


6.1 MODELO
O controlador proporcional-integral tem uma acao de controle
u(t) proporcional ao erro e(t) e `
a integral do erro [6]. A acao integral
proporciona erro nulo ao seguimento de uma referencia do tipo degrau,
sendo representada por:
t

u(t) = K1 e(t) + K2

e() d

(6.1)

e() d

(6.2)

ou
u(t) = K1 e(t) +

K2
K1

t
0

Pode-se escrever
1
K2
=
,
K1
TI

(6.3)

onde TI tem dimens


ao de tempo, portanto
u(t) = K1 e(t) +

1
TI

e() d

(6.4)

Aplicando a Transformada de Laplace, obtem-se,


u(s) = K1 1 +

1
e(s)
sTI

(6.5)

Tem-se ent
ao, a func
ao de transferencia do controlador:
C(s) = K 1 +

1
sTI

(6.6)

Aplicando-se a transformada Z obtem-se a funcao de transferencia


discreta do controlador:
C(z) = Kc

z c
z1

(6.7)

O termo (z 1) representa a ac
ao integral, enquanto o zero em
(z c ) pode ser convenientemente definido no projeto para cancelar

44

um polo da planta.
6.2 PROJETO DO CONTROLADOR
Observando-se o modelo obtido na Eq. (5.8) verifica-se a existencia
de dois polos. Um polo em z = 0, 79, com resposta transitoria lenta, e
outro polo em z = 0, 37, com resposta transit
oria mais rapida.
Com intuito de projetar um sistema de controle rapido, define-se
c = 0, 79 na Eq.(6.7), que representa o controlador, cancelando assim
o polo lento da planta.
Com base no metodo de projeto pelo Lugar Geometrico das
Razes (LGR), ajusta-se o ganho do controlador de modo a se obter
razes de malha fechada reais com o maior ganho possvel. O interesse
em obter razes reais est
a em minimizar o sobressinal na resposta do
sistema.
Utilizando o software de simulac
ao Scilab, e possvel verificar
pela Fig.(15) o LGR do sistema compensado. Definindo o ganho Kc do
controlador igual a 0,052, obtem-se razes reais.
Imag. axis

Evans Process and Controller

1.5

1.0

0.5

0.0

0.5

1.0

1.5
1.5

Real axis
1.0

0.5

0.0

0.5

1.0

1.5

Figura 15 LGR do sistema compensado.

Portanto, a func
ao de transferencia do controlador em transformada Z e:

45

z 0, 79
z1

(6.8)

U (z)
z 0, 79
=
z1
E(z)

(6.9)

C(z) = 0, 052

A partir da Eq.(6.8) obtem-se diretamente a equacao recursiva:


0, 052

U (k) = U (k 1) + 0, 052E(k) 0, 041E(k 1)

(6.10)

A equac
ao recursiva pode ser facilmente implementada por software.

46

47

7 RESULTADOS

456789

5 
3122
3222
0122


!"
"#%
%

0222
122
2

0

57 

Figura 16 Resposta do sistema compensado.

Ap
os a implementac
ao do controlador, traduzindo a equacao recursiva obtida no item 6.2 em linhas de software, foram feitos ensaios
introduzindo o mesmo degrau de referencia, de 1500 rpm para 2000
rpm, no sistema compensado.
Pode-se observar na Fig.(16) a resposta do sistema real compensado ao degrau de entrada. Comparando com o mesmo ensaio executado por simulac
ao, conforme Fig.(18), verifica-se semelhanca entre a
resposta real e a simulada. Porem e not
avel a presenca de sobressinal.
A resposta do sistema com sobressinal se deve `a existencia de
razes de malha fechada complexas, em raz
ao de um cancelamento polozero imperfeito, visto que o metodo de identificacao e uma aproximacao.
Quando o zero do controlador se situa `
a esquerda do polo dominante a
ser cancelado, os ramos do LGR deixam o eixo real e as razes de malha
fechada se tornam complexas. A Fig.(17) ilustra este fenomeno.
Para evitar sobressinal e feito um ajuste, deslocando o zero do
controlador um pouco para a direita. Definindo c igual a 0, 9 na
Eq.(7.1) obtem-se o novo LGR na Fig.(19).

48

Imag. axis

Evans Process and Controller

1.5

1.0

0.5

0.0

0.5

1.0

Real axis

1.5
1.5

1.0

0.5

0.0

0.5

1.0

1.5

Figura 17 Cancelamento polo-zero imperfeito.

Process Output

2000

1500

1000

500

0
s
0.0

0.5

1.0

1.5

2.0

2.5

3.0

3.5

Figura 18 Resposta do sistema simulado

4.0

49

z c
(7.1)
z1
Em seguida, e definido novamente o ganho Kc do controlador
para se obter razes reais. Escolhendo Kc igual a 0, 033, este requisito
e atendido. Os pontos em azul na Fig.(19) representam as razes de
malha fechada do sistema compensado.
C(z) = Kc

Imag. axis

Evans Process and Controller

1.5

1.0

0.5

0.0

0.5

1.0

1.5
1.5

Real axis
1.0

0.5

0.0

0.5

1.0

1.5

Figura 19 LGR do sistema compensado apos ajuste.

A equac
ao recursiva do novo controlador pode, entao, ser calculada:
0, 033

z 0, 9
U (z)
=
z1
E(z)

U (k) = U (k 1) + 0, 033E(k) 0, 0297E(k 1)

(7.2)
(7.3)

Estimulando o sistema compensado com o mesmo degrau, e obtida a resposta da nova configurac
ao proposta. Comparando o resultado real na Fig.(20) com a simulac
ao mostrada na Fig.(21), verifica-se
que as respostas s
ao muito semelhantes e eliminou-se o problema de
sobressinal.

50
Velocidade (rpm)
2500

2000

1500

Referncia
RPM

1000
Max U
U
500

0
-1

Tempo (s)

Figura 20 Resposta do sistema compensado apos ajuste.

0123455789
89






Figura 21 Simulac
ao do sistema compensado apos ajuste.

7.1 HARDWARE
Na Fig.(22) e apresentado o diagrama eletrico completo do regulador desenvolvido.

51
LCD

JHD 162A

A0
A1
A2
A3
A4/SDA
A5/SCL
CCT003

R3

4
5
6

D0
D1
D2
D3
D4
D5
D6
D7

VSS
VDD
VEE
1
2
3

D7
D6/PWM
D5/PWM
D4
D3/PWM
D2
D1/TX
D0/RX

7
8
9
10
11
12
13
14

IOREF
RESET
3.3V
5V
GND
GND
Vin

A5/SCL
A4/SDA
AREF
GND
D13/SCK
D12/MISO
D11/PWM/MOSI
D10/PWM/SS
D9/PWM
D8

RS
RW
E

ARDUINO UNO

24 V
R1

SENSOR IR

390R

1k
Demodulator

1k

MOTOR
D1

+88.8

R2

1N4107

U1
1

6
5

Q2

4n35

Q1
TIP1222

Figura 22 Diagrama eletrico do sistema

A placa de circuito impresso foi confeccionada de forma modular,


sendo possvel conecta-la e desconecta-la facilmente ao Arduino. O
mostrador de cristal lquido indica a velocidade instantanea medida e
o valor de referencia escolhido, alem de indicar quando o ensaio foi
concludo. A Fig.(23) mostra o prot
otipo montado.
Para alimentar a etapa de potencia do sistema, sao utilizadas

duas baterias seladas de Chumbo-Acido


em serie, cada uma com 12
V e capacidade de 7 Ah (amp`ere hora). A alimentacao da etapa de
controle, incluindo o m
odulo Arduino, e fornecida pela interface USB

52

com o computador.

Figura 23 Prot
otipo finalizado.

7.2 INTERFACE COM USUARIO


Para que fosse possvel analisar os dados dos ensaios, foi elaborada uma interface com o usu
ario, Fig.(24). A interface em VBA (Visual Basic for Applications) foi desenvolvida no Microsoft Excel 2003.
Na regi
ao 1 e possvel definir a amplitude do degrau de referencia, bem como os par
ametros desejados para o controlador.
Em 2 est
ao os bot
oes de comando. Clicando em Limpar os
dados do ensaio anterior s
ao descartados. Ao clicar em Iniciar, todos
os par
ametros selecionados s
ao enviados ao Arduino e se inicia o ensaio.
Todas as leituras adquiridas s
ao armazenadas na memoria interna do
Arduino. Ap
os o ensaio, todos os dados s
ao enviados para a interface
via USB e s
ao exibidas na regi
ao 3 . Em seguida, o grafico e tracado
na regi
ao 4 .
A regi
ao 5 representa a legenda dos gr
aficos, sendo U o esforco
de controle. O m
aximo esforco de controle permitido pelo atuador
recebe a legenda Max U.
O c
odigo fonte do software implementado no Arduino pode ser

53

Figura 24 Interface com usuario.

consultado no Captulo 9.

54

55

8 CONCLUSOES
E SUGESTOES
PARA TRABALHOS
FUTUROS

8.1 DISCUSSAO
Com base nos resultados do Captulo 7, verificou-se ser possvel
implementar um regulador de velocidade para motores de C.C. sobre
a plataforma Arduino. Apesar do controlador ser essencialmente discreto, o sistema ser n
ao linear e o sinal de controle ser modulado por
PWM, foram obtidos bons resultados aproximados, com o auxlio da
teoria de controle cl
assico, ao considerar o sistema contnuo e linear em
uma faixa limitada.
Verificou-se a necessidade de pequenos ajustes nos parametros
do controlador em func
ao dos metodos adotados serem aproximados.
O software desenvolvido permite modificar facilmente os
par
ametros do controlador, tornando imediata a implementacao de diferentes projetos.
Ao explorar dois metodos de medicao de velocidade atraves de
encoders
opticos, concluiu-se que o metodos de contagem de pulsos e
mais adequado para esta aplicac
ao.
Vale destacar aqui a versatilidade do Arduino no desenvolvimento de prot
otipos. No mesmo ambiente e possvel desenvolver em
linguagem de alto nvel e, quando necess
ario, trabalhar a nvel de hardware em trechos especficos de c
odigo.
8.2 TRABALHOS FUTUROS
Pode-se citar como sugest
oes para trabalhos futuros:
Desenvolver um circuito de acionamento para motores que permita frenagem e revers
ao do sentido de rotacao, baseado em
ponte-H;
Comparar o desempenho de diferentes metodos de identificacao;
Implementar outras estruturas de controladores;
Desenvolver software para automatizar o processo de identificacao;
Modelar o sistema em diferentes pontos de operacao e projetar
controladores especficos por faixa de velocidade.

56

57

9 APENDICE
A seguir e apresentado o c
odigo-fonte do software desenvolvido
neste trabalho.
1
2
3
4
5
6

// B i b l i o t e c a de C o n t r o l e do LCD:
#include <L i q u i d C r y s t a l . h>
#include <a v r / i o . h>
#include <a v r / i n t e r r u p t . h>

// I n i c i a l i z a a b i b l i o t e c a LCD e d e f i n e os p i n o s de
interface :
7 LiquidCrystal lcd (12 , 9 , 7 , 6 , 5 , 2) ;
8 // L i q u i d C r y s t a l l c d (RS,EN, D0 , D1 , D2 , D3) ;
9
10 // D e f i n i c a o do p i n o s de i n t e r f a c e
11 const i n t Botaosobe = 1 0 ;
12 const i n t B o t a o d e s c e = 8 ;
13 const i n t SaidaPWM = 1 1 ;
14
15 // V a r i
a v e i s u t i l i z a d a s em t r a t a m e n t o s de i n t e r r u p c o
es :
16 v o l a t i l e i n t EstadoBotaoSobe = 0 ;
17 v o l a t i l e i n t EstadoBotaoDesce = 0 ;
18 v o l a t i l e b y t e rpm [ 4 9 9 ] ;
19 v o l a t i l e b y t e U [ 4 9 9 ] ;
20 v o l a t i l e i n t v e l ;
21 i n t r e f 1 = 1 0 0 0 ;
22 i n t r e f 2 = 2 0 0 0 ;
23 f l o a t k1 = 1 . 0 ;
24 f l o a t k2 = 0 . 0 5 ;
25 f l o a t k3 = 0 . 0 4 ;
26 v o l a t i l e i n t r e f = 0 ;
27 v o l a t i l e i n t e r r o = 0 ;
28 v o l a t i l e i n t erroA = 0 ;
29 v o l a t i l e f l o a t p u l s o s = 0 ;
30 v o l a t i l e b y t e p u l s o s N = 0 ;
31 v o l a t i l e b y t e pulsosM = 0 ;
32 v o l a t i l e b y t e pulsosO = 0 ;
33 v o l a t i l e b y t e p u l s o s D = 0 ;
34 v o l a t i l e i n t aa = 0 ;
35 v o l a t i l e b y t e a m o s t r a r = LOW;
36
37 void s e t u p ( )
38
{
39
// I n i c i a l i z a i n t e r f a c e s e r i a l
40
S e r i a l . begin (57600) ;
41
// D e s a b i l i t a i n t e r r u p c o e s
42
c l i () ;
43
44
// C o n f i g u r a c a
o do t i m e r 2 (8 b i t s ) para g e r a r s i n a l PWM

58

45
46
47
48
49
50
51
52
53
54

55
56

no
TCCR2A
de
TCCR2B

p i n o 11
= 0 b10000001 ;
r e s o l u c a
o 0255
= 0 b00000010 ;

// Phase c o r r e c t PWM com 8 b i t


// P r e s c a l e 8 2KHz PWM

// C o n f i g u r a c a
o do t i m e r 1 (16 b i t s ) como r e l
o g i o . Aqui
d e f i n e s e o p e ro d o de amostragem
TCCR1A = 0 b00000000 ;
//Modo CTC.
TCCR1B = 0 b00001101 ;
// 1024 p r e s c a l e . D i v i d e o
c l o c k do p r o c e s s a d o r por 1 0 2 4 .
OCR1A = 6 2 5 ;
// 40ms . Aqui
e definido o
p e ro d o de amostragem .
TIMSK1 |= ( 1 << OCIE1A) ;
// Enable t i m e r compare
interrupt :
// C o n f i g u r a c a
o do t i m e r 0 como c o n t a d o r de p u l s o s .
CUIDADO COM FUNCOES m i l i s ( ) micros ( ) , a l t e r a
d i r e t a m e n t e s e u funcionamento
TCCR0A = 0 b00000000 ;
//Modo Normal
TCCR0B = 0 b00000111 ;
// E x t e r n a l c l o c k s o u r c e on T0
p i n ( p i n#4 Arduino ) . C l o c k on f a l l i n g e d g e
TCNT0 = 0 ;
// I n i c i a l i z a o c o n t a d o r ;

57
58
59
sei () ;
// H a b i l i t a i n t e r r u p c o e s :
60
61
// D e f i n i c a
o das I /Os :
62
pinMode ( Botaosobe , INPUT) ;
63
pinMode ( Botaod esce , INPUT) ;
64
pinMode (SaidaPWM , OUTPUT) ;
65
pinMode ( 4 , INPUT) ;
66
pinMode ( 1 3 , OUTPUT) ;
67
68
// I n d i c a c a o no D i s p l a y
69
lcd . begin (16 , 2) ;
70
l c d . p r i n t ( REF=
) ;
71
lcd . setCursor (0 , 1) ;
72
l c d . p r i n t ( RPM=
) ;
73
}
74
75 //
Rotina p r i n c i p a l
//
76 void l o o p ( )
77
{
78
while ( S e r i a l . a v a i l a b l e ( ) ==0) ;
//
Aguarda e n v i o de q u a l q u e r c a r a c t e r p e l o computador
para i n i c i a r e n s a i o
79
80
ref1 = Serial . parseInt () ;
81
ref2 = Serial . parseInt () ;
82
k1 = S e r i a l . p a r s e F l o a t ( ) ;
83
k2 = S e r i a l . p a r s e F l o a t ( ) ;
84
k3 = S e r i a l . p a r s e F l o a t ( ) ;
85

59

86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126 //
127

d i g i t a l W r i t e ( 1 3 , HIGH) ;
curso

// Led a c e s s o i n d i c a e n s a i o em

ref = ref1 ;
velocidade i n i c i a l
lcd . setCursor (0 , 0) ;
l c d . p r i n t ( REF= ) ;
l c d . p r i n t ( r e f ,DEC) ;
lcd . setCursor (0 , 1) ;
l c d . p r i n t ( RPM=

// D e f i n e r e f e r e n c i a de

) ;

a m o s t r a r = HIGH ;
ativa

// F l a g s i n a l i z a amostragem

while ( aa <500) ;
while ( aa <500) ;
aa =0;
v a r i a v e l aa
d i g i t a l W r i t e ( 1 3 , LOW) ;
finalizado

// Aguarda f i n a l i z a c a o do e n s a i o
// Apos f i n a l i z a r r e i n i c i a a
// Led apagado i n d i c a e n s a i o

// Envio dos dados p e l a


interface serial
// I n d i c a c a o no d i s p l a y de

lcd . setCursor (0 , 0) ;
Ensaio c o n c l u i d o
l c d . p r i n t ( Enviando dados . . ) ;
lcd . setCursor (0 , 1) ;
lcd . print (
) ;

f o r ( i n t dados =240; dados <500; dados++)


{
S e r i a l . p r i n t ( rpm [ dados ] 1 5 . 6 2 5 ) ;
// S e r i a l . p r i n t ( rpm [ dados ] ) ;
Serial . print ( ) ;
S e r i a l . p r i n t (U[ dados ] ) ;
Serial . print ( ) ;
S e r i a l . p r i n t l n ( ( dados 249) 0 . 0 4 ) ;
}
S e r i a l . p r i n t l n ( x ) ;
lcd . setCursor (0 , 0) ;
de Ensaio c o n c l u i d o
lcd . print (
) ;
lcd . setCursor (0 , 1) ;
de Ensaio c o n c l u i d o
l c d . p r i n t ( Ensaio c o n c l ui d o ) ;

// I n d i c a c a o no d i s p l a y

// I n d i c a c a o no d i s p l a y

Tratamento de i n t e r r u p c a
o g e r a d a nos p e ro d o s de
amostragem
//

60

128
129 {
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166 }

ISR ( TIMER1 COMPA vect )

i f ( a m o s t r a r == HIGH)
{
p u l s o s N = TCNT0;
// Adquire v a l o r do
contador0 , c o n e c t a d o ao s e n s o r i n f r a v e r m e l h o
rpm [ aa ] = p u l s o s N pulsosO ;
//Armazena numero de
p u l s o s g e r a d o r d u r a n t e o p e ro d o de amostragem
pulsosO = p u l s o s N ;
//Armazena v a l o r para
pr
o ximo c i c l o
v e l = rpm [ aa ] 1 5 . 6 2 5 ;
erroA = e r r o ;
erro = ( ref vel ) ;
// C a l c u l o do e r r o
// p u l s o s = e r r o 0 . 3 ;
// L e i de c o n t r o l e
// p u l s o s = p u l s o s + 0 . 0 5 e r r o 0 . 0 4 erroA ;
p u l s o s = k1 p u l s o s + k2 e r r o k3 erroA ;
i f ( p u l s o s >255) { p u l s o s = 2 5 5 ; }
// L i m i t a d o r do
e s f o r c o de c o n t r o l e
e l s e i f ( p u l s o s <0) { p u l s o s = 0 ; }
U[ aa ] = p u l s o s ;
//Armazena e s f o r c o de
controle
OCR2A = ( b y t e ) p u l s o s ;
// Converte a v a r i a v e l
para 8 b i t s e a l t e r a d u t y c i c l e do PWM
aa++;
contagem
i f ( aa == 2 5 0 )
{
ref = ref2 ;
lcd . setCursor (5 , 0) ;
p e r i o d o de amostragem
l c d . p r i n t ( r e f ,DEC) ;
lcd . print (
) ;
}
referencia

// V a r i a v e l de

i f ( aa == 5 0 0 )
ensaio
{ a m o s t r a r = LOW; OCR2A=0;}
a l i m e n t a c a o do motor

// F i n a l i z a c a o do

lcd . setCursor (5 , 1) ;
p e r i o d o de amostragem
l c d . p r i n t ( v e l ,DEC) ;
lcd . print (
) ;
}

// E x i b e no d i s p l a y o

// Degrau na

// D e s l i g a a

// E x i b e no d i s p l a y o

61

REFERENCIAS
[1] CHAPMAN, S. J. Eletric Machinery Fundamentals. Boston, Estados Unidos: Ed. WCB/McGraw-Hill, 1999. 713 p.
[2] WEG. Motores de Corrente Contnua. 2010. Disponvel em:
<http://ecatalog.weg.net/files/wegnet/WEG-motor-de-correntecontinua-680-catalogo-portugues-br.pdf>. Acesso em: 24/09/2012.
[3] TORO, V. D. Fundamentos de maquinas eletricas. Rio de Janeiro,
Brasil: Ed. Prentice-Hall do Brasil, 1994. 550 p.
[4] SILVEIRA, H. M. Roteiro de Laborat
orio de Controle e Notas de
Aula. Florian
opolis, Brasil: Publicac
ao Interna EEL-UFSC, 2005.
[5] OGATA, K. Discrete-Time Control Systems. New Jersey, Estados
Unidos: Ed. Prentice-Hall International, 1987. 745 p.
[6] SILVA, A. S. Fundamentos de Controle Cl
assico. Florianopolis, Brasil: Publicac
ao Interna EEL-UFSC, 2009.

Você também pode gostar