Sistemas de Controle  0.5
Biblioteca matematica de Controle
pid.h
Vá para a documentação deste arquivo.
1 #ifndef __PID_H_INCLUDED
2 #define __PID_H_INCLUDED
3 
4 #include <cmath>
5 
7 
12 template <typename UsedType>
13 class PID
14 {
15 private:
16 
17  bool checkUpLim;
18  bool checkLowLim;
19 
20  UsedType Step;
21  UsedType Error;
22  UsedType pastError;
23  UsedType integralError;
24  UsedType derivativeError;
25 
26  UsedType kp;
27  UsedType ki;
28  UsedType kd;
29 
30  UsedType upperLimit;
31  UsedType lowerLimit;
32 
33  UsedType PIDout;
34 
36 
40  void antReset();
41 
43 
47  void intError();
48 
50 
54  void difError();
55 
56 public:
58 
62  PID();
63 
65 
70  void setSampleTime(UsedType Time);
71 
73 
79  void setLimits(UsedType upperLimit, UsedType lowerLimit);
80 
82 
92  void setParams(UsedType kp, UsedType ki, UsedType kd);
93 
95 
102  UsedType OutputControl(UsedType Reference, UsedType SignalInput);
103 };
104 
105 #endif // PID_H
void antReset()
Membro onde &ecute armazenada a sa&icute do PID.
UsedType kp
Membro onde &ecute armazenado o erro da derivada num&ecuterica.
Definition: pid.h:26
UsedType lowerLimit
Membro onde &ecute definido o limite superior do PID.
Definition: pid.h:31
UsedType ki
Membro onde &ecute armazenado o paramêto KP do PID.
Definition: pid.h:27
void intError()
M&ecutetodo privado intError().
UsedType upperLimit
Membro onde &ecute armazenado o paramêto KD do PID.
Definition: pid.h:30
void setSampleTime(UsedType Time)
M&ecutetodo o qual define o passo.
UsedType Step
Membro que define se o PID chegou ao limite inferior.
Definition: pid.h:20
UsedType integralError
Membro onde &ecute armazenado o erro anterior para comparações.
Definition: pid.h:23
void setParams(UsedType kp, UsedType ki, UsedType kd)
M&ecute o qual define os paramêtos kp, ki, e kd respectivamente do sistema a ser controlado...
bool checkUpLim
Definition: pid.h:17
UsedType pastError
Membro onde &ecute armazenado o erro a medida que o PID &eecute executado.
Definition: pid.h:22
PID()
Construtor padrão da classe.
void setLimits(UsedType upperLimit, UsedType lowerLimit)
M&ecutetodo o qual define os limites.
UsedType OutputControl(UsedType Reference, UsedType SignalInput)
M&ecutetodo o qual c´ a sa&icuteda do PID.
Classe PID.
Definition: pid.h:13
UsedType PIDout
Membro onde &ecute definido o limite superior do PID.
Definition: pid.h:33
UsedType derivativeError
Membro onde &ecute armazenado o erro da integral num&ecuterica.
Definition: pid.h:24
UsedType Error
Membro onde &ecute armazenado a varia��o do tempo, o passo da funç&aatildee.
Definition: pid.h:21
bool checkLowLim
Membro que define se o PID chegou ao limite superior.
Definition: pid.h:18
UsedType kd
Membro onde &ecute armazenado o paramêto KI do PID.
Definition: pid.h:28
void difError()
M&etodo privado difError().