1.一种高精度舵机位置控制方法,其特征在于,包括以下步骤
(1)对当前的电位器电压进行ADC采样,采样的电压值记为当前的舵机位置值;
(2)对舵机位置值进行线性插值算法处理,对非线性区间进行线性校准;
(3)将校准后的位置线,采用一阶惯性滤波算法,对输出最终ADC采集结果做滤波处理;
(4)对位置曲线进行滤波处理,经过线性插值和滤波算法处理,校准后的位置曲线;
(5)基于舵机的物理数学模型,构建串级PID控制器,实现以位置控制为外环,速度控制为内环的高精度舵机位置控制算法。
2.根据权利要求1所述的高精度舵机位置控制方法,其特征在于,所示步骤(2)具体为,在区间[y0,y1]中,进行定点采样取值:第一个点(x0,y0)和最后一个点(x1,y1),则在区间内的任意点y(i),其坐标(x,y)可求出:
3.根据权利要求1所述的高精度舵机位置控制方法,其特征在于,所示步骤(3)中,一阶惯性滤波算法具体为,y(n)=a*x(n)+(1-a)*y(n-1),其中a为滤波系数,0≤a≤1。
4.根据权利要求1所述的高精度舵机位置控制方法,其特征在于,所示步骤(4)中,滤波处理具体为,
其中,f为滤波截止频率,T为采样周期,Ave_Value为当前速度的理想增值。
5.根据权利要求1所述的高精度舵机位置控制方法,其特征在于,所示步骤(5)中,在位置控制中,根据舵机设定的运动完成时间T和预先设定的目标位置R1(S)计算出当前时刻Tn的参考位置R1n(S),计算公式:其中,0≤n≤N,
将当前经过线性插值和滤波处理后的位置值作为位置PID的当前位置输入作为位置控制器的输入H1n(S);
当前采样位置H1n(S)和参考位置R1n(S)做偏差E1(S),位置控制器进行PID处理,在时域里基本公式:
设S(k)为第k次采样时刻位置控制器的输出值,进行PID离散化,令
计算公式:
Sout1(k)=Sp(k)+Si(k-1)+KiSp(k)+Kc(Sout2(k)-Sout1(k))+Kd(Sp(k)-Sp(k-1))
输出结果Sout1进行预饱和限幅输出得到Sout2。
6.根据权利要求1所述的高精度舵机位置控制方法,其特征在于,所示步骤(5)中,在速度控制中,预饱和输出Sout2将作为当前速度控制器的参考速度R2n(S),
参考速度R2n(S)的计算公式:
当前速度检测H2n(S)的计算公式:
当前采样位置H2n(S)和参考位置R2n(S)做偏差E2(S),速度控制器进行PID处理,令
速度控制器输出量是速度增量ΔVout1,由上式可得
ΔVout1(k)=Vout1(k)-Vout1(k-1)=Kp[e(k)-e(k-1)]+KIe(k)+KD[e(k)-2e(k-1)+e(k-2)],
根据速度增量,对当前速度进行修正,计算公式:Vout1(k)=Vout1(k-1)+ΔVout1(k)
对修正速度Vout1进行限幅输出,输出为最终速度Vout2;
对最终速度Vout2进行PWM转换,转换计算公式:
其中,Pwm_Value为用于速度控制的占空比值,
K的比例值由当前电压下,速度与PWM的对应线性关系线求出。