没有合适的资源?快使用搜索试试~ 我知道了~
首页基于stm32的温湿度采集显示系统设计
资源详情
资源评论
资源推荐
沈阳航空航天大学综合课设
1
一、概述
随着现代社会的告诉发展,越来越多的科学技术被应用在航空、工业、农业、医学等
生产生活的各个方面。利用传感器对于各种参数的检测有助于提高工作效率。本次课设是
基于 STM32 实现对于数据采集显示系统的设计,选用的是市场上主流的品牌 ALIENTEK
MINI STM32 V3.41 版本的开发板,基于温湿度采集的系统显示设计。温湿度的采集是作
为自动化科学中一个必须要掌握的检测技术,也是一项比较实用的技术。
本次设计主要是基于时效性、准确性、经济性和可扩展性等四个方向的分析比较之后,
选择 STM32F103RC6 作为主控芯片,选择 DS18B20、DHT11、两款传感器作为温湿度进行数
据采集,选用 TFT LCD 2.8 寸 电阻式显示屏进行采集数据显示。在保证测量效果的基础
上,本系统设计中充分考虑到性价比和再次开发周期性等, 具有成本低、设计开发方便、
通用性强等特点,不仅适用于现代农业生产中, 还能用于其它工业控制、机械制造等其
它领域,具有一定的市场推广价值。
二、方案论证
设计利用传感器进行采集显示传感器周围环境的温度湿度,最后进行显示。STM32 内
部自带温度传感器,但是因为内部芯片温升较大等问题,所以采用外部传感器测量温度,
从而得到较为准确的环境温度,总体设计思路原理框图如图 1 所示。
图 1 总体原理框图
方案一:
采用 DS18B20 传感器进行数据采集,TFTLCD 显示屏显示。DS18B20 是“一线总线”接
口的温度传感器。与传统的热敏电阻等测温元件相比,它是一种新型的体积小、适用电压
宽、与微处理器接口简单的数字化温度传感器。测量温度范围为-55--+125℃,精度为±
0.5℃。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。它
能直接读出被测温度,并且可根据实际要求通过简单的编程实现 9-l2 位的数字值读数方
式。工作电压范围为 3--5.5 V,用户设定的报警温度存储在 EEPROM 中,掉电后依然保存。
其内部结构如图 2 所示:
图 2 DS18B20 内部结构
传感器采集
STM32
处理
外部辅助电路
数据显示
沈阳航空航天大学综合课设
2
方案二:
采用 DHT11 传感器进行数据采集,TFTLCD 显示屏显示。DHT11 是一款湿温度一体化的
数字传感器。该传感器包括一个电阻式测湿元件和一个 NTC 测温元件。通过单片机等微
处理器简单的电路连接就能够实时的采集本地湿度和温度。DHT11 与单片机之间能采用简
单的单总线进行通信,仅仅需要一个 I/O 口。传感器内部湿度和温度数据 40Bit 的数据
一次性传给单片机,数据采用校验和方式进行校验,有效的保证数据传输的准确性,后续
硬件设计部分给出传输原理。DHT11 功耗很低,5V 电源电压下,工作平均最大电流 0.5mA。
DHT11 管脚排列如图 3 所示:
图 3 DHT11 管脚排列图
本次实验综合实际要求和具体情况,决定采用方案二,DHT11 相比较于 DS18B20,虽
然都是单总线访问,但是 DHT11 集成了湿度测量模块,可以省去一个温度传感器,而且
DHT11 可以将 40bit 数据一次性发送给单片机,省去了方案一需要再添加一个湿度传感器
模块,简化了硬件电路连接,降低了因硬件连接不稳定而造成的误差。
三、硬件设计
本次设计电路采用模块化设计,分为 DHT11 温湿度传感器采集,STM32 单片机处理,
TFTLCD 显示三部分。
1.Mini STM32 各接口功能
图 4 Mini STM32 开发板资源图
沈阳航空航天大学综合课设
3
ALIENTEK MiniSTM32 开发板是一款迷你型的 STM32F103 开发板,小巧而不小气,简
约而不简单。目前最新版本为 V3,最新 Mini STM32 开发板资源如图 4 所示。预留接口部
分比较多,能够保证正常的使用,包含 HS0038 红外接收头、DS18B20、USB 串口、2 个 LED
灯、STM32USB 口、24C02EEPROM、JTAG/SWD、CH340G、USB 转串口、复位按键、WK_UP 按
键、电源输出/输入、GPIO 引出 IO 口、SD 卡接口、OLED&LCD 共用接口。
2.晶振电路与 STM32 连接
采用的是 MINI 版的 STM32 的单片机。如图 5 所示,为晶振电路,开发板通常使用外
部晶振,相对于 STM32 单片机自带的内部 RC 时钟,稳定性更加好。晶振稳定性影响异步
通信时的准确性。外部晶振采用压电式振荡,如果芯片电源供电稳定的情况下,外部晶振
的振荡也会比较稳定,抗干扰能力更强。
图 5 外部晶振 STM32 单片机连接
3.DHT11 与 STM32 连接
采集数据选用的是 DHT11 温湿度传感器,进行数据采集。DHT11 是集温度、湿度采集
于一身,采用单总线数据格式进行传输,即单个数据引脚完成输入输出双向传输。数据包
由 5Byte(40Bit)组成。数据分小数部分和整数部分,具体格式在下面说明。
数据格式:16bit 温度数据 + 16bit 湿度数据 + 8bit 校验和校验和数据。
byte4 byte3 byte2 byte1 byte0
00101101 00000000 00011100 00000000 01001001
整数 小数 整数 小数 校验和
湿度 温度 校验和
由以上数据就可得到湿度和温度的值,计算方法:
humi (湿度)= byte4 . byte3=45.0 (%RH)
temp (温度)= byte2 . byte1=28.0 ( ℃)
jiaoyan(校验)= byte4 + byte3 + byte2 + byte1=73(=humi+temp)(校验正确)
注意:DHT11 一次通讯时间最大 3ms,主机连续采样间隔建议不小于 100ms。
电路元件的连接方法,如图 6 所示,DHT11 是集成化模块,与单片机的 PA0 端口连接,
需要在数据输入时添加一个 5K 左右的上拉电阻,主要是因为单片机一般上拉能力不够,
如果连接导线过长,可能会长生很大的寄生电容,从而变成 RC 充放电…慢到一定程度数
据就会变得容易出错。
沈阳航空航天大学综合课设
4
图 6 DHT11 与 STM32 连接电路
4.TFT LCD 与 STM32 连接
TFT-LCD 即薄膜晶体管液晶显示器。ALIENTEK 2.8 寸 TFT LCD 模块,该模块可以显示
16 位色的真彩图片。使用 MiniSTM32 开发板上的 LCD 接口,来点亮 TFTLCD,并实现 ASCII
字符和彩色的显示等功能,同时通过 STM32 的普通 IO 口来控制 TFTLCD 的显示。TFTLCD
模块采、公排针与外部连接,接口定义如图 7 所示:
图 7 ALIENTEK 2.8 寸 TFTLCD 模块接口图
由于 TFTLCD 的引脚比较多,所以电路图为了方便编辑以及后续人员的查阅,采用端
点的划线描述,如图 8 所示。图中给出了控制接口,数据接口与单片机相互连接的具体接
口。相应的接口功能下面列出:
CS:TFTLCD 片选信号。
WR:向 TFTLCD 写入数据。
RD:从 TFTLCD 读取数据。
D[15:0]:16 位双向数据线。
RST:硬复位 TFTLCD。
RS:命令/数据标志(0,读写命令;1,读写数据)。
在 16 位模式下,数据线有用的是:D17—D13 和 D11-D1, D0 和 D12 没有用到,实际上
在我们 LCD 模块里面, ILI9341 的 D0 和 D12 压根就没有引出来, D17-D13 和 D11-D1 对
应 MCU 的 D15-D0,其余控制线接相应的接口,在图 8 中标出连接相应端口名称。
注意:LCD 没用使用硬件复位,因为 Mini STM32 开发板的 LCD 接口将 TFTLCD 的 RST
沈阳航空航天大学综合课设
5
同 STM32 的 RESET 连接在一起,只要按下开发板的 RESET 键,就会对 LCD 进行硬复位。
后面软件会详细介绍。
图 8 TFTLCD 与 STM32 连接
四、软件设计
软件部分对应于前面的硬件设计部分,仍是采用模块化的设计思路,主要分为数据采
集、单片机处理、数据显示三部分。各部分之间通过子函数进行调用,使得数据传输,存
储相对来说比较方便,由于 STM32F103XX 比较繁杂,接口众多,功能相对来说已经接近于
中型芯片。指令集相对比较复杂,因此对于各部分相对应的函数初始化,有官方的丰富函
数库进行提取调用,省去大量的开发时间,模块之间采用接口连接,按照既定的规则进行
传输。
1.主函数
int main(void)
{
……………初始化
while(1)
if(t%10==0)//每 100ms 读取一次
{
DHT11_Read_Data(&temperature,&humidity); //读取温湿度值
LCD_ShowNum(60+40,150,temperature,2,16); //显示温度
LCD_ShowNum(60+40,170,humidity,2,16); //显示湿度
}
……………
}
主函数程序比较简短,总体流程包含函数的各种头文件的调用,因为 STM32 相应的开
发板自带的函数比较丰富,比较常用的函数,例如系统接口函数、演示程序,都有集成的
头文件,省去了许多时间。主函数,刚开始进行接口、延时、LCD 初始化;设置打印字体
为红色,打印一些关于时间、采集传感器、开发板型号等信息(可以根据自己的实际使用
剩余28页未读,继续阅读
guxinghaoyun
- 粉丝: 4
- 资源: 9
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论5