基于STM32的远程实时温度监控系统设计

上传人:good****022 文档编号:116508911 上传时间:2022-07-05 格式:DOC 页数:17 大小:508KB
返回 下载 相关 举报
基于STM32的远程实时温度监控系统设计_第1页
第1页 / 共17页
基于STM32的远程实时温度监控系统设计_第2页
第2页 / 共17页
基于STM32的远程实时温度监控系统设计_第3页
第3页 / 共17页
点击查看更多>>
资源描述
河南大学物理与电子学院单片机课程设计论文河南大学物理与电子学院2015级单片机课程设计论文题目:基于STM32的远程实时温度监控系统设计论文作者姓名:作 者 学 号:合作者姓名:所 在 学 院:所 学 专 业:任 课 老 师:论文完成时间:目录一、 前言2二、 系统组成与功能32.1 系统组成32.2 STM32最小系统板42.3DS18B20模块42.4 ESP8266模块52.5 手机APP62.5系统功能7三、系统原理73.1电路仿真图73.2扩展仿真图73.3 实物照片7四、系统程序94.1 程序流程94.2 主要程序源代码10五、 器材清单列表14六、结论15七、扩展部分设计心得15参考文献16基于STM32的远程实时温度监控系统设计1、 前言这两年内,无线AP的数量呈迅猛的增长,无线网络的方便与高效使其能够得到迅速的普及。除了在目前的一些公共地方有AP之外,国外已经有先例以无线标准来建设城域网,因此,WiFi的无线地位将会日益牢固。WiFi是目前无线接入的主流标准,但是,WiFi会走多远呢?在Intel的强力支持下,WiFi已经有了接班人。它就是全面兼容现有WiFi的WiMAX,对比于WiFi的802.11X标准,WiMAX就是802.16x。与前者相比,WiMAX具有更远的传输距离、更宽的频段选择以及更高的接入速度等等,预计会在未来几年间成为无线网络的一个主流标准,Intel计划将来采用该标准来建设无线广域网络。这相比于现时的无线局域网或城域网,是质的变革,而且现有设备仍能得到支持,保护人们的每一分钱投资。总而言之,家庭和小型办公网络用户对移动连接的需求是无线局域网市场增长的动力,虽然到目前为止,美国、日本等发达国家仍然是目前WiFi用户最多的地区,但随着电子商务和移动办公的进一步普及,廉价的WiFi,必将成为那些随时需要进行网络连接用户的必然之选。在本学期的单片机在课程设计中,我们两个人一组共同讨论并设计了基于STM32的远程实时温度监控系统。而且设计出了实际的成品,经过调试后能实现预期的功能,同时我们两个人在能实现其基本功能的基础上进行了一定程度的功能扩展。2、 系统组成与功能2.1 系统组成本系统主要有STM32最小系统板、DS18B20、ESP8266、手机App等部分组成2.1.1系统实现图:2.1.2硬件结构图:2.2 STM32最小系统板STM32最小系统版主要参数:内核:Cortex-M3 32-bit RISC;工作频率:72MHz,1.25 DMIPS/MHz;工作电压:2-3.6V;封装:LQFP64;I/O 口数量:51个;存储资源:256K Flash,48K RAM;接口资源:2 x SPI,5 x USART,2 x I2S,2 x I2C; 1 x SDIO,1 x USB,1 x CAN;模数转换:3xADC(12位),2xDA(12位,1us,分时16通道);调试下载:支持 JTAG/SWD 接口的调试下载,支持 IAP2.3 DS18B20模块 DS18820美国DSLIAS公司推出的单总线数字温度传感器,具有微型化、低功耗、高性能、抗干扰能力强、易匹配处理器等优点。处理器与DS18820通信只需要一根数据线即可,同时该数据线还可以向挂接的DS18820供电。DS18820内部自带AD转换器,通过内部的温度采集、AD转换等一系列过程,将温度值以规定的格式转换为数据并输出,用户可以通过一些简单的算法,将数据还原为温度值。其分辨率可以达到12位,满足一般情况下对温度采集的需要。与模拟温度传感器相比,DS18B20省去了信号调理、A/D转换等通道处理电路,从而使得系统线路简单,成本低廉。主要性能指标如下:1.电压范围:+3.O+5.5V(可用数据线供电)。2.测温范围:-55+125。3.通过编程可实现912位的数字读数方式,测温分辨率可达0.0625。具体的模块引脚图如图12所示。图12 DS18b20引脚图 2.4 ESP8266模块ESP8266是上海乐鑫信息科技设计的低功耗WiFi芯片,集成完整的TCP/IP协议栈和MCU。而ESP8266模块是深圳安信可公司基于ESP8266芯片研发(增加必要外围电路、串口flash、板载天线等)的串口WiFi模块,成本低、使用简便、功能强大。2.4.1串口无线配置方法本系统用到的模式为串口无线WIFI AP模式TCP服务器。配置方法如图:WIFI AP模式TCP配置图2.4.2芯片引脚及功能ESP8266引脚功能图图13 ESP8266引脚图。2.5 手机APP在此系统中手机APP作为上位机,接收下位机测得的温度,并显示在界面。手机APP是人机交互的重点,实现了在同一局域网下的温度监测。在连接上下位机的WIFI前提下,输入IP地址和端口号,点击连接按钮可实现互连,下位机数据将不断上传至上位机,刷新编辑框的温度数值,实现监测。2.5系统功能本设计的主要功能是通过DS18B20温度采集模块采集温度,并将温度发送给单片机,实现实时监控。 扩展后的系统增加了远程监控,即通过WIFI模块(ESP8266)将温度数据发送到上位机(App),可实现在同一局域网内的远程温度监控系统。三、系统原理本系统设计的主要原理是通过WIFI把DS18B20采集到的温度数据发送给上位机。其中STM32单片机是整个系统的核心,负责数据的汇入与发送。当检测到有温度数据输入时,通过单片机把程序转换后的相应数据传送到对应的wifi模块,WIFI将数据发送到手机App,实现远程通信与温度的实时监控。3.1电路仿真图3.2扩展仿真图3.3 实物照片 3.3.1 硬件实物:具体的实物照片如图3-3-1图3-3-13.3.2 App界面App界面如图3-3-2所示 图3-3-2四、系统程序41 程序流程图24 程序流程图 4.2 主要程序源代码4.2.1下位机部分程序DS18B20获取温度:/从ds18b20得到温度值/精度:0.1C/返回值:温度值 (-5501250) short DS18B20_Get_Temp(void) u8 temp; u8 TL,TH; /定义u8类型的字节高、低八位short tem; DS18B20_Start (); / ds1820 开始转换 DS18B20_Rst();/复位DS18B20 DS18B20_Check(); /等待DS18B20的回应 返回1: DS18B2不存在 返回0:存在 DS18B20_Write_Byte(0 xcc);/ skip rom 写一个字节到DS18B20 DS18B20_Write_Byte(0 xbe);/ convert TL=DS18B20_Read_Byte(); / 从DS18B20读取一个字节 LSB TH=DS18B20_Read_Byte(); / 从DS18B20读取一个字节MSB if(TH7) TH=TH; TL=TL; temp=0;/温度为负 else temp=1;/温度为正 tem=TH; /获得高八位 tem 0) RrceiveEditText.setText(new String(buffer, 0, len);/接收的buffer显示在EditText ); catch (IOException e) /捕获 / TODO Auto-generated catch block e.printStackTrace();5、 器材清单列表STM32最小系统板 1个ESP8266 WIFI芯片 1块DS18B20 温度传感器 1个电阻 4.7k 1个104电容 1个排插 5个USB-TTL1块9*15万用板1个焊锡若干导线若干六、结论通过本学期单片机课程设计的学习与动手制作,本设计基本上实现了预定功能,但在此基础上还可以根据不同的需求做相应的扩展,也可以使用不同的芯片,还可以设计实现温度在数码管上显示,语音播报温度等。由于个人的知识有限,设计本身可能有不足之处,温度显示不稳定,程序设计不是太简洁等,还有待进一步改进。七、扩展部分设计心得在温度+上位机实验基本功能实现的基础上,本制作组主要扩展了wifi,手机在app显示功能。扩展部分主要使用ESP8266WIFI芯片,电路主要由刘利娜同学制作,不再赘述。由于本人编程能力有限,相关程序编写方面,破费周折,也因此获得了更多的宝贵经验和教训,现总结如下:1、 关于数据传输模块,一开始想用无线透传24L01模块去做,并且电路也设计完成,但是考虑到无法与手机进行串口通信,便放弃方案,在此期间浪费了一些时间,在硬件设计方面走了弯路。需注意,RF24L01是无线串口模块,必须是有串口才可用,不符合手机硬件接口。故后来选择了ESP8266 WIFI 模块。2、 这个wifi接收温度的App主要是网络编程,考虑较多的是TCP协议与网络接口问题,为了简便,在程序内部只进行socket连接,即只进行交付并连接IP地址和端口号的工作,之后便启动接收线程进行数据的接收和处理。填写密码和登录WIFI在手机设置里进行。3、 软件编程的障碍一般是硬件的条件造成的,ESP8266在发送数据时,每次发送都需要重新告诉WIFI我将要进行多少字节数据的传输,在编写发送指令时有较大难度,后来利用printf函数,进行改进,去解决指令和数据发送问题。总之,经历了这次程序设计,我增加了对STM32的熟悉程度,并且网络编程部分也有了新的认识,提高了自己编程能力。此外,在硬件设计方面有更深刻理解,一个好的设计便是硬件与软件之间的权衡,优越的硬件条件将会使软件开发简单,同理,当硬件做的工作不够时,软件的处理也可适当弥补。参考文献【1】赵巍、冯娜.单片机基础及应用M.北京:清华大学出版社。2009:94-103【2】高慧芳.单片机原理及系统设计.M杭州:杭州电子科技大学.2008:124-127【3】李宁.基于MDK的STM32处理器开发应用.M北京航空航天大学出版社,2008【4】刘黎明等.单片机与嵌入式系统应用。【5】郭霖.第一行代码-Android.M人民邮电大学出版社,2016【6】国家863中部软件孵化器.Java从入门到精通.M人民邮电大学出版社,201017
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 机械制造 > 电气技术


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!