CN202172382U - 多轴步进电机插补控制器及多轴步进电机运动控制卡 - Google Patents
多轴步进电机插补控制器及多轴步进电机运动控制卡 Download PDFInfo
- Publication number
- CN202172382U CN202172382U CN2011202808700U CN201120280870U CN202172382U CN 202172382 U CN202172382 U CN 202172382U CN 2011202808700 U CN2011202808700 U CN 2011202808700U CN 201120280870 U CN201120280870 U CN 201120280870U CN 202172382 U CN202172382 U CN 202172382U
- Authority
- CN
- China
- Prior art keywords
- signal
- stepping motor
- output
- register
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn - After Issue
Links
Images
Landscapes
- Control Of Stepping Motors (AREA)
Abstract
本实用新型公开了一种多轴步进电机插补控制器和运动控制卡。该插补控制器包括寄存器文件单元和任务逻辑单元,任务逻辑单元包括可编程分频器、多轴数字积分器模块、终点判定模块和状态机模块。该运动控制卡包括步进电机功率驱动模块和该插补控制器,还包括基于NiosII的最小系统及其外围器件,及SPWM细分驱动器;该SPWM细分驱动器的输入端与插补控制器的输出端相连,其输出端与步进电机功率驱动模块的输入端相连。由于作为本运动控制卡主要组成部分的插补控制器和SPWM细分驱动器等均用FPGA来实现,即:其差补算法和细分驱动等均用硬件来实现,因此与现有技术相比,本运动控制卡在设计结构、系统升级、实时性、控制精度和可靠性等方面有较明显优势。
Description
技术领域
本实用新型涉及步进电机的控制,更具体地说是涉及一种多轴步进电机插补控制器及一种多轴步进电机运动控制卡。
背景技术
随着现代加工制造业的迅猛发展,普通三轴数控机床已满足不了人们对加工零件的要求,多轴数控机床由于能加工异型、复杂的零件曲面,因而在现代加工制造业中,特别是在航天、航空、军事工业中得到广泛地应用,因此,研究高精度、高性能的多轴数控机床已经成为整个机床行业的研究重点。多轴运动控制卡是多轴数控机床的重要组成部件,作为数控机床的下位控制单元,它与PC机构成主从式控制结构,能对步进电机进行复杂逻辑处理、速度控制、联动控制等。计算机控制步进电机的常用方法是在计算机内部安装运动控制卡,该运动控制卡的输出插头与步进电机驱动电路相连接,控制步进电机运行。
插补控制器是机床数控系统的基本单元,用来完成运动轨迹的拟合。随着加工零件结构复杂程度的提高,对数控系统的插补控制器性能也有了更高的要求,不仅要求插补控制器具有高精度、高速度,还要求具有多轴联动控制功能,以便于对复杂曲面零部件进行加工。目前广泛采用具有五轴联动线性插补功能的插补控制器,但是,目前数控系统采用的多为软件插补器,其对数控指令的轨迹的插补计算是采用CPU通过软件计算各个轴发出的脉冲量和速度,直接由软件插补器发出脉冲指令信号控制各个轴的驱动。由于该计算通常是以软件计数中断服务程序来实现,因而机床的轴数越多,程序行就越长。通常一个三轴的中断插补服务程序要几十行,考虑到CPU的指令周期,每个插补周期就会较长,这样就限制了轴数扩展和插补运行速度的提高。而新近出现的采用基于DSP+FPGA设计结构的多轴运动控制卡,其DSP与FPGA完全分离,设计复杂,开发成本较高。
实用新型内容
针对以上情况,本实用新型的第一目的,在于提供一种速度快、精度高、实时性强而性价比较高的基于数字积分算法(DDA)的多轴步进电机插补控制器。
本实用新型的第二目的,在于提供一种能对步进电机进行复杂逻辑处理、速度控制、联动控制、性价比高、能应用于多轴复杂数控系统中的多轴步进电机运动控制卡。
一、本实用新型多轴步进电机插补控制器的技术方案为:
本实用新型多轴步进电机插补控制器,其信号输入端直接或间接地与上位机相连,其信号输出端直接或间接地与步进电机功率驱动模块的步进脉冲输入端相连;其特别之处在于:本插补控制器包括有寄存器文件单元和任务逻辑单元;
(1)所述寄存器文件单元,是所述任务逻辑单元与上位机的数据通道,用于寄存上位机发送来的加工数据、控制信号和所述任务逻辑单元发送来的插补控制器运行状态信号,包括有分频因子寄存器、各轴坐标寄存器、状态寄存器、总步进数寄存器、控制寄存器;所述分频因子寄存器,用于寄存由上位机发来的所述任务逻辑单元可编程分频器的分频因子,用以调整、控制插补器的插补速度;所述各轴坐标寄存器,分别用于寄存各轴步进电机的运动终点坐标值,并作为本次数字积分器的被积函数,如果某一轴坐标值越大,意味着该轴的运动距离越远,故而在单位时间内数字积分器应产生的步进脉冲越多;所述状态寄存器,用于寄存表明插补控制器当前所处“闲”或“忙”的运行状态信号,可用高或低电平来表示;所述总步进数寄存器,用于寄存各步进电机要走的总步进数总和;所述控制寄存器,用于寄存步进电机的多种控制信息,包括暂停控制信号、启动信号和各步进电机的转动方向控制信号;
(2)所述任务逻辑单元,用于实现多轴步进电机的联动控制和速度控制,包括有可编程分频器、多轴数字积分器模块、终点判定模块和状态机模块;
所述可编程分频器,包括有系统时钟信号输入端、分频因子数据输入端和分频信号输出端;所述分频因子数据输入端与所述寄存器文件单元中的分频因子寄存器的数据输出端相连,所述分频信号输出端与所述多轴数字积分器模块的工作时钟输入端相连,以根据所述分频因子寄存器中寄存的分频因子值对系统时钟进行分频,向所述多轴数字积分器模块提供工作时钟,从而实现步进电机的速度控制;
所述多轴数字积分器模块,由多个互相独立的数字积分器组成,每一个步进电机运动轴对应一个数字积分器,用于产生各轴步进电机的联动步进脉冲信号;各数字积分器包括有加法器和余数寄存器:该加法器的两个数据输入端分别与所述余数寄存器的数据输出端和所述寄存器文件单元中对应的轴坐标寄存器的数据输出端相连;该加法器还具有一个与所述状态机模块的步进电机控制使能输出端相连的加法运算使能输入端;本加法器的输出端与所述余数寄存器的数据输入端相连;所述各余数寄存器数据输出端的最高位为本插补控制器的步进脉冲信号输出端,直接或通过后级的细分驱动电路与所述步进电机功率驱动模块的步进脉冲输入端相连,用于输出相应轴步进电机的步进脉冲信号,除此之外,此最高位还作为所述终点判定模块的计数脉冲,与所述终点判定模块的步进脉冲信号输入端相连;该加法器及余数寄存器还具有工作时钟输入端,该工作时钟输入端与所述可编程分频器的分频信号输出端相连;所述余数寄存器还具有清零输入端,该清零输入端与所述状态机模块的清零使能输出端相连;本模块的工作原理:所述各坐标值寄存器存放本次插补的终点坐标值,作为数字积分器的被积函数。在插补前,清零输入端对余数寄存器内容清零,插补启动后,在工作时钟的控制下,各轴的数字积分器对各轴的被积函数(坐标寄存器中的值)进行数字积分运算(即:加法器对坐标寄存器的值和余数寄存器的值进行一次加法运算,并把运算结果存放在余数寄存器中),由于本方案把余数寄存器的最高位作为驱动步进电机的步进脉冲,从而不断地产生各轴步进电机的步进脉冲信号,控制着各轴步进电机的运动速度,实现各轴的联动控制
所述终点判定模块,用于判定步进电机是否运动到终点,包括有各轴步进脉冲信号输入端、总步进数据输入端、读总步进数据的控制信号输入端和差补结束信号输出端;所述各轴步进脉冲信号输入端分别与所述多轴数字积分器模块的对应轴的步进脉冲信号输出端相连,所述总步进数据输入端与所述寄存器文件单元中的总步进数寄存器的数据输出端相连,所述读总步进数据的控制信号输入端与所述状态机模块的读总步进数控制使能输出端相连,所述差补结束信号输出端与所述状态机模块的差补结束通知信号输入端相连;本模块的终点判定工作原理:本终点判定模块对各数字积分器输出的各轴步进脉冲进行计数,并将该计数的结果与所述总步进数寄存器中所存的相应值进行比较,如相等,表示已到达终点,向所述状态机发送本次差补结束通知信号。
所述状态机模块,是多轴步进电机运动控制卡的协调控制中心,用于产生各种时序控制信号,协调所述多轴数字积分器和终点判定模块的工作;本状态机模块包括有与所述寄存器文件单元中的控制寄存器输出端相连的暂停控制信号输入端及启动信号输入端、与所述终点判定模块的差补结束信号输出端相连的差补结束通知信号输入端、与所述终点判定模块的读总步进数据的控制信号输入端相连以用于通知所述终点判定模块读取总步进数寄存器的值的读总步进数控制使能输出端、与所述多轴数字积分器模块的各加法器加法运算使能输入端相连的步进电机控制使能输出端、与所述多轴数字积分器模块的各余数寄存器清零输入端相连的寄存器内容清零使能输出端,及,与所述状态寄存器相连的、用于表明本插补控制器当前所处“闲”或“忙”状态的运行状态信号输出端;并且,本状态机可设定具有如下三个工作状态:
在本插补控制器没有启动前,本状态机运行在“空闲”状态:在此状态中,状态机把所述状态信号输出端设置输出含义为“闲”的插补控制器运行状态信号;
当所述启动信号输入端收到所述控制寄存器发来的启动信号后,本状态机进入数据初始化状态:在此状态中,状态机模块把所述状态信号输出端设置输出含义为“忙”的插补控制器运行状态信号,除此之外,还产生一个清零信号和一个读信号:该清零信号通过所述寄存器内容清零使能输出端对所述数字积分器的各余数寄存器内容进行清零,而该读信号通过所述读总步进数控制使能输出端通知所述终点判定模块读取总步进数寄存器的值;并进而,
在时钟控制下,本状态机无条件地进入步进电机控制状态:在此状态中,本状态机模块通过所述步进电机控制使能输出端向所述多轴数字积分器模块发出步进电机控制使能信号,启动多轴数字积分器模块开始进行积分运算,产生各轴步进电机脉冲信号;
当所述差补结束通知信号输入端接收到所述终点判定模块发来的差补结束通知信号时,本状态机退出步进电机控制状态,再次进入“空闲”状态。
上述方案中,利用可编程分频器来控制步进电机的转动速度的原理是:分频器的分频因子变大,则系统时钟被分频器分频得到的频率变小,从而,数字积分器的工作时钟变小,数字积分器的运算速度变慢,步进电机速度变小;相反,分频器分频因子变小,分频器的输出频率变大,多轴数字积分器的运算速度变快,步进电机转速变快。
上述方案的多轴步进电机插补控制器,其信号输入端也可通过一接口单元,直接或间接地与上位机相连;所述接口单元,把所述任务逻辑单元通过所述寄存器文件单元,直接或间接地连到上位机的数据总线上,实现所述任务逻辑单元与上位机的通信。
作为对上述多轴步进电机插补控制器的优化,为了减少FPGA的I/O口占用率,降低编程难度,提高对多个步进电机的速度控制和实时地联动控制性能,本发明人将该插补控制器设计成硬件插补控制IP核形式,直接挂在Avalon数据总线上。所述接口单元,采用Avalon接口单元。由于采用了数字积分器,此时该插补控制器得以全都由硬件来实现,因此,本控制器具有速度快、精度高和实时性强等优点,便于应用于多轴复杂的数控系统中。
二、本实用新型多轴步进电机运动控制卡的技术方案为:
本实用新型多轴步进电机运动控制卡,包括有多轴步进电机插补控制器、步进电机功率驱动模块;所述多轴步进电机插补控制器的信号输入端直接或间接地与上位机相连,其信号输出端直接或间接地与步进电机功率驱动模块的步进脉冲输入端相连;该功率驱动模块的输出端与步进电机相连;其特别之处在于:所述多轴步进电机插补控制器,采用上述技术方案的所述多轴步进电机插补控制器。
作为对上述方案的进一步优化,本实用新型多轴步进电机运动控制卡还包括有基于NiosII的最小系统,基于Nios II的最小系统的外围器件,以及,SPWM细分驱动器;所述SPWM细分驱动器,其信号输入端与所述插补控制器的信号输出端相连,其信号输出端与所述步进电机功率驱动模块的步进脉冲信号输入端相连;所述基于Nios II的最小系统,包括有Avalon数据总线,以及,与Avalon数据总线相连的Nios II处理器和多个外围器件接口控制器;所述外围器件接口控制器包括有UART控制器、JTAG控制器、EPCS控制器、SDRAM控制器和LCD控制器;所述基于Nios II的最小系统的外围器件,包括有USB接口单元、EPCS存贮器、SDRAM存储器、LCD显示器;此时,所述插补控制器设计为硬件插补控制IP核形式,并设计包括有Avalon接口单元,并与所述基于Nios II的最小系统集成在同一片FPGA上;所述步进电机插补控制器的信号输入端连接到所述Avalon数据总线上;所述基于Nios I I的最小系统的各外围器件,通过所述FPGA的I/O口与相应的外围器件接口控制器相连,并通过对应的外围器件接口控制器,经Avalon数据总线与Nios II处理器进行数据交换;所述Avalon接口单元,把所述任务逻辑单元通过所述寄存器文件单元连到所述Avalon数据总线上,实现所述任务逻辑单元与所述NiosII处理器的通信;上位机的步进电机运动控制指令信号输出端,与本运动控制卡的所述USB接口单元相连。
作为对上述方案的再进一步改进,本实用新型多轴步进电机运动控制卡还可将所述步进电机插补控制器、所述SPWM细分驱动器和所述基于Nios II的最小系统集成在同一片FPGA上。具体地,所述SPWM细分驱动器可设计采用二相混合式步进电机SPWM细分驱动器,包括有用于产生ROM地址的地址发生器,存储有励磁电流数据的ROM,PWM调制器,数据变换器,PI调节器,数字变相器;所述ROM为双口ROM;所述地址发生器、双口ROM、数据变换器、PI调节器、PWM调制器、数字变相器和步进电机双H桥功率驱动电路顺序相连;
所述地址发生器,其输入信号端接收从上位机直接或间接地传送来的步进脉冲信号、方向控制信号和暂停信号,并据所述方向控制信号和暂停信号对步进脉冲信号进行加1或减1、以及暂停计数;所述计数结果,分别作为所述双口ROM的A和B相输入地址,它们之间的相位差为π/2;所述地址发生器,还向后级的数据变换器和数字变相器提供A相和B相的极性信号;
所述双口ROM,包含二套相互独立的输入和输出口,该ROM中存放着一个周期的按正弦阶梯波变化的励磁电流数据;
所述数据变换器,根据所述地址发生器发送的A相和B相的极性信号,把从所述双口ROM中双口输出的一个周期的正弦数据变换成以x轴对称的A相和B相两路正弦数据,并分别送至各自的PI调节器;
所述两PI调节器,根据上述的本路正弦数据和从步进电机本相采样绕组的反馈电压信号之间的差值分别进行PI调节,并向各自的PWM调制器输出相应的PI调节控制信号;
所述两PWM调制器,对前述本路PI调节器传来的PI调节控制信号值分别进行PWM调制,并向数字变相器分别输出占空比不同的两路PWM控制信号;
所述数字变相器,根据所述地址发生器发送来的A相和B相极性信号,对前述两PWM调制器的输出信号进行变相处理,从AH、BH、AL和BL端口向后级的步进电机双H桥功率驱动电路提供方向变化的PWM细分驱动信号。
上述方案中的所述数字变相器,可采用PWM调制器输出信号变相处理电路:
当0~π时,AH和BH接各自的PWM调制信号,AL和BL接地;当π~2π时,AL和BL接各自的PWM调制信号,AH和BH接地;或者,
当0~π时,AL和BL接各自的PWM调制信号,AH和BH接地;当π~2π时,AH和BH接各自的PWM调制信号,AL和BL接地。
以上方案,是利用一片大模块现场可编程逻辑门阵列(FPGA)设计的一款基于NiosII与FPGA的多轴电机运动控制卡,在FPGA内部嵌入了NiosII软核CPU,并利用这个内嵌的NiosII软核CPU来运行一些简单的程序,同时利用FPGA来实现差补算法和细分驱动,从而,本运动控制卡在设计结构,系统升级、可靠性、实时性、性价比等方面具有较明显优势。
测试表明:上述SPWM细分驱动器利用正弦波脉宽调制(SPWM)细分驱动技术,能有效地克服步进电机非细分驱动的低频振动、噪声大、高频失步和分辨率低等缺点,大幅度地改善步进电机的运动性能;步进电机的功率驱动模块对步进电机的驱动信号进行功率放大,使之达到能有效地驱动步进电机的功率要求。
经测试结果表明,除上文中提及的插补控制器和SPWM细分驱动器独特的各自优点外,相对于现有技术,利用现场可编程门阵列设计的本实用新型多轴步进电机运动控制卡,由于采用了NiosII软核CPU+FPGA硬件设计方案,即利用NiosII软核CPU运行控制程序,利用FPGA来实现实时要求度较高的联动控制的数字差补算法和细分驱动,并且同时采用了数字积分算法和正弦波脉宽调制细分驱动技术,因而,本运动控制卡具有集成度高、控制精度高、性价比高且速度快、实时性强、可靠性好、抗干扰能力强等优点。
附图说明
图1是本实用新型多轴步进电机运动控制卡的一个实施例的硬件系统组成原理示意框图。
图2是本实用新型多轴步进电机运动控制卡的一个实施例的基于NiosII的SOPC硬件平台示意图。
图3是本实用新型多轴步进电机插补控制器IP核的一个实施例的硬件设计原理框图。
图4是本实用新型数字积分器的一个实施例的硬件原理框图。
图5是本实用新型多轴步进电机运动控制卡的SPWM细分驱动器的一个实施例的硬件系统原理图。
图6为本实用新型多轴步进电机运动控制卡的一个实施例的五轴数字积分器的输出信号测试波形图。
具体实施方式
以下以一个五轴步进电机运动控制卡的附图及具体实施方式为例,对本实用新型多轴步进电机插补控制器和多轴步进电机运动控制卡及其使用作进一步地说明。
一、硬件系统组成
图1是本实用新型多轴步进电机运动控制卡的一个实施例的硬件系统组成原理示意框图。从该原理示意框图可看出,本运动控制卡由一片大规模的现场可编程逻辑门阵列(虚线框内)、步进电机功率驱动模块和一些外围的元器件构成。
从图1可以知,在这片现场可编程逻辑门阵列(FPGA)内部,不仅集成了UART控制器、JTAG控制器、NiosII处理器、EPCS控制器、SDRAM控制、LCD控制器、定时控制器、Avalon数据总线,还集成了五轴步进电机插补控制器和SPWM细分驱动器。UART控制器与外围的CP2101桥式转换芯片,构成USB通信系统,确保本控制卡能与上位PC机进行通信;EPCS控制器控制着外围态与当前各轴的坐标值等;JTAG控制器通过JTAG接口与上位PC机相连,实现程序的下载和JTAG在线调试等功能;在FPGA内部的五轴步进电机插补控制器,完成步进电机的差补运算和速度控制功能,产生电机的步进脉冲;除此之外,在FPGA内部,还集成了SPWM细分驱动器。SPWM细分驱动器的步进脉冲信号输出端与步进电机功率驱动模块的步进脉冲信号输入端相连。使用时,加工数据和控制指令信号从上位机的USB口传送到五轴步进电机控制卡中,CP2101桥式控制芯片把USB数据流转换成UART数据流,然后NiosII把这些数据写到多轴步进电机插补控制器中。
本实施例的运动控制卡FPGA硬件平台,选择采用Altera公司的Cyclone系列EP1C6Q240C8芯片,并利用Altera公司的专业软件QuartusII8.0对硬件平台进行设计,包括基于NiosII的SOPC硬件系统设计、多轴步进电机插补控制器设计和SPWM细分驱动器设计三个大模块:
(1)基于Nios II的SOPC硬件平台
本运动控控制卡,选用Altara公司的NiosII软核CPU作为控制器,并把这个CPU内嵌到FPGA中,构成一个基于NiosI I的SOPC系统。Nios II软核CPU,是Al tera公司的通用型32位RISC嵌入式处理器,并且此处理器在该公司的FPGA中得到了优化,具较高性价比。在QuartusII软件中,SOPC Bui lder还提供了经济型Nios II、标准型Nios II和快速型Nios II三种软核。除此之外,在此软件中,还提供大量免费的常用外设控制IP核,设计者可根据自己的设计需要,把这些IP核配置成外设接口,设计成一个面向用户需求的SOPC硬件系统,更为重要的是,此软件的SOPCBuider是开放的系统,它允许设计者把自己设计的IP核,加到SOPC Buider的IP库中,丰富此IP库的内容,实现IP重用,图1中的五轴步进电机插补控制器的设计就是一个设计实例。图2为利用SOPC Builder开发工具开发的基于NiosII的SOPC硬件平台,这个平台包括NiosII软核处理器、UART控制器、JTAG控制器、EPCS控制器、SDRAM控制器、LCD控制器、定时控制器、Avalon数据总线。
(2)五轴步进电机插补控制器
五轴步进电机插补控制器,是本运动控制卡的关键性模块之一,能实现对五个步进电机的速度控制和实时地联动控制功能。为了减少FPGA的I/O口占用率,降低编程难度,本实施例把本插补控制器设计成硬件插补控制IP核形式,直接挂在Avalon数据总线上,如图1所示。
图3为本插补控制器IP核硬件设计框图,由图可知,此IP核分为Avalon接口单元、寄存器文件单元和任务逻辑单元三大模块:
1)Avalon接口单元,是NiosII软核CPU与运动控制卡进行通信的接口单元,它直接与FPGA内部的Avalon数据总线相连。
在QuartusII 8.0软件中,SOPC Builder工具提供了6种不同接口类型和信号,设计者可根据设计需要选择接口,并把任务逻辑各种信号,指定Avalon信号类型,表1为本设计实施例所用到的接口单元信息。
表1Avalon接口信息表
2)为了达到通信目的,在本插补控制器中设计了一组寄存器(寄存器文件单元),用这些寄存器来寄存加工数据、控制信号和控制器的运行状态。该寄存器文件单元包括速度参数寄存器、X轴坐标寄存器、Y轴坐标寄存器、Z轴坐标寄存、B轴坐标寄存器器和C轴坐标寄存器、状态寄存器、总步进数寄存器、控制寄存器;以下对这些寄存器作简单介绍:
分频因子寄存器,用于寄存分频器的分频因子,以便对步进电机的转动速度进行控制;X轴坐标寄存器、Y轴坐标寄存器、Z轴坐标寄存、B轴坐标寄存器和C轴坐标寄存器,分别寄存X轴、Y轴、Z轴、B轴和C轴步进电机的运动终点坐标值,作为本次数字积分器的被积函数,如果某一轴坐标值越大,意味着该轴的运动距离越远,在单位时间内,数字积分器产生的步进脉冲越多;状态寄存器,用于寄存表明插补控制器当前所处“闲”或“忙”的运行状态信号,用高或低电平来表示;总步进数寄存器,用于寄存五个步进电机要走的总步进数总和;控制寄存器,寄存着各种控制信息,包括1位暂停控制信号、1位启动信号和5位的步进电机转动方向控制信号。
下表2列出了这些寄存器的名称、相对地址、读写方向、位宽和功能描述。每个寄存器对应着不同的地址,且读写方向和位宽也不尽相同,
表2寄存器组定义与地址分配
3)任务逻辑单元,是此IP核最重要的模块,用于实现五个步进电机的联动和速度控制功能,包括五轴数字积分器模块、终点判定模块、可编程分频器和状态机模块四个功能模块:
五轴数字积分器,由五个互相独立的数字积分器组成,每一个坐标轴对应一个数字积分器,其原理方框图如图4所示。如图,各数字积分器包括有加法器和余数寄存器:该加法器的两个数据输入端分别与余数寄存器的数据输出端和所述寄存器文件单元中对应的轴坐标寄存器的数据输出端相连;该加法器还具有一个与所述状态机模块的步进电机控制使能输出端EN相连的加法运算使能输入端;本加法器的输出端与所述余数寄存器的数据输入端相连;所述各余数寄存器数据输出端的最高位,是本插补控制器对各轴步进电机的步进脉冲信号输出端,通过后级的SPWM细分驱动电路与步进电机功率驱动模块的步进脉冲输入端相连,用于输出相应轴步进电机的步进脉冲信号,除此之外,此最高位还作为所述终点判定模块的计数脉冲,与所述终点判定模块的步进脉冲信号输入端相连;该加法器及余数寄存器还具有工作时钟输入端CLK,它与所述可编程分频器的分频信号输出端相连;所述余数寄存器还具有清零输入端CLR,该清零输入端与所述状态机模块的清零使能输出端相连。插补启动后时,在CLK时钟的控制下,各轴的数字积分器对各轴的被积函数(坐标寄存器中的值)进行数字积分运算,不断地产生各轴步进电机的步进脉冲信号,控制着各轴步进电机的运动速度和联动功能,实现各轴的联动控制。
终点判定模块用于判断本次差补运算是否到达终点:其对各轴输出的步进脉冲进行计数,并且把计数的结果与总步进数寄存器的值进行比较,如相等,表示已到达终点,用over信号通知状态机表示本次差补结束;其包括有各轴步进脉冲信号输入端、总步进数据输入端、读总步进数据的控制信号输入端RD和差补结束信号输出端over;所述各轴步进脉冲信号输入端分别与所述多轴数字积分器模块的对应轴的步进脉冲信号输出端相连,所述总步进数据输入端与所述寄存器文件单元中的总步进数寄存器的数据输出端相连,所述读总步进数据的控制信号输入端RD与所述状态机模块的读总步进数控制使能输出端相连,所述差补结束信号输出端over与所述状态机模块的差补结束通知信号输入端相连。
状态机模块是任务逻辑单元的协调控制中心,用于产生各种时序控制信号,使五轴数字积分器和终点判定模块协调工作;该状态机模块包括有与所述寄存器文件单元中的控制寄存器输出端相连的暂停控制信号输入端pause及启动信号输入端start、与所述终点判定模块的差补结束信号输出端over相连的差补结束通知信号输入端、与所述终点判定模块的读总步进数据的控制信号输入端RD相连以用于通知所述终点判定模块读取总步进数寄存器的值的读总步进数控制使能输出端、与所述多轴数字积分器模块的各加法器加法运算使能输入端相连的步进电机控制使能输出端EN、与所述多轴数字积分器模块的各余数寄存器清零输入端CLR相连的寄存器内容清零使能输出端,及,与所述状态寄存器相连的、用于表明本插补控制器当前所处“闲”或“忙”状态的运行状态信号输出端state;并且,本状态机可设定具有如下三个工作状态:
在本插补控制器没有启动前,本状态机始终在“空闲”状态s0,此时所述状态信号输出端state发出含义为“闲”的插补控制器运行状态信号;
当所述启动信号输入端start收到所述控制寄存器发来的启动信号后,本状态机进入数据初始化状态s1:在此状态中,所述状态信号输出端state发出“忙”状态信号,除此之外,本状态机模块通过所述清零使能输出端向所述数字积分器的各余数寄存器发送内容清零信号、通过所述读总步进数控制使能输出端向所述终点判定模块发送读取总步进数寄存器的值的读信号;并进而,
在时钟控制下,本状态机无条件地进入步进电机控制状态s2:在此状态中,本状态机模块通过所述步进电机控制使能输出端EN向所述多轴数字积分器模块发出步进电机控制使能信号,启动多轴数字积分器模块开始进行积分运算,产生各轴步进电机脉冲信号;
当所述差补结束通知信号输入端接收到所述终点判定模块发来的差补结束通知信号时,本状态机模块退出步进电机控制状态s2,再次进入“空闲”状态s0,所述状态信号输出端state发出“闲”状态信号。
可编程分频器实质上是一个可编程的分频控制器,包括有系统时钟信号输入端、分频因子数据输入端和分频信号输出端;所述分频因子数据输入端与所述寄存器文件单元中的分频因子寄存器的数据输出端相连,所述分频信号输出端与所述多轴数字积分器模块的工作时钟输入端相连。本分频器可根据分频因子,对系统时钟进行分频后向所述多轴数字积分器模块提供工作时钟,使五轴数字积分器得到不同频率的工作时钟,从而实现步进电机的速度控制。
本插补控制器的工作流程:在插补前,读取状态寄存器里的值,了解系统工作状态,如处于“空闲”状态,NiosII把本次直线插补终点坐标写到相应的寄存器中,然后,根据空间直线的长度和步进电机的步距,计算出总的步进脉冲数,并写入总步进数寄存器中。最后,根据直线插补方向设置好控制寄存器方向控制位后,启动插补控制器。
(3)SPWM细分驱动器
为了克服低频振动、噪声大、高频失步和分辨率低等缺点,能有效改善步进电机的运行性能,本控制卡中采用正弦波脉宽调制(SPWM)细分驱动,图5为一个二相混合式步进电机的细分驱动器设计原理框图,包括地址发生器、双口ROM、数据变换器、PI调节器、PWM调制器和数字变相器等模块。
地址发生器,实质是个计数器,它能根据方向控制信号的电平高低对步进脉冲信号进行加或减计数:当为高电平时,计数器加1,A和B相地址相应都增1,当为低电平时,计数器减1,加或减计数:当为高电平时,计数器加1,A和B相地址相应都增1,当为低电平时,计数器减1,A和B相地址相应都减1,但A和B相地址值不相等,它们之间的相位差为π/2。为了提高步进电机的细分驱动的分辨率,在双口ROM中,连续存放着一个周期(共1024点)正弦波数据,每一点的数据对应着不同的地址,随着地址的增加,正弦波数据被逐个读出。在双口ROM中存放非负极性信号,为了得到恒幅均匀的旋转力矩,必需对双口ROM的数据进行转换。数据数据变换器就是实现这个功能:它能根据A相和B相的极性信号,把一个周期的正弦数据变换成以x轴对称的正弦数据。为了能有效地控制步进电机励磁绕组中的电流,在电路中,设计了PI调节器,PI调节器根据给定的正弦数据和采样绕组反馈电压信号之间的差值进行PI调节,使得系统的动态响应时间变得更快。PWM调制器根据输入控制信号的值,控制输出信号的占空比,完成PWM调制。数字变向器,根据A相和B相的极性信号对PWM输出信号进行变相处理(改变电流方向):当0~π时,PWM调制信号从AH输出,当π~2π时,PWM调制信号从AL输出。
本实用新型多轴步进电机运动控制卡的系统软件设计,可分为上位机PC机编程和下位机基于Nios II软核CPU编程两大部分,上位机采用Delphi 7.0软件开发平台,而下位机采用NiosII 8.0IDE软件开发平台。为了减轻下位机的负担,绝大多数的工作由上位机PC机来完成。上位机程序设计分为人机界面模块、初始化模块、参数设置模块、状态显示模块、程序运行、程序暂停、COM口通信模块等几个模块。下位机程序设计分为主程序和串口中断服务程序两大部分。关于该系统软件设计的更具体的内容,可参照现有技术,在此不再展开详述。
二、测试结果:
上述实施例的运动控制卡已成功应用于在某个样机中,其中的现场可编程逻辑门阵列选用Altera公司的EP3C25Q240C8N,步进电机选用Leetro公司生产的二相式步进电机DM4250C。测试结果表明,本运动控制卡工作稳定,被控制的步进电机工作平稳,插补运算速度快、控制精度高。图6为利用QuartusII嵌入式逻辑分析仪(SigalTap II Logic Analyzer)测试五轴数字积分器的输出信号波形:xp、yp、zp、bp和cp分别是X轴、Y轴、Z轴、B轴和C轴的步进脉冲输出,信号每一个上升沿表示步进电机走一步,从图可以看出,它们之间的步进数(上升沿数)刚好为2倍关系,说明五轴步进电机具有良好的联动关系,有效验证了本设计的正确性。
Claims (8)
1.多轴步进电机插补控制器,其信号输入端直接或间接地与上位机相连,其信号输出端直接或间接地与步进电机功率驱动模块的步进脉冲输入端相连;其特征在于:本插补控制器包括有寄存器文件单元和任务逻辑单元;
(1)所述寄存器文件单元,是所述任务逻辑单元与上位机的数据通道,用于寄存上位机发送来的加工数据、控制信号和所述任务逻辑单元发送来的插补控制器运行状态信号,包括有分频因子寄存器、各轴坐标寄存器、状态寄存器、总步进数寄存器、控制寄存器;所述分频因子寄存器,用于寄存由上位机发来的所述任务逻辑单元可编程分频器的分频因子;所述各轴坐标寄存器,分别用于寄存各轴步进电机的运动终点坐标值;所述状态寄存器,用于寄存表明插补控制器当前所处“闲”或“忙”的运行状态信号;所述总步进数寄存器,用于寄存各步进电机要走的总步进数总和;所述控制寄存器,用于寄存步进电机的多种控制信息,包括暂停控制信号、启动信号和各步进电机的转动方向控制信号;
(2)所述任务逻辑单元,用于实现多轴步进电机的联动控制和速度控制,包括有可编程分频器、多轴数字积分器模块、终点判定模块和状态机模块;
所述可编程分频器,包括有系统时钟信号输入端、分频因子数据输入端和分频信号输出端;所述分频因子数据输入端与所述寄存器文件单元中的分频因子寄存器的数据输出端相连,所述分频信号输出端与所述多轴数字积分器模块的工作时钟输入端相连;
所述多轴数字积分器模块,由多个互相独立的数字积分器组成,每一个运动轴对应一个数字积分器,用于产生各轴步进电机的联动步进脉冲信号;各数字积分器包括有加法器和余数寄存器:该加法器的两个数据输入端分别与所述余数寄存器的数据输出端和所述寄存器文件单元中对应的轴坐标寄存器的数据输出端相连;该加法器还具有一个与所述状态机模块的步进电机控制使能输出端(EN)相连的加法运算使能输入端;本加法器的输出端与所述余数寄存器的数据输入端相连;所述各余数寄存器数据输出端的最高位作为本插补控制器的步进脉冲信号输出端,直接或通过后级的细分驱动电路与所述步进电机功率驱动模块的步进脉冲输入端相连,除此之外,此最高位还作为所述终点判定模块的计数脉冲,与所述终点判定模块的步进脉冲信号输入端相连;该加法器及余数寄存器还具有工作时钟输入端(CLK),该工作时钟输入端与所述可编程分频器的分频信号输出端相连;所述余数寄存器还具有清零输入端(CLR),该清零输入端与所述状态机模块的清零使能输出端相连;
所述终点判定模块,包括有各轴步进脉冲信号输入端、总步进数据输入端、读总步进数据的控制信号输入端(RD)和差补结束信号输出端(over);所述各轴步进脉冲信号输入端分别与所述多轴数字积分器模块的对应轴的步进脉冲信号输出端相连,所述总步进数据输入端与所述寄存器文件单元中的总步进数寄存器的数据输出端相连,所述读总步进数据的控制信号输入端(RD)与所述状态机模块的读总步进数控制使能输出端相连,所述差补结束信号输出端(over)与所述状态机模块的差补结束通知信号输入端相连;
所述状态机模块,用于产生各种时序控制信号,协调所述多轴数字积分器和终点判定模块的工作;本状态机模块包括有与所述寄存器文件单元中的控制寄存器输出端相连的暂停控制信号输入端(pause)及启动信号输入端(start)、与所述终点判定模块的差补结束信号输出端(over)相连的差补结束通知信号输入端、与所述终点判定模块的读总步进数据的控制信号输入端(RD)相连的读总步进数控制使能输出端、与所述多轴数字积分器模块的各加法器加法运算使能输入端相连的步进电机控制使能输出端(EN)、与所述多轴数字积分器模块的各余数寄存器清零输入端(CLR)相连的寄存器内容清零使能输出端,及,与所述状态寄存器相连的、用于表明本插补控制器当前所处“闲”或“忙”状态的运行状态信号输出端(state);并且,
在本插补控制器没有启动前,本状态机运行在“空闲”状态(s0):在此状态中,状态机把所述状态信号输出端(state)设置输出含义为“闲”的插补控制器运行状态信号;
当所述启动信号输入端(start)收到所述控制寄存器发来的启动信号后,本状态机进入数据初始化状态(s1):在此状态中,状态机模块把所述状态信号输出端(state)设置输出含义为“忙”的插补控制器运行状态信号,除此之外,还产生一个清零信号和一个读信号:该清零信号通过所述寄存器内容清零使能输出端输出,用于对所述数字积分器的各余数寄存器内容进行清零;而该读信号通过所述读总步进数控制使能输出端输出,用于通知所述终点判定模块读取所述总步进数寄存器的值;并进而,
在时钟控制下,本状态机无条件地进入步进电机控制状态(s2):在此状态中,本状态机模块通过所述步进电机控制使能输出端(EN)向所述多轴数字积分器模块发出步进电机控制使能信号,启动多轴数字积分器模块开始进行积分运算,产生各轴步进电机脉冲信号;
当所述差补结束通知信号输入端接收到所述终点判定模块发来的差补结束通知信号时,本状态机退出步进电机控制状态(s2),再次进入“空闲”状态(s0)。
2.根据权利要求1所述的多轴步进电机插补控制器,其特征在于:其信号输入端通过一接口单元,直接或间接地与上位机相连;所述接口单元,把所述任务逻辑单元通过所述寄存器文件单元,直接或间接地连到上位机的数据总线上,实现所述任务逻辑单元与上位机的通信。
3.根据权利要求2所述的多轴步进电机插补控制器,其特征在于:本多轴步进电机插补控制器设计为硬件插补控制IP核;所述接口单元,为Avalon接口单元。
4.多轴步进电机运动控制卡,包括有多轴步进电机插补控制器、步进电机功率驱动模块;所述多轴步进电机插补控制器的信号输入端直接或间接地与上位机相连,其信号输出端直接或间接地与步进电机功率驱动模块的步进脉冲输入端相连;该功率驱动模块的输出端与步进电机相连;其特征在于:所述多轴步进电机插补控制器,采用如权利要求1至3之一所述的多轴步进电机插补控制器。
5.根据权利要求4所述的多轴步进电机运动控制卡,其特征在于:所述多轴步进电机插补控制器,采用如权利要求3所述的多轴步进电机插补控制器;除此之外,本运动控制卡还包括有基于Nios II的最小系统,基于Nios II的最小系统的外围器件,以及,SPWM细分驱动器;所述SPWM细分驱动器,其信号输入端与所述插补控制器的信号输出端相连,其信号输出端与所述步进电机功率驱动模块的步进脉冲信号输入端相连;
所述基于Nios II的最小系统,包括有Avalon数据总线,以及,与Avalon数据总线相连的Nios II处理器和多个外围器件接口控制器;所述外围器件接口控制器包括有UART控制器、JTAG控制器、EPCS控制器、SDRAM控制器和LCD控制器;
所述基于Nios II的最小系统的外围器件,包括有USB接口单元、EPCS存贮器、SDRAM存储器、LCD显示器;
所述步进电机插补控制器和所述基于Nios II的最小系统集成在同一片FPGA上;所述步进电机插补控制器的信号输入端连接到所述Avalon数据总线上;所述基于Nios II的最小系统的各外围器件,通过所述FPGA的I/O口与相应的外围器件接口控制器相连,并通过对应的外围器件接口控制器,经Avalon数据总线与Nios II处理器进行数据交换;所述Avalon接口单元,把所述任务逻辑单元通过所述寄存器文件单元连到所述Avalon数据总线上,实现所述任务逻辑单元与所述NiosII处理器的通信;
上位机的步进电机运动控制指令信号输出端,与本运动控制卡的所述USB接口单元相连。
6.根据权利要求5所述的多轴步进电机运动控制卡,其特征在于:所述步进电机插补控制器、所述SPWM细分驱动器和所述基于Nios II的最小系统集成在同一片FPGA上。
7.根据权利要求6所述的多轴步进电机运动控制卡,其特征在于:所述SPWM细分驱动器为二相混合式步进电机SPWM细分驱动器,包括有用于产生ROM地址的地址发生器,存储有励磁电流数据的ROM,PWM调制器,数据变换器,PI调节器,数字变相器;所述ROM为双口ROM;所述地址发生器、双口ROM、数据变换器、PI调节器、PWM调制器、数字变相器和步进电机双H桥功率驱动电路顺序相连;
所述地址发生器,其输入信号端接收从上位机直接或间接地传送来的步进脉冲信号、方向控制信号和暂停信号,并据所述方向控制信号和暂停信号对步进脉冲信号进行加1或减1、以及暂停计数;所述计数结果,分别作为所述双口ROM的A和B相输入地址,它们之间的相位差为π/2;所述地址发生器,还向后级的数据变换器和数字变相器提供A相和B相的极性信号;
所述双口ROM,包含二套相互独立的输入和输出口,该ROM中存放着一个周期的按正弦阶梯波变化的励磁电流数据;
所述数据变换器,根据所述地址发生器发送的A相和B相的极性信号,把从所述双口ROM中双口输出的一个周期的正弦数据变换成以x轴对称的A相和B相两路正弦数据,并分别送至各自的PI调节器;
所述两PI调节器,根据上述的本路正弦数据和从步进电机本相采样绕组的反馈电压信号之间的差值分别进行PI调节,并向各自的PWM调制器输出相应的PI调节控制信号;
所述两PWM调制器,对前述本路PI调节器传来的PI调节控制信号值分别进行PWM调制,并向数字变相器分别输出占空比不同的两路PWM控制信号;
所述数字变相器,根据所述地址发生器发送来的A相和B相极性信号,对前述两PWM调制器的输出信号进行变相处理,从AH、BH、AL和BL端口向后级的步进电机双H桥功率驱动电路提供方向变化的PWM细分驱动信号。
8.根据权利要求7所述的多轴步进电机运动控制卡,其特征在于:所述数字变相器,是一个PWM调制器输出信号变相处理电路:
当0~π时,AH和BH接各自的PWM调制信号,AL和BL接地;当π~~2π时,AL和BL接各自的PWM调制信号,AH和BH接地;或者,
当0~π时,AL和BL接各自的PWM调制信号,AH和BH接地;当π~2π时,AH和BH接各自的PWM调制信号,AL和BL接地。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011202808700U CN202172382U (zh) | 2011-08-04 | 2011-08-04 | 多轴步进电机插补控制器及多轴步进电机运动控制卡 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011202808700U CN202172382U (zh) | 2011-08-04 | 2011-08-04 | 多轴步进电机插补控制器及多轴步进电机运动控制卡 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN202172382U true CN202172382U (zh) | 2012-03-21 |
Family
ID=45830568
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011202808700U Withdrawn - After Issue CN202172382U (zh) | 2011-08-04 | 2011-08-04 | 多轴步进电机插补控制器及多轴步进电机运动控制卡 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN202172382U (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102291073A (zh) * | 2011-08-04 | 2011-12-21 | 广西民族师范学院 | 多轴步进电机插补控制器及多轴步进电机运动控制卡 |
CN104597848A (zh) * | 2014-12-30 | 2015-05-06 | 浙江中控研究院有限公司 | 基于状态机原理的插补控制方法 |
CN105656374A (zh) * | 2016-02-29 | 2016-06-08 | 江苏美伦影像系统有限公司 | 适用于多轴步进电机的驱动控制电路 |
-
2011
- 2011-08-04 CN CN2011202808700U patent/CN202172382U/zh not_active Withdrawn - After Issue
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102291073A (zh) * | 2011-08-04 | 2011-12-21 | 广西民族师范学院 | 多轴步进电机插补控制器及多轴步进电机运动控制卡 |
CN102291073B (zh) * | 2011-08-04 | 2013-04-17 | 广西民族师范学院 | 多轴步进电机插补控制器及多轴步进电机运动控制卡 |
CN104597848A (zh) * | 2014-12-30 | 2015-05-06 | 浙江中控研究院有限公司 | 基于状态机原理的插补控制方法 |
CN105656374A (zh) * | 2016-02-29 | 2016-06-08 | 江苏美伦影像系统有限公司 | 适用于多轴步进电机的驱动控制电路 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102291073B (zh) | 多轴步进电机插补控制器及多轴步进电机运动控制卡 | |
CN101645685B (zh) | 基于fpga的交流同步电机控制器及其控制方法 | |
CN103516279B (zh) | 一种基于fpga的永磁同步电机控制芯片 | |
CN101819427B (zh) | 基于fpga的数字化关节片上控制系统 | |
CN103762964A (zh) | 一种多通道高精度pwm信号采样和生成装置 | |
CN101799337B (zh) | 永磁同步电动机齿槽转矩的自动检测方法 | |
CN104317253A (zh) | 一种用于伺服电机位置控制的系统方法 | |
CN202172382U (zh) | 多轴步进电机插补控制器及多轴步进电机运动控制卡 | |
CN102122149A (zh) | 用于纸箱打样机的嵌入式控制系统及其控制方法 | |
CN103941650A (zh) | 逻辑与运动集成控制器 | |
CN201742364U (zh) | 二相混合式步进电机spwm细分驱动器 | |
CN108809171A (zh) | 一种定频pwm全桥式电机微步细分驱动控制方法及电路 | |
CN205540138U (zh) | 一种可脱机运行的多轴运动控制系统 | |
CN104518716A (zh) | 一种小型直流电动机闭环控制系统及该系统的控制方法 | |
CN103324212A (zh) | 一种基于fpga的航迹仪标绘速度控制卡 | |
CN103001553A (zh) | 一种基于dsp的永磁同步电动机全数字交流伺服系统 | |
CN111162705B (zh) | 一种永磁同步电机控制系统、方法、控制器及其应用 | |
CN201945835U (zh) | 用于纸箱打样机的嵌入式控制系统 | |
CN203872095U (zh) | 一种3d打印中的步进电机控制电路 | |
CN106094663A (zh) | 一种基于rtx+dsp的多轴运动控制器通信系统 | |
CN101860296A (zh) | 一种基于浮点dsp的伺服运动控制装置 | |
CN212433614U (zh) | 一种基于fpga的多轴电机流水线控制系统 | |
Ruifeng et al. | Stepper Motor Control Based on AT89S51 Microcontroller | |
US20040027254A9 (en) | Modular functional block for an electronic control system | |
CN201772887U (zh) | 高速正余弦细分装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
AV01 | Patent right actively abandoned |
Granted publication date: 20120321 Effective date of abandoning: 20130417 |
|
RGAV | Abandon patent right to avoid regrant |