版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于STM32单片机的汽车除雾智能调控系统设计摘要随着汽车保有量的持续增长,雨雪天气下的行车安全问题愈发受到行业与用户的关注。前挡风玻璃起雾、雨刷操作不及时会严重遮挡驾驶员视线,是引发道路交通事故的重要诱因。传统车载除雾与雨刷系统多依赖手动操作,易分散驾驶员注意力,存在明显的安全隐患。在此背景下,设计了一套基于STM32单片机的汽车除雾智能调控系统,以STM32F103C8T6为控制核心,集成温湿度检测、雨量检测、按键交互、LCD显示、舵机驱动、继电器控制与语音播报等功能。系统可实时采集车内环境温湿度与外界雨量数据,自动完成雨刷档位调节与除雾装置启停控制,支持自动/手动模式切换,雨量超标时可触发语音预警。测试结果表明,该系统运行稳定,响应及时,能有效降低驾驶员手动操作频率,提升雨雪天气下的行车安全性,具备较强的实用性与推广价值。关键词STM32单片机;汽车除雾;智能雨刷;环境检测;车载控制系统AbstractWiththecontinuousgrowthofcarownership,theproblemofdrivingsafetyinrainandsnowweatherhasattractedincreasingattentionfromtheindustryandusers.Foggingofthefrontwindshieldanduntimelyoperationofwiperswillseriouslyblockthedriver'slineofsight,whichisanimportantcauseofroadtrafficaccidents.Traditionalvehicledefoggingandwipersystemsmostlyrelyonmanualoperation,whichiseasytodistractthedriverandhasobviouspotentialsafetyhazards.Inthiscontext,thispaperdesignsasetofintelligentvehicledefoggingcontrolsystembasedonSTM32single-chipmicrocomputer,whichtakesSTM32F103C8T6asthecontrolcore,andintegratesfunctionssuchastemperatureandhumiditydetection,rainfalldetection,keyinteraction,LCDdisplay,steeringgeardrive,relaycontrolandvoicebroadcast.Thesystemcancollectthetemperatureandhumidityofthein-carenvironmentandtheexternalrainfalldatainrealtime,automaticallycompletetheadjustmentofthewipergearandthestart-stopcontrolofthedefoggingdevice,supporttheswitchingbetweenautomatic/manualmodes,andtriggeravoicewarningwhentherainfallexceedsthestandard.Thetestresultsshowthatthesystemrunsstablyandrespondsinatimelymanner,whichcaneffectivelyreducethefrequencyofmanualoperationbythedriver,improvethedrivingsafetyinrainandsnowweather,andhasstrongpracticabilityandpopularizationvalue.KeywordsSTM32Single-ChipMicrocomputer;VehicleDefogging;IntelligentWiper;EnvironmentDetection;VehicleControlSystem目录TOC\o"1-3"\h\z\u摘要 IAbstract II1绪论 11.1研究背景 11.2国内外研究现状 21.2.1国外研究现状 21.2.2国内研究现状 21.3设计组织结构 32功能与设计方案 42.1系统功能要求 42.2系统总体设计架构 42.3器件方案对比 52.3.1主控芯片选型 52.3.2显示器件选型方案对比 62.3.3环境感知器件选型方案对比 72.3.4舵机驱动器件选型方案对比 92.3.5按键输入器件选型方案对比 102.3.6语音播报器件选型方案对比 112.3.7继电器驱动器件选型方案对比 123系统的硬件设计 143.1STM32F103C8T6单片机最小系统 143.2LCD1602显示电路 153.3DHT11温湿度检测电路 163.4雨量检测电路 173.5SG90舵机驱动电路 173.6按键输入电路 183.7语音播报模块电路 183.8继电器驱动电路 193.9总电路图设计 203.10PCB板设计 204系统的软件设计 224.1软件开发环境 224.2软件程序的设计 224.2.1主程序运行流程 224.2.2按键处理子程序流程 244.2.3语音子程序流程 244.2.4显示子程序流程 254.2.5温湿度检测子程序流程 264.2.6雨量检测子程序流程 274.2.7舵机子程序流程 285系统的测试 305.1软件单元性能测试 305.2硬件功能完整性测试 305.3实物功能测试 315.3.1模式切换功能测试 315.3.2雨刷智能调速功能测试 315.3.3除雾自动触发功能测试 325.3.4温湿度采集功能测试 325.3.5雨量采集功能测试 335.3.6LCD显示功能测试 345.3.7按键输入功能测试 355.3.8语音预警功能测试 365.3.9继电器控制功能测试 37结论 39参考文献 41致谢 43附录A 44附录B 451绪论1.1研究背景汽车作为当前主流的出行工具,其行驶安全性始终是行业发展的核心关注点。据国内道路交通事故统计数据显示,雨雪、大雾等恶劣天气下的交通事故发生率是正常天气的3倍以上,其中前挡风玻璃起雾、雨刷操作不及时导致的视线受阻,是引发事故的首要诱因[1]。传统车载除雾系统与雨刷控制多为手动操作模式,驾驶员需要在行驶过程中手动调节空调除雾模式、切换雨刷档位,这一过程会分散驾驶注意力,尤其在复杂路况下,极易引发安全事故。同时,手动操作无法精准匹配环境的实时变化,常出现除雾不及时、雨刷档位与雨量不匹配的问题,进一步加剧了驾驶风险[2]。图1.1汽车空调除雾原理随着汽车电子技术与嵌入式技术的快速发展,车载控制系统的智能化升级成为行业发展的必然趋势。基于单片机的智能控制系统具备成本低、可靠性高、开发灵活的优势,非常适合在车载场景中普及应用[3]。本文设计的基于STM32单片机的汽车除雾智能调控系统,可实现雨刷档位的自动调节与除雾功能的智能启停,同时配套语音预警与手动控制功能,能有效解决传统手动操作的痛点,大幅提升雨雪天气下的行车安全性,具备重要的现实意义与应用价值[4]。1.2国内外研究现状1.2.1国外研究现状国外在车载智能雨刷与除雾系统领域的研究起步较早,技术体系相对成熟,相关成果已在高端乘用车中实现规模化应用[5]。博世、大陆、法雷奥等全球顶级汽车零部件企业,均推出了集成化的车载智能雨刷与除雾解决方案。博世集团研发的智能雨刷系统,采用光学雨量传感器与红外温湿度传感器融合的检测方案,可精准识别雨量大小与玻璃起雾风险,配合车身控制系统实现雨刷档位的无级调节与除雾系统的自动启停,同时可联动空调系统调整出风模式,除雾效率大幅提升[6]。在2024年博世最新的技术白皮书中,其新一代ClimateControlUnit(CCU)系统可在3秒内识别车窗起雾风险,响应效率较传统系统提升近40%,能够实现从被动除雾到主动预测防雾的技术升级。德国大陆集团推出的智能车载环境控制系统,将除雾、雨刷控制、车内温湿度调节整合为统一的控制体系,通过多传感器数据融合实现全场景的智能适配,系统响应延迟低于50ms,已广泛应用于奔驰、宝马等品牌的高端车型[7]。法雷奥作为全球领先的汽车电子供应商,其推出的智能除雾系统则结合了热泵技术,在新能源汽车中实现了低能耗的除雾控制,解决了传统电加热除雾导致的续航损耗问题,该系统已在特斯拉、大众等品牌的新能源车型中得到应用[8]。整体来看,国外相关研究多聚焦于高端车型的集成化、高精度方案,技术成熟度高,但系统成本较高,难以在经济型乘用车中普及。同时,随着软件定义汽车理念的普及,国外企业也在逐步推动除雾系统的OTA升级能力,通过软件迭代优化控制算法,进一步提升系统的适配性[9]。1.2.2国内研究现状国内对车载智能除雾与雨刷系统的研究,主要集中在高校与汽车零部件企业,研究方向以低成本、高实用性的方案为主,适配国内乘用车市场的普及化需求。众多高校针对基于单片机的车载智能控制系统展开了深入研究,完成了多款基于51单片机、STM32单片机的雨刷自动控制方案,实现了雨量检测与档位自动调节的基础功能[10]。国内汽车零部件企业也推出了多款适配后装市场的智能雨刷与除雾产品,多采用电阻式雨量传感器与温湿度检测方案,成本低廉,安装便捷,可直接适配现有车型的改装需求[11]。近年来,国内头部企业也在该领域取得了快速突破,福耀玻璃作为国内龙头企业,2018年与中科院上海硅酸盐研究所合作研发出石墨烯透明导电膜,替代传统ITO膜,使加热除雾的效率提升40%,成本降低20%,目前已应用于比亚迪汉、蔚来ET7等新能源车型,2023年相关产品销量突破500万套[12]。小鹏汽车推出的NQSmartClimate系统,能够通过湿度传感器实时监测车内环境,当湿度超过85%时自动触发除雾,并且支持OTA升级,可通过软件迭代优化控制阈值,适配不同地区的使用环境[13]。比亚迪、问界等车企也推出了自动除雾功能,能够根据车内温度自动调节出风温度,避免传统除雾导致的车内温度骤降问题。但当前国内的相关研究与产品仍存在一定的不足,多数方案功能单一,仅单独实现雨刷控制或除雾功能,未将两者进行整合[14];部分方案阈值参数固定,无法适配不同地区、不同季节的使用环境,智能化程度不足;同时,多数方案未配套预警功能,无法在极端天气下提醒驾驶员谨慎驾驶[15]。基于此,本文设计的系统整合了智能雨刷、自动除雾、模式切换、语音预警、参数自定义等多项功能,采用低成本的成熟器件,兼顾实用性与经济性,弥补了现有方案的不足,适配国内乘用车市场的普及化需求[16]。同时,随着新能源汽车的快速发展,电加热除雾技术的渗透率不断提升,2024年新能源汽车市场中电加热除雾器的渗透率约为60%,预计到2030年将提升至85%,这也为本文设计的系统提供了更广阔的应用空间[17]。1.2.3研究评述综合国内外研究现状可见,车载智能除雾与雨刷系统已成为汽车电子领域的重要发展方向,但现有技术仍存在明显的市场分层与功能短板[18]。国外企业凭借技术积累,在多传感器融合、主动预测防雾与系统集成化方面优势显著,但其方案成本高昂,主要应用于高端车型,难以在经济型乘用车中大规模普及。国内研究则聚焦于低成本实用化路线,推出了多款适配后装市场的产品,但多数方案功能单一,仅单独实现雨刷控制或除雾功能,未形成统一的智能调控体系;同时普遍存在阈值参数固定、无法适配不同地域气候差异、缺乏主动预警机制等问题,智能化程度有待提升[19]。基于此,本文设计的系统整合了智能雨刷、自动除雾、语音预警与参数自定义功能,采用成熟低成本器件,在保证性能的同时大幅降低了系统成本,能够有效弥补现有方案的不足,适配国内乘用车市场的普及化需求[20]。1.3设计组织结构本论文共分为五个核心章节,完整覆盖系统从需求分析到设计实现、测试验证的全流程,各章节的核心内容如下:第一章为绪论,阐述本研究的背景与意义,梳理国内外相关研究现状,明确研究的主要内容与论文的组织结构;第二章为系统功能需求与总体设计方案,完成系统的功能需求分析,确定总体设计架构,完成核心器件的选型与多方案对比分析;第三章为系统硬件电路设计,详细介绍系统各个硬件部分的电路设计、接线方式与设计考量,确保硬件系统的稳定性与可靠性;第四章为系统软件设计,介绍软件开发环境,阐述主程序的整体流程与各个功能子程序的设计逻辑,完整实现系统的各项软件功能;第五章为系统测试与验证,介绍系统的调试流程,完成硬件单元测试与系统功能测试,验证系统各项功能的实现效果。最后为结论、参考文献、谢辞与附录,总结本研究的核心成果,指出研究的不足与未来优化方向,列出研究过程中参考的相关文献,附上系统的核心程序代码。2功能与设计方案2.1系统功能要求结合车载场景的实际使用需求与驾驶安全性要求,本系统需要实现以下核心功能:以单片机为控制核心,统筹管理系统的参数采集、逻辑判断、执行控制、人机交互等所有功能,确保各项操作响应及时、运行稳定;通过传感器实时采集车内前挡风玻璃附近的温湿度数据,为除雾功能提供判断依据;通过雨量检测模块实时采集外界雨量数据,为雨刷档位调节提供数据支撑;可根据采集到的雨量数据,自动调节雨刷的工作档位,设置1/2/3三个档位,雨量越大,雨刷摆动频率越高;同时支持手动模式,驾驶员可通过按键手动切换雨刷档位;根据采集到的环境湿度数据,自动判断玻璃起雾风险,当湿度超过预设阈值时,自动启动加热装置与风扇,通过热吹风实现除雾,湿度降至安全范围后自动停止工作;通过显示屏实时显示系统工作模式、雨刷档位、环境温湿度、阈值参数等核心信息;通过4个独立按键实现模式切换、参数增减、系统启停等操作,适配驾驶员的操作习惯;当检测到雨量超过预设的最高阈值时,自动触发语音播报,提醒驾驶员“雨量过大,谨慎驾驶”,避免驾驶员分散注意力查看显示屏,提升驾驶安全性;2.2系统总体设计架构硬件系统以单片机为核心,分为四大功能板块:环境感知板块,包含DHT11温湿度检测模块与雨量检测模块,负责采集系统控制所需的各类环境参数;人机交互板块,包含LCD1602显示模块与4个独立按键,负责信息显示与驾驶员操作指令的输入;执行机构板块,包含SG90舵机驱动模块与继电器驱动模块,分别负责雨刷摆动动作的执行与除雾装置的启停控制;预警提示板块,包含MY1680语音播报模块与配套喇叭,负责极端天气下的语音预警。软件系统基于KeilMDK5开发环境,采用C语言编写,整体采用循环扫描的执行逻辑,确保系统的实时响应能力。软件系统分为初始化程序与主循环程序两大核心部分,初始化程序在上电后执行一次,完成时钟系统、GPIO引脚、定时器、ADC、串口、显示屏、传感器等所有部分的初始配置,设置系统的默认参数;主循环程序为无限循环结构,依次执行按键扫描与处理、环境参数采集、逻辑判断与控制、显示内容更新、执行机构驱动、语音预警触发等操作,循环往复,确保系统能实时响应环境变化与驾驶员的操作指令。系统上电完成初始化后,系统进入运行界面,循环采集环境温湿度与雨量数据,根据当前工作模式执行对应的控制逻辑,自动调节雨刷档位与除雾装置的启停,实时更新显示屏内容,参数超阈值时触发语音预警;驾驶员可通过按键切换工作模式、调整阈值参数,手动控制系统的运行状态。图2.1系统框图2.3器件方案对比2.3.1主控芯片选型方案一:STM32F103C8T6STM32F103C8T6基于ARMCortex-M3内核,主频可达72MHz,运算能力足以满足多参数采集与实时控制的并行处理需求,不会出现算力不足导致的响应延迟;内置64KBFlash与20KBRAM,可容纳完整的控制程序与数据缓存,无需额外扩展存储芯片;具备丰富的外设资源,多路GPIO、ADC、定时器、UART接口,可直接对接系统所有的传感器、显示、执行器件,无需额外的扩展电路;工业级工作温度范围为-40℃~85℃,能适应汽车内夏季高温、冬季低温的复杂环境,抗干扰能力强;开发生态完善,资料丰富,开发难度低,单芯片成本可控,非常适合车载低成本方案的开发。方案二:STC89C52RCSTC89C52RC为传统8051内核单片机,入门门槛低,编程逻辑简单,非常适合基础控制场景;硬件封装小,外围电路设计简单,最小系统仅需晶振与复位电路即可正常工作;市场供货稳定,单芯片成本极低,批量应用具备明显的价格优势;静态工作电流小,功耗低,适合车载低功耗需求的场景。表2.1单片机选型对比对比参数STM32F103C8T6STC89C52RC内核架构ARMCortex-M38051最高主频72MHz11.0592MHzFlash容量64KB8KBRAM容量20KB512B工作温度-40℃~85℃0℃~70℃单芯片成本约8元约3元综合对比,本设计最终选用STM32F103C8T6作为主控制器。其运算能力、外设资源与抗干扰能力更适配车载多参数实时采集与控制的需求,能更好地实现多任务并行处理,避免51单片机算力不足导致的响应延迟、控制卡顿等问题,更符合系统的设计需求。图2.2单片机实物图2.3.2显示器件选型方案对比方案一:LCD1602LCD1602可同时显示2行16个字符,能完整呈现雨刷档位、温湿度、工作模式、阈值参数等系统核心信息,完全满足系统的显示需求;采用8位并行通信接口,驱动逻辑简单,显示稳定,不会出现乱码、闪屏等问题;工作电压为5V,可直接与车载电源系统匹配,无需额外的电平转换电路;在强光、低温等车载复杂环境下,可视性良好,使用寿命长,不会出现烧屏问题;成本低廉,替换性强,适合批量应用。方案二:OLEDOLED无需背光源,黑暗环境下可视性更优;支持I2C/SPI通信方式,占用主控引脚数量少,电路设计更简洁;可显示汉字、图形与自定义字符,界面设计更灵活,内容呈现更丰富;功耗更低,休眠状态下工作电流仅为微安级,适合车载低功耗需求。表2.2显示屏选型对比对比参数LCD1602OLED显示内容2行16字符128*64像素通信方式8位并行I2C/SPI工作电压5V3.3V/5V抗干扰能力强一般使用寿命长,无烧屏风险易出现烧屏、残影成本约10元约15元综合对比,本设计最终选用LCD1602作为显示器件。其驱动逻辑简单,显示内容完全满足系统需求,且在汽车行驶的颠簸、电磁干扰环境下,工作稳定性更强,长期使用不会出现OLED常见的烧屏、残影问题,更适配车载长期使用的场景需求。图2.3显示屏实物图2.3.3环境感知器件选型方案对比方案一:DHT11DHT11可直接输出校准后的数字温湿度信号,无需额外的AD转换电路,数据读取逻辑简单,测量精度为±2℃、±5%RH,完全满足汽车玻璃起雾判断的需求;电阻式雨量检测模块可直接输出与雨量对应的模拟电压信号,响应速度快,能实时捕捉雨量的连续变化,适配雨刷档位调节的需求;两者均采用5V供电,可直接与主控系统对接,外围电路设计简单,整体成本极低,适合车载低成本普及化方案。方案二:SHT30SHT30温湿度测量精度更高,温度精度可达±0.2℃,湿度精度±2%RH,测量范围更广,长期使用稳定性更强;光学雨量传感器采用红外光学检测原理,不受水质、玻璃污渍影响,测量精度更高,使用寿命更长,能识别更细微的雨量变化;两者抗电磁干扰能力更强,适合车载复杂的电磁环境。表2.3温湿度检测模块及余量检测模块选型对比对比参数DHT11+电阻式雨量模块SHT30+光学雨量传感器温湿度精度±2℃/±5%RH±0.2℃/±2%RH雨量检测原理电阻式红外光学AD转换需求无需(DHT11数字输出)无需外围电路复杂度简单复杂抗干扰能力一般强整体成本约12元约35元综合对比,本设计最终选用DHT11温湿度传感器+电阻式雨量检测模块的方案。其性能完全满足系统的功能需求,开发难度低,成本可控,外围电路设计简单,便于系统的集成与调试,更适合乘用车后装市场的普及化应用。图2.4温湿度传感器实物图图2.5雨量检测模块实物图2.3.4舵机驱动器件选型方案对比方案一:SG90微型舵机
SG90是一款常用的微型模拟舵机,重量仅9g,体积小巧,非常适合车载小空间的安装需求;其工作电压为4.8V~5V,可直接与系统的5V电源对接,无需额外的电源转换;最大扭矩可达1.8kg·cm,足以驱动模拟雨刷的小型负载,满足系统的雨刷摆动控制需求;采用标准的PWM控制方式,驱动逻辑简单,开发难度低;单模块成本仅约5元,性价比极高。方案二:MG996R标准舵机MG996R是一款金属齿轮的标准舵机,最大扭矩可达11kg·cm,负载能力极强,可驱动大尺寸的雨刷机构;采用金属齿轮,耐用性更强,抗冲击能力好,使用寿命更长;工作电压范围为4.8V~7.2V,适配性强;但该舵机重量达55g,体积较大,不利于车载小型化安装;成本较高,单模块约25元,对于本系统的小型模拟负载来说存在性能冗余。表2.4舵机选型对比对比参数SG90微型舵机MG996R标准舵机重量9g55g最大扭矩1.8kg·cm11kg·cm齿轮材质塑料金属体积21.5×11.8×22.7mm40.7×20.2×41.8mm工作电压4.8-5V4.8-7.2V成本约5元约25元综合对比,本设计最终选用SG90微型舵机。本系统为小型模拟车载除雾系统,雨刷负载较小,SG90的扭矩完全可以满足需求,同时其体积小巧、成本低廉,更适配本系统的小型化、低成本的设计需求。图2.6舵机实物图2.3.5按键输入器件选型方案对比方案一:独立按键
独立按键是最基础的输入器件,每个按键对应一个独立的GPIO引脚,驱动逻辑简单,开发难度极低;其采用物理按压的触发方式,具备明确的触觉反馈,支持驾驶员的盲操操作,无需视线转移即可完成操作,符合车载驾驶的安全需求;同时,独立按键抗干扰能力强,即使在驾驶员手部潮湿、车辆颠簸的情况下,也能准确触发,不会出现误触的问题;成本低廉,4个独立按键模块仅约3元,性价比极高。方案二:电容触摸按键电容触摸按键采用触摸感应的触发方式,无需物理按压,外观更简洁美观;支持多点触摸,界面设计更灵活;但触摸按键缺乏明确的触觉反馈,驾驶员操作时需要视线确认,容易分散驾驶注意力;同时,在车载环境下,驾驶员手部潮湿、车辆震动都容易导致触摸按键误触发,抗干扰能力较差;此外,触摸按键的驱动逻辑更复杂,需要额外的检测芯片,成本也更高,单模块约10元。表2.5按键模块选型对比对比参数独立按键电容触摸按键触发方式物理按压电容触摸触觉反馈有,支持盲操无,需视线确认湿手适应性好,无影响差,易误触抗干扰能力强,颠簸环境稳定弱,易误触发驱动复杂度简单复杂成本约3元约10元综合对比,本设计最终选用独立按键。车载场景下,驾驶安全是首要考虑的因素,独立按键的盲操能力、抗干扰能力更适配车载的使用需求,同时符合最新的车载交互法规要求,能够有效避免驾驶员分心,提升驾驶安全性。图2.7按键实物图2.3.6语音播报器件选型方案对比方案一:MY1680语音模块
MY1680是一款低成本的一次性可编程语音模块,可预先烧录固定的语音片段,本系统仅需要“雨量过大,谨慎驾驶”这一段预警语音,完全可以满足需求;模块采用串口通信方式,驱动逻辑简单,仅需发送简单的指令即可触发语音播放;模块集成了功放电路,可直接驱动喇叭,无需额外的放大电路;成本极低,单模块仅约8元,非常适合固定语音播报的场景。方案二:SYN6288TTS语音模块SYN6288是一款文本转语音模块,支持任意中文文本的实时语音合成,可动态播报任意内容,灵活性极高;支持多种音色、语速调节,功能丰富;但该模块成本较高,单模块约18元,对于本系统仅需要固定预警语音的需求来说,存在明显的功能冗余;同时,TTS模块的通信逻辑更复杂,开发难度更高,增加了系统的开发成本。表2.6语音模块选型对比对比参数MY1680语音模块SYN6288TTS模块功能固定语音播放任意文本转语音通信方式串口串口功放集成是是开发难度简单复杂功能冗余无,完全匹配需求高,无需动态文本成本约8元约18元综合对比,本设计最终选用MY1680语音模块。本系统仅需要固定的极端天气预警语音,MY1680完全可以满足需求,其成本更低,开发更简单,更适配本系统的低成本设计需求。图2.8语音模块实物图2.3.7继电器驱动器件选型方案对比方案一:普通5V继电器模块
普通5V继电器模块是最常用的开关控制模块,采用电磁继电器的机械开关结构,可直接控制220V/10A的负载,完全满足本系统除雾加热装置的负载需求;驱动逻辑简单,仅需高低电平即可控制继电器的吸合与断开;成本低廉,单模块仅约4元,性价比极高。方案二:光耦隔离继电器模块光耦隔离继电器模块通过光耦实现了控制端与负载端的电气隔离,能够有效隔离负载端的电磁干扰,提升系统的抗干扰能力,适合强电磁的工业场景;但该模块的成本较高,单模块约12元,对于本系统的小功率负载来说,隔离功能属于冗余设计;同时,光耦继电器的响应速度虽然更快,但本系统的除雾控制对响应速度要求不高,普通继电器的毫秒级响应完全可以满足需求。表2.7继电器选型对比对比参数普通5V继电器模块光耦隔离继电器模块隔离能力无光电隔离最大负载10A250VAC10A250VAC响应速度毫秒级微秒级抗干扰能力一般,满足小型系统强,适合工业场景驱动复杂度简单简单成本约4元约12元综合对比,本设计最终选用普通5V继电器模块。本系统为小型车载模拟系统,负载功率较小,电磁环境相对简单,普通继电器的抗干扰能力完全可以满足需求,同时其成本更低,更适配本系统的低成本设计需求。图2.9继电器实物图3系统的硬件设计3.1STM32F103C8T6单片机最小系统作为整个系统的控制核心,最小系统的稳定运行是所有功能实现的基础,其设计充分考虑了车载环境的电源波动与电磁干扰问题,确保芯片在复杂工况下仍能可靠工作。本设计中,最小系统包含电源电路、时钟电路、复位电路、下载电路四个核心部分,所有线路均采用短距离布线,减少信号干扰。电源电路采用MicroUSB接口输入5V电压,通过AMS1117-3.3V稳压芯片转换为3.3V稳定电压,为芯片提供工作电源。电源输入端并联100μF电解电容与0.1μF陶瓷电容,分别滤除电源中的高低频纹波,避免车载电源波动对芯片工作造成干扰。时钟电路采用8MHz无源晶振作为主时钟源,配合两个22pF负载电容组成振荡电路,为芯片提供精准的工作时钟;同时搭载32.768kHz无源晶振,为系统提供实时时钟基准,确保时序逻辑的精准性。复位电路采用按键复位与上电复位结合的设计,通过10K上拉电阻与104电容组成RC复位电路,确保芯片上电时完成可靠复位,同时设置复位按键,便于调试过程中手动复位。下载电路采用SWD串行调试接口,SWDIO与SWCLK引脚分别连接至芯片的PA13与PA14引脚,仅需两根信号线即可完成程序的烧录与在线调试,程序中通过对这两个引脚的功能配置,即可完成程序的下载与调试操作。整个最小系统设计简洁,具备完善的抗干扰与保护措施,能为系统提供稳定的控制核心。图3.1STM32F103C8T6单片机3.2LCD1602显示电路显示界面是驾驶员获取系统运行状态的核心渠道,LCD1602的电路设计直接决定了信息显示的稳定性与可靠性,本设计采用8位并行通信方式,充分发挥其传输速度快、响应及时的优势,避免汽车行驶过程中显示内容更新延迟的问题。本设计中,LCD1602的8位数据引脚D0~D7分别连接至STM32F103C8T6的PA0~PA7引脚。程序中通过对这些GPIO引脚的高低电平配置,完成显示指令与数据的发送,实现显示内容的实时刷新,无需额外的扩展芯片,电路接线简洁。图3.12写时序图3.13读时序显示屏的背光正极串联1K限流电阻后接5V电源,背光负极接地,通过限流电阻控制背光亮度,避免夜间行驶时背光过亮干扰驾驶员视线,同时也能延长背光的使用寿命。显示屏的VO引脚连接10K电位器的可调端,电位器两端分别接5V与GND,通过调节电位器的阻值,改变VO引脚的输入电压,实现显示屏对比度的精准调节,确保在强光、逆光等不同光照环境下,显示内容都能清晰可见。整个显示电路没有复杂的外围器件,抗干扰能力强,在汽车颠簸行驶的过程中,仍能保持稳定的显示效果,不会出现内容丢失、缺段或乱码的问题。图3.2LCD1602显示电路3.3DHT11温湿度检测电路玻璃起雾的核心判断依据是环境温湿度参数,DHT11的电路设计需要确保参数采集的精准性与实时性,本设计采用单总线通信方式,仅需一根数据线即可完成供电与双向数据传输,大幅简化了电路接线,也减少了车载复杂环境下线路干扰带来的采集误差。本设计中,DHT11的VCC引脚接5V电源,GND引脚接系统地,DATA引脚连接至STM32F103C8T6的PA3引脚,同时DATA引脚与VCC之间串联1K上拉电阻,确保总线在空闲状态下保持高电平,避免通信过程中出现信号跳变错误,保障通信时序的稳定性。在程序设计中,通过控制PB5引脚的输入输出模式切换,完成与DHT11的通信交互:先将引脚配置为推挽输出模式,拉低总线发送起始信号,再切换为浮空输入模式,等待DHT11的响应信号,随后读取40位的温湿度数据,完成参数采集。图3.3DHT11温湿度检测电路3.4雨量检测电路雨刷智能调速的核心是雨量参数的实时采集,雨量检测电路的设计需要精准捕捉雨量的连续变化,为雨刷档位调节提供可靠的依据,本设计采用电阻式雨量检测方案,能真实反映前挡风玻璃上的雨水覆盖情况,适配车载实际使用场景。本设计采用的电阻式雨量检测模块,核心是两片平行的梳状PCB电极,当雨水落在电极表面时,会改变电极之间的电阻值,雨量越大,电极间电阻越小,输出的模拟电压值越高,通过电压值的变化即可换算出雨量的大小。模块的VCC引脚接5V电源,GND引脚接系统地,模拟输出引脚AO连接至STM32F103C8T6的PB1引脚,程序中通过配置ADC通道,将采集到的模拟电压值转换为数字量,进而换算出对应的雨量等级数值。图3.4雨量检测电路3.5SG90舵机驱动电路雨刷的摆动动作通过SG90舵机实现,舵机驱动电路的设计需要确保动作响应及时,摆动角度精准,能适配不同档位的雨刷摆动频率,本设计直接通过主控定时器输出PWM信号驱动,无需额外的驱动芯片,电路设计简洁,响应延迟低。SG90舵机是一款小型模拟舵机,工作电压4.8V~6V,扭矩1.8kg・cm,完全满足模拟雨刷摆动的动作需求,其核心控制原理是通过输入不同占空比的PWM信号,控制舵机的旋转角度。本设计中,舵机的VCC引脚接5V电源,GND引脚接系统地,信号控制引脚PWM连接至STM32F103C8T6的PB12引脚,程序中通过配置定时器TIM2的PWM输出模式,产生周期20ms的PWM信号,通过改变高电平的持续时间,控制舵机在0°~180°范围内旋转,模拟雨刷的摆动动作。图3.5SG90舵机驱动电路3.6按键输入电路按键是驾驶员与系统进行交互的核心渠道,按键电路的设计需要确保操作响应灵敏,能适应汽车行驶过程中的颠簸环境,避免误触发或操作无响应的问题,本设计采用硬件消抖方案,相比软件消抖响应更及时,也不会占用主控的运算资源。本设计共设置4个独立按键,分别实现模式切换、参数加、参数减、启停控制的功能,每个按键都采用独立的电路设计,互不干扰。4个按键的一端分别连接至STM32F103C8T6的PB6~PB9引脚,另一端统一接系统地,每个引脚都通过10K电阻上拉至3.3V电源,确保按键未按下时,引脚保持稳定的高电平状态;当按键按下时,引脚直接接地,电平变为低电平,程序中通过循环扫描引脚的电平变化,判断按键是否被按下,进而执行对应的操作。图3.6按键输入电路3.7语音播报模块电路语音预警功能是提升驾驶安全性的重要设计,能在雨量过大等危险场景下,通过语音提醒驾驶员,避免驾驶员分散注意力查看显示屏,语音播报电路的设计需要确保声音清晰,触发响应及时,能适应车载的嘈杂环境。本设计采用MY1680语音播报模块,该模块内置音频解码芯片,可存储多段语音内容,支持串口指令触发播放,无需额外的音频解码电路,大幅简化了系统设计。模块的VCC引脚接5V电源,GND引脚接系统地,串口接收引脚RX连接至STM32F103C8T6的TX引脚PB10,模块的音频输出引脚直接连接5V喇叭,实现语音内容的播放。在程序设计中,通过USART1串口向模块发送对应的十六进制指令,即可触发指定语音内容的播放,当检测到雨量超过设定的最高阈值时,程序自动发送指令,触发“雨量过大,谨慎驾驶”的语音提醒。图3.7语音播报模块电路3.8继电器驱动电路除雾功能的执行通过继电器控制加热装置与风扇实现,继电器驱动电路的设计需要确保开关动作可靠,能有效隔离强电与弱电部分,避免车载电路的干扰影响主控系统的稳定运行,本设计采用光电耦合隔离的继电器模块,大幅提升了系统的安全性与抗干扰能力。本设计采用5V单路继电器模块,其内部包含光电耦合隔离电路,能实现主控电路与执行电路的电气隔离,避免除雾装置启停时的电流冲击影响主控系统。继电器模块的VCC引脚接5V电源,GND引脚接系统地,信号控制引脚IN连接至STM32F103C8T6的PB13引脚,继电器的常开触点串联在加热装置与风扇的供电回路中。在程序设计中,通过控制PB13引脚的高低电平,实现继电器的通断控制:当检测到环境湿度超过预设的除雾阈值时,PB13引脚输出低电平,继电器吸合,常开触点闭合,加热装置与风扇通电工作,输出热吹风实现除雾;当湿度降至阈值以下时,PB13引脚输出高电平,继电器断开,除雾装置停止工作。图3.8继电器驱动电路3.9总电路图设计在完成各个模块的单元电路设计后,需要将所有模块的电路进行整合,设计系统的总电路图,确保各个模块之间的连接正确,信号传输稳定。总电路图以STM32F103C8T6单片机为核心,将最小系统、温湿度检测、雨量检测、显示、按键、舵机、语音、继电器等所有模块的电路整合在一起,明确各个模块的电源、地以及信号引脚的连接关系。在总电路图的设计中,充分考虑了电源的分配,所有5V供电的模块统一连接至系统的5V电源,3.3V供电的部分连接至AMS1117输出的3.3V电源,确保电源的稳定。同时,所有模块的地都统一连接至系统的数字地,避免地电位差导致的信号干扰。信号引脚的连接严格遵循之前的单元电路设计,确保每个模块的信号引脚都连接到对应的STM32引脚,保证信号的正确传输。总电路图的设计完成后,通过了电气规则检查,确认所有的网络都没有开路、短路的问题,所有的引脚连接都正确,为后续的PCB设计提供了准确的依据。图3.9总电路图3.10PCB板设计完成总电路图的设计后,进行PCB板的设计,将所有的元器件集成到一块电路板上,提升系统的集成度与稳定性,同时适配车载的安装需求。本设计采用双面板的设计方案,顶层放置元器件与信号走线,底层放置剩余的信号走线与地平面,既保证了布线的灵活性,又降低了成本。在PCB的布局设计中,采用了分区布局的方式,将电源模块、主控模块、传感器模块、执行模块进行分区放置,避免不同模块之间的干扰。电源模块放置在PCB的边缘,靠近电源输入接口,方便电源的输入,同时在电源输入口放置了滤波电容,滤除电源的纹波。主控模块放置在PCB的中心位置,方便与各个模块的连接,缩短信号走线的长度。晶振电路靠近STM32的晶振引脚,走线长度控制在10mm以内,避免时钟信号的干扰。传感器模块放置在PCB的边缘,方便传感器的外接与安装。在布线设计中,电源线与地线的线宽设置为20mil,确保大电流的传输,信号线的线宽设置为10mil,满足信号传输的需求。所有的走线都采用45度拐角,避免90度拐角导致的信号反射。模拟信号与数字信号分开布线,避免数字信号对模拟信号的干扰,雨量传感器的模拟信号走线周围进行了包地处理,提升抗干扰能力。同时,在STM32的每个电源引脚旁边都放置了0.1μF的去耦电容,滤除高频噪声,提升系统的稳定性。图3.10PCB板4系统的软件设计4.1软件开发环境本系统的软件程序基于KeilMDK5开发环境编写,该环境是ARM公司推出的专业单片机开发工具,专为ARM内核的微控制器设计,具备完整的代码编辑、编译、调试、烧录全流程功能,是STM32系列单片机开发的主流环境。开发环境配套STM32标准外设库,封装了单片机外设的底层配置函数,大幅简化了GPIO、定时器、ADC、串口等外设的配置流程,降低了开发难度,提升了代码的可读性与可移植性。程序编写采用C语言,具备良好的兼容性与可移植性,执行效率高,能很好地适配车载实时控制的需求。开发过程中,配合J-Link仿真器,可实现程序的在线调试与硬件仿真,能快速排查程序中的逻辑问题,优化程序执行效率。图4.1Keil_5软件界面4.2软件程序的设计4.2.1主程序运行流程系统的主流程图如图4.2所示,主程序是整个系统软件的核心,采用顺序执行的循环结构,确保系统各项功能有序执行,响应及时,其整体执行流程严格遵循车载实时控制的需求,避免出现执行卡顿与响应延迟。系统上电后,首先执行初始化程序,完成时钟系统配置、GPIO引脚模式配置、定时器参数配置、ADC通道配置、串口参数配置、LCD1602显示屏初始化、DHT11传感器初始化、系统默认参数配置等操作,确保所有外设都能进入正常工作状态。初始化完成后,在LCD1602显示屏上显示系统初始运行界面,随后进入无限主循环,循环过程中依次执行按键扫描与处理、环境参数采集、工作模式判断与逻辑处理、显示内容更新、执行机构控制、语音预警触发六大核心操作,整个流程循环往复,单次循环执行时间不超过20ms,确保系统能实时响应环境变化与驾驶员的操作指令。初始化阶段,系统会对各项参数进行默认配置,包括雨量低阈值50、雨量高阈值100、湿度除雾阈值60、默认自动工作模式、雨刷初始停止档位等,确保系统上电后即可进入正常工作状态,无需驾驶员额外配置。同时,程序中设置了完善的异常处理机制,当传感器采集数据异常时,会保留上一次的有效数据,避免无效数据导致的误操作,确保系统运行的稳定性。部分代码如下:#include"led.h"#include"delay.h"#include"sys.h"#include"key.h"#include"timer.h"#include"lcd1602.h"#include"usart3.h"#include"exti.h"#include"dht11.h"u8temperature; //温度值u8humidity; //湿度值unsignedcharstr_s[5];u8moshi=0;u16rain_l=50; //设置值u16rain_h=100;u16humi_h=60;unsignedcharstr_rs[4];u8ms_flag=1; //模式标志位图4.2系统逻辑流程图4.2.2按键处理子程序流程按键子程序流程图如图4.3所示,按键处理程序采用循环扫描的方式,每20ms执行一次扫描操作,避免扫描过于频繁占用主控资源,同时也能确保操作响应的及时性,适配驾驶员行驶过程中的操作需求。程序中首先读取4个按键对应IO口的电平状态,判断是否有按键按下,若检测到按键按下,根据按键的编号与当前系统所处的界面,执行对应的操作,不同界面下的按键功能相互隔离,不会出现误操作。模式切换按键按下时,系统会在运行界面与三个参数设置界面之间循环切换,切换时会清空显示屏,显示对应界面的内容,确保驾驶员能清晰了解当前所处的操作界面;参数加、减按键仅在参数设置界面生效,按下时会对对应的阈值参数进行增减操作,同时限制参数的上下限,避免参数设置超出合理范围;启停控制按键仅在运行界面生效,按下时会切换系统的运行与停止状态,停止状态下,系统仅保留参数采集与显示功能,不执行任何控制操作,确保驾驶员能根据需求灵活控制系统的工作状态。部分代码如下: { LCD1602_Write_Cmd(0x01); //清屏 moshi++; if(moshi>3)moshi=0; if(moshi==0) { LCD1602_Show_Str(4,0,"Lv.1"); LCD1602_Show_Str(9,0,"T:C"); LCD1602_Show_Str(0,1,"Rain:H:%RH"); LCD1602_Set_Cursor(13,0);//设置起始地址 LCD1602_Write_Dat(0xdf); }图4.3按键子程序流程图4.2.3语音子程序流程数据显示子程序流程如下图4.4所示,语音预警程序采用串口指令触发的方式,程序中预设了不同场景对应的语音触发指令,当检测到对应的触发条件时,程序通过串口向语音模块发送对应的指令,触发语音内容的播放,无需驾驶员查看显示屏,即可获取关键的预警信息。当雨量数值超过预设的最高阈值时,触发“雨量过大,谨慎驾驶”的语音提醒;当系统模式切换时,会触发对应的模式提示语音,让驾驶员无需查看显示屏,即可了解系统当前的工作模式。程序中设置了语音播放的最小间隔,同一触发条件在30秒内不会重复触发语音播放,避免语音频繁播报干扰驾驶员驾驶,同时也保留了紧急场景下的重复提醒功能,确保驾驶员能及时获取预警信息。整个程序的设计充分考虑了驾驶安全性,不会因为语音播报分散驾驶员的注意力,同时能在危险场景下及时提醒驾驶员,有效提升了雨雪天气下的行车安全性。部分代码如下://语音预警子程序(MY1680模块)voidVoice_Warning(void){//播放"雨量过大,谨慎驾驶"指令(帧头+命令+曲目+校验)u8voice_cmd[]={0xAA,0x02,0x01,0xAD};staticu32last_play_time=0;last_play_time=sys_tick;//更新播放时间戳}}图4.4语音子程序流程图4.2.4显示子程序流程显示子程序是系统人机交互的核心,负责将温湿度、雨量、工作模式、阈值参数等数据实时刷新至LCD1602显示屏,确保驾驶员快速获取系统状态。程序采用分界面刷新机制,上电初始化后先完成显示屏清屏、光标设置、对比度配置等基础操作,随后进入循环刷新逻辑。程序首先读取当前模式标志位,判断处于运行界面或参数设置界面:运行界面按固定坐标依次显示雨刷档位、温度值、湿度值、雨量实时值,对数值进行字符转换与补零处理,保证显示格式规整;参数设置界面则对应显示雨量低阈值、雨量高阈值、湿度除雾阈值,同步刷新参数修改结果。显示过程严格遵循LCD1602的8位并行通信时序,先发送指令码设置光标位置,再发送数据码完成字符写入,每帧数据写入后加入短延时,确保数据传输稳定。程序加入异常显示保护,当传感器数据异常时,对应位置显示“Err”提示码,避免无效数据干扰判断。显示子程序刷新周期设为20ms,既保证信息实时更新,又不会因频繁刷新导致屏幕闪屏,适配车载行驶中颠簸、电磁干扰的复杂环境,始终保持显示清晰、无乱码、无缺段。部分代码如下: LCD1602_Init(); //显示屏初始化 LCD1602_Write_Cmd(0x01); //清屏 LCD1602_Show_Str(9,0,"T:C"); LCD1602_Show_Str(0,1,"Rain:H:%RH"); LCD1602_Set_Cursor(13,0);//设置起始地址 LCD1602_Write_Dat(0xdf); DHT11_Init(); EXTIX_Init(); //外部中断初始化 while(1) { Key_process(); // if(moshi==0) { DHT11_Read_Data(&temperature,&humidity); //读取温湿度值 LCD_ShowNum(11,0,temperature,2); //显示温度 LCD_ShowNum(11,1,humidity,2); //显示湿度 len=IntToString(str_s,speed_v0);//转换成字符串 while(len<3)//用空格补齐到3个字符长度 { str_s[len++]=''; }图4.5显示子程序流程图4.2.5温湿度检测子程序流程温湿度检测子程序基于DHT11单总线通信协议设计,核心功能是精准采集车内环境温湿度数据,为自动除雾提供判断依据。程序上电后先初始化DATA引脚通信模式,默认设置为浮空输入,等待主程序调用。采集启动时,主控先将引脚配置为推挽输出,拉低总线18ms发送起始信号,随后切换为浮空输入并释放总线,等待DHT11的响应信号。若80μs内未检测到低电平响应,判定传感器通信异常,程序保留上一次有效数据并退出采集;若响应正常,则继续读取40位串行数据,依次为湿度整数、湿度小数、温度整数、温度小数及校验位。数据读取过程通过判断电平持续时间区分“0”和“1”,每位数据读取后存入缓存区。40位数据接收完成后,执行校验和判断,若校验结果不匹配则丢弃本次数据,匹配则拆分温度、湿度有效数据并存储至全局变量。程序设置500ms采集间隔,避免频繁读取导致传感器发热失真,同时加入数据滤波处理,消除车载环境轻微干扰,确保采集精度满足除雾阈值判断需求。部分代码如下: DHT11_Read_Data(&temperature,&humidity); //读取温湿度值 LCD_ShowNum(11,0,temperature,2); //显示温度 LCD_ShowNum(11,1,humidity,2); //显示湿度 len=IntToString(str_s,speed_v0);//转换成字符串 while(len<3)//用空格补齐到3个字符长度 { str_s[len++]=''; } str_s[len]='\0';//添加字符串结束符 LCD1602_Show_Str(5,1,str_s);//显示到液晶屏上 if(ms_flag==0) //自动模式 { LED1=0;LED2=1; if(speed_v0>0) { if(speed_v0<rain_l)k1_flag=1; elseif(speed_v0>rain_h)k1_flag=3; elsek1_flag=2; }图4.6温湿度检测子程序流程图4.2.6雨量检测子程序流程雨量检测子程序依托电阻式雨量传感器与STM32ADC模数转换功能实现,用于实时获取外界雨量大小,为雨刷智能调速提供数据支撑。程序首先初始化ADC1通道,配置PB1引脚为模拟输入模式,开启采样时钟与连续转换功能,确保电压采集稳定。采集时启动ADC转换,等待转换完成后读取原始模拟量数值,为消除车载电源波动、电磁干扰带来的瞬时误差,程序采用连续5次采样取平均值的软件滤波算法,提升数据可靠性。滤波后的数值按预设区间映射为雨量等级,划分无雨、小雨、中雨、大雨四档,分别对应雨刷停止、1档、2档、3档控制逻辑。程序同步判断雨量是否超出最高预警阈值,若超标则置位语音触发标志位。采集周期设定为100ms,兼顾实时性与主控资源占用。若采集数值超出正常量程范围,判定传感器故障,程序自动标记雨量异常状态,暂停雨刷自动控制并在显示屏提示故障码,避免因数据异常导致雨刷误动作,保障系统运行安全。部分代码如下://雨量检测子程序(ADC1通道PB1)u16Rain_Detect(void){u32adc_sum=0;//连续5次采样取平均值滤波for(u8i=0;i<5;i++){ADC_SoftwareStartConvCmd(ADC1,ENABLE);while(!ADC_GetFlagStatus(ADC1,ADC_FLAG_EOC));adc_sum+=ADC_GetConversionValue(ADC1);}u16rain_value=adc_sum/5;//自动模式下映射雨刷档位if(ms_flag==1&&kg_flag==1){k1_flag=(rain_value<rain_l)?1:(rain_value<rain_h?2:3);voice_flag=(rain_value>rain_h)?1:0;//触发语音预警标志}returnrain_value;}图4.7雨量检测子程序流程图4.2.7舵机子程序流程舵机子程序负责驱动SG90舵机模拟雨刷摆动动作,根据雨刷档位实现不同频率的往复旋转,精准匹配雨量变化的控制需求。SG90舵机采用20ms周期PWM信号驱动,高电平持续时间0.5ms~2.5ms对应0°~180°旋转角度,程序依托定时器TIM2生成稳定PWM波形,控制PB12引脚输出占空比信号。子程序首先读取雨刷档位标志位与系统启停状态,若系统处于停止模式,舵机自动复位至0°初始位置并保持静止;若系统运行,按档位执行对应摆动逻辑。1档雨刷采用低频摆动,0°→180°→0°单次循环延时500ms;2档中频摆动,循环延时300ms;3档高频摆动,循环延时100ms。手动模式下直接响应按键档位指令,自动模式下匹配雨量检测子程序输出的等级信号。程序加入角度校准逻辑,将旋转误差控制在3°以内,摆动过程中加入短延时缓冲,避免舵机因快速换向出现抖动、卡顿。同时检测PWM输出状态,异常时切断驱动信号,保护舵机与主控电路,确保雨刷模拟动作平稳、响应及时。部分代码如下://舵机雨刷控制子程序(TIM2_CH1PB12)voidServo_Wiper_Control(void){staticu8dir=0;//摆动方向:0→180°,1→0°u16speed[]={0,500,300,100};//1/2/3档对应摆动间隔(ms)//系统停止或雨刷关闭时复位到初始位置if(kg_flag==0||k1_flag==0){TIM_SetCompare1(TIM2,500);return;}//控制舵机往复摆动TIM_SetCompare1(TIM2,dir?500:2500);delay_ms(speed[k1_flag]);//按档位调节摆动速度dir=!dir;//切换摆动方向}图4.8舵机子程序流程图5系统的测试5.1软件单元性能测试为了确保系统能稳定实现所有预设功能,本系统的调试工作分为三个阶段依次进行,逐步排查并解决设计中存在的问题,优化系统的运行效果。第一阶段为硬件单元测试,对焊接完成的各个硬件模块进行单独测试,使用万用表、示波器等工具,检查电路是否存在短路、虚焊、错接等问题,测量电源输出电压是否符合设计要求,验证每个模块能否独立正常工作,确保硬件电路不存在基础问题。第二阶段为软件程序调试,先在STM32开发板上完成程序的编写与分模块调试,依次验证每个子程序的功能实现效果,排查程序中的逻辑bug,优化程序的执行效率,确保每个功能都能按照设计要求正常执行,程序运行稳定,无卡死、异常复位等问题。第三阶段为软硬件联合调试,将调试完成的程序烧录到焊接完成的硬件系统中,对系统的所有功能进行联调,模拟车载实际使用场景,测试系统的各项功能,排查硬件与软件配合中出现的问题,优化程序逻辑与硬件电路,确保系统能稳定实现所有预设功能,满足设计要求。5.2硬件功能完整性测试硬件单元测试针对系统的各个硬件模块进行单独测试,验证每个模块的工作状态是否符合设计要求,测试结果如下:最小系统测试中,上电后测量3.3V输出电压,电压值稳定在3.28V~3.32V之间,符合设计要求,晶振起振正常,程序烧录与在线调试功能正常,芯片工作稳定,无异常发热、复位等问题。显示模块测试中,上电后显示屏正常点亮,对比度调节功能正常,能清晰显示预设的字符内容,无乱码、缺段、闪屏等问题,背光亮度适中,不同光照环境下可视性良好。传感器模块测试中,通过串口打印采集到的温湿度与雨量数值,数值能随环境变化实时更新,采集精度符合设计要求,数据传输稳定,无丢包、跳变等问题。执行模块测试中,舵机能根据PWM信号精准旋转,角度控制误差不超过3°,动作响应及时,无卡顿、抖动问题;继电器通断动作正常,吸合与断开响应及时,无粘连、误动作问题;语音模块能根据串口指令播放对应的语音内容,音量清晰,无杂音、断音问题。所有硬件模块都能正常工作,性能指标符合设计要求,为系统的联合调试奠定了良好的基础。5.3实物功能测试5.3.1模式切换功能测试测试过程中,按下模式切换按键,系统能在运行界面与三个参数设置界面之间正常循环切换,界面切换时显示屏内容同步更新,无卡顿、乱码问题,不同界面下的按键功能隔离正常,无误触发情况,功能完全符合设计要求。图5.1模式切换功能测试5.3.2雨刷智能调速功能测试自动模式下,改变雨量检测模块的输入信号,模拟不同的雨量环境,系统能根据雨量大小自动切换雨刷档位,档位切换响应及时,摆动频率与档位匹配,无动作卡顿、延迟问题,功能完全符合设计要求。图5.2雨刷智能调速功能测试5.3.3除雾自动触发功能测试通过加湿环境模拟玻璃起雾场景,当环境湿度超过预设阈值时,系统能自动吸合继电器,启动除雾装置;湿度降至阈值以下时,能自动断开继电器,停止除雾,回差区间功能正常,无频繁通断问题,符合设计要求。图5.3除雾自动触发功能测试5.3.4温湿度采集功能测试温湿度采集功能测试的目的是验证系统的温湿度采集是否准确,是否能够实时反映环境的温湿度变化。测试过程中,使用标准的温湿度计作为参考,对比系统采集到的温湿度数据:在常温环境下,标准温湿度计显示温度为25℃,湿度为50%RH,系统采集到的温度为25℃,湿度为51%RH,误差在允许范围内;然后将DHT11放置在空调出风口,温度降低到20℃,湿度降低到40%RH,系统采集到的温度为19℃,湿度为41%RH,误差仍然在DHT11的精度范围内。重复测试10次,采集的误差都在±2℃/±5%RH的范围内,符合设计要求,测试结果表明温湿度采集功能正常。图5.4温湿度采集功能测试5.3.5雨量采集功能测试雨量采集功能测试的目的是验证系统的雨量采集是否准确,是否能够正确识别雨量的变化。测试过程中,在雨量传感器的电极板上滴加不同量的水,记录系统采集到的雨量值:当没有水滴时,系统采集到的雨量值为0,对应无雨;当滴加1滴水时,雨量值为30,对应小雨;当滴加5滴水时,雨量值为60,对应中雨;当滴加10滴水时,雨量值为90,对应大雨。每次滴加水后,系统都能够在1s内更新雨量值,并且数值的变化与雨量的变化一致,测试结果表明雨量采集功能正常。图5.5雨量采集功能测试5.3.6LCD显示功能测试LCD显示功能测试的目的是验证LCD是否能够正确显示所有的系统信息,是否能够实时更新。测试过程中,改变系统的各个参数,观察LCD的显示是否同步更新:改变工作模式,LCD的模式显示同步更新;改变温湿度与雨量,LCD的参数显示同步更新;改变雨刷档位,LCD的档位显示同步更新;触发除雾后,LCD的除雾状态同步更新。测试过程中,所有的信息都能够正确显示,没有出现乱码、缺段、闪屏的问题,显示清晰,在强光下也能够清晰可见,测试结果表明LCD显示功能正常。图5.6LCD显示功能测试5.3.7按键输入功能测试按键输入功能测试的目的是验证按键是否能够正确响应驾驶员的操作,是否能够避免误触。测试过程中,逐个按下四个按键,观察系统的响应:按下模式键,模式正常切换;按下加键,参数正常增加;按下减键,参数正常减少;按下启停键,系统正常启停。同时,测试按键的消抖功能,快速的按动按键,系统都能够正确识别,没有出现误触发或者漏触发的情况。即使在手部潮湿的情况下,按键也能够正常触发,没有出现无法识别的情况,测试结果表明按键输入功能正常。图5.7按键输入功能测试5.3.8语音预警功能测试语音预警功能测试的目的是验证语音预警是否能够在雨量超标时正常触发。测试过程中,向雨量传感器滴加大量的水,使雨量超过预设的预警阈值:当雨量超过阈值后,系统立即触发语音播报,播放“雨量过大,谨慎驾驶”的预警语音,声音清晰,能够清晰听到。当雨量降低到阈值以下后,预警停止,并且不会重复播放语音,避免打扰驾驶员。重复测试5次,每次都能够正确触发语音预警,没有出现无法播放或者播放错误的情况,测试结果表明语音预警功能正常。图5.8语音预警功能测试5.3.9继电器控制功能测试开展继电器控制功能测试,核心目的是核验继电器器件能否按照设定逻辑,准确完成对车载除雾装置启动与停止的控制动作。测试过程中,改变周边环境的湿度数值,观察继电器的运行状态变化。一旦环境湿度数值超出预先设定的临界阈值,继电器做出响应并完成吸合动作,现场能够听见清晰的机械吸合声响,除雾装置供电回路顺利导通,设备随即启动并保持正常工作状态。当环境湿度逐步下降,回落至设定阈值范围之下时,继电器随即断开电路,除雾装置失去供电后即刻停止运转。本次测试还同步核验继电器实际负载承载能力,外接功率为100瓦的加热配套装置进行实操检验。通电运行过程中,继电器依旧可以平稳顺畅驱动负载设备工作,器件触点表面温度保持正常,没有出现异常发烫发热问题,也未发生动作卡顿、无法正常吸合的故障问题。按照规范流程连续反复进行五次循环测试,每一次湿度触发条件变化后,继电器都可以稳定可靠完成吸合与断开动作,动作响应灵敏无偏差。结合全程测试观测到的各项现象综合判定,该继电器各项控制性能稳定可靠,控制功能整体运行正常。图5.9继电器控制功能测试结论本文针对传统车载手动除雾与雨刷系统存在的安全隐患,设计了一套基于STM32单片机的汽车除雾智能调控系统,完成了系统的需求分析、方案设计、硬件电路设计、软件程序编写与测试验证全流程工作,实现了预设的所有功能。本系统以STM32F103C8T6为控制核心,整合了环境参数采集、雨刷智能调控、自动除雾、人机交互、语音预警等多项功能,可根据环境变化自动完成雨刷档位调节与除雾装置启停控制,无需驾驶员手动操作,有效降低了驾驶过程中的手动操作频率,避免了操作分散注意力带来的安全隐患。同时,系统支持手动/自动模式切换与参数自定义设置,可适配不同的使用环境与驾驶员的操作习惯,具备较强的灵活性与实用性。经过系统的软硬件调试与功能测试,本系统运行稳定,响应及时,各项功能都能正常实现,性能指标符合设计要求,能有效提升雨雪天气下的行车安全性,且系统成本低廉,开发难度低,适合在经济型乘用车中普及应用,具备较强的推广价值。参考文献[1]王娟.基于单片机智能窗户控制系统[J].[2]马柯研,高红梅,杨强,等.针对高原气候的窗户智能控制系统的设计与实现[J].电子制作,2023,31(5):6.[3]王朝红,王明琦,张宏,王万江.智能多功能全天候百叶节能窗的被动式通风原理[J].建筑节能(中英文),2022,50(7):1-9.[4]徐子鹏,朱浩闻,龚
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年航空职业技能鉴定考试-民航货运员历年参考题库含答案解析
- 2026年社会人文社会文化知识竞赛-海峡两岸知识竞赛历年参考题库含答案解析
- 2026年石油石化技能考试-汽轮机辅机值班员历年参考题库含答案解析
- 2026年生活时尚-装修知识历年参考题库含答案解析
- 2026年甘肃住院医师-甘肃住院医师超声医学科历年参考题库含答案解析
- 2026年特岗教师招聘考试-小学特岗教师招聘历年参考题库含答案解析
- 2026年煤炭矿山职业技能鉴定考试-煤矿搬运工历年参考题库含答案解析
- 2026年火电电力职业技能鉴定考试-除氧站考试历年参考题库含答案解析
- 2026年火电电力职业技能鉴定考试-内燃机发电工历年参考题库含答案解析
- 2026年湖北住院医师-湖北住院医师放射科历年参考题库含答案解析
- 2026年秋季学期“1530”安全教育记录表1
- 《灵芝孢子油》课件
- 临朐县基准地价应用手册2023
- 2025年中秋国庆假期水上交通安全生产方案范文
- 塔吊吊装作业一会三卡样表(安全生产班前会、作业要点卡、风险提示卡、应急处置卡)
- 薪资管理系统初始化设置
- 科大讯飞智慧教育产品的个性化学习解决方案
- 高三日语复习4:高考日语自他动词
- HG+20231-2014化学工业建设项目试车规范
- 众神的山川山海经与上古地理、历史及神话的重建
- 基坑支护旋挖灌注桩技术交底
评论
0/150
提交评论