嵌入式伺服压机系统高精度位置控制的研究*
2015-11-03刘炯钟
刘炯钟,林 敏,郭 斌,2
(1.中国计量学院计量测试工程学院,杭州 310018;2.杭州沃镭科技有限公司,杭州 310019)
嵌入式伺服压机系统高精度位置控制的研究*
刘炯钟1,林 敏1,郭 斌1,2
(1.中国计量学院计量测试工程学院,杭州 310018;2.杭州沃镭科技有限公司,杭州 310019)
嵌入式伺服压机要求定位压桩过程不可来回调整位置,若压桩全过程采用全闭环控制方式,应用程序实时性严重影响定位精度。提出了一种基于ARM11处理器的伺服压机高精度位置控制方法,该方法压桩前阶段采用全闭环控制以克服机械传动误差,压桩过程应用定时计数器中断实现半闭环控制来提高控制实时性。实验表明,这种控制方式可实现一到两个脉冲的位置控制精度,且位置控制稳定,克服了应用程序实时性差、控制精度低的缺点,有效地提高了嵌入式伺服压机定位压桩精度,满足了汽车轴承等的定位压桩要求。
伺服压机;位置控制;嵌入式系统;中断;定时计数器
0 引言
压力机在成型制造业中得到了大量的应用,尤其在切断、冲孔、弯曲、柳合等加工工艺中。传统的机械压力机精度低、耗能大、噪声污染严重,难以实现灵活控制,无法满足多品种、小批量的生产需要[1]。随着控制技术的发展,出现了伺服压力机,它是以伺服电机作为动力源,再通过螺旋、曲柄连杆等机构把伺服电机的旋转运动转换成机械的直线运动。伺服压机由于其柔性化和智能化,大大提高了压力机的通用性和生产效率,并且比传统机械压机具有更高的灵活性和控制精度。
对于伺服压机的控制,目前主要采用工控机+运动控制卡和PLC+专用运动控制模块这两种方式[2],其优点是通用性强,但是体积相对较大、成本高。近年来,以ARM、MIPS等为代表的嵌入式处理器,以其体积小、功耗低、主频高、实时性强、价格便宜,并支持多数操作系统的特点,逐渐在工控领域得到大量运用[3]。
嵌入式伺服压机以ARM处理器作为控制核心。随着自动化控制水平的不断提高,要求设备能够实现精确定位,设备的定位精度直接影响到零件加工精度。为提高精度,可以采用全闭环控制方式,并结合PID、模糊PID和神经网络等控制策略实现高精度的定位[4],然而有些加工场合,要求定位一步到位,避免位置来回调整,上述相关控制算法不适用。
1 嵌入式伺服压机工作原理
1.1 嵌入式伺服压机系统结构
伺服压力机是把伺服电机的旋转运动转换成机械压头的垂直运动以实现对产品的压桩作用。图1为嵌入式伺服压机机械结构图,伺服电机与电动缸连接,电动缸完成电机的旋转运动转换成电动缸输出轴的垂直运动。电动缸输出轴末端与压力传感器相连再与机械压头连接。光栅尺滑头固定在机械压头上,用于测量压机的位置,压力传感器获取压机的输出力值。
嵌入式伺服压机的控制器采用基于ARM11架构的处理器s3c6410,操作系统采用WinCE 6.0。ARM控制系统采集压头的位移值和压力传感器的压力值来控制伺服压机运行。ARM控制系统组成如图2所示,主要由ARM主模块(包括SD卡接口、E2PROM、SRAM和Flash等)、压力采集模块、编码器模块、数字量输入/输出模块、PWM控制模块和通信模块组成。
伺服系统采用脉冲指令方式运行,PWM输出为s3c6410定时计数器输出,开启定时计数器电机开始运转,停止定时计数器电机停止运转。
图1 嵌入式伺服压机机械结构
图2 ARM控制系统结构
1.2 嵌入式伺服压机运动曲线
伺服压机完成一次对轴承的压桩过程先后经历如下五个运动过程(图3),其压桩要求定位过程一次性完成,不可来回调整:
图3 伺服压装过程5段速
①AB:快进过程。速度40mm/s~100mm/s可设定,B点判定:位移值达到设定值。
②BC:探测过程。速度2mm/s~5mm/s可设定,C点判定:压力值达到设定值。
③CD:压装过程。速度5mm/s~15mm/s可设定,D点判定:位移值达到设定值。
④DE:保压过程。保持设定的时间。
⑤EF:返回阶段。在E处以返回速度回到原点A(F)处。
2 嵌入式伺服压机精确定位
2.1 嵌入式伺服压机定位误差分析
定位误差的主要来源是滚珠丝杠、电动缸的传动误差及传动间隙、长时间工作引起的热变形误差以及内部机械损耗。如果仅采用伺服电机轴上的反馈元件构成半闭环,那么半闭环系统的定位精度主要取决于电机轴上安装的反馈元件(如增量式编码器)的精度[5],而电动缸等的传动误差及传动间隙等误差根本无法矫正。
在压机垂直位置安装光栅尺,直接测量机械最末端的机械移动量,构成全闭环伺服控制,这样机械误差、热变形等不会对定位精度产生直接影响,这样定位精度主要取决于位置检测装置自身的分辨率、线性度等[5],嵌入式伺服压机系统的检测装置为ARM控制系统。
当整个过程采用全闭环控制方式时,其应用程序控制流程图如图4。定位精度主要取决于D点的伺服电机停止时刻,其精度受ARM系统性能影响较大,尤其受应用程序影响最大(当应用程序读取底层驱动获取位移值的时间可消耗几毫秒甚至十几毫秒的时间),且不同的压桩速度D点的停止位置差别较大。
图4 全闭环控制流程
2.2 定时计数器中断精确定位
2.2.1 定时计数器中断定位原理
定时计数器中断定位采用全闭环与半闭环相结合的方式:AB快进阶段、BC探测阶段、DE保压阶段和EF返回阶段采用全闭环控制方式,可有效的解决电动缸的传动误差,特别是传动间隙误差;CD压桩阶段采用半闭环控制方式,主要为解决应用程序调用驱动程序速度慢的的缺点,把压桩过程下放至驱动程序,减少应用程序调用底层驱动程序所带来的系统开销。
定位控制流程如图5所示。
①应用程序控制伺服压机到达C点,在C点停止伺服压机;
②应用程序计算到达目标位置剩余位移量;
③应用程序把剩余位移量转换成剩余PWM脉冲数Count;
④应用程序设置PWM底层驱动程序的计数值Num=Count和压机速度(即PWM频率)并开启PWM驱动的定时计数器中断;
⑤应用程序挂起,等待PWM驱动程序脉冲个数输出完成事件Event;
⑥PWM驱动的定时计数器开始计数,输出一个脉冲后Num进行减1运算;
⑦当PWM驱动的Num=0时,PWM输出完成,触发事件Event;
⑧应用程序重新被调度,进行保压过程DE;
⑨应用程序控制伺服压机返回EF。
图5 定时器中断方式位置控制流程
2.2.2 s3c6410定时计数器及WinCE中断处理过程分析
ARM控制系统采用 s3c6410处理器,主频533MHz,具有两个定时计数器引脚输出,最高可输出33MHz PWM脉冲,具有中断功能,输出一个PWM脉冲产生一个定时中断。但该定时计数器不能硬件设置PWM脉冲个数。可通过中断方式在中断处理线程IST中进行脉冲个数控制。
系统采用WinCE6.0嵌入式操作系统,其中断处理过程如图6所示,当外部或者内部产生中断时,中断处理程序调用ISR,ISR通知内核触发相应的事件,内核触发该事件,使等待该事件的IST进入就绪状态,并被调度处理(脉冲个数计算在IST中进行处理)。
从中断产生至IST被调用(不包括IST处理过程)的响应速度可达微妙级,实际应用中,中断产生频率最好控制在1ms左右。中断响应速度取决于处理器、操作系统、IST优先级及复杂程度等因素影响。
图6 WinCE中断处理过程
3 PWM驱动程序设计
WinCE驱动分成流驱动程序与本地驱动程序,PWM驱动程序属于流驱动程序,设计流驱动程序主要完成下面十个流驱动接口函数:xxx_Init();xxx_Denit();xxx_Open();xxx_Close();xxx_Read();xxx_Write();xxx_IOControl();xxx_Seek();xxx_PowerDown();xxx_PowerUp(),xxx为设备标识符,本驱动程序的设备标识符为PWM。PWM驱动设计主要是设置S3c6410定时计数器寄存器TCFG、TCON、TCNT、TCMP和TINT_CSTAT。
4 实验结果与分析
实验条件:
①处理器s3c6410,主频533MHz;
②WinCE6.0操作系统;
③电动缸减速比1/2;
④光栅尺分辨率5μm;
⑤压机脉冲当量0.01mm/pulse。
应用图5所示的流程进行定位控制实验,定位位移为100mm,每种速度各进行10次实验,结果如表1所示。由表1可得,此种控制方式具有0.02mm(两个脉冲)的定位精度。
表1 实验数据表
5 结论
嵌入式伺服压机采用定时计数器中断与全闭环方式相结合的控制方式,在运动前阶段采用全闭环控制,可以有效的克服压机传动误差特别是间隙误差。在压装阶段应用定时器中断的半闭环控制方式,有效的解决了应用软件带来的运算速度慢带来的精度不高及控制稳定性差的缺点。由于系统中断处理速度限制,在脉冲当量为0.01mm情况下压桩速度最好不超过20mm/s,以确保定位精度的稳定性和位置的重复性。
[1]霍中良,王兴松.基于模糊PID的伺服压力机位置控制系统[J].锻压技术,2011,36(1):93-96.
[2]高菲.高精度全闭环伺服控制系统的研究[D].青岛:青岛大学,2008.
[3]许士环.基于嵌入式系统的伺服压装测控平台设计与实现[D].上海:上海交通大学,2010.
[4]林健.基于遗传神经网络的直线伺服系统定位误差补偿[J].组合机床与自动化加工技术,2011(2):86-88.
[5]宋树军.高精度定位平台系统的研究[J].机床与液压,2010,38(12):16-17.
[6]陈艳,顾寄南,樊帆,等.基于ARM+DSP的上下料机器人控制平台的设计[J].制造业自动化,2013,34(10):119 -120.
[7]吴焱明,赵福民,王治森.提高伺服系统定位精度的方法[J].制造技术与机床,1999(12):46-48.
[8]苏建勇.基于多任务模式的高性能通用交流伺服控制器的设计[J].中国机电工程学报,2007,27(18):55-60.
[9]Douglas Boling.Windows Embedded CE6.0 Developer Reference[M].北京:机械工业出版社,2009.
[10]黄或伟.嵌入式伺服电机调速系统设计.天津大学,2007.
[11]John Catsoatls.嵌入式硬件设计[M].北京:中国电力出版社,2008.
(编辑 赵蓉)
Embedded Servo Press System High Precision Position Control Research
LIU Jiong-zhong1,LIN Min1,GUO Bin1,2
(1.College of Metrology Technology and Engineering,CJLU,Hangzhou 310018,China;2.Hangzhou Wo-Lei Technology Co.,LTD,Hangzhou 310019,China)
Back and forth the requirements of embedded servo press installation process adjustment.If the piling process all adopts the fully closed loop control method,real-time of the application is seriously affect the location accuracy.The paper proposes a servo press high precision position control method based on ARM 11 processor,the method is that before the press stage adopts full closed loop control to overcome the mechanical transmission error,and the press stage we use timing counter interrupt to achieve a half closed loop control to improve the real time control.Experiments show that this control mode can realize one or two pulse position control accuracy,also repeatability and stable.The method solves the application’s slow real-time performance and low control precision.Effectively improve the embedded servo press positioning accuracy,meet the requirement of positioning piles.
servo presser;position control;embedded system;interrupt;timer counter
TH166;TG65
A
1001-2265(2015)04-0091-03 DOI:10.13462/j.cnki.mmtamt.2015.04.023
2014-07-09
国家质检总局公益性行业科研专项项目(201310284);浙江省公益性技术应用研究计划(2014C31105)
刘炯钟(1989—),男,福建泉州人,中国计量学院硕士研究生,研究方向为嵌入式系统,汽车零部件检测,(E-mail)ljzhong51@163. com。