基于单片机的汽车检测换气系统的设计
2021-09-15何燕阳
何燕阳
(泉州轻工职业学院,福建 泉州 262201)
汽车不再是每个家庭的奢侈品,人们在享受汽车便捷的同时也带来一定的困扰。汽车内部由于空调老化、不经常通风、车体装修等原因都会造成车内空气质量变差,长时间接触有致癌风险。如果车子停驶时,仍开放空调,发动机排出的一氧化碳便有可能逐渐聚集在车内,加之车内人员呼吸耗氧而排出二氧化碳,会导致车内缺氧。当汽车内长时间处于关窗状态,车内氧气浓度会下降,当车内氧气浓度会下降到一定值后,车内人员会出现头晕、头痛等不适感,这将降低驾驶员的反应能力,加大汽车事故的发生[1]。目前,只有在汽车没有熄火的情况下,通风系统才能工作,为司机和乘客创造一个舒适的车内空间;在汽车内,没有对有毒气体进行检测报警;汽车熄火后,汽车也没有主动换气系统。因此研究气体传感器和温度传感器在汽车换气系统中的应用显得很有意义,具有较大的实用价值和社会价值。
1 硬件设计
该系统的硬件设计包含了STM单片机最小系统、电源模块电路、甲醛等气体检测转换电路、温度传感器电路、蜂鸣器报警电路、进气和排气两个风机的换气电路、指示灯以及液晶显示电路,硬件结构总框图如图1所示。
图1 系统硬件结构框图
1.1 STM32单片机
本系统选用STM32系列的单片机STM32F103R6该型号的内核是32位的ARM Cortex-M3,运行速度比传统的51单片机快很多且功耗低、功能强。芯片上集成了256KB Flash,48KB SRAM,3个12位ADC模数转换大通道,2个12位DAC,2个IIC,3个SPI,11个定时器,5个串口及51个通用IO口。
1.2 气敏传感器
气敏传感器用于鉴别气体成分以及浓度,并将浓度转换为电阻值或者电压值。这次选择了MQ-138型甲醛,MG811二氧化碳气体传感器以及ZE03-O2-(0-25%)VOL氧气传感器。该氧气传感器的标称测量氧气范围是0-25%,温度范围-20℃~50℃,响应时间小于15S,灵敏度高,0.1%VOL的分辨率,功耗低稳定性好,分别提供两种输出方式:UART、模拟电压信号,用户可自行选择。该间接加热气敏传感器,该传感器由敏感组件和转换电路组成。MQ-138型甲醛气敏传感器转换电路如图2所示。
图2 气敏传感器转换电路
由图可知,该气敏传感器的针状引脚和电阻串联,可以实现电压转换,经过电压比较器后此电压可以将电压转化为数字量。系统工作中,当甲醛浓度大小发生改变时,甲醛气体传感器的电阻发生相应的变化,转换电路将电阻变化转化为电压的变化,并将此电压信号输送至单片机的模数转换通道,以便单片机判别运算。
1.3 DS18B20数字温度传感器
常用的数字温度传感器有很多,本系统选用的是DS18B20数字温度传感器,该传感器有很多优点,例如检测温度的范围大,分辨率高等,而且该传感器在各种各样比较小的空间内一样可以实施,这主要是因为其体积很小,检测也比较方便,且仅需采用单向接口就可以实现双向通讯。
1.4 A/D模数转换器
A/D模数转换器是指对反映数字信号中甲醛和其他气体浓度的模拟电压信号进行转换。本系统采用的单片机STM32f103自带模数转换通道,因此单片机外部不需要接A/D模数转换芯片,可直接读取模拟量。该设计将甲醛、二氧化碳以及氧气传感器的模拟量电压通过PA5、PA6、PA7引脚输入STM单片机进行模数转换。通道的A/D转换可以按时间、连续、扫描或间歇方式进行。ADC转换的结果可以左对齐或右对齐,并存储在MCU的16位数据寄存器中。
1.5 LCD液晶显示器
为了直观的实时显示气体浓度和温度,需要选用带用中文字库的LCD12864液晶显示器用来显示气体浓度和温度高低,并显示气体浓度和温度的阂值。运行过程中第一行显示报警温度;第二行显示当前温度值;第三行显示报警浓度;第四行显示当前气体浓度。由于有多种气体要检测,所以液晶显示可轮流分时显示这些气体浓度。
2 软件设计
2.1 采集气体浓度和环境温度数据
依据主程序流程图在Keil编程,选用Proteus软件实现自动换气扇系统的软件调试,搭建电路模型,如图模型搭建完毕,点击单片机添加程序,打开开关开始调试。
系统上电后,将温度以及湿度的设定值进行采集,如果绿色的指示灯亮,则表示环境情况正常。此时继电器不工作,电机不转,换气扇不工作。电路处于正常工作状态。系统上电后,调节电位器阻值。如果所测试的环境中的气体浓度超标,相应的红色指示灯会闪烁,表示车内空气情况异常,同时指示灯闪烁报警,继电器得电工作,电机得电旋转,换气扇工作,改善车内空气质量。再次回调电位器[6],此时的甲醛和二氧化碳气体浓度都处于偏低的状态,即换气扇停止工作。
同样当系统上电后,将DS温度传感器的温度进行设定,一旦出现红色指示灯闪烁的情况,即表示车内温度情况异常,同时指示灯闪烁报警,继电器得电工作,电机旋转,换气扇工作,改善居室空气质量。再次回调DS温度传感器,一旦检测到温度过低,换气扇也随即停止工作。
调试过程中可根据个人对气体浓度和温度的敏感度和需求,修改气体浓度和温度报警值。按下设置键,再按增大减小键,可修改报警阂值。
2.2 将单片机主程序初始化
在进入主程序之前,首先要做的就是将系统初始化,系统的初始化必须遵循按照需求而配置的要求。在初始化时[7],需要通过调控相应储存程序的状态来进行调控,以此来实现系统的功能。
在即将进行初始化工作之前,需要将系统首先调控在初始化状态,即程序利用主循环将时间与检测的过程进行统一的规划,包含采集,调控相关的显示设备,数据处理设备等。将准备工作做好后,在进行数据的处理,即通过主程序,将后续进行查找并中断。主程序模块包含的定义和功能如图3所示。
图3 主程序模块定义及功能
由图可知,首先需要采用函数进行数据中断处理,然后利用interrupt赋予初值,进行数据采集后来进行模拟信号的处理,最后再将数据进行储存,编程时也需要采用AD变换法,将数字信号不间断的读取出来。
3 实验
为了测试所设计的系统是否能实现车内气体浓度大小和温度高低的检测识别,以及该系统在进行换气系统测试时处理数据的速度是否优于传统的换气系统,进行了对比实验,将传统的换气检测系统处理数据的时间与所设计的换气检测系统的数据处理时间进行对比。
3.1 实验准备
根据设计好的系统结构框图以及硬件电路原理图制作硬件电路并进行电路的测试,保证硬件电路正确没问题;接着,根据程序流程图分模块编写程序,再进行主程序调用以及程序的调试;硬软件调试完成后,才开始进行测试。测试条件的准备,在实验室中,我们采用自主设计的一个密闭的透明空间,将系统置于该空间,通过吹入二氧化碳,加热等方式来模拟实际情况。
3.2 实验结果与讨论
采用传统的换气检测系统与所设计的换气检测系统进行对比,选取五处随机的换气处理地点,分别检测二者处理温度等数据的时间以及数值,经过实验得知所设计的换气检测系统可以实现车内中气体浓度大小和温度的识别,具有可行性,同时,五组随机换气处理地点的数据处理速度均高于传统的换气检测系统,因此,具有高效性,有一定的推广价值。
结束语
综上所述,所设计的换气检测系统符合要求,可以实现对于车内的温度以及其他指标的检测,且在处理数据的时间上远远低于传统的数据检测系统,因此具有一定的推广意义,在后续的使用中还将不断完善和更新。