汪老师分享 - 基于51单片机的仓储温度多点一体化智能检测系统设计


🔥 毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。
为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是:基于51单片机的仓储温度多点一体化智能检测系统设计

3.硬件设计

本次硬件设计中选用AT89C51单片机,当单片机引脚XTAL1、XTAL2接石英晶体振荡器构成单片机的晶振模块,供机作定时和计时使用;测温模块测量各个测温点的实时温度并保存传输给单片机,通过单总线协议进行传输,传输后待单片机处理;LCD1602显示模块可以显示各个测温点是实时温度以及设定的报警温度上下限值,在进入报警温度设置状态后,通过K2、K3设定报警温度,当实际温度超过报警温度时蜂鸣器工作;直流电机电路可以在测温点温度过高时控制风扇转动,从而达到降温的目的,当被测点温度过低时,继电器电路作用,使加热设备工作,从而使测温点温度升高。

3.1STC89C51单片机介绍

51片机基本都是40引脚,其中2个电源引脚VCC(40脚)和VSS(20脚)。2个引脚晶振XTAL1、XTAL2,这2个引以构成一个反向放大器作为晶振模块,4个控制引脚,以及4个端口(P0~P3)。单片机引脚图如图2所示:

图2 STC89C51单片机引脚图

3.2温度传感器电路

在本次设计中在温度检测上需要选择合适要求的元件,为了保证设计测量的精度是要求的1℃,并且兼顾使用便与设计时的合理性,选用的是温度传感器DS18B20,工作时可以把温度信号直接转换成数字信号,在使用时可以简化设计步骤,十分方便,但在程序上需要注意读写的时序性,否则无法成功读写。

DS18B20芯片内部将所有的传感元件与电路集成,因此只有3个引脚如图3所示:

DS18B20传感器与单片机连接较为简单,在实际系统设计上较为便捷,且成本较低。DS18B20传感器的引脚GND地,引脚VCC接电源端,引脚DQ用于接单片机I/O端口P3.7,由于DS18B20引脚的独特性,因此可以在一根总线上接多个传感器的DQ引脚,以此来实现多点测温的目的。如下图4所示

图4 多点测温图

3.3液晶显示电路

LCD1602液晶显示屏能够显示较多的字符,能够显示的信息更多,因此在单片机应用较广,本次设计同样采用的1602芯片。

液晶显示电路LCD1602的VSS接地,VDD接电源,VEEVDD之间接可调电阻用来调节LCD1602对比度。单片机的P0.0脚与液晶屏D0脚相连,P0.1脚与D1脚连接,以此类推,LCD1602的ERWRS脚分别与单片机的P2.5、P2.6、P2.7管脚连接。详细连接图如图5所示

图5 仿真电路连线图

3.4直流电机电路

在单片机的应用和发展历史中,单片机控制电机的应用十分的广泛常见,单片机只能用于控制不能驱动,否则的话可能就导致芯片烧毁,因此需要单片机控制外部驱动电路才能完成对电机的驱动。当测温点温度超过报警温度时,会将温度信息由温度传感电路传送到单片机,再由单片机控制直流电机电路带动风扇转动,从而达到降温的目的,当测温点温度低于报警温度后,直流电机电路断开,风扇停止工作。

本次设计中使用的驱动电机的芯片时ULN2003,该芯片能够产生足够驱动直流电机的电流,是一种具有高电流,

电压性能的芯片。

在硬件连接上,ULN2003芯片的引脚1与单片机的P1.6引脚相连设计中直流电机引脚连接比较方便,可以分别接到电源VCC端和控制芯片ULN2003的16引脚上。如下图6所示:

图6 直流电机控制图

3.5继电器电路设计

继电器是一种由电流大小控制开关开合的电路元件,当电流大小超过一定范围时工作状态不同。本次设计中继电器的开合可以控制加热设备是否工作,从而控制对温度点的升温操作。单片机的I/O口所输出电流范围小于继电器的开关电流,单片机输出电流不足以引起继电器动作,因此单片机不能直接控制继电器的开合,为了解决这个问题,本次设计采用通过构建电流放大电路放大单片机I/O口电流,在三极管的作用下,通过三极管的截止和导通两种状态控制电器开关的状态。

当单片机P1.7引脚输出1时,高电平状态下三极管Q2截止,继电器的开关向右闭合,此时加热设备不得电,不工作;当单片机P1.7引脚输出0时,低电平状态下三极管导通,继电器开关向左闭合,加热设备通过电流,执行升温操作。继电器升温模块电路图如下图9所示

图9 继电器驱动电路图

3.6按键模块设计

由于本次设计中按键设计要求的功能不是太多,因此设计3个按键,采用独立按键式。独立按键之间各个按键不会受其他按键的影响,不会因为其中一个按键故障而导致其他按键无法工作。

3.7报警模块设计

本次设计中报警模块主要由蜂鸣器,LED灯D1,三极管Q1以及电阻R2、R3组成,由于单片机驱动电流达不到蜂鸣器工作的正常电流,因此需要电流放大电路以来放大单片机I/O口输出电流使其达到蜂鸣器工作电流范围,详细硬件接图如图10所示:

图10 报警系统电路图

3.8系统硬件连接原理图

本系统设计的各模块基于单片机STC89C51一同构成一个仓储温度多点一体化智能检测系统,各模块的引脚与单片机的连接在上述模块中已经介绍,在此不作赘述,硬件连接图原理图如图11所示:

图11 系统硬件连接原理图

4.系统软件设计

系统的软件设计主要对主程序模块、温度读取模块、液晶显示模块、报警模块、按键模块。

4.1主程序模块

根据硬件电路和需要实现的功能,系统的主程序模块设计如下

(1)系统初始化,包括液晶显示器初始化、DS18B20初始化;

(2)对测温点温度显示以及报警温度上下限显示

(3)设定报警温度上下限值;

(4)对温度数据采集后进行比较报警;

(5)比较当前温度是否高于报警温度若高于则报警模块与电机模块动作,否则报警模块工作,继电器电路闭合,加热设备工作。按照上述流程,即能够实现智能温度检测控制系统。系统功能流程图如下图12所示:

图12 系统流程图

4.2温度读取模块

本系统使用DS18B20温度传感器,它能够实时检测设定温度点的当前温度,根据设定的报警温度上下限值,比较当前测定温度是否在报警温度上下限值的范围之内,从而实现各个温度点的温度实时检测。DS18B20进行温度读取的骤如下:

(1)对DS18B20模块进行初始化;

(2)对DS18B20模块进行复位

(3)总线上设定3个DS18B20温度传感器,并且对其进行编号;

(4)发送读取温度命令

(5)读取温度寄存器中的值,并进行校验;

(6)将读取的数据转换为实际温度。

4.3液晶显示模块

本系统使用LCD1602液晶模块,在本次设计中液晶显示模块的主要操作步骤如下:

(1)初始化LCD1602模块

(2)确定要显示字符的地址;

(3)写入符,显示各个测温点的实时温度、温度上下限值等信息;

(4)读出字型的字形点阵

4.4按键模块

根据系统设计目标,采用3个独立按键K1、K2、K3,它们的功能分别是进入设定报警温度上下限页面、设定报警温度加1、设定报警温度减1的作用,在仿真开始后可以设定报警温度的上下限值。3个独立按键之间不会相互影响其他按键工作状态

4.5报警模块

本系统报警模块能够实现温度控制功能,以测温点t1为例,主要操作步骤如下:

(1)比较测温点1的实时温度与设定报警温度的上下限值,测温点1温度是否大于报警温度上限值;

(2)如果是,执行报警操作,同时直流电机带动风扇工作,执行降温操作,报警LEDt1-H亮;

(3)如果否,判断测温点温度是否小于已设定报警的温度下限值

(4)如果是,执报警操作,通过继电器的开合控制加热设备工作状态,执行升温操作,报警LEDt1-L亮;

(5)如果否,说明当前测温点1温度在已设定的报警温度上下限之内,关闭散热、加热及报警。

4.6基于PROTEUS仿真

PROTEUS软件是一款用于单片机仿真且应用范围较广的软件,能够对设计出的电路进行仿真操作模拟电路实物,但需要配合KEIL软件对程序进行编写才能对仿真的电路设计进行功能设计操作。在使用PROTEUS仿真软件时应当按照以下步骤来进行操作:

(1)挑选出本次设计所选用的电路元件;

(2)对件进行线路连接,汇编的部分单片机程序可以在软件中完成;

(3)将程序通过KEIL软件编译后与PROTEUS联调连接;

(4)PROTEUS工程中看设计是否有反应,是否能达到设计的功能要求。

仿真过程中通过按键K1可以进入报警温度设置状态,通过K2、K3在设定报警温度值的大小,在仿真时设定温度上限为40℃,在模拟时可以通过调节温度传感器DS18B20的两个按钮以此来模拟测温点的温度情况。

以测温点t1为例,t2,t3也相同。首先对系统进行初始化操作,然后通过K1按键对报警温度进行设置,K2、K3调节报警温度上下限值,通过DS18B20下方第一个按钮使温度升高到41℃时,此时温度超过报警温度上限,LCD1602上会显示t1,t2,t3点温度,同时LED灯t1-H会亮,表示t1点温度超过报警温度上限,报警系统做出反应发出警报声,单片机控制ULN2003芯片带动直流电机转动,小风扇动作,以此做到对t1点的降温处理。如图13所示:

图13 t1温度过高时仿真图

当测温点t1处温度低于设定的报警温度下限值时20℃时,LCD1602同样显示t1,t2,t3点温度,同时LED灯t1-L

会亮,表示t1点温度低于下限值,报警系统做出反应发出警报声,单片机控制继电器电路的开合以此来控制加热装的工作,以此达到对t1点的加热处理。如图14所示:

图14 t1温度过低时仿真图

如果学弟学妹们在毕设方面有任何问题,随时可以私信我咨询哦,有问必答!学长专注于单片机相关的知识,可以解决单片机设计、嵌入式系统、编程和硬件等方面的难题。
愿毕业生有力,陪迷茫着前行!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值