Você está na página 1de 5

14/02/2018 Tudo sobre: PID - Controle Proporcional Integral Derivativo - Robô Livre

Conteúdos
Eventos

Buscar conteúdos...

Entrar

Entrar

Conectar com Facebook

OU

E-mail ou usuário
Seu e-mail ou usuário
Senha
senha Esqueceu sua senha?

Lembrar meus dados Não estou em um computador público


entrar

Novo por aqui? Crie uma conta!

Editar Conteúdo
Seguir conteúdo

Reportar problema

Geral
0 Imagens
0 Vídeos
0 Links
0 Documentos

1 Conteúdos relacionados
1 Seguidores

http://www.roboliv.re/conteudo/pid-controle-proporcional-integral-derivativo 1/5
14/02/2018 Tudo sobre: PID - Controle Proporcional Integral Derivativo - Robô Livre

Histórico de colaborações

Início /
Conteúdos /
PID - Controle Proporcional Integral Derivativo

PID - Controle Proporcional Integral Derivativo


Seguir conteúdo Útil (0) Inspirador (0) Incrível (0)

O PID é uma técnica de controle malha fechada. Ele tem como saída a somatória de três fatores:
- Proporcional (quanto mais longe do alvo, maior o erro, maiores são os incrementos)
- Integral (diminui as oscilações quando ocorrem variação bruscas)
- Derivativo (evita previamente que o desvio se torne maior)

O site embarcados possui um excelente artigo sobre o tema.

Exemplo de um código retirado do Site Embarcados:

1. unsigned long lastTime;


2. double Input, Output, Setpoint;
3. double ITerm, lastInput;
4. double kp, ki, kd;
5. int SampleTime = 1000; //1 sec
6. double outMin, outMax;
7. void Compute()
8. {
9. unsigned long now = millis();
10. int timeChange = (now - lastTime);
11. if(timeChange>=SampleTime)
12. {
13. /*Compute all the working error variables*/
14. double error = Setpoint - Input;
15. ITerm+= (ki * error);
16. if(ITerm> outMax) ITerm= outMax;

http://www.roboliv.re/conteudo/pid-controle-proporcional-integral-derivativo 2/5
14/02/2018 Tudo sobre: PID - Controle Proporcional Integral Derivativo - Robô Livre

17. else if(ITerm< outMin) ITerm= outMin;


18. double dInput = (Input - lastInput);
19. /*Compute PID Output*/
20. Output = kp * error + ITerm- kd * dInput;
21. if(Output > outMax) Output = outMax;
22. else if(Output < outMin) Output = outMin;
23. /*Remember some variables for next time*/
24. lastInput = Input;
25. lastTime = now;
26. }
27. }
28. void SetTunings(double Kp, double Ki, double Kd)
29. {
30. double SampleTimeInSec = ((double)SampleTime)/1000;
31. kp = Kp;
32. ki = Ki * SampleTimeInSec;
33. kd = Kd / SampleTimeInSec;
34. }
35. void SetSampleTime(int NewSampleTime)
36. {
37. if (NewSampleTime > 0)
38. {
39. double ratio = (double)NewSampleTime
40. / (double)SampleTime;
41. ki *= ratio;
42. kd /= ratio;
43. SampleTime = (unsigned long)NewSampleTime;
44. }
45. }
46. void SetOutputLimits(double Min, double Max)
47. {
48. if(Min > Max) return;
49. outMin = Min;
50. outMax = Max;
51.
52. if(Output > outMax) Output = outMax;
53. else if(Output < outMin) Output = outMin;
54. if(ITerm> outMax) ITerm= outMax;
55. else if(ITerm< outMin) ITerm= outMin;
56. }

Conteúdos relacionados 1

Atividades recentes

http://www.roboliv.re/conteudo/pid-controle-proporcional-integral-derivativo 3/5
14/02/2018 Tudo sobre: PID - Controle Proporcional Integral Derivativo - Robô Livre

Henrique Braga Foresti editou PID - Controle Proporcional Integral Derivativo ‧ Quarta, 06.09.2017 10:00

Henrique Braga Foresti editou PID - Controle Proporcional Integral Derivativo ‧ Quarta, 06.09.2017 09:58

Henrique Braga Foresti editou PID - Controle Proporcional Integral Derivativo ‧ Quarta, 06.09.2017 09:45

Henrique Braga Foresti criou PID - Controle Proporcional Integral Derivativo ‧ Quarta, 06.09.2017 09:42
Colaborar
Editar conteúdo

Última colaboração: 06.09.2017 às 10h00

Adicionado: 06.09.2017 às 09h42

Ver histórico de colaborações

Compartilhar nas redes sociais

Criar novo conteúdo

Nome do conteúdo
Criar
×

Excluir atividade

Tem certeza de que deseja excluir a atividade?

Manter Sim, excluir agora


×

Excluir comentário
Tem certeza de que deseja excluir seu comentário?

Manter Excluir comentário

INSTITUCIONAL

Sobre a Robô Livre


Instituições parceiras
Apresentações
http://www.roboliv.re/conteudo/pid-controle-proporcional-integral-derivativo 4/5
14/02/2018 Tudo sobre: PID - Controle Proporcional Integral Derivativo - Robô Livre

Publicações científicas

IMPRENSA

Robô Livre na mídia


Downloads

AJUDA

Iniciando no Robô Livre


Perguntas frequentes

CONTATO

Fale Conosco
Reportar problema

Esta obra está sob a licença Creative Commons Atribuição 3.0 Brasil
Créditos / Termos de uso / Política de privacidade

F
Apoio Financiado por

Precisando do nosso logotipo?

Baixe o arquivo em alta qualidade

http://www.roboliv.re/conteudo/pid-controle-proporcional-integral-derivativo 5/5

Você também pode gostar