一种双CPU组合形式的运动控制器转让专利

申请号 : CN201210047399.X

文献号 : CN102591250B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 严义邬惠峰

申请人 : 杭州电子科技大学

摘要 :

本发明提供工业数控领域的一种双CPU组合形式的运动控制器,包括:控制模块、运动驱动模块、通信模块、输入输出模块、电源模块。其中,控制模块由主CPU和从CPU组成,主CPU负责逻辑控制及运动反馈,从CPU根据主控制模块的命令,控制电机的运动,实现运动控制中复杂的算法;主CPU与从CPU之间通过握手的方式交互数据与命令;本发明采用梯形图内嵌运动控制算法实现复杂的运动控制;本发明是一种可以由上位机控制,也可以脱离上位机独立控制的运动控制器,具有稳定性高、成本低等特点,并可实现插补等复杂的运动控制算法和多轴同步控制。

权利要求 :

1.一种双CPU组合形式的运动控制器,包括控制模块、运动驱动模块、通信模块、输入输出模块和电源模块,其特征在于:控制模块为运动驱动模块、输入输出模块提供控制信号;通信模块为控制模块与外界通信提供接口;电源模块为控制模块、运动驱动模块、通信模块、输入输出模块提供稳定的电流,保证各个模块正常工作;

所述的控制模块由主CPU和从CPU组成,主CPU和从CPU之间通过握手的方式交互数据和命令;主CPU负责运动反馈与逻辑控制,从CPU负责运动控制输出,主CPU和从CPU协同合作,共同完成控制任务;运动控制器采用双闭环结构,保证对电机的控制精度;运动控制器的运动控制过程采用梯形图进行编程;

所述的用双闭环结构具体是:从CPU的PWM信号输出与主CPU计数器计数形成闭环,用于控制从CPU发送脉冲的状态及发送脉冲的数量;电机驱动器的反馈与主CPU位置信息采集形成闭环,用于确定被控对象的运动精度。

2.根据权利要求1所述的运动控制器,其特征在于:主CPU和从CPU之间的握手方式包括:单个IO命令快速传递、组合IO命令快速传递和通讯方式数据命令传递;单个IO命令快速传递和组合IO命令快速传递是由主CPU通过IO口发送命令,从CPU通过中断的方式接收命令,根据已经约定的格式确定主CPU发送的命令;通讯方式数据命令传递是由主CPU发起传参数和命令的通讯,从CPU接收后进行校验,并反馈返回帧。

3.根据权利要求1所述的运动控制器,其特征在于:主CPU主要负责以下任务:A.对从CPU发出的脉冲进行计数,确定运动控制器发送脉冲的状态;

B.接收电机的反馈信号,进行运动位置校正;

C.给从CPU发送控制信号和参数;

D.接收输入输出模块的信号;

E.处理逻辑关系,进行逻辑判断;

F.根据逻辑判断将输出信号输出到输入输出模块模块;

G.负责与上位机或者外围设备进行通讯。

4.根据权利要求1所述的运动控制器,其特征在于:从CPU主要负责以下任务:a.接收主CPU的运动参数与命令;

b.根据运动参数进行插补运算;

c.输出PWM控制信号。

5.根据权利要求1所述的运动控制器,其特征在于:运动控制器的通信模块由串口通信单元与CAN通信单元组成,串口通信单元用于更新程序与在线监控,CAN通信单元用于扩展外围设备。

说明书 :

一种双CPU组合形式的运动控制器

技术领域

[0001] 本发明涉及一种数控技术领域的运动控制器,具体是一种双CPU组合形式的运动控制器。

背景技术

[0002] 在数控技术领域中,运动控制器是其最基本、最核心的部分。目前数控领域中,大部分都是采用PC机与运动控制卡相结合的方式,运动控制卡通过PCI接口与PC机相连。在PC机上实现人机的交互,包括设定运动轨迹及运动参数、监控运动状态等;运动控制卡根据设定的运动轨迹与运动参数,控制电机运动。这种方式利用了PC机卓越的处理能力和友好的可视化界面,而且可以使用PC机本身带有的丰富资源进行开发,可移植性好,为业内人士所认可,但这种控制方式不可避免的需要有PC机支持,无疑会增加设备的体积和成本,而且会影响设备的稳定性,对设备现场的环境也提出了很高的要求。
[0003] 另外一种方式是基于单片机、专用芯片、FPGA的专用运动控制器。这类运动控制器结构简单,成本低廉,性能稳定,但由于单个CPU的硬件资源和处理能力有限,基本上只能实现简单的运动控制,很难实现复杂的逻辑控制、连续插补控制和多轴的同步控制,而且系统开发比较周期长。
[0004] 发明目的
[0005] 本发明的目的是针对现有技术的不足,提供一种体积小、成本低、功能强大、性能稳定、开放程度高的运动控制器,使其既能够脱离PC机独立运行,又能够实现较复杂的运动控制算法与多轴的同步控制,而且开发方便,开发周期短。
[0006] 为了达到所述的目的,本发明提供了一种双CPU组合形式的运动控制器,该运动控制器包括控制模块、运动驱动模块、通信模块、输入输出模块、电源模块。控制模块为运动驱动模块、输入输出模块提供控制信号;通信模块为控制模块与外界通信提供接口;电源模块为控制模块、运动驱动模块、通信模块、输入输出模块提供稳定的电流,保证各个模块正常工作。
[0007] 所述的控制模块由主CPU和从CPU组成,主CPU和从CPU之间通过握手的方式交互数据和命令;主CPU负责运动反馈与逻辑控制,从CPU负责运动控制输出,主CPU和从CPU协同合作,共同完成控制任务;控制器采用双闭环结构,保证对电机的控制精度;控制器的运动控制过程采用梯形图进行编程。
[0008] 本发明与现有的技术相比,由以下优点:
[0009] 从CPU发脉冲与主CPU进行计数形成闭环,可以实现对PWM发送状态的高速精确控制。
[0010] 从CPU独立作为PWM输出控制,可以将更多的资源用于多轴同步协调控制、实时插补运算、轨迹运算等,从而实现多轴的连续插补控制。
[0011] 通过IO的方式传递命令,实现主从之间命令的快速传递,使得从CPU可以快速响应主CPU的命令。
[0012] 通过梯形图内嵌运动控制算法的方式进行编程,利用图形化编程,使程序简单易懂,可读性强,极大地提高系统的稳定性。

附图说明

[0013] 图1为双CPU组合形式的多轴运动器的系统结构示意图;
[0014] 图2为双CPU交互的示意图;
[0015] 图3为本发明电机驱动输出示意图;
[0016] 图4为本发明的通讯示意图;
[0017] 图5为本发明程序的三层架构示意图;
[0018] 图6 为本发明控制流程示意图。

具体实施方式

[0019] 下面结合附图对本发明的实施例作详细说明:本实施例是以本发明的技术方案为前提进行实施,以下给出了详细的实施方案和具体的操作过程,但本发明的保护范围不限于下述的实施例。
[0020] 如图1所示,本实施例包括控制模块、运动驱动模块、通信模块、输入输出模块、电源模块。
[0021] 控制模块主要包括主CPU、从CPU及其外围电路构成,其中主从CPU均为Cortex-M3微处理器,采用ST(意法半导体)公司的STM32F103ZCT6。其时钟电路包括2部分:HSE振荡器时钟(高速外部信号时钟)和LSE时钟(低速外部信号时钟),HSE振荡器时钟为8Mhz的有源晶振,经倍频后,为系统提供72Mhz的时钟;LSE时钟为32.768Khz的无源晶振,为系统的RTC(实时时钟)提供时钟信号。JTAG接口为系统的调试提供接口,可以实现下载程序和在线调试程序的功能。掉电保护电路包括纽扣电池和电压选择电路,可以保证系统在断电的情况下,保证主从控制模块中CPU的BKP区的正常工作,防止重要数据的丢失。
[0022] 其中主CPU实现运动反馈和逻辑控制,包括:接收外部输入信号;处理逻辑关系,进行逻辑判断;根据判断结果,输出信号给输出模块;处理与PC机的串口通讯数据;处理与外接设备的CAN通讯数据;发送命令给从CPU,控制从CPU发送PWM脉冲的状态;接收从CPU发出的PWM脉冲;接收从运动设备发出的反馈信号。从CPU实现运动控制输出,包括:解析主CPU发出的命令和运动参数;根据运动参数进行插补运算;根据运算结果,输出PWM脉冲。
[0023] 输入输出模块主要对外部IO设备与主从CPU之间的连接电平转换和光电隔离;串口通讯模块主要负责运动控制器与PC机的通讯,使实现PC机对运动控制器的控制;CAN通讯模块为外接的CAN设备提供接口,方便扩展CAN设备。
[0024] 运动驱动模块包括驱动输出电路和反馈电路。其中驱动输出电路负责将主从控制模块发送的运动命令传递给电机驱动器,反馈电路将电机驱动器的反馈信号传递给主控制模块;运动设备可以利用光栅尺等设备,对其运动位置进行监控,其信号通过反馈模块进行计数,并将信号传递给主控制模块,实现运动的闭环控制。
[0025] 如图2所示,为双CPU交互的示意图。主CPU与从CPU之间的握手方式有三种:单个IO传递命令、组合IO方式传递命令、通讯方式传递命令和参数。单个IO传递命令和组合IO方式传递命令是由主CPU通过IO口发送命令,从CPU通过中断的方式接收命令,根据已经约定的格式确定主CPU发送的命令,通过这种方式可以快速的将主CPU的任务传递给从CPU;通讯方式传递参数和命令是有主CPU发起传参数和命令的通讯,从CPU接收后进行校验,并反馈返回帧,通过这种方式可以保证传送数据的正确性,但速度比较慢。
[0026] 由于主控制模块的硬件资源有限,所以利用从CPU的硬件IO资源扩展输入输出端口,其状态通过另一个串口传递。
[0027] 如图3所示,为电机驱动输出的示意图。主CPU将控制电机的方向信号传递给运动驱动模块,从CPU将控制电机的PWM信号和脉冲模式选择信号传递给运动驱动模块。运动驱动模块根据脉冲模式选择信号,利用数据选择器,将方向信号与PWM信号的输出端口进行重新分配,从而输出指令脉冲+指令方向或者CW脉冲+CCW脉冲两种类型的脉冲,所选的数据选择器为74HC153。经过数据选择器后的信号经过电平转换,转换为差分信号传输给电机驱动器,驱动电机运动。
[0028] 电机驱动器发出的Z相反馈信号经过运动驱动模块后,将差分信号转换为TTL电平信号后,传输给主CPU,主CPU利用中断接收Z相反馈信号,用于电机的零点定位。
[0029] 电机驱动器驱动电机运动后,会有正交信号反馈给运动驱动模块中的反馈电路,反馈电路根据接收到正交信号的相位差确定计数的加减。主控制模块会根据需要发送命令给正交计数模块:清计数命令、读当前计数命令和设定比较值命令。反馈电路根据命令,反馈响应的数据给主控制模块。反馈电路通过CPLD实现正交计数和对主控制模块的命令响应,所用的CPLD为Altera公司的EPM240。
[0030] 如图4所示,本实施例与外部的通讯由两部分组成:串口通讯和CAN通讯。串口通讯主要实现上位机与控制器的通讯,通过Modbus协议实现,其中上位机作为主机,控制器作为从机,上位机主动发送命令帧,控制器根据接收到的命令帧,确定否需要改变某些变量的值,再构造返回帧,并发送给上位机。通过串口通讯,可以实现上位机对控制器的控制,也可以通过人机界面实现对控制器的控制。本实施例中,主CPU信号输出后,先经过光耦将信号进行隔离,再利用max232将TTL信号转换为RS232信号。CAN通讯主要用于设备的扩展或者控制器的级联。
[0031] 本实施例所述输入输出模块包含32个输入点和20个输出点。其中,输出点有分为16个光耦输出点和4个继电器输出点。外部信号经过光耦隔离后,传输给主从CPU;主CPU的输出信号,先经过ULN2003的电流放大后,驱动光耦和继电器输出。
[0032] 如图5所示,本设计采用梯形图对运动控制过程进行编程,其软件由三层架构组成:Bootload、引擎与梯形图。其中, Bootload用于引导引擎与梯形图的下载,实现控制器的在线更新功能;引擎分为主CPU引擎与从CPU引擎,主CPU引擎负责实现梯形图指令,并为梯形图指令提供调用的接口,从CPU引擎负责实现运动控制的输出;梯形图是由用户根据需要设计,用以实现具体的逻辑控制功能与运动过程控制。
[0033] 如图6所示,本实施例工作时,上位机将运动命令通过串口通讯模块,发送给主控制模块,主控制模块经过命令解析后,计算运动控制所需的数据,再发送运动参数给从控制模块。发送完成后,给从控制模块发送启动PWM发送命令同时给运动驱动模块发送电机运动方向信号,同时主控制模块接收从控制模块发送的PWM信号进行计数,并根据计数值确定电机的运动状态。电机开始运动后,将电机的位置值反馈给高速正交计数模块进行计数,高速正交计数模块将计数值传输给主控制模块,主控制模块根据反馈的信息确定电机位置,并确定是否需要校正电机位置,并将反馈的信息反馈给上位机,供用户了解电机的运行情况。