基于STM32的甲醛检测系统

AI助手已提取文章相关产品:

基于STM32控制器的智能家居甲醛浓度检测系统设计

1. 引言

科学技术促进了经济发展,尤其是进入21世纪以来。人们的生活不再像过去那样贫困,对生活环境的要求也逐渐提高。加之中国人口基数庞大,许多地产开发商开始建造高层建筑。这些建筑相对封闭,空气流通变得困难,而人员密度却显著增加。尽管居住在高层建筑中给人们带来了极大的成就感,但与此成就感相伴的风险也悄然降临。

甲醛是一种有害的室内气体。用于装饰家庭的地板和涂料会挥发大量甲醛。高浓度甲醛可导致长期接触者出现水肿、麻痹,甚至引发严重的致癌后果。甲醛对胎儿的危害远大于成人,容易导致胎儿患先天性疾病,严重时可引起新生儿畸形。

早在20世纪80年代,就已出现使用压电传感器的甲醛检测仪。这在当时是非常先进的技术,但其在高湿度环境下检测不稳定这一致命缺陷直接限制了它的普及。自从人们认识到甲醛的危害以来,相关研究从未停止,直到单片机的出现,以及后续的发展,推动了甲醛浓度检测技术的进步。

甲醛检测系统已经得到定性改进,并正朝着多方面发展[1]。国外领先的公司包括美国的ESC和英国的ppm。它们的测量仪器与国内产品相比也略有不同。由于中国的控制技术尚不成熟,国内测量仪器的使用寿命不如国外产品长,且结构也比国外产品更复杂。

市场上甲醛检测仪器相对昂贵,不适合普通家庭日常使用。然而,甲醛对人体危害的问题亟待解决。因此,本文设计了一种家用甲醛浓度检测系统,可准确检测甲醛浓度,且成本较低。

2. 系统设计思路和整体结构

2.1. 系统设计思路

本设计首先确定研究所需的耗材,分析功能,将软硬件设计分为两大模块,设计整体硬件结构,然后进行软件设计流程,编写程序,调整子程序,结合软硬件进行调试和测试精度。整体设计思路如图1所示。

该设计由STM32F103C8T6微控制器核心板电路、LCD1602液晶显示电路和甲醛检测传感器电路组成。

当系统通过USB线缆供电时,输入电压为5伏,超过了微控制器的工作电压,因此必须经过降压芯片将电压降至3.3伏,以向微控制器供电。甲醛传感器需要连接两个分压电阻后才能与微控制器连接,以防止电压过高。

微控制器实时接收甲醛传感器模数转换的模拟值,并将其转换为甲醛浓度值,与内部预设的2ppm阈值进行比较,控制蜂鸣器作出响应。同时,驱动LCD液晶显示屏显示甲醛浓度值。

示意图0

2.2. 该系统的整体结构

总电源连接到通过降压电路为单片机的最小系统板提供整个系统电路的供电电压。甲醛传感器采集空气中的甲醛浓度,并将其传输至单片机。信号在单片机内部进行转换并与内部信号进行比较,然后将数据在LCD1602液晶显示屏上显示。如果甲醛浓度高于阈值,蜂鸣器将报警;如果低于阈值,则蜂鸣器不报警。该系统的总体框图如图2所示。

示意图1

3. 硬件设计

3.1. STM32微控制器

STM32系列是由意法半导体推出。STM32微控制器应用广泛,该控制器性能强大,外设资源丰富且布局合理,支持强大的软件和全面的技术文档,价格低廉,因此在各类控制系统[2]中得到广泛应用。

本文所采用的控制芯片是STM32系列中的STM32F103ZET6微控制器,如图2所示。传感器连接到STM32F103ZET6的I/O端口,用于采集温度、湿度和光照强度等参数,由STM32F103ZET6进行分析处理并实现控制。STM32F103ZET6是一款常用的增强型系列微控制器,其核心为ARM 32位Cortex‐M3 CPU,内置高速存储器,可在‐40 °~+ 105 °的温度范围内工作,功耗相对较低,非常适用于本课题的研究设计[3‐5]。

3.2. LCD1602

本文使用LCD1602液晶显示屏用于显示数据。LCD液晶显示屏比数码管点阵显示器更便宜。最重要的是,它可以显示更多的数字,超过LED数码管,且显示方案简单,功耗相对较低,受外界影响小,使用寿命长。[6]。

3.3. 声光报警模块

报警电路使用蜂鸣器作为报警装置。蜂鸣器不需要像语音集成芯片那样的扬声驱动电路。报警装置是由蜂鸣器组成的报警电路。该电路结构相对简单,比语音集成芯片更易于接受,性能更可靠,且成本特别低廉[7, 8]。

3.4. MS1100甲醛传感器模块

The MS1100 formaldehyde sensor is wide常用于测量某些挥发性有机化合物气体。与之前的压电传感器相比,其抗干扰能力大大增强,能够准确检测空气中的甲醛、苯等有机挥发性成分。其应用非常广泛,可见于各种小型家电、通风设备、空气过滤器等设备中。其主要参数和模块参数如下: 电源5V;工作温度 ‐10 °C ~ 50 °C;工作湿度 5~ 90% RH 非冷凝;存储温度 ‐20 ° C ~ 80 °C;响应时间小于10秒;最低氧浓度约为18%。氧浓度也会影响其精度。

VCC连接到5伏;GND接地;AOUT为模拟电压输出;DOUT为TTL电平输出[9]。

4. 电路连接

4.1. 显示电路

LCD1602 轻便易携带,是单片机设计中最常见的显示设备,可直接通过单根引脚连接,无需外接驱动电路。其显示内容和清晰度远优于数码管显示器。LCD1602 的显示容量为 16 字符 ×2行,工作电压为5±05伏。[10]。

LCD1602 使用一个14针接口和11条指令。1602液晶模块的读写操作通过指令编程控制。其电路图如图3所示。

示意图2

4.2. 报警电路

甲醛浓度检测系统的报警电路核心元件是有源蜂鸣器,即电子蜂鸣器。其供电方式为直流电压,由晶体管驱动,工作电压为5伏特。当单片机接收到数据后,将其与人体可接受范围2ppm进行比较,然后向蜂鸣器发送指令,控制蜂鸣器响应并实现报警。图4中的R1为限流电阻,可防止蜂鸣器烧毁,起到保护作用。报警电路如图4所示。

示意图3

4.3. 甲醛检测电路

MS1100甲醛传感器在电路中的连接如图5所示。

示意图4

4.4. 整体电路结构

甲醛浓度检测模块、显示模块和液晶显示器根据图6所示的方法依次连接。同时,使用绘图软件Altium Designer绘制甲醛浓度检测系统的电路布线图。整体电路原理图如图7所示。

示意图5
示意图6

5. 程序开发环境

甲醛浓度检测系统使用Keil uVision5作为开发环境,便于对系统进行编译、连接和调试。Keil uVision5不仅提供了完整的Windows开发界面,支持C/C++语言开发,而且具有较高的C语言编辑效率,使开发者能够非常方便地使用C语言进行研发。

Keil拥有丰富的库函数,可直接调用,这在本质上减少了工作时间,降低了工作量,并支持多种操作系统;Keil可以从开发过程的首次编辑开始,进行编译、链接和调试,甚至可以实现仿真;Keil uVision5比Keil uVision4集成开发环境功能更强大,对Cortex‐M内核单片机的开发支持得到了增强,开发形式和开发接口方向也相应发生了变化[11]。

6. PL2303串行程序编程

本文使用PL2303串行编程模块进行编程。PL2303串行编程模块采用USB接口,适用于win7和win10等各种操作系统。微控制器芯片的编程有两种供电方式:一种是利用目标系统自身的内置电源,另一种是使用USB供电,在使用USB供电时需确保目标板电流小于500mA。

PL2303有五个引脚,其中RXD和TXD直接连接到微控制器的对应引脚,GND接地,+5V为5V输出,3V3为3.3V输出。如果电路板有外部5V电源,则不连接+5V。同样,如果电路板有外部3.3V电源,3V3也可以不连接。PL2303串行编程模块与微控制器之间的具体接线如图8所示。

示意图7

7. 程序流程图

系统主要使用Keil uVision5编写软件并调试程序。具体的程序设计流程图如图9所示。

示意图8

8. 数据测试

在2ppm的甲醛环境中,人体可能会感到眼睛和喉咙有轻微刺痛感,短时间内可以忍受,通常不超过八小时。1ppm时能察觉到气味,但尚可忍受,对人体的危害处于可接受范围内。

MS1100甲醛传感器适用于检测0.1至30ppm的挥发性有机化合物气体,信号输出端相应输出0.5至4.5伏特的模拟信号。表1 输出电压与挥发性有机化合物气体浓度的对应关系(典型值30°C,55%相对湿度)。

甲醛气体浓度(ppm) 0 0.1 0.3 0.5 0.7 1 2 3
输出电压(V) 0.5 1.4 1.75 2.1 2.35 2.5 3.9 4.5

该系统能够随着空气中甲醛浓度的变化而改变数值,并可实时反映空气中的甲醛浓度。由于正常学习生活中甲醛浓度低于2ppm,因此我使用打火机气体来模拟甲醛浓度。正常条件下测得的甲醛浓度如图10所示。随着打火机气体的释放,电压值增加,甲醛浓度值也随之增加。

示意图9

9. 结论

该系统设计合理,测试数据准确、真实、可靠且精度高,满足了人们生活的需求,增强了生活的安全感。

您可能感兴趣的与本文相关内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值