You are on page 1of 60

FUNDAO DE ENSINO "EURPEDES SOARES DA ROCHA "CENTRO

UNIVERSITRIO EURPEDES DE MARLIA UNIVEM CURSO DE


BACHARELADO EM CINCIA DA COMPUTAO

APLICAO DO CONTROLE PROPORCIONAL INTEGRAL E


DERIVATIVO EM UM PROTTIPO DE CONTROLE DE MO MECNICA
UTILIZANDO MICROCONTROLADORES

ANDERSON ZAPATERRA BATILANI

MARLIA
2012

FUNDAO DE ENSINO "EURPEDES SOARES DA ROCHA "CENTRO


UNIVERSITRIO EURPEDES DE MARLIA UNIVEM CURSO DE
BACHARELADO EM CINCIA DA COMPUTAO

APLICAO DO CONTROLE PROPORCIONAL INTEGRAL E


DERIVATIVO EM UM PROTTIPO DE CONTROLE DE MO MECNICA
UTILIZANDO MICROCONTROLADORES

Trabalho de Curso apresentado ao Curso de


Bacharelado em Cincia da Computao da
Fundao de Ensino "Eurpedes Soares da
Rocha", mantenedora do Centro
Universitrio Eurpedes de Marlia UNIVEM, como requisito parcial para
obteno do grau de Bacharel em Cincia
da Computao.

Orientador
Prof. Csar Giacomini Penteado

MARLIA
2012

RESUMO

No

meio

industrial,

muitas

mquinas

necessitam

ser

controladas

automaticamente de modo que seu desempenho atenda os requisitos de produo de forma


que consiga produzir produtos com qualidade, velocidade e com preciso. Para que seja
possvel obter um nvel de automao alto preciso implementar mtodos de controle que
necessitam de algoritmo e equaes matemticas complexas.
O projeto tem como foco principal o desenvolvimento de algoritmos de
controle e sua implementao sobre um motor DC simples. A forma de controle que ser
implementado o controlador proporcional, integral e derivativo ou controle PID que tem
a funo de estabilizar a ao de um dispositivo eliminando erros de estado.
Para a implementao do algoritmo PID, ser utilizado linguagem Java para
simular o estado do controlador PID e o programa PROTEUS 7 que ser utilizado para
criar uma esquema eletrnico no objetivo de simular o algoritmo PID sobre um motor DC.
Com as simulaes realizadas o algoritmo PID ser inserido em um
microcontrolador PIC 18F542 onde suas portas de entrada e sada que so gerenciado pelo
kit PICGenios com o propsito de controlar o motor DC e colher dados do sensor de
movimento que no caso ser um potencimetro.
No final deste projeto possvel entender os conceitos de controle PID e sua
funo como meio de controle com alta preciso.

Palavra-Chave: controlador PID, Algoritmo PID, Simulao do algoritmo PID.

LISTA DE ILUSTRAO DE FIGURAS

Figura 1 - Operador de Caldeira .............................................................................. 16


Figura 2 - Controle de caldeira utilizando controlador PID .................................... 17
Figura 3 - Diagrama em bloco do controle PID. [1] ................................................ 18
Figura 4 - Microcontrolador PIC 16f877 ................................................................. 22
Figura 5 - Programa de teste do algoritmo PID ....................................................... 30
Figura 6 - Esquema para o teste do algoritmo PID .................................................. 31
Figura 7 - Representao do componente ADC0804 (Messias, 2006) .................... 32
Figura 8 - Esquema do ADC0804 ........................................................................... 35
Figura 10 - PIC 16F877A ........................................................................................ 37
Figura 9 - Esquema ADC interno PIC 16F877A ..................................................... 37
Figura 11 - Oscilador ............................................................................................... 38
Figura 12 - Grfico PWM com escrita analgica em 0 ........................................... 40
Figura 13 - Grfico PWM com escrita analgica em 64 ......................................... 40
Figura 14 - Grfico PWM com escrita analgica em 127 ....................................... 41
Figura 15- Grfico PWM com escrita analgica em 191 ........................................ 41
Figura 16 - Grfico PWM com escrita analgica em 255 ....................................... 42
Figura 17 - Declarao das variveis PID ............................................................... 42
Figura 18 - Variveis representativa do motor ........................................................ 43
Figura 19 - Varivel de controle .............................................................................. 43
Figura 20 - Definio das variveis ......................................................................... 44
Figura 21 - Algoritmo PID passo 1.......................................................................... 44
Figura 22 - Algoritmo PID passo 2.......................................................................... 45
Figura 23 - Algoritmo PID passo 3.......................................................................... 46
Figura 24 - Prottipo mo mecnica (microgenios, 2011) ...................................... 48
Figura 25 - Demisso da mo mecnica[3] ............................................................. 49
Figura 26 - Prottipo mo mecnica[3] ................................................................... 49
Figura 27 - Kit PICGenios PIC 18F V3 (eletroncabrasil) ....................................... 50
Figura 28 - Porta serial RS232................................................................................. 50
Figura 29 - Portas de expanso ................................................................................ 51
Figura 30 - Boto pressionado est no estado de programao ............................... 51
Figura 31 - Boto desapertado em modo de execuo. ........................................... 52

Figura 32 - Leds ....................................................................................................... 52


Figura 33 - Programa WinPIC800 ........................................................................... 53
Figura 34 - Programa WinPIC800 tela de Configurao do Hardware ................... 53
Figura 35 - Programa WinPIC800 escolha do PIC que ser utilizado..................... 54
Figura 36 - Construo fsica do projeto de controle PID ....................................... 55
Figura 37 - Motor Conectado ao Transistor IRF640 ............................................... 56
Figura 38 - Transistor IRF640 ................................................................................. 56
Figura 39 - Potencimetro ....................................................................................... 57

LISTA DE ILUSTRAO DE TABELAS

Tabela 1 - Smbolos de operadores aritmtico ........................................................ 25


Tabela 2 - Operadores binrios ................................................................................ 25
Tabela 3 - Descrio dos pinos do ADC0804 (Teixeira, 2009)............................... 33
Tabela 4 - Manual de configurao do AD do PIC 18FXX2 (microchip, 2001) .... 34

LISTA DE ILUSTRAO DE EQUAES

Equao 1 - Formula PID (Brom, 2012) ................................................................. 18


Equao 2 - Formula Proporcional (Brom, 2012) ................................................... 19
Equao 3 - Formula Proporcional .......................................................................... 19
Equao 4 - Formula Proporcional e Integral (Brom, 2012) ................................... 20
Equao 5 - Formula Proporcional e Integral ......................................................... 20
Equao 6 - Formula Proporcional Integral e Derivativa (Brom, 2012) ................. 20
Equao 7 - Formula Proporcional Integral e Derivativa ........................................ 21

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

5.2 - SENSOR DE MOVIMENTO ..................................................................... 32


5.3 ATIVANDO O ADC DO PIC .................................................................... 33
5.4 - MONTAGEM DO SENSOR DE MOVIMENTO ...................................... 35
5.5 - PIC 16F877A ............................................................................................... 37
5.6 - OSCILADOR .............................................................................................. 38
5.7 - MOTOR DC SIMPLES............................................................................... 39
5.9 - IMPLEMENTAO DO ALGORITMO PID UTILIZANDO PIC BASIC
......................................................................................................................................... 42
6 - TESTES FSICOS .............................................................................................. 47
6.1 - PROCESSO DE CONSTRUO DA MO MECNICA MODELO
ROBOTIC ARM EDGE OWI-535.................................................................................. 47
6.2 KIT PICGENIOS 18F V3.0 ........................................................................... 49
6.3 PROGRAMA DE GRAVAO WINPIC800 ............................................. 52
6.4 - PROCESSO DE GRAVAO DO PIC18F542 NO KIT PICGENIOS .... 55
6.5 - TESTE DO ALGORITMO PID UTILIZANDO POTENCIMETRO E
MOTOR DC. ................................................................................................................... 55
6.6 - PROCESSO DE CONTROLE DA BASE DA MO MECNICA ........... 58
7 CONCLUSES ................................................................................................. 58
REFERNCIAS BIBLIOGRFICAS .................................................................... 59

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

O objetivo principal deste projeto mostrar as formas de implementao de


sistemas de controles modernos utilizando um microcontrolador e um prottipo de mo
mecnica. Desta forma o projeto tem como foco a construo do algoritmo de controle
PID, e suas possveis simulaes utilizando software Proteus 7 e uma implementao
simulada utilizando programao Java. mostrado tambm as formas de implementao
fsica do algoritmo utilizando o kit PICGenios usando o microcontrolador PIC18F452 e um
motor DC simples.

1.2 - ORGANIZAO DO TRABALHO

O trabalho est organizado em sete sesses visando demonstrar todos os passos


para se construir um dispositivo com um nvel de automao.
O segundo captulo aborda os conceitos de Sistemas de Controle Modernos,
descrevendo as suas formas de atuao sobre dispositivos eletrnicos. E tambm ser
apresentado o conceito de Controladores Proporcionais, Integral e Derivativos com o
objetivo de explicar suas funes e suas respectivas frmulas.
No terceiro captulo, introduo linguagem BASIC para PIC, abordado de
maneira simples a estrutura da linguagem PIC BASIC, bem como seus aspectos mais
importantes ajudando assim na compreenso do algoritmo PID.
O quarto captulo sobre o algoritmo PID, abordado uma parte da sua
estrutura, que a traduo das frmulas matemticas proporcional, integral e derivativa
para a linguagem PIC BASIC. Neste captulo so comentadas todas as linhas do cdigo
explicando de forma detalhada o seu funcionamento.
No quinto captulo sobre as formas de implementao so abordados os meios
para simular o algoritmo PID. Neste captulo apresentado o esquema de um circuito

12

eletrnico contendo motor, microcontrolador, sensor de movimento e o oscilador para a


gerao do clock. Todos os componentes do circuito sero documentados.
O sexto captulo apresenta os testes fsicos, onde so descrita a forma de
implementao fsica mostrando os mtodos de inserir o algoritmo PID no kit PICGenios
PIC18F com a utilizao do programa WinPIC800 fornecido pela MICROCHIP, e a
construo do esquema fsico.
Para concluir, o stimo captulo mostrado as concluses e enfatizando os
pontos fortes e fracos deste projeto.

2 - SISTEMAS DE CONTROLE MODERNOS


Com o advento dos controladores modernos, foi possvel ter grandes avanos
no meio industrial favorecendo no crescimento do nmero de produtos fabricados com
maior qualidade, superando a produo utilizando a mo de obra humana. Muitos
processos que eram repetitivos e realizados por mo de obra humana, como por exemplo,
tampar a pasta de dente, que no necessitavam de funcionrios especializados, ou como
manusear produtos de alto teor qumico.
Com os novos sistemas de controladores modernos possvel controlar vrios
processos onde sua presena pode ser notada nas empresas de alimento controlando todo o
processo de manufatura incluindo caldeiras de presso e temperatura, em msseis de longo
alcance controlando sua posio referente s coordenadas que foram passadas e at mesmo
controlando a temperatura do ar condicionado.
Muitas empresas vm desfrutando dos benefcios desta tecnologia aumentando
a produtividade e qualidade de seus produtos. Por serem mquinas automticas seu
desempenho e sua velocidade no podem ser comparado a de um ser humano ocorrendo
desvalorizao da mo de obra no especializada.
Para que se possa construir e manipular sistemas de controle preciso ter uma
boa base de conceitos de eletrnica, matemtica, programao e o entendimento terico de
sistema de controle modernos. Isso se deve ao fato que cada dispositivo de controle
necessita de vrios componentes para seu funcionamento sendo eles componentes fsicos
como o prprio dispositivo eletrnico, formula matemticas que descrevem o estado do

13

dispositivo e algoritmos que fazem o relacionamento entre o dispositivo eletrnico e


matemtica.
Este captulo mostra as formas de sistemas de controle e sua possvel utilizao
dando uma maior viso sobre o assunto. Aborda tambm o mtodo de controle
Proporcional Integral e Derivativo muito utilizado em sistemas de controle de alta
preciso.

2.1 - SISTEMAS DE CONTROLE EM MALHA-FECHADA

O sistema de controle em malha-fechada tem o objetivo de controlar o estado


de dispositivos. Este sistema de controle tambm chamado de sistema realimentado, pois
o controlador esta sempre analisando a sada do dispositivo que esta sendo controlado.
Desta forma para cada leitura da sada do dispositivo o controlador dar uma resposta de
entrada para o dispositivo controlado, evitando ou prevendo erros atuais ou futuros.
Para ilustrar o conceito de controle em malha fechada, considere um motorista
em uma estrada onde a velocidade permitida de 80 km/h. Os dados de sada do carro
(Dispositivo) seria o velocmetro, enquanto o controlador do velocmetro seria o motorista
deste carro. O carro ao exceder a velocidade em uma decida informa no velocmetro a
velocidade de 97 km/h. Ao analisar os dados do velocmetro o motorista na funo de
controlador tem a ao de pisar o p no freio at que a velocidade atinja seus 80km/h,
podemos dizer que a sada do controlador seria o acionamento do freio para ajustando a
velocidade.
Geralmente, para que seja possvel a implementao desse processo, preciso
de algoritmos de controle que consigam interpretar o estado do dispositivo que esta sendo
controlado. Estes algoritmos na grande maioria so constitudos de funes contendo bases
matemticas. Como foi ilustrado acima podemos relacionar o crebro do motorista como
sendo o algoritmo em execuo a cada momento que este verifica o valor do velocmetro.

14

2.2 - SISTEMA DE CONTROLE EM MALHA-ABERTA

Pode-se dizer que no controle de malha-aberta a sada do dispositivo


controlado no tem influncia sobre o controlador, ou seja, se houver algum distrbio no
meio o controlador no faz o regulamento de sua sada. A cada entrada do controlador ha
uma resposta fixa para uma determinada ao, ou seja, a preciso do sistema sempre
depender de uma calibrao.
Um exemplo prtico seria a mquina de lavar roupa com o sistema em
malha-aberta, suas aes so baseadas em um determinado tempo, onde cada tempo bem
definido podendo ser dividido em molhar, enxaguar e lavar. A mquina no mede os sinais
de entrada, pois ao colocar uma s pea de roupa a mquina ira inserir a mesma quantidade
de gua que daria para lavar 30 peas de roupa.

2.3 - DIFERENAS ENTRE SISTEMA DE CONTROLE EM MALHA-FECHADA


E EM MALHA-ABERTA.

Os dois tipos de controles tm suas particularidades onde possvel destacar


pontos fortes e fracos. Uma das vantagens de se utilizar o sistema em malha-aberta seria a
fcil implementao e baixo custo, pois no envolvem algoritmos complexos de controle,
tendo como efeito um menor tempo de desenvolvimento e peas como sensores adicionais
podem ser descartados para estes sistemas. Sua utilizao abrange aparelhos que no
necessitam corrigir distrbios no meio controlado e sim seguir uma rotina preestabelecida
pelo controlador.
Para implementar um sistema de controle em malha-fechada necessrio a
utilizao de algoritmos complexos que utilizam formulas matemticas que tratam o estado
do dispositivo controlado e sensores que captam o estado do dispositivo. Desta forma o
custo para desenvolver este sistema pose ser mais alto, pelo fato da sua complexidade e
tempo dedicado. Porm, para aparelhos que necessitam buscar alto desempenho e preciso,
onde seu meio de atuao ocorre distrbios no estado do controle, necessrio que o
sistema seja em malha-fechada.
Utilizar um dos meios de controle define o tipo de ambiente que este aparelho
atua. O desempenho de atuao do dispositivo definido pelo tipo de algoritmo que o
controlador tem.
15

2.4 - SISTEMAS DE CONTROLE NUMRICO

Os sistemas de controle numrico so utilizados para interpretar um estado


fsico como presso, velocidade, temperatura e movimento e transform-lo
transform em um dado
numrico. A converso do estado fsico para uma
um representao numrica
mrica possvel por
meio de conversores digital - analgicos.
Os conversores digitais - analgicos tem um papel fundamental na
interpretao de estados fsicos.
fsico Seu funcionamento segue a seguinte linha de raciocnio:
raciocnio
para
ara cada grandeza fsica de um determinado estado pode ser relacionado um nvel eltrico
e, a cada nvel eltrico, pode ser interpretado com um valor binrio.
As informaes binrias so convertidas em variveis de estado, que so
analisadas pelo controlador que gera uma ao em resposta a esta varivel,
varivel podendo ser um
nvel de sinal eltrico.

2.5 - CONTROLADOR PID (PROPORCIONAL,


(PROPORCIONA INTEGRAL E DERIVATIVO)
DERIVATIVO

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.

Figura 1 - Operador de Caldeira

16

O operador da caldeira para controlar a sua temperatura sempre esta analisando


o termmetro da caldeira.
deira. Caso a temperatura da caldeira aumente o operador tem a ao
de fazer diminuir a vazo de gs, se a temperatura da caldeira abaixar o operador tem a
ao de abrir a vazo de gs. Este processo feito repetidamente pelo operador da caldeira,
de formaa que ao longo do processo o operador poderia se confundir,, ocorrendo erros no
processo de produo.
Com os surgimento dos microcontroladores e avanos na tecnologia, foi criado
o primeiro mtodo de controle o ON-OFF
OFF (Liga Desliga) que utilizado at hoje. Podemos
citar o ar-condicionado que l a temperatura ambiente, caso a temperatura no esteja
satisfatria o ar-condicionado
condicionado ligado; caso contrrio, ocorre o desligamento do mesmo.
Este
ste modo de controle se mostra muito ineficaz para ambientes que necessitam de um
estado constante, pois
ois o mtodo ON-OFF
ON
s atuaa no sistema quando seu estado mudar.
Para sanar os problemas
problema ON-OFF foram desenvolvidos
lvidos mtodos para aumentar
a preciso dos dispositivos utilizandoo os controladores proporcional, integral e derivativo.
Na figura 2 ilustrado o controle PID que controla a temperatura de uma caldeira
industrial.

Figura 2 - Controle de caldeira utilizando controlador PID

Com o grande avano da tecnologia os operadores de maquinas so


substitudos por controladores eletrnicos que tem a mesma funo de um operador
humanoo que controlar o estado da mquina.
mquina. Na figura 2 ilustrado um controlador PID,
sua funo controlar a temperatura da caldeira utilizando os dados do termmetro,
termm
desta
forma o controle abre ou fecha a vlvula de gs medida que
ue a temperatura se
desequilibra.
A implementao
o do controle PID, ocorre inserindo sobre um microcontrolador
micro
o algoritmo contendo a formula PID. utilizado quando o estado de um processo no pode
17

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.

Figura 3 - Diagrama em bloco do controle PID. [1]

A sua sada a soma de trs resultados diferentes, sendo ela a ao


proporcional, integral e derivativa. A formula abaixo representa o diagrama PID.

= + +

Equao 1 - Formula PID (Brom, 2012)

Quanto maior for o valor da constante mais rpido a chegado no ponto


desejado porem ir ocasionar uma maior oscilao no sistema.
O valor da constante tem que ser maior que 0.01 e menor que 1. Caso o
valor seja maior que 1 ocorrera instabilidade no sistema.
O valor de constante define a estabilidade do sistema, quanto maior seu
valor mais estvel o sistema, porem valores muito elevados podem desestabilizar o
sistema.
A ao proporcional busca a acelerao do processo de forma controlada
enquanto ao integral tenta corrigir as oscilaes geradas pela a ao proporcional. J
ao derivativa utilizada para acelerar e estabilizar o processo.

18

2.5.1 - CONTROLE PROPORCIONAL

Proporcional no dicionrio refere-se:

Que

tem

proporo;

que

est

em

proporo;

simtrico;

regular.Matemtica Relativo a uma proporo. [2]

O controle proporcional o mtodo mais simples para controlar um sistema,


busca uma acelerao de forma controlada. Seu objetivo chegar em um determinado
estado (SetPoint) com a mxima velocidade tentando corrigir os erros de desvios.
A correo do desvio dito proporcional ao erro, pois onde eu tenho a
diferena entre o valor ideal e o valor atual da varivel controlada.
Na ao proporcional tem-se:
=
Equao 2 - Formula Proporcional (Brom, 2012)

Para o entendimento desta ao proporcional ficaria da seguinte forma:


=
Equao 3 - Formula Proporcional

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

J o valor do SetPoint e EstadoAtual refere-se respectivamente ao valor do


estado a onde se quer chegar e o estado do dispositivo no momento.

2.5.2 - CONTROLE PROPORCIONAL E INTEGRAL

O controlador Proporcional Integral (PI) tem a funo de completar a funo


proporcional tentando fazer com que a sada fique perto do estado desejado removendo as
oscilaes indesejadas causadas pela ao proporcional.

= +

Equao 4 - Formula Proporcional e Integral (Brom, 2012)

O controle PI pode ser descrita da seguinte maneira considerando a equao 3:


= + + /100
Equao 5 - Formula Proporcional e Integral

O valor da constante define a quantidade de erro absoluto que vai ser


eliminado, valores maiores que 100% tentam eliminar um erro que no existe ocasionando
instabilidade no sistema.
2.5.3 - CONTROLE PROPORCIONAL INTEGRAL E DERIVATIVO

O controlador PID proporcional integral e derivativo rene as vantagens das


aes Proporciona, Integral e Derivativo. O controle PID pode ser representado como se
segue:

= + +

Equao 6 - Formula Proporcional Integral e Derivativa (Brom, 2012)

20

Esta equao pode ser simplificada da seguinte maneira considerando as


equaes 3 e 5:
= + + /100
Equao 7 - Formula Proporcional Integral e Derivativa

A ao derivativa tem a funo de estabilizar todo o sistema, desta maneira o


processo fique gil. O valor da constate ou constante derivativa influencia na
estabilidade do sistema, quanto maior seu valor maior a estabilidade do sistema, valores
muito altos para esta constante pode fazer com que o sistema fique instvel.

3 INTRODUO A LINGUAGEM PIC BASIC


A linguagem PIC BASIC foi desenvolvida para auxiliar a programao de
microcontroladores da MICROCHIP. Seu objetivo oferecer funes que auxilia a
programao de microcontroladores.
Muitos projetistas de circuitos adotam o PIC BASIC por ser uma linguagem
simblica de fcil entendimento. uma linguagem de fcil manuseio quando comparada a
linguagem assembly. Isso se deve ao fato de que cada funo do PIC BASIC encapsula um
bloco de cdigo em ASSEMBLY. Desta forma o programador no precisa ter muito
conhecimento sobre assembly, porm para manipular com preciso um microcontrolador o
bsico da linguagem assembly precisa ser assimilada.
Neste projeto foi utilizada a linguagem PIC BASIC pelo fato de aparentar
facilidade de programao. Outras linguagens poderiam ser adotadas como linguagem C a
qual apresenta flexibilidade programao.
Esta seo dedicada programao PIC BASIC com o objetivo de
documentar suas funes bsicas para o entendimento do projeto, tais como a utilizao de
variveis, rotinas e loops.

21

3.1 - VARIVEISDE I/O (ENTRADA E SADA)

As variveis de entrada e sada do PIC BASIC so utilizadas para enviar ou


colher dados do meio externo. Para cada porta do microcontrolador a uma varivel esttica
correspondente para o PIC BASIC. Na figura 4 possvel ver estrutura de um
microcontrolador PIC 16F877 com suas portas que vai ser utilizado nas simulaes
utilizando o programa Proteus 7.
As portas de entrada e sada do microcontrolador tm a funo de enviar e
receber dados externos de modo que estes dados sejam tratados. Para se pegar e enviar
dados para as portas do microcontrolador preciso declarar essas portas de forma correta
na programao PIC BASIC.
Algumas das portas do microcontrolador sero utilizadas para receber dados do
potencimetro e enviar dados de controle para o motor DC.
Na figura 4 referente ao retngulo vermelho pode-se visualizar 8(oito) portas,
onde cada pino tem o seu nome e o seu nmero, RB0, RB1, RB2, RB3, RB4, RB5, RB6,
RB7.

Figura 4 - Microcontrolador PIC 16f877

Para referenciar estas portas no PIC BASIC necessrio saber o nome da porta
e o seu nmero.
22

Exemplo:

portb.0 refere-se a porta RB0.


portb.1 refere-se a porta RB1.
portb.2 refere-se a porta RB2.

Para porta do tipo RD0 para se referenciar esta porta em PIC BASIC preciso
declarar portd.0.

3.2 - DECLARAO DE VARIVEIS

As variveis para microcontroladores so de trs tipos, bit, bytes e Word onde


cada uma delas comporta um valor mximo de bits.

O tipo bit s pode conter os valores 0 e 1


O tipo byte composto por 8 bits que s pode conter valores entre 0 a 255
O tipo Word composto por 16 bits que pode conter valores entre 0 a 65535

Abaixo podemos ver exemplo de declarao de uma varivel em PIC BASIC:

NomeVarBit VAR Bit

;declarando varivel do tipo Bit

NomeVaByter VAR Byte ;declarando varivel do tipo Byte

NomeVarWord VAR Word

;declarando varivel do tipo Word

Primeiramente se coloca o nome da varivel, em seguida declara se esse


nome ser uma varivel e logo depois informado o tipo desta varivel podendo ser bit,
byte ou Word.
Os valores que estas variveis podem receber so valores em hexadecimal,
decimal, octal ou binrio.
23

3.3 - CONSTANTES

Na linguagem PIC BASIC possvel declarar variveis constantes, para isso


preciso utilizar a diretiva CON. O objetivo de termos uma varivel constante o fato de
no podemos alterar seu valor. Sua sintaxe bem simples:

NomeConstante CON valor

3.4 - DEFINE

A diretiva define utilizada para manipulao de variveis relacionadas ao


microcontrolador. Sua funo criar variveis estticas com valores definidos.Um
exemplo prtico do uso desta diretiva define a definio do valor da freqncia do
microcontrolador utilizando a varivel Osc.

Define Osc 20

;Define o oscilador para o cristal de 20Mhz.

3.5 - OPERADORES ARITMTICOS

Os operadores aritmticos so essenciais para a programao em todas as


linguagens. No PIC BAISC segue a mesma simbologia para as operaes aritmticas como
adio (+), subtrao(-), multiplicao(*), diviso(/) e entre outros.
Na tabela 1, uma lista completa de todos os operadores predefinidos na
linguagem PIC BASIC.

24

Tabela 1 - Smbolos de operadores aritmtico

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

<<

Desloca bit esquerda

RER

Inversor de um bit

>>

Desloca bit direita

DIG

Valor de um dgito para


um nmero decimal

Igual

3.6 - OPERADORES BINRIOS

Os operadores binrios so utilizados para o tratamento de bits atravs de seus


operadores AND, NOR, OR e entre outros.
A tabela 2 mostra todos os operadores lgicos do PIC BAISC.

Tabela 2 - Operadores binrios

Operador

Descrio

&

AND Lgico

OR Lgico

XOR Lgico

NOT Lgico

&/

NAND Lgico

|/

NOR Lgico

^/

NXOR Lgico

25

3.7 - ESTRUTURA DE CONTROLE

As estruturas de controle so utilizadas em operaes lgicas, e so essenciais


para avaliar condies e estado de uma varivel. O objetivo de se ter uma estrutura de
controle avaliar um estado e mediante a este estado ocorrer uma determinada ao.
Exemplo:

IF Condio THEN
Cdigo...
ELSE
Cdigo...
ENDIF

3.8 - WHILE

A funo da estrutura de loop while repetir um determinado trecho de cdigo


at encontrar uma condio falsa.

Segue a sintaxe do WHILE

WHILE Condio
Cdigo....
WEND

3.9 - FOR

A funo da estrutura de repetio for baseada em uma condio de uma


varivel e um contador. Quando esta varivel excede a condio estabelecida a repetio
finalizada.

26

Sintaxe:

FOR x=1 TO 5
Cdigo...
NEXT

No cdigo acima ocorrera 5 loops, quando x for igual a 6, a condio no ser


satisfeita e o loop finalizar.

3.10 - SUB-ROTINAS

As sub-rotinas so responsveis por executar trechos de cdigos chamados pela


palavra reservada GOTO. As sub-rotinas so diferentes de variveis, pois no guardam
nenhuma informao. So muito utilizadas pois com ela possvel cria funes. Um
exemplo simples de rotina pode ser visto abaixo:

InicioRotina:

;Sub-Rotina

Cdigo;
GOTO InicioRotina

;GOTO inicia a sub-rotina 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

1 erro = setPoint - PosicaoAtual;


2
3 Proporcional = (kP*erro);
4 Integral = (Integral + (erro/divErro)) * kI;
5 Derivativa = ((erro-erro_ anterior)/divErro) * kD;
6
7 erro_anterior = erro;
8
9 PID = Proporcional + Integral + Derivativa;

Para que seja possvel entender o cdigo acima preciso entender o que cada
varivel representa e como so obtidos alguns dados.

Linha 1:

A varivel erro obtm a diferena entre a posio de chegada ou setPoint e a


posio atual. Lembrando que a posio atual obtida na sada do componente ADC
(Conversor Digital Analgico).

Linha 3:

Nesta Linha a varivel Proporcional recebe o valor de kP multiplicado pelo


erro. O valor de kP a representao da constante proporcional e seu valor utilizado em
todo o processo. Quanto maior o valor de kP menor a preciso de chegada no setPoint,
porm, a preciso da chegada no setPoint ser afetada, ocorrendo a ultrapassagem no
ponto de setPoint acarretando em oscilaes. Caso o valor de kP tenda a zero menor a
velocidade de chegada no setPoint, tendo desta maneira uma maior preciso de chegada ao
setPoint.

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:

A varivel erro_anterior recebe o resultado do erro absoluto;

Linha 9:

Sabendo que o controlador PID soma de trs grandezas sendo elas


Proporciona, Integral e Derivativa, a varivel PID recebe a soma destes trs valores. Seu
valor representa o estado atual de um dispositivo fsico. Quanto maior o valor da varivel
PID maior ser a distncia do setPoint e quanto mais prximo a varivel PID estiver de
29

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.

Figura 5 - Programa de teste do algoritmo PID

A primeira barra deslizante representa a posio atual. A segunda barra


deslizante representa o setPoint ou ponto de chegada. Nos campos de entrada se encontra
os valores de kP (Constante Proporcional), kI (Constante Integral) e kD (Constante
Derivativa). Abaixo dos valores de entrada, so mostradas as sadas de cada varivel sendo
ela Proporcional, Integral e Derivativa.

30

5 SIMULAO NO SOFTWARE PROTEUS


Para que seja possvel a implementao do algoritmo PID foi preciso a
utilizao do software PROTEUS 7. O objetivo deste software simular esquemas
eletrnicos de uma forma simples e prtica.
Esta captulo mostrar a construo do esquema eletrnico utilizando o software
PROTEUS 7 para simular o algoritmo PID. Neste processo so mostrados os
componentes que foram utilizados e sua funo no esquema eletrnico.

5.1 - ESQUEMA DE CIRCUITO - MO MECNICA

Para representar o esquema de circuito da mo mecnica, foi utilizado o


Software Proteus 7. Neste software possvel montar e testar circuitos. Logo abaixo temos
a representao esquema da mo mecnica.

Figura 6 - Esquema para o teste do algoritmo PID

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.

5.2 - SENSOR DE MOVIMENTO

Os sensores so dispositivos fsicos que capturam estmulos do ambiente


externo como presso, movimento, temperatura, entre outros. Ao captar um estimo, sua
funo transformar essa informao em um dado numrico. Os sensores so utilizados
para monitorar os diversos tipos de processo e com seu auxilio possvel que uma
mquina consiga se orientar sem a ajuda humana. Sua aplicao abrange diversas reas
como, industrial e robtica.
Para se implementar o controlador PID, preciso que haja um sensor
monitorando o estado atual do motor. Assim possvel analisar o estado atual do
dispositivo, ou seja, sua posio. Deste modo possvel corrigir o estado de uma mquina
quando ocorrer uma alterao em seu estado.
Um meio simples para construir um sensor de posio seria a utilizao de um
conversor analgico digital 0804, capacitor e um potencimetro 1k.
O conversor Analgico-Digital ADC0804 um Circuito Integrado da National
Semicondutores, sua funo converter uma amostra analgica entre 0 e 5v, em um valor
binrio de 8 bits. A figura 7 mostra a representao do ADC 0804:

Figura 7 - Representao do componente ADC0804 (Messias, 2006)

Na tabela 3 na primeira coluna referente a cada pino do ADC 0804 com sua
respectiva funo:
32

Tabela 3 - Descrio dos pinos do ADC0804 (Teixeira, 2009)


VIN(+) e VIN(-)

Entradas analgicas diferenciais

DB0 a DB7

Sadas digitais

/CS (entrada)

Seleo do Chip quando em nvel "0"

/RD (entrada)

Habilita leitura disponibilizando os dados na sada quando em nvel "0"

/WR (entrada)

Comanda incio de converso quando em nvel "0"

CLOCKIN

Terminal de malha RC

(entrada)
/INTR (sada)

Sinal indicando fim de converso quando comutado para nvel "0"

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)

Segundo terminal para gerao de clock interno

V+ ou VREF

Tenso de alimentao

5.3 ATIVANDO O ADC DO PIC

ADC

conversor

analgico-digital

tem

funo

de

gerar

uma

representao digital a partir de uma grandeza analgica. Alguns microcontroladores PIC


possuem um ADC interno que pode ser ativado via programao. Para configur-lo
preciso modificar as variveis reservadas ADCON1 do PIC BASIC que a representao
do registrador adecon1 do PIC.
A varivel ADCON1 do tipo byte tendo oito posies que podem ser
configuradas. A configurao do ADC deste projeto segue da seguinte forma:

ADCON1 = %00000100

33

Considerando o valor da varivel ADCON1 o bit da posio 7 foi configurado


para 0 para que o resultado dos valores de sada seja justificado a direita.
O valor do bit da posio 6 da varivel ADCON1 responsvel pela escolha da
categoria de converso de clocks, ou seja, define a velocidade de atualizao da converso
do ADC, neste caso o bit 6 foi configurado com valor 0.
Os valores do bit 5 ao 4 no so utilizados e os valores dos bits entre 3 ao 0 da
varivel ADCON1 so referentes as entradas do microcontrolador PIC 18F452 dos pinos
da porta AN0, AN1 at AN7. O valor da posio dos bits entre 3 ao 0 define o tipo de
entrada da porta, sendo uma entrada analgica ou uma entrada digital. Na configurao do
bit 3 ao 0 foi dado o seguinte valor 0100 definindo as portas AN0, AN1 e AN3 como
entrada analgica e as portas restantes como entrada digital.
Para a configurao de cada bit da varivel ADCON1 foi utilizada as
informaes fornecidas pela Data Sheet do PIC 18FXX2. A tabela 4 mostra uma parte da
documentao da configurao do registrado ADCON1.

Tabela 4 - Manual de configurao do AD do PIC 18FXX2 (microchip, 2001)

34

Para pegar os valores do ADC do microcontrolador necessrio chamar a


funo ADCIN que tem a seguinte sintaxe:

ADCIN 0, ValorADC

O primeiro parmetro da funo ADCIN se refere porta AN0 do


microcontrolador, caso este parmetro tenha o valor 1 obtm os valores da porta AN1. O
segundo parmetro ValorADC se refere ao valor de converso do ADC, neste projeto o
tipo da varivel ValorADC dada como byte .
5.4 - MONTAGEM DO SENSOR DE MOVIMENTO

Para montar o sensor de movimento no software de simulao PROTEUS


foram utilizados um potencimetro de 1k , um capacitor e um conversor analgico digital
ADC0804. O esquema pode ser visualizado na figura 8.

Figura 8 - Esquema do ADC0804

35

O processo para converter a sada do potencimetro obtido posio atual do


motor em representaes binrias, preciso compreender as operaes envolvendo os
pinos WR, RD, CLK IN, INTR e entre outros pinos do ADC0804.
O pino WR junto com o pino INTR, quando ativados, faz o processo de
converso do sinal. Na execuo do algoritmo PID estes pinos devem ser atualizados
constantemente.
O pino RD ao ser ativado coloca os dados lidos no barramento das portas
DB1,DB2... DB7.
Os pinos VIN- e VIN+ coletam as faixas de tenso do potencimetro. Estes
pinos no deve ser excedida uma voltagem maior que 5 Volts.
O pino CLK IN e CLK R so responsveis pelo clock interno do ADC, sua
funo captar o tempo de clock e converter este tempo em um valor binrio.
[...] Os pinos A GND e D GND tem a funo de eliminar rudos, sendo terra
analgico (A GND) est ligado ao cho da fonte do sinal analgico e digital terrestre (D
GND) est ligado terra da fonte Vcc. (S.Shet, 2009)
O pino 1 CS utilizado para ativar o ACD, em nvel de tenso baixo o ADC
ativado; em nvel de tenso alta o ADC desligado.
O ADC 0804 pode converter nveis de tenso de 5Volts em at 255 unidades
sendo de 0 a 127 nmeros positivos e -128 a -1 nmeros negativos. Para que o ADC
converta somente nmeros positivos, foi adotada uma tenso na entrada do potencimetro
de 2,5V. Desta forma o ADC ira converter a tenso em nmeros entre 0 a 127.
Outra forma de se montar o sensor de movimento, seria a utilizao do
conversor analgico-digital interno do PIC 16F877A. Sua montagem bem simples, para
que funcione preciso configurar os registradores do PIC 16F877A, isso feito por meio
da sua programao, na seo 5.3 foi mostrado forma de configurar o conversor
analgico-digital.

36

Figura 9 - Esquema ADC interno PIC 16F877A

Podemos notar na figura 9 que o pino central do potencimetro com relao ao


pino central chamado de cursor,
cursor esta ligado ao pino A0 do PIC 16F877A. A configurao
do pino A0 essencial para que possa ler corretamente o estado do potencimetro. Sua
voltagem de 5 voltes e sua base esta aterrada.

5.5 - PIC 16F877A

O PIC 16F877 um microcontrolador da famlia de 8 bits e ncleo de 14 bits


fabricado pela Microchip Technology. Sua funo no projeto de vital importncia, sendo
o executor de todo o processo.

Figura 10 - PIC 16F877A

37

As caractersticas mais importantes do PIC 16F877A so:


- Sua freqncia de operao de clock vai at 20 MHz resultando em uma
velocidade de processamento de 5 milhes de instrues por segundo. Isso se deve ao fato
de que para cada instruo dentro do PIC so necessrio 4 operaes de clock.
- Sua faixa de alimentao pode variar entre 2 Volts a 5,5 Volts. No caso do
projeto foi adotado uma voltagem de 5 Volts.
- Para armazenar os programas o PIC 16F877A contm uma memria Flash
com 8k linhas sendo cada linha com 14 bits de tamanho. Tambm contem uma memria
EEPROM de 256 bytes e uma memria RAM com 368 bytes.
- composto por conversor analgico-digital de 10 bits de resoluo e 8 canais
de entrada.
Para mais detalhes do funcionamento do PIC 16F877A como sua estrutura,
configurao e funes, basta acessar o documento no site da MICROCHIP buscando o
Data Sheet PIC 16F87X. (microchip, 2001)

5.6 - OSCILADOR

O PIC 16F877A consegue operar em uma freqncia mxima de 5MIPS


(milhes de instrues por segundo) , onde cada instruo consome 4 clock. Para que
podemos utilizar a sua freqncia mxima, foi utilizado na simulao do PROTEUS um
oscilador de 20 MHz.

Figura 11 - Oscilador

38

5.7 - MOTOR DC SIMPLES

Para testar o algoritmo PID foi preciso a utilizao de um motor DC ou motor


de corrente continua. O motor DC serve para testar o funcionamento do algoritmo PID na
prtica de forma a se chegar perto do setPoint, o motor tem que reduzir a sua velocidade;
caso a posio atual esteja longe do setPoint, o motor acelerado.

5.8 PWM PULSE-WIDTH MODULATION

Antes de analisar o algoritmo PID preciso entender o funcionamento PWM e


sua importncia neste projeto.
O PWM pode ser definido com Modulao por Largura de Pulso (MLP) mais
conhecida do ingls PWM (Pulse-Width Modulation). Sua funo gerar uma transferncia
de potncia para o fio. Essa potncia pode ser determinada em nveis de tenses baixas e
altas geradas em um determinado tempo.
Na linguagem PIC BASIC existe a funo PWM que recebe trs parmetros. A
sintaxe da funo PWM a seguinte:

PWM PORTA, LARGURADEPULSO, CICLO

O primeiro parmetro se refere porta do microcontrolador que o PWM utiliza


para a gerao de largura de pulso. O segundo parmetro se refere quantidade de largura
de pulso que o PWM gera, quanto maior for seu valor maior a quantidade de pulso
gerado pelo PWM. O terceiro parmetro se refere quantidade de ciclos que o PWM gera
ao atuar sobre a porta do microcontrolador. O primeiro e segundo parmetros so do tipo
byte j o terceiro parmetro do tipo Word.
O mtodo PWM tem a funo de controlar a potncia do motor DC atravs de
picos de tenses geradas em um ciclo de tempo. No grfico da figura 12 possvel analisar
o funcionamento do PWM. A barra horizontal representa a quantidade de ciclos e a barra
vertical esta representando a voltagem gerada pelo PWM.

39

Figura 12 - Grfico PWM com escrita analgica em 0

No grfico da figura 12 representa o PWM quando sua Largura de Pulso esta


em 0%, ou seja, no gera nenhum pico de energia na sada do pino. Neste caso o motor DC
encontra-se em repouso. Para simular este estado no PIC BASIC so passados os seguintes
valores de parmetros para o PWM:

Porta

= porta.0 //Escolhe a porta porta.0 PIC 16F877A

LarguraPulso = 0

//Valor que vai de 0 255

Ciclo

//Corresponde apenas um nico ciclo do PWM

=1

PWM(Porta,LarguraPulso, Ciclo)

Figura 13 - Grfico PWM com escrita analgica em 64

No grfico da figura 13 o valor do ciclo de trabalho do PWM de 25%. Neste


estado possvel notar uma leve movimentao do motor DC. Para cada ciclo possvel
notar uma potncia de 25% de atuao, e o restante 75% seria a queda de potncia. Para

40

simular este estado no PIC BASIC so passados os seguintes valores de parmetros para o
PWM:

Porta

= porta.0 //Escolhe a porta porta.0 PIC 16F877A

LarguraPulso = 64

//Valor que vai de 0 255

Ciclo

//Corresponde apenas um nico ciclo do PWM

=1

PWM(Porta, LarguraPulso, Ciclo)

Figura 14 - Grfico PWM com escrita analgica em 127

Figura 15- Grfico PWM com escrita analgica em 191

41

Figura 16 - Grfico PWM com escrita analgica em 255

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)

5.9 - IMPLEMENTAO DO ALGORITMO PID UTILIZANDO PIC BASIC

O algoritmo PID tem como base implementar as formulas proporcional,


integral e derivativa como mtodo de controle. Para a implementao e compilao do
algoritmo PID foi utilizado o compilador MicroCode Studio disponvel (mecanique).
Abaixo ser apresentada toda a estrutura do algoritmo PID tentando buscar o
mximo de clareza possvel.

Figura 17 - Declarao das variveis PID

Nas linhas 2 at 14 foram declaradas as variveis que utilizadas pela formula


PID. A varivel setPoint corresponde a varivel de posio do destino ou objetivo desejado
42

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.

Figura 18 - Variveis representativa do motor

No trecho de cdigo da figura 16 foi definido que para cada porta D e B de


sada do PIC 16F877A tem uma varivel correspondente ao motor e seu tipo de rotao.
Como se pode ver na linha 15 existe a varivel MOV_LEFT_BASE1 que representa a
porta D0 do PIC 16F877A. Toda vez que esta porta estiver em alta o motor da base ir se
movimentar para esquerda como se pode ver MOV_LEFT ou movimento esquerda.

Figura 19 - Varivel de controle

43

No trecho de cdigo da figura 19 foram declaradas quatro variveis de


controle. Elas so usadas no comeo da execuo do algoritmo. Sua funo ser conhecida
nos trechos de cdigo da figura 21 e 22.

Figura 20 - Definio das variveis

No trecho de cdigo da linha 36 a 41 da figura 20 foram definidas as


constantes. Essas variveis, preciso ser definidas antes de colocar o algoritmo em
execuo. Lembrando-se que a varivel kI a constante Integral no pode ser maior que
100. Caso a constante kI seja maior que 100, pode ocorrer passagem do pondo desejado ou
setPoint.
Os valores inseridos em kP, kI e kD so valores que definiram a preciso e
velocidade de chegada ao setPoint. Quanto maior os valores de kP, kI e kD menor sua
preciso e maior ser a velocidade de chegada ao setPoint. Quanto menor for os valores de
kP, kI e kD maior ser a preciso e menor ser a velocidade de chegada ao setPoint.

Figura 21 - Algoritmo PID passo 1

44

No cdigo da figura 21 foi declarado uma estrutura de controle IF que faz a


comparao da varivel ControlePWM. Essa estrutura foi criada para que futuramente seja
possvel calcular o valor da posio do dispositivo quando este estiver no seu estado
inicial, ou seja, PosicaoAtual seja igual a zero.
Na primeira chamada da rotina Inicio (linha 47) o controle IF (linha 49)
considerara verdadeira a comparao, pois a varivel ControlePWM igual a zero. Na
linha 50, a varivel de PosicaoAtual atualizada, recebendo o valor de posio zero. Na
linha 51 a varivel ControlePWM recebe o valor 1 para que na segunda e demais chamada
da rotina Inicio, na estrutura IF ao ser comparado a varivel ControlePWM retorne falso e
caia dentro da estrutura ELSE.
Na estrutura ELSE (linha 51) referente s linhas 53 54 utilizado para
atualizar o estado o ADC 0804. Na linha 53 a porta E0 do PIC 16F877A que est
conectada aos pinos WR e INTR ativado. Desta forma o ADC 0804 l o sinal de
entrada do potencimetro que logo depois disponvel no barramento da porta D do ADC.
Na linha 54 feito uma pausa de 5 milissegundos com objetivo de forar a porta D do PIC
ficar ativo. Na linha 55 a porta E0 do PIC fica desativada com objetivo de parar a leitura
do ADC.
Para pegar o estado da posio do potencimetro preciso pegar a sada das
portas D do ADC. As portas D do ADC esto conectadas diretamente as portas C do PIC
16F877A como podemos ver na figura 6. Na linha 55 a varivel PosicaoAtual pega o valor
da varivel PORTC (representa todos os pinos C do PIC 16F877A) obtendo o assim o
estado atual do potencimetro.

Figura 22 - Algoritmo PID passo 2

Na figura 22 inserido a formula PID, j comentado na seo 4.

45

Figura 23 - Algoritmo PID passo 3

No bloco de cdigo da figura 23 foi criada uma estrutura de controle IF para


calcular o correspondente valor PID para cada posio para cada unidade de potncia do
PWM. Na primeira chamada da rotina Inicio a varivel calcValInicioPWM (linha 44) est
com valor de atribuio em zero, ao ser comparado pela estrutura de controle IF da linha
nmero 73 ter como valor verdadeiro. Na linha 74 a varivel unPWM guarda o valor
correspondente a uma unidade de posio para o valor de PID. Exemplo:
Se o valor PID da posio inicial for igual a 12700 qual o valor para cada
unidade da minha posio do meu potencimetro?
Basta pegar o valor PID e dividir pela potncia do meu PWM que 255 desta
forma teramos:
unPWM = 25500/255
unPWM = 100

Pode-se concluir que para cada unidade de fora do PWM obtm-se um


correspondente PID = 100.
Logo depois na linha nmero 75 a varivel calcValInicioPWM atribuda um
valor 1. Desta forma ao se chamar rotina Inicio pela segunda e demais vezes a estrutura
IF da linha 73 retorna falso caindo dentro da estrutura ELSE.
Dentro da estrutura ELSE (linha 76) correspondente a linha 77 a varivel
valPWM recebe o valor de PWM com a diviso do valor PID pela unPWM (Unidade
PWM).

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.

6.1 - PROCESSO DE CONSTRUO DA MO MECNICA MODELO ROBOTIC


ARM EDGE OWI-535.

Para desenvolver o projeto, foi realizada a compra do kit Mo Mecnica da


marca ROBOTIC ARM EDGE OWI-535. O kit constitudo de 5 motores DC, base para
47

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.

Figura 24 - Prottipo mo mecnica (microgenios, 2011)

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

Figura 25 - Demisso da mo mecnica[3]

O kit acompanha um controle que ligado diretamente uma placa atravs de


um cabo. A placa responsvel por gerenciar a energia das baterias para os motores e
conectar os motores ao controle remoto.

Figura 26 - Prottipo mo mecnica[3]

Seu peso pode chegar a 656 gramas e pode levantar objetos com peso Maximo
de 100 gramas.

6.2 KIT PICGENIOS 18F V3.0

O kit PICGenios 18F V3.0

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.

Figura 27 - Kit PICGenios PIC 18F V3 (eletroncabrasil)

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:

Figura 28 - Porta serial RS232

So disponibilizadas 5 portas de expanso para o microcontrolador


correspondendo as portas PORTA, PORTB, PORTC e PORTD. No projeto, estas portas de
50

expanso sero utilizadas para a conexo e controle do dispositivo. Na figura 29


mostrado as portas de expanso do microcontrolador:

Figura 29 - Portas de expanso

O processo de gravao e execuo do programa utilizado uma chave com o


nome Prog/Run representado por dois leds vermelho demonstra o processo de
programao e o verde o processo de execuo. Para a gravao do microcontrolador
preciso que a chave esteja ligada, desta forma o led vermelho fica aceso indicando que o
kit estar pronto para receber o programa. Para executar o programa preciso desativar a
chave fazendo com que o led verde fique aceso indicando que o kit estar rodando o
programa. A Figura 30 mostra a chave Prog/Run do kirPICGenios:

Figura 30 - Boto pressionado est no estado de programao

51

Figura 31 - Boto desapertado em modo de execuo.

O kit tambm disponibiliza 16 leds que representam as portas PORTD e


PORTB do microcontrolador. Esses leds so muito utilizados para ver os resultados das
sadas das portas do microcontrolador. Os leds so representados na figura 32.

Figura 32 - Leds

6.3 PROGRAMA DE GRAVAO WINPIC800

programa

WinPIC800

V3.64H

utilizado

para

gravao

de

microcontroladoresPICs, este programa gratuito e esta disponvel em (winpic800) .No


processo de gravao so utilizados uma das entradas do computador como porta serial,
porta paralela ou USB. A tela inicial do WINPIC800 mostrada na figura 33.

52

Figura 33 - Programa WinPIC800

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.

Figura 34 - Programa WinPIC800 tela de Configurao do Hardware

Estas configuraes foram fornecidas pelo fabricante do Kit PICGenios em um


tutorial. Esta configurao garante que o WinPIC faa a comunicao com Kit PICGenios
53

possibilitando a sua programao. O prximo passo conhecer os botes na janela inicial


do WinPIC.
Os primeiros passos para a configurao da janela inicial a escolha do PIC
que ser utilizado. No caso do projeto utilizado o PIC 18F452, desta forma preciso
escolher a famlia que o PIC pertence e logo depois o tipo do PIC que ser trabalhado.

Figura 35 - Programa WinPIC800 escolha do PIC que ser utilizado

Boto Abrir tem a funo de abrir o cdigo fonte com extenso .HEX

No processo de gravao preciso carregar o arquivo que foi compilado pelo


MicroCode Studio. Para isso basta clicar no boto abrir e localizar o cdigo fonte do
projeto , desta forma o cdigo ser carregado dentro do WinPIC.

Boto programar tudo usado para o envio do cdigo fonte .HEX

Com o cdigo carregado preciso envi-lo para o microcontrolador, isto feito


clicando no boto programar tudo. Com este processo vai aparecer uma tela com o status
do envio do cdigo fonte.

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

6.4 - PROCESSO DE GRAVAO DO PIC18F542 NO KIT PICGENIOS

Para que seja possvel executar um programa no microcontrolador preciso ter


o cdigo compilado pelo compilador, neste caso o MicroCode Studio. O arquivo
compilado com a extenso .HEX tem que ser aberto pelo WinPIC800 que estar
configurado para o kit PICGenios. O cabo serial RS232 ser conectado ao computador
junto ao kit PICGenios. No kit o boto PROG/RUN precisa estar pressionado para que
ative o modo de gravao ocasionando o acendimento do led vermelho. Logo em seguida
basta gravar o cdigo que esta carregado no WinPIC800 clicando no boto programar tudo.

6.5 - TESTE DO ALGORITMO PID UTILIZANDO POTENCIMETRO E


MOTOR DC.

Para a implementao do algoritmo PID foi utilizado um motor DC simples,


um potencimetro, um componente IRF640 e o kit PICGenios junto com o
microcontrolador PIC 18F452. Na figura 36 possvel visualizar a construo fsica do
projeto.

Figura 36 - Construo fsica do projeto de controle PID

55

O projeto referente figura 36 tem o mesmo esquema da figura 6 da seo 5.1


com apenas duas modificaes, como a alterao do microcontrolador PIC 16F877 para o
microcontrolador PIC 18F452 e insero do transistor IRF640.
Para que seja possvel entender o que foi feito na figura 36 preciso descreve
as ligaes feitas entre o potencimetro e o motor junto ao kit e suas portas. Na figura 37
mostrado o motor DC conectado ao transistor.
O motor DC tem a funo de mostrar o comportamento do algoritmo PID
conforme a sada dos dados gerados pelo potencimetro. No projeto, poderia ter
considerado outras formas de ver o comportamento do algoritmo PID como na regulao
da temperatura de um dispositivo.

Figura 37 - Motor Conectado ao Transistor IRF640

O transistor IRF640 constitudo de trs entradas, como pode ser visto na


figura 38:

Figura 38 - Transistor IRF640

56

A funo do IRF640 permitir a passagem de energia do pino central para o


pino 3 quando o pino 1 se encontrar e um nvel de tenso alta, caso o nvel de tenso do
pino 1 esteja em baixa no ocorre passagem de energia.
O pino 1 do IRF640 esta conectado a portd.0 da porta de extenso do kit
PICGenios que responsvel por enviar os pulso do PWM. Desta forma quando o PWM
enviar vrios pulsos de tenso para esta portd.0 o IRF640 vai ativar e fechar a energia da
segunda entrada do IRF640.
O pino central do IRF640 est ligado diretamente entrada do motor DC, e a
segunda entrada do motor DC esta ligada ao fio terra. Deste modo ao ser ativado o
primeiro pino do IRF640, ocorrendo passagem de uma corrente de energia de forma a
ativar o motor DC. O potencimetro pode ser visto na figura 39 sua funo servir como
sensor de movimento.

Figura 39 - Potencimetro

A funo do potencimetro oferecer uma resistncia a passagem de energia


de forma que ao girarmos a sua base uma quantidade de corrente que vai passar no pino
central de forma que sua quantidade de energia pode ser nula ou total. O potencimetro
constitudo de trs entradas onde as duas entradas laterais so conectadas ao fio terra e a
outra sendo conectada a energia. Os pinos laterais do potencimetro esto ligados nas
portas de extenso do kit PICGenios que so VCC que a porta que fornece uma energia
de 6 volts e GND que seria o fio terra.
O pino central do potencimetro esta ligado a porta.0 que faz a leitura do valor
da teno do potencimetro e transforma em dados numricos. A configurao da porta.0

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

acelerado e vai parando a medida que o potencimetro chegue perto do setPoint.

6.6 - PROCESSO DE CONTROLE DA BASE DA MO MECNICA

Para que seja possvel controlar a base da mo mecnica utilizando o controle


PID, preciso fazer a conexo entre a base da mo mecnica junto ao potencimetro.
Considerando o potencimetro no seu estado inicial em zero e conectado corretamente a
base da mo mecnica e sendo o estado de setPoint igual a 100 onde o estado do
potencimetro pode chegar de 0 127. Ao ser girado a base da mo mecnica, o
potencimetro acompanha o seu estado, modificando gradativamente sua posio, quanto
mais perto do estado desejado ou setPoint, menor a gerao da largura dos pulsos do
PWM. Deste modo, quando o valor do potencimetro est em zero, o sistema comea a
acelerar e medida que o potencimetro se aproxima do setPoint ocorre uma
desacelerao gradual.

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

As simulaes feitas pelo programa PROTEUS foram fundamentais para o


entendimento inicial do comportamento PID sobre um motor DC. Com ele foi possvel
entender o processo de gravao do PIC e prever o comportamento do algoritmo PID sobre
o motor DC.
No processo de testes fsicos ocorreram grandes dificuldades como a insero
do algoritmo PID no microcontrolador PIC 18F542 pelo fato de fazer a configurao
manual do programa WinPIC800. Todo o processo ficou claro com a utilizao do tutorial
fornecido pelo fabricante do Kit PICGenios, mostrando o processo de gravao do PIC.
Nas simulaes e nos testes fsicos o controlador PID mostrou-se eficiente. As
aes proporcional, integral e derivativa apresentaram o comportamento esperado no
controle do sistema.
Para o controle de dispositivos que tenham contato com objetos fsicos o
controle PID seria uma parte da soluo, a outra parte seria a utilizao de controle por
viso computacional utilizando a biblioteca OpenCV.

REFERNCIAS BIBLIOGRFICAS

Brom, T. (03 de 01 de 2012). Project 2: Elevator Simulator Part A. Acesso em 02


de

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