摘要:介绍了基于单片机的移动式温度数据采集仪的硬件设计,串行红外接口的应用及用可视化编程工具VB6.0实现的WINDOWS界面的数据接收、处理软件。
关键词:热电耦 温度测量 数据采集 红外串口通信
在电子工业中,随着整机集成度的提高和元器件的微型化、复杂化,在印制板上焊接元件时对各种焊接设备(波峰焊、回流焊、SMT等)内的温度工艺要求越来越高。这就需要一种可移动的温度数据采集仪器,能随传送带进入焊炉内,测量记录下不同焊点(印制板上的焊盘孔、过孔等)在焊炉内不同位置时的温度参数,并能将测量数据方便地传送给电脑,进行数据曲线的显示、分析和打印,以便制定和执行合适的工艺流程。
无线通信可以去除设备对线缆和连接器的依赖。IrDA红外通信是一种低价且适应性广的短距离无线通信技术,只要通信双方都支持IrDA协议,就能很快建立通信链路,实现数据交换。近来红外通信在电子设备中得到了广泛的应用。为此,研制了带有红外接口的移动式温度数据采集仪。该仪器由可充电电流供电,以1Hz的采集率同时对≤8的温度测量点采集600s的数据。温度测量范围为0℃~300℃,测量精度为满量程的1%。测量数据存于E2PROM中,可掉电保存,直到下次采集数据更新。通过串行红外接口,仪器可将存储的测量数据方便地传送给电脑。用可视化编程工具Visual Basic6.0制作了Windows界面的数据接收和处理软件,既方便硬件间的连接又便于测量数据的输出与分析。
1 采集仪的硬件原理
仪器的硬件设计贯彻了确保性能、缩小外形(特别是高度要求苛刻)、便于移动、降低功耗和内隔热的原则。硬件框图如图1所示。图1中数据存储单元是具有I2C串行接口的E2PROM,用于保存测量数据。红外接口电路采用Vishay公司的TFDS4500串行红外收发模块及其控制器TOIM3232。
1.1 信号调理及AD595芯片的作用
八个通道的K分度号热电偶将温度信号转换成mV级电压信号输入给采集仪。信号调理电路包括多路切换电路和热偶信号调理专用电路AD595.在实际的热电偶测温中,必须进行冷端被偿、调零、电压放大和线性化等比较繁琐的工作,否则会造成很大的误差。AD595是AD公司针对上述问题设计的专用芯片,内部具有放大、冷端被偿、冰点基准、温差电偶故障报警等电路。被测温度与AD595输出电压的关系是10mV/℃,芯片在+5V~+30V范围内都可正常工作。随所测温度量程增大,电源电压应相应提高。图2是模拟开关电路CD4051与AD595组成的信号调理电路。需注意的是,AD595的第1脚要求接热电偶正极且接地,模拟开关切换的是各热电偶的负极。图2中电位器W用于微调冷端补偿电压。AD595的7脚是负电源端,由于不测0℃以下温度,不用负压供电,所以7脚可接地。AD595的12、13脚是热偶故障报警电路的输出端,13端接地后,集电极开路的12脚接上拉电阻。热偶正常时输出高电平,断偶故障时输出低电平。将这个逻辑是怦引入单片机,用于对14脚热偶电压的正确判断。
1.2 模数转换及MAX144电路的应用
模数转换电路是以单片机核心的数据采集系统的关键环节,这里采用美信公司12bit串行输出的A/D器件MAX144。它具有两个输入通道,通道CH1用于转换来自信号调理电路的温度测量信号;另一通信CH0用来转换仪器内的电池电压信号(电池电压的高低,在电脑显示数据曲线的同时告知用户)。MAX144是8脚μMAX封装,非常适合于微小型手持仪器,其引脚功能及周边接线如图3所示。MAX144的引脚5是基准电压引入端,用4.096V的AD292作为外接基准源,模拟输入信号1mV对应于数字输出1个字,相当于温度0.1℃的分辨率。MAX144的串行输出是SPI/QSP兼容接口。CS、SCLK、DOUT分别接单片机的三条I/O口线,其读入A/D转换结果的子程序框图如图4所示。转换结果的第13位用来判别读入的是哪个A/D通道。每个测量值两个字节,按顺序存入E2PROM中。
1.3 串行红外输出及TFDS4500,TOIM3232的应用
红外输出主要由Vishay公司的串行红外收发模块TFDS4500完成。此模块为低拉耗、侧式封装,符合IrDA1.2串行红外传输标准,其最高的红外传输速度为115.2Kbit/s。脚SC控制收发模块的灵敏度。SC为高电平时,模块的灵敏度提高,可以感测到非常微弱的红外信号,这样可以扩大传输距离,但其抗干扰能力被降低;当SC为低电平时,模块的灵敏度降低,但其抗干扰能力有所提高,在本设计中,传输距离不太远,故将SC接地。引脚Vcc-SD为电源/关闭引脚。当该脚为低电平时,红外传输模块关闭,达到低功耗目的。
根据IrDA红外传输标准,串行红外传输采用特定的脉冲编码标准,该标准与RS232串行传输标准不同。这里采用TOIM3232传输控制器,以进行RS232编码和IrDA编码之间的转换。在输出模式下,TOIM3232可把RS232信号转换成符合IrDA标准的信号以驱动红外发射器;在接收模式下,它可钭IrDA输入信号转换成符合RS232标准的信号。该控制器可通过RS232口进行编程,以控制输出脉冲宽度和波特率,其输出脉冲宽度可程控为1.627μs或3/16位长。因3/16位长功耗大,在本设计中使用前者。图5为红外通信主要信号接线图。
1.4 整机微功耗设计
由于采集仪是电池供电,对功耗的要求比较高,主要采取了以下措施:
(1)尽量使用微功耗器件;
(2)通过模拟开关CD4051的热偶信号是负电压,按一般要求其第7引脚VEE需接负电源。但实验证明,CD4051在VEE接地的情况下仍可通过-0.1V~+Vcc的信号。这样可省去负电源变换器,既缩小了体积又降低了功耗;
(3)单片机的CPU在不工作时处于休眠状态,MAX144不转换时自动关断;
(4)不传输数据时,红外传输模块关闭。最大限度地降低功耗。
2 采集仪数据传送和处理的可视化编程
采集仪采集完数据后,需将数据传送到主机,以便进行数据曲线的分析、显示和打印。
2.1 串口数据接收
采集仪中的单片机将采集到的温度数据从E2PROM里取出,以2400bytes/s的波特率向电脑发送。VB6.0通过MSComm控件为应用程序实现串行端口的通讯。串口数据接收程序主要分以下几步:
(1)MSComm控件主要属性的设置(初始化)
主要包括设置通讯端口、波特率、数据位、停止位、接收缓冲区的最大字节数等。
(2)产生OnComm事件处理过程(中断处理)
主要包括设置进度条显示方式、进度条滚动框值清零、读回并删除接收缓冲区中的数据流等。
(3)对接收的数据进行预处理
对串口接收的数据进行双字节拼装,每个采集数据两个字节,除以10体现温度0.1℃的分辨率。
2.2 数据的显示、保存与打印
为便于将来查阅测量结果,还需保存数据文件。保存和打开文件的操作用常用对话控件CommandDialog来实现。
打印RichTextbox中内容非常简单,只要使用SelPrint方法并指定想要使用的打印机的内部地址或设备句柄即可。在此程序中,用Printer对象和该对象的hDC属性实现打印。
2.3 曲线的显示与打印
在屏幕上显示各通道被测温度随时间变化的曲线是必须的VB6.0的MSChart控件给数据图表的显示提供了极大的方便。MSChart控件可显示的图表类型有三维和二维的条形图、面积图、阶梯图、饼图、折线图等。设置ChartType属性为VtChChartType2dLine(2维折线图),设置ColumnCout属性(与图表关联的当前数据网络中的列数)为8(测量最大通道数),然后将数据赋于控件的行和列(某测量时刻的数据对应于某行,通道号对应于列)。
MSChart控件所形成的曲线不能直接打印,可通过剪贴板转换BMP位图,然后用Printer方法打印。