基于DSP的电阻点焊控制器设计

2013-09-17 11:38王先锋
湖南工业大学学报 2013年5期
关键词:PC机点焊子程序

黄 刚,王先锋

(1. 湖南工业大学 电气与信息工程学院,湖南 株洲 412007;2. 南车株洲电力机车有限公司,湖南 株洲 412001)

0 引言

电阻点焊作为薄板连接中应用广泛的一种方法,在车辆制造、航空航天、家用电器等领域得到了普遍应用。其是通过对被连接的工件施压,并对焊接处通电,利用工件的电阻和工件之间的接触产生热量,使连接处熔化或成塑性状态,通过热核机械力的联合作用完成连接的方法。

随着对电阻点焊质量控制的精度要求越来越高,智能控制技术在点焊质量控制中的应用飞速发展,从目前控制方法的实现手段看,一般采用单片机和单片机+PC机的形式。仅有单片机无法完成复杂的智能计算,而单片机+PC机的形式在实时性和性能价格上存在一些不足[1-2]。数字信号处理器(digital signal processor,DSP)[3-6]在解决计算的复杂性与实时性之间的矛盾等方面具有一定的优势,特别适合于电阻点焊中对信号的采集、数据处理以及实时控制的高速性能的要求[7-8]。因此,本文提出了基于DSP的点焊控制器设计方法。嵌入式DSP开发板采用北京合众达电子技术有限责任公司生产的SEEDDEC2407控制模板。

1 SEED-DEC2407[8]简介

SEED-DEC2407是一款TMS320LF2407A嵌入式DSP控制模板,主要集成了DSP, SRAM, A/D, PWM,GPI/O, SCI, SPI, UART, CAN, USB, D/A和串行EEPROM+RTC实时时钟等外设,因此,能够应用于电机、电力等工业控制领域。SEED-DEC2407的功能框图见图1,实物见图2。

图1 SEED-DEC2407的功能框图Fig.1 The functional block diagram of the SEED-DEC2407

图2 SEED-DEC2407的实物图Fig.2 The physical diagram of the SEED-DEC2407

1)TMS320LF2407A存贮空间的配置

TMS320LF2407A为哈佛结构的DSP,有3个相互独立的存储空间:程序存储空间寻址范围为64K×16位,数据存储空间寻址范围为64K×16位,I/O存储空间寻址范围为64K×16位。

2)TMS320LF2407A的中断

TMS320LF240x系列DSP的中断由2级组成,一级是PIE中断,另一级是CPU中断。

3)ADC

TMS320LF2407A片有1个10位A/D转换器,该转换器前端为2个8选1多路切换器和2路同时采样/保持器,构成16个模拟输入通道。模拟通道的切换由硬件自动控制,并将各模拟通道的转换结果顺序存入16个结果寄存器中。

4)事件管理器

TMS320LF2407A是专门为电机控制而优化设计的,有2个事件管理器EVA和EVB。每个事件管理器有2个16位定时器、3个全比较器、3个事件捕捉器、1个正交编码脉冲通道。

5)D/A输出

SEED-DEC2407模板使用了一片DAC7724做模拟量输出。DAC7724为4通道、12位的D/A转换器,输出的模拟信号范围为±10V,信号建立时间为10s,双电源供电为±15 V,其内部有2级锁存,可实现多通道同时输出。

6)I/O端口

TMS320LF2407系列有多达41个通用、双向的数字I/O(general purpose input output,GPIO)引脚,其中大多数都是基本功能和一般I/O复用引脚,TMS320LF2407系列的大多数I/O引脚都可用来实现其他功能。数字I/O端口模块采用了一种灵活的方法控制专用I/O和复用I/O引脚,所有I/O和复用引脚的功能可通过9个16位控制寄存器来设置,

7)UART接口

在SEED-DEX2407模板上配置了2个通用异步串口,接口标准可配置为RS232/RS422/ RS485,用它可以与计算机及其它设备进行串行通信。SEEDDEX2407采用TL16C752B通用异步收发器UART,其包含2路相互独立的异步收发器,接收和发送各带64 B的FIFO,并各自带有Modem接口信号,最高传输速率可达1.5Mb/s。SEED-DEX2407采用MAX3160多协议收发器,异步串口接口电平可配置为RS232 /RS422/ RS485多种接口电平标准。

2 软件开发

2.1 SEED-DEC2407控制器的总程序框架

SEED-DEC2407控制器的软件开发包括UART模块的软件开发、定时器的软件开发、D/A模块的软件开发以及I/O模块的软件开发。其程序总框图如图3所示。

图3 DSP2407控制器程序总框图Fig.3 The program block diagram of the DSP2407 controller

在主程序中,当各参数、变量初始化和系统、定时器、UART初始化后,开总中断程序,程序进入I/O输入端口扫描等待焊接启动按钮的动作;此时,如果按下焊接启动按钮,会向CPU发出INT2中断请求,中断响应后,将进入I/O和D/A定时输出中断子程序;如果A通道异步串口COMS电平接口有信号输入,将向CPU发出INT1中断请求,中断响应后,将进入UART接收数据的中断子程序;如果2个中断请求同时发生,因INT1的中断级别高于INT2的中断级别,故会先响应INT1的中断请求,接收上位机传来的参数。

2.2 UART模块的软件开发

UART程序模块采用A通道进行参数接收,参数临时由PC机上的串口测试软件发送,用串口电缆连接PC机COM1与SEED-DEX2407的UART A通道,经片外MAX3160和TL16C752B后与DSP连接。

DSP2407接收参数的程序流程见图4。系统初始化程序中,通过配置MCRA寄存器,使DSP2407的23引脚不用IOPA2功能,而选择XINT1(外部中断逻辑,高优先级模式)功能,同时设置寄存器XINT1CR,使能XINT1中断,这样当外部有数据通过UART输入时,DSP2407就会产生中断请求。在UART的初始化程序中,通过设置线路控制寄存器(line control register,LCR),选择接收数据的格式、停止位、校验位等;设置低位除数寄存器确定接收数据的波特率;设置FIFO控制寄存器(FIFO control register,FCR)设置接收字节数等。

在程序调试中,可以通过CCS窗口中的View/Watch Window查看DSP2407接收的数据是否与串口调试器发送的数据相同,以验证接收程序的正确性及硬件通道的完好。

图4 DSP2407的UART程序框图Fig.4 The program block diagram of the UART

2.3 定时器模块的软件开发

DSP2407包括2个事件管理模块EVA和EVB,每个事件管理器模块包括通用定时器(general-purpose,GP)、比较单元、捕获单元以及正交编码脉冲电路。其中通用可编程定时器有2个,本程序选用EVA的Timer 1。这里点焊控制器的设计要求实现4个阶段的定时,其基本定时单位为毫秒级。通过设置PLL倍频系数,使EVA模块时钟频率为10MHz,设置Timer 1的周期寄存器数值为1000,则每发生一次定时中断的时间为0.1ms。当Timer 1的计数寄存器数值为1000时,将发生1000次定时中断,其总定时为100ms。Timer 1周期中断属于INT2,中断向量地址为0027H,当进入中断子程序后,要进行中断向量的进一步确认。在中断子程序中,用switch语句可实现各阶段的依次定时,在最后一个定时阶段可关闭定时器返回主程序。

在调试程序中,可设置断点查看是否依次进入各阶段的定时,各寄存器值的变化等。

2.4 D/A模块的软件开发

SEED-DEC2407模板上有一个D/A芯片DAC7724,其包括4路D/A信号,输出40~10000Hz,最大±10V量程的波形。

本程序选用的通道DA_PORT1为模拟控制电压输出,可以根据实际需要输出不同的波形,如正弦波、方波、三角波等,本文只需在各定时阶段输出不同的直流电压。在D/A模块的程序开发中,利用定时中断子程序进行D/A输出,每个定时周期为25s,进行无限次中断定时,直到程序运行停止。在定时中断子程序中,使能DA_PORT1通道DAC7724_1_ENABLE对设定的直流电压数值在满值确定后进行转换,变为D/A模块能辨识的模拟电压值,调用da-run子函数启动D/A输出,将模拟电压值通过DA_PORT1通道输出。在退出定时中断子程序前,清除定时器周期中断标志位,开总中断,再返回主程序。

在D/A模块程序的调试中可利用示波器检测DA_PORT1通道的输出端子,可判断所测值是否与设定的直流电压值一致。

2.5 I/O模块的软件开发

本程序测试SEED-DEC2407模板上B组电机控制驱动接口J8的7和11两个引脚,它们的通用功能分别为T3PWM/T3CMP和TDIRB,一般I/O口分别为IOPF2和IOPF4。通过设置I/O口复用控制寄存器C(multiplex controller C,MCRC)的值选择J8的7和11两个引脚功能为一般I/O口。通过设置端口F数据和方向控制寄存器(PFDATDIR)的值使引脚J8的7为I/O输出引脚,引脚J8的11为I/O输入引脚。这些配置都在系统初始化程序中或I/O端口初始化程序中进行。

在程序运行前,必须为I/O输入引脚J8的11配置I/O端口输入接口电路。当K键按下时电位拉低,PFDATDIR寄存器的值发生变化,读取该值即可用来控制其它器件的动作。

在对输入引脚J8的11进行扫描的函数中,有延时消抖动程序,确保K键确实按下,然后返回一个值给主程序;主程序确认有键按下后,改变PFDATDIR寄存器的值,使输入引脚J8的7输出高电平,可供控制点焊机电极动作使用。在调试中可用示波器观察在K键按下时输出引脚J8的7的电位变化情况。

2.6 I/O和D/A定时输出中断子程序

综合以上定时器模块、I/O模块和D/A模块3部分的软件开发工作共同协调来完成点焊控制器控制部分的软件开发工作,部分工作在INT2中断即I/O和D/A定时输出中断子程序中得以充分体现,其程序框图如图5所示。

图5 I/O和D/A定时输出中断子程序Fig.5 The timing output interrupt subroutine of the I/O and D/A

3 控制器总程序调试及结果分析

3.1 程序在CCS中的调试

在程序调试前,先将串口电缆连接PC机COM1与SEED-DEX2407的UART A通道,打开串口测试软件,设置串口参数,将要发送的控制电压和相应的时间参数转换成十六进制,输入到发送字符窗口。SEED-DEC2407控制器总程序在CCS软件[9]中的调试界面如图6所示。在实际应用中,可将PC机替换成具有高速显示与数据传输功能的SEED-MMI5402。

图6 SEED-DEC2407控制器总程序的调试界面Fig.6 The program debugging interface of the SEED-DEC2407 controller

3.2 测试分析

按上述过程调试,程序无误,各程序流程均能正常运行。程序运行后,能正确接收PC机上的串口测试软件发送的数据。按下焊接启动按钮K后,示波器能正确输出预定的控制电压波形。不同预热和焊接条件下,D/A的模拟控制电压输出结果如图7所示。

图7 D/A的模拟控制电压输出Fig.7 The analog control voltage output of D/A

4 结语

由于在薄板连接中对电阻点焊质量控制的精度要求越来越高,因此,本课题组根据电阻点焊的工艺过程:预压、通电、锻压3个阶段的特点,提出了基于SEED-DEC2407开发电阻点焊控制器。分别对UART模块、定时器模块、D/A模块、I/O模块进行了软件编程,并在CCS软件中对该电焊控制器进行了调试与测试。测试结果表明,该控制器能完成预定的电阻点焊功能要求,设计简单,工艺性能稳定、反应速度快。

[1] 方 平,熊丽云,林一松,等. 基于DSP的电阻点焊智能控制系统[J]. 航空维修与工程,2003(4):38-40.Fang ping,Xiong Liyun,Lin Yisong,et al. Study on Intelligent Control System of Resistance Spot Welding Based on Dsp[J]. Aviation Maintenance & Engineering,2003(4):38-40.

[2] 管功湖,龙胜春. 基于双单片机的电阻点焊控制系统设计[J]. 浙江工业大学学报,2008,36(3):330-333.Guan Gonghu,Long Shengchun. Design of the Control System for Resistance Spot Welding Based on Double Single-Chip Processors[J]. Journal of Zhejiang University of Technology,2008,36(3):330-333.

[3] 黄石生,冯 桑,方 平,等. 基于DSP 的电阻点焊检测与智控技术研究[J]. 华南理工大学学报:自然科学版,2002,30(11):27-30.Huang Shisheng,Feng Sang,Fang Ping,et al. Study on the Detection and Intelligent Control Technology of the Resistance Spot Welding Based on DSP[J]. Journal of South China University of Technology:Natural Science Edition,2002,30(11):27-30.

[4] 方 平,谭 庆,刘泽民. 基于DSP电阻点焊模糊控制器[J]. 南昌航空大学学报,2009,23(2):21-24.Fang Ping,Tan Qing,Liu Zemin. Fuzzy Controller of Resistance Spot Welding Based on DSP[J]. Journal of Nanchang Hangkong University,2009,23(2):21-24.

[5] 陈卫兵,何必都,黄永坤,等. DSP语音识别电梯控制系统的设计和实现[J]. 湖南工业大学,2011,25(4):101-104.Chen Weibing,He Bidu,Huang Yongkun,et al. Design and Implementation of DSP Speech Recognition Controlling System in Elevators[J]. Journal of Hunan University of Technology,2011,25(4):101-104.

[6] 王先锋,孟国香,谢文华,等. 基于DSP的电阻点焊人机界面的软件开发[J]. 电焊机,2010,40(4):57-62.Wang Xianfeng,Meng Guoxiang,Xie Wenhua,et al.Software Development of the Human-Machine Interface in Resistance Spot Welding Based on DSP[J]. Electric Welding Machine,2010,40(4):57-62.

[7] 邱然锋,石红信,张柯柯,等. 汽车车身用铝合金与钢的异种材料电阻点焊技术研究现状[J]. 电焊机,2010,40(5):150-62.Qiu Ranfeng,Shi Hongxin,Zhang Keke,et al. Research Status of Resistance Spot Welding Between Steel and Aluminum Alloy for Automobile Body[J]. Electric Welding Machine,2010,40(5):150-62.

[8] 北京合众达电子技术有限责任公司. SEED-DEC2407用户指南[S]. B 版. 北京:北京合众达电子技术有限责任公司,2004:4-72.Beijing SEED-Special Electronic Equipment & Device Co.,Ltd. SEED-DEC2407 User Guide[M]. B ed. Beijing:Beijing SEED-Special Electronic Equipment & Device Co.,Ltd.,2004:4-72.

[9] 尹 勇,欧光军,关荣锋. DSP集成开发环境CCS开发指南[M]. 北京:北京航空航天大学出版社,2003:20-40.Yin Yong,Ou Guangjun,Guan Rongfeng. Guide to CCS Development in DSP Integrated Development Environment[M]. Beijing:Beihang University Press,2003 :20-40.

猜你喜欢
PC机点焊子程序
热成型零件点焊对碰撞的影响
基于三菱FXPLC的感应淬火机床与PC机的串行通信实现
VC.NET下实现dsPIC单片机与PC机的通信
排除OLT设备登录故障
SAPH440酸洗钢电阻点焊性能研究
浅谈子程序在数控车编程中的应用
DP600/AZ31无匙孔搅拌摩擦点焊轴肩下压量对接头性能的影响
轨道车辆TIGSPOT点焊工艺研究
VIVID3彩色超声仪结构原理及维修
子程序在数控车加工槽中的应用探索