2 硬件设计
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 实物图
3 软件设计
3.1 系统主程序设计
系统的主流程图如图3.1所示。各个模块开始工作开始,实时检测甲烷气体浓度值,并进行相应的报警操作。启动的步骤为:ESP8266wifi模块初始化,MQ-4传感器接收到目前的气体浓度,按下按键设置报警上限。当超出上限值时,单片机驱动三极管来控制蜂鸣器触发警报,单片机将检测到的气体浓度值数据通过ESP8266wifi无线模块发送给手机端进行显示。
图3.1 系统流程图
3.2.5 报警程序设计
主函数执行后,通过检测来判断是否发生中断,用设定好按键的形式来设定气体浓度的报警上限,检测是否超出了报警上限,通过函数的循环来判断是否超出浓度上限,如果超过,那么蜂鸣器报警。报警流程图如3.6所示:
图3.6 报警流程图
结 论
通过以上分析本系统控制器方面采用STM32F103C8T6单片机完全符合本设计的控制需求。MQ-4烟雾传感器完成采集室内的甲烷气体浓度,并通过A/D转换芯片ADC0832将数据传递到LCD1602显示屏上,并设定上限值,只要数值超过设置的上限值就会立马报警,从而通知人及时快速到达现场清理甲烷气体,保障室内甲烷气体正常浓度值的操作。具体工作体现在整体电路的设计与制作,系统调试,程序的编写等多个步骤。其中电路设计为重点,本设计通过五个模块达到了检测室内的气体浓度、达到对应浓度报警、显示当前环境下的气体浓度三个功能。并首次通过自己的努力,在Altium Designer10上绘出PCB图。
本设计成功完成了采集数据、设定数值和显示屏显示的功能,具有精度高,便于携带,成本较低等优点。通过该系统的每个环节从各个方面展现出这个系统的设计思路以及原理。例如从硬件设计和软件设计方面等等。运用了许多技术比如单片机、传感器、信息的采集和处理等方面,对于不同室内空气环境有着很好的监控作用。通过在工厂内的实地测试,可以正常实现所有操作,所以本设计有实际应用价值,可以应用于化工厂附近的住宅区,生产车间等高污染区域。
文章底部可以获取博主的联系方式,获取源码、查看详细的视频演示,或者了解其他版本的信息。
所有项目都经过了严格的测试和完善。对于本系统,我们提供全方位的支持,包括修改时间和标题,以及完整的安装、部署、运行和调试服务,确保系统能在你的电脑上顺利运行。