Beruflich Dokumente
Kultur Dokumente
BAURU
Ano 2006
Monografia
apresentada
Faculdade
de
59 f.
Orientador: Mrio Eduardo Bordon.
Monografia (Especializao)
Universidade Estadual Paulista.
Faculdade de Engenharia, Bauru, 2006.
unesp
Agradecimentos
no
curso
de
especializao.
Comecei
trabalhar
com
os
Resumo
Abstract
The controllers of type PID play a role of extreme importance, allowing a more
necessary control of the process to which are inserted.
With the increase of the performance and the quality of the microprocessors,
the digital controllers are each time more being used in the control systems. Other
advantages are the low cost and the reduction of physical size.
In this work a digital controller PID for positioning of a servomotor CC presents
itself, using a microcontroller PIC 18F2331 of the Microchip. The microcontroller
18F2331 presents characteristics that make of it an ideal choice for many
applications in control of engines.
With a communication interface and Matlab software, was possible to get the
position of the engine and other information, to save in archives text and to present in
graph form.
The implementation of the digital PID was satisfactory therefore got a
necessary positioning of servomotor CC.
Lista de siglas
A/D
Analgico Digital
CLP
CPU
D/A
Digital Analgico
EEPROM
Hz
Hertz
LCD
PID
PWM
RISC
VCC
MIPS
TL
Transformada de Laplace
CI
Circuito Integrado
Lista de smbolos
Kp
Ganho proporcional
Ki
Ganho integral
Kd
Ganho derivativo
e(t)
Erro do sistema
u(t)
sinal de controle
Ea(t)
Ra
Resistncia de armadura
La
Indutncia de armadura
Vfcem
Tm
Torque do motor
Tj
Tb
Torque viscoso
Tc
Torque de carga
Ia
Corrente de armadura
Kt
Atrito viscoso
Inrcia do motor
Velocidade do motor
(t)
Posio do motor
m
..
Derivada da posio
Derivada segunda da posio
Tm(S)
Transformada de Laplace de Tm
(S)
Tc(S)
Transformada de Laplace de Tc
Lista de Ilustraes
Sumrio
1 INTRODUO........................................................................................................15
1.1 Controladores PID.....................................................................................15
1.2 Controladores Analgicos e Digitais..........................................................16
1.3 Microcontroladores PIC.............................................................................17
1.4 Controle de movimento..............................................................................18
1.5 Objetivo......................................................................................................19
2 DESCRIO DO SISTEMA ...................................................................................20
2.1 Introduo..................................................................................................20
2.2 Servomotor CC..........................................................................................21
2.3 PWM..........................................................................................................23
2.4 Encoder......................................................................................................25
2.5 Microcontrolador 18F2331.........................................................................26
2.5.1 Introduo....................................................................................26
2.5.2 Caractersticas de controle de movimento...................................29
2.5.3 Mdulo do PWM...........................................................................29
2.4.4 Leitura do encoder.......................................................................30
2.6 Driver de potncia......................................................................................31
2.6.1 Introduo....................................................................................31
2.6.2 Tipos de PWM..............................................................................31
2.7 Material e Mtodo......................................................................................32
2.7.1 Introduo....................................................................................32
2.7.2 Material utilizado..........................................................................33
2.7.3 Descrio do sistema..................................................................34
2.7.3.1 Hardware........................................................................34
2.7.3.2 Software.........................................................................35
2.7.3.3 Controle PID...................................................................35
3 SISTEMA DE CONTROLE .....................................................................................38
3.1 Controle.....................................................................................................38
3.2 Controlador...............................................................................................39
3.2.1 Proporcional.................................................................................39
3.2.2 Integral.........................................................................................40
3.2.3 Derivativo.....................................................................................41
3.2.4 Controlador PID............................................................................41
3.2.5 Discretizao do Controlador PID................................................42
4 RESULTADOS E DISCUSSES............................................................................44
4.1 Freqncia do PWM..................................................................................44
4.2 Tempo de varredura do programa.............................................................45
4.3 Resposta do sistema.................................................................................46
5 CONCLUSES.......................................................................................................51
REFERNCIAS BIBLIOGRFICAS ..........................................................................52
ANEXO 1 CARACTERSTICAS DO MOTOR .........................................................53
ANEXO 2 ALGORITMO DE CONTROLE NO MICROCONTROLADOR................54
ANEXO 3 SOFTWARE NO MATLAB......................................................................56
ANEXO 4 EXEMPLO DO ARQUIVO GERADO PELO MATLAB............................58
15
CAPITULO 1
Introduo
16
17
Microchip
uma
precursora
no
uso
da
tecnologia
RISC
em
18
19
1.5 Objetivo
20
CAPITULO 2
Descrio do Sistema
2.1 Introduo
10
chaves e
botes
microcontrolador
leds e
display
PC
D
encoder
driver e
motor
10
21
2.2 Servomotor CC
O controle dos motores CC pode ser feito atravs da corrente de campo (If)
ou da corrente da armadura (Ia). O controle por armadura o mtodo mais comum e
foi utilizado neste projeto.
O controle de velocidade do motor conseguido por meio de uma tenso
aplicada armadura (Ea). A polaridade da tenso aplicada determina o sentido do
torque obtido (Tm) e este determina o sentido de giro.
22
(2.1)
T m = K t . Ia
(2.2)
23
Tm = Tj + Tb + Tc
(2.3)
Tm = j. m + B. m + Tc
(2.4)
2.3 PWM
interruptor
fonte de alimentao CC
carga
24
50
0
t1
t2
tempo (segundos)
t1 = t2
Figura 2.4 forma de onda de tenso do circuito.
Fchaveamento =
1
1
=
T t1+ t 2
(2.5)
25
A relao entre o tempo do pulso (t1) e o tempo total do chaveamento (t1 + t2)
chamado de duty cycle.
duty _ cycle =
t1
100%
t1 + t 2
(2.6)
2.4 Encoder
O encoder gera um pulso para um determinado incremento de rotao do eixo
(encoder rotativo), ou um pulso para uma determinada distncia linear percorrida
(encoder linear).
Embora seja mais utilizado no controle de posio, o encoder tambm
utilizado para medir velocidade, uma vez que medindo a distncia total percorrida
(atravs da contagem dos pulsos na sada do encoder) e o tempo necessrio para
esta distncia ser percorrida, consegue-se calcular a velocidade.
H vrios tipos: magntico, contacto, resistivo, e ptico. Porm, o sistema
mais preciso o encoder ptico. Os encoders pticos operam por meio de um disco
26
com ranhuras ou aberturas transparentes, que se move entre uma fonte de luz (seja
visvel ou infravermelha) e um detector.
Este disco acoplado mecanicamente em um eixo. medida que o eixo
comea a girar, o disco passa entre a fonte e o detector, fazendo com que o feixe de
luz seja interrompido quando encontra uma parte fechada e seja novamente liberado
quando passar por uma abertura transparente, gerando assim uma onda pulsante. A
fonte de luz pode ser um diodo Emissor de Luz (LED), um diodo infravermelho ou
uma pequena lmpada incandescente.
J o detector normalmente um fototransistor ou mais comumente um diodo
fotovoltaico. Esse sistema simples composto por apenas um LED prov um nico
sinal de sada o que indesejvel, uma vez que o sinal de sada, tem um offset CC
que dependente da temperatura fazendo com que o sinal fique difcil de ser usado.
Na prtica, dois fotodiodos so usados, organizados para produzir sinais com
180 de diferena de fase para cada canal, as duas sadas dos diodos so
subtradas para cancelar o offset CC.
2.5.1 Introduo
27
instruo de 100ns) e faz parte da famlia PIC com instrues de 16 bits, o que
garante alto rendimento computacional com baixo custo.
3 interrupes externas
watchdog programvel
28
dados de contadores
29
30
Tcy =
1
( f osc / 4)
(2.3)
Fmax =
1
1
=
= 250KHz
16tcy 16.250ns
(2.4)
31
2.6.1 - Introduo
Caractersticas:
Fornece at 3A continuamente
32
2.7.1 Introduo
33
+18Vcc
11
+
-
14
+5Vcc
+
28
27
26
25
fontes de alimentao
7
8
9
+5Vcc
3
5
9
24
10
+18Vcc
6
7
4
2
1
23
servo motor DC
22
21
20
10
19
11
18
12
17
13
16
14
15
+5Vcc
16
15
3
+
+
4
5
6
encoder
MAX 232
+ A B -
18F2331
127Vca
LMD18200
13
pwm
brake
habilita
14
13
12
11
10
9
5
9
4
8
3
7
2
6
1
+5Vcc
comunicao serial
rs-232
d7 d6 d5 d4 d3 d2 d1 d0 E RWRS V0 VDDVSS15 16
display
LCD 16x2
Fonte de 5Vcc
Fonte de 18Vcc
34
software
dividido
em
dois
programas:
um
implementado
no
2.7.3.1 Hardware
35
O LCD (display de cristal lquido) est ligado nos pinos 11, 12, 13, 14, 15, 16
e 22 (RD6, RD4, RD7, RD5, E, RS e RW ). A chave est ligada no pino 3 (RA1).
Os pinos 21, 23 e 24 (PWM0, RB2 e RB3) esto ligados no driver
(LMD18200) utilizado para controlar o motor.
Os pinos 17 e 18 (TX e RX) so utilizados para a comunicao serial com o
computador atravs do CI MAX232.
Os pinos 5 e 6 (QEA e QEB) esto ligados ao encoder para aquisio do sinal
correspondente posio do motor.O pino 1 (/MCLR) est ligado uma tenso 5Vcc.
O diagrama de montagem do sistema pode ser visualizado na figura 2.6.
2.7.3.2 Software
36
(Vc_pwm). Com isso a varivel de controle fica mais imune s variaes muito
rpidas no clculo de Vc.
O registrador do modulo PWM tem 14 bits e a varivel de controle (Vc) tem 20
bits, logo se faz necessrio transformar Vc em uma varivel de 14 bits.
Uma varivel de 20 bits tem um range de -524288 at +524287
( 220 = 1048576 ). Uma varivel de 14 bits tem um range de -8192 at +8191
( 214 = 16384 ).
A transformao feita com a diviso por 64
( 26 = 64 ), a parte menos
20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
20 bits (Vc)
dividindo por 64
14 13 12 11 10 9 8 7 6 5 4 3 2 1
14 bits (Vc_pwm)
37
38
CAPITULO 3
Sistema de Controle
3.1 Controle
sinal de referncia
sada (posio)
controlador
sinal de erro e(t)
processo
sinal de controle u(t)
realimentao
39
3.2 Controlador
3.2.1 - Proporcional
Sada (t ) = Kp.e(t )
(3.1)
40
3.2.2 - Integral
(3.2)
41
3.2.3 - Derivativo
Sada(t) = Kp.
de(t)
dt
(3.3)
42
de(t)
dt
(3.4)
t = nT
.
Obtm-se assim uma equao discretizada:
(3.5)
43
Sada(nT) = Kpe
. (nT) + KiT
. e( jT) + Kd
j=0
(3.6)
e(n) e(n 1)
T
(3.7)
Simplificando,
n
(3.8)
Eo
:= E a;
// erro (n -1 )
Ea
P ro p o rc := E a * K p ;
// term o p ro p o rcio n al
som a
// s o m at ria
:= (so m a + E a);
In t
:= so m a * K i;
D erivat := (E a - E o ) * K d ;
Vc
44
CAPITULO 4
Resultados e Discusses
frequncia =
1
= 500 H z
2.10 3
(4.1)
45
46
10000
8000
6000
4000
2000
10
12
Tempo (s)
14
16
18
20
47
7000
6000
5000
4000
3000
2000
1000
0
8
10
Tempo (s)
12
14
16
18
48
10000
8000
6000
4000
2000
8
10
Tempo (s)
12
14
16
18
49
10000
8000
6000
4000
2000
8
10
Tempo (s)
12
14
16
18
50
9000
8000
7000
6000
5000
4000
3000
2000
1000
0
8
10
Tempo (s)
12
14
16
18
51
CAPITULO 5
Concluses
52
REFERNCIAS BIBLIOGRFICAS
DZZO , J. J. & HOUPIS, C. H. (1981). Linear Control System Analysis and Design.
McGraw-Hill, 2 edio
CANZIAN,
Edmur
(1998).
Projetos
de
Hardware
Software
utilizando
53
Anexo 1
Caractersticas do motor.
54
Anexo 2
Program PID;
Uses config_sistema;
Var
Vc_pwm, contagem, setpoint, Eo, Ea
: integer;
Enviar
: integer;
Kp, Kd, Ki
: short;
: longint;
Procedure Controle_PID;
Begin
Leitura(contagem);
Eo
:= Ea;
// erro(n-1)
Ea
:= setpoint - contagem;
// erro(n)
Proporc := Ea * Kp;
// termo proporcional
soma
:= (soma + Ea);
// somatria
Int
:= soma * Ki;
// termo integral
// termo derivativo
// varivel de controle
55
End;
Begin
Iniciar_geral;
PWM_iniciar;
// configurao do PWM
Encoder_Iniciar;
Serial_iniciar;
// configurao da serial
LCD_iniciar;
// configurao do LCD
While true do
Controle_PID;
End.
// algoritmo do PID
56
Anexo 3
Software no Matlab.
s = serial('COM1');
%configura COM1
set(s,'BaudRate', 9600);
%baudrate
set(s,'DataBits',8);
%databits
set(s,'StopBits',1);
%stopbits
fid = fopen('motion.dat','a+');
s.terminator = 'CR';
%terminao
fopen(s);
%abro serial
fwrite(s,'%','uchar');
antigo = 0;
%inicializo
zero = clock;
%inicializo
n = 0;
%inicializo
atual = clock;
%leitura do sistema
57
if ((atual(6)-antigo) > 0)
fprintf(fid,'%u ',n);
out = fread(s,2,'uint8');
a = out(1) + out(2)*256
fprintf(fid,'%u',a);
fprintf(fid,'\n');
n = n+1;
%contador do looping
end;
antigo = atual(6);
end;
fclose(fid);
%fecho arquivo
fclose(s);
%fecho serial
delete(s);
clear s;
[c,x,y] = textread('motion.dat','%u %f %f');%leio os valores do arquivo acima gerado
plot(x,y,'Color','m');
xlabel('Tempo (s)');
ylabel('Posio (pulsos de encoder)');
title('RESPOSTA AO DEGRAU APLICADO NO SERVO DC');
grid
58
Anexo 4
N tempo posio Vc
0 0.0000 1888 13534
1 0.1090 2269 13125
2 0.1400 2627 12740
3 0.1560 2959 12384
4 0.2650 3269 12051
5 0.2810 3556 11743
6 0.3120 3823 11456
7 0.3280 4071 11190
8 0.4220 4300 10944
9 0.4530 4513 10715
10 0.4690 4708 10505
11 0.4840 4892 10308
12 0.5000 5059 10128
13 0.5940 5215 9961
14 0.6250 5358 9807
15 0.7030 5492 9663
16 0.7190 5613 9533
17 0.8280 5727 9410
18 0.8900 5832 9297
19 0.9060 5928 9194
59