Escolar Documentos
Profissional Documentos
Cultura Documentos
Florian
opolis
2013
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
Florian
opolis, 15 de fevereiro 2013.
.
Banca Examinadora:
AGRADECIMENTOS
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
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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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
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
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.
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
28
29
24 V
R2
Sinal PWM
Sada Arduno
R1
MOTOR
D1
+88.8
1k
1N4107
U1
1
390R
5
2
Q2
4n35
Q1
TIP1222
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
FiguraFigure
7 Tens
ao coletor/emissor
TIP1222.
2. Base-Emitter
Saturation -Voltage
Gain
s
5m
apacitance
e
s
1m
OLTAGE
LTAGE
DC
Cob
f=0.1MHz
30
3.2 DIMENSIONAMENTO
DE COMPONENTES
0.1
TIP120
TIP121
TIP122
Ic = 250Ib
(3.1)
(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
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
Figure 6
Figure 7
R2 =
(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
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
Figure 4
Figure 5
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
Figure 6
Figure 7
12
(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)
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)
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
37
G(s) =
1 M (s)
Kc 1 M (s)
(5.6)
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.
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 "
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)
39
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
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
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
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)
42
43
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)
1
TI
e() d
(6.4)
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)
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
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
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
(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
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
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
Process 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
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
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
A equac
ao recursiva do novo controlador pode, entao, ser calculada:
0, 033
z 0, 9
U (z)
=
z1
E(z)
(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)
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
52
com o computador.
Figura 23 Prot
otipo finalizado.
53
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 ;
// 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
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 (
) ;
// 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 }
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.