#ifndef __BSP_PID_H
|
#define __BSP_PID_H
|
#include "gd32e23x.h"
|
// #include "stm32f1xx.h"
|
// #include "./usart/bsp_debug_usart.h"
|
// #include <stdio.h>
|
// #include <stdlib.h>
|
// #include <math.h>
|
|
typedef struct
|
{
|
float target_val; //Ä¿±êÖµ
|
float actual_val; //ʵ¼ÊÖµ
|
float err; //¶¨Ò寫²îÖµ
|
float err_last; //¶¨ÒåÉÏÒ»¸öÆ«²îÖµ
|
float Kp, Ki, Kd; //¶¨Òå±ÈÀý¡¢»ý·Ö¡¢Î¢·ÖϵÊý
|
float integral; //¶¨Òå»ý·ÖÖµ
|
} pid_t;
|
|
void PID_param_init(void);
|
void set_pid_target(float temp_val);
|
float get_pid_target(void);
|
void set_p_i_d(float p, float i, float d);
|
float PID_realize(float actual_val);
|
void time_period_fun(void);
|
|
#endif
|