基于无线传输的温湿度与光照检测系统
- 格式:pdf
- 大小:484.96 KB
- 文档页数:4
基于GSM的温湿度远程监测系统(图文)论文导读:但由于传感器的材料配方、电极结构等方面的不同,导致各种不同的阻抗型高分子湿度传感器的特性曲线有较大差别,不能用统一的曲线来概括。
本系统采用先进的GSM无线通信技术、配合以嵌入式解决方案和数据采集等先进技术,构建了一种基于GSM的温湿度远程监测系统。
系统分为监测中心站和远程监测终端两个部分:监测中心站主要有PC主机、GSM通信模块TC35i组成(或用户手机)。
关键词:温度传感器,湿度传感器,GSM,远程监测1、引言高级别的质量检测需要在高质量的环境中进行。
温度和湿度是环境的重要参数,对温湿度的监测是实现优质环境的重要手段。
为了避免人为干扰环境和提高效率,远程监测是一种有效的方法。
目前的远程监测系统大多采用以太网络、无线数据传输模块或zigbee无线网络传输数据[ 1-6]。
但是,以太网是有线传输,需布线,受地理环境影响较大;无线数据传输模块的传输误码率高,可靠性差;zigbee是专用协议无线网络,成本高,开发难,而且覆盖范围有限。
本文提出一种基于GSM的温湿度远程监测系统,具有传输误码率低、成本低及覆盖范围广等优点,并且可与监测人员的手机绑定,实现随时、随地,移动监测。
2、传感器的数学模型2.1 半导体温度传感器原理根据PN结理论,在一定的电流模式下,PN结的正向电压与温度具有很好的线性关系。
对于理想二极管,只要正向电压VF大于几个KT/q,其正向电流IF与正向电压VF和温度T之间的关系可表示为(1)式中IS 为二极管反向饱和电流,K 为波尔兹曼常数(1.38ηtimes;10-23J/K),T 为绝对温度(K),q为电子电荷(1.602ηtimes;10-19库仑),整理后,得(2)如前所述,晶体管的基极一发射极电压在其集电极电流恒定条件下,可以认为与温度呈线性关系[7]。
2.2 阻抗型高分子湿度传感器原理阻抗型高分子湿度传感器的感湿原理如下:高分子湿敏膜吸湿后,在水分子作用下,离子相互作用减弱,迁移速度增加;同时吸附的水分子使解离的离子增多,膜电阻随湿度增加而降低,由电阻变化可测知环境湿度。
武汉理工大学本科生毕业设计(论文)基于无线传感器网络的温湿度数据监测系统设计学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包括任何其他个人或集体已经发表或撰写的成果作品。
本人完全意识到本声明的法律后果由本人承担。
作者签名:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保障、使用学位论文的规定,同意学校保留并向有关学位论文管理部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权省级优秀学士论文评选机构将本学位论文的全部或部分内容编入有关数据进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
本学位论文属于1、保密囗,在年解密后适用本授权书2、不保密囗。
(请在以上相应方框内打“√”)作者签名:年月日导师签名:年月日本科生毕业设计(论文)任务书学生姓名刘海波专业班级电信0706班指导教师黄晓放工作单位武汉理工大学信息工程学院设计(论文)题目:基于无线传感器网络的温湿度数据监测系统设计设计(论文)主要内容:1、了解无线传感网络的原理和机制;2、对设计题目所涉及理论进行阐述;3、编写相关的网络协议程序并进行注释;4、设计相应的数据采集硬件电路;5、对所设计的内容进行软件仿真并进行调试改进;6、撰写设计后的心得体会。
要求完成的主要任务:1、完成无线传感器网络的温湿度数据监测系统软件和硬件设计;2、完成英文资料翻译,英译汉字数要求5000字以上;3、论文中所用参考文献不少于25篇,其中英文资料不少于9篇;4、毕业设计论文中要有12幅以上电路图和设计图;5、完成毕业设计论文,字数不少于12000字。
必读参考资料:1.《无线传感器网络》孙利民,李建中,陈渝,朱红松清华大学出版社 20052.《无线传感器网络原理与应用》李善仓,张克旺机械工业出版社 20083.《数据采集与处理技术》马明建西安交通大学出版社 2005指导教师签名系主任签名院长签名(章)武汉理工大学本科学生毕业设计(论文)开题报告目录摘要 (I)Abstract ................................................................................................................................................................ I I 1 绪论 (1)1.1 课题的背景、目的与意义 (1)1.2 国内外研究现状 (1)1.2.1 无线传感器网络技术研究现状 (1)1.2.2 温室测控系统研究现状 (3)1.3 本课题研究主要内容及论文组织结构 (3)1.3.1 本文主要研究内容 (4)1.3.2 本论文的组织结构 (4)2 温室温湿度监测系统设计方案 (5)2.1 系统设计目标及技术指标 (5)2.1.1 系统功能特点 (5)2.1.2 技术指标 (5)2.1.3 节点硬件平台和软件系统 (5)2.2 系统体系结构 (6)2.3 方案描述及工作流程 (7)3 传感器节点的硬件及软件系统 (8)3.1 硬件总体结构 (8)3.2 主要元器件 (9)3.2.1 处理器ATMEGA 128L (9)3.2.2 无线芯片CC2420 (10)3.2.3 传感器模块 (11)3.2.4 电源管理模块 (12)3.4 TinyOS操作系统概述 (13)3.4.1 TinyOS体系结构 (13)3.4.2 NesC语言 (13)4 温湿度监测软件系统设计及实验测试 (15)4.1 软件开发环境介绍 (15)4.1.1 LabVlEW简介 (15)4.1.2 MoteWorks软件平台 (15)4.2 系统软件组成 (16)4.3 软件开发关键技术 (17)4.3.1 数据格式 (17)4.3.2 连接中间件Xserve (17)4.3.3 数据的解析和转换 (18)4.3.4 程序流程图和后面板程序 (20)4.4 软件界面及功能介绍 (22)4.5 实验测试 (23)5 总结与展望 (25)5.1 主要成果与结论 (25)5.2 本论文不足及进一步研究方向 (25)5.3 前景展望 (25)参考文献 (26)致谢 (29)摘要在现代化大型温室中,实现测控系统的无线化和网络化是目前该领域研究的重要课题之一。
毕业设计(论文)题目:基于STM32的温湿度检测和无线的传输学院:信息工程与自动化专业:自动化学生姓名:指导教师:日期:基于STM32的温湿度检测和无线的传输摘要随着嵌入式技术的发展,单片机技术进入了一个新的台阶,目前除最早的51单片机现在有了STM32系列单片机以AMR的各系列单片机,而本次毕业设计我采用STM32单片机来完成,目的是实现温湿度的采集和数据的无线传输,温湿度的采集是作为自动化学科中一个必须掌握的检测的技术,也是一项比较实用的技术。
而无线的传输时作为目前一项比较前沿的技术来展开学习的,所有的新新产业中都追求小规模高效率,而无线的技术可以降低传统工程的工程量,同时可以节省大量由排线、线路维修、检测上的一些不必要的障碍和消耗。
同时,在实时运行阶段也可以明显体现它的便携性,高效性和节能性。
本次设计目的是做出成品,并能采集实时数据传输至上位机。
关键词:嵌入式技术;电路设计;STM32;cc1020无线传输;sht10温湿度采集;程序设计引言我的毕业设计做的是温湿度数据的采集和无线的传输。
温湿度的采集的用途是非常的广泛的,比如说化工业中做酶的发酵,必须时刻了解所发酵酶的温湿度才可以得到所需酶。
文物的保护同样也离不开温、湿度的采集,不仅在文物出土的时刻,在博物馆和档案馆中,空气湿度和和空气质量条件的优劣,是藏品保存关键,所以温湿度的检测对其也是具有重要意义的。
最后就是大型机房的温湿度的采集,国家对此有严格标准规定温湿度的范围,超出此范围会影响服务器或系统的正常工作等等。
所以温湿度的检测是目前被广泛运用。
此次设计的芯片采用的是STM32,由于STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核。
按性能分成两个不同的系列:STM32F103“增强型”系列和STM32F101“基本型”系列。
增强型系列时钟频率达到72MHz,是同类产品中性能最高的产品;基本型时钟频率为36MHz,以16位产品的价格得到比16位产品大幅提升的性能,是16位产品用户的最佳选择。
基于无线传感器网络的温室大棚温湿度监测与控制系统设计温室大棚是一种用于农业生产的封闭空间,它可以提供良好的环境条件,使植物在较长的时间内得到适宜的生长环境。
温室大棚的温度和湿度是农作物生长的关键因素之一。
为了实现温室大棚的温湿度监测与控制,我们可以利用无线传感器网络技术来设计一个智能监测与控制系统。
首先,我们可以通过无线传感器节点来采集温湿度数据。
传感器节点可以使用温湿度传感器来感知环境的温度和湿度变化。
这些传感器节点可以布设在温室大棚中的不同位置,以获取更全面的数据。
传感器节点可以通过无线通信方式将数据传送给基站节点。
基站节点是无线传感器网络中的中心节点,它负责接收传感器节点发送的数据,并将数据交给上位机进行处理。
基站节点可以通过无线通信方式与传感器节点进行数据传输。
为了提高网络的可靠性和稳定性,可以采用多节点协作的模式,使网络中任意一个节点故障,不会影响整个系统的工作。
在接收到传感器节点的温湿度数据后,上位机可以进行数据处理和分析。
通过对温湿度数据的分析,我们可以了解温室大棚中的温湿度变化趋势,并根据需要进行相应的控制。
上位机可以使用数据可视化的方式将温湿度数据以图表或曲线的形式展示给用户,方便用户实时了解温室大棚的温湿度情况。
在温室大棚的温湿度监测与控制方面,可以采用反馈控制的方法来实现。
根据温湿度数据的变化情况,上位机可以向温室大棚中的执行机构发送控制信号,实现对温湿度的控制。
例如,在温度过高时,上位机可以通过执行机构打开大棚的通风窗,降低温度;在湿度过高时,上位机可以通过执行机构启动降湿设备,降低湿度。
这样,可以实现对温室大棚温湿度的自动控制。
此外,为了进一步改进温室大棚的温湿度监测与控制系统,可以引入智能算法和预测模型。
智能算法可以根据历史温湿度数据和环境条件,预测未来的温湿度变化趋势,并自动调整控制策略。
预测模型可以通过分析大量的历史数据,建立温湿度与作物生长之间的关系模型,为农民提供相应的建议和指导。
温度湿度无线监测系统一、总述本系统由一个监测终端和多个监测点组成,可实现远程监测,传输距离可达2000米,支持最多225路多地同时监测。
监测点具有测量温度湿度以及发送信息的功能,监测终端能够接收各监测点的序号温度湿度信息,并通过液晶屏显示。
无线收发使用315M 天线,主芯片为STC89C52,温度湿度传感器为DHT11,使用LCD1602显示接收到的监测点序号温度值和湿度值。
二、硬件电路设计 1、监测点电路设计 监测点电路方框图2、监测终端电路设计 监测终端电路方框图3、仿真图检测端每次信号发送4遍。
数据由引导码加24位数据码组成,0码由01表示,1码由011表示。
上图中发送的数据为0x01(固定地址位),0x00(模拟温度值),0x00(模拟湿度值)。
程序中将P1.1和P1.0赋相同电平,在P1.1上接led,可以检查信号发送情况。
三、软件程序设计1、程序流程图监测点程序流程图监测终端程序流程图2、程序源代码(1)DHT11读温湿度程序/************DHT11读温*****************/#include"DHT11.h"unsigned char wendu,shidu;void delay_us(){unsigned char i;i--;i--;i--;i--;i--;i--;}void delay_ms(unsigned char x){unsigned char n;while((x--)!=0){for(n=0;n<115;n++){;}}}char receive(){unsigned int i;unsigned char temp,respond;unsigned char com_data=0;for(i=0;i<=7;i++){respond=2;while((!TRH)&&respond++);delay_us();delay_us();delay_us();if(TRH){temp=1;respond=2;while((TRH)&&respond++);}elsetemp=0;com_data<<=1;com_data|=temp;}return(com_data);}//湿度读取子程序//温度高8位== TL_data//温度低8位== TH_data//湿度高8位== RH_data//湿度低8位== RH_data//校验8位== CK_datavoid read(){unsigned int respond;unsigned int RH_temp,RL_temp,TH_temp,TL_temp,CK_temp,untemp,RH_data,RL_data,TH_data,TL_data,CK_data;//主机拉低18msTRH=0;delay_ms(18);TRH=1;//DATA总线由上拉电阻拉高主机延时20usdelay_us();delay_us();delay_us();delay_us();TRH=1;//判断DHT11是否有低电平响应信号如不响应则跳出,响应则向下运行if(!TRH){respond=2;//判断DHT11发出80us 的低电平响应信号是否结束while((!TRH)&&respond++);respond=2;//判断从机是否发出80us 的高电平,如发出则进入数据接收状态while((TRH)&&respond++);//数据接收RH_temp=receive();RL_temp=receive();TH_temp=receive();TL_temp=receive();CK_temp=receive();TRH=1;untemp=(RH_temp+RL_temp+TH_temp+TL_temp);//数据校验if(CK_temp==untemp){RH_data=RH_temp;RL_data=RL_temp;TH_data=TH_temp;TL_data=TL_temp;CK_data=CK_temp;}}// 温度值湿度值wendu=(unsigned char) (TH_data );shidu=(unsigned char) (RH_data );}(2)监测点发送数据程序/***************************************************** 发送8位地址和温度湿度地址位定为0x01******************************************************/#include<reg52.h>#include<delay.h>#include<DHT11.h>sbit send0=P1^0;sbit send1=P1^1;//接LED用于显示P1.0,P1.1的电位unsigned char temp,n;unsigned char Adress=0x01;//定义地址void Send(unsigned char x)// 发送数据函数{unsigned char i;temp=0x80; //temp用于取位for(i=0;i<8;i++){if(temp&x)//如果对应位为1,则发送011{send0=0;send1=send0;delayms(1);send0=1;send1=send0;delayms(2);}else //否则发送01{send0=0;send1=send0;delayms(1);send0=1;send1=send0;delayms(1);}temp>>=1; //将对应位右移,取下一位}}void main(){while(1){read(); //读取温度湿度函数n=4;while(n){//头码发送send0=1;send1=1;delayms(20);//间隔Send(Adress);//发送地址Send(wendu);//发送数据1Send(shidu);//发送数据2send0=0;send1=0;delayms(20);--n; //循环4次}delay1s();}}(3)接收终端数据处理程序/*-----------------------------------------------接收1个头码8位地址码2个8位数据25位液晶分别显示地址数,数据1,数据2------------------------------------------------*///#include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义#include<1602.h>sbit IR=P3^2; //无线接口标志/*------------------------------------------------全局变量声明------------------------------------------------*/unsigned char irtime;//红外用全局变量bit irpro_ok,irok;unsigned char adres1,adres2,dat1,dat2,dat3,dat4;//显示变量,地址,数据1,数据2 的个位十位unsigned char irdata[25];//存储变量unsigned char display[10]={'0','1','2','3','4','5','6','7','8','9'};//显示字符数组unsigned char recv_data[3];/*------------------------------------------------函数声明------------------------------------------------*///void Ir_work(void);void Ircordpro(void);/*------------------------------------------------定时器0中断处理------------------------------------------------*/void tim0_isr (void) interrupt 1 using 1{irtime++; //用于计数2个下降沿之间的时间}/*------------------------------------------------外部中断0中断处理------------------------------------------------*/void EX0_ISR (void) interrupt 0 //外部中断0服务函数{static unsigned char i; //接收无线信号处理static bit startflag; //是否开始处理标志位if(startflag){if(irtime<160&&irtime>=140)//引导码TC9012的头码,2*19ms/0.256ms i=0;irdata[i]=irtime;//存储每个电平的持续时间,用于以后判断是0还是1irtime=0;i++;if(i==25) //接收完头码和24位数据,数据自加到25{irok=1;i=0;}}else{irtime=0;startflag=1;}}/*------------------------------------------------定时器0初始化------------------------------------------------*/void TIM0init(void)//定时器0初始化{TMOD=0x02;//定时器0工作方式2,TH0是重装值,TL0是初值TH0=0x00; //重载值TL0=0x00; //初始化值ET0=1; //开中断TR0=1;}/*------------------------------------------------外部中断0初始化------------------------------------------------*/void EX0init(void){IT0 = 1; //指定外部中断0下降沿触发,INT0 (P3.2)EX0 = 1; //使能外部中断EA = 1; //开总中断}/*------------------------------------------------无线码值处理------------------------------------------------*/void Ircordpro(void)//无线码值处理函数{unsigned char i, j, k ;unsigned char cord,value;if(irdata[0]>140&&irdata[0]<160){k=1;for(i=0;i<=2;i++){for(j=1;j<=8;j++) //处理1个字节8位{cord=irdata[k];if(cord>10) //大于某值为1,这个和晶振有绝对关系,这里使用12M计算,此值可以有一定误差3ms-/0.256value|=0x01;if(j<8){value<<=1;}k++;}recv_data[i]=value;value=0;}adres1=recv_data[0]/10;//地址个位十位adres2=recv_data[0]%10;dat1=recv_data[1]/10;//数据1个位十位dat2=recv_data[1]%10;dat3=recv_data[2]/10;//数据2个位十位dat4=recv_data[2]%10;irpro_ok=1;//处理完毕标志位置1}}/*------------------------------------------------主函数------------------------------------------------*/void main(void){EX0init(); //初始化外部中断TIM0init();//初始化定时器LCD_Init(); //初始化液晶delayms(20); //延时有助于稳定LCD_Clear(); //清屏LCD_Write_String(5,0,"RECEIVE");LCD_Write_Char(9,1,0xdf);//右上角点LCD_Write_Char(10,1,'C');//LCD_Write_Char(15,1,'%');//用于显示温度湿度单位while(1)//主循环{if(irok) //如果接收好了进行数据处理{Ircordpro();irok=0;}if(irpro_ok) //如果处理好后进行工作处理{LCD_Write_Char(1,1,display[adres1]); //写地址位LCD_Write_Char(2,1,display[adres2]);LCD_Write_Char(7,1,display[dat1]); //写数据1LCD_Write_Char(8,1,display[dat2]);LCD_Write_Char(13,1,display[dat3]); //写数据2LCD_Write_Char(14,1,display[dat4]);irpro_ok=0; //处理完成标志delay500ms(); delay500ms();}}}(4)监测终端液晶显示程序#include "1602.h"#include "delay.h"sbit RS = P2^4; //定义端口sbit RW = P2^5;sbit EN = P2^6;#define RS_CLR RS=0#define RS_SET RS=1#define RW_CLR RW=0#define RW_SET RW=1#define EN_CLR EN=0#define EN_SET EN=1#define DataPort P0/*------------------------------------------------判忙函数------------------------------------------------*/bit LCD_Check_Busy(void){DataPort= 0xFF;RS_CLR;RW_SET;EN_CLR;_nop_();EN_SET;return (bit)(DataPort & 0x80);}/*------------------------------------------------写入命令函数------------------------------------------------*/ void LCD_Write_Com(unsigned char com) {while(LCD_Check_Busy()); //忙则等待RS_CLR;RW_CLR;EN_SET;DataPort= com;_nop_();EN_CLR;}/*------------------------------------------------写入数据函数------------------------------------------------*/ void LCD_Write_Data(unsigned char Data) {while(LCD_Check_Busy()); //忙则等待RS_SET;RW_CLR;EN_SET;DataPort= Data;_nop_();EN_CLR;}/*------------------------------------------------清屏函数------------------------------------------------*/ void LCD_Clear(void){LCD_Write_Com(0x01);delayms(5);}/*------------------------------------------------写入字符串函数------------------------------------------------*/void LCD_Write_String(unsigned char x,unsigned char y,unsigned char *s) {if (y == 0){LCD_Write_Com(0x80 + x); //表示第一行}else{LCD_Write_Com(0xC0 + x); //表示第二行}while (*s){LCD_Write_Data( *s);s ++;}}/*------------------------------------------------写入字符函数------------------------------------------------*/void LCD_Write_Char(unsigned char x,unsigned char y,unsigned char Data) {if (y == 0){LCD_Write_Com(0x80 + x);}else{LCD_Write_Com(0xC0 + x);}LCD_Write_Data( Data);}/*------------------------------------------------初始化函数------------------------------------------------*/void LCD_Init(void){LCD_Write_Com(0x38); /*显示模式设置*/delayms(5);LCD_Write_Com(0x38);delayms(5);LCD_Write_Com(0x38);delayms(5);LCD_Write_Com(0x38);LCD_Write_Com(0x08); /*显示关闭*/LCD_Write_Com(0x01); /*显示清屏*/LCD_Write_Com(0x06); /*显示光标移动设置*/delayms(5);LCD_Write_Com(0x0C); /*显示开及光标设置*/}四、心得体会调试程序得出一个结论,要想完成一个工程,必须从基本模块调试开始,程序也是这样。
- 7 -基于无线传输的温湿度与光照检测系统张金龙 姚灿杰(广东东软学院,广东 佛山 528225)【摘 要】文章主要介绍一个能够通过无线传输,实时检测温湿度和光照等环境因素的系统,对系统的方案以及设计进行论述。
系统采用ST 系列的STM8S103F3P6单片机作为主控制器,无线通信模块nRF24L01、温湿度采集模块、光照强度采集模块DHT11、按键模块、液晶显示模块LCD12864、电源模块共同组成。
系统简单,稳定可靠,具有较高的实用性。
【关键词】无线传输;实时检测;STM8S103F3P6;nRF24L01;DHT11【中图分类号】TP11 【文献标识码】A 【文章编号】1008-1151(2018)04-0007-04Temperature, humidity and light detection system based on wireless transmissionAbstract: In this paper, a real-time detection system of environmental factors such as temperature, humidity and light was introduced, and which project design was discussed. The system was constructed by ST series STM8S103F3P6 microcontroller (as the main controller), wireless communication module nRF24L01, temperature and humidity acquisition module, light intensity acquisition module DHT11, key module, liquid crystal display module LCD12864 and power module together. The system is simple, stable, reliable and with high practicability.Key words: Wireless transmission; real-time detection; STM8S103F3P6; nRF24L01; DHT111 引言近年来,随着物联网技术的发展,无线传输的环境监测系统成了农业研究的热门方向,温湿度和光照等环境因素在工农业生产、气象、环保、医疗等领域有着重要的价值,传统的温湿度和光照监测系统不仅要设计信号条理电路,还要经过复杂的校准和标定,测量精度难以得到保证。
随着科学技术的发展,数字化、智能化、无线化传感器得到有效的发展和广泛的应用。
本文系统以低耗微控制器为核心配置以收发芯片和数字温湿度传感器以及光敏传感器开发了一个能够进行实时通信的无线温湿度采集系统,满足了实时监测的要求,提高了对环境温湿度与光照数据采集的自动性和高效性。
2 系统总方案设计本系统以STM8S103F3P6单片机作为主要控制核心,通过nRF2401无线通信模块对环境温湿度和光照进行实时监测采集,收集到了数据通过nRF24L01的发送端将数据发送到另一个nRF24L01的接收端,经过核心控制器的处理,显示数据到液晶显示器上。
系统主要分为发送端和接收端设计,由单片机控制模块、无线通信模块、温湿度采集模块、光照强度采集模块、按键、电源以及液晶显示模块七大部分组成,如图1所示。
图1 系统总方案框图3 系统硬件设计3.1 电源模块在整个系统的中,电源作为最重要的一部分之一,不仅关系到如何规划使用电路板以及整个系统的设计,还是维持整个系统的稳定工作必要条件,一旦电源能量耗尽,整个系统的各个模块将受到不同程度的影响,特别是在无线通信系统中,电源不光是能源的基地,它也直接影响通信质量[1]。
当总第20卷224期 大 众 科 技 Vol.20 No.42018年4月 Popular Science & Technology April 2018【收稿日期】2018-02-09【基金项目】大学生创新创业训练计划。
【作者简介】张金龙(1994-),男,广东茂名人,广东东软学院学生,研究方向为嵌入式系统;姚灿杰(1996-),男,广东汕头人,广东东软学院学生,研究方向为人工智能、软件测试、智能算法。
电压不稳定时,各个模块所测得的数据将会出现错乱,单片机以及液晶显示LCD12864将不能正常工作。
而且当电源工作时间长,电源会发热,容易发生短路烧坏元器件。
考虑到以上出现的问题,选择AMS1117系列稳压器,AMS1117稳压器工作功率小,不易发热,工作状态稳定,用来为整个系统提供稳定输出电压5V,确保整个系统稳定工作。
3.2核心控制器核心控制器采用STM8S103系列的STM8S103F3P6单片机,STM8S103系列单片机是法国ST公司推出的一款性价比非常高的单片机,采用和51单片机一样的CISC指令集,具有高达20MIPS的运行速度,而51单片机最高运行速度只有1.33MIPS。
此处理器内部有8KB程序存储器、640B的数据EEPROM,1KB RAM,并且集成有10位ADC、16个I/O、3个定时器、SPI、UART和I2C等众多内置外设,单总线超级强大调试模块,是一款性价比优势非常突出的8位16MHz单片机。
STM8S采用SWIM调试接口,调试下载程序简单且速度快,而一般51单片机实验平台采用串口下载程序,并不能在线调试。
3.3温湿度采集模块温湿度采集模块采用的是数字温湿度传感器DHT11,DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,如表1和表2所示,它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性[2]。
因此该产品具有超快响应、抗干扰能力强、性价比极高、超小的体积、极低的功耗等优点。
应用电路图如图2所示。
表1DHT11引脚说明Pin 名称注释1 VDD 供电3-5.5VDC2 DATA 串行数据,单总线3 NC 空脚,请悬空4 GND 接地,电源负极表2传感器性能说明参数条件Min Typ Max 单位湿度分辨率1 1 1 %RH8 Bit重复性±1 %RH精度25℃±4 %RH 0-50℃±5 %RH互换性可完全互换量程范围0℃30 90 %RH 25℃20 90 %RH 50℃20 80 %RH响应时间1/e(63%)25℃,1m/s空气6 10 15 S迟滞±1 %RH 长期稳定性典型值±1 %RH/yr温度分辨率1 1 1 ℃8 8 8 Bit 重复性±1 ℃精度±1±2℃量程范围0 50 ℃响应时间1/e(63%) 6 30 D图2DHT11应用电路图3.4光照强度采集模块光照强度采集模块[3]采用基于数字式的BH1750FVI,不区分光源数字型环境光强度传感器BH1750FVI是日本RHOM 株式会社近些年推出的一种两线式串行总线接口的集成电路,可以根据收集的光线强度数据来进行环境监测,其具有1-65535lx的高分辨率,可支持较大范围的光照强度变化。
BH1750FVI结构框图如图3所示:图3BH1750FVI结构框图从结构框图可容易看出,外部光照被接近人眼反应的高精度光敏二极管PD探测到后,通过集成运算放大器将PD电流转换为PD电压,由模数转换器获取16位数字数据,然后被逻辑和I2C界面进行数据处理与存储。
OSC为内部的振荡器提供内部逻辑时钟,通过相应的指令操作即可读取出内部存储的光照数据。
3.5无线通信模块无线通信模块[4]采用的是无线数字传输芯片nRF24L01,nRF24L01芯片是挪威Nordic公司推出的2.4G单片无线射频收发芯片,芯片内置频率合成器、功率放大器、晶体振荡器和调制器等功能模块,输出功率和通信频道可通过程序进行配置。
该芯片具有接收灵敏度高、外围电路少、发射功率低、传输速率高、低功耗等优点。
nRF24L01无线收发一体芯片和蓝牙一样,都在2.4GHz自由频段工作,能够在全球无线市场畅通无阻。
nRF24L01支持多点间通信,最高传输速率超过1Mbit/S,而且比蓝牙具有更高的传输速度,采用SoC方法设计,只需少量外围元件便可组成射频收发电路。
与蓝牙不同的是,nRF2401没有复杂的通信协议,它完全对用户透明,同种产品之间可以自由通信。
更重要的是,nRF24L01比蓝牙产品更便宜。
本系统采用两块nRF24L01结合组成无线通信模块[5],- 8 -普通nRF24L01作为数据采集的发送端,带PA和LNA的nRF24L01作为接收端。
PA+LNA+nRF24L01特点:PA增益20dB;LAN增益10dB;远达1100米距离传输;高达2Mbps数据速率;支持6个节点组网;支持125个射频通道;极低功率消耗;高灵敏度外接天线接口(旁保留外接天线接口);带有PA放大,适合超远距离传输数据;接收带LNA低噪声放大,适合超远距离传输数据;输出功率可软件设置。
3.6液晶显示模块液晶显示模块采用的是12864液晶屏,由128列64行液晶显示点组成的128×64阵列,可以通过程序控制这些点的亮灭,不仅显示数字、字母和符号,还能显示8×4个汉字和图像效果,功能比1602强大,1602只能显示字母、数字和符号16×2个字符。
当12864液晶屏使用并行方式实现图形和字符显示时,必须同时使用几个控制引脚和8个数据传输接口,即同一时刻可以并行传输8位二进制数据,此时编号为15的PSB引脚必须是高电平,可以直接接在VCC引脚上。
当12864液晶屏使用串行方式实现图形和字符显示时,PSB引脚必须是低电平,可以接GND。
本次实验采用的是串行的方式。
3.7按键模块按键模块由4个B3F微动开关、12×12轻触开关以并联的形式组成。
按键的主要功能作为系统的核心控制端的参数修改,通过按键可以修改不同模式以及调节报警参数的上下限。
通过改变预定报警的温湿度和光照强度的上下限的值,当周围环境达到设定的报警值时,蜂鸣器发出警报声。
4 系统软件的设计系统要先进行初始化设置,初始化设置后,单片机向DHT11温湿度传感器和BH1750光敏传感器发送初试化脉冲;处于激活状态的传感器向单片机发送存在脉冲,之后发射端的nRF2401处于接收等待状态[6,7],直到收到单片机发来中断命令后转入测量子程序,执行温湿度和光照的数据读取并发送给接收端,复位返回。