基于WIFI多点温度采_第1页
基于WIFI多点温度采_第2页
基于WIFI多点温度采_第3页
基于WIFI多点温度采_第4页
基于WIFI多点温度采_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于WIFI多点温度采集系统设计,设计单位:09电气2班/3班课题组成员:宋伟男徐涛丁农兵叶煜组长:宋伟男,一项目背景:A.该产品在现实生活中的应用现状?1.由于数据采集系统应用范围越来越广,功能越来越全,大众需要一种应用范围广,性价比高的数据采集系统,无线传输实现了数据处理功能强大,显示简洁、直观,性价比高,应用广泛。2.在生产中经常需对温度进行检测,数字显示信息存储及实时控制,无线采集系统可被广泛应用于温度测量或相应的可转换为温度量或供电故障监控的工业,农业,环保,服务业安全监控中。B.存在哪些问题?很多系统存在:1.功能单一;2.采集通道少;3.采集速率低;4.操作复杂;5.并对测试环境

2、要求较高等问题。,二、详细设计需求,1、18B20温度采集端对现场温度进行采集,并将采集到的温度电压信号转换为数字信号,传送给数据处理端2、数据处理端对数据进行处理后,经WIFI模块传送到PC机3、PC机对温度数据进行实时记录并显示,用户可根据需要选择所要查看的监测点温度数据,三、系统设计总方案,单片机,温度传感器DS18b20,WIFI模块,PC机显示,单总线,串口,无线传输,系统总方案示意图,系统实物图,四、系统总方案简述,1、温度传感器DS18b20是单总线传输元件与单片机一端口相连;2、单片机通过串口与WIFI相连,通过指令控制WIFI模块或传输数据并发送出去;3、PC机接收无线信号显

3、示相应的温度信息。,五、方案每个部分实现原理,1、温度传感器DS18b20A、原理图,B、实物图,C、工作原理及应用总结,DS18b20内部存储器,ROM只读存储器,用于存放DS18B20ID编码,RAM数据暂存器,EEPROM非易失性记忆体,用于内部计算和数据存取,数据在掉电后丢失,用于存放长期需要保存的数据,上下限温度报警值和校验数据,DS18b20一个工作周期,温度检测,数据处理,优点:抗干扰力更强,DS18B20的温度检测与数字数据输出全集成于一个芯片上,从而抗干扰力更强。其一个工作周期可分为两个部分,即温度检测和数据处理。在讲解其工作流程之前我们有必要了解18B20的内部存储器资源。

4、18B20共有三种形态的存储器资源,它们分别是:ROM只读存储器,用于存放DS18B20ID编码,其前8位是单线系列编码(DS18B20的编码是19H),后面48位是芯片唯一的序列号,最后8位是以上56的位的CRC码(冗余校验)。数据在出产时设置不由用户更改。DS18B20共64位ROM。RAM数据暂存器,用于内部计算和数据存取,数据在掉电后丢失,DS18B20共9个字节RAM,每个字节为8位。第1、2个字节是温度转换后的数据值信息,第3、4个字节是用户EEPROM(常用于温度报警值储存)的镜像。在上电复位时其值将被刷新。第5个字节则是用户第3个EEPROM的镜像。第6、7、8个字节为计数寄存

5、器,是为了让用户得到更高的温度分辨率而设计的,同样也是内部温度转换、计算的暂存单元。第9个字节为前8个字节的CRC码。,DS18b20单总线控制流程,复位,控制器发送ROM指令,控制发送存储器操作指令,存在脉冲,执行或数据读写,复位:首先我们必须对DS18B20芯片进行复位,复位就是由控制器(单片机)给DS18B20单总线至少480uS的低电平信号。当18B20接到此复位信号后则会1560uS后回发一个芯片的存在脉冲。存在脉冲:在复位电平结束之后,控制器应该将数据单总线拉高,以便于在1560uS后接收存在脉冲,存在脉冲为一个60240uS的低电平信号。至此,通信双方已经达成了基本的协议,接下来

6、将会是控制器与18B20间的数据通信。如果复位低电平的时间不足或是单总线的电路断路都不会接到存在脉冲,在设计时要注意意外情况的处理。,控制器发送ROM指令:双方打完了招呼之后最要将进行交流了,ROM指令共有5条,每一个工作周期只能发一条,ROM指令分别是读ROM数据、指定匹配芯片、跳跃ROM、芯片搜索、报警芯片搜索。ROM指令为8位长度,功能是对片内的64位光刻ROM进行操作。其主要目的是为了分辨一条总线上挂接的多个器件并作处理。诚然,单总线上可以同时挂接多个器件,并通过每个器件上所独有的ID号来区别,一般只挂接单个18B20芯片时可以跳过ROM指令(注意:此处指的跳过ROM指令并非不发送RO

7、M指令,而是用特有的一条“跳过指令”)。控制器发送存储器操作指令:在ROM指令发送给18B20之后,紧接着(不间断)就是发送存储器操作指令了。操作指令同样为8位,共6条,存储器操作指令分别是写RAM数据、读RAM数据、将RAM数据复制到EEPROM、温度转换、将EEPROM中的报警值复制到RAM、工作方式切换。存储器操作指令的功能是命令18B20作什么样的工作,是芯片控制的关键。执行或数据读写:一个存储器操作指令结束后则将进行指令执行或数据的读写,这个操作要视存储器操作指令而定。如执行温度转换指令则控制器(单片机)必须等待18B20执行其指令,一般转换时间为500uS。如执行数据读写指令则需要

8、严格遵循18B20的读写时序来操作。,1、AMS1117是一个正向低压降稳压器,在1A电流下压降为1.2V,固定输出电压为1.5V、1.8V、2.5V、2.85V、3.0V、3.3V、5.0V和可调版,2、AMS1117片上微调把基准电压调整到1.5%的误差以内,而且电流限制也得到了调整,以尽量减少因稳压器和电源电路超载而造成的压力3、AMS1117可用于交换式电源5V至3.3V线性稳压器,电池充电器、电池供电设备等,本系统中使用提供稳定3.3V电压,2、AMS1117芯片,六、算法流程图,开始,初始化,数据采集,发送到WIFI,N0,再处理,再检测,YES,处理完?,1、采集端程序,/*-1

9、8B20温度传感器-*/#includedelay.h#include18b20.h/*-18b20初始化-*/bitInit_DS18B20(void)bitdat=0;DQ=1;/DQ复位DelayUs2x(5);/稍做延时DQ=0;/单片机将DQ拉低DelayUs2x(200);/精确延时大于480us小于960usDelayUs2x(200);DQ=1;/拉高总线DelayUs2x(50);/1560us后接收60-240us的存在脉冲dat=DQ;/如果x=0则初始化成功,x=1则初始化失败DelayUs2x(25);/稍作延时返回returndat;,/*-读取一个字节-*/uns

10、ignedcharReadOneChar(void)unsignedchari=0;unsignedchardat=0;for(i=8;i0;i-)DQ=0;/给脉冲信号dat=1;DQ=1;/给脉冲信号if(DQ)dat|=0 x80;DelayUs2x(25);return(dat);,/*-写入一个字节-*/voidWriteOneChar(unsignedchardat)unsignedchari=0;for(i=8;i0;i-)DQ=0;DQ=dat,WriteOneChar(0 xCC);/跳过读序号列号的操作WriteOneChar(0 x44);/启动温度转换DelayMs(1

11、0);Init_DS18B20();WriteOneChar(0 xCC);/跳过读序号列号的操作WriteOneChar(0 xBE);/读取温度寄存器等(共可读9个寄存器)前两个就是温度a=ReadOneChar();/低位b=ReadOneChar();/高位b=8;t=a+b;return(t);,2、主程序,/*-名称:DS18b20温度检测WIFI传输-*/#include#include#include18b20.h#include18b20a.h#includedelay.h#includechuankou.hbitReadTempFlag;/定义读时间标志voidInit_T

12、imer0(void);/定时器初始化/*-串口通讯初始化-*/voidUART_Init(void)SCON=0 x50;/SCON:模式1,8-bitUART,使能接收TMOD|=0 x20;/TMOD:timer1,mode2,8-bit重装TH1=0 xFD;/TH1:重装值9600波特率晶振11.0592MHzTR1=1;/TR1:timer1打开/EA=1;/打开总中断ES=1;/打开串口中断TI=1;,/*-定时器初始化子程序-*/voidInit_Timer0(void)TMOD|=0 x01;/使用模式1,16位定时器,使用|符号可以在使用多个定时器时不受影响/TH0=0 x

13、00;/给定初值/TL0=0 x00;EA=1;/总中断打开ET0=1;/定时器中断打开TR0=1;/定时器开关打开/*-定时器中断子程序-*/voidTimer0_isr(void)interrupt1staticunsignedintnum;TH0=(65536-2000)/256;/重新赋值2msTL0=(65536-2000)%256;num+;if(num=600)/num=0;ReadTempFlag=1;/读标志位置1voidzhongduan4()interrupt4Uart();,/*-主函数-*/voidmain(void)inttemp;floattemperature;

14、chardisplaytemp16;/定义显示区域临时存储数组Init_Timer0();UART_Init();while(1)/主循环if(ReadTempFlag=1)ReadTempFlag=0;temp=ReadTemperature();temperature=(float)temp*0.0625;sprintf(displaytemp,Temp1%7.3f,temperature);/打印温度值sendstr(displaytemp);temp=ReadTemperature_a();temperature=(float)temp*0.0625;sprintf(displaytemp,Temp2%7.3f,temperature);/打印温度值sendstr(displaytemp);,七、PC机显示截图,实习个人体会与总结,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论