蔡锦达,黄 帅
(上海理工大学机械工程学院,上海 200093)
提花是地毯生产中的一道重要工序,由于我国地毯工业起步较晚,多数地毯生产装备依赖进口,制约了地毯工业的发展,研发新技术和新产品重要而紧迫。
提花横移控制系统是地毯生产装备的重要组成部分,在传统的技术和生产过程中,织针或底布的横动是通过凸轮机构来实现的。为提升生产效率和自动化水平,开始采用伺服控制技术。在运动控制方案中,多数设备采用工控机和运动控制卡对伺服系统进行控制。工控机运行稳定,但成本较高。文中提出将以ARM9为内核的工业触摸屏运用到横移控制系统中,对原本由机械装置实现相关功能的设备进行改造,提高其自动化控制程度及可靠性和稳定性。工业触摸屏的嵌入式硬件系统结构精简、内核小、成本低,能保证程序执行的实时性和可靠性,应用前景广阔。
提花横移在具体操作中一般分为两种:底布的横移;织针的横移。文中介绍的控制系统采用伺服驱动技术控制底布的横移,织针由主轴带动做上下垂直运动。控制系统的工作流程是:横移伺服电机驱动滚珠丝杠带动底布进行横向移动,完成底布额定长度的横移运动后,纵移伺服电机通过减速箱驱动一滚子带动底布纵向移动一距离,纵向移动完成后,横移伺服电机驱动滚珠丝杠带动底布做反向横移,如此往复运动,其工作示意图如图1所示。主轴1个转动周期内需完成1次移位动作。底布横向距离为额定长度100 mm,横移距离和纵移距离根据实际加工情况可设定,设定范围是1~10 mm,底布左右两端边针位必须走到。由于针位数是整数,如遇到除不尽的情况,移动距离可在误差范围内做适当调整。
图1 提花横移工作示意图
根据横移控制工作流程,控制系统需满足以下控制要求:
(1)主轴最高转速达500 r/min,在高速、连续的工作过程中,需保证移位距离的精确度,并能实施实时监控。
(2)对数据实时保存,确保在供电系统突然断电等情况下,系统重新上电后,可以根据断电前的工作情况继续工作。
(3)除自动运行外,控制系统可以进行点动控制。
(4)在硬件系统中设计急停等可靠的安全措施,当出现故障时,控制系统应能自动停机,触摸屏显示故障原因。
根据控制要求,横移控制系统需要实现的功能有:参数设定、信号采集、位置控制和报警实现等。底布横向和纵向移动的距离、触摸屏发送脉冲的频率等参数可以在触摸屏中设定。为实现控制的同步性,在主轴上安装两路位置传感器作为控制信号接入到触摸屏的输入口。伺服系统采用位置控制模式,对底布的横向移动和纵向移动进行精确的位置控制。触摸屏通过对输入信号的检测,在故障发生时实现报警。
横移控制系统组成框图如图2所示,控制系统主控制器采用基于ARM9的工业触摸屏。触摸屏除了提供人机界面之外,其自身带有普通输入输出口和高速输入输出口,实现对伺服系统的直接控制。在横向移动控制中,横移伺服电机通过滚珠丝杠带动底布移动,滚珠丝杠的螺距为20 mm.在纵向移动控制中,纵移伺服电机经减速箱由滚子带动底布移动,减速箱的减速比是40∶1,滚子直径是100 mm.触摸屏的普通输入输出口用于接近开关信号的输入和伺服系统位置控制方向信号的输出,高速输入输出口用于伺服电机编码器高速脉冲的反馈输入和伺服系统位置控制脉冲信号的输出。
图2 控制系统组成框图
控制系统采用工业触摸屏和伺服驱动器结合的应用模式,工业触摸屏是主控制器,接收用户的外部指令并对设备运转状态进行实时监控,2台伺服驱动器是执行部件。
3.1触摸屏硬件电路的设计
触摸屏控制核心采用S3C2416 ARM9芯片,存储系统采用同步动态随机存取内存SDRAM和非易失闪存Nand Flash,其核心电路主要包含电源电路、复位电路、时钟电路、JTAG接口电路、串口通信电路以及输入输出等一些外围接口电路。触摸屏的整体框架如图3所示。
图3 触摸屏组成框架
现对非易失闪存Nand Flash在触摸屏中使用的重要性做简单阐述。Nand Flash是一种主要的非易失闪存技术,保证系统掉电后信息不丢失。触摸屏硬件电路特别设计了电源实时检测电路,当电源电压低于某一设定值时,系统程序触发中断,中断服务程序将需要保存的数据存入Nand Flash中。横移控制系统的底层程序中,系统参数、编码器反馈脉冲数以及相关标志位均设置为具有数据掉电保存功能的内部地址,确保系统掉电后上述数据能保存到Nand Flash中。待触摸屏重新上电后,系统调用掉电前的数据继续工作。
3.2伺服驱动技术在控制系统中的运用
根据控制要求,伺服系统采用位置控制模式。位置控制模式即将负载要走的位移量转化为脉冲量,上位机向伺服系统发送相关位置指令进行控制。在高速连续运转过程中,为防止伺服电机产生过冲等现象,应适当调整系统增益等参数,确保伺服电机运行稳定,达到精确的位置控制。
3.2.1触摸屏对伺服电机的控制方式
触摸屏作为上位机对伺服电机的控制方式有相对式控制和绝对式控制两种。相对式控制不需要伺服电机编码器向上位机提供脉冲反馈,适合于间隙运动的位置控制,在连续运动中对于电机动作产生的累积误差无法消除。绝对式控制要求每次动作上位机都要采集伺服电机编码器反馈的脉冲数。要到达目标位置点,所要发送的脉冲数等于起始点与目标点之间的脉冲量与电机到达前一位置点时编码器反馈给上位机的脉冲数之差,这样可以有效消除电机抖动等带来的误差影响,控制精度更高。该控制系统中,触摸屏对伺服电机的控制方式采用绝对式位置控制。
3.2.2伺服电机编码器A、B相信号的处理
伺服电机编码器脉冲输出一般均采用差动驱动方式,由于触摸屏的高速输入口无法接入差动信号,需将A相和B相两路差动输出信号A(+)、A(-)、B(+)、B(-)接到高速光耦上,通过高速光耦将输出信号接入触摸屏的高速输入口。其接线原理图如图4所示。
图4 编码器脉冲输出接口示意图
通过高速光耦将编码器脉冲信号接入触摸屏高速输入口后,触摸屏以中断方式记录脉冲数。为消除因电机抖动引起的误差,程序中对每次进中断的两路脉冲信号做异或处理。
3.3控制时序方案设计
根据控制要求,在织针未与底布接触的瞬间,底布完成一次移位。织针由主轴带动,而主轴不受系统控制,为实现控制同步性,在主轴上安装两路位置传感器作为同步信号控制伺服电机的启停,控制时序如图5所示。在主轴转角0°位置和195°位置分别装有位置传感器。传感器1信号输入时,触摸屏向伺服驱动器发送相应脉冲数,脉冲需严格控制在主轴转角0°~180°间发送完毕。传感器2对设备起保护作用,信号输入时,若脉冲发送完毕,系统对相关标志位复位;若脉冲未发完,则停止向伺服驱动器发送脉冲,检查相关参数设置。在主轴转角195°位置和345°位置间,伺服电机停止动作。
图5 时序控制示意图
横移控制系统的软件部分由触摸屏人机界面和触摸屏底层程序两部分组成。触摸屏人机界面由HMI软件编辑完成,触摸屏底层程序除了实现人机界面操作功能外,主要对伺服控制部分进行应用程序编写。根据系统的功能要求,程序自动运行流程图如图6所示。
图6 程序运行流程图
4.1触摸屏人机界面的设计与实现
4.1.1HMI软件概述
HMI软件采用面向对象编程语言Microsoft Visual C++6.0的MFC机制进行编写。在HMI软件中,可以完成触摸屏画面的建立、编辑、编译、下载以及模拟操作。HMI软件系统的最终目标是把用户设计好的画面文件按照二进制格式进行保存、编译并下载到触摸屏的画面信息存储区中,触摸屏依据此文件格式完成画面信息的解码、显示、刷新等功能。
为适应不同工业控制的需求,软件集成了保持型按钮、设ON/OFF按钮、交替型按钮、加值按钮、减值按钮、换画面按钮、设值按钮、数值显示控件、状态显示控件、静态文本、静态图片、定时器、示波器等。编辑相关元件时,必须分配好触摸屏内部地址,并与触摸屏底层程序对应。
4.1.2系统人机界面设计
根据控制要求,人机界面实现的功能有:完成横向移动距离(针距)、纵向移动距离、伺服电机频率参数、伺服电机电子齿轮比、减速箱减速比、丝杆螺距和滚子直径等参数的设定;设置管理员界面,提供密码保护功能;可对横向和纵向移动进行点动操作;发生故障时报警并显示故障原因;阶段工作完成后,可对相关数据进行清零;如遇紧急情况,可以急停。图7、图8是触摸屏人机交互界面中几幅主要画面。
图7 主界面
图8 管理员界面
触摸屏主界面布置了启停、急停、清零等控制元件,还有横向移动距离和纵向移动距离的参数设定区,对运动步数、实际针距及当前针位进行显示。如需对系统进行点动控制,可以点击“点动控制界面”,进入点动控制界面,可分别对2台伺服电机进行点动控制。点击“管理员登陆”,可进入如图8所示的管理员界面,登陆时需要输入登陆密码。在管理员界面中,可以完成参数的设定。相关操作如图9所示。
图9 触摸屏参数设定流程图
4.2伺服控制算法设计
系统的执行部件采用伺服驱动器和伺服电机组成的伺服系统,根据主轴转速、伺服电机电子齿轮比和编码器分频比的不同,其控制算法涉及每次移位距离对应不同脉冲数计算。底层程序还需对伺服电机编码器输出的A、B相信号进行处理。
4.2.1上位机所发脉冲数的计算
(1)横向移动第一步所对应的脉冲数为
式中:C为光电编码器每转线数,一般设定为C=2 500;G为电子齿轮比,G=倍率分子/倍率分母;L为底布一次移动距离,即针距,mm;p为滚珠丝杠螺距,mm.
(2)横向移动第二步至最后第二步每针距对应的脉冲数为
式中:p_kw[37]为当前针位,在程序中用g_InteralMemory.KeepWord[37]表示;p_kw[34]为编码器输出的脉冲数,在程序中用g_InteralMemory.KeepWord[34]表示。
p_kw[37]、p_kw[34]均是触摸屏内部字,具有掉电保存功能。
(3)横向移动最后一步针距对应的脉冲数为
式中100.0为底布的额定长度数值。
(4)纵向移动一定距离对应的脉冲数为
式中:d为滚子的直径,mm;i为减速箱减速比。
4.2.2编码器输出信号异或处理的程序实现
编码器A、B相信号经高速光耦分别接入触摸屏的1号高速输入口和2号高速输入口,端口配置为双沿触发,在中断服务程序中记录编码器输出脉冲数。具体程序实现如下:
int i,j;
i=(rGPFDAT >> 1) & 0x1;//A相输入
j=(rGPFDAT >> 2) & 0x1;//B相输入
if(i^j==1) //对2个输入信号做异或判断
{
g_InteralMemory.KeepWord[38]++;
g_InteralMemory.KeepWord[34]=g_InteralMemory.KeepWord[38];
}
if(i^j==0) //对2个输入信号做异或判断
{
g_InteralMemory.KeepWord[38]--;
g_InteralMemory.KeepWord[34]=65535-g_InteralMemory.KeepWord[38];
}
4.3伺服驱动器参数设定
通过伺服驱动器的面板可以对伺服驱动器的参数进行设定和更改。文中提出一种通过通信的方式,由触摸屏人机界面对伺服驱动器的相关参数进行设定和修改。
4.3.1通信协议及其格式
伺服驱动器RS485通信口与上位机通信时,服从MODBUS通信协议,其RS485通信格式如表1所示。
4.3.2程序实现
为保证触摸屏与伺服驱动器顺利实现通信,必须将触摸屏的通信参数设定成与伺服驱动器通信协议所规定的通信参数相一致。以下是通信部分完成触摸屏向伺服驱动器进行写操作的部分程序代码,程序代码在ADS1.2中编写完成:
表1 KT270伺服驱动器通信指令帧格式
char WriteWord(char*DevChar,short DevNumber,int Value)
{
……
auchMsg[0]=0x01;//驱动器地址
auchMsg[1]=0x10;//功能码,写驱动器内存数据
if(DevNumber==0) //写驱动器参数pb06内容
{ auchMsg[2]=0x00;
auchMsg[3]=0xea;
}
……
if(DevNumber==3) //写驱动器参数pb10内容
{ auchMsg[2]=0x00;
auchMsg[3]=0xee;
}
……
auchMsg[4]=0x00;//写寄存器数量高位
auchMsg[5]=0x01;//写寄存器数量低位
auchMsg[6]=0x02;//字节数
auchMsg[7]=(Value)>>8;//改写寄存器内容高位
auchMsg[8]=(Value)&0xff;//改写寄存器内容低位
auchMsg[9]=(CRC(auchMsg,9))&0xff;//CRC校验高位
auchMsg[10]=(CRC(auchMsg,9))>>8;//CRC校验低位
……
}
文中设计的控制系统充分发挥工业触摸屏一体机的优势,较好满足了提花横移控制系统精确位置控制的要求。现场调试表明:该系统操作简单,可靠性高,人机交互性好,能满足控制要求。
参考文献:
[1]郭俊华.基于伺服控制的经编电子横移系统的研究:[学位论文].无锡:江南大学,2007.
[2]殷凌云.地毯簇绒机提花横动的伺服控制:[学位论文].上海:东华大学,2007.
[3]王黎明.ARM9嵌入式系统开发与实践.北京:北京航天航空大学出版社,2008.
[4]田宇.伺服与运动控制系统设计.北京:人民邮电出版社,2010.
[5]侯殿有,才华.ARM嵌入式C编程标准教程.北京:人民邮电出版社,2010.
[6]蔡锦达,王亮,秦绪祥,等.基于工业触摸屏的多点数据通信系统的设计.计算机应用与软件,2012,29(11):299-301.