基于C8051F020和Atmegal6的无线测温系统设计
扫描二维码
随时随地手机看文章
本文研发出了一种无线测温系统。该系统使用K型热电偶作为感温原件,测温范围大,适用于波峰焊、回流焊等高温领域。而且本系统具有独立的温度补偿电路,从而解决了某些集成温度补偿芯片温度采集速度慢的问题,提高了温度测量的灵敏度。由于本系统是无线收发,使用CCl000作为无线通讯芯片,故可以在一定距离由上位机接收数据并实时监控。另外,本系统还有实时记录数据的功能,并可在无线通讯出现障碍时,把数据保存下来,而后等温度采集结束后,由上位机软件读出。
1 系统硬件设计
本系统采用SOC芯片C8051F020作为主控制芯片。这款单片机采用25MIPS 8051 CPU流水线指令结构,具备片内64 KB Flash程序存储器、256 KB+4 KB片内RAM及两个外部RAM扩展接口、5个16位定时器和JTAG非侵入式在系统调试等特性。C8051F020作为一个片上系统,具有丰富而强大的外设,其AD转换器具有12位,可以有效提高热电偶的输入采集精度。欢迎转载,本文来自电子发烧友网(http://www.elecfans.com )
另外,采用Atmegal6相配合的目的是为了提高系统的采集速度,进而提高温度测量的灵敏度。通过CCl000完成短距离无线通信。FLASH芯片可对温度数据进行存储,以在无线通信故障时读取。C8051F020通过CP2102的转换后,可用USB端口与上位机通信。本系统的硬件结构框图如图1所示。
1.1 以C8051F020为中心的系统控制模块
本模块包含C805lF020控制模块、FLASH存储模块、CP2102通信模块。当系统处于发送状态时,C805lF020用于对热电偶的输入模拟信号进行采集,并将采集信号经12位AD转换器转换为数字信号,然后由C805lF020对数据进行查表,再将其转换为温度数据,对数据进行处理、打包。最后将数据写入FLASH芯片,并通过串口发送给Atmegal6。
当系统处于等待状态时,它将与上位机通过IJSB接口进行通信。CP2102可完成串口与USB接口的转换。如果系统接到上位机的命令,要求读取数据,则C805lF020将从FLASH芯片将数据读出,然后通过串口发送出去,再经CP2102,由USB接口输入上位机。
1.2 以CCl000为中心的无线发射模块
无线发射模块包括CCl000、Atmegal6和天线。其中CCl000是根据Chipcon公司的SmartRF技术,在0.35μm CMOS工艺下制造的一种理想超高频单片收发通信芯片。CCl000的工作频带在315、433、868及915 MHz。而且很容易通过编程使其工作在300~1000 MHz范围内。AVR单片机Atmegal6可用于完成对CCl000的初始化,以及和CCl000的通信,同时也和主控芯片C805lF020保持通信。当系统处于发送状态时,Atmegal6接收到C8051F020发来的数据包后,便通过CC1000向外发送。
1. 3 以热电偶为中心的温度采集模块
本模块包括电压式温度传感器TMP35和K型热电偶。其中热电偶的工作原理是根据热端和冷端的温度差而产生电势差。由于实际测量时,冷端的温度往往不是O℃,所以要对热电偶进行温度补偿。热电偶温度补偿公式如下:
E(t,0)=E(t,t0)+E(t0,0)
其中,E(t0,0)是实际测量的电动势,t代表热端温度,t0代表冷端温度,0代表O℃。在现场温度测量中,由于热电偶冷端温度一般不为 O℃,而是在一定范围内变化着,因此测得的热电势为E(t,t0)。如果要测得真实的被测温度所对应的热电势E(t,0),就必须补偿冷端不是0℃所需的补偿电势E(t0,0),而且,该补偿电势随冷端温度变化的特性必须与热电偶的热电特性相一致,这样才能获得最佳补偿效果。
图2所示是一个温度补偿电路的原理图。图中,温度传感器TMP35很好的完成了温度补偿工作,TMP35输出的电压先经电阻分压,再经放大器放大,就是K型热电偶对应的E(t0,O)。
2 系统软件设计
发射板的软件设计主要包括以C8051F020的主控制模块程序和以Atmegal6为中心的无线发射模块程序。主控程序模块主要完成温度采集、数据处理、向无线发射模块发送数据以及测试温度数据的保存、和上位机的通讯等。无线发射程序模块主要负责对CC1000的初始化,在等待状态时接收 C805lF020的数据包,并通过CC1000发送。
2.1 主控制模块程序设计
主控制模块程序主要完成的功能是对热电偶的输入模拟信号进行采样,然后进行查表,以将查表数据转换成温度数据并打包。当发送标志允许时,写入FLASH保存,同时通过串口发送给Atmegal6。其系统软件模块流程图如图3所示。
本系统在上电复位后,应首先对C8051F020的各功能模块进行初始化。包括串口0、串口1、AD转换器、计数器TO、Tl、T2和中断程序等。系统每50 ms通过12位AD转换器对输入信号进行一次采样,并将采样信号查表转换成温度数据。然后对数据加上帧头,帧尾和校验位。最后将几帧数据打成一个数据包。
当发送标志允许时,C805lF020每50 ms将数据包写入FLASH芯片AT45DB041D。同时将数据包通过串口发送给Atmegal6。
2.2 无线发射模块程序设计
无线发射程序的主要功能是通过Atmegal6完成对CCl000的初始化,从C805lF020接收数据,并由CCl000发送出去。无线发射程序的流程如图3 (b)所示。
在设计无线发射模块的程序时,首先应通过Atmegal6完成端口初始化,以及TO和T1的初始化,同时还有串口初始化和中断程序,并对 CC1000进行初始化编程。然后,Atmegal6进入循环等待。当确认接收到数据时,先确认数据有效,然后唤醒CC1000并将数据包发送出去。
3 系统性能分析
本测温系统的特点在于使用了双CPU和独立的温度补偿电路,其意义在于有效提高了温度采集的速度,进而提高测量温度变化的灵敏度。实际测试表明,本系统的测量精度为O.5%,温度采集速度为50 ms。
本系统采用的独立温度补偿电路是以电压式温度传感器TMP35为温度补偿原件。热电偶的输入电动势经温度补偿之后,经精密轨对轨运放OP747进一步放大,再输入到C8051F020的AD转换器。这样可避免使用某些集成热电偶温度补偿芯片所带来的速度受限问题。
本系统采用C8051F020作为新一代的SOC芯片,具有丰富而强大的外设,它具有2个AD转换器,其中ADO具有12位精度,故可有效保证温度信号的精确采集。
而采用双CPU结构C805lF020和Atmegal6,则可确保系统50 ms的采集时间。因为无线发射和写FLASH往往要占用大多数时间,而采用双CPU就可以将两者分开,这样就有效的保证了系统的速度和稳定性。[!--empirenews.page--]
采用FLASH芯片AT45DB041D则可在温度采集时实时将数据写入FLASH,以便在无线发射出现障碍时仍可有效保存数据。测试系统保存的数据可由上位机通过USB接口读取。欢迎转载,本文来自电子发烧友网(http://www.elecfans.com )
4 结束语
与国内外目前的主流无线温度测量系统相比,本系统在测温精度上达到了较高的水平。而在温度采集速度上,由于使用了独立的温度补偿电路,同时采用了双CPU的系统结构,因而有效的提高了温度测量的灵敏度和系统稳定性。另外,由于使用了FLASH芯片,可以保存实时数据,也提高了系统的可靠性和实用性。