一种基于zynq多轴多功能电机位置解码系统

文档序号:1492418 发布日期:2020-02-04 浏览:4次 >En<

阅读说明:本技术 一种基于zynq多轴多功能电机位置解码系统 (Multi-shaft multifunctional motor position decoding system based on ZYNQ ) 是由 邓子畏 周林 任强 田炜 叶霆 蒋增文 黄武 盛四华 于 2019-11-01 设计创作,主要内容包括:本发明公开了一种基于ZYNQ多轴多功能电机位置解码系统,包括设于ZYNQ芯片上可进行数据交互的处理器系统单元和可编程逻辑单元,所述处理器系统单元上设有用于实现可编程逻辑单元上参数配置和数据处理的ARM模块,可编程逻辑单元上设有:解码模块,用于对外置电机输入的多种编码器信号进行解码;八位并口模块,用于给外部处理器访问内部寄存器时提供对应接口;选择器模块,用于将电机编码器信号选择性输入至对应解码模块中进行解码;人机交互模块,用于实现人机之间的数据交互。本发明通过将多种解码模块集中设于可编程逻辑单元上并行解码,有效提高了编码器信号解码的实时性和同步性,同时极大程度上缓解了CPU的负担,为实现更加复杂算法提供了有利条件。(The invention discloses a ZYNQ-based multi-axis multifunctional motor position decoding system, which comprises a processor system unit and a programmable logic unit, wherein the processor system unit and the programmable logic unit are arranged on a ZYNQ chip and can perform data interaction, an ARM module for realizing parameter configuration and data processing on the programmable logic unit is arranged on the processor system unit, and the programmable logic unit is provided with: the decoding module is used for decoding various encoder signals input by the external motor; the eight-bit parallel port module is used for providing a corresponding interface when the external processor accesses the internal register; the selector module is used for selectively inputting the motor encoder signals into the corresponding decoding module for decoding; and the human-computer interaction module is used for realizing data interaction between human and computers. The invention effectively improves the real-time performance and the synchronism of the encoder signal decoding by intensively arranging various decoding modules on the programmable logic unit for parallel decoding, simultaneously relieves the burden of a CPU to a great extent and provides favorable conditions for realizing more complex algorithms.)

一种基于ZYNQ多轴多功能电机位置解码系统

技术领域

本发明涉及到领域,尤其涉及一种基于ZYNQ多轴多功能电机位置解码系统。

背景技术

随着现代工业自动化程度越来越高,电机作为核心部件,性能包括速度精度、调速范围、动态响应、转矩脉动等方面也提出了更高的要求,电机位置编码器将当前电机位置和速度实时送到处理器中,位置反馈量准确度和速度直接影响电机的控制性能。多轴并列、者串联机械臂的发展又进一步促使多轴驱动器的发展,为保证多个电机位置编码器的解码实时性,传统的方式使用CPU和DSP很难保证完成多轴电机位置解码同时,还要实现复杂的控制算法。

发明内容

本发明的目的是提供一种基于ZYNQ多轴多功能电机位置解码系统,所述解码系统通过将三种多路位置编码器的解码模块集中设于ZYNQ芯片的可编程逻辑单元上并行解码,有效提高了编码器信号解码的实时性和同步性,同时极大程度上缓解了CPU的负担,为实现更加复杂算法提供了有利条件。

为解决上述技术问题,本发明提供一种基于ZYNQ多轴多功能电机位置解码系统,包括设于ZYNQ芯片上可进行数据交互的处理器系统单元和可编程逻辑单元,所述处理器系统单元上设有用于实现可编程逻辑单元上参数配置和数据处理的ARM模块,可编程逻辑单元上设有:

解码模块,用于对外置电机输入的多种编码器信号进行解码;

八位并口模块,用于给外部处理器访问内部寄存器时提供对应接口;

选择器模块,用于将电机编码器信号选择性输入至对应解码模块中进行解码;

人机交互模块,用于实现人机之间的数据交互。

作为上述技术方案的进一步优化,所述解码模块包括用于对电机输入的ABZ差分信号进行解码以获取当前电机转速、电机转速方向和电机位置的增量式ABZ解码模块;用于对电机的输入信号进行解码以为电机动态响应提供高速控制保障的多摩川解码模块;用于对电机的输入信号进行解码以获取电机位置信息并将获取的电机位置信息存储于指定寄存器中的尼康解码模块。

作为上述技术方案的进一步优化,所述ZYNQ芯片选用型号为XC7Z020-2CLG400I的SoC芯片。

作为上述技术方案的进一步优化,所述ARM模块选用型号为双Cortex-A9 ARM内核。

作为上述技术方案的进一步优化,所述人机交互模块包括用于设置参数和显示界面的数码管、用于显示驱动器供电情况和运行状态的指示灯,以及用于将参数输入各个模块的按键。

作为上述技术方案的进一步优化,所述选择器模块与解码模块之间以及选择器模块与外置电机之间均通过AXl4-Lite连接以实现数据交互。

作为上述技术方案的进一步优化,还包括用于对外部输入信号进行滤波的滤波模块。

作为上述技术方案的进一步优化,所述滤波模块包括按键滤波和增量式编码器输入的ABZ差分信号滤波。

与现有技术比较,本发明可将市场主流的多种多路位置编码器的解码模块集中设于ZYNQ芯片的可编程逻辑单元上,并通过选择器模块将多种多路位置编码器信号选择性输入至对应的解码模块中并行解码,有效提高了编码器信号解码的实时性和同步性,不需要依赖CPU的大量中断负载,极大程度上缓解了CPU的负担,为实现更加复杂算法提供了有利条件。

附图说明

图1是本发明基于ZYNQ多轴多功能电机位置解码系统的结构示意图,

图2是本发明中增量式ABZ解码模块的结构框图,

图3是本发明中多摩川编码器控制字格式的结构图,

图4是本发明中接收到多摩川编码器反馈数据格式的结构图,

图5是本发明中尼康解码模块的结构框图,

图6是本发明中尼康编码器发送命令格式的结构图。

图中:1.ARM模块,2.增量式ABZ解码模块,3.多摩川解码模块,4.尼康解码模块,41.控制寄存器,42.定时模块,43.控制模块,44.位置解码模块,45.待发控制字模块,46.16为串口发送模块,47.16位串口接收模块,5.八位并口模块,6.选择器模块,7.人机交互模块,8.滤波模块,9.ZYNQ芯片,10.电机。

具体实施方式

为了使本技术领域的人员更好地理解本发明的技术方案,下面结合附图对本发明作进一步的详细说明。

如图1所示,一种基于ZYNQ多轴多功能电机位置解码系统,包括设于ZYNQ芯片9上可进行数据交互的处理器系统单元和可编程逻辑单元,所述处理器系统单元上设有用于实现可编程逻辑单元上参数配置和数据处理的ARM模块1,可编程逻辑单元上设有:

解码模块,用于对外置电机输入的多种编码器信号进行解码;

八位并口模块5,用于给外部处理器访问内部寄存器时提供对应接口;

选择器模块6,用于将电机编码器信号选择性输入至对应解码模块中进行解码;

人机交互模块7,用于实现人机之间的数据交互。

本实施例中,通过将多种多路位置编码器对应的解码模块集中设于所述ZYNQ芯片9的可编程逻辑单元上,当外置电机10将多路位置编码器信号输入系统时,所述选择器模块6选择性的将多路位置编码器信号输入至对应的解码模块中并行解码,从而不需要依赖CPU的大量中断负载,极大程度上缓解了CPU的负担,为实现更加复杂算法提供了有利条件,同时也有效提高了编码器信号解码的实时性和同步性。

如图2-图6所示,所述解码模块包括用于对电机输入的ABZ差分信号进行解码以获取当前电机转速、电机转速方向和电机位置的增量式ABZ解码模块2;用于对电机的输入信号进行解码以为电机动态响应提供高速控制保障的多摩川解码模块3;用于对电机的输入信号进行解码以获取电机位置信息并将获取的电机位置信息存储于指定寄存器中的尼康解码模块4。

本实施例中,选用了现阶段市场主流的三种位置编码器,分别为增量式ABZ编码器、多摩川编码器和尼康位置编码器,故所述解码模块包括与位置编码器对应的增量式ABZ解码模块2、多摩川解码模块3和尼康解码模块4对编码器信号进行解码。其中增量式ABZ编码器、多摩川编码器和尼康位置编码器均通过RS485实现物理连接,波特率为2.5M。在其他实施例中,可以选用其他类型的编码器进行检测,当选用其他类型编码器时,则所述可编程逻辑单元上需要通过增加或改变与各类型编码器对应的解码模块类型。

本实施例中,所述解码过程为:首先将信号(如按键或ABZ)送入FPGA的通用IO口,系统时钟50MHz通过分频器产生一个1KHz的频率对信号进行采样,然后将采样结果送入10位的移位寄存器里面,此时电平处理模块实时检测移位寄存器的值,若数值等于0×03FF,则系统认定当前的信号电平为1;若数值等于0×0000,则系统认定当前的信号电平为0。

如图2所示,增量式ABZ编码器输入的是ABZ差分信号,为实现该ABZ差分信号的解码,所述增量式ABZ解码模块2利用M/T法测速模块81实现M/T法测速,通过人机交互模块7和八位并口模块5设置增量式ABZ解码模块2的相关参数,然后结合M法在测量较高的转速可以获得较高的分辨率和T法在测量较低的速度时可以获得较高的分辨率的特点,无论高速低速都可以获取较高分辨率;A相和B两相之间相差90度,通过鉴相器82比较A相在前还是B相在前,从而判断出增量式ABZ编码器是正转还是反转;由于Z相为零位脉冲,进而可获得增量式ABZ编码器的零位参考位,结合输入编码器的解析分读和电机极对数,就可以通过多圈位置测量记录模块83记录电机启动之后的多圈位置,从而取到当前电机转速、电机转速方向、电机位置。

如图3、图4所示,所述多摩川解码模块3用于对多摩川单圈17bit多圈16bit的绝对位置编码器输出的编码信号进行解码,该编码器与解码模块之间采用应答通讯方式,数据通讯是基于RS485硬件接口,通讯波特率是2.5M串行通讯,通讯距离可达20米,同时通过CRC循环冗余校验数据来避免数据出错导致异常问题发生。所述多摩川解码模块3只需发送一个字节控制数据,便可以读取编码器单圈、多圈、全部数据以及复位状态,外置电机编码器接收到多摩川解码模块3发送的控制字之后,会返回接收到的控制字(CF)、编码器状态字(SF)、编码器ID(能够识别编码器基本类别)和编码器数据(DF0、DF1、DF7等),所述多摩川解码模块在解码过程中使用定时器连续进行位置解码,使用三段式状态机实现数据的发送接收,CRC校验过程如图4。解码时,先通过人机交互模块7和八位并口模块5将定时器的周期设置为100us,当定时器到点之后,取出预先所寄存的控制字,然后等待外置编码器将数据发送给多摩川解码模块3,多摩川解码模块3接收数据并进行解码,解码完成之后产生中断并转入到等待定时器触发状态。所述多摩川解码模块3读取一次编码全部数据需要大约60uS,因此为电机动态响应提供高速控制保障。

如图5、图6所示,所述尼康解码模块4可细分为七个小模块:控制寄存器41、定时模块42、控制模块43、位置解码模块44、待发控制字模块45、16位串口发送模块46和16位串口接收模块47,通过七个小模块对尼康位置编码器(MAR-M50AH)输出的编码信号进行解码,编码器与位置解码模块44之间采用问答通讯方式,通讯协议支持RS485半双工,波特率默认为2.5Mbps,其精度单圈数据位20bit,多圈数据位16bit。解码时,先通过人机交互模块7和八位并口模块5设定好定时模块42的时间周期和待发控制字模块45的控制字,定时模块42到达设定时间后,控制模块43触发待发控制字模块45的控制字并通过16位串口发送模块46进行发送,等待10us之后,16位串口接收模块47接收到编码器反馈的数据,同时将反馈数据传输给位置解码模块44进行解码,从而获得电机位置信息,然后将所获得的电机位置信息存储到控制寄存器41中。

如图1所示,所述ZYNQ芯片9选用型号为XC7Z020-2CLG400I的SoC芯片。本实施例中,所述ZYNQ芯片9选用Xilinx公司的ZYNQ7000系列XC7Z020-2CLG400I的SoC芯片。

如图1所示,所述ARM模块1选用型号为双Cortex-A9 ARM内核。本实施例中,所述ARM模块1选用Xilinx公司的型号为双Cortex-A9 ARM内核,其主频可达767MHz,从而能够有效保证SRM模块1实现各个模块参数配置和数据处理等功能。

如图1所示,所述人机交互模块7包括用于设置参数和显示界面的数码管、用于显示驱动器供电情况和运行状态的指示灯,以及用于将参数输入各个模块的按键。本实施例中,所述人机交互模块7(HMI)包括五个七段数码管用于设置各个模块参数和显示界面,两个用于显示驱动器供电情况和运行状态的指示灯,以及五个用于将参数输入各个模块中的按键。在其他实施例中,人机交互模块7中的数码管、指示灯和按键可根据实际需求进行相应配置调整。

如图1所示,所述选择器模块6与解码模块之间以及选择器模块6与外置电机10之间均通过AXl4-Lite连接实现数据交互。本实施例中,为了保证各个模块之间数据交互的及时有效性,所述选择器模块6与解码模块之间以及选择器模块6与外置电机10之间均通过AXl4-Lite进行连接。在其他实施例中,也可以是其他连接方式,如AXL4等。

如图1、图2所示,还包括用于对外部输入信号进行滤波的滤波模块8。

如图1、图2所示,所述滤波模块8包括按键滤波和增量式编码器输入的ABZ差分信号滤波。

本实施例中,所述滤波模块8用于对外部输入信号进行滤波,包括按键滤波去抖和增量式编码器输入的ABZ差分信号滤波,利用分频器产生一个1KHz低频采样时钟,并通过采样IO口电平进行采样,每次采样结果都存储在移位寄存器的最低位,并以此将前9次采样结果往高位平移;当10次采样结果都为1时,所述可编程逻辑单元才认定此时的输入为高电平;当10次采样结果都为0时,可编程逻辑单元才认定此时的输入为低电平;同时将所判断的信号电平进行缓存,并按照独特码的方式进行编码,从而实现按键滤波去抖。而增量式ABZ编码器信号为差分信号,因此所述ABZ差分信号使用差分转单端和电平转换之后进入FPGA还需要进行滤波处理,ABZ差分信号滤波处理选取的采样频率为25M,以为寄存器的位宽为5bit,滤波处理过程与按键滤波去抖相同,此处不再赘述。

以上对本发明所提供的一种基于ZYNQ多轴多功能电机位置解码系统进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

10页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:无刷直流电机双模控制的切换方法及切换系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!