在无感FOC控制中,求解转子位置,可能会用到atan,如果直接运用反三角函数求解,运算量大,效率低。这里介绍一种Cordic数字迭代算法来快速求解反正切。
1、Cordic算法介绍
1.1、坐标平面的旋转
在下面的x y平面坐标上有两个点(x1,y1),(x2,y2),他和原点组成的向量模长相等都为R。向量一与x轴的夹角为α,向量二可由向量一逆时针旋转θ角度得到。
那么x2,y2和x1,y1的关系如下:
1.2、伪旋转
1.3、反正切角度求取
前面讲了那么多,现在讲下到底atan角度怎么求。
如果我们把上面13次的角度都累加起来,得到的角度范围-99.7<
θ
\theta
θ <99.7 所以在这个角度内都可以旋转,如果是在二三象限的矢量,则需要,先旋转90度,到一四象限。然后再迭代。
我们把旋转方向考虑进来: