基于mpc5200的多轴运动控制器及其操作方法

文档序号:6281922阅读:1068来源:国知局
专利名称:基于mpc5200的多轴运动控制器及其操作方法
技术领域
本发明属于自动化和先进制造领域,具体涉及一种基于MPC5200微控制器的多轴电机运动控制器及其操作方法。
背景技术
运动控制器是数控机床坐标轴运动控制系统的核心部件,整个机床坐标轴的运动指令都是由运动控制器给出的。目前运动控制器主要存在形式是基于PC标准总线的运动控制器。其在硬件设计上采用板卡设计,并且在连接方式上采用“金手指”与PC机相连,也就是将板卡插到PC标准的如ISA,或者PCI插槽中,这种采用硬连接结构的运动控制器不宜长期工作在环境恶劣的工业现场(有振动、粉尘、油污等),并且由于只有插在PC标准的插槽中才能工作,因此上位机也只限于PC机。代表性产品有美国Delta Tau DataSystem公司推出的PMAC系列运动控制卡与美国Galil公司推出的DMC系列运动控制卡。

发明内容
本发明的目的在于提供一种能克服上述缺陷的基于MPC5200的多轴运动控制器及其操作方法,它采用串行总线的软连接方式,使得运动控制卡可以和上位机分离,其易于实现分布式的高性能控制,降低成本,并且大大提高了运动控制器的可靠性、开放性、集成性和配置性。
为达到上述目的,本发明采用下述技术方案一种基于MPC5200的多轴运动控制器,包括了MPC5200嵌入式微控制器、外部SDRAM、外部Flash、电可擦除只读存储器EEPROM、信号反馈通道及接口、PWM输出及接口、I/O接口、串行通信接口、CAN接口、RS232接口、USB接口和串行通信配置接口,其特征在于外部SDRAM、外部FLASH和EEPROM与MPC5200微控制器相连组成运动控制器的核心模块,提供运动控制器软件运行的基础环境;MPC5200微控制器由串行通信接口通过跳线方式配置和上位机进行通信的串行通信协议,通过CAN接口或者RS232接口或者USB接口与上位机之间进行软连接,进行数控加工数据和指令的传输;信号反馈通道及接口对电机编码器的反馈信号进行整形、计数,并输入MPC5200微控制器;MPC5200微控制器连接PWM输出及接口,实现输出电机运行的具体脉冲数,并对输出脉冲进行隔离以驱动电机驱动器;MPC5200微控制器连接I/O接口,实现相关的机床辅助的开关量控制。
所述的32位嵌入式微控制器MPC5200具有面对工业的良好扩展能力。其低功耗、处理速度达760MIPS,集成了一个双精度的浮点单元(FPU),具有良好扩展能力,并且外部接口可重配置。以减少元器件部件的数量,提高硬件的可靠性和兼容性。
所述的基于MPC5200的多轴运动控制器,由于MPC5200微控制器内部集成可编程串行控制器(PSC,Programmable Serial Controller),其通过PSC控制器来实现串行通信的优化,并可以根据需求配置USB、RS232、CAN等串行通信接口。从而可以根据外界接口的要求进行标准化配置,提高运动控制器的开放性,实现了硬件上的柔性。
所述的基于MPC5200的多轴运动控制器,MPC5200微控制器内系统接口配置单元(SIU,System Interface Unit)可以将数据总线配置为8位、或16位、或32位的宽度。因此运动控制器可以支持数个8位、或16位、或32位的外围设备同时连在系统总线上,可以外接8位、或16位、或32位的FLASH、SDRAM。
所述的基于MPC5200的多轴运动控制器,MPC5200提供了8个通用定时器资源(GPT0~GPT7),所有的定时器都可以配置成以下任一模式内部定时器、外部计数器、比较输出和PWM,除第一种模式以外,每个定时器都有一个I/O口与之对应。MPC5200控制一台电机需要占用两个定时器资源,其中一个设置为PWM输出,采用定脉宽调频的方式通过高速光耦隔离输出,驱动电机驱动器;另一个设置为内部定时器,用于控制运动控制器输出的脉冲个数。MPC5200最多可以控制4台步进电机或伺服电机。需要说明的是,任何一个GPT被设置成内部定时器后,该口就可以作为一个通用I/O口使用,MPC5200运动控制器使用这个口输出每台电机的方向控制信号。
所述的基于MPC5200的多轴运动控制器,当对伺服电机进行反馈控制时,可以通过外接定时器的方式,对电机编码器脉冲进行计数。
所述的基于MPC5200的多轴运动控制器,提供56个GPIO,这些GPIO大多数是多功能I/O口,用户可以根据需求将每个端口配置为输入模式、输出模式或者特殊模式用以控制机床的开关量设备,具体输入输出控制方式,可以根据具体的数控机床应用进行配置。
所述的基于MPC5200多轴运动控制器,其基于Linux操作系统和RTAI的实时内核,系统提供的模块化机制以及实时任务调度机制实现软件运动控制器容易实现运动控制器上相关的文件系统管理、内存管理、实现数控系统的底层加工模块包括系统初始化、通信任务以及实时任务处理。
通过MPC5200中的软件程序,实现运动控制系统的主要包括如下三个功能模块程序,具体操作方法的步骤如下1、系统初始化进行微处理器的硬件初始化,包括输入/输出接口的配置,具体串口通信方式的配置还有伺服系统PID接口参数等软件配置。
2、实时任务处理1)状态检测任务本任务对机床运行状态的检测,然后将机床各写入,并负责从IO端口读入各个连接的I/O设备值,然后将状态写入状态检测缓冲区中,对机床急停、伺服报警、限位信号进行判断,并进行相应的处理,从而实现对机床运行过程进行实时监控。本任务关系的设备运行的安全性,因此任务优先级最高为1。
2)插补任务从译码缓冲区中顺序取得插补数据,然后根据是直线或者圆弧进行插补,插补得到下个周期应该到达的理论坐标值。该任务运行优先级为2。
3)位置控制任务此任务设计成周期性的实时性进程,并且每个周期读取计数器中编码器的数值,得到实际的位置,并与插补器中的理论位置坐标作比较,根据差值调节PID参数,并将具体脉冲输出数写入对应的PWM口的脉冲数寄存器中。该任务运行优先级为3。
4)功能控制任务功能控制任务利用RTAI实时管道来传递命令和状态信息的功能,通过管道的命令设置实现Linux操作系统对实时部分RTAI的访问,从而实现运动控制器的运行、暂停、进给速度等状态设置。该任务运行优先级为4。
3、通信任务1)运动控制卡到上位机传送坐标值、速度值、数控系统的I/O接口状态以及报警状态;2)上位机到运动控制卡传送数控系统运行指令和译码后的数据链表还有相关的运行参数。
本发明与现有技术相比较,具有下显而易见的突出实质性特点和显著优点本发明的基于MPC5200的多轴运动控制器,所采用的操作系统是免费开放源代码,因此运动控制器的成本很大程度的降低,并且采用基于串行通信的软连接方式,有利于克服传统的运动控制器不能适应环境恶劣的工业现场(有振动、粉尘、油污等),并易于实现分布式的高性能控制。本发明可以针对于MPC5200微处理器在小片芯片中集成丰富的硬件资源,从而减少元器件部件的数量,相比目前运动控制器的双CPU方式,如DSP+FPGA方式,由DSP负责主控和运算,FPGA负责实现运动控制,基于MPC5200的运动控制器的单CPU方式有利于提高运动控制器硬件上的可靠性,能够实现小型化和现场化,并且具有更好的面向应用的特性。由于MPC5200是高性能的微控制器,其具有浮点处理能力和高性能的运算能力,因此处于前端的运动控制器可以集成各种传感、控制与报警功能,因而不再需要过多的信号调整、转换与隔离,减少了变送器的种类和数量。大大的降低了现场使用成本。本发明可以针对不同的应用需求、不同的加工对象、不同数目控制电机、灵活的选取和配置不同的运动控制器接口模块。由于本发明采用了以上的技术方案,提高了运动控制器的可靠性、集成性、配置性,实现了分布式的高性能控制,降低成本。
下面结合附图和实施例对本发明作进一步说明


图1为本发明的原理结构框图。
图2为本发明的一种具体实施例结构框图。
图3为本发明的控制程序框图。
图4为系统初始化流程框图。
图5为系统实时任务处理模块流程框图。
图6为通信模块流程框图。
具体实施例方式
本发明的一个优选实施例结合附图详述如下参见图1,本基于MPC5200的多轴运动控制器包括MPC5200嵌入式微控制器1、外部SDRAM2、外部Flash3、电可擦除只读存储器EEPROM 4、信号反馈通道及接口5、PWM输出及接口6、I/O接口7、串行通信接口8、CAN接口9、RS232接口10、USB接口11和串行通信配置接口12。
MPC5200嵌入式微控制器1作为运动控制器的主控CPU,集成了调度、控制和计算处理功能。软件上主要包括移植的uBoot启动程序、嵌入式Linux操作系统、RTAI实时内核、系统初始化程序、实时任务处理程序、通信程序。其负责与上位机加工代码链表和指令的插补与执行、实现位置的闭环控制、机床I/O设备的控制以及与上位机的通讯。
外部SDRAM2实现高速存储大量的数据,包括操作系统运行数据、网络通信数据、运动控制过程计算结果。
外部Flash3存储系统运行的固件程序,包括uBoot启动程序、Linux操作系统程序、RTAI实时内核程序、初始化程序、实时任务程序还有通信程序。
电可擦除只读存储器EEPROM 4用来保存所对应的串行通信初始化参数。
信号反馈通道及接口5通过计数器实现对电机编码器的脉冲采样,完成电机运动位置信号采集。
PWM输出及接口6完成PWM脉冲方向信号的隔离输出,从而驱动电机驱动器。
I/O接口7完成机床辅助的开关量控制的输入和输出隔离及驱动。
串行通信接口8,完成与上位机的数据接收、发送。其通过MPC5200内部的PSC模块可以配置成如下三种串行通信接口模式。
(1)CAN接口9,控制器区域网(CAN)是一种串行通信协议。其采用多主从工作方式,并具有突出的可靠性、实时性和灵活性。
(2)RS232接口10,异步串行通信(RS232)是一种历史悠久而可靠的串行通信标准,其适用于点对点的通信方式,并且传输速度较慢,传输限制较多。
(3)USB接口11,通用串行总线(USB)是一种高速串行通信总线标准,其基本的拓扑结构是星型的,但是一个USB网络中只能存在一个主机,在分布式控制系统中,各个子模块需通过主机进行交互,容易导致网络阻塞。
串行通信配置接口12,完成与上位机通信所采用的串行通信方式的接口配置,其中串口通信接口配置需要占用MPC5200的两个GPIO,可以通过跳线帽的形式进行设置,当GPIO状态为00时,为CAN总线接口传输方式;为01时,为RS232总线接口的传输方式;为10时,为USB接口传输方式。
本发明中由MPC5200嵌入式微控制器1、外部SDRAM2、外部FLASH3还有EEPROM4组成的嵌入式运动控制器的核心模块,提供运动控制器软件运行的基础环境。根据上位机的通信接口要求通过跳线方式配置串行通信接口12,选择和上位机进行通信的串行通信协议,由信号反馈通道及接口5进行编码器脉冲计数,由得到的电机编码器的反馈信号计算出实际位置,将实际位置与MPC5200内部插补得到的理论位置输入运动控制模块的进行计算,从而从放大驱动模块及接口6中输出电机运行的具体脉冲数。I/O接口7实现相关的机床设备的开关量控制。
参见图2,下面对上述的多轴运动控制器加以具体说明。
MPC5200是飞思卡尔公司在2003年推出的一款高性能的微控制器,集成了一个双精度的浮点处理单元(FPU),其带有PWM脉冲输出接口,Ethernet、CAN、USB等通信接口,并且外部接口可重配置,集成度高。其可以满足运动控制器高集成性、分布式以及高实时性的控制算法要求。MPC5200通过系统总线连接外部SDRAM、外部FLASH和EEPROM,外部SDRAM选用MICRON公司的MT48LC,外部FLASH选用AMD公司的AM29LV0652D,EEPROM选用PHILPS公司的PCF8582C,FLASHAM29LV0652D用来存储系统运行的固件程序,上电后FLASH AM29LV0652D中的固件程序已RAMDISK的形式装入SDRAM MT48LC中实现运行,EEPROMPCF8582C存储运动控制器在开发时烧入的串行通信接口参数,在运行的初始化阶段由MPC5200读入。
本发明采用串行通信的方式和上位机进行软连接通信,从而容易通过串行接口构建分布式的数控系统,其可根据上位机的通信要求,在串行通信配置开关中采用跳线或者选择开关的形式进行设置,在开机初始化时由MPC5200根据对应的开关状态,初始化USB或者RS232或者CAN串行通信接口,并装入EEPROM PCF8582C中具体的串行通信协议。本发明USB接口芯片选用PHILPS公司的ISP1107DH,CAN收发器采用TJA1050T,RS232接口芯片采用通用的Max3233E。
为满足高速运动控制的要求,从MPC5200中通用定时器GPT0,GPT2端口输出的PWM脉冲以及负责方向的GPT1,GPT3输出,通过NEC公司的高速光耦6N136进行隔离,其最高速度可以达到2Mbit,隔离后输入电机驱动器中驱动坐标轴电机。
为满足高速度的坐标轴电机运动位置信号采集,本实施选用Intel 82C54计数器对坐标轴电机的光电码盘的反馈脉冲进行计数,并通过系统总线输入到微控制器中,82C54的计数频率可高达12MHz。片内包含3个独立的16位计数通道,每个计数通道有6种工作方式,可由程序设置和改变。
本实施中机床开关量输入输出控制全部采用普通光耦4N25进行隔离,以提高系统的抗干扰能力。
本多轴运动控制器的控制程序如图3,主要由初始化、实时任务处理程序还有通信程序构成。
本发明的初始化程序如图4所示,当两个GPIO全接低电平00时,为CAN总线通信方式,从EEPROM中获取CAN总线通信的基本参数配置,初始化后与上位机建立联系。当两个GPIO第一个为低电平0,第2个为高电平1,即为01时,为RS232总线通信方式,从EEPROM中获取RS232总线通信的基本参数配置,初始化后与上位机建立联系。当两个GPIO第一个为高电平1,第2个为低电平0,即为10时,为USB总线通信方式,从EEPROM中获取USB总线通信的基本参数配置,初始化后与上位机建立联系。
运动控制器的实时工作流程如图5所示,分为四个实时任务,即状态检测任务、插补任务、位置控制任务还有功能控制任务,四个任务的运行周期都是相同的,在本实施中取为8ms,状态检测任务的运行优先级为最高,即1级、插补任务的优先级为2级、位置控制任务的优先级为3级、功能控制任务的优先级为最低4级。其中,状态检测任务实现机床运行状态的检测,然后将机床各写入,并负责从IO端口读入各个连接的I/O设备值,然后将状态写入状态检测缓冲区中,对机床急停、伺服报警、限位信号进行判断,并进行相应的处理。插补任务实现从译码缓冲区中顺序取得插补数据,然后根据是直线或者圆弧进行插补,得到理论坐标值。位置控制任务,先进行误差分析,在系统的第一个采样周期后开始执行,通过电机反馈取得实际位置,与插补任务输出的理论位置一起作为误差分析的输入参数,在进行误差分析时系统将调用误差计算策略进行误差计算,误差计算策略可以是面向单轴的简单非耦合算法,也可以是面向轮廓加工的复杂耦合算法,计算后得到各轴的综合误差值;之后系统将调用整定策略整定参数,整定策略可以简单的设定成固定参数,也可以根据需要实时调整参数;最后将综合误差与参数一同输入到位置控制部分进行计算,得到具体的脉冲输出值,输出到各个伺服电机。功能控制任务负责实现运动控制器的运行、暂停、进给速度等状态设置。
通信程序的流程图如图6所示,根据串行传输协议,周期阶段的实现不同模式的控制要求译码和数据传输。
上述的一个具体例,其中所对应的上位机和运动控制卡的串行传输应用层协议有多种方式,本领域的技术人员可根据实际情况选择合适的实现方式。
权利要求
1.一种基于MPC5200的多轴运动控制器,包括了MPC5200嵌入式微控制器(1)、外部SDRAM(2)、外部Flash(3)、电可擦除只读存储器EEPROM(4)、信号反馈通道及接口(5)、PWM输出及接口(6)、I/O接口(7)、串行通信接口(8)、CAN接口(9)、RS232接口(10)、USB接口(11)和串行通信接口(12),其特征在于外部SDRAM(2)、外部FLASH(3)和EEPROM(4)与MPC5200微控制器(1)相连组成运动控制器的核心模块,提供运动控制器软件运行的基础环境;MPC5200微控制器(1)由串行通信接口(8)通过串行通信配置接口(12)的跳线方式,配置和上位机进行通信的具体串行通信协议,从而通过CAN接口(9)或者RS232接口(10)或者USB接口(11)与上位机之间进行软连接,进行数控加工数据和指令的传输;信号反馈通道及接口(5)对电机编码器的反馈信号进行整形、计数,并输入MPC5200微控制器;MPC5200微控制器(1)连接PWM输出及接口(6),实现输出电机运行的具体脉冲数,并对输出脉冲进行隔离以驱动电机驱动器;MPC5200微控制器(1)连接I/O接口(7),实现相关的机床辅助的开关量控制。
2.根据权利要求1所述的基于MPC5200的多轴运动控制器,其特征在于信号反馈通道及接口(5)为采用高速计数器对编码器脉冲反馈进行计数,其具有四路信号采集能力;串行通信接口(12)包括CAN接口(9)、RS232接口(10)和USB接口,具体的配置通过MPC5200微控制器(1)内部集成可编程串行控制器进行实现。
3.根据权利要求1所述的基于MPC5200的多轴运动控制器,其特征在于MPC5200微控制器(1)内系统接口配置单元将数据总线配置为8位、或16位、或32位的宽度,使多轴运动控制器支持数个8位、或16位、或32位的外围设备同时连在系统总线上,外接8位、或16位、32位的FLASH、SDRAM。
4.根据权利要求1所述的基于MPC5200的多轴运动控制器,其特征在于MPC5200提供8个通用定时器资源GPT0~GPT7,最多可控制4台步进电机或伺服电机,任伺一个GPT被设置成内部定时器后,该口就作为一个通用I/O使用,MPC5200使用该口输出每台电机的方向控制信号。
5.一种对权利要求1所述的基于MPC5200多轴运动控制器的操作方法,其特征在于步骤如下1)系统初始化进行微处理器的硬件初始化,包括输入/输出接口的配置,具体串口通信方式的配置还有伺服系统PID接口参数等软件配置;2)实时任务处理①状态检测任务本任务对机床运行状态的检测,然后将机床各写入,并负责从IO端口读入、伺服报警、限位信号进行判断,并进行相应的处理,从而实现对机床运行过程进行实时监控;本任务关系的设备运行的安全性,因此任务优先级最高为1;②插补任务从译码缓冲区中顺序取得插补数据,然后根据是直线或者圆弧进行插补,插补得到下个周期应该到达的理论坐标值;该任务运行优先级为2;③位置控制任务此任务设计成周期性的实时性进程,并且每个周期读取计数器中编码器的数值,得到实际的位置,并与插补器中的理论位置坐标作比较,根据差值调节PID参数,并将具体脉冲输出数写入对应的PWM口的脉冲数寄存器中;该任务运行优先级为3;④功能控制任务功能控制任务利RTAI实时管道来传递命令和状态信号的功能,通过管道的命令设置实现Linux操作系统对实时部分RTAI的访问,从而实现运动控制器的运行、暂停、进给速度等状态设置;该任务运行优先级为4;3)通信任务①运动控制卡到上位机传递坐标值、速度值、数控系统的I/O接口状态以及报警状态;②上位机到运动控制卡传递数控系统运行指令和译码后的数据链表还有相关的运行参数。
全文摘要
本发明涉及一种基于MPC5200的多轴运动控制器及其操作方法。本运动控制器由外部SDRAM、外部FLASH、EEPROM和MPC5200微控制器相连组成运动控制器的核心模块,提供运动控制器软件运行的基础环境;通过串行通信配置接口配置和上位机进行通信的具体串行通信协议,从而通过CAN接口或者RS232接口或者USB接口与上位机之间进行软连接,进行数控加工数据和指令的传输,使得运动控制器可以和上位机分离,易于实现分布式的高性能控制;由信号反馈通道及接口对电机编码器的反馈信号进行整形、计数,并输入MPC5200微控制器进行计算,通过计算结果由PWM输出接口输出脉冲驱动电机驱动器。
文档编号G05B19/414GK101086664SQ20071004358
公开日2007年12月12日 申请日期2007年7月9日 优先权日2007年7月9日
发明者俞涛, 王文斌, 刘丽兰, 蔡红霞, 朱文华, 黄国华, 刘锬 申请人:上海大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1