电机控制::基于编码器的速度计算与滤波::RLS
0、基于编码器原始数据存在的问题
采样流程:实际pa->编码器采样电机(采样/通讯/解码计算延迟与量化/截断误差)->dsp采样编码器值(延时一拍,当前拍使用的是编码器传过来的上一拍的数据,通讯需要时间。))
dsp侧忽略编码器延迟,默认编码器测已做补偿。
编码器采样延迟时间 td1 <= 1pulse/pasig / 速度 ;
延迟相位 = -360°*f*td (f为信号频率)
1)编码器位置延迟,
2)编码器位置采样噪声
3)编码器位置截断误差(量化误差)
4)编码器数据异常,(原因很多,异常方式很多,从现象入手,直接看数据变化与处理方式即可。根源解决需从编码器本身从设计,工装,安装,解码,通讯等方面解决,与dsp无关)
1、速度计算
1)直接后向差分(传统的M/T法演变而来)
噪声大,延迟0.5Ts 还是 0.25Ts?? 控制系统设计指南:相移-90° -->0.25Ts
2)用其他方式进行微分计算
1、二阶RLS-->求系数b1;
2、三阶龙伯格观测器-->去积分前值
...
2、计算后滤波
3)直接差分后滤波(单纯的数值计算or基于对象模型or基于通用模型)
1、lpf --> IIR方法
2、龙伯格 --> IIR方法
3、一阶RLS -- > 拟合后当前的预测值为重构值 (FIR方法,没有闭环)
4、kalman -->
5、指令平滑(就是LPF的离散形式)
6、平均滤波(FIR),加权平均滤波 。其与1、5的区别就是FIR与IIR的区别,没有闭环。