赞
踩
理论公式:
PID中,P用于提高响应速度,I用于减小静差、D用于抑制震荡。一般在进行PID参数整定时,首先设I和D的值为0,然后把P值从0逐渐增大,直到系统震荡。当P值足够大且I值为0时没有静差,P值较小且I值为0时会出现静差。位置控制的调节经验为:先只调节P,增大P系数至系统震荡后加入微分控制以增大阻尼,消除震荡之后再根据系统对响应和静差等的具体要求,调节P和I参数。
控制原理:
C代码实现:
int Position_PID(int Position,int Target)
{
static float Bias,Pwm,Integral_bias,Last_Bias;
Bias=Position-Target; //计算偏差
Integral_bias+=Bias; //求出偏差的积分
Pwm=Position_Kp*Bias+Position_Ki*Integral_bias+Position_Kd*(Bias-Last_Bias);
Last_Bias=Bias; //保存上一次偏差
return Pwm;
}
通过输入测量值和目标值,返回为电机控制的PWM:
第一行是相关内部变量的定义
第二行求出速度偏差
第三行通过累加求偏差的积分
第四行使用位置PID控制器求出电机PWM
第五行保存上一次偏差,用于下次。
然后在中断服务函数里调用该函数实现我们控制的目标。
理论公式:
控制原理:
C代码实现:
int Velocity_PI(int velocity,int Target)
{
static float Bias,Pwm,Last_Bias,
Bias=velocity-Target;
Pwm+=Velocity_Kp*(Bias-Last_Bias)+Velocity_Ki*Bias;
Last_Bias=Bias;
return Pwm;
}
通过输入测量值和目标值,返回为电机控制的PWM:
第一行是相关变量的定义;
第二行是求出速度偏差;
第三行是使用增量PI控制器求出电机PWM;
第四行保存上一次误差
然后在中断服务函数里调用该函数实现我们控制的目标。# 电机PID控制和闭环控制
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。