伺服电机三环控制
- 简介
- 电流环、速度环、位置环
- PID
- PID 控制代码
简介
伺服电机一般为三个环控制,分别是电流环、速度环、位置环,如下图所示
频率不一样是由他们所在的控制环的位置决定的,位置越靠内,采样频率自然需要越高。根据香农采样定理,采样频率至少是目标频率的2倍,越高越好,当然越高对硬件和实时性的要求更高。另外这三个环是包含关系。最小环是电流环,其次是速度环,最大是位置环。如果要用速度环,那你必须要有电流环。如果要用位置环,那么三个环都得用。根据上面的关系,位置环频率决定了速度环频率,速度环频率决定了电流环频率。那什么决定了位置环频率呢?位置环频率系统设计决定的。如果是数控系统,那么是由运动速度,运动精度决定的
伺服电机三个环控制
电流环、速度环、位置环
电流环是最里面的一环,直接控制给定电机的电流,电流和转矩成比例,顺便控制了转矩,电流给定了电机就会旋转,产生速度值。
速度环是电流环外的一环,速度的控制需要外加传感器,来测定实际旋转速度,控制速度的高低方式就是调节电流的大小,速度环控制好了,就可以跑位置。
位置环是速度环外的一环,位置运动的逻辑就是经典梯形图,加速减速和匀速。
位置运行必须给定的参数是位置、速度、加速度、减速度,这些参数给定后,运行轨迹确定,当然就可以控制位置了。以上就是三环的控制逻辑,但想要控制好三环就必须加入内部算法,最经典就是PID,会根据三环加入不同的算法,具体就看我推荐的那本书。
位置速度双环控制
【PMSM】一. 电流环、速度环设计(上)
PID
1、单独的P(比例)就是将差值进行成比例的运算,它的显著特点就是有差调节,有差的意义就是调节过程结束后,被调量不可能与设定值准确相等,它们之间一定有残差,残差具体值您可以通过比例关系计算出。增加比例将会有效减小残差并增加系统响应,但容易导致系统激烈震荡甚至不稳定。
2、单独的I(积分)就是使调节器的输出信号的变化速度与差值信号成正比,大家不难理解,如果差值大,则积分环节的变化速度大,这个环节的正比常数的比例倒数我们在伺服系统里通常叫它为积分时间常数,积分时间常数越小意味着系统的变化速度越快,所以同样如果增大积分速度(也就是减小积分时间常数)将会降低控制系统的稳定程度,直到最后出现发散的震荡过程。这个环节最大的好处就是被调量最后是没有残差的。
3、PI(比例积分)就是综合P和I的优点,利用P调节快速抵消干扰的影响,同时利用I调节消除残差。
4、单独的D(微分)就是根据差值的方向和大小进行调节的,调节器的输出与差值对于时间的导数成正比,微分环节只能起到辅助的调节作用,它可以与其他调节结合成PD和PID调节。它的好处是可以根据被调节量(差值)的变化速度来进行调节,而不要等到出现了很大的偏差后才开始动作,其实就是赋予了调节器以某种程度上的预见性,可以增加系统对微小变化的响应特性。
5、PID综合作用可以使系统更加准确稳定的达到控制的期望。
伺服的电流环的PID常数一般都是在驱动器内部设定好的,操作使用者不需要更改。
速度环主要进行PI(比例和积分),比例就是增益,所以我们要对速度增益和速度积分时间常数进行合适的调节才能达到理想效果。
位置环主要进行P(比例)调节。对此我们只要设定位置环的比例增益就好了。
位置环、速度环的参数调节没有什么固定的数值,要根据外部负载的机械传动连接方式、负载的运动方式、负载惯量、对速度、加速度要求以及电机本身的转子惯量和输出惯量等等很多条件来决定,调节的简单方法是在根据外部负载的情况进行大体经验的范围内将增益参数从小往大调,积分时间常数从大往小调,以不出现震动超调的稳态值为最佳值进行设定。
当进行位置模式需要调节位置环时,最好先调节速度环(此时位置环的比例增益设定在经验值的最小值),调节速度环稳定后,再调节位置环增益,适量逐步增加,位置环的响应最好比速度环慢一点,不然也容易出现速度震荡。
PID 控制代码
float PID_control(float temp_val)
{/*计算目标值与实际值的误差*/pid.err=pid.target_val-temp_val;/*误差累积*/pid.integral+=pid.err;/*PID算法实现*/pid.actual_val=pid.Kp*pid.err+pid.Ki*pid.integral+pid.Kd*(pid.err-pid.err_last);/*误差传递*/pid.err_last=pid.err;/*返回当前实际值*/return pid.actual_val;
}