平行缝焊机控制系统的研制
摘要:论述了系统的组成原理和实现方法。充分利用上、下位机的性能特点,定制合理的通信协议,实现了PC机与单片机之间的串行通信。主要论述了下位机各功能模块的组成和编程方法。
关键词:上位机 通信协议 下位机 步进电机 焊接功率
平行缝焊机用于封装集成电路芯片。目前我国使用的封装集成电路芯片的设备基本来自于美国和日本等国家,价格昂贵,因此使其变得国产化、价位低具有深远的意义。
1 系统的主要组成与功能
系统由上位机(PC机)和下位机(单片机)两部分组成,硬件结构如图1所示。
上位机(PC机)软件采用可视化编程语言VB6.0开发,使用Mscomm控件完成PC机与单片机的数据通信,传送控制信息、状态信息和焊接参数;并利用VB6.0具有的对各种数据库的操作能力实现焊接的人性化。下位机(单片机)通过串行接口接收PC机发送的命令,启动工作程序,控制6个步进电机(其中x轴两个、y轴1个、z轴两个,旋转θ轴1个),通过丝杠将电机的角位移转换为线位移,带动焊接电极按设计的轨迹运行,并实时向PC机传送当前的运行状态。系统的主要功能有:
①上位机实时监视下位机的工作状态,控制下位机的工作过程;设置下位机的工作参数,接收和发送数据信息、控制信息和状态信息;记录历史芯片的焊接参数。系统在重新上电时,将最新的焊接参数作为本次焊接参数的默认值;进行数据处理并显示数据和工作状态,指导操作过程;
②下位机控制6个步进电机的转动,最终控制焊接电极的移动;控制焊接功率的大小并实现间歇控制;实现焊接电极的微调。
③系统的各焊接轴方向精度不得低于0.1mm。
图1 系统硬件结构框图
2 系统资源利用及通信机理
2.1 系统资源的利用
为充分利用PC机强大的数据处理能力、海量的存储空间,有效地发挥单片机数据存储器的作用,必须合理地分配系统资源。具体做法之一是PC机在发送焊接数据时,将其以浮点数存储的焊接参数根据步进电机的步角和丝杠比转换为脉冲数发送给单片机;二是当脉冲数占用的位数略大于单字节整数倍N位时,在满足精度要求的前提下有:发送的数据=原数据/2n,这时对发送数据取整,单片机接收到该整数数据后,左移N位便可恢复真实数据。这样既提高了通信效率,又减小了对单片机RAM的占用。
2.2 系统通信协议
波特率设置为4800bps;数据帧结构设置为:起始位1bit,数据位8bit,停止位1bit。
PC机向单片机发送的信息包包括数据信息包和控制信息包。数据信息包括结构为:以“S”字符开头,其后为22字节的16进制数。发送时按ASCII码格式(文本格式)发送,实际发送44个ASCII码。下位机正确收到后,向PC机发“K”作为确认应答信号。若在规定的时间内,PC机未收到“K”信号,则重发。若三次未成功,则在屏幕上给出显示信息。PC机必须保证44个ASCII码的包长度,以免系统误动。控制信息包结构为:以大写“O”开始,其后为单字节16进制数的控制字,实际发送两个字节ASCII码,也是以“K”作为应答信号,采用等比码3/8。发送时高位在前,低位在后。
PC机从单片机接收的信息包括结构的主要内容为数据信息和状态信号,且数据信息和状态信息被同时发送。该信息以“S”开关,其后为32个1位16进制数的ASCII码,以“K”作为结束信号。若PC机收到单片机发来的完整信息包,则有屏幕提示,指示用户进行操作。
以上的信息由双字节数、单字节数混合构成,信息包的头与尾均采用非十六进制的ASCII码字符,以示区分。接收方则按照协议双方规定的算法进行解包,发送方按照双方规定的数据结构组包。
javascript:window.open(this.src);" style="cursor:pointer;"/>
3 下位机的主要组成模块及设计思想
3.1 模信模块
通信模块的硬件组成由于令使用了一片MAX232完成电平的转换功能而变得较为简单,免去了一般芯片使用±12V~15V电压带来的麻烦,而且与PC机的连接方式是最为简单的,不需要进行硬握手,大量的工作都由软件完成。
其主要程序设计方法如下:
①下位机接收PC机发送的数据包,以中断方式(且设置为高级中断)来接收,以满足通信的实时性要求。这里仅是触发接收中断服务程序的执行并且接收首字节,一旦进入该中断程序后,就用程序查询的方法来接收剩余的字节。接收标志RI是硬件置位、软件复位的,数据后,接协议规定对数据进行解码和验证,并向PC机返回验证信息。②下位机向PC机发送运行状态信息的子程序是根据程序工作过程的需要而调用的。在调用过程中为保证程序逻辑清晰性,使CPU关中断,利用程序查询发送标志TI(TI的使用同RI相似),按协议要求进行数据变换并发送完整个信息包,再使CPU开中断,整个程序执行完毕。
javascript:window.open(this.src);" style="cursor:pointer;"/>
3.2 步进电机控制模块
步进电机是机电一体化产品中重要的执行元件之一。对于三相反应式步进电机,其工作方式分为两种。本系统选用三相单、双六拍通电方式,这种方式不容易失步,在转子平衡位置附近不易产生振荡,运行的稳定性较好,而且控制的精度也提高了一倍,为使步进电机的运行更平稳,控制精度更高,系统采用了具有细分的步进电机驱动器来控制。步进电机的转速取决于步进脉冲序列的频率。其硬件接口电路如图2所示。图中只是X轴左侧步进电机的连接示意图,其余电机的连接方式与图中相似,但使用8155A其它的引脚。步进电机驱动器的CP+和CP-是步进脉冲输入端,U/D+和U/D-是方向控制输入端,PD+和PD-为脱机控制输入端(本系统未使用),且各具有光电隔离电路,有利于实现系统工作的安全性和可靠性,连线采用共阳极接法是因为逻辑电路的灌电流负载能力通常大于拉电流负载能力;DC和GND为电源接线端,要求为直流20~60V,电流为4A;输出端A+和A-、B+和B-、C+和C-分别与步进电机A、B、C三相引出线对应连接。对步进电机的控制主要有逻辑控制和速度控制。
逻辑控制包括电机旋转方向控制和发送步进脉冲序列。由于访问8155的PA口和PB口需以字节方式进行,因此根据旋转方向控制和步进脉冲序列发送的需要,组成逻辑置位和复位两个控制字,交替地输出到对应的端口,即可实现对电机旋转的控制。系统最多控制两个电机同时工作,共有16个控制字。具体编程思想是:脉冲数经步进角到角位移,再经丝杠到位移,即可实现脉冲数正比于线位移。
速度控制是通过在置位和复位两个控制字交替输出期间插入延时子程序而实现的,所以速度的快慢是由延时子程序的执行时间决定的。在本系统的电机工作的低速区,非焊接运行时控制线速为4mm/s;焊接运行时线速为1~8mm/s,由PC机根据需要实时控制。
3.3 PWM模块
为满足IC芯片缝焊的技术条件,要求焊接过程的功率加载是间歇的,为此设计了PWM脉冲宽度调制模块,以实现对功率的间歇控制。图3是本模块的电路组成。核心器件为SG3524,它的输出为周期脉冲序列,其周期受RT、CT端对地的接入电阻RT和接入电容CT的控制,周期T=0.77Rt×Ct,所以在此串入数字电位器X9C104用以实现对T的控制。按图中数字电位器的使用方法,则其电阻R的表达式为:R=(99-n)×100kΩ,其中n是通过编程进行控制的。SG3524的输出信号的占空比由D/A转换电路通过编程控制。本系统实现了T=40ms~80ms,占空比为0~100%,由上位机控制。
图4 功率控制模块电路图