序
🔥 毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。
为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是:基于51单片机的无线温度采集报警系统的设计
1 系统硬件电路设计
系统包括主机和从机,主机拥有无线发送模块,无线接收模块,显示模块和报警模块;从机拥有温度采集模块,无线发送模块,无线接收模块和显示模块,具体系统框图如1-1,1-2所示;
图1-1 系统主机框图
图 1-2 系统从机框图
由上面的框图能知道,DS18B20在从机采集温度数据时发挥着主要角色。显示在OLED上后,通过nRF24L01无线传输模块传输数据。主机接收到从机发送的数据后,在OLED上显示数据,这样可以判断报警模块在不在运行。
接下来,详细介绍了系统的各个模块。
1.1 主控芯片最小系统引脚
我们以STM32F103系列单片机作为控制核心,它的优胜在于它的性价比高、功耗低、处理速度快、功能强大,主频达72MHz的同时,也能够在8个定时器、计数器中选择。nRF24L01模块是本系统的主要配置,选择发送的数据的时候,对已经收到的数据进行校验和解码,并将发送或接收的数据和其他有效信息控制显示在OLED显示屏。最小系统板引脚设计如下图所示:
图 1-3 单片机引脚图
1.2 无线收发模块
SPI是串行外设接口(Serial Peripheral interface)的缩写。它应用在EEPROM,FLASH,实时时钟,A/D转换器,还有数字信号处理器和数字信号解码器之间。SPI有高速,全双工,同步的性能,与它连接的芯片管脚不用大量,因为它只占用四根线,在PCB的布局上,占空也不太多,比较便利。就是这简易而且方便使用的特性,如今通信协议一日比一日多的集成在芯片上,SPI接口也有许多在STM32上。
构成该模块的nRF24L01是由Nordic公司生产,SPI通信被它采用,点对点或是1对6的无线通信它都可以实现,2Mbps是它无线通信时能达到的高峰。工作时需要的能量少,传输迅捷,不易被干扰,系统花费不多,近距离通信很好。这些是蓝牙通信不能达到的。
2.4GHZ是nRF24L01无线模块工作频段,该模块的工作方式主要有4种,由此进行节能设计在一定程度下更便利。而工作方式的选择一般靠对几个寄存器的改变来实现。在实际应用中,需要对模块内部参数进行配置后,才能正常工作,使其无线收发。
nRF24L01的具体硬件连接图如图1-4所示。实物模块如下图3-5所示。对于nRF24L01模块,其中2个引脚是电源输入;3个引脚是为了模块与单片机之间进行SPI通信,而另外三个引脚则是对模块进行相关配置需要的输入口。在软件设计时,需要对这些引脚进行初始化,使单片机使能引脚,再对相关函数进行初始化。
图 1-4 nRF24L01引脚图 图 1-5 nRF24L01实物图
1.3 显示模块
有机发光二极管(Organic Light-Emitting Diode,OLED),又称为有机电激光显示(Organic Electroluminesence Display)。黑暗下也可以能亮,不需从背后照亮、高反差、不太厚、视野广阔、迅速响应、可用于挠曲性面板、多种温度选择、构造和工艺容易等是OLED的极好的特性。
OLED是不需从背后照亮的,而LCD是要的,因为OLED是在黑暗也可以亮的。如果要显示的数据相统一,OLED效果会更好一些。
OLED有着不同种类的尺寸大小,同时具有多种外接引脚方式,这样一来,就存在多种数据传输方式,例如8080总线与4线SPI接口方式。另外,OLED并不需要高压,直接接3.3V就可以工作了。
OLED具体硬件连接如下图所示:
图 1-6 OLED模块硬件连接图
1.4 温度采集模块
数字测温芯片DS18B20是由美国DALLAS公司推出。它是一种“一线总线”接口的温度传感器,它抗干扰能力比较强。与传统的热敏电阻等测温元件相比,它体积小巧、简洁经济,可以使用外接连接线使其在不同环境位置下工作,大大提高实用性。同时它还可以使用相当宽的电压范围,只用一根总线进行数据传输也使其与单片机之间的接口简单,硬件设计方便。另外它测温范围广,从零下55摄氏度到125摄氏度均可,精度可达到0.5℃,在组建数字温度传感器网络方面具有十分重要的地位。与单片机连接组成系统时,它能直接读出被测温度,并且直接将数据传输给单片机处理。具体传感器引脚如下图所示:
图 1-7 DS18B20引脚图
DS18B20具有多种封装方式,在本系统电路设计中,使用的是上图的左侧封装,因此只需要连接三个引脚即可。其中,GND引脚连接电源地,VDD引脚连接外接供电电源输入端,DQ引脚则是温度数据输出口,连接到单片机I/O口,传输检测到的原始温度数据。
通过该模块测量目标地点的温度后,将数据送到从机中,然后从机将数据处理后在OLED上显示,并将数据发送到接收端。具体硬件连接如下图所示:
图 1-8 DS18B20硬件连接图
1.5 报警模块
为了保证该系统具有一定的警示功能,本设计采用了电式蜂鸣器作为声音报警部分,体积小,方便安装。当检测到温度不在预定范围内时,蜂鸣器就会正常工作,发出声音。
蜂鸣器作为发声元件,主要的类型可以分为有源蜂鸣器和无源蜂鸣器。无源蜂鸣器需要在两端施加直流电压就可以发出声音,而有源蜂鸣器则需要在两端施加具有一定周期的电压,例如正弦波或方波才可发出声音。根据不同的用户需求,需要选择不同的蜂鸣器种类,具体根据设计决定。本设计采用的是有源蜂鸣器,只需要通过一个三极管来驱动即可使蜂鸣器正产工作。具体报警电路图如下图所示:
图 1-9 报警电路图
1.6 电源模块
电源电路提供系统所需电压如3.3V和5V。通过外接电源,接入大于5V的电压,这5V电源主要给显示屏供电,然后通过LM7805芯片将电压稳到5V,之后再使用LM1117芯片将电压稳到3.3V从而达到本设计的要求电源。其中的POWER为3.7V,因为此电路不需要太高电压,与充电宝类似就行,而它的标准电压为3.7V。对于本系统来说,STM32只需要3.3v的电压就够了。具体硬件连接如下图所示:
图 1-10 电源模块硬件连接图
由上得到的总体的原理电路图如1-11
图 1-11 原理图
2 软件调试与结果
1.本文论文选的是Proteus来进行仿真,因为它的性能好,操作也方便。它的原始页面如下。
图 2-1 Proteus原始页面
2.在Protues中找到相应的元器件,再用线连接起来。由于Protues中没OLED,所以用LED代替,而且无线模块难以仿真,就没加这一方面的仿真,此时的页面如下。
图 2-2 连接图
3.系统运行时,显示屏会显示数据,有的数据会随按键的闭合发生改变,蜂鸣器在温度不在数据区间中的情况下报警,具体的图如下。
图 2-3 仿真图
(1)系统运行正常时,显示屏上会显示我的学号,温度值,还有它的温度范围。具体如下图。
图 2-4 结构图
(2)系统运行时,温度超过或低于我所设定的预定上下限的值,蜂鸣器会产生尖锐的鸣叫。
图 2-5 结构图
如果学弟学妹们在毕设方面有任何问题,随时可以私信我咨询哦,有问必答!学长专注于单片机相关的知识,可以解决单片机设计、嵌入式系统、编程和硬件等方面的难题。
愿毕业生有力,陪迷茫着前行!