本发明将无线收发模块与单片机系统相结合,硬件设计以AT89C51单片机为核心,采用相关传感器热电偶对浆体燃料制备过程中的温度进行监测,使用热电偶数字转换器MAX6675对采集到的模拟量进行补偿及A/D转换,并将结果送入单片机。无线模块采用抗干扰能力强的射频发射及接收模块nRF905实现无线远程通信,数据由发射端发送,接收端接收后经串口通讯传送给上位机,并对数据进行传送监控,提高系统的可靠性。工作时将温度检测仪放入隔热装置中,将传感器伸出隔热箱并与工件接触,检测系统(包括隔热箱)可随工件在生产线上移动。上位机采用本发明所开发的软件接收无线模块上传的数据,并对其进行处理。该远程监测系统具有结构简单、使用方便、成本低、工作稳定可靠等优点。
发明内容:为用户提供一种新的,远程监测浆体燃料制备过程中温度的方法。
本系统由温度数据采集、无线收发、及上位机数据处理几部分组成。数据采集发送部分主要以单片机作为核心主机,并加上K型热电偶和K型热电偶串行模数转换器MAX6675及无线发送模块。由无线接收芯片及单片机组成的接收模块接收数据并通过串行口将数据发送给计算机,计算机对接收到的数据进行处理和显示。
系统的性能指标及特点
(1)温度测量范围:0℃一300℃
(2)温度检测精度:1%
(3)系统工作温度:0℃---70℃
(4)通道数量:4
(5)电源:9VDc
(6)存储能力:3600个数据/通道
(7)采样间隔:1秒一5分钟可调
本发明的技术要点如下:
(1)采用带字节闪速存储器的廉价的AT89c51单片机,作为整个系统的中央处理器,降低了系统的开发成本。
(2)采用无线收发模块传送数据,及时有效。
(3)程序设计采用了模块化的思想,从而使系统结构清晰,调试灵活,系统设计方便,易于扩展。
(4)采用工业生产中最常用传感器,它具有可靠、稳定、质优价廉等特点。
(5)采用系统单片机的高级语言对单片机进行语言编程。编译和连接选项简单,产生代码速率高,可大大提高编程的效率,增加了程序的可读性。
(6)采用陶瓷纤维隔热材料制成隔热箱,性能优良,在300℃左右的高温环境中可以保证箱内的温度在检测系统的正常工作温度极限以下,同时陶瓷纤维材料不会屏蔽电磁信号的传播。
本发明主要包括检测电路模块、无线模块和和系统软件三大部分。
检测电路模块含传感器、AT89C51单片机系统、温度采集和监控部分。传感器是采用K型热电偶搭配了温度转换芯片MAX6675;AT89C51单片机系统由AT89c51、MAX6675温度转换芯片、nRF905无线模块、MAX813L看门狗芯片等芯片构成,完成数据采集、处理、无线传输以及所有的功能,是整个系统的核心模块。
无线电路模块包括无线发射电路和无线接收电路。本发明采用的无线发射电是挪威NordicVLSI公司推出的nRF905单片射频收发器,它是集无线射频收发为一体的芯片,功耗低,数据传输速率快,所需外围元器件少,输出功率大,并且采用了比FSK调制抗干扰能力更强的GFSK调制,数据传输更加稳定可靠,使用方便,采用了分层结构,较一般的无线通信系统更具有扩展方便的优点。无线接收电路依然采用nRF905,它可以接收来温度采集系统无线部分所发出的信号,该信号经过AT89C2051的简单处理后,传送给PC机进行整理。
系统软件包括主程序、无线模块、数据采集模块、串行通讯和软件抗干扰部分。其中AT89C51单片机的主程序的大部分功能是对各路的温度信号进行定时循环采样、定时刷新以及在一定的条件下完成无线通信功能,它是整个温度检测系统的主线。
无线发射模式:nRF905有两种工作模式和节能模式。分别是ShockBurstTM接收模式、ShockBurstTM发送模式、关机模式和空闲模式。工作模式由TRX_CE、TX_EN和PWR_UP。
发射模式:当微控制器有数据要发送时,通过SPI接口,按时序把接收机的地址和将要发送的数据送传给nRF905,SPI接口的速率在通信协议和器件配置时确定,微控制器置高TRXsecE和TX--EN,激发nRF905的ShockBurstTM发送模式;射频寄存器自动开启,数据打包(加字头和CRC校验码)并发送数据包,当数据发送完成,数据准备好引脚被置高。当TRX_CE被置低,nRF905发送过程完成,自动进入待机模式。其程序清单如下:
本模块对应部分代码如下:
步骤一:通过SPiWrite函数发送WTA命令,准备写入TX有效数据
步骤二:循环调用SPiWrite向TX-Payload寄存器写入TX有效数据(中间夹有CSN电平变化)
步骤三:延时
步骤四:通过Spiwrite函数发送WTA命令,准备写入TX地址
步骤五:循环调用Spiwrite向TX-Address寄存器写入TX地址
步骤六:TRX_CE=1;开始发送数据:延时,nRF905数据发送完成,当nRF905接收到一条完成的信息时,会将DR引脚置高。
接收模式:单片机将TX_EN置高、TRX_CE置低,过650us后,则进入接收模式。当接收到的数据发送地址和自己地址匹配时,则AM置高,通知该数据是发给自己的。对数据的CRC进行校验,如果正确,则去除包头和CRC段,将数据保存在接收数据寄存器RX_PAYLOAD,同时DR信号置高,通知控制器读取数据。然后单片机将TRX_CE置低,进入省电模式再通过SPI口将数据读出来,当数据都读完后,nRF905将AM和DR重新置低,为下次接受数据做准备。接收数据的程序如下:
本模块对应部分代码如下:
步骤一:MISO线准备好需要发送的数据位
步骤二:SCK置高,主机读取MISO线上的数据
步骤三:SCK置低,准备接收数据的下一位
以上步骤循环执行8次,通过SPI从器件上读数据完成。
注意:数据的传输时,高位在前,低位在后。
数据采集模块:
数据采集环节的软件重点在MAX6675测温数据的读取。MAX6675与单片机通过3线串口进行通讯,当CS引脚由高电平变为低电平时,MAX6675停止任何信号的转换并在时钟SCK的作用下向外输出已转换的数据;当CS从低电平变回到高电平时,MLAX6675将进行新一轮的转换。一个完整的数据读取需要16个时钟周期,数据的读取在SCK的下降沿进行。MAX6675的输出一数据为16位,输出时高位在前。D15为无用位;D14~D3对应于热电偶模拟输出电压的数字量;D2用于检测热电偶是否断线(D2为1表明热电偶断线);D1为MAX6675标识符;D0为三态。系统将测量到的16位温度数据,按高8位在先,低8位在后的顺序分别由MAX6675进行A/D转换,转换后的数据由单片机进行温度计算,并经无线模块发送给PC机进行数据分析和处理。程序如下:
串行通讯模块
本发明采用异步串行通信的方式传输数据,串口的工作方式为方式1,定时器T1选用定时方式2,单片机晶振选为11.0592MHz,波特率为4800波特,每位数据帧包含10Byte信息,1Byte作为帧起始标志,8Byte数据,1Byte的校验和。根据公式可计算出定时初值为0FAH。部分代码如下:
软件抗干扰措施:
在发明采用软件滤波的方法来增强系统的抗干扰能力。在这里我们选用的是滑动平均滤波法。它是把N个测量数据看成一个列队,列队的长度为N,每进行一次新的测量,就把测量结果放入队尾,而扔掉原来队首的一次数据,这样在队列中始终有N个“最新”的数据。计算滤波值时,只要把队列中的N个数据进行平均,就可以得到新的滤波值。
上位机系统软件的设计:
本发明采用VisualBasic编辑上位机的通信程序和检测界面程序。具有结构化的事件驱动编程模式,采用MSComm控件。本软件实现了系统温度数据的传输、显示和管理。本软件系统运行于PC端,与硬件部分相结合,将检测系统得到的温度数据传输至PC,再将不同通道的数据以曲线表现出来,并可打印和保存。在系统开始运行时,应首先对其初始化,控件初始化主要完成通信端口选择、设置通信速率、缓存区大小、数据接收方式以及事件触发形式等,其程序如下:
软件运行时,接收测量系统上传的数据,然后通过mflexgrid控件将数据以电子表形式进行显示,再利用picturebox根据分析完成的数据绘制出、曲线,利用commondialog实现数据和曲线图的保存和调出,利用printer将接收的数据、处理好的和绘制的曲线通过打印机打印出来。