/*** @brief 增量式PID算法实现* @param val:当前实际值* @note 无* @retval 通过PID计算后的输出*/floatPID_realize(_pid *pid,floattemp_val){/*传入实际值*/pid->actual_val = temp_val;/*计算目标值与实际值的误差*/pid->err=pid->target_val-pid->actual_val; /*PID算法实现*/floatincremen...
/*** @brief 增量式PID算法实现* @param val:当前实际值* @note 无* @retval 通过PID计算后的输出*/floatPID_realize(_pid *pid,floattemp_val){/*传入实际值*/pid->actual_val = temp_val;/*计算目标值与实际值的误差*/pid->err=pid->target_val-pid->actual_val; /*PID算法实现*/floatincremen...
/*** @brief 增量式PID算法实现* @param val:当前实际值* @note 无* @retval 通过PID计算后的输出*/floatPID_realize(_pid *pid,floattemp_val){/*传入实际值*/pid->actual_val = temp_val;/*计算目标值与实际值的误差*/pid->err=pid->target_val-pid->actual_val;...
按格式组包数据: /*** @brief 设置上位机的值* @param cmd:命令* @param ch: 曲线通道* @param data:参数指针* @param num:参数个数* @retval 无*/voidset_computer_value(uint8_tcmd,uint8_tch,void*data,uint8_tnum){staticpacket_head_tset_packet;uint8_tsum=0;// 校验和num*=4;// 一...
设定值并没有发生改变,只是输出 值LMN有一个变化量TUN DLTemperature tontrl Wizard; Cvntrgl二 hi Statue TFid Reiult dI the T uning(5/SITuning frfiaseTATUS.H:Detection of point of inlectian ol process atmanlaled variableNo controlIw param制ws Fourid iietSTATUS D:匚omraler design ImNo ...
/*定义位置PID与速度PID结构体型的全局变量*/ PID pid_location; PID pid_speed; /** * @brief PID参数初始化 * @note 无 * @retval 无 */ void PID_param_init() { /* 位置相关初始化参数 */ pid_location.target_val = TOTAL_RESOLUTION*10; pid_location.output_val = 0.0; pid_location.err...
void PID_param_init() { /* 位置相关初始化参数 */ pid_location.target_val = TOTAL_RESOLUTION*10; pid_location.output_val = 0.0; pid_location.err = 0.0; pid_location.err_last = 0.0; pid_location.integral = 0.0; pid_location.Kp = 0.05; ...
/** * @brief 速度PID算法实现 * @param actual_val:实际值 * @note 无 * @retval 通过PID计算后的输出 */ #define SPE_DEAD_ZONE 5.0f /*速度环死区*/ #define SPE_INTEGRAL_START_ERR 100 /*积分分离时对应的误差范围*/ #define SPE_INTEGRAL_MAX_VAL 260 /*积分范围限定,防止积分饱和*/ float ...
/** @brief pid 闭环控制* @param *PID:PID 结构体变量地址* @param Feedback_value:当前实际值* @retval 期望输出值*/int32_town_pid_ctrl(PID_TypeDef *PID,floatFeedback_value){PID->Error = (float)(PID->SetPoint - Feedback_value);/* 计算偏差 */PID->Actual...
No1:class PID_Param类保存了PID算法中的三个参数,Kp Ki Kd,同时类当中也记录了上一次系统存在的误差error_last,以及上上一次系统的误差error_prev,这样就能够完成增量式误差的公式计算。 No2:上述算法中在循环体中记录了所有的误差变量PID_Controller_Increa_Out,这是为了仿真的目的,实际上我们比不需要存储所有...