TTK4155 Ping-pong project
pi.h
Go to the documentation of this file.
1 #ifndef PI_H
2 #define PI_H
3 
4 #define SCALING_FACTOR 30
5 #define K_p 12 //15
6 #define K_i 1 //1
7 
8 typedef struct pi_t {
9  uint16_t Kp;
10  uint16_t Ki;
11  int16_t error_sum;
12  uint16_t encoder_max_val;
13  };
14 
15 void pi_init(int16_t Kp_set, int16_t Ki_set, struct pi_t *regulator_p);
16 int16_t pi_controller(int16_t set_point, int16_t measurement, struct pi_t* regulator_p);
17 void pi_reset_integrator(struct pi_t *regulator_p);
18 
19 
20 #endif /*PI_H */
uint16_t Kp
Definition: pi.h:9
int16_t error_sum
Definition: pi.h:11
uint16_t Ki
Definition: pi.h:10
void pi_init(int16_t Kp_set, int16_t Ki_set, struct pi_t *regulator_p)
Initialization of PID controller parameters.
Definition: pi.c:22
uint16_t encoder_max_val
Definition: pi.h:12
Definition: pi.h:8
void pi_reset_integrator(struct pi_t *regulator_p)
Resets the integrator.
Definition: pi.c:68
int16_t pi_controller(int16_t set_point, int16_t measurement, struct pi_t *regulator_p)
PID control algorithm.
Definition: pi.c:39