本发明涉及编码器信号转换领域,具体涉及一种绝对编码器信号转换为增量编码器信号的方法。
背景技术:
编码器是一种重要的工业辅助装置,广泛用于工业系统中,常用来进行位置检测、速度控制等,根据其刻度方法和信号输出形式可分为增量式和绝对式两种。增量编码器是用脉冲的个数来表示位移的大小,其计数起点任意,可实现多圈无限累加测量,具有安装简单、价格便宜以及后续数据处理工作量小等优点,但它开机要先找参考位,无法输出轴转动的绝对位置信息。绝对编码器直接输出数字量信号,它的每个位置唯一且由机械位置决定,在转轴的任意位置都可以读出角度坐标的绝对值,其无需记忆、无需找参考点、无需计数,精度高,电源切除后位置信息不会丢失。同时,为了提高位置同步和数据采集的准确性,绝对编码器在数据采集的编码中采用格雷码,在使用绝对编码器信号的时需对其信号进行转换。
由于绝对编码器在定位方面明显地优于增量式编码器,广泛应用于对精度要求比较高的工控系统中。在一些控制场合,只需通过采集增量编码信号这种简单方法就可获取机械转轴的位移变化量,从而实现位置检测和设备控制。如果在已装有绝对编码器的系统中二次安装增量编码器,或者重新搭建模拟现场的机械传动装置来获得增量编码信号,不但要求要有合适的安装位置和空间,而且也会增加整体布线数量,随之也会降低系统的可靠性,增加安装和改造成本。
技术实现要素:
本发明的目的是针对上述不足,提出了在工业控制中不需要重复安装编码器实现将绝对编码器信号转换为增量编码器信号,降低工业控制系统信号处理的复杂度,提高控制系统的灵活性的一种绝对编码器信号转换为增量编码器信号的方法。
本发明具体采用如下技术方案:
一种绝对编码器信号转换为增量编码器信号的方法,
将绝对编码器输出格雷码的最低位信号线和最高位信号线分别与单片机的IO口相连,单片机接收绝对编码器发送过来的最低位和最高位格雷码数据,根据接收到的绝对编码器信号电平变化情况,模拟输出增量编码器的相应信号;
单片机接收完八组绝对编码器格雷码数据,对应单片机完成控制输出一个完整的编码脉冲信号;
其中绝对编码器的数据传输周期为t,位数为n,步长为2n,转换后的增量编码A相信号和B相信号周期都为T=8t,步长为2n-3,即转换后的增量编码信号的步长是绝对编码器步长的1/8,测角分辨率也是是绝对编码器的1/8,根据单片机接收到的绝对编码器最低位格雷码信号脉冲是上升沿还是下降沿,来模拟输出增量编码的A相信号和B相信号,然后再根据绝对编码器最高位格雷码信号脉冲信号的下降沿,输出增量编码的Z相信号。
优选地,所述绝对编码器最低位第一个上升沿到第二个上升沿之间的时间为增量编码A相信号的高电平时间,绝对编码器最低位第二个上升沿到第三个上升沿之间的时间为增量编码B相信号的低电平时间。
优选地,所述增量编码A相信号和B相信号是两组信号波形相同,并且仅存在1/4周期相位差的脉冲信号,增益编码Z相信号为复位信号,当单片机判断出绝对编码信号完成旋转一周或者回到零点则控制输出编码增益Z相信号,编码增益Z相信号表示零相位。
优选地,所述增益编码A相信号、B相信号和Z相信号初始电平均为低电平,然后读取绝对编码器输送的最低位信号,当单片机检测到最低位信号的上升沿时,对增益编码A相信号进行取反,当单片机检测到最低位信号的下降沿时,对增益编码B相信号取反,当单片机检测到最高位信号的下降沿时,对增益编码Z相信号进行取反。
本发明具有的有益效果是:在各种需要将绝对编码器信号转化为增量编码器信号并且对精度要求不高的工业控制场合中,本发明提供的方法不需要重复安装编码器就可以将绝对编码器信号转化为增量编码器信号,降低系统信号处理和接线的复杂度,而且还提高了控制系统的灵活性和安装调试效率,具有广泛的应用空间。
附图说明
图1为并行绝对编码器输出格雷码示意图;
图2为增益编码A相、B相信号产生原理图;
图3为增量信号输出相位示意图;
图4为单片机输出控制信号程序流程图。
具体实施方式
下面结合附图和具体实施例对本发明的具体实施方式做进一步说明:
如图1所示,C0、C1、C2……Cn-1分别为绝对编码器完整输出格雷码数据所对应的最低位、第“1”位、第“2”位……到最高位。绝对编码器旋转一周,每个低位高低电平变化总数是其相邻高位高低电平变化总数的2倍,方波上部0-(2n-1)数字为其各组n位格雷码对应的十进制数。每个t时间输出一组数据,n位绝对编码器步长为2n,其旋转一圈则输出2n组数据,其测角分辨率为360/2n,最高位Cn-1每来一次脉冲下降沿,则表明绝对编码器完成旋转一周,或者回到其零点,其可作为增量编码Z信号。
一种绝对编码器信号转换为增量编码器信号的方法,
将绝对编码器输出格雷码的最低位信号线和最高位信号线分别与单片机的IO口相连,单片机接收绝对编码器发送过来的最低位和最高位格雷码数据,根据接收到的绝对编码器信号电平变化情况,模拟输出增量编码器的相应信号;
单片机接收完八组绝对编码器格雷码数据,对应单片机完成控制输出一个完整的编码脉冲信号;
其中绝对编码器的数据传输周期为t,位数为n,步长为2n,转换后的增量编码A相信号和B相信号周期都为T=8t,步长为2n-3,即转换后的增量编码信号的步长是绝对编码器步长的1/8,测角分辨率也是是绝对编码器的1/8,根据单片机接收到的绝对编码器最低位格雷码信号脉冲是上升沿还是下降沿,来模拟输出增量编码的A相信号和B相信号,然后再根据绝对编码器最高位格雷码信号脉冲信号的下降沿,输出增量编码的Z相信号。
绝对编码器最低位第一个上升沿到第二个上升沿之间的时间为增量编码A相信号的高电平时间,绝对编码器最低位第二个上升沿到第三个上升沿之间的时间为增量编码B相信号的低电平时间。
增量编码A相信号和B相信号是两组信号波形相同,并且仅存在1/4周期相位差的脉冲信号,增益编码Z相信号为复位信号,当单片机判断出绝对编码信号完成旋转一周或者回到零点则控制输出编码增益Z相信号,编码增益Z相信号表示零相位。
增益编码A相信号、B相信号和Z相信号初始电平均为低电平,然后读取绝对编码器输送的最低位信号,当单片机检测到最低位信号的上升沿时,对增益编码A相信号进行取反,当单片机检测到最低位信号的下降沿时,对增益编码B相信号取反,当单片机检测到最高位信号的下降沿时,对增益编码Z相信号进行取反。
如图2所示,增益编码A相信号、增益编码B相信号是单片机通过接收到绝对编码最低位(C0)格雷码数据后,模拟输出得到的。在模拟增益编码A相、B相信号输出时,把绝对编码器最低位第一个上升沿到第二个上升沿之间的时间作为增量编码A相信号的高电平时间,把绝对编码器最低位第二个上升沿到第三个上升沿之间的时间作为增量编码B相信号的低电平时间,一个完整的脉冲周期为T=8t。从绝对编码器最低位第一个下降沿到第二个下降沿之间的时间作为增量编码A相信号的高电平时间,从绝对编码器最低位第二个下降沿到第三个下降沿之间的时间作为增量编码B相信号的低电平时间,一个完整的脉冲周期也为T=8t,并且获得的增益编码A相信号与增益编码B相信号相差1/4周期。转换后的增量信号的步长只有原来的绝对编码器步长的1/8,测角分辨率为360/2n。
如图3所示,增益编码A相信号、增益编码B相信号和增益编码Z相信号是就是通过接收到绝对编码其最低位和最高位格雷码数据后,经过单片机计算处理模拟输出得到的。增益编码A相信号和增益编码B相信号是两组信号波形相同,并且仅存在1/4周期相位差的脉冲信号,增益编码Z相信号为复位信号,当单片机判断出绝对编码器完成旋转一周或者回到零点则控制输出增益编码Z相信号,其表示零相位,用于调零、对位。
如图4所示,单片机先进行初始化,并且增益编码A、B、Z三相信号初始电平均为低电平,然后读取绝对编码器送过来的最低位信号,当单片机检测到最低位信号的上升沿时,对增益编码A相信号进行取反,当单片机检测到最低位信号的下降沿时,对增益编码B相信号进行取反,当单片机检测到最高位信号的下降沿时,对增益编码Z相信号进行取反,然后对增益编码A相、B相、Z相三相信号进行清零并循环重复上面步骤。
当然,上述说明并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的技术人员在本发明的实质范围内所做出的变化、改型、添加或替换,也应属于本发明的保护范围。