|
本帖最后由 zddvszw 于 2018-1-8 14:46 编辑
本人最近使用DSPIC33ep做同步直线电机控制,线性霍尔做速度反馈。偶然发现一种滤波算法,效果不错。未使用这种方法滤波,由于线性霍尔周期切换(直线电机一个周期组运行完,进入下一个周期),导致反馈速度的跳动。使用使用,反馈速度很光滑,就是有滞后。本人不太懂汇编,麻烦有经验的朋友帮忙解释下。到时候给大家共享结果。代码和效果图如下:
.global _CalcOmegaFltred
.global CalcOmegaFltred
_CalcOmegaFltred:
CalcOmegaFltred:
mov _SMC_OmegaFltred,w0
mov _SMC_Omega,w4
mov _SMC_FiltOmeCoef,w5
lac w0,A
mpy w4*w5,B
add A
mov _SMC_OmegaFltred,W4
mpy w4*w5,B
neg B
add A
sac.r A,#0,w0
mov w0,_SMC_OmegaFltred
return
.end |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
阿莫论坛20周年了!感谢大家的支持与爱护!!
一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。
|