主权项 |
1.一种高分辨率增量型总线式光电编码器的实现方法,其特征在于包括下列步骤:发光系统通过光栅盘上的狭缝输出A、B、Z方波数字信号,同时输出差分模拟信号a、/a、b、/b,电极控制信号U,V,W;由光电接收系统接收,模拟信号a、/a、b、/b经模拟信号处理器处理后输出两路差分模拟信号Va<sub>x</sub>、Vb<sub>x</sub>到微处理器MCU,光电接收系统将出A、B、Z方波数字信号、电极控制信号U,V,W输出到微处理器MCU;其特征在于:微处理器MCU细分方法:将两路差分模拟信号Va<sub>x</sub>、Vb<sub>x</sub>输入到微处理器MCU,由处理器内部模数转换器AD将模拟信号转换为数字信号,在将两路转换后的数字信号通过CORDIC算法进行精密细分,向量V<sub>1</sub>旋转角度θ后得到新的向量V<sub>2</sub>,(Va<sub>1</sub>,Vb<sub>1</sub>),(Va<sub>2</sub>,Vb<sub>2</sub>)分别代表着向量V<sub>1</sub>,V<sub>2</sub>的两个坐标点,根据简单的几何关系有:Va<sub>2</sub>=Va<sub>1</sub>cosθ-Vb<sub>1</sub>sinθ (1)Vb<sub>2</sub>=Vb<sub>1</sub>cosθ+Va<sub>1</sub>sinθ (2)式(1)和式(2)整理后,可得:Va<sub>2</sub>=(Va<sub>1</sub>-Vb<sub>1</sub>tanθ)cosθ (3)Vb<sub>2</sub>=(Vb<sub>1</sub>+Va<sub>1</sub>tanθ)cosθ (4)由上面的分析可知,假设向量经过i次微小的旋转,每次旋转的角度为θ<sub>i</sub>,旋转的方向为d<sub>i</sub>(取值为1或-1),经过n次旋转后,总的旋转角度为:<img file="FDA0000421427650000011.GIF" wi="281" he="159" />在由方波数字信号A,B,Z参与运算,将通过CORDIC算法计算得出的细分数据插入到数字信号A的每个周期内,同时细分位数可调,细分位数越高分辨率越高,当编码器旋转一周产生1024个(M)A,B脉冲时,通过CORDIC算法将每一个脉冲周期内的模拟量进行细分最高可细分至2048位(W),那么当编码器旋转一周后最高就会有Z=1024(M)*2048(W)个数据产生,Z=2<sup>21</sup>,当想要改变编码器位数时可根据细分位数进行调整如果将细分位数调整至128位,256位,512位,1024位,码盘刻有1024脉冲时那么编码器将对应输出2<sup>17</sup>2<sup>18</sup>,2<sup>19</sup>,2<sup>20</sup>,位数据,同时在有数字信号B对A信号进行实时校准,因为数字信号A,B的相位角为90°,当有数字信号Z产生时所有数据清零,代表编码器旋转一周;将细分后数据与电极控制信号U,V,W组成私有协议帧通过RS485或者RS422总线接口输出,同时可以兼容Biss,SSI,RS485或CAN协议。 |