基于C8051和Atmega16的无线温度测量系统设计

发布者:WhisperingSoul最新更新时间:2015-04-13 来源: eechina关键字:C8051  Atmega16  无线温度测量系统 手机看文章 扫描二维码
随时随地手机看文章
目前,温度测量已被广泛应用于钢铁、冶金、工业焊接、波峰焊、回流焊等各个领域。这些应用的待测温度很高,测量环境非常恶劣。传统的有线测温装置,在这种测温环境下,或无法应用,或受到很多限制。这就要求研发无线的测温系统。这种系统要能够耐受恶劣的环境,还要具有高的测量精度和温度采集速度,并能在远距离由上位机接收。

根据上述工业生产的需要,本文研发出了一种无线测温系统。该系统使用K型热电偶作为感温原件,测温范围大,适用于波峰焊、回流焊等高温领域。而且本系统具有独立的温度补偿电路,从而解决了某些集成温度补偿芯片温度采集速度慢的问题,提高了温度测量的灵敏度。由于本系统是无线收发,使用CCl000作为无线通讯芯片,故可以在一定距离由上位机接收数据并实时监控。另外,本系统还有实时记录数据的功能,并可在无线通讯出现障碍时,把数据保存下来,而后等温度采集结束后,由上位机软件读出。

1 系统硬件设计

本系统采用SOC芯片C805lF020作为主控制芯片。这款单片机采用25MIPS 8051 CPU流水线指令结构,具备片内64 KB Flash程序存储器、256 KB+4 KB片内RAM及两个外部RAM扩展接口、5个16位定时器和JTAG非侵入式在系统调试等特性。C8051F020作为一个片上系统,具有丰富而强大的外设,其AD转换器具有12位,可以有效提高热电偶的输入采集精度。

另外,采用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发送。[page]


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就可以将两者分开,这样就有效的保证了系统的速度和稳定性。

采用FLASH芯片AT45DB041D则可在温度采集时实时将数据写入FLASH,以便在无线发射出现障碍时仍可有效保存数据。测试系统保存的数据可由上位机通过USB接口读取。

4 结束语

与国内外目前的主流无线温度测量系统相比,本系统在测温精度上达到了较高的水平。而在温度采集速度上,由于使用了独立的温度补偿电路,同时采用了双CPU的系统结构,因而有效的提高了温度测量的灵敏度和系统稳定性。另外,由于使用了FLASH芯片,可以保存实时数据,也提高了系统的可靠性和实用性。
关键字:C8051  Atmega16  无线温度测量系统 引用地址:基于C8051和Atmega16的无线温度测量系统设计

上一篇:基于ADS7846签名认证的数据采集和预处理
下一篇:基于单片机的瓦斯报警器设计

推荐阅读最新更新时间:2024-03-16 13:58

C8051与SRAM的高速接口
    摘要: C8051是美国Cygnal公司生产的、与标准51兼容的高速单片机,速度高达25 MIPS,但它扩展外部SRAM的方式与标准51单片机不同。单片机访问外部存储器的速度直接影响系统的性能。本文介绍两种提高C8051访问外部存储器速度的接口方法,其速度均超过现有文献所给出的接口方法。     关键词: 单片机 SRAM C8051 接口方法 C8051系列单片机没有与标准的51单片机那样的数据总线(RD、WR、ALE)等,只能采用通用I/O口模拟总线方式访问外部存储器。因此,C8051访问一次外部存储器需要几十条指令。即便这样,由于C8051的绝大多数指令的执行只需一个机器(振荡)周期,在同
[工业控制]
基于C8051单片机的无线心电监护系统设计
   1 引言   随着经济的快速发展和人们生活水平的不断提高,健康已成为人们关注的焦点。心脏疾病是危害人类健康的一大杀手,其偶然性与突发性的特点使得心电监护系统具有重要的临床应用价值。由于传统的心电监护仪不能进行远距离的实时监护,所以便携式无线心电监护系统显得更加重要。无线医疗监护系统主要由生理信息与数据采集、无线数据通信、控制和显示等单元组成。目前国内已有用于临床的无线心电监护产品,但其采用的方案大都是“采集器+发送器(PDA或手机)”,从成本上看其价格昂贵;从无线传输方面看,大多是将心电数据以模拟信号传输,这必然导致信号在传输过程中发生失真。此外,由于人体电阻差异导致心电信号在1~10 mV之间变动,固定放大倍数系统缺乏适
[单片机]
AVR单片机(学习ing)—(十)、ATMEGA16的同步串行接口SPI—03
十、ATMEGA16的同步串行接口SPI 十—(03)、ATMEGA16的同步串行接口SPI的串行通讯实验—通过效率最高的中断法~~ 然后就是程序了~~ IAR10_2_M.c //------------------------------------------------------------------------------ //这是ATMEGA16作为主机发送的文件 //主机每隔1s发送数组的一个数据给从机,从机收到后则发送自己的数组的一个数据给主机,这样实现数组内容的交换 //数组的内容在主机和从机的数码管上显示 #include ioavr.h #include intrinsics.h #includ
[单片机]
AVR单片机(学习ing)—(十)、<font color='red'>ATMEGA16</font>的同步串行接口SPI—03
AVR单片机(学习ing)-ATMEGA16的定时/计数器
四、ATMEGA16的定时/计数器 四 (01)、四位显示秒表试验 首先怀念一下咱们的体育课,再体育课或者田径比赛的时候,老师会经常使用秒表来记录同学们的成绩。在此,来进行一个秒表的设计。( 说实话,这个秒表真的太贵了,不过只是实验,纯属娱乐) 使用INT0键进行计时的开始/停止,使用S1键作为计时值得清楚,并且采用6位数码管的右四位进行显示。 定时器T0被用作扫描4位数码管(采用溢出中断,每1ms中断一次),而定时器T1则用来计时(咱们用的秒表用来显示四位,两位小数,也就是每计时10ms中断溢出一次)。 1、预分频器和多路选择器 ATMEGA16有两个8位定时/计数器(T/C0、T/C2)和一个16位定时/计数器(T/C
[单片机]
AVR单片机(学习ing)-<font color='red'>ATMEGA16</font>的定时/计数器
codeblocks+winavr开发avr单片机(atmega16
在avrfeaks论坛里,有一个帖子是关于在codeblocks环境下(与winavr结合)开发avr单片机的,挺不错的,这里转载一下: I got curious, so I downloaded the current C::B installer. It looks better than when I last used it (a year ago?): - A working installation program, with no need to install graphics packages and stuff (WxWidget, MinGW) separately. - A user manual
[单片机]
codeblocks+winavr开发avr单片机(<font color='red'>atmega16</font>)
AVR ATMega16在段式液晶上显示红外码
硬件:ATMega16(8MRC)+HT1621+一体化红外接收头 思路:红外解码采用中断捕捉方式(NEC编码),显示用液晶驱动HT1261 程序如下(WinAVR GCC环境编译): #include avr/io.h #include avr/delay.h #include avr/signal.h #include avr/interrupt.h #include avr/pgmsPACe.h #define HT1621_BIAS 0x29 // 设置LCD偏压发生器为1/3偏压,4个公共端 #define HT1621_RC256K 0x18 // 设置系统时钟源为片内RC(
[单片机]
ATMega16单片机外部中断的使用
// Crystal: 7.3728M Hz ,功能:学习外部中断0的程序 #include iom16v.h #include macros.h #define LED _COM PORTA ^= (1 PA6) // void port_init(void) { PORTA = 0x40; DDRA = 0x40; PORTB = 0x00; DDRB = 0x00; PORTC = 0x00; //m103 output only DDRC = 0x00; PORTD = 0x04; DDRD = 0x00;
[单片机]
C8051与SRAM的高速接口
    摘要: C8051是美国Cygnal公司生产的、与标准51兼容的高速单片机,速度高达25 MIPS,但它扩展外部SRAM的方式与标准51单片机不同。单片机访问外部存储器的速度直接影响系统的性能。本文介绍两种提高C8051访问外部存储器速度的接口方法,其速度均超过现有文献所给出的接口方法。     关键词: 单片机 SRAM C8051 接口方法 C8051系列单片机没有与标准的51单片机那样的数据总线(RD、WR、ALE)等,只能采用通用I/O口模拟总线方式访问外部存储器。因此,C8051访问一次外部存储器需要几十条指令。即便这样,由于C8051的绝大多数指令的执行只需一个机器(振荡)周期,在同
[应用]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved