Documente Academic
Documente Profesional
Documente Cultură
MARLIA
2012
Orientador
Prof. Csar Giacomini Penteado
MARLIA
2012
RESUMO
No
meio
industrial,
muitas
mquinas
necessitam
ser
controladas
SUMRIO
1 - INTRODUO.................................................................................................. 11
1.1 - OBJETIVO .................................................................................................. 12
1.2 - ORGANIZAO DO TRABALHO .......................................................... 12
2 - SISTEMAS DE CONTROLE MODERNOS..................................................... 13
2.1 - SISTEMAS DE CONTROLE EM MALHA-FECHADA .......................... 14
2.2 - SISTEMA DE CONTROLE EM MALHA-ABERTA ............................... 15
2.3 - DIFERENAS ENTRE SISTEMA DE CONTROLE EM MALHAFECHADA E EM MALHA-ABERTA. .......................................................................... 15
2.4 - SISTEMAS DE CONTROLE NUMRICO ............................................... 16
2.5
CONTROLADOR
PID
(PROPORCIONAL,
INTEGRAL
DERIVATIVO) ............................................................................................................... 16
2.5.1 - CONTROLE PROPORCIONAL ......................................................... 19
2.5.2 - CONTROLE PROPORCIONAL E INTEGRAL................................. 20
2.5.3 - CONTROLE PROPORCIONAL INTEGRAL E DERIVATIVO ....... 20
3 INTRODUO A LINGUAGEM PIC BASIC ................................................ 21
3.1 - VARIVEISDE I/O (ENTRADA E SADA) ............................................ 22
3.2 - DECLARAO DE VARIVEIS ............................................................ 23
3.3 - CONSTANTES ........................................................................................... 24
3.4 - DEFINE ....................................................................................................... 24
3.5 - OPERADORES ARITMTICOS ............................................................... 24
3.6 - OPERADORES BINRIOS ....................................................................... 25
3.7 - ESTRUTURA DE CONTROLE ................................................................. 26
3.8 - WHILE ........................................................................................................ 26
3.9 - FOR ............................................................................................................. 26
3.10 - SUB-ROTINAS......................................................................................... 27
4 - ALGORITMO PID............................................................................................. 27
5 SIMULAO NO SOFTWARE PROTEUS ................................................... 31
5.1 - ESQUEMA DE CIRCUITO - MO MECNICA .................................... 31
1 - INTRODUO
A utilizao de algoritmos de controle vem se aprimorando atravs dos tempos.
Sua funo controlar dispositivos que necessitam de certa preciso para cumprir seu
objetivo. Para que tal preciso seja alcanada geralmente preciso utilizar clculos
matemticos complexos que conseguem descrever e preveja situaes adversas.
Os algoritmos de controle esto presentes em vrios dispositivos eletrnicos
como em ar condicionados, geladeiras e fornos modernos, regulando a sua temperatura,
controlando a agulha de leitura de um HD, e nas indstrias de construo de veculos
controlando robs no objetivo de posicionar vrios parafusos com preciso milimtrica.
Para se construir dispositivos eletrnicos com o fim de obter grande preciso
no basta ter um bom algoritmo de controle, mas tambm preciso ter sensores que
obtenham o estado do dispositivo que ser controlado. Os sensores tm um papel
fundamental no controle de mquinas. Sua funo obter o valor de uma varivel como
posio, temperatura ou presso e transform-lo em um valor digital.
Com os grandes avanos em pesquisas voltados para os diferentes tipos de
algoritmos de controle uma delas vem se destacando possuindo um grande grau de controle
sobre dispositivos eletrnicos, o controlador PID. Sua estrutura composta pelas formulas
matemticas sendo a proporcional a integral e a derivativo que juntas buscam o mximo de
velocidade e despenho de um dispositivo de forma a eliminar todos os erros de estado
como erro de posio, temperatura presso e entre outros.
Com o auxilio da computao grfica, algoritmos que faz a analise e
tratamento da imagem de cmeras, esto sendo desenvolvidos para controlar veculos,
cmera de vigilncia, e podem futuramente controlar mquinas informando seu estado de
posio e localizao.
Um dos projetos que esto em desenvolvimento utilizando controle por viso
computacional o projeto CaRINA(Carro Robtico Inteligente para Navegao
Autnoma) desenvolvido na USP de So Carlos. O projeto tem o objetivo de controlar um
veiculo utilizando uma cmera que captura dados do ambiente fazendo sua interpretao.
Deste modo possvel analisar a imagem como verificar se h pessoas na rua, se o carro a
sua frente esta em movimento ou parado e at colher dados de um semforo.
O projeto apresentado neste trabalho tem como foco principal mostrar os meios
de controles modernos de um dispositivo utilizando algoritmo PID. Desta forma sero
11
mostrados os meios para implementar algoritmo de controle PID com a linguagem PIC
BASIC. Para tanto sero utilizados um motor DC e um kit de desenvolvimento de
microcontroladores para testar o algoritmo.
1.1 - OBJETIVO
12
13
14
O controlador Proporcional,
Pro
Integral e Derivativo com a sigla PID utilizado
para controlar dispositivos onde requisitado nveis de preciso adequados.
adequados Seu objetivo
explorar o mximo
ximo desempenho possvel do dispositivo na busca de obter o menor erro
admissvel.
Na dcada de 50 as mquinas industriais eram controladas por pessoas que
regulavam seu estado de forma manual.
manual. Um operador de caldeira tinha a funo de regular
a temperatura da caldeira de forma que a mesma no explodisse. A figura 1 ilustra um
operador de caldeira regulando a sada de gs de uma caldeira.
16
variar, como por exemplo, em fornos eltricos, caldeiras de presso, esteiras e muitos
outros equipamentos.
Para demonstrar a forma como o PID atua em um controle em malha-fechada
possvel ver a sua forma de atuao com o diagrama da figura 3.
= + +
18
Que
tem
proporo;
que
est
em
proporo;
simtrico;
Quando Kp for maior que zero maior ser a velocidade de chegada ao SetPoint
porem menor ser a sua preciso. O valor de Kp referente constante proporcional, seu
valor tem a seguinte funo:
- Quanto menor o valor da constante proporcional Kp maior ser a preciso de
chegada ao setPoint, porem, maior ser o tempo de chegada no ponto do setPoint, deste
modo, o sistema fica com uma alta preciso com o inconveniente da operao do sistema
ficar lenta.
- Quanto maior o valor da constante proporcional Kp menor ser a preciso de
chegada ao setPoint, porem, menor ser o tempo de chegada no ponto de setPoint, deste
modo, a chegada no setPoint mais rpida porem o sistema fica com uma menor preciso
de chegada ao setPoint podendo ultrapassar o ponto desejado ocorrendo oscilaes.
19
= +
= + +
20
21
Para referenciar estas portas no PIC BASIC necessrio saber o nome da porta
e o seu nmero.
22
Exemplo:
Para porta do tipo RD0 para se referenciar esta porta em PIC BASIC preciso
declarar portd.0.
3.3 - CONSTANTES
3.4 - DEFINE
Define Osc 20
24
Operador
Descrio
Operador
Descrio
Soma
ABS
Valor Absoluto
Subtrao
SIN
Seno do ngulo
Multiplicao
COS
Cosseno do ngulo
Diviso
MIN
Mnimo de um nmero
//
Sobra
MAX
Mximo de um nmero
<<
RER
Inversor de um bit
>>
DIG
Igual
Operador
Descrio
&
AND Lgico
OR Lgico
XOR Lgico
NOT Lgico
&/
NAND Lgico
|/
NOR Lgico
^/
NXOR Lgico
25
IF Condio THEN
Cdigo...
ELSE
Cdigo...
ENDIF
3.8 - WHILE
WHILE Condio
Cdigo....
WEND
3.9 - FOR
26
Sintaxe:
FOR x=1 TO 5
Cdigo...
NEXT
3.10 - SUB-ROTINAS
InicioRotina:
;Sub-Rotina
Cdigo;
GOTO InicioRotina
4 - ALGORITMO PID
Para que seja possvel implementar o algoritmo de controle PID preciso
entender o uso de alguns conceitos bsicos sobre as funes Integral, diferencial e
proporcional.
A partir dos conceitos apresentados na seo 2 Sistemas de controle
modernos, possvel implementar um algoritmo PID. Segue o exemplo deste algoritmo:
27
Para que seja possvel entender o cdigo acima preciso entender o que cada
varivel representa e como so obtidos alguns dados.
Linha 1:
Linha 3:
28
Linha 4:
Nesta linha a varivel Integral receber a diviso do erro absoluto por uma
varivel constante divErro somando a sua integral anterior e multiplicando a sua constante
integral.
O erro absoluto dividido por uma constante divErro com objetivo de deixar o
erro menor. Desta forma a chance de se ultrapassar o setPoint minimizada, pois, quanto
maior for meu erro absoluto, mais rpido ser a chegada na posio de setPoint
ocasionando uma possvel ultrapassagem. O valor de divErro dado pelo tempo de
resposta do sistema.
A constante kI um valor percentual indo 1% 100%, este valor no pode ser
excedido pois os valores acima de 100% faz com que o sistema fique instvel. O seu valor
decide a quantidade de erro absoluto que eliminado pelo sistema.
Linha 5:
Nesta linha a varivel Derivada ira receber o valor da diferena entre erro
absoluto e o erro anterior multiplicado pela constante kD ou Constante Proporcional. Com
a diferena do erro absoluto menos o erro anterior possvel prever o valor do erro futuro.
Se possvel prever o erro futuro possvel se fazer uma antecipao e corrigir este erro
em uma porcentagem kD ou constante derivativa. A Funo da Derivada estabilizar o
sistema de forma a deixar o sistema gil.
Linha 7:
Linha 9:
zero mais prximo estar do setPoint. Para se conseguir o valor de cada constante sendo
elas a kP, kI e kD, preciso fazer teste no sistema modificando o valor de cada varivel at
conseguir o estado ideal para o sistema.
Para testar este algoritmo foi utilizada a linguagem Java onde foi possvel
provar a funcionalidade do controlador PID. Na figura 3 mostra a interface onde foram
colocados uma barra de controle deslizante, as variveis de entrada como a constantes
proporcional, Integral e Derivativa, e mais a baixo onde foi colocadas as sadas.
30
Como mostra a figura 6, foi utilizado para montar este esquema, um oscilador,
um conversor digital ADC0804, um motor DC simples, um PIC 16F877A, potencimetros,
resistores, e capacitores. Nas simulaes o microcontrolador PIC 16F877A foi utilizado
pelo fato de ser simples de manusear, na implementao fsica o microcontrolador 18F452
tem a mesma forma de programao e funo que o microcontrolador PIC 16F877A.
31
Para entender o que foi feito no esquema da figura 6, ser mostrado s funes
de cada componente.
Na tabela 3 na primeira coluna referente a cada pino do ADC 0804 com sua
respectiva funo:
32
DB0 a DB7
Sadas digitais
/CS (entrada)
/RD (entrada)
/WR (entrada)
CLOCKIN
Terminal de malha RC
(entrada)
/INTR (sada)
AGND
Terra analgico
DGND
Terra digital
Tenso de referncia no valor da metade de V+, para correo de fundo
VREF/2
de escala
CLOCK R (entrada)
V+ ou VREF
Tenso de alimentao
ADC
conversor
analgico-digital
tem
funo
de
gerar
uma
ADCON1 = %00000100
33
34
ADCIN 0, ValorADC
35
36
37
5.6 - OSCILADOR
Figura 11 - Oscilador
38
39
Porta
LarguraPulso = 0
Ciclo
=1
PWM(Porta,LarguraPulso, Ciclo)
40
simular este estado no PIC BASIC so passados os seguintes valores de parmetros para o
PWM:
Porta
LarguraPulso = 64
Ciclo
=1
41
possvel ver na figura 16 que o potencial PWM est em seu valor mximo,
neste estado possvel notar a velocidade mxima do motor DC. Para simular este estado,
basta passar o mtodo PWM fica da seguinte forma:
PWM(porta.0, 255, 1)
do estado do dispositivo, essa varivel foi declara como byte comportando valores
correspondentes aos valores do ADC.
Na linha numero 3 varivel de PosicaoAtual, como seu nome j diz, tem a
funo de guardar o estado atual do dispositivo. No caso, o motor foi declarado como byte
com objetivo de pegar os valores da sada do ADC que de 8 bits.
Nas linhas 4, 5, 6 foram declaradas respectivamente as constantes
kP(Constante Proporciona), kI(Constante Proporcional) e kD(Constante Derivativa) .
As variveis das linhas de 9 a 14 so utilizadas para receber os valores
referentes formula, e sero explicadas mais diante.
43
44
45
46
Supondo que o valor do resultado PID seja igual a 800, e o valor de unPWM
seja igual a 100 gerado 8 unidades de largura pulso pelo PWM, sendo que 800 dividido
por 100 igual a 8.
Na linha 78 a varivel MOV_LEFT_BASE1 correspondente a porta D0 do PIC
16F877A est em nvel zero.
Na linha 79 o PWM aplicado em cima da varivel MOV_RING_BASE1
correspondente a porta D1 do PIC 16F877A. Desta forma o valor que a varivel valPWM,
guarda o valor da potncia que gerado no motor DC.
6 - TESTES FSICOS
No processo de testes fsicos utilizado um kit do modelo PICGenios que
fornece um microcontrolador PIC 18F452, um dispositivo LCD para visualizao dos
resultados de entrada e sada do microcontrolador, e um conjunto de leds que representam
algumas portas de sada do microcontrolador.
O microcontrolador PIC 18F452 foi utilizado no projeto de teste fsico por dois
motivos, sendo o primeiro pelo fato de o kit PicGenios fornecer o PIC 18F452 como seu
componente padro, e segundo por apresentar as mesmas funcionalidades do
microcontrolador 16F877A onde a nica diferena o fato de ter maiores funcionalidades.
Para a insero do algoritmo dentro do microcontrolador utilizado o
programa WinPIC800 fornecido pelo fabricante do kit PICGenios. Com este programa
possvel carregar o cdigo fonte e inseri-lo dentro do microcontrolador, bem como apagar
ou copiar.
Nesta sesso ser possvel visualizar a forma de como foi montado o esquema
do circuito eletrnico, mostrando as conexes entre as portas do microcontrolador com o
motor dc e potencimetro tendo uma idia de sua implementao fsica.
fixao da mo mecnica, um controle remoto e entre outras partes contendo todo o corpo
da mo mecnica. O kit vem com todas as peas separadas sendo preciso montagem de
cada parte e seu valor pode chegar a 300 reais.
Com relao a suas dimenses, a sua altura de 15 polegadas, sendo seu raio
de 12.6 polegadas. O motor da base tem uma movimentao de 180 de elevao e uma
movimentao na horizontal de 270. O motor cotovelo localiza-se acima da base tem uma
movimentao de elevao de at 300. Mais acima o motor que fica no pulso da mo
mecnica tem a rotao na vertical de 120. As ps que esto localizadas no topo da mo
mecnica tm uma abertura de 1.77 polegadas.
48
Seu peso pode chegar a 656 gramas e pode levantar objetos com peso Maximo
de 100 gramas.
um kit de desenvolvimento
para
microcontroladores contendo vrios recursos. Este kit muito utilizado por oferecer
diferentes recursos como dispositivos LCD, Display de sete seguimentos, pinos de sada
49
das portas PORTA, PORTB, PORC e PORTD, entrada serial RS232 para auxilio na
gravao do microcontrolador, entrada USB 2.0 e muitos outros recursos. Para que seja
possvel executar o algoritmo PID dentro do PIC 18F542 preciso entender o
funcionamento do kit e para isso ser apresentado os componentes que sero utilizados no
processo de gravao e teste.
Para a gravao do PIC utilizado uma porta serial RS232 com a funo que
auxilia na gravao do microcontrolador. Neste caso a entrada serial ser ligada na sada
seria do computador. Na figura 28 possvel ver a entrada seria do kit PICGenios:
51
Figura 32 - Leds
programa
WinPIC800
V3.64H
utilizado
para
gravao
de
52
O processo de gravao mostrado no item 6.4, pois, para que seja possvel
estabelecer a conexo entre o WinPIC e o Kit PICGenios 18F, necessrio fazer algumas
alteraes na configurao de hardware do programa. Ao clicar no menu Configurao ->
Hardware, vai aparecer uma tela conforme a figura 34.
Boto Abrir tem a funo de abrir o cdigo fonte com extenso .HEX
Boto Testar Hardware usado para testar a conexo entre WinPIC e o Kit, ao
ser clicado vai aparecer uma tela contendo o status de conexo com o Kit.
O Boto Apagar tudo tem a funo de apagar todo o cdigo dentro do PIC.
Boto Ler Tudo utilizado para leitura do cdigo que est inserida no PIC.
54
55
56
Figura 39 - Potencimetro
57
foi mostrada na sesso 5.3, caso esta porta no seja configurada, no possvel pegar os
valores do potencimetro.
Com as orientaes vistas na sesso 6.4 e tendo o processo de gravao
realizado, possvel notar a atuao do algoritmo PID sobre o motor quando a base do
potencimetro girada. Neste caso o setPoint est localizado na posio 127, considerando
o potencimetro em seu estado inicial onde a resistncia nula, ao girar a base do
potencimetro de forma que sua posio chegue perto do setPoint o motor
comea
7 CONCLUSES
Para que o projeto conseguisse ser concludo foi essencial a construo do
algoritmo PID na linguagem Java de forma a ter uma visualizao grfica. Com este
programa foi possvel visualizar o comportamento do algoritmo PID, sendo possvel
modificar os valores de cada varivel como as constantes proporcional, integral e
derivativa visualizando o seu comportamento de forma clara. O motivo da construo do
simulador Java foi para entender melhor o comportamento de cada ao relacionada a cada
constante.
58
REFERNCIAS BIBLIOGRFICAS
06
de
2012,
disponvel
em
http://www.cse.msu.edu:
http://www.cse.msu.edu/~cse251/project2a.html
eletroncabrasil.
(s.d.).
Kit
PICGenios
18F
V3.
Fonte:
http://www.eletronicabrasil.com.br:
http://www.eletronicabrasil.com.br/produtos/foto1/grande/kitpicgenios_pic18fG.jpg
mecanique. (s.d.). MicroCode Studio. Acesso em 21 de 05 de 2012, disponvel em
http://www.mecanique.co.uk/: http://www.mecanique.co.uk/
Messias, A. R. (2006). CARACTRISTICAS DE FUNCIONAMENTO DO
CONVERSOR ANALGICO DIGITAL ADC0804 DE 8 BITS. Acesso em 02 de 09 de
2012,
disponvel
em
http://www.rogercom.com:
http://www.rogercom.com/pparalela/ConversorADC0804.htm
59
microchip. (2001). PIC 16F87x Data Sheet 28/40-Pin 8-Bit CMOS FLASH. Acesso
em
05
de
09
de
2012,
disponvel
em
http://ww1.microchip.com:
http://ww1.microchip.com/downloads/en/devicedoc/30292c.pdf
microgenios. (05 de 11 de 2011). http://www.microgenios.com/. Acesso em 03 de
08
de
2012,
disponvel
em
Rob
OWI-535
Robotic
ARM
Edge
http://www.microgenios.com/?11.57.0.0,463,robo-owi-535-robotic-arm-edge-|-permitecontrole-via-arduino-e-pic-robotica-educacional-pronta-entrega.html
S.Shet, N. (10 de 2009). Interfacing ADC to Microcontroller Chip 8051. Acesso em
05
de
09
de
2012,
disponvel
em
http://www.oocities.org:
http://www.oocities.org/techsoftronics/projects/adc.html
Teixeira, G. T. (15 de 09 de 2009). ADC0804 (CONVERSOR A/D) . Acesso em 03
de
09
de
2012,
disponvel
em
http://www.projetostecnologicos.com:
http://www.projetostecnologicos.com/Componentes/CIsAnalogicos/ADC0804/ADC0804.h
tml
winpic800.
(s.d.).
WinPIC800.
Fonte:
http://www.winpic800.com/:
http://www.winpic800.com/
[1] http://es.wikipedia.org/wiki/Proporcional_integral_derivativo
[2] dicio.com.br
[3] Livro: ROBOTIC ARM-EDGE wire control robotic arm kit
60