STM32控制电机到一定位置,位置值用码盘读取
下面<span style="font-family: Arial, Helvetica, sans-serif;">pid_ctrl_Daily1函数</span>是PID调整的程序,然后在主程序中调用
////// 电机码盘 PID运算 ,用PID参数来实际控制角度,角度值为angle ///////
double pid_ctrl_Daily1(double *array)
{
//定义变量
double ref = 0;//设置参数
double feb = 0;//采样反馈
int pwm_var = 0; //PID调整量
int PWM_out = 0; //PWM输出量
double Uo = 0;
double E = 0; //当前误差
double E_Last = 0; //上一时刻误差
double E_Two_Last = 0; //上上一时刻误差
double Kp_Daily = 0; //PID调节的比例常数
double Ti_Daily = 0; //PID调节的积分常数
double Td_Daily = 0; //PID调节的微分时间常数
double T_Daily = (0.02); //采样周期
double Kpp_Daily = 0;
double Ki_Daily =0;
double Kd_Daily = 0;
Kp_Daily = array[0];
Ti_Daily = array[1];
Td_Daily = array[2];
Kp_Daily = array[0];
Ki_Daily = array[1];
Kd_Daily = arra