序
🔥 毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。
为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是:基于51单片机的塑料厂房气体检测系统的设计
1 系统硬件设计
结合第一章的系统需求分析,我们首先需要结合对基于单片机的可燃气体检测系统中的各个模块的硬件电路完成设计。
1.1 绘制电路板概述
本次对基于单片机的可燃气体检测系统设计中使用的是Altium Designer软件完成电路板的绘制,包含以下一些步骤:
(1)新建空的原理图与PCB图;
(2)依据基于单片机的可燃气体检测系统所需要实现的功能选择器件,绘制原理图;
(3)绘制元器件库,如果现有库文件没有相关器件,我们需要自己进行补充,也可以方便下次设计;
(4)PCB封装;
(5)生成PCB;
(6)进行合理的元器件布局,需要充分考虑走线是否方便、散热等问题;
(7)布线,要充分考虑系统电流大小,过孔,焊盘大小等等;
(8)送去加工,找厂家进行板子的制作
1.2 单片机电路设计
本次设计选用主控制器型号是STC89C52的单片机。它的内部ROM存储器:8K;RAM:256K;定时器:2个(ROM:是程序存放指令代码和一些固定数值,程序运行后不可改动;RAM:用于程序运行中数据的随机存取,掉电后数据消失。)单片机对各种传感器和外设进行控制,对外部输入的数据和信号进行收集计算,并进行相应的操作,是工业生产中的大脑。 我们首先需要完成对单片机外围系统的设计。
1.2.1 STC89C52单片机介绍
STC89C52有 32个I/O口可以连接更多的外设和传感器,8K字节的FLASH存储器可以进行更多的计算缓存,521字节的RAM大大提高的反应速度。STC89C52单片机的烧录也非常简单,通过TX和RX口,采用对应的编译器就可以将程序烧录进去。是一款便宜、简单和高性能的单片机。
图1.1 STC89C52单片机封装引脚
图1.1为STC89C52单片机封装引脚,完成基于单片机的塑料厂房气体检测系统设计之前首先需要对管脚进行了解。
VCC:供电电压。
GND:接地。
P0、P1、P2、P3:I/O引脚,可以在本次设计中作为输入输出端口,用以接收GPS的位置信息或者向LCD液晶输出信息等。
P3口特殊功能口,具体如表1.1所示:
RXD即可在本系统中用以接收GPS传来的位置信息,TXD即可在本系统中用向短信模块发送位置信息;
表1.1 P3口的第二功能
引 脚 位 置 | 第二功能 符 号 | 功 能 |
P3.0 | RXD | 串行输入口 |
P3.1 | TXD | 串行输出口 |
P3.2 | /INT0 | 外部中断0 |
P3.3 | /INT1 | 外部中断1 |
P3.4 | T0 | 记时器0外部输入 |
P3.5 | T1 | 记时器1外部输入 |
P3.6 | /WR | 外部数据存储器写选通 |
P3.7 | /RD | 外部数据存储器读选通 |
P3口同时为闪烁编程和编程校验接收一些控制信号;
RST:复位输入;
PSEN:外部程序存储器的选通信号;
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入;
XTAL2:来自反向振荡器的输出。
1.2.2 STC89C52单片机外围电路设计
根据第一章对基于单片机的可燃气体检测系统需求分析,结合单片机所完成的具体工作以及单片机的管脚介绍,最终总结单片机外围电路需要进行几个方面的设计。
- 单片机供电及晶振部分
为保证单片机正常运作,首先根据芯片数据手册中的管脚定义,完成对单片机的供电设计即对应管脚接电源和地。单片机外部晶振如图1.2:本次设计中,单片机使用外部的11.0592MHz晶振,本次设计18管脚是外部晶振的输入端,让19管脚其接地。
图1.2 晶振电路
(2)报警电路:
基于单片机的可燃气体检测系统工作时,若检测到的可燃气体浓度值超过我们所设定的门限值,那么意味着此时已经出现火灾或有爆发的危险。此时需要通过报警电路进行报警,而后电机开始转动,向外排放气体降低环境内的可燃气体浓度值。
图1.3 声光报警电路
报警的时候分为两个部分来提醒使用者,第一个是LED灯亮,第二个是蜂鸣器响(本次设计中使其0.5s一次)。电路图如图1.3所示,将LED和蜂鸣器正极接在VCC,负极并联到三极管的发射极,而三极管的基极连接到单片机的P1.4口。这样,在正常情况下,单片机P1.4口输出高电平,三极管没有导通,二级管不亮,蜂鸣器不响;在单片机判断可燃气体浓度值超过我们所设定的门限值,就由P1.4口输出低电平,从而二极管与蜂鸣器导通,二极管灯亮、蜂鸣器响起。二极管工作的时候电流不能太大,一般是5mA左右,在LED正常导通的时候,其两端的的电压一般是1.7V,为了保护二极管,外接了一个1KΩ电阻。
(3)读取内部存储器
依据芯片的数据手册,单片机的31管脚在接高电平时,单片机使用内部存储器。结合上一节介绍,系统中所使用的STC89C52单片机有内部ROM,因此在本次设计中,将该管脚一直接高电平。
1.3 LCD1602液晶显示电路设计
1.3.1 LCD1602液晶显示器介绍
本着实现人机交互,方便观察气体检测结果的原则,我采用了LCD1602的液晶显示器,LCD1602液晶显示器可以清晰的显示出当前塑料厂房内部某点的气体浓度值以及自己设计的气体的预警值,而且LCD1602的显示质量高。LCD1602液晶显示器作为输出显示器具有体积小、重量轻、低功耗等特点,数字式接口液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。
如表1.2所示为LCD1602数据手册给出的芯片接口定义。是我在进行电路设计以及后续编程实现数据显示过程中的重要依据。
表1.2 LCD1602芯片接口定义
编号 | 符号 | 引脚说明 |
1 | VSS | 电源地 |
2 | VDD | 电源正极 |
3 | VL | 液晶显示偏压信号 |
4 | RS | 数据/命令选择端(H/L) |
5 | R/W | 读/写选择端(H/L) |
6 | E | 使能信号 |
7 | D0 | Date I/O |
8 | D1 | Date I/O |
9 | D2 | Date I/O |
10 | D3 | Date I/O |
11 | D4 | Date I/O |
12 | D5 | Date I/O |
13 | D6 | Date I/O |
14 | D7 | Date I/O |
15 | BLA | 背光源正极 |
16 | BLK | 背光源负极 |
芯片的32到39管脚即P0口是单片机的8个I/O口,本次基于单片机的塑料厂房气体检测系统设计中,液晶需要显示的可燃气体检测系统检测到的当前气体浓度检测值、设定的告警值(及其单位)等相关数据由这个8个端口送交给LCD液晶显示,由于单片机的P0口没有上拉电阻,是高阻状态,因此外接一个10KΩ的排阻;同时依据液晶显示的数据手册,对液晶显示进行操作还需要涉及三个控制管脚,因此在单片机P2.5,P2.6和P2.7三个端口给出三个控制信号。
1.3.2 LCD1602液晶外围电路设计
液晶需要显示的可燃气体检测系统检测到的当前气体浓度检测值、设定的告警值(及其单位)等相关数据。上面一行显示当前浓度值:“NOW GAS:数值 PPM”,下面一行显示设定的报警门限:“Warning:数值 PPM”。结合对整个可燃气体检测系统检的工作设计,LCD1602液晶显示外围电路设计分为以下几个部分。
(1)液晶供电部分
结合LCD1602液晶显示的数据手册,为了在基于单片机的可燃气体检测系统中使的液晶正常工作,需要完成供电设计。
(2)与单片机之间的通信
依据数据手册,7到14号管脚是其数据口,在基于单片机的可燃气体检测系统中,液晶需要通过这个8个数据口从单片机接收信息再进行显示。
(3)液晶显示的控制
为了保证与单片机的通讯,还有三个控制管脚。依据数据手册,
液晶的6管脚为使能端口,在数据传输的时候,高电平有效,连接单片机的P2.5口;5管脚为读写选择端,将其连接到单片机的P2.6口,接受单片机给出的控制信号;4管脚为数据/命令选择端,连接单片机的P2.7口。
(3) 液晶显示的对比度调节:
依据数据手册,LCD1602液晶的3管脚是调节显示对比度的端口,考虑到工人群体对显示屏亮度比较敏感或者有不同喜好,在电路设计中,系统的使用者可对显示对比度的调节。
最终,图1.4即为基于单片机的可燃气体检测系统中LCD液晶显示电路。
图1.4 LCD1602液晶显示电路图
1.4 传感器与AD转换电路设计
MQ-2型传感器对天然气、液化石油气等烟雾有很高的灵敏度,尤其对烷类烟雾更为敏感具有良好的抗干扰性,可准确排除有刺激性非可燃性烟雾的干扰信息。
MQ-2型传感器具有良好的重复性和长期的稳定性。初始稳定,响应时间短,长时间工作性能好。需要注意的是:在使用之前必须加热一段时间,否则其输出的电阻和电压不准确。其检测可燃气体与烟雾的范围是100~10000ppm。
MQ-2的4脚输出随烟雾浓度变化的直流信号,被加到比较器U1A的2脚,Rp构成比较器的门槛电压。当烟雾浓度较高输出电压高于门槛电压时,比较器输出低电平(0v),此时LED亮报警;当浓度降低传感器的输出电压低于门槛电压时,比较器翻转输出高电平(Vcc),LED熄灭。调节Rp,可以调节比较器的门槛电压,从而调节报警输出的灵敏度。R1串入传感器的加热回路,可以保护加热丝免受冷上电时的冲击。图1.5为传感器与AD转换电路图
图1.5 传感器与AD转换电路图
1.5 电机电路设计
可燃气体检测系统中,当单片机判断此时检测到的可燃气体浓度大于了所设定的门限值,表明此时有风险,需要打开风扇电机,排放气体,需要设计一个由单片机控制的电机电路
电机电路如图1.6所示,单片机与电机之间通过一个三极管连接,单片机的P3.6口连接到三极管的基极,电机的正极接电源负极接在发射级,集电极接地。这样,在正常情况即没有任何风险的情况下,由单片机P3.6口始终输出一个高电平,三极管不能导通,电机无法转动;在系统判断有风险的时候,由单片机的P3.6口输出低电平,此时三极管导通,电机开始转动。所以电机电路在本设计中的作用是作为用电的动力源驱动风扇进行运转。
图 1.6电机电路设计
1.6 按键系统
首先需要设计一个开关K1,用来控制整个可燃气体检测系统,对整个系统进行复位。由于单片机的复位端口RST高电平有效,我们将开关K1一端接高电平一端连接到单片机的复位端口RST,这样在开关按下的时候复位端口将会感知电平发生变化。复位电路如图1.7所示。
图1.7复位电路
实际工程应用中,不同的环境对气体浓度的指标也会不同,为了保证可燃气体检测系统能够灵活适应各种场景,其内部的告警值也应当能够通过外部认为输入调整,避免误报等情况的出现。
图1.8 按键控制电路
为了实现外部对气体检测系统运作的控制,我们选择按钮开关来进行控制,为了简化后续程序设计复杂度,每个开关负责一个功能。
按键控制电路如图2.8所示,我们设计了2个开关K2与K3,考虑到同时单片机的I/O口既可以做输出也可以作输入,为了对开关按键进行响应,将K2和K3分别通过一个排阻连接到单片机的P3.4和P3.5口,另一端供地,此时I/O口作为输入,这样在开关按下的时候,对应的单片机端口就为低电平,程序再对端口的电平进行判断及后续执行相应的处理操作,即可完成对开关的判别与响应。气体检测系统中各个开关按键的功能分配如下
K2:告警值加,按下以后设定的告警值加1,若持续按键,则持续增加;
K3:告警值减,按下以后设定的告警值减1,若持续按键,则持续减小;(具体实现在程序设计中作详细介绍)。
1.7 调试电路
在完成可燃气体检测系统的电路设计以及完成后续程序设计之后,需要将程序完成烧录,进行功能的调试,因此需要设计一个调试口,调试口的收发分别接到单片机的P3.0(RXD)和P3.1(TXD),还有一端接地。调试口电路如图1.9所示
图1.9调试电路
最终,图1.10即为基于单片机的可燃气体检测系统中STC89C52单片机外部电路。
图1.10 STC89C52单片机外部电路设计
2 系统验证
2.1 焊接与调试
在完成基于单片机的可燃气体检测系统的电路设计以后,生成PCB,而后进行封装,布线等一系列流程以后,将样板送交给厂家进行绘制。并完成系统中所需要元器件的采购。
当电路板原理图绘制完成后,确认各个模块功能没有错误,根据文章附件中的相关器件,进行采购和测试。在确定原理图没有出现错误的情况下我们开始进行焊接,使用市场上比较常用的万能板进行焊接。
最终得到的实物图如图2.1所示。
图2.1 系统实物图
图2.2程序架构
图2.3 LCD1602子程序流程图
图2.4地址映射图
如果你有任何问题、需要建议或解决疑难,别客气噢,随时找我求助或寻求支持。我专注于单片机相关的知识,可以提供电子设计、嵌入式系统、编程和硬件方面的宝贵帮助。不管你的问题属于哪个领域,都可以向我咨询啦,获取有针对性的建议和指导。祝愿你在单片机设计领域取得巨大成功!