汽车检测换气系统设计_第1页
汽车检测换气系统设计_第2页
汽车检测换气系统设计_第3页
汽车检测换气系统设计_第4页
汽车检测换气系统设计_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要适宜、安全的车内环境对于人们在乘坐汽车时有着重要影响,但是对于车内环境检测与换气系统监测装置方面涉及较少,因此本文中的主要研究对象就是在现有的汽车检测换气系统加入传感器与换气装置,保障汽车内良好的条件。针对人们对于车内环境改善的需求,本文研究了依托于STM32单片机的汽车检测换气系统,通过JW01气敏传感器和GY-906-BBC温度传感器对车内氧气、二氧化碳、甲醛的浓度含量以及温度进行检测。当单片机接收到气敏传感器信息时,如果超标会产生报警声,以提醒人们注意车内空气情况及时开窗通风。当汽车熄火后,如果检测到温度高于40℃,闪光警报确保进气和排气直流风扇同时运行,使车厢内外的温度能够在较短的时间内达到相同,起到车室内的换气降温双重作用。经测试,该系统能在汽车内的对于人体有害的气体浓度超标时发出提醒并在汽车熄火后仍能保障车内的换气、降温设备起到作用,避免车内有害气体过度造成的危害,具有很强的实用价值。关键词:STM32单片机;气敏传感器;换气

AbstractAppropriateandsafeinteriorenvironmenthasanimportantimpactonpeoplewhenridingincars,butthereislessinvolvementininteriorenvironmentdetectionandventilationsystemmonitoringdevices.Therefore,themainresearchobjectofthispaperistoaddsensorsandventilationdevicestotheexistingvehicledetectionandventilationsystemtoensuregoodconditionsincars.Inviewofpeople'sdemandforimprovingtheinteriorenvironmentofthecar,thispaperstudiesthevehicledetectionandventilationsystembasedonSTM32singlechipcomputer,whichdetectstheconcentrationandtemperatureofoxygen,carbondioxideandformaldehydeinthecarthroughJW01gassensorandGY-906-BBCtemperaturesensor.Whenthesingle-chipcomputerreceivestheinformationfromthegassensor,ifitexceedsthestandard,itwillgenerateanalarmsoundtoremindpeopletopayattentiontotheairconditioninthecarandopenthewindowforventilationintime.Whenthecarisflameout,ifthetemperatureisdetectedtobehigherthan40℃,theflashingalarmensuresthattheairinletandexhaustDCfansoperateatthesametime,sothatthetemperatureinsideandoutsidethecarcanreachthesamelevelinashorttime,whichplaysthedualroleofairexchangeandcoolinginsidethecar.Aftertesting,thesystemcansendawarningwhentheconcentrationofharmfulgasesinthecarexceedsthestandard,andcanstillensuretheventilationandcoolingequipmentinthecartoplayaroleafterthecarisstopped,andavoidtheharmcausedbyexcessiveharmfulgasesinthecar,whichhasstrongpracticalvalue.Keywords:STM32singlechip;gassensor;ventilati第3章PLC和组态软件基础目录TOC\o"1-3"\h\u第1章绪论 参考文献赵树廉,来飞,李克强,陈涛,孟璋劼,唐逸超,吴思宇,田浩东.基于数字孪生技术的智能汽车测试方法研究[J].汽车工程,2023,45(01):42-51.丁奕.自动驾驶汽车测试技术与应用进展研究[J].时代汽车,2022,(15):7-9.周杰,张矿伟.单片机技术在新型汽车领域的应用研究[J].科技创新与生产力,2021,(12):140-142.翟秀军,赵羽佳,刘晓明.基于安全温度控制的智能汽车报警装置设计[J].自动化与仪表,2021,36(02):69-72+98.杜晓辉.基于单片机的汽车行驶智能记录仪研发[J].微型电脑应用,2020,36(11):137-139.HerzigerAtar,SintovNicoleD..GiveitaTry!Howelectricvehicletestdrivesinfluencesymbolismperceptionsandadoptionintent[J].JournalofEnvironmentalPsychology,2023,85.[AppliedInformationReceives10thExperimentalLicenseforC-V2XConnectedVehicleTestingfromFederalCommunicationsCommission[J].Telecomworldwire,2022.KeslerSelami,BoyaciOmer,TumbekMustafa.DesignandImplementationofaRegenerativeModeElectricVehicleTestPlatformforEngineeringEducation[J].Sustainability,2022,14(21).GuoXiaoyu,ZhangYunlong.MaturityinAutomatedDrivingonPublicRoads:AReviewoftheSix-YearAutonomousVehicleTesterProgram[J].TransportationResearchRecord,2022,2676(11).KeysightOffersNewAutomotiveTestSolutionforMobileIndustryProcessorInterface[J].WirelessNews,2022.余卓平,邢星宇,陈君毅.自动驾驶汽车测试技术与应用进展[J].同济大学学报(自然科学版),2019,47(04):540-547.王荣旭,纪少波,邓辉,闫现礼,陈秋霖,李伦,于泽庭.电动汽车测试台架控制系统设计[J].内燃机与动力装置,2019,36(02):51-56.吴海龙,孙晓明,卢晨.车内台架测试平台的电动汽车检测换气系统[J].河南科技大学学报(自然科学版),2018,39(02):48-53+7.刘长伟.基于车轮六分力的汽车动态测试系统研究[D].西华大学,2017.于杰.单片机在电动汽车行驶中的自动控制作用[A].天津市电子学会、天津市仪器仪表学会.第三十一届中国(天津)2017’IT、网络、信息技术、电子、仪器仪表创新学术会议论文集[C].天津市电子学会、天津市仪器仪表学会:天津市电子学会,2017:280-283.李桂伟.汽车测试数据管理系统开发及应用研究[D].河北工业大学,2017.洪昊,夏泽斌,李宗仁.基于LabVIEW平台利用GPS架构的汽车实时横摆角速度测试系统开发[J].宁德师范学院学报(自然科学版),2017,29(01):72-77+93.孙晓晖,和红梅,王志勇.基于单片机汽车行驶记录仪的设计[J].河北工程技术高等专科学校学报,2017,(01):33-37.周昊,蔡雄友,阮太元.基于单片机的智能汽车驾驶安全辅助系统设计与制作[J].福建电脑,2017,33(02):122-123.李斌,姚松丽,宁文坤,王凯凯.基于单片机的汽车安全系统设计[J].机械工程师,2016,(08):117-118.

附录附录A工作原理图图A.工作原理图

附录B程序清单#include"delay.h"#include"sys.h"#include"string.h"#include"LCD1602.h"#include"myiic.h"#include"mlx90614.h"#include"math.h"#include"adc.h"#include"usart2.h"u16CO2=0;u16kqm=0;u16kq_up=10;//温度上限u16kqm_up=5;u16o2=0;int16_ttempd=0;u16temp_up=40;//温度上限doubletemp;//温度变量浮点数u8error=0;u8status;u8snr,buf[16],TagType[2],SelectedSnr[4],DefaultKey[6]={0xFF,0xFF,0xFF,0xFF,0xFF,0xFF};#definekey_1GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_4)#definekey_2GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_6)#definekey_3GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_2)#definekey_4GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_1)#definekey_5GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0)#defineLED_HGPIO_SetBits(GPIOA,GPIO_Pin_8)#defineLED_LGPIO_ResetBits(GPIOA,GPIO_Pin_8)#definebuzzer_HGPIO_SetBits(GPIOA,GPIO_Pin_11)#definebuzzer_LGPIO_ResetBits(GPIOA,GPIO_Pin_11)#definefeng1_HGPIO_SetBits(GPIOA,GPIO_Pin_10)#definefeng1_LGPIO_ResetBits(GPIOA,GPIO_Pin_10)#definefeng2_HGPIO_SetBits(GPIOA,GPIO_Pin_9)#definefeng2_LGPIO_ResetBits(GPIOA,GPIO_Pin_9)#definerelay_HGPIO_SetBits(GPIOA,GPIO_Pin_5)#definerelay_LGPIO_ResetBits(GPIOA,GPIO_Pin_5)inti,a,b;//定义整数voidread_temp()//读取温度参数时用户编号{ temp=SMBus_ReadTemp();//读取温度 b=(int)(temp*10)%10;//小数点后一位 a=(int)temp;//取整 tempd=a*10+b;}voidGPIO_STM32_Init(void){GPIO_InitTypeDefGPIO_InitStructure;//打开PB口时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); GPIO_InitStructure.GPIO_Pin=GPIO_Pin_8|GPIO_Pin_11|GPIO_Pin_5|GPIO_Pin_9|GPIO_Pin_10; GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP; GPIO_Init(GPIOA,&GPIO_InitStructure); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); GPIO_InitStructure.GPIO_Pin=GPIO_Pin_6|GPIO_Pin_2|GPIO_Pin_1|GPIO_Pin_0|GPIO_Pin_4; GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPU; GPIO_Init(GPIOA,&GPIO_InitStructure); }//设置温度voidset_temp(){ LCD_Write_Com(0x80);//第1行第1列位置 LCD_Write_Data('T');//第1行第1列显示 LCD_Write_Data('e');//第1行第2列显示 LCD_Write_Data('m');//第1行第3列显示 LCD_Write_Data('p');//第1行第4列显示 LCD_Write_Data('');//第1行第5列显示 LCD_Write_Data('u');//第1行第6列显示 LCD_Write_Data('p');//第1行第7列显示 LCD_Write_Data('>');//第1行第8列显示 LCD_Write_Data('0'+temp_up/10);//上限十位取数 LCD_Write_Data('0'+temp_up%10);//上限个位取数 LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Com(0xc0); LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data('');LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data(''); for(;;) { if(key_2==0)//按下2键 { while(key_2==0)//等待按键 { temp_up++;//温度上线+ if(temp_up>=99)//如果上限》+99 temp_up=99; LCD_Write_Com(0x88);//第1行第九列 LCD_Write_Data('0'+temp_up/10);//上限十位取数 LCD_Write_Data('0'+temp_up%10);//上限个位取数 delay_ms(200); //延时 } } if(key_3==0)//按下3键 { while(key_3==0)//等待按下 { temp_up--;//温度上线- if(temp_up<=0)//如果上限<=0 temp_up=0;//上限=0 LCD_Write_Com(0x88);////第1行第九列位置 LCD_Write_Data('0'+temp_up/10);//上限十位取数 LCD_Write_Data('0'+temp_up%10);//下限十位取数 delay_ms(200); } } if(key_4==0)//按下4键 { while(key_4==0)//等待按键 delay_ms(500); break;//返回 } } }//设置空气voidset_kq(){ LCD_Write_Com(0x80);//第1行第1列位置 LCD_Write_Data('C');//第1行第1列显示 LCD_Write_Data('O');//第1行第2列显示 LCD_Write_Data('2');//第1行第3列显示 LCD_Write_Data('');//第1行第4列显示 LCD_Write_Data('');//第1行第5列显示 LCD_Write_Data('u');//第1行第6列显示 LCD_Write_Data('p');//第1行第7列显示 LCD_Write_Data('>');//第1行第8列显示//上限十位取数 LCD_Write_Data('0'+kq_up%1000/100); LCD_Write_Data('.');LCD_Write_Data('0'+kq_up%100/10);//上限十位取数 LCD_Write_Data('0'+kq_up%10);//上限个位取数 LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Com(0xc0); LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data('');LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data(''); for(;;) { if(key_2==0)//按下2键 { while(key_2==0)//等待按键 { kq_up+=1;//温度上线+ if(kq_up>=500)//如果上限》+99 kq_up=500; LCD_Write_Com(0x88);//第1行第九列 LCD_Write_Data('0'+kq_up%1000/100); LCD_Write_Data('.'); LCD_Write_Data('0'+kq_up%100/10);//上限十位取数 LCD_Write_Data('0'+kq_up%10);//上限个位取数 delay_ms(200); //延时 } } if(key_3==0)//按下3键 { while(key_3==0)//等待按下 {if(kq_up>1) kq_up-=1;//温度上线- if(kq_up<=0)//如果上限<=0 kq_up=0;//上限=0 LCD_Write_Com(0x88);////第1行第九列位置 LCD_Write_Data('0'+kq_up%1000/100); LCD_Write_Data('.'); LCD_Write_Data('0'+kq_up%100/10);//上限十位取数 LCD_Write_Data('0'+kq_up%10);//下限十位取数 delay_ms(200); } } if(key_4==0)//按下4键 { while(key_4==0)//等待按键 delay_ms(500); break;//返回 } } LCD_Write_Com(0x80);//第1行第1列位置 LCD_Write_Data('K');//第1行第1列显示 LCD_Write_Data('Q');//第1行第2列显示 LCD_Write_Data('');//第1行第3列显示 LCD_Write_Data('');//第1行第4列显示 LCD_Write_Data('');//第1行第5列显示 LCD_Write_Data('u');//第1行第6列显示 LCD_Write_Data('p');//第1行第7列显示 LCD_Write_Data('>');//第1行第8列显示//上限十位取数 LCD_Write_Data('0'+kqm_up%1000/100); LCD_Write_Data('.');LCD_Write_Data('0'+kqm_up%100/10);//上限十位取数 LCD_Write_Data('0'+kqm_up%10);//上限个位取数 LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Com(0xc0); LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data('');LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data(''); for(;;) { if(key_2==0)//按下2键 { while(key_2==0)//等待按键 { kqm_up+=1;//温度上线+ if(kqm_up>=500)//如果上限》+99 kqm_up=500; LCD_Write_Com(0x88);//第1行第九列 LCD_Write_Data('0'+kqm_up%1000/100); LCD_Write_Data('.'); LCD_Write_Data('0'+kqm_up%100/10);//上限十位取数 LCD_Write_Data('0'+kqm_up%10);//上限个位取数 delay_ms(200); //延时 } } if(key_3==0)//按下3键 { while(key_3==0);//等待按下 {if(kqm_up>1) kqm_up-=1;//温度上线- if(kqm_up<=0)//如果上限<=0 kqm_up=0;//上限=0 LCD_Write_Com(0x88);////第1行第九列位置 LCD_Write_Data('0'+kqm_up%1000/100); LCD_Write_Data('.'); LCD_Write_Data('0'+kqm_up%100/10);//上限十位取数 LCD_Write_Data('0'+kqm_up%10);//下限十位取数 delay_ms(200); } } if(key_4==0)//按下4键 { while(key_4==0)//等待按键 delay_ms(500); break;//返回 } }}voidread_key(){ if(key_1==0) { while(key_1==0); set_temp(); delay_ms(200); set_kq(); LCD_1602Clear(); }}voidwarn(){ if(CO2>60) { o2=15; } elseif(CO2>50) { o2=16; } elseif(CO2>40) { o2=17; } elseif(CO2>30) { o2=18; } elseif(CO2>20) { o2=19; } elseif(CO2>10) { o2=20; } elseif(CO2<10) { o2=21; } if(tempd/10>temp_up) { feng1_H; feng2_H; } else { feng1_L; feng2_L; } if(kqm>kqm_up||CO2>kq_up){ relay_H; LED_H; buzzer_H; delay_ms(200); LED_L; buzzer_L; delay_ms(200); } else { relay_L; LED_L; buzzer_L; } }//显示用户界面welcomevoiddisplay(){ LCD_Write_Com(0x80);//LCD1602LCD_Write_Data('C'); LCD_Write_Data(':'); LCD_Write_Data('0'+CO2%1000/100); LCD_Write_Data('.'); LCD_Write_Data('0'+CO2%100/10); LCD_Write_Data('0'+CO2%10); LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data('');LCD_Write_Data('K'); LCD_Write_Data(':'); LCD_Write_Data('0'+kqm%1000/100); LCD_Write_Data('.'); LCD_Write_Data('0'+kqm%100/10); LCD_Write_Data('0'+kqm%10); LCD_Write_Com(0xc0);//LCD1602 LCD_Write_Data('H'); LCD_Write_Data(':'); LCD_Write_Data('0'+tempd/100); LCD_Write_Data('0'+tempd%100/10); LCD_Write_Data('.'); LCD_Write_Data('0'+tempd%10); LCD_Write_Data(0xb2); LCD_Write_Data('C'); LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data('');LCD_Write_Data('Y'); LCD_Write_Data(':'); LCD_Write_Data('0'+o2/10); LCD_Write_Data('0'+o2%10); LCD_Write_Data('%');}voiddisplay_1(){ LCD_Write_Com(0x80);//LCD1602 LCD_Write_Data('O'); LCD_Write_Data('F'); LCD_Write_Data('F'); LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Data(''); LCD_Write_Com(0xc0);//LCD1602 LCD_Write_Dat

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论