一种基于FPGA的交流伺服串行通信编码器位置反馈脉冲分频输出方法及系统与流程

文档序号:35383823发布日期:2023-09-09 11:53阅读:123来源:国知局
一种基于FPGA的交流伺服串行通信编码器位置反馈脉冲分频输出方法及系统与流程

本发明涉及交流伺服系统,具体涉及一种基于fpga的交流伺服串行通信编码器位置反馈脉冲分频输出方法及系统。


背景技术:

1、编码器是各类机械最常用的检测装置之一,按照信号原理可分为增量式编码器和绝对值编码器。其中,增量式编码器存在零点累计误差、抗干扰较差、接收设备的停机需断电记忆、开机应找零或参考位等问题;绝对式编码器在定位方面明显的优于增量式编码器,但因其高精度,输出位数较多,如用并行输出,其每一位输出信号必须确保连接很好,对于较复杂工况还要隔离,连接电缆芯数多,由此带来诸多不便和降低可靠性,因此绝对式编码器一般均选用串行输出。

2、在高精度交流伺服系统中,电机通常采用高分辨率的绝对值编码器,通过串行通讯的方式进行位置反馈。在很多应用场合,要求将电机编码器位置数据转化为脉冲输出至上位装置,通常要求伺服系统输出两路正交信号a、b和原点信号z,对于绝对值编码器而言,由于其输出的是位置数据,因此需要需要解决如何按照上位装置的要求输出可分频的编码器位置反馈脉冲的问题。并且,本发明还解决现有的反馈脉冲分频中存在的脉冲个数不准确、输出脉冲频率不能跟随编码器反馈值的变化而变化、分频脉冲最大数值低于编码器单圈数值、输出两路正交信号a、b脉冲的相位关系不能更改等问题。


技术实现思路

1、本发明为解决现有技术中交流伺服系统不能按照上位装置的要求实现串行通信编码器位置反馈脉冲分频输出的技术问题,提供一种基于fpga的交流伺服串行通信编码器位置反馈脉冲分频输出方法和系统,可以按照上位装置的要求实现串行通信编码器位置反馈脉冲分频输出,并且分频脉冲个数准确、输出脉冲频率严格跟随编码器反馈值的变化而变化、分频脉冲最大数值不低于编码器单圈数值、输出两路正交信号a、b脉冲的相位关系可更改。

2、本发明采用的技术方案:

3、一种基于fpga的交流伺服串行通信编码器位置反馈脉冲分频输出方法,包括以下步骤:

4、s1:周期性读取编码器位置反馈数据,计算本周期读取的位置反馈数据与前一周期读取的位置反馈数据之差;

5、s2:采用dda算法,将所述位置反馈数据之差在编码器位置反馈数据采样周期时间内转换成均匀分布的脉冲信号pclk;

6、s3:用所述脉冲信号pclk作为触发时钟,对需要输出的每圈输出脉冲数数值进行dda计算,每溢出一次就改变一次正交输出脉冲的状态,从而产生分频正交脉冲信号a和分频正交脉冲信号b。

7、进一步地,所述方法还包括以下步骤:

8、s4:同时对所述脉冲信号pclk进行计数,当计数值等于预设的零点位置值时,输出零点脉冲信号z。

9、进一步地,步骤s1具体包括以下步骤:

10、s11:检测编码器反馈数据采样周期更新信号的上升沿产生时钟信号ck625;

11、s12:伺服系统上电初始化时,读取编码器位置反馈数据,将编码器初始位置值写到采样周期内分频输出脉冲数计算模块,作为编码器当前位置值的初始值;

12、s13:以时钟信号ck625作为触发信号,将编码器当前位置值写入采样周期内分频输出脉冲数计算模块;

13、s14:通过两次采样的位置反馈数据差值,计算出当前时钟周期内要输出的位置脉冲偏差。

14、进一步地,步骤s2具体包括以下步骤:

15、s21:计算出dda因子,由系统时钟分频产生时钟信号pgck,时钟信号pgck的频率等于时钟信号ck625的频率乘以dda因子;

16、s22:将位置脉冲偏差和dda因子写入分频脉冲发生器模块,以时钟信号pgck为触发信号对位置脉冲偏差进行累加,累加和超过dda因子时溢出,产生均匀分布的脉冲信号pclk。

17、进一步地,步骤s3具体包括以下步骤:

18、s31:将脉冲信号pclk送到正交输出脉冲发生模块,将每圈输出脉冲数写入正交输出脉冲发生模块;

19、s32:以脉冲信号pclk作为累加时钟,对每圈输出脉冲数进行累加计数,用2n作为累加溢出判断基准,n为编码器位置反馈有效位数,每溢出一次改变一次分频正交脉冲信号a和分频正交脉冲信号b的状态;通过脉冲输出取反信号可以改变分频正交脉冲信号a和分频正交脉冲信号b的相位关系。

20、进一步地,步骤s4具体包括以下步骤:

21、s41:将脉冲信号pclk送到输出脉冲计数器模块,对计数值进行存储;当计数值与设定的零点位置值相等时,零点z信号输出计数器模块7产生零点脉冲信号z;通过z信号输出使能信号可以控制零点z信号输出计数器模块工作。

22、本发明的另一方面,提供一种基于fpga的交流伺服串行通信编码器位置反馈脉冲分频输出系统,包括第一时钟模块、第二时钟模块、采样周期内分频输出脉冲数计算模块、分频脉冲发生器模块、正交输出脉冲发生模块、输出脉冲计数器模块和零位z信号输出计数器模块,其中,

23、第一时钟模块用于根据编码器反馈数据采样周期更新信号的上升沿产生时钟信号ck625;

24、第二时钟模块用于将系统时钟分频产生时钟信号pgck;

25、采样周期内分频输出脉冲数计算模块用于计算出在时钟信号ck625的触发下两次采样的编码器位置脉冲偏差;

26、分频脉冲发生器模块用于以时钟信号pgck为触发信号对位置脉冲偏差进行累加,累加和超过dda因子时溢出,产生均匀分布的脉冲信号pclk;

27、正交输出脉冲发生模块用于以脉冲信号pclk作为累加时钟,对每圈输出脉冲数进行累加计数,用2n作为累加溢出判断基准,n为编码器位置反馈有效位数,每溢出一次改变一次分频正交脉冲信号a和分频正交脉冲信号b的状态;通过脉冲输出取反信号可以改变分频正交脉冲信号a和分频正交脉冲信号b的相位关系;

28、输出脉冲计数器模块用于对脉冲信号pclk计数和存储;零位z信号输出计数器模块用于将计数值与设定的零点位置值相等时,零点z信号输出计数器模块产生零点脉冲信号z;通过z信号输出使能信号可以控制零点z信号输出计数器模块工作。

29、进一步地,所述fpga选用安路公司的eg4x20。

30、本发明的有益效果:本发明提供的一种基于fpga的交流伺服串行通信编码器位置反馈脉冲分频输出方法及系统,可以按照上位装置的要求实现串行通信编码器位置反馈脉冲分频输出,并且分频脉冲个数准确、输出脉冲频率严格跟随编码器反馈值的变化而变化、分频脉冲最大数值不低于编码器单圈数值、输出两路正交信号a、b脉冲的相位关系可更改。



技术特征:

1.一种基于fpga的交流伺服串行通信编码器位置反馈脉冲分频输出方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的基于fpga的交流伺服串行通信编码器位置反馈脉冲分频输出方法,其特征在于,所述方法还包括以下步骤:

3.根据权利要求2所述的基于fpga的交流伺服串行通信编码器位置反馈脉冲分频输出方法,其特征在于,步骤s1具体包括以下步骤:

4.根据权利要求3所述的基于fpga的交流伺服串行通信编码器位置反馈脉冲分频输出方法,其特征在于,步骤s2具体包括以下步骤:

5.根据权利要求4所述的基于fpga的交流伺服串行通信编码器位置反馈脉冲分频输出方法,其特征在于,步骤s3具体包括以下步骤:

6.根据权利要求5所述的基于fpga的交流伺服串行通信编码器位置反馈脉冲分频输出方法,其特征在于,步骤s4具体包括以下步骤:

7.一种基于fpga的交流伺服串行通信编码器位置反馈脉冲分频输出系统,其特征在于,包括第一时钟模块(1)、第二时钟模块(2)、采样周期内分频输出脉冲数计算模块(3)、分频脉冲发生器模块(4)、正交输出脉冲发生模块(5)、输出脉冲计数器模块(6)和零位z信号输出计数器模块(7),其中,

8.根据权利要求7所述的基于fpga的交流伺服串行通信编码器位置反馈脉冲分频输出系统,其特征在于,所述fpga选用安路公司的eg4x20。


技术总结
本发明涉及交流伺服系统技术领域,具体涉及一种基于FPGA的交流伺服串行通信编码器位置反馈脉冲分频输出方法及系统,所述方法包括以下步骤:周期性读取编码器位置反馈数据,计算本周期读取的位置反馈数据与前一周期读取的位置反馈数据之差;将位置反馈数据之差在编码器位置反馈数据采样周期时间内转换成均匀分布的脉冲信号PCLK;用脉冲信号PCLK作为触发时钟,对需要输出的每圈输出脉冲数数值进行DDA计算,每溢出一次就改变一次正交输出脉冲的状态,从而产生分频正交脉冲信号A和分频正交脉冲信号B。本发明提供的一种基于FPGA的交流伺服串行通信编码器位置反馈脉冲分频输出方法,可以按照上位装置的要求实现串行通信编码器位置反馈脉冲分频输出。

技术研发人员:廖富全,徐亮,徐振华
受保护的技术使用者:常州洛源智能科技有限公司
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1