本发明是一种编码器高精度检测速度频率装置电路及其检测方法,属于电机控制。
背景技术:
1、在现代工业自动化和精密机械控制领域,对机械设备的精确速度测量和控制是至关重要的。编码器作为一种常用的位置和速度检测设备,广泛应用于各种自动化控制系统中,如数控机床、机器人、输送系统等。然而,传统的编码器的m/t测速方法存在来源于脉冲计数的不精确和时间测量的不稳定所产生的误差,这些误差在高速或低速测量中尤为明显,限制了系统的整体性能和可靠性。
技术实现思路
1、针对现有技术存在的不足,本发明目的是提供一种编码器高精度检测速度频率装置电路及其检测方法,以解决现有的传统编码器的m/t测速方法存在来源于脉冲计数的不精确和时间测量的不稳定所产生误差的问题。
2、为了实现上述目的,本发明是通过如下的技术方案来实现:一种编码器高精度检测速度频率装置电路,包括如下组成部分:
3、编码器,编码器用于产生a、b相信号;
4、异或器件,异或器件的输入端接收到的编码器输出端的信号进行异或转换,以产生4x边沿信号;
5、cpu,cpu的输入端接收异或器件输出端所产生的4x边沿信号和编码器输出端上产生的a、b相脉冲;
6、cpu内设有计时器和计数器,所述cpu通过计时器和计数器输出的参数进行换算测速。
7、进一步地,所述编码器的输出端与异或器件输入侧的a端口、b端口相接,完成异或操作的信号经由异或器件的输出侧的y端口,直接与cpu中的计时器相连。
8、进一步地,所述电路上设有两组编码器,所述异或器件和cpu上均设有能接收两组编码器信号的管脚。
9、进一步地,所述cpu中至少设有两个编码器的引脚来接受正交信号,所述cpu中设有至少一个计时器用来捕获边沿时间间隔,所述cpu中设有计数器用来捕获计数值。
10、进一步地,所述异或器件的器件选型具体为74ls系列、cd74hc系列、74avc系列中的一种。
11、进一步地,所述计数器的测量误差不依赖于外部脉冲数。
12、进一步地,一种编码器高精度检测速度频率方法,其特征在于,包括如下步骤:
13、s1、通过电路接口xa和xb接收编码器a相和b相信号,信号通过异或器件进行异或操作,产生4x边沿信号;
14、s2、脉冲xa和xb作为正交编码信号,连接到cpu的计数器引脚tckla和tcklkb,计数器在a和b沿变化时计数增加,实现4倍计数,与异或器件异或后的4x沿变化同步;
15、s3、计时器在4x沿变化时自动捕获cpu的主频tick值,同时计数器的计数值发生变化,同时监测处理计时器的周期溢出次数n;
16、s4、每一毫秒周期内,监测新值计时器捕获值tc1和计数器值p1与前一次计时器捕获值tc0和计数器值p0是否发生变化,若产生变化则计算速度频率。
17、进一步地,在所述步骤s3中,监测溢出周期需要确保初始捕获时刻tc0与计数值跳变p0在同一时刻对齐。
18、进一步地,在所述步骤s4的毫秒级周期内,如果未监测到tc0和p0的新值,则继续等待下一个毫秒级周期,直至检测到新变化后再进行频率计算。
19、进一步地,所述步骤s4中,包含如下步骤:
20、s41、在每一毫秒周期内,cpu持续监测捕获计时器新值tc1和计数器新值p1;
21、s42、判断变化,如果tc0和p0的值发生了变化,即tc0不等于tc1或者p0不等于p1,那么则认为数据有效,如果tc0和p0的值没发生变化,cpu等待下一个毫秒周期持续监测新值的变化,并判断如果有计时器周期溢出标志以进行n计数自加1,及清除计时器溢出标志位;
22、s43、使用公式:(p1-p0)/(tc1+n*t-tc0)计算速度频率,其中n是计时器的周期溢出次数,t是计时器的计数周期;
23、s44、更新计数器计数值p1和计时器捕获值tc1到p0和tc0变量,清零计时器的周期溢出次数n,对新计算出的速度频率与滤波频率进行一阶滤波处理以产生较平滑的新频率计算值。
24、进一步地,所述速度频率的测量误差取决于cpu的主频精度。
25、本发明的有益效果是:当使用编码器高精度监测速度时,使用者需将编码器的a相、b相信号分别连接电路接口xa和xb,通过异或器件处理xa和xb信号,生成4x边沿信号,同时也将编码器的a相和b相信号直接连接到cpu的正交编码器计数引脚tckla和tcklb,并且初始化cpu内部中的正交编码器和计时器的配置,设置cpu的主频和计时器的计时周期t,在一切软件配置完后,启动计数器对编码器产生的a相和b相信号进行计数,对信号进行异或操作,产生4x边沿变化的输出信号,计时器在检测到4x边沿变换时自动捕获cpu主频的tick值,记录初始捕获时刻tc0和计数值p0,在每一个ms周期对tc0和p0进行监测,记录新值tc1和p1,及判断处理t周期计时器溢出n次数,检测到新变化则使用公式(p1-p0)/(tc1+n*t-tc0)计算速度频率,重复监测和计算过程,直至获得稳定的速度读数,结合上述的使用说明,本申请通过cpu芯片外设资源特点,结合系统主时钟(如主频1ghz)作为测量计时器,仅1ns的误差精度,对于1ms周期处理测频测周的,精度可达百万分之一。
1.一种编码器高精度检测速度频率装置电路,其特征在于,包括如下组成部分:
2.根据权利要求1所述的一种编码器高精度检测速度频率装置电路,其特征在于:所述编码器(1)的输出端与异或器件(2)输入侧的a端口、b端口相接,完成异或操作的信号经由异或器件(2)的输出侧的y端口,直接与cpu(3)中的计时器(5)相连。
3.根据权利要求2所述的一种编码器高精度检测速度频率装置电路,其特征在于:所述电路上设有两组编码器(1),所述异或器件(2)和cpu(3)上均设有能接收两组编码器(1)信号的管脚。
4.根据权利要求1所述的一种编码器高精度检测速度频率装置电路,其特征在于:所述cpu(3)中至少设有两个编码器(1)的引脚来接受正交信号,所述cpu(3)中设有至少一个计时器(5)用来捕获边沿时间间隔,所述cpu(3)中设有计数器(4)用来捕获计数值。
5.根据权利要求1所述的一种编码器高精度检测速度频率装置电路,其特征在于:所述异或器件(2)的器件选型具体为74ls系列、cd74hc系列、74avc系列中的一种。
6.根据权利要求1所述的一种编码器高精度检测速度频率装置电路,其特征在于:所述计数器(4)的测量误差不依赖于外部脉冲数。
7.一种编码器高精度检测速度频率方法,其特征在于,包括如下步骤:
8.根据权利要求7所述的一种编码器高精度检测速度频率方法,其特征在于:在所述步骤s3中,监测溢出周期需要确保初始捕获时刻tc0与计数值跳变p0在同一时刻对齐。
9.根据权利要求7所述的一种编码器高精度检测速度频率方法,其特征在于:在所述步骤s4的毫秒级周期内,如果未监测到tc0和p0的新值,则继续等待下一个毫秒级周期,直至检测到新变化后再进行频率计算。
10.根据权利要求7所述的一种编码器高精度检测速度频率方法,其特征在于:所述步骤s4中,包含如下步骤:
11.根据权利要求7所述的一种编码器高精度检测速度频率方法,其特征在于:所述速度频率的测量误差取决于cpu(3)的主频精度。