《基于PCI04并口驱动的经济型五轴机床数控系统的研制.docx》由会员分享,可在线阅读,更多相关《基于PCI04并口驱动的经济型五轴机床数控系统的研制.docx(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基于PCI04并口驱动的经济型五轴机床数控系统的研制基于PCI04并口驱动的经济型五轴机床数控系统的研制dujing导语:第三届伺服与运动控制论坛论文集,基于PCI04并口驱动的经济型五轴机床数控系统的研制张晶王立松裴海龙为构建一种精简的低本钱经济型五轴机床数控系统,采用了基于实时嵌入式多任务操纵系统RTLinux作为软件平台以及工业嵌入式计算机PC104为硬件平台,采用并口作为步进电机驱动控制接口,并利用软件编程的方法完成步进电机位置控制。实验结果证实该数控系统可有效实现五轴机床联动控制。以步进电机驱动为特征的经济型数控系统具有价格廉价、精度中等、功能针对性强等特点。针对我国主要存在的中低档
2、机床,经济型数控系统仍具有相当大的市场潜力。在研制经济型数控系统经过中,考虑进步系统性能同时,怎样尽可能多地减少硬件设计,降低本钱,进步可靠性,是始终追求的目的。为实现该目的,本文研究一种基于实时嵌入式多任务操纵系统RTLinux作为软件平台以及通用工业嵌入式计算机PC104模块为硬件平台的基于并口驱动的五轴数控系统开发与设计。1系统硬件组成数控系统采用了基于PC-104的硬件构造。其硬件构造框图如图1所示。为知足系统性能的要求,采用了低功耗的Pentiam-处理器作为主CPU单元,其硬件中断延迟小于25s。系统中常规的位置控制模块由主CPU依靠软件完成,降低了硬件本钱,进步了可靠性。同时采用
3、DOC或者CF卡的方式保存系统程序和应用程序及加工代码。系统采用并口输出的方法实现与外部设备的接口。图2为标准并口构造图。标准并口具有12个输出位D0-D7、C0-C3,5个输入位S3S7。由于每路步进电机驱动器需要2个数字位脉冲、方向控制,五轴系统共占用10个数字输出位。通过步进电机驱动器放大并口输出的脉冲和方向信号,使之驱动步进电机。其它2个数字输出位分别用于控制冷却液开关、光滑液开关。主轴开关及转速通过主轴变频器上的按键控制。并口的输入位用来检测回零开关信号、限位开关信号以及急停输入信号。由于输入位资源有限,采用将5个轴电机的正限位、负限位和回零信号分别并联的方法,每个并联位各占用一个并
4、口输入位,共占用三位。急停开关输入信号占用一个并口输入位。详细信号管脚安排如表1所示。2系统软件构造数控系统的理想软件平台应该是既具有多任务调度才能,又有很好的实时性的操纵系统,即实时多任务操纵系统。文中采用Rtlinux作为数控系统的软件平台。Rtlinux是由美国新墨西哥州的FSM实验室开发的面向实时和嵌入式应用的操纵系统。Rtlinux是在Linux之上实现的一个小巧的实时内核。它将Linux内核作为新内核的一个具有最低优先级的任务运行,可以被其它的高优先级任务抢占处理机。由于完全抢占Linux内核任务,使得它的响应速度十分快。在一台386机器上,Rtlinux的中断响应时间不会超过25
5、s,因此可以知足数控系统的要求。IMG=图1基于PC-104的数控系统硬件构造框图/uploadpic/THESIS/2007/11/2007111410262995567U.jpg/IMG图1基于PC-104的数控系统硬件构造框图IMG=图2标准并口构造图/uploadpic/THESIS/2007/11/2007111410283895871F.jpg/IMG图2标准并口构造图IMG=图3数控系统软件构造/uploadpic/THESIS/2007/11/2007111410324711596S.jpg/IMG图3数控系统软件构造CNC系统中治理任务和控制任务必须同时并行处理,这是由CNC
6、装置的工作特点决定的。即在一个插补周期内必须完成控制策略的计算,还要留出一定的时间去做其它的事情,如用户图形界面的交互处理。在单微处理器的CNC装置中,主要采用资源分时分享来解决多任务的并行运行。同时利用Rtlinux和Linux相结合,按照实时性需求共同处理CNC系统中的任务。图3为数控系统的软件构造,图中整个数控软件是由4个主要局部组成:图形用户界面GUl、任务指派器TASK、动作控制器MOT、输入输出控制器I0。该图显示了系统是怎样实现对设备的实时控制的。其中,机械代码被解释成标准的命令后,再由任务分配程序TASK发到动作控制器MOT和输入输出控制器I0执行。其中,GUI采用TcL/Tk
7、语言进展编程,在Linux用户空间运行,界面更新时间为0.2s。用来实现手动、自动、MDI三种工作形式的设定、加工代码文件的输入与编辑、系统参数和用户参数的设置、加工经过的位置和图形显示及系统的报警诊断信息等。TASK承受来自图形用户界面或者其它外部程序的C和M系列机械代码,解释成标准的命令,按顺序逻辑向动作控制器和输入输出控制器发出命令。任务分配程序工作在Linux用户空间,每10ms任务分配程序被唤醒一次。任务分配程序与GUI、MOT和IO之间通过分享内存进展通讯。动作控制器是数控软件中最重要的组成局部。它肩负起4个主要的实时任务:1位置采样。对步进电机采用计数器累计出电机的当前位置。2粗
8、插补。计算运动轨迹上的下一个点。3精插补。在如今所在点和下一个轨迹点之间进展插补运算。4计算电机的控制输出。对于步进电机,通过控制算法计算采样周期内每个步进电机需要输出的脉冲方向、频率和个数。动作控制器的实时性能要求它工作在Rtlinux的内核空间,由实时内核保证实时任务每0.5ms更新一次。输入输出控制器主要负责主轴控制、冷却液开关、光滑液开关控制以及其它辅助功能的操纵与控制。它工作在Linux用户空间,每l00ms任务更新一次。3位置控制算法的软件实现为充分利用电机调速系统中基于PID的闭环反应控制响应速度快、控制精度高等优点,文中对步进电机采用了一种近似的闭环控制方法。其控制构造如图4所
9、示。IMG=表1并口信号管脚安排/uploadpic/THESIS/2007/11/2007111410372693176C.jpg/IMG表1并口信号管脚安排IMG=图4步进电机闭环控制构造图/uploadpic/THESIS/2007/11/2007111410391940376A.jpg/IMG图4步进电机闭环控制构造图IMG=图5软分频器的工作流程图/uploadpic/THESIS/2007/11/2007111410413495314D.jpg/IMG图5软分频器的工作流程图IMG=图6实际加工经过及加工工件/uploadpic/THESIS/2007/11/20071114104
10、40880549F.jpg/IMG图6实际加工经过及加工工件图中:Ri为当前采样周期机床运动指令位置;Yi与Yi-1分别为当前采样周期与上一采样周期机床运动期望输出位置;Dz为PID控制器;OutputScale为输出转换比,其值为电子齿轮比除以丝杠螺距,电机运动速度ui与输出转换比之积为电机计算转动频率fi;InputScale为输入转换比,其值与OutputScale一样;1/1-z-1为数字积分环节,Si为当前采样周期电机期望输出脉冲个数;z-1为1个采样周期的延迟环节;SFD为软件分频器,其作用将电机计算转动频率fi转化为控制电机实际运动的脉冲、方向信号,Y为电机实际转角输出。定义位置
11、误差ei=Ri-Yi-1,那么Dz的表达形式为:式中:P、I、D分别为比例、积分、微分控制系数。图4中,对于输入Ri和输出Si而言,该系统为一典型的被控对象为一个周期延迟的积分环节,通过调整适宜的P、I、D系数,可以使系统具有很好的稳态和动态性能。在得到电机计算转动频率fi后,下面详细介绍软件分频器的设计步骤:1在Rtlinux的内核空间建立一个实时线程,该线程执行周期PULSE_PERID=50000ns,该线程在软件分频器中充当软晶振的作用。pthread_create&freqTask,&attr,freqfunc,void1;pthread_setfp_npfreqTask,1;pth
12、read_make_periodic_npfreqTask,gethrtime+PULSE_ERIOD,PULSE_PERIOD;2计算分频系数pdmuh,采用晶振频率除以电机计算转动频率。pdmuh=HRTICKS_PER_SEC/absfiPULSE_PERIOD其中,HRTICKS_PER_SEC为每秒代表的ns数。3实时周期函数fnqTask中定义两个减计数器upcount和dwcount,计数周期为PULSE_PERID,也就是讲freqTask每隔PULSE_PERID时间被执行一次,此时计数器的计数值减1,upcount和dwcount的初值分别为pdmult/2,pulse_b
13、itO代表并口上相应的脉冲控制位。图5为软分频器的工作流程图。图中可以看出输出的脉冲控制位每隔pdmuh/2PULSEPERID的时间电平跳变一次,进而保证输出脉冲频率为。4freqTask中通过判定的正负确定并口上的方向控制位direction_bit0的电平,fi0时,direction-bit0=0;fi4实验结果在自行研制的一台采用步进电机驱动的摆头转台式五轴机床上进展实际加工实验,采用Suffcam软件绘制一个在圆球上刻有字母的工件,为实际加工时走刀途径,圆球半径15mm。经后处理得到的实际加工C代码,利用所研制的数控系统进展实际加工,图6为实际加工经过及所加工的工件。从图6的加工结果可看出,文中的基于PCI04并口驱动的数控系统可有效实现经济型五轴数控机床的联动加工。本文介绍一种采用实时嵌入式多任务操纵系统RTLinux作为软件平台以及工业嵌入式计算机PC104为硬件平台的可实现经济型五轴机床联动控制的数控系统软硬件设计。通过对PCI04的井口位进展软件编程的方法完成步进电机位置控制。并通过实际加工工件证实了该数控系统具有五轴机床联动加工才能。该数控系统可最大程度地利用系统软件资源,减少硬件设计。数控系统中通过软件编程的方法实现所有功能,为系统的修改及扩大增加了更大的柔性。
限制150内