一种通过两路PWM输出任意线数的编码器倍频方法与流程
未命名
09-03
阅读:99
评论:0

一种通过两路pwm输出任意线数的编码器倍频方法
技术领域
1.本发明涉及主轴伺服控制器倍频编码器线数技术领域,具体为一种通过两路pwm输出任意线数的编码器倍频方法。
背景技术:
2.在编码器的倍频输出领域,大多数用于机床行业的数控系统接收伺服反馈回来的abz信号或者plc接收伺服反馈回来的编码器位置,传统的编码器倍频的方法有1:通过搭建硬件电路来实现倍频输出;2:通过fpga来实现编码器的倍频输出。
3.第一种方法倍频输出的倍数是固定不变,ab相位的超前也没法改变。很难达到现场任意线数倍频。第二种方法可以达到任意线数倍频和ab之间的相位也可以由fpga来调整,但是需要在原来的电路上多加一块fpga的芯片,这导致了产品的硬件成本和软件管理成本都大幅增加。
技术实现要素:
4.本发明的目的在于提供一种通过两路pwm输出任意线数的编码器倍频方法,以解决上述背景技术中提出的问题。
5.为实现上述目的,本发明提供如下技术方案:一种通过两路pwm输出任意线数的编码器倍频方法,包括以下步骤:
6.s1:采集单位时间内编码器的脉冲差量个数pluse0,包含方向,正数为增计数,负数为减计数,通过原始的编码器线数number0和倍频后的编码器线数number1计算出倍频后的脉冲差量个数pluse1;
7.s2:通过步骤1计算出来的脉冲个数pluse1和单位时间t计算出倍频后的脉冲周期时间t
pluse
以及脉冲周期时间余数t
rem
;
8.s3:通过脉冲周期时间t
pluse
和pwm的时钟信号t
clk
,得出pwm的比较寄存器的比较值cmp;
9.s4:通过pluse1的方向和上一刻ab信号的高低电平以及软件中是否有ab方向取反标志来决定下一时刻ab电平谁先跳变;
10.s5:在周期时间余数t
rem
时间内,pwm的比较寄存器的比较值cmp加一,单位时间内的其他时间还是比较值cmp;
11.s6:根据步骤s5刷新两路pwm比较寄存器cmpa和cmpb的值,cmpa=cmpb=cmp;
12.s7:根据步骤s4结果刷新两路pwm的时钟计算值,如果a电平先跳变,把第一路的pwm时钟计数值更新为把第二路的pwm时钟计数值更新为0,如果b电平先跳变,把第一路的pwm时钟计数值更新为0,把第二路的pwm时钟计数值更新为
13.更进一步地,在步骤s1中,pluse1计算公式如下:更进一步地,在步骤s1中,pluse1计算公式如下:
14.更进一步地,在步骤s2中,t
rem
计算公式如下:计算公式如下:
15.更进一步地,在步骤s3中,cmp计算公式如下:
16.与现有技术相比,本发明的有益效果是:
17.该通过两路pwm输出任意线数的编码器倍频方法,与现有技术的区别在于,通过单位时间(t)内记录芯片捕捉到编码器的脉冲个数pluse0,通过倍频数(m),再在下一个单位时间内输出倍频后的脉冲个数pluse1,从而达到倍频,再通过以下公式来计算倍频后的脉冲周期时间t
pluse
:pluse1=pluse0*m,以此实现对任意线数倍频调整的同时,降低了产品的硬件成本和软件管理成本。
附图说明
18.图1为本发明的ab电平跳变逻辑示意图;
19.图2为本发明的cmp的值示意图。
具体实施方式
20.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
21.如图1-图2所示,本发明提供一种技术方案:一种通过两路pwm输出任意线数的编码器倍频方法,该方法可以实现任意线数倍频,输出的ab正交方波方向可调节。从而满足数控系统或者plc接收伺服驱动器反馈的脉冲。
22.具体实现步骤如下:
23.(1)采集单位时间内编码器的脉冲差量个数pluse0,包含方向,正数为增计数,负数为减计数,通过原始的编码器线数number0和倍频后的编码器线数number1计算出倍频后的脉冲差量个数pluse1,计算公式如下:
[0024][0025]
(2)通过步骤1计算出来的脉冲个数pluse1和单位时间t计算出倍频后的脉冲周期时间t
pluse
以及脉冲周期时间余数t
rem
,计算公式如下:
[0026][0027]
(3)通过脉冲周期时间t
pluse
和pwm的时钟信号t
clk
,得出pwm的比较寄存器的比较值cmp。计算公式如下
[0028][0029]
(4)通过pluse1的方向和上一刻ab信号的高低电平以及软件中是否有ab方向取反
标志来决定下一时刻ab电平谁先跳变。具体ab电平跳变逻辑如图1所示;
[0030]
(5)在周期时间余数t
rem
时间内,pwm的比较寄存器的比较值cmp加一,单位时间内的其他时间还是比较值cmp。cmp的值如图2所示;
[0031]
(6)根据第5步刷新两路pwm比较寄存器cmpa和cmpb的值:cmpa=cmpb=cmp;
[0032]
(7)根据第4步结果刷新两路pwm的时钟计算值,如果a电平先跳变,把第一路的pwm时钟计数值更新为把第二路的pwm时钟计数值更新为0;如果b电平先跳变,把第一路的pwm时钟计数值更新为0,把第二路的pwm时钟计数值更新为
[0033]
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附实施例及其等同物限定。
技术特征:
1.一种通过两路pwm输出任意线数的编码器倍频方法,其特征在于,包括以下步骤:s1:采集单位时间内编码器的脉冲差量个数pluse0,包含方向,正数为增计数,负数为减计数,通过原始的编码器线数number0和倍频后的编码器线数number1计算出倍频后的脉冲差量个数pluse1;s2:通过步骤1计算出来的脉冲个数pluse1和单位时间t计算出倍频后的脉冲周期时间t
pluse
以及脉冲周期时间余数t
rem
;s3:通过脉冲周期时间t
pluse
和pwm的时钟信号t
clk
,得出pwm的比较寄存器的比较值cmp;s4:通过pluse1的方向和上一刻ab信号的高低电平以及软件中是否有ab方向取反标志来决定下一时刻ab电平谁先跳变;s5:在周期时间余数t
rem
时间内,pwm的比较寄存器的比较值cmp加一,单位时间内的其他时间还是比较值cmp;s6:根据步骤s5刷新两路pwm比较寄存器cmpa和cmpb的值,cmpa=cmpb=cmp;s7:根据步骤s4结果刷新两路pwm的时钟计算值,如果a电平先跳变,把第一路的pwm时钟计数值更新为把第二路的pwm时钟计数值更新为0,如果b电平先跳变,把第一路的pwm时钟计数值更新为0,把第二路的pwm时钟计数值更新为2.根据权利要求1所述的一种通过两路pwm输出任意线数的编码器倍频方法,其特征在于:在步骤s1中,pluse1计算公式如下:于:在步骤s1中,pluse1计算公式如下:3.根据权利要求1所述的一种通过两路pwm输出任意线数的编码器倍频方法,其特征在于:在步骤s2中,t
rem
计算公式如下:t
rem
=t%pluse1。4.根据权利要求1所述的一种通过两路pwm输出任意线数的编码器倍频方法,其特征在于:在步骤s3中,cmp计算公式如下:
技术总结
本发明公开了一种通过两路PWM输出任意线数的编码器倍频方法,涉及主轴伺服控制器倍频编码器线数技术领域。包括以下步骤:S1:采集单位时间内编码器的脉冲差量个数Pluse0,包含方向,正数为增计数,负数为减计数,通过原始的编码器线数Number0和倍频后的编码器线数Number1计算出倍频后的脉冲差量个数Pluse1;S2:通过步骤1计算出来的脉冲个数Pluse1和单位时间T计算出倍频后的脉冲周期时间T
技术研发人员:雷柏林
受保护的技术使用者:江苏吉泰科电气有限责任公司
技术研发日:2023.06.26
技术公布日:2023/8/31
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/