基于单片机的危险气体远程检测报警系统设计-2 硬件设计

时间:2024-03-07 17:42:06

2.1 主电路
2.1.1 单片机最小系统
单片机最小系统由晶振电路、STM32F103芯片和复位电路组成。只要有这三者存在,单片机就可以正常的工作。[1]
单片机最小系统框图如图2.1所示。

在这里插入图片描述

图2.1 单片机最小系统框图
2.1.2 STM32F103单片机
STM32F103单片机是一款低功耗、高性能的微控制器,是STC公司早期生产用于工业控制的单片机。其作用是控制各种传感器和外设,自行计算处理得到的数据和信号,并进行相应的操作[2],在工业生产中起到大脑的作用。
对于本次设计选择的是STM32F103C8T6单片机。此单片机和51系列相比多了很多功能,不但运行速度比51单片机要快很多,自带2个AD转换,方便我们在设计烟雾的时候免去了需要加外部ADC进行转换,非常方便;
STM32有着很强大的通信功能和控制功能。这一点是51单片机无法比拟的。因为51单片机只有1个串口进行通信,而32单片机具有5个串口进行通信,所以对一些要求用串口进行通信的模块而且就不需要通过CD4052等双串口模块来转换,所以这一点被市场上广泛的运用,32单片机因为本身可以进行多种不同的时钟模数来进行工作,所以在功耗要求比较严格的产品中占有一席之地。
STM32特点:
(1)STM32C8T6系列的起振晶部分采用了RTC,低负载的方式,而没有像传统的比较廉价的圆柱晶振。
(2)引脚个数为48个。
(3)工作频率为72MHZ。
(4)单片机具有3个普通定时器和1个高级定时器。
(5)单片机具有2个2位/16通道的ADC模数转换。
(6)使用了3.3V稳压芯片,可以保证最大输出300MA电流。
(7)支持ST-LINK和JTAG调试下载。
(8)存储资源为64kb byte FLASH和20byte Sram。
STM32实物图如图2.2所示。
在这里插入图片描述

图2.2 STM32F103C8T6 实物图
(1)电源指示灯LED(PWR通常为红色):如果电源指示灯亮亮说明单片机正常运行,如果较暗或者闪烁,表示此单片机可能存在故障。
(2)用户LED(PC13):这个功能的使用大大的方便了我们进行一些比较简单的功能测试,如单片机的运行状态等,方便初学者进行更好的测试。
(3)单片机上采用了跳帽的方式,我们可以对stm32进行3种编程方式。如用户的SARM、闪存和系统的存储器。
(4)为单片机的复位电路。
(5)8M晶振:主要是用于设置单片机系统的频率为72MHZ。
(6)32.768KHz晶振:可供内置RTC使用,避免了需要专门的时钟芯片进行定时器处理等。
2.1.3 晶振电路
晶振电路也是我们常说的时钟电路,整个系统处理信号和其它各部分运行也是一个频率,晶振电路就是为它们提供一个稳定的振荡频率,使系统各部分保持同步。本设计主要是采用两个30μF的电容和一个12MHz的晶振组成。采用了外部时钟方式的配合方法,电容帮助晶振起振使电路可以正常工作。单片机的XTAL2和XTAL1两个接口分别于晶振上的两个引脚相连。
晶振电路原理图如图2.3所示。

在这里插入图片描述

图2.3 晶振电路原理图
2.1.4 复位电路
复位电路的用途:在上电或复位过程中,控制CPU的复位状态:这段时间内让CPU保持复位状态,而不是一上电或刚复位完毕就工作,防止CPU发出错误的指令、执行错误操作,也可以提高电磁兼容性能[3]。原理图如图2.4所示。

在这里插入图片描述

图2.4 复位电路原理图

2.2 按键控制电路
在本设计中,一共有2个按键,起到调节上限值的作用,是系统可操作性的保证。作为输入端,按键的单片机控制引脚默认为高电平,当按键按下后,单片机的相关引脚则变成低电平,进而实现对系统的手动输入。按键的一段连接单片机的双向I/O口,另一端接地。当按键开关处于张开状态时,I/O引脚和地断开,此时该I/O引脚处于高电平状态[4]。当按下按键时,I/O引脚接地,此时高电平置低电平,并返回一个低电平信号给单片机。
按键开关检测的原理是高低电平检测。 按键切换难免会因其切换时间而导致错误,因此在编写按键函数时要另外去写一个去抖函数,以提高其准确性。 系统通过按键设置计算出的气体浓度报警上限值。按键1代表增,按键2代表减。图2.5为按键控制电路原理图。
在这里插入图片描述

图2.5 按键控制电路原理图

2.3 报警电路
设计报警模块是为了通过蜂鸣器来触发警报,当烟雾传感器检测到的烟雾浓度超过设定烟雾报警上限值时,STM32F103单片机控制三极管驱动蜂鸣器进行蜂鸣,起到报警的作用。
蜂鸣器的一端连着三极管的e引脚,另一端接地,蜂鸣器电路如图2.6所示。三极管使用三极管PNP,起到放大电流和电平特性的功能,因为单个电路中的电路太小,无法提供足够多的触发信号所需的电流,三极管放大电流以后,电流被放大了200倍,足够触发信号,蜂鸣器报警。[15]同时三极管的上拉电阻起到限流的作用,防止电流过大从而击穿蜂鸣器。
在这里插入图片描述

图2.6 蜂鸣器电路原理图
2.4 LCD1602液晶显示电路
本次设计采用LCD1602液晶显示器作为输出显示器。LCD1602的作用是显示文本,本设计需要有两行文本显示,并且不需要彩色。第一行显示当前检测的气体浓度,第二行显示设定气体浓度的阈值。使用LCD1602可以满足本计的全部需求。与传统的LED数码管显示器件相比,液晶显示模块具有体积小、功耗低、显示内容丰富等优点,而且不需要外加驱动电。它需要5V的电压来进行工作,通过改变电压达到控制区域显示,通过单片机输出的数字信号在显示屏上显示出我想要的字符。显示屏具有2行输出,每行16个字符,能够同时显示16×2即32个字符。图2.7是LCD1602液晶屏的引脚图,从图中可以看出,引脚1是电源接地引脚,和单片机的GND联通。引脚2是VCC电源输入引脚,其工作电压为5V。引脚3—VO引脚可以调节显示屏的显示亮度,引脚4—RS引脚用于寄存器的选择,高电平时作为数据寄存器,低电平时作为指令寄存器,引脚5是RW读写信号,用于数据的读写。引脚6—EN引脚为使能端,高电平读取信息,低电平执行指令。引脚7~14是8位双向数据段口,引脚15和引脚16是背景灯的电源引脚。在和单片机进行通信时,和P0口进行连接,中间要有上拉电阻进行连接。[23]本次设计LCD1602液晶显示屏上展示检测到的气体浓度值,并展示气体浓度上限值的设置过程。其引脚连接图如图2.7所示。
在这里插入图片描述

图2.7 LCD1602液晶显示电路图
2.5 ESP8266模块电路
这部分无线通信使用ESP8266无线串行模块作为数据传输模块。ESP8266是一个非常强大的UART WiFi数据传输模块,耗电量非常低,价格非常低,体积非常小,允许嵌入任何具有强大的LWIP控制系统的产品,支持三个AP、STA、AP+STA模型,和简洁而有效的AT指令。ESP8266的工作电压为3.3V,而单片机的工作电压为5V,足够达到其工作电压的要求,还具有价格便宜、体积小的优点。在本次设计中用于单片机和手机之间的无线通信,通过WIFI模块,单片机将气体浓度值发送给手机端,最后显示在APP上。图2.8是ESP8266模块电路图,从图2.8中可以看出,1号引脚连接单片机的A10引脚,5号引脚连接单片机的A9引脚,而2号、4号和8号引脚接地。
在这里插入图片描述

图2.8 ESP8266模块电路
2.6 传感器模块电路
烟雾探测器用于探测场所内的烟雾浓度,也可用于报警,烟雾报警器采用的是离子式烟雾探测器。它广泛应用于各种信号系统。离子烟雾传感器是稳定可靠的,技术先进的传感器,比气敏电阻类传感器性能更佳。[8]
烟雾传感器是用来检测当前位置的烟雾浓度,以达到防灾的目的,烟雾传感器的内部采用的是离子式的烟雾感应,在各种报警系统中都得到了广泛的应用。离子烟雾传感器具有稳定可靠的优点,传感器技术先进,气敏电阻式报警器的性能远不如离子烟雾传感器好。
石油化工厂中排放出的危险气体是本系统所针对的目标,这些气体中绝大多数含有甲烷,所以选择MQ-4传感器,其对甲烷具有很高的灵敏度。以下是该传感器特性:
(1)输入电压范围: 5±0.2V DC;
(2)检测浓度:300~10000ppm(甲烷);
(3)电流消耗:150mA;
(4)使用寿命:5年;
(5)工作温度:-10~50℃;
(6)存储温度:-20~70℃。
(7)尺寸大小:32mm×20mm×22mm。
气敏式烟雾传感器的工作原理:使用空气中电导率较低的二氧化锡,当传感器所在的环境中存在被测的甲烷气体时,传感器的电导率和气体浓度成线性化比,通过数模转换模块,就可以将信号量转换成数字量,从而输出给单片机,最终在LCD1602液晶显示屏上显示出来。其电路原理图如图2.9所示。
在这里插入图片描述

图2.9 传感器的电路原理图