基于CC2430和DS18B20的无线测温系统设计
- 格式:doc
- 大小:20.50 KB
- 文档页数:4
CC2430与DS18B20的粮库温度传感器网络设计
陈得民
【期刊名称】《单片机与嵌入式系统应用》
【年(卷),期】2009(000)012
【摘要】讨论传感器网络体系结构,给出CC2430模块外围电路的硬件设计,对DS18B20温度传感器进行分析;根据我国粮仓特点对温度传感器进行了布置,阐述了系统中传感器网络的关键技术,并编写了相关程序,实现了网络化粮库温度监测.【总页数】4页(P60-63)
【作者】陈得民
【作者单位】河南许继集团有限公司
【正文语种】中文
【相关文献】
1.基于CC2430片内温度传感器温度检测系统的设计 [J], 刘渝灿
2.基于CC2430片内温度传感器的温度监测系统 [J], 蔡文晶;秦会斌;程春荣
3.基于CC2430片上温度传感器的温度监控系统 [J], 蒋凌云;马奥;吕亚超;吴智宇
4.基于CC2430温湿度监测的无线传感器网络设计 [J], 刘玉英;史旺旺
5.基于CC2430的ZigBee无线传感器网络设计与实现 [J], 郭栋;秦明芝;王伟敏因版权原因,仅展示原文概要,查看原文内容请购买。
基于DS18B20的温度系统•实验目的•了解DS1820数字温度传感器特性•掌握单片机基本功能的运用、简单接口电路如键盘、LED显示电路或LCD显示电路设计及其相应驱动软件的编制软、硬件系统的调试•实验任务设计一个具有基于DS1820数字温度传感器的温度检测及显示的系统。
要求系统具有以下功能:•两路温度检测;•具有显示功能;•具有用户输入功能;•可通过输入补偿温度设定校准;For personal use only in study and research; not for commercial use•实验原理原理简述:数字温度传感器DS1820把温度信息转换为数字格式;通过“1-线协议”,单片机获取指定传感器的数字温度信息,并显示到显示设备上。
通过键盘,单片机可根据程序指令实现更灵活的功能,如单点检测、轮转检测、越限检测等。
基于DS1820数字温度传感器的温度检测及显示的系统原理图如图1For personal use only in study and research; not for commercial use图 1 基于DS1820的温度检测系统框图•硬件设计For personal use only in study and research; not for commercial use电路设计--单片机基本系统电路:图 2 单片机基本系统电路原理图电路说明:综合考虑系统使用到的单片机内部存储资源、系统处理信号的种类、处理数据的速度、系统的I/O口开销,以及系统的可扩展性能,本系统选用了ATMEL公司的8位低功耗,高性能CMOS单片机,芯片内集成有通用8位中央处理器(兼容标准MCS -51指令系统及80C51引脚结构)和4K/8K Bytes ISP Flash存储单元(可实现在系统编程)。
复位电路采用上电复位加按键复位的方式。
采用无源晶体提供正弦振荡信号为系统提供时钟,其硬件原理图如图2所示。
基于DS18B20的温度测量系统设计概述:DS18B20是一种数字温度传感器,具有精确度高、稳定性好、尺寸小等特点。
本文将基于DS18B20设计一个温度测量系统,主要包括硬件设计和软件设计两部分内容。
硬件设计:1.传感器模块:DS18B20传感器模块包括一个温度传感器和一个数字转换芯片。
传感器模块通过串行总线与主控设备进行通信,并提供温度数据。
2.单片机:选择一种适合的单片机作为主控设备,负责与传感器模块通信,并实现相关功能。
3.显示模块:通过液晶显示屏或数码管等模块,将测量到的温度实时显示出来。
4.电源模块:为系统提供稳定的直流电源,使系统能够正常工作。
软件设计:1.通信协议:将单片机与传感器模块之间的通信协议设置为1-Wire协议,该协议简单易实现,并且可以同时连接多个传感器。
2.初始化:在系统启动时,初始化单片机与传感器模块之间的通信,并对传感器模块进行必要的设置,如分辨率、精确度等。
3.数据读取:通过1-Wire协议,单片机向传感器模块发送读取温度的指令,传感器模块将温度数据以数字形式返回给单片机。
4.数据处理:单片机接收到温度数据后,进行相应的数据处理,可以进行单位转换、滤波处理等。
5.数据显示:将处理后的温度数据通过显示模块实时显示出来。
系统应用:1.工业自动化:用于监测生产设备的温度,实现设备状态监控和预警功能。
2.室内温控:通过与空调系统或暖气系统的连接,实现室内温度的精确控制。
3.热管理:用于监测电子设备或电路板的温度,保证设备运行时的稳定性和散热效果。
总结:基于DS18B20的温度测量系统设计,通过选用合适的硬件模块和软件设计方案,可以实现精确、稳定的温度测量,并通过通信和显示模块实时反馈温度数据。
该系统具有应用广泛、性能可靠等优点,在工业自动化、室内温控、热管理等领域有着重要意义。
温度传感器ds18b20 在Zigbee芯片CC2430中的应用以下资料是参考ds18b20的pdf资料、网上一些驱动例子、Zigbee 硬件宏定义、并结合我之前实习期间所学的知识整理的,希望对有需要的同学有所帮助。
ds18b20 H文件:/***************************************************************** Name: DS_18B20_Head.h ** csy ** Date: 2010\12\31 *****************************************************************/#ifndef DS_18B20_Head_H#define DS_18B20_Head_H#include "ioCC2430.h"//ds18b20 pin#define DQ P1_4//ds18b20 delay parmater:#define Delay_600us 600#define Delay_60us 60#define Delay_40us 40#define Delay_30us 30#define Delay_5us 5#define Delay_3us 3#define Delay_1us 1//command to ds18b20#define Command_Skip_Rom 0XCC // Skip ROM#define Command_Read_Register 0XBE // Read Scratch Pad#define Command_Start_Conversion 0X44 // Start Conversionvoid ds18b20_delay(unsigned int useconds);unsigned char ds18b20_reset(void);unsigned char ds18b20_read_byte(void);void ds18b20_write_byte(unsigned char val);unsigned int ds18b20_Read_Temperature(void);//CC2430 IO 宏定义copy from hal.h// Example usage:// IO_DIR_PORT_PIN(0, 3, IO_IN); // Set P0_3 to input// IO_DIR_PORT_PIN(2, 1, IO_OUT); // Set P2_1 to output#define IO_DIR_PORT_PIN(port, pin, dir) \do { \if (dir == IO_OUT) \P##port##DIR |= (0x01<<(pin)); \else \P##port##DIR &= ~(0x01<<(pin)); \}while(0)// Where port={0,1,2}, pin={0,..,7} and dir is one of:#define IO_IN 0#define IO_OUT 1#endif/////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////ds18b20 C文件/***************************************************************** Name: DS_18B20.c ** csy ** Date: 2010\12\31 *****************************************************************/#include "DS_18B20_Head.h"/*****************************************************************function :ds18b20_delay **Input :unsinged int **Return :unll **Description :1us *****************************************************************/void ds18b20_delay(unsigned int useconds){for(;useconds>0;useconds--);}/******************************************************************************* *function :ds18b20 reset * *Input :null * *Return :unsigned char presence: 0=presence, 1 = no part * *Description :test wether reset ok? * ********************************************************************************/ unsigned char ds18b20_reset(void){unsigned char presence;IO_DIR_PORT_PIN(1, 4, IO_OUT);DQ = 0;ds18b20_delay(Delay_600us);IO_DIR_PORT_PIN(1, 4, IO_IN);ds18b20_delay(Delay_40us); // wait for presencepresence = DQ; // get presence signalds18b20_delay(Delay_600us); // wait for end of timeslotreturn(presence); // presence signal returned}/*****************************************************************function :ds18b20_read_byte **Input :null **Return :unsigned char :dat **Description :read one byte from ds18b20 *****************************************************************/unsigned char ds18b20_read_byte(void){unsigned char i;unsigned char dat;for(i=8;i>0;i--){dat>>=1;IO_DIR_PORT_PIN(1, 4, IO_OUT);DQ = 0; // pull DQ low to start timeslotds18b20_delay(Delay_30us); //wait for the TYP timeIO_DIR_PORT_PIN(1, 4, IO_IN);if(DQ)dat|=0x80;ds18b20_delay(Delay_60us); //wait end of read timeslotIO_DIR_PORT_PIN(1, 4, IO_OUT);}return dat;}/*****************************************************************function :ds18b20_write_byte **Input :unsigned char :dat **Return :null **Description :write one byte to ds18b20 *****************************************************************/void ds18b20_write_byte(unsigned char dat){unsigned char i;for (i=8; i>0; i--){IO_DIR_PORT_PIN(1, 4, IO_OUT);DQ = 0; // pull DQ low to start timeslotds18b20_delay(Delay_30us);DQ = dat&0x01;ds18b20_delay(Delay_30us); // hold value for remainder of timeslot DQ = 1;dat>>=1;}}/*************************************************************************function :ds18b20_Read_Temperature **Input :unll **Return :unsigned int: x **Description :read temperature value from ds18b20 **************************************************************************///读取温度unsigned int ds18b20_Read_Temperature(void){union{unsigned char c[2];unsigned int x;}temp;if(!ds18b20_reset()) //if reset complete ?{ds18b20_write_byte(Command_Skip_Rom);ds18b20_write_byte(Command_Read_Register);temp.c[0]=ds18b20_read_byte();temp.c[1]=ds18b20_read_byte();ds18b20_reset();ds18b20_write_byte(Command_Skip_Rom);ds18b20_write_byte(Command_Start_Conversion);temp.x=(unsigned int)(temp.c[1]<<8)|temp.c[0];return temp.x;}return 0;}。
基于zigbee的无线温度采集系统关键词:ZigBee,无线网络;温度采集摘要无线温度采集系统是基于ZigBee无线技术设计的。
此系统由三部分构成。
子节点部分负责收集温度数据,它的设计基于CC2430芯片和DS18B20温度传感器。
主要节点部分负责接受温度数据和建立网络联接。
CC2430是作为主控制芯片。
前端电脑主要负责温度数据处理存储和显示。
通过zigbee网络连通子节点与主要节点,主要节点在通过串行端口与前端电脑沟通。
此系统具有一个成本低,低功耗的温度收集的终端设备,从而实现节能和减少污染的排放。
1简介随着生产技术的发展,温度数据检测技术广泛应用于工业远程控制系统,并逐步显示出远程和网络的特性。
传统的温度采集系统,主要方式是有线连接节点,此方法的特点是布局复杂和可扩展性差。
事实上,在某些领域有线连接方式甚至不能应用。
因此,最理想的方法是采用无线连接收集和传送数据。
作为新兴的短距离,低功耗低成本的无线通信技术,zigbee已广泛应用于工业控制,消费性电子,家电自动化,医疗监控等领域。
基于以上分析,此文将设计出一种基于zigbee为基础的无线温度采集系统。
用基于zigbee网络的无线方式通过温度测量节点收集温度数据。
通过串口通信线路连接主要节点和前端电脑。
然后,电脑存储温度数据至数据库,以便实现数据的统一管理。
此系统具有高实用性和良好的扩展性。
2系统结构研究系统框图显示在图1[2].该系统选择的是星型局域网,他建立一个由主要节点和若干子节点组成的无线系统,实现数据的无线传输。
子节点的主要责任是传输由温度传感器DS18B20采集的数据至主要节点。
主要节点合并来自不同子节点的数据然后发送至前端电脑,电脑存储数据至数据库,并通过软件可以直观的在显示器上看到温度的变化。
3 硬件系统设计3.1子节点设计子节点负责收集和传输温度的数据,因此他应该被设计的低功耗和低成本的功能装置。
芯片CC2430- F32(32KB 闪存)与温度传感器ds18b20构成的子节点。
基于CC2430的无线温度检测终端的设计王 玮,樊则宾(昆明理工大学理学院,云南省昆明市650093)摘 要:介绍了无线射频芯片CC2430和一线数字温度计DS1822的结构和功能;设计了一种无线温度检测终端。
该终端以基于Z i g Bee 技术的无线射频芯片CC2430为中央控制器,集成于该芯片内部的MCU 不仅负责控制DS1822,而且还负责控制芯片内部的射频电路。
该终端能实时响应管理中心的命令,并通过DS1822实现对环境温度的实时检测。
利用多个此类终端可对较大环境进行实时、无线、多点的温度检测。
关键词:CC2430;DS1822;无线检测中图分类号:TP274.5收稿日期:2006-11-17;修回日期:2007-04-09。
0 引 言在现代工农业生产中,常常需要对环境温度进行检测。
传统的方法往往费时、费力,效率低下,不便应用在对较大环境的温度检测中。
本文设计了一种基于无线射频技术的温度检测终端,它以RF(射频)芯片CC2430为核心,在温度传感器DS1822的配合下,能够高效地完成对环境温度的无线检测。
1 CC2430芯片概述CC2430芯片为Chipcon 公司生产的2.4GH z 射频系统单芯片,其结构框图如图1所示。
图1 CC2430结构框图该单芯片上整合了Z i g Bee RF 前端,内存,微控制器。
其主要特点如下:高性能和低功耗的8051微控制器核;集成符合I EEE 802.15.4标准的2.4GH z 的RF 无线电收发机;优良的无线接收灵敏度和强大的抗干扰性;在休眠模式时仅0.9L A 的流耗,外部的中断或RTC (实时时钟)唤醒系统,在待机模式时少于0.6L A 的流耗,外部的中断能唤醒系统;硬件支持CS MA /C A (具有检测冲击的载波侦听多路接入)功能;较宽的电压范围(2.0V ~3.6V );数字化的RSSI(接收信号强度指示)/LQ I(链路质量指示)支持和强大的D MA (直接存储器存取)功能;具有电池监测和温度感测功能;集成了14位ADC (A /D 转换器);集成AES (高级加密标准)安全协处理器;带有2个强大的支持几组协议的USART(通用异步同步收发器),以及1个符合I EEE 802.15.4规范的MAC (媒体访问控制)层计时器,1个常规的16位计时器和2个8位计时器;21个可编程的I/O 引脚,P0、P1口是完全8位口,P2口只有5个可使用位,可以由软件设定一组SFR (专用寄存器)的位和字节,使这些引脚作为通常的I/O 口或作为连接ADC 、计时器、USART 等部件的外围设备口使用。
//------------------------------------------DS18B20.c-------------------------------------------#include "DS18B20.h"UINT8 sensor_data_value[2];UINT8 flag;void Delay_nus(UINT16 s){while (s--){asm("NOP");asm("NOP");asm("NOP");}}////////////////void init_1820(void){SET_OUT;SET_DQ;//输出1CL_DQ;Delay_nus(550);//拉低一段时间SET_DQ;//释放SET_IN;//输入Delay_nus(40); //释放总线后等待15-60uswhile(IN_DQ) {;}//等待回复Delay_nus(240);//回复的低电平在60到240usSET_OUT;SET_DQ;//回到初始DQ=1;}////////////////////void write_1820(UINT8 x){UINT8 m;SET_OUT;for(m=0;m<8;m++){CL_DQ;if(x&(1<<m)) //写数据,从低位开始SET_DQ;elseCL_DQ;Delay_nus(40); //15~60usSET_DQ;}SET_DQ;}////////////////////UINT8 read_1820(void){UINT8 temp,k,n;temp=0;for(n=0;n<8;n++){CL_DQ;SET_DQ;SET_IN;k=IN_DQ; //读数据,从低位开始if(k)temp|=(1<<n);elsetemp&=~(1<<n);Delay_nus(70); //60~120usSET_OUT;}return (temp);}////////////////////////////////void read_data(void)UINT8 temh,teml;init_1820(); //复位18b20write_1820(0xcc); // 发出转换命令搜索器件write_1820(0x44); //启动Delay_nus(500);init_1820();write_1820(0xcc);write_1820(0xbe);teml=read_1820(); //读数据temh=read_1820();sensor_data_value[0]=teml;sensor_data_value[1]=temh;}////////////处理数据部分/////////////////unsigned int DataChange(void){UINT8 temh,teml;UINT16 num;read_data();teml=sensor_data_value[0];temh=sensor_data_value[1];num= temh;//将两个字节整合到一个unsigned int中num<<=8;num |= teml;num=num*0.0625*100;return(num);//返回值}//---------------------------END----------------------------------------------------- //----------------主函数中的测试函数-----已通过测试---------void main(void){unsigned int T;init_1820();delay(100);do{T=DataChange(); //读取温度值,是一个4位的十进制数,如:2345display_int(T);//显示温度函数,这个需在该函数中增加小数点,如:23.45 }while(1);}*///------------------------------------------DS18B20.h-------------------------------------------#ifndef DS18B20_H#define DS18B20_H#include "ioCC2430.h"#include "hal.h"//----------定义DS18B20的数据位为P2_4---------------#define CL_DQ P2_4=0#define SET_DQ P2_4=1#define SET_OUT P1DIR|=0x02#define SET_IN P1DIR&=~0x02#define IN_DQ P2_4extern unsigned char sensor_data_value[2];void Delay_nus(UINT16 n) ;void write_1820(unsigned char x) ;unsigned char read_1820(void);unsigned int DataChange(void);void init_1820(void) ;void read_data(void);unsigned int strtoint(unsigned char* numStr, int iLength);void inttostr(unsigned int in,unsigned char *str,unsigned char strLen);#endif。
基于DS18B20的测温系统的设计【摘要】DS18B20是DALLAS公司生产的数字温度传感器,多个传感器可通过一根口线与微处理器相连。
针对单线总线数字温度传感器DS18B20的工作特性,本文对基于DS18B20的测温系统进行了硬件和软件的设计。
该测温系统具有电路结构简单、测试精度高的优点,适用于工业控制的实时检测和监控。
【关键词】DS18B20 单线总线时序测温系统数字温度传感器The Design of Testing Temperature Base onDS18B20【Abstract】 DS18B20 DALLAS production company is digital temperature sensor, multiple sensors can pass a root mouth line and microprocessor connected. Aiming at singleline bus digital temperature sensor DS18B20 operating characteristics, this paper based on the chip DS18B20 temperature measuring the system hardware and software design. The temperature measuring system has the circuit structure is simple, the advantage of high measurement precision, suitable for industrial control real-time detecting and monitoring.【Keywords】DS18B20 1-wire bus Timing System of testing temperature digtal thermo-sensor温度是我们人类生活环境中的一项基本参数,无论是在工业还是农业或者其它领域的生产过程中,都要对温度进行监控。
基于CC2430和DS18B20的无线测温系统设计
关键字: CC2430 DS18B20 无线测温系统
目前,很多场合的测温系统采用的还是有线测温设备,由温度传感器、分线器、测温机和监控机等组成,各部件之间采用电缆连接进行数据传输。
这种系统布线复杂、维护困难、成本高,可采用无线方案解决这些问题。
无线测温系统是一种集温度信号采集、大容量存储、无线射频发送、LED(或LCD)动态显示、控制与通信等功能于一体的新型系统。
本文从低功耗、小体积、使用简单等方面考虑,基于射频SoC CC2430和数字温度传感器DS18B20设计了一个无线测温系统,整个系统由多个无线节点和1个基站组成。
无线节点工作在各个测温地点,进行温度数据采集和无线发送。
基站与多个节点进行无线通信,并通过数码管将数据显示出来,同时可以通过RS-232串口将数据发送给PC。
CC2430简介
CC2430是TI/ChipconAs公司最新推出的符合2.4G IEEE802.15.4标准的射频收发器.利用此芯片开发的无线通信设备支持数据传输率高达250 kbit/s可以实现多点对多点的快速组网。
CC2430的主要性能参数如下:
(1)工作频带范围:2.400~2.483 5 GHz;(2)采用IEEE802.15.4规范要求的直接序列扩频方式;
(3)数据速率达250 kbit/s码片速率达2 MChip/s;
(4)采用o-QPSK调制方式;
(5)超低电流消耗(RX:19.7mA,TX:17.4mA)高接收灵敏度(-99 dBm);
(6)抗邻频道干扰能力强(39 dB);
(7)内部集成有VCO、LNA、PA以及电源整流器采用低电压供电(2.1~3.6V);
(8)输出功率编程可控;
(9)IEEE802.15.4 MAC层硬件可支持自动帧格式生成、同步插入与检测、16bit CRC 校验、电源检测、完全自动MAC层安全保护(CTR,CBC-MAC,CCM);
(10)与控制微处理器的接口配置容易(4总线SPI接口);
(11)采用QLP-48封装,外形尺寸只有7×7mm。
CC2430只需要极少的外围元器件,其典型应用电路如图2所示。
它的外围电路包括晶振时钟电路、射频输入/输出匹配电路和微控制器接口电路3个部分。
芯片本振信号既可由外部有源晶体提供,有晶振1为基于CC2430芯片的ZigBee在智能交通系统中的应用 32 MHz, 晶振2为32.768 kHz。
射频输入/输出匹配电路主要用来匹配芯片的输入输出阻抗,使其输入输出阻抗为60 Ω,同时为芯片内部的PA及LNA提供直流偏置。
CC2430可以通过4线SPI总线(SI、SO、SCLK、CSn)设置芯片的工作模式并实现读/写缓存数据读/写状态寄存器等。
通过控制FIFO和FIFOP管脚接口的状态可设置发射/接收缓存器。
注意:在SPI总接口上进行的地址和数据传输大多是MSB优先的。
CC2420片内有33个16比特状态设置寄存器,在每个寄存器的读/写周期中,SI总线上共有24比特数据,分别为:1比特RAM/寄存器选择位(0:寄存器,1:RAM),1比特读/写控制位(0:写,1:读),6比特地址选择位、16比特数据位。
在数据传输过程中CSn必须始终保持低电平。
另外,通过CCA管脚状态的设置可以控制清除通道估计,通过SFD管脚状态的设置可以控制时钟/定时信息的输入。
这些接口必须与微处理器的相应管脚相连来实现系统射频功能的控制与管理。
CC2430先将要传输的数据流进行变换,每个字节被分组为两个符号,每个符号包括4个比特LSB优先传输。
每个被分组的符号用32码片的伪随机序列表示,共有16个不同的32码片伪随机序列。
经过DSSS扩频变换后,码片速率达到2Mchips/s,此码片序列再经过O-QPSK调制,每个码片被调制为半个周期的正弦波。
码片流通过I/Q通道交替传输,两通道延时为半个码片周期。
CC2430为IEEE802.15.4的数据帧格式提供硬件支持。
其MAC层的帧格式为头帧+数据帧+校验帧;PHY层的帧格式为,同步帧+PHY头帧+MAC帧,帧头序列的长度可以通过寄存器的设置来改变。
可以采用16位CRC校验来提高数据传输的可靠性。
发送或接收的数据帧被送入RAM中的128字节的缓存区进行相应的帧打包和拆包操作。
DS18B20概述
DS18B20是美国DALLAS公司的“单总线”数字温度传感器,它具有结构简单、体积小、功耗低、无须外接元件、用户可自行设定预警上下限温度等特点。
“单总线”结构独特而且经济,采用一根I/O数据线既可供电又可传输数据,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。
3引脚封装的DS18B20形如一只三极管,其内部结构如图2所示。
主要由四部分组成:64位光刻ROM、温度传感器、非易失性的温度报警触发器和配置寄存器。
此外,还有电源检测模块、存储和控制逻辑器、中间结果缓存器和8位循环冗余校验码(CRC)发生器。
ROM中的64位序列号是出厂前被光刻好的,可以看作该DS18B20的地址序列码,每个DS18B20的64位序列号均不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。
DS18B20内部的RAM由9个字节的高速缓存器和E2PROM组成,数据先写入高速缓存器,经校验后再传送给E2PROM。
通过DS18B20功能命令对RAM进行操作。
DS18B20的测量温度范围为-55℃~125℃,在-10℃~85℃范围内,精度为0.5℃,可编程设定9~12位的分辨率,默认值为12位,转换12位温度信号所需时间为750ms(最大)。
检测温度由2字节组成,字节1的高5位S代表符号位,字节0的低4位是小数部分,中间
7位是整数部分。
无线测温系统组成及硬件设计
无线测温系统主要可分为基站和无线节点两大部分。
每套系统一般只有1个基站,包括微控制器及射频收发单元、显示单元、报警单元、电源模块及接口单元,主要硬件连接。
接口单元是为了方便射频模块和PC的通信,通常可采用RS-232接口、USB接口、以太网接口等,其中,RS-232接口是目前PC与通信工业中应用最广泛的一种串行接口。
本文使用RS-232接口,采用MAX3221芯片实现RS-232电平与TTL电平之间的转换。
MAX3221是MAXIM公司生产的一种RS-232接口芯片,使用单一电源电压供电,电源电压在3.0~5.5V 范围内都可以正常工作。
基站接收到数据后,将温度信息通过数码管(或液晶显示屏)显示出来,根据需要,还可以通过RS-232接口与PC进行通信。
为简化系统,本设计直接用CC2430的I0口驱动数码管,但是I0口不具备数据保持能力,需要外接一定大小的上拉电阻,显示方法采用扫描法。
采用一个蜂鸣器作为报警装置,当温度超过设定范围时,鸣叫报警。
射频天线采用单鞭天线。
无线节点分布在温度采集点,由数字温度传感器DS18B20、射频CC2430、天线及电池组成。
在实际应用中,可以有多个无线节点,它们与基站之间通过射频进行无线通信。
DS18B20有寄生电源和外部电源两种供电方式,本文采用外部供电方式,VDD引脚直接连接外部电源。
DS18B20在空闲时,其D1脚由上拉电阻置为高电平。
无线节点的天线根据实际需要可选用单鞭天线,陶瓷天线或PCB印制天线
基于CC2430和DS18B20的无线测温系统工作原理及ZigBee网络
在系统中的工作架构无线温度信号控制系统的管理模式就是集中管理,分级控制,充分利用现有设施,按实际现状先进行单个用户的自适应协调,然后是主干线的协调控制,实现分布式协调的分级控制,最终达到区域控制的系统最优。
基于CC2430和DS18B20的无线测温的系统,系统具有以下几个特点:
(1)整个控制系统的各个模块具有高集成度、高可靠性和低功耗、低成本、体积小等优点,维护保养十分方便,只需更换相应节点即可,避免了传统控制线路本身带来许多麻烦,从而大大减少了设备购置成本,建设安装成本和系统维护成本。
(2)卓越的物理性能,整个网络所使用的无线频率是国际通用的免费频段(2.4~2.48 GHz ISM),传输的方式是抗干扰能力强的直序扩频方式(DSSS),特别适合在干扰较大的环境中使用。
(3)网络的自组织、自愈能力强,ZigBee的自组织功能:无需人工干预,网络节点能够感知其他节点的存在,并确定连接关系,组成结构化的网络;ZigBee自愈功能:增加或者删除一个节点,节点位置发生变动,节点发生故障等,网络都能够自我修复,并对网络拓扑结构进行相应地调整,无需人工干预,保证整个系统仍然能正常工作。
结束语
通过系统的设计和对于CC2430芯片的使用,感觉到ZigBee无线温度传感网络应用前景非常广阔,CC2430芯片是真正意义上的SOC芯片,使得我们开发ZigBee无线传感网络会更加方便,产品开发周期会大大缩短。