摘 要: 介绍了一种利用ticle/index.aspx?id=24114">DSP对电阻焊焊接电流进行在线检测的系统,主要包括硬件设计、电流检测软件、LCD和按键软件设计。本系统通过温度和初值补偿设计,提高了检测准确度。试验结果表明,系统最大检测误差为0.67%。
关键词: 电流检测;DSP;温度补偿
电阻焊是一种将电网的能量经转换后直接对工件进行熔合的高自动化程度的焊接方法。它广泛地应用于汽车、航空及航天等行业。随着电阻焊应用领域的不断扩展及深入,对焊接质量也提出了越来越高的要求[1]。
要对焊接质量进行精确控制的关键是焊接电流及其状态电流参数的在线检测。目前国内外测量电阻焊焊接电流有效值的方法有两大类,即模拟法和数字法。其中数字法中的逐点积分法检测精度高,得到了广泛的应用[2]。该方法会占用大量的CPU时间[3],随着计算机技术的发展,各种高速高性能处理芯片不断出现,因此本文设计了基于DSP的电流检测系统,它可以实现电流的快速准确检测。
1 系统硬件设计
电流检测系统硬件结构如图1,本系统中采用了美国德州仪器公司(TI)的TMS320LF2812 DSP作为主控芯片,该处理器是目前国际上最先进、功能最强大的32位定点DSP芯片之一,它既具有数字信号的处理能力,又具有强大的事件管理能力和嵌入式控制能力。
检测系统硬件由传感器模块、信号调理电路、A/D转换电路、DSP模块、键盘/LCD模块组成。系统的信号处理电路包含两个模块。模块1先对传感信号进行积分、信号调理后,通过微分和过零比较电路,用于电流信号的检测;模块2将传感器送来的信号进行积分、信号调理后,送到12位A/D转换器MAX191中,最后由DSP进行逐点积分检测计算,获得电流的有效值,因此模块2的主要作用是检测和处理电流数值,计算的结果送到LCD液晶显示屏显示。
在本系统中,A/D转换器的转换位数、分辨率、转换速度对检测系统的系统精度很重要。以往用单片机利用逐点积分法进行电阻焊焊接电流的检测时,模数转换大多采用8位数字输出的ADC0809模数转换器,它的分辨率仅为0.390 6%,转换时间约为100 μs,A/D转换误差和漏采误差都较大,造成测量精度低。为了节约转换时间、提高检测精度,拟采用12位逐次逼近式A/D转换器MAX191,它的分辨率为0.024 4%,其转换时间为7.5 μs,比ADC0809快大约13倍。用它进行模数转换,可提高分辨率,减小A/D转换误差,同时可以通过增加A/D采样次数来缩小采样间隔,减少漏采误差,可以保证高精度控制的要求。
系统采用霍尔传感器进行电流检测,霍尔传感器可以检测交直流电、电流瞬态峰值,可以隔离测量且可以应用在通信电源、电化学、电源电池监测、电焊机、电动机监测等场合[4-5],具有良好的通用性。但由于霍尔元件为磁感应元件,容易受环境温度影响,本系统通过在检测电路中添加一个温度传感器(图1)进行温度补偿,系统在检测前进行标定,通过测量环境温度,得到不同温度下霍尔元件的温度特性,则在检测时,DSP就能够根据不同的温度进行软件补偿,从而提高检测准确度。
2 系统软件设计
2.1 电流检测程序设计
由系统硬件设计可知,当检测系统的信号处理线路检测到有电流信号的时候,会向DSP的INT1发送一个触发信号,使DSP产生中断并调用中断服务程序(如图2)。中断服务程序先使积分电路的13脚控制端为低电平,使积分线路进行积分;将用于数据处理的寄存器清零;然后对A/D转换器进行数据采集;采集数据后进行温度补偿和电流值计算;再判断检测电流是否小于5H,如果小于,则认为电流此时为0,记录去零电流值用于初值补偿;如果不小于,则保存电流参数并继续检测。
由于焊机变压器蓄能的影响,检测电流值总表现为一定数字,因此在本系统中判断实际电流为0是采用下限值的方式来进行。当电流采样值小于某下限值时,程序认为实际电流为0,因此下限值的选择显得十分重要,下限值可以根据应用的实际情况,通过键盘进行设定。当电流检测结束时,采集检测数据作为检测电路的去零电流值,系统再次检测时,把传感检测数据减去零电流值就可以进行初值消除,提高了测量精度,由于系统采用了去零初值处理,下限值设置产生的误差影响极小。
2.2 LCD显示软件设计
LCD显示模块主要用来显示当前的测量结果或人机交互界面,采用金鹏电子有限公司生产的OCM128128-2图形点阵液晶显示模块,共8页(64行)128列,分左右两屏,每屏各64列,LCD显示模块的流程见图3,其中的几个典型函数定义如下:
void check_busy(void); //判断液晶忙否函数
void send_cmd(Uint16 cmd); //向控制器写指令
void send_dat(Uint16 dat); //向控制器写数据
void lcd_initial(void); //初始化
void main_page(void); //各页面的界面
void Set_Page_Address(Uint16 dat); //写页地址
void Set_Colume_Address(Uint16 dat); //写列地址
void Display_char(Uint16 page,Uint16 colume,const Uint16*zifu); //显示字符
void clear(void); //清屏程序
2.3 按键设置软件设计
装置的按键设置程序软件采用中断和查询相结合的方法,如果有按键按下,便会产生中断信号,进入中断程序,然后查询是哪些按键按下,进入相应的功能程序。为使按键可靠工作,采用延时去“抖动”以防误操作。按键设置的流程图如图4所示,其中的延时、读键、选择和设置的子函数定义如下:
void delaykey(uint t); //专门为按键设置的延时函数
void rdkey(void); //读键子函数
void select(void); //选择子函数,用于参数显示、翻页设置
void set(void); //按键设置子函数,控制参数类型以及下限设置
3 检测系统试验
测试在SK3-Ⅱ微电脑电阻焊机上采用飞焊的形式进行,参照检测仪表为日本米亚基株式会社的MM-315A型焊接监测仪。表1为检测试验数据对照表。
由试验结果分析可知,本电流系统试验测得的焊接电流与用MM-315A型焊接监测仪测得的焊接电流相比较,其电流值最大相对误差为0.67%。
本文电流检测系统采用DSP进行数据采集、计算和显示,它解决了以往电流检测计算时间长的问题,它在检测过程通过温度传感器进行温度的软件补偿,并进行去零初值处理,使系统具有更高的检测准确度。焊接电流的检测试验中,将本系统与日本米亚基株式会社的MM-315A型焊接监测仪进行对比测试,结果表明,两种仪器的最大检测误差为0.67%。
参考文献
[1] 王笑川,艾雍宜.微机控制的各种阻焊质量监控器的基本原理及方法[J].电焊机,1994(5):13-19.
[2] 徐明,郭育.用8098单片机测量非正弦点焊焊接电流有效值[J].焊接技术,1995(3):12-14.
[3] 叶廷东,钟日锋,解生冕.基于逐点积分的点焊焊接电流检测的研究[J].焊接,2007(8):41-44.
[4] 王香婷,苏晓龙.基于霍尔传感器的电流检测系统[J].工矿自动化,2008(4):74-76.
[5] 尹伦海,梁清华,陈双桥.基于电热转换的电流检测方法[J].辽宁工业大学学报,2008(6):156-159.