一种焊接温度测量仪设计
扫描二维码
随时随地手机看文章
焊接温度是关系到焊接质量的关键参数之一, 控制合适的焊接温度对保证焊接质量至关重要。非接触式红外测温仪为焊接在线温度监控提供了一种有效的技术手段。采用红外测温仪可以实现在线焊接温度测量,并且可以进一步构成焊接温度自动控制系统。
1 红外测温原理
红外测温是利用物体的热辐射特性与温度之间的关系来实现非接触测温的一种方法。任何物体受热后都将一部分热能转换为辐射能,理论和试验都证明辐射能量与温度成正比。
红外测温仪内设光学装置,可以收集来自物体的辐射红外线能量,并把该能量聚焦在探测器上。辐射能量是以波动的方式传播的,并可以通过光电转换器件和其它相关的辅助电路、光路构成的传感器,将辐射能量转换为电信号,并被放大、显示出来。对于从室温到上千摄氏度这样的工业中常用的测温范围,辐射能量较高的光谱在近红外到红外波段范围内,所以称作红外测温。
2 红外测温仪的硬件设计方案
红外测温仪采用凌阳科技公司的SPCE061A单片机及LED键盘控制电路和红外测温传感器电路实现,系统结构框图如图1所示。
该测温仪包括按键、音频输出和红外测温部分。
其中,按键部分:按键开始测温,一直按下,听到声音表示测温完毕。音频输出部分:主要是将SPCE061A两路音频输出端通过LM386放大,经扬声器播放。
红外测温部分:主要是通过SPCE061A I/O口的控制,将所测得的温度接收到单片机中,实现在线温度测量。然后,单片机经过处理控制输出,来调整焊接功率的输出。
凌阳单片机SPCE061A作为该测温系统的控制中心,负责控制启动温度测量、接收测量数据、计算温度值,并根据取得的键值控制播放显示过程,同时通过音频输出通道播报温度值;红外测温传感器电路负责温度的测量、采集,并将采集数据通过数据端口传送到SPCE061A单片机;LED键盘控制电路中的键盘,控制温度显示和播放,数码管显示温度值。该系统的电路连接方式如图2所示。
图2中,IOA0- IOA7控制数码管的段选,IOB0-IOB7控制数码管的位选,IOB8- IOB15实现1*8键盘,IOA13- IOA15控制红外测温传感器电路的启动、时钟及数据接收。LED键盘控制电路和红外测温传感器电路的VCC和GND均与SPCE061A共用。
2.1 SPCE061A单片机
SPCE061A是凌阳公司研发生产的性价比很高的一款16位单片机,它采用高性能的u'nSP内核,具有丰富的硬件资源,并集成了ICE (在线仿真电路)接口,可以直接利用该接口对芯片进行下载、仿真、调试等操作。SPCE061A的特性参数见表1.
表1 SPCE061A的特性参数
[!--empirenews.page--]
另外,SPCE061A单片机是易学易用、效率较高的一套指令系统和集成开发环境。在此环境中,支持标准C语言,可以实现C语言与凌阳汇编语言的互相调用,并且提供了语音录放的库函数,只要了解库函数的使用,就会很容易完成语音录放,这些都为软件开发提供了方便的条件。
2.2 红外测温控制电路
红外测温控制电路解决了传统测温时必须接触测温的问题,并且具备响应速度快、测量精度高、测量范围广以及可同时测量环境温度和目标温度的特点。
红外测温控制电路包括:电源VCC,一般为3~5V之间的电压,该电路取VCC为3.3 V;数据接收引脚D:没有数据接收时D为高电平;时钟引脚C:为2kHz Clock输出;接地引脚G和测温启动信号引脚A:低电平有效。
红外测温控制电路在Clock的下降沿接收数据,一次温度测量需接收5个字节的数据,这5个字节中:
Item若为0x4c,表示测量目标温度;若为0x66,则表示测量环境温度;MSB为接收温度的高八位数据;LSB为接收温度的低八位数据;Sum为验证码,接收正确时Sum=Item+MSB+LSB; CR 为结束标志, 当CR 为0x0dH时表示完成一次温度数据接收。
无论测量环境温度还是目标温度,只要检测到Item为0x4cH或者0x66H,同时检测到CR为0x0dH,它们的温度计算方法都相同。计算公式如式(1):
目标温度/环境温度=Temp/16- 273.15, (1)式中:Temp为十进制,当把它转换成十六进制时高八位为MSB,低八位为LSB.
3 红外测温仪的软件设计
红外测温仪的软件程序包括:主程序、测温程序、播放显示程序、键盘扫描程序等。
红外测温仪的主程序方框图如图3所示。在主程序中,调用了测量温度程序测量数据,其程序流程如图4所示。定义一个返回变量,根据这个返回变量在主程序可以判断是否测量到正确数据;调用启动测量程序启动测温;调用读测量数据程序,读取测量数据;判断第1个字节数据是否为0x4c或者0x66,也就是判断是否测到目标温度或者环境温度,是,则依次取第2个字节数据和第3个字节数据,如果第5个字节数据为0x0d,则证明读到正确数据,根据温度计算公式计算温度值,并且给返回变量赋0,表明已经读到正确的温度值;否则直接返回。