基于交通标志识别的自动驾驶小车设计_第1页
基于交通标志识别的自动驾驶小车设计_第2页
基于交通标志识别的自动驾驶小车设计_第3页
基于交通标志识别的自动驾驶小车设计_第4页
基于交通标志识别的自动驾驶小车设计_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

基于交通标志识别的自动驾驶小车设计目录摘要 IIIAbstract II1绪论 41.1研究背景及意义 41.2国内外研究现状 51.3设计主要功能 51.4本章小结 72系统总体设计方案 82.1自动驾驶小车系统功能概述 82.2整体方案设计 82.3硬件介绍 92.3.1主控芯片 92.3.2K230摄像头模组 102.3.3直流减速电机 112.3.4SDC9150电机驱动芯片 122.3.5霍尔速度检测模块 132.3.6蜂鸣器 132.3.7OLED显示模块 142.4本章小结 153系统硬件设计方案 163.1单片机最小系统 163.2电源电路 173.3K230摄像头模块电路 183.4电机驱动模块电路 183.5速度检测模块电路 203.6OLED显示模块电路 203.7蜂鸣器模块电路 2128513.8整体电路设计 223.9PCB板设计 233.10本章小结 244系统软件设计方案 194.1编程软件介绍 194.2系统主程序介绍 194.3OLED显示刷新程序 214.4识别结果逻辑处理程序 224.6本章小结 235系统测试及分析 245.1软件部分调试 245.2硬件部分调试 255.3测试结果分析 255.3.1停止标志识别 255.3.2转向标志识别 265.3.3限速标志识别 265.3.4鸣笛标志识别 275.4本章小结 27结论 29参考文献 30致谢 32附录 33

摘要随着智能驾驶技术的快速普及,面向教育与科普场景的小型自动驾驶小车,成为嵌入式技术与机器视觉融合应用的重要载体。传统教学用小车多依赖手动遥控,缺乏自主环境感知与决策能力,难以满足智能驾驶基础原理验证的需求。针对这一问题,本文设计一款以STM32F103C8T6单片机为核心控制器的自动驾驶小车系统,通过K230摄像头完成交通标志的实时采集与识别,结合速度检测模块获取小车实时运行数据,经主控单元处理后,控制直流电机完成停止、左转、右转、分级限速等动作,同时驱动蜂鸣器实现鸣笛提示,通过OLED显示屏完成车速与运行状态的实时展示。经实际测试,该系统可稳定完成预设的交通标志识别与自动驾驶控制功能,可应用于智能驾驶教学实训、青少年科普等场景,为小型智能移动平台的设计提供了可参考的实现方案。关键词自动驾驶小车;交通标志识别;STM32单片机;K230摄像头;电机驱动

AbstractWiththerapidpopularizationofintelligentdrivingtechnology,smallautonomousdrivingvehiclesforeducationandpopularsciencescenarioshavebecomeanimportantcarrierfortheintegratedapplicationofembeddedtechnologyandmachinevision.Traditionalteachingvehiclesmostlyrelyonmanualremotecontrol,lackingindependentenvironmentperceptionanddecision-makingability,whichisdifficulttomeetthedemandforverificationofthebasicprinciplesofintelligentdriving.Tosolvethisproblem,thispaperdesignsanautonomousdrivingvehiclesystemwithSTM32F103C8T6single-chipmicrocomputerasthecorecontroller.Itrealizesreal-timecollectionandrecognitionoftrafficsignsthroughK230camera,obtainsreal-timeoperationdataofthevehiclewiththespeeddetectionmodule,andcontrolstheDCmotortocompleteactionssuchasstop,leftturn,rightturnandgradedspeedlimitafterprocessingbythemaincontrolunit.Atthesametime,itdrivesthebuzzertorealizewhistleprompt,andcompletesthereal-timedisplayofvehiclespeedandoperationstatusthroughOLEDdisplayscreen.Actualtestsshowthatthesystemcanstablycompletethepresettrafficsignrecognitionandautomaticdrivingcontrolfunctions,andcanbeappliedtoscenariossuchasintelligentdrivingteachingtrainingandyouthsciencepopularization,providingareferableimplementationschemeforthedesignofsmallintelligentmobileplatforms.KeywordsAutonomousDrivingVehicle;TrafficSignRecognition;STM32Single-ChipMicrocomputer;K230Camera;MotorDr 1绪论1.1研究背景及意义当前汽车产业正朝着智能化、网联化方向快速迈进,自动驾驶技术作为产业转型的核心驱动力,其底层技术原理的教学与科普工作愈发重要。在高等院校测控技术与仪器、自动化、电子信息工程等相关专业的教学实践中,小型自动驾驶小车是衔接理论知识与工程实践的关键载体,能够帮助学生直观、清晰地理解自动驾驶系统中感知、决策、执行三大模块的工作逻辑,是开展智能控制、机器视觉、嵌入式开发等课程实践的重要工具[1]。目前,高校教学中所使用的小型小车平台仍存在明显不足。传统教学用小车大多以红外循迹、蓝牙遥控为核心功能,仅能实现简单的固定路径跟随,无法完成基于机器视觉的交通标志识别及自主决策控制,与当前实际自动驾驶技术的发展现状存在较大差距,难以满足学生对前沿技术实践学习的需求。与此同时,现有少数具备视觉识别功能的小车平台,普遍存在硬件成本偏高、开发门槛较高、功能固化难以调整等问题,无法很好地适配本科教学中要求的二次开发、技术原理验证等核心需求,不利于学生动手能力和创新思维的培养[2]。针对上述教学实践中的痛点,本设计得以提出。本设计以STM32单片机作为核心控制器,搭配K230视觉模块,构建一款具备实时交通标志识别功能的自动驾驶小车,可实现对停止、限速、转向、鸣笛等常见交通标志的精准识别,并根据识别结果自主调整行驶状态,包括车速调节、方向控制及声光提示等。该系统不仅能够有效提升小型自主控制装置的智能化水平,更可作为机器视觉与嵌入式技术深度融合的实践教学平台,帮助学生深入掌握自动驾驶核心技术的实现流程,打通理论知识与工程应用之间的壁垒。因此,本课题的研究具有明确的理论指导意义和实际工程应用价值[3]。综上,基于交通标志识别的自动驾驶小车设计,既贴合当前自动驾驶技术的发展趋势,又能有效解决高校相关专业教学实践中的实际问题,兼具技术创新性与应用迫切性。通过该小车的设计与应用,不仅能为教学实践提供便捷高效的工具,更能助力学生提升工程实践能力,同时其核心技术也可为小型智能移动设备的研发提供参考,为相关领域的技术应用带来便利,交通标志识别如图1.1所示。

图1.1交通标志识别1.2国内外研究现状国外小型智能移动平台的研究起步较早,技术体系相对成熟。在高校教学与科研领域,主流技术路线可分为两类:一类是基于高性能处理器(如多核ARM、边缘计算芯片)和Linux系统的平台,搭配激光雷达、深度相机等传感器,能够实现复杂环境下的自主导航与路径规划,但硬件成本较高、开发门槛大[4],主要适配研究生或高年级本科生的创新实践;另一类是基于通用单片机(如STM32、Arduino)的低成本平台,侧重于基础的运动控制与简单传感器应用,但通常缺乏高效的机器视觉能力,难以完成交通标志识别等复杂感知任务[5]。企业推出的商业化教学套件同样呈现两极分化:高端产品集成深度学习加速模块,性能强劲但价格昂贵;低端产品功能固化、二次开发空间有限,无法满足灵活的教学验证需求[6]。国内方面,随着智能网联汽车产业的快速发展,高校与科研机构在教学用自动驾驶小车领域形成了类似的技术格局[7]。部分高水平院校与企业合作,引入量产自动驾驶车辆或高性能开发平台,支撑前沿技术的研究生教学;与此同时,更多普通高校和本科低年级教学则受限于成本和技术难度,仍普遍采用传统单片机小车,以红外循迹、蓝牙遥控等功能为主,缺乏对机器视觉和自主决策核心原理的实践支撑。少量基于单片机与视觉模块结合的设计,虽能实现简单的交通标志识别,但往往存在识别类型少、控制逻辑单一、实时性不足等问题,难以完整复现自动驾驶的分级控制逻辑[7]。综合来看,现有研究与产品主要存在两类问题:一是高性能、高成本的方案开发门槛过高,不适用于本科基础教学;二是低成本的简易方案功能过于单一,无法覆盖自动驾驶“感知-决策-执行”的核心技术链。本设计正是在这一背景下,采用STM32通用单片机搭配K230视觉模组,既通过硬件加速弥补传统单片机视觉识别实时性不足的缺陷,又有效控制成本和开发难度,力求在识别精度、实时性与教学适配性之间取得平衡,满足本科全阶段的教学与实践需求。1.3设计报告结构本文共分为五个核心章节,完整阐述基于交通标志识别的自动驾驶小车的设计与实现全过程,各章节的核心内容安排如下。第一章为绪论,首先阐述本设计的研究背景与实际应用意义,梳理国内外小型自动驾驶小车与交通标志识别技术的研究现状,明确现有方案的不足与本设计的核心目标,同时介绍系统的主要功能与全文的章节结构安排。第二章为系统总体设计方案,首先概述自动驾驶小车系统的整体功能与运行逻辑,明确系统的设计思路与整体架构,同时对系统核心硬件的选型依据与基本参数进行详细介绍,说明各硬件单元在系统中的作用与匹配逻辑。第三章为系统硬件设计方案,详细阐述系统各单元的电路设计细节,包括单片机最小系统、电源电路、摄像头模块电路、电机驱动电路、速度检测电路、显示电路、蜂鸣器电路等,同时介绍系统整体电路的集成设计与PCB板的绘制思路,说明硬件设计的核心考量。第四章为系统软件设计方案,首先介绍系统开发所用的Keil5编程软件,随后阐述系统主程序的运行流程与核心逻辑,同时分别介绍识别结果处理、运动控制、显示刷新等核心子程序的设计思路与执行逻辑,完整说明系统软件的实现过程。第五章为系统测试与分析,分别完成系统软件部分与硬件部分的调试流程说明,针对系统的核心功能开展逐项测试,记录测试数据并分析测试结果,明确系统设计的优势与存在的不足,验证系统功能的完整性与运行稳定性。最后为结论部分,总结本设计完成的核心工作与实现的功能,说明设计的实际应用价值,同时针对系统存在的不足提出后续的优化方向。1.4本章小结本章首先阐述了基于交通标志识别的自动驾驶小车设计的研究背景与意义,指出现有教学用智能小车平台普遍存在成本高、开发门槛高、功能与实际教学需求不匹配等问题,难以满足本科阶段对自动驾驶核心原理的实践验证需求。通过梳理国内外相关研究现状,归纳出当前主流方案的两极分化态势:高性能平台(如树莓派、JetsonNano)识别能力强但成本和难度过高,而低成本的单片机平台又缺乏高效的视觉识别能力,控制逻辑简单[8]。基于此,本设计明确了自身的定位:以STM32通用单片机为核心,搭配K230视觉模组完成硬件加速识别,在保证识别精度和实时性的前提下,有效控制成本和开发门槛,实现“感知-决策-执行”完整链路的教学验证。最后,本章概述了系统应实现的四大核心功能——交通标志识别、自主运动控制、状态监测与人机交互,为后续的硬件电路设计、软件程序开发与系统调试指明了方向。2系统总体设计方案2.1自动驾驶小车系统功能概述本设计搭建的自动驾驶小车系统,可在预设的模拟道路场景中,通过视觉识别完成交通标志的自主检测与解析,并根据识别结果完成对应的运动控制,完整实现小型车辆的自动驾驶基础功能。系统运行过程中,首先由视觉采集单元完成模拟道路场景的实时图像采集,通过内置的识别算法完成七类基础交通标志的检测与分类,将识别结果通过串口传输至主控单元。主控单元接收到识别结果后,结合速度检测单元采集的实时车速数据,按照预设的控制逻辑完成决策输出,向电机驱动单元发送对应的控制信号,调整小车的运行状态,包括前进、停止、左转、右转与分级限速。同时,系统将实时车速、当前运行状态、识别到的交通标志类型等信息,通过OLED显示屏完成实时展示,在接收到鸣笛标志时,驱动蜂鸣器完成鸣笛提示,实现完整的状态反馈。系统全程采用非阻塞式的任务调度逻辑,保证交通标志识别、数据采集、运动控制、状态显示的同步执行,确保小车运行的实时性与稳定性,可适配教学实训、科普演示等多种场景的使用需求[9]。2.2整体方案设计本设计的自动驾驶小车系统,以STM32F103C8T6单片机为核心控制单元,整体架构分为输入单元、控制单元与输出单元三个部分,各单元之间通过硬件接口与底层程序完成数据交互与协同运行。输入单元包含两个核心部分,一是K230摄像头模组,负责完成模拟道路场景的图像采集与交通标志识别,将识别结果通过USART串口传输至主控单元,为小车的自主决策提供输入依据;二是速度检测模块,通过霍尔传感器采集电机转动的脉冲信号,传输至主控单元的外部中断接口,为车速计算提供原始数据;同时系统供电电路为整个硬件平台提供稳定的电能输入,保障各单元的正常运行。控制单元以STM32F103C8T6单片机为核心,负责接收输入单元传输的所有数据,完成识别结果解析、车速计算、控制逻辑决策等核心处理,同时向输出单元发送对应的控制指令,协调整个系统的同步运行,是整个系统的控制核心。输出单元包含三个核心部分,一是四路直流电机与对应的驱动芯片,负责接收主控单元的PWM控制信号,完成小车的前进、停止、转向、调速等动作,是小车运动执行的核心;二是OLED显示屏,负责接收主控单元的显示数据,实时展示小车的车速、运行状态、交通标志识别结果等信息;三是有源蜂鸣器,负责接收主控单元的触发信号,完成鸣笛提示功能。交通标志识别自动驾驶小车硬件框架图如图2.1所示。图2.1硬件框架图2.3硬件介绍2.3.1主控芯片STM32F103C8T6是意法半导体基于ARMCortex-M3内核的高性能32位微控制器,是STM32F1系列的经典量产产品,也是嵌入式控制领域入门级与工程化应用的主流选型。该芯片最高工作频率可达72MHz,采用三级流水线和单周期乘法指令,运算性能达到1.25DMIPS/MHz,可高效完成多任务实时调度与逻辑运算[10]。芯片内置64KBFlash程序存储器和20KBSRAM,STM32F103C8T6最小系统板实物图如图2.2所示。图2.2STM32F103C8T6最小系统板实物图支持硬件堆栈溢出保护,可满足本设计程序代码存储与运行内存的全部需求。芯片正常工作电压为2.0-3.6V,可承受-40℃-+85℃的工业级温度环境,支持电源监控和睡眠、停机、待机多种低功耗模式,适配小车电池供电的移动使用场景[11]。得益于其高集成度、强实时处理能力与高性价比的特性,该芯片被广泛应用于电机控制、智能家居控制器、小型智能终端等场景,在工业传感器、医疗设备人机交互、智能穿戴等领域均有成熟应用。其可靠的ESD保护和EMI抗干扰能力,可保证芯片在小车电机运行的复杂电磁环境中稳定工作,是本设计主控芯片的最优选择。主控制器STM32F103C8T6参数如表2-1所示。表2-1主控制器STM32F103C8T6参数参数类别参数详情参数类别参数详情内核型号Cortex-M3工作频率0Hz-72MHz通用输入输出口37个GPIO定时器资源4个16位定时器/计数器工作电压2V-3.6V工作温度-40℃-+85℃Flash存储容量64KBSRAM容量20KB功耗模式睡眠模式、停机模式、待机模式调试接口SWD/JTAG2.3.2K230摄像头模组K230摄像头模组是专为嵌入式端侧视觉识别场景设计的一体化智能模组,核心基于双核RISC-V处理器设计,内置硬件图像加速单元与成熟的深度学习推理框架,无需在主控芯片移植复杂算法,即可离线完成多类目标的实时检测与识别,是嵌入式端轻量化视觉应用的核心器件[12],K230摄像头模组实物图2.3所示。图2.3K230摄像头模组实物图模组工作电压为3.0V-3.6V,峰值功耗≤200mW,静态功耗低,适配小车电池供电的移动场景,同时具备-20℃-70℃的宽温工作能力,可在不同环境温度下稳定工作[13]。K230摄像头模组核心参数如表2-2所示。表2-2K230摄像头模组参数参数类别参数详情参数类别参数详情核心处理器双核RISC-V感光元件像素30万工作电压3.0V-3.6V工作温度-20℃-+70℃识别响应时间≤100ms常规识别准确率准确率高通信接口USART串口默认波特率9600bps峰值功耗≤200mW支持固件升级是2.3.3直流减速电机直流减速电机是一种将直流电机与行星齿轮减速箱集成一体的动力执行器件,是小型移动平台的核心动力来源,可通过降低电机转速、提升输出扭矩,在低转速下输出大驱动力,适配小型小车的行驶需求。直流减速电机可通过调整输入电压的极性控制正反转,通过调整输入电压的大小调整转速,控制逻辑简单,适配单片机PWM调速方案,是小型智能小车的主流动力选型[14]。直流减速电机实物图如图2.4所示。图2.4直流减速电机实物图本设计选用的12V直流减速电机,由直流有刷电机本体与行星减速箱两部分组成,减速箱减速比为1:30,额定电压12V,空载转速200rpm,额定负载下输出扭矩可达1.5kg・cm,可带动小车稳定行驶,同时具备良好的堵转保护能力,可承受短时堵转不烧毁。电机采用双轴输出设计,一端可安装车轮,另一端可固定速度检测磁钢,适配本设计的速度采集需求。电机具备正反转可控、转速调节范围宽、响应速度快、安装便捷的特点,四路电机分别对应小车四个车轮,可通过左右车轮的差速控制实现小车的左转、右转动作,通过四路电机同步控制实现前进、停止动作,完全满足小车的运动控制需求[15],直流减速电机参数如表2-1所示。表2-3直流减速电机参数表参数类别参数详情参数类别参数详情额定工作电压12V减速比1:30空载转速200rpm额定输出扭矩1.5kg·cm工作温度0℃-+60℃储存温度-20℃-+75℃空载电流≤150mA堵转电流≤2A输出轴形式双轴输出安装方式螺丝固定2.3.4SDC9150电机驱动芯片SDC9150芯片内部集成了两个N沟道功率MOS管组成的H桥电路,支持6V-18V宽电压输入,最大持续输出电流1.5A,峰值输出电流可达2.5A,可完美适配本设计12V直流减速电机的驱动需求。芯片具备两路逻辑控制输入引脚与一路PWM调速输入引脚,IN1、IN2引脚可直接接收单片机IO口输出的高低电平信号,实现电机正转、反转、刹车、待机四种工作状态的控制;PWM引脚可接收单片机定时器输出的PWM信号,通过调整PWM信号的占空比,调整电机的平均供电电压,实现0-100%范围的无级调速,控制方式简单、响应速度快,可精准完成电机的运行状态控制[16],SDC9150电机驱动芯片实物图2.5所示。图2.5SDC9150电机驱动芯片实物图本设计中,每一路直流电机搭配一片独立的SDC9150驱动芯片,实现四个车轮的独立控制,可灵活实现小车的差速转向与精准调速。SDC9150电机驱动芯片核心参数如表2-4所示。表2-4SDC9150电机驱动芯片参数参数类别参数详情参数类别参数详情输入电压范围6V-18V最大持续输出电流1.5A峰值输出电流2.5A导通内阻180mΩ控制信号输入电平3.3V/5V兼容PWM输入频率0-100kHz工作温度-40℃-+125℃保护功能过流、过热、短路、欠压封装形式SOP-8静态待机电流≤1μA2.3.5霍尔速度检测模块霍尔速度检测模块是基于霍尔效应原理设计的非接触式转速检测器件,是小车实现实时车速监测与闭环调速的核心单元,广泛应用于电机转速检测、里程计量、闭环控制等场景。霍尔速度检测模块由霍尔开关传感器、配套环形磁钢与信号处理电路三部分组成,环形磁钢上均匀分布8对N/S磁极,固定在电机转轴上随电机同步转动,霍尔传感器固定在电机机身上,与磁钢保持固定的检测距离。当电机转动时,磁钢的磁极交替经过霍尔传感器的检测面,传感器会根据霍尔效应,在磁极经过时输出对应的高低电平脉冲信号,电机每转动一圈,传感器会输出8个完整的脉冲信号[17],霍尔速度检测模块实物如图2.6所示。图2.6霍尔速度检测模块实物图单片机通过外部中断统计单位时间内的脉冲数量,即可精准计算出电机的实时转速,进而换算出小车的行驶速度,为车速显示与限速控制提供精准的原始数据。霍尔速度检测模块核心参数如表2-5所示。表2-5霍尔速度检测模块参数参数类别参数详情参数类别参数详情工作电压4.5V-24V工作温度-40℃-+85℃输出形式数字电平信号响应时间≤10μs每圈脉冲数8个检测距离2-5mm输出电平3.3V/5V兼容保护功能电源反接保护安装方式螺丝固定磁极数量8对2.3.6蜂鸣器蜂鸣器是一种常见的一体化电子发声器件,可将电信号转换为声音信号,在嵌入式系统中常被用作提示、报警、状态反馈用途,结构简单、控制便捷,可根据控制指令发出不同频率、不同时长的声响。蜂鸣器主要由振动单元与驱动电路两部分组成,根据驱动方式可分为有源蜂鸣器与无源蜂鸣器两类[18],蜂鸣器实物如图2.7所示。图2.7蜂鸣器实物图本设计选用5V有源蜂鸣器,其内部内置了固定频率的震荡源与驱动电路,通电后即可发出固定频率的声响,无需单片机输出震荡信号,仅需控制供电通断即可实现启停,控制逻辑简单,适配单片机的IO口控制需求。该蜂鸣器额定工作电压5V,工作电流≤30mA,发声声压≥85dB,可在模拟道路场景中实现清晰的鸣笛提示效果,完全满足交通标志对应的鸣笛动作需求。由于单片机IO口的输出电流无法直接驱动蜂鸣器工作,本设计通过NPN三极管搭建开关驱动电路,实现小电流控制大电流,通过单片机IO口输出的高低电平,即可精准控制蜂鸣器的鸣响与停止,同时具备抗干扰能力,可避免小车运行过程中的误触发。有源蜂鸣器核心参数如表2-6所示。表2-6有源蜂鸣器参数参数类别参数详情参数类别参数详情额定工作电压5V工作温度-20℃-+60℃工作电流≤30mA发声频率2300±500Hz额定声压≥85dB驱动方式直流电平驱动安装方式插针焊接外壳材质环保ABS2.3.7OLED显示模块本设计选用的0.96寸OLED显示屏,由玻璃基板、有机发光层、驱动芯片与通信接口组成,屏幕分辨率12864,采用IIC串行通信接口,仅需两根信号线即可完成显示数据的双向传输,占用单片机IO口资源少,通信协议简单,开发便捷。屏幕工作电压3.3V-5V,与单片机IO口电平完全兼容,静态工作电流≤2mA,功耗极低,适配电池供电场景,图2.8所示为OLED显示模块实物图。图2.8OLED显示模块实物图屏幕内置12864点阵显存,支持全屏幕刷新与局部区域刷新,可清晰显示数字、英文字符、中文字符与简单图形,可视角度>160°,在强光、弱光环境下均可清晰显示内容,完全满足小车车速、运行状态、交通标志识别结果的实时显示需求。屏幕内置国标中文字库与ASCII字符库,可直接调用显示内容,无需自行制作字模,同时支持屏幕对比度、亮度调节,可根据使用环境调整显示效果,具备-40℃-+70℃的宽温工作能力,可在不同环境温度下稳定工作。OLED显示模块核心参数如表2-7所示。表2-7OLED显示模块参数参数类别参数详情参数类别参数详情屏幕尺寸0.96寸屏幕分辨率128*64工作电压3.3V-5V工作温度-40℃-+70℃通信接口IIC可视角度>160°静态工作电流≤2mA驱动芯片SSD1306字库支持ASCII、国标中文刷新方式全屏/局部刷新安装方式插针焊接背光需求无(自发光)2.4本章小结本章讲述了自动驾驶小车系统的总体设计方案、系统功能概述、系统所需的核心硬件选型。系统采用了STM32F103C8T6单片机作为核心控制器,结合K230视觉识别模组、直流减速电机、驱动芯片、速度检测模块等硬件,实现交通标志实时识别、小车启停转向控制、分级限速调节、鸣笛提示、运行状态实时显示等核心功能。对系统设计所需的主控芯片、视觉识别单元、动力执行单元、检测单元、人机交互单元等硬件的选型依据、工作原理、核心参数进行了全面论述,确保所有硬件选型与系统设计需求高度匹配,为后续的硬件电路设计、软件程序开发与系统调试奠定了坚实的硬件基础。3系统硬件设计方案3.1单片机最小系统单片机最小系统是整个小车系统运行的核心基础,所有外设的控制、数据的处理与逻辑的决策都需要依托最小系统完成。本设计的最小系统以STM32F103C8T6单片机为核心,集成了电源电路、复位电路、晶振电路、下载调试接口与BOOT设置电路五个核心部分。电源电路为单片机提供稳定的3.3V工作电压,在电源输入引脚并联100nF去耦电容,滤除电源中的高频纹波干扰,保证供电的稳定性。复位电路采用低电平复位设计,搭配10K上拉电阻与104电容,实现上电自动复位与手动按键复位双重功能,保障系统出现异常时可快速复位重启。晶振电路采用8MHz外部无源晶振,搭配22pF负载电容,为单片机提供精准的时钟源,经内部PLL倍频后达到72MHz的系统主频。下载调试接口采用SWD模式,仅需两根信号线即可完成程序烧录与在线调试,大幅简化了电路设计。BOOT设置电路通过10K电阻设置芯片的启动模式,保障程序正常从Flash存储器启动。整个最小系统电路设计简洁,接口清晰,可保证单片机稳定、可靠的运行,为整个系统提供稳定的控制基础。STM32F103C8T6单片机最小系统电路图3.1所示。图3.1STMF103C8T6单片机最小系统其单片机端口分配如表3-1所示。表3-1单片机端口分配表单片机I/O口连接元器件PB12~PB15OLED显示屏PA9、PA10K230摄像头模块PA0、PA1、PA2电机调速控制PB0、PB1舵机控制PB4、PB5速度测量模块PB10、PB11蜂鸣器PB8、PB9晶振电路NRST复位电路PA13、PA14下载接口3.2电源电路小车系统包含3.3V、5V、12V三种不同的工作电压等级,不同单元对供电的稳定性与带载能力有着不同的要求,电源电路的设计直接决定了整个系统的运行稳定性。本设计采用12V锂电池作为系统总供电输入,通过两级降压架构完成不同电压等级的输出,适配不同外设的供电需求。第一级降压采用LM7805线性稳压芯片,将12V输入电压降压为5V,为蜂鸣器、速度检测模块与降压芯片前端提供稳定的5V供电,芯片输入端与输出端均并联22uF极性电容与100nF无极性电容,滤除电源中的低频与高频干扰,同时搭配散热片降低芯片工作时的温升,避免过热导致的稳压失效,电源电路原理图如图3.2所示图3.2电源电路原理图第二级降压采用XC6206-3.3V低压差稳压芯片,将5V电压进一步降压为3.3V,为STM32单片机、OLED显示屏、K230摄像头模组提供供电,该芯片静态功耗低,输出电压精度高,可满足数字芯片对供电精度的严苛要求。电源电路同时设计了防反接二极管与自恢复保险丝,避免电源反接与短路造成的硬件损坏,提升了系统的安全性与可靠性,表3-2为电源电路端口分配表。表3-2电源端口分配表引脚作用GND公共接地端VOUT输出+5V直流电压VIN输入+12V直流电源C1稳定输出电压3.3K230摄像头模块电路K230摄像头模组是系统实现交通标志识别的核心,电路设计的核心是保障模组与主控芯片之间稳定的串口通信,同时为模组提供干净、稳定的供电。本设计中,K230模组采用3.3V供电,供电引脚直接连接系统3.3V电源输出端,在供电引脚处并联100nF去耦电容与10uF滤波电容,滤除电源中的高频噪声,避免电源波动对模组图像采集与识别精度造成影响[19],K230摄像头模块电路如图3.3所示。图3.3K230摄像头模块电路模组的串口通信引脚与STM32单片机的USART1串口对应连接,模组的TXD引脚连接单片机的TX1引脚,模组的RXD引脚连接单片机的RX1引脚,实现识别结果的下行传输与控制指令的上行发送,串口通信波特率设置为9600bps,与模组默认参数匹配。为了避免串口通信过程中的信号干扰,在串口信号线中串联33Ω限流电阻,抑制信号线上的浪涌与过冲,提升通信的稳定性[20]。表3-2为K230摄像头模块电路端口分配表。表3-3K230摄像头模块电路端口分配表引脚作用VCC电源输入端GND接地RXD串口接收端TXD串口发送端3.4电机驱动模块电路电机驱动电路是连接主控芯片与直流电机的桥梁,负责将主控芯片输出的弱电流控制信号转换为可驱动电机的大电流信号,实现小车运动状态的精准控制。本设计中小车配备四路12V直流电机,分别对应四个车轮,每一路电机搭配一片SDC9150单桥电机驱动芯片,四路驱动电路设计完全一致,可实现每个车轮的独立控制,通过差速控制完成小车的转向动作,图3.4电机驱动模块电路图。图3.4电机驱动模块电路SDC9150芯片的IN1与IN2引脚分别连接STM32单片机的通用IO口,接收主控芯片输出的电平控制信号,实现电机正转、反转与停止的控制;PWM引脚连接单片机的定时器输出通道,接收主控芯片输出的PWM信号,通过调整PWM信号的占空比,调整电机的供电电压,实现电机转速的精准调节。芯片的输出引脚直接连接直流电机的两个接线端,内置续流二极管,可吸收电机换向时产生的反向电动势,避免反向电压击穿芯片。芯片的供电引脚直接连接12V系统电源,并联100nF去耦电容,降低电机启停时产生的电源干扰。电路设计中,每一路驱动电路都单独铺地,避免电机运行时的大电流干扰影响主控芯片与其他外设的正常工作,保障系统运行的稳定性,表3-4为电机驱动模块电路端口分配表。表3-4电机驱动模块电路端口分配表引脚作用VIN接+12V电源GND电机驱动模块接地OUT1、OUT2连接直流电机两端PB0/PB1、PB2/PB3、PB5/PB6、PB7/PB8上拉电阻3.5速度检测模块电路速度检测模块的核心作用是采集电机的实时转速,为小车车速计算与闭环控制提供精准的原始数据,电路设计的核心是保证脉冲信号的准确采集与抗干扰能力。本设计采用霍尔式速度传感器,搭配固定在电机转轴上的环形磁钢,磁钢上均匀分布8对磁极,电机每转动一圈,霍尔传感器会输出8个脉冲信号,图3.5所示为速度检测模块电路图。图3.5速度检测模块电路传感器采用5V供电,供电引脚连接系统5V电源输出端,并联100nF去耦电容,滤除电源中的干扰信号。传感器的信号输出引脚连接STM32单片机的PA6引脚,该引脚可配置为外部中断触发模式,在脉冲信号的上升沿触发中断,在中断服务函数中完成脉冲计数。为了避免电机运行时的电磁干扰导致脉冲信号误触发,在信号输出引脚串联1K限流电阻,并并联104电容到地,组成RC低通滤波电路,滤除信号中的高频杂波,保证脉冲信号的干净稳定,表3-5为速度检测模块端口分配表。表3-5速度检测模块端口分配表引脚作用VCC速度信号输出端GND速度检测模块接地PA6电源输入端3.6OLED显示模块电路OLED显示模块是系统实现人机交互的核心窗口,负责实时展示小车的车速、运行状态、交通标志识别结果等信息,电路设计的核心是保障显示屏与主控芯片之间稳定的IIC通信,同时保证显示效果的清晰稳定。本设计选用0.96寸IIC接口OLED显示屏,仅需两根信号线即可完成显示数据的传输,大幅简化了电路设计。显示屏采用3.3V供电,供电引脚连接系统3.3V电源输出端,在供电引脚处并联100nF去耦电容,滤除电源中的高频干扰,避免电源波动导致的显示闪烁、花屏等问题,图3.6为OLED显示模块电路。图3.6OLED显示模块电路显示屏的SCL时钟引脚与SDA数据引脚分别连接STM32单片机的PB14与PB15引脚,这两个引脚可复用为IIC通信接口,实现显示屏与主控芯片之间的双向数据传输。为了提升IIC通信的稳定性,在SCL与SDA信号线上分别串联4.7K上拉电阻,保证总线空闲时电平稳定在高电平,避免信号线上的电平漂移导致的通信错误。显示屏的GND引脚与系统数字地直接连接,保证通信双方的地电位一致,避免电位差导致的通信电平偏移。电路设计简洁,占用单片机IO口资源少,可稳定完成显示数据的传输,保证显示内容的实时刷新与清晰稳定,为用户提供直观的状态反馈,表3-6为OLED显示模块端口分配表表3-6OLED显示模块端口分配表引脚作用VCC电源输入端GNDOLED显示模块接地SCL串行时钟信号端SDA串行数据信号端3.7蜂鸣器模块电路蜂鸣器模块负责实现系统的鸣笛提示功能,在识别到鸣笛交通标志时,驱动蜂鸣器发出声响,完成对应的交通规则动作,电路设计的核心是保证蜂鸣器的可靠触发与稳定工作。本设计选用5V有源蜂鸣器,内置震荡源,通电后即可发出固定频率的声响,无需额外的震荡电路,控制逻辑简单,适配单片机的控制需求。由于单片机IO口输出的电流无法直接驱动蜂鸣器工作,电路采用NPN三极管搭建开关驱动电路,实现小电流控制大电流的功能,图3.7为蜂鸣器模块电路图3.7蜂鸣器模块电路三极管的基极通过1K限流电阻连接STM32单片机的PA15引脚,接收主控芯片输出的高低电平控制信号;发射极直接连接系统地,集电极连接蜂鸣器的负极,蜂鸣器的正极连接系统5V电源。当主控芯片输出高电平时,三极管饱和导通,蜂鸣器的供电回路接通,蜂鸣器发出声响;当主控芯片输出低电平时,三极管截止,蜂鸣器的供电回路断开,停止发声。在三极管的基极与发射极之间并联10K下拉电阻,保证无控制信号输入时,三极管可靠截止,避免蜂鸣器误触发。在蜂鸣器两端反向并联一个1N4007二极管,吸收蜂鸣器断电时产生的反向电动势,保护三极管不被反向电压击穿。电路设计简单可靠,可精准完成蜂鸣器的触发控制,同时具备较强的抗干扰能力,避免小车运行过程中的误触发,表3-7为蜂鸣器模块块端口分配表。表3-7蜂鸣器模块端口分配表引脚作用GND蜂鸣器接地PA15控制信号输入端R16限流电阻Q1开关管3.8整体电路设计本自动驾驶小车系统主要由视觉识别模块、速度检测模块、电机驱动模块、显示模块、报警模块、电源模块及单片机最小系统组成。视觉识别模块与速度检测模块将采集到的交通标志信息与小车实时速度数据,经STM32单片机处理后,配合电机驱动模块实现小车行驶状态的自动调整;通过显示模块与报警模块完成系统状态的直观展示与异常提示,电源模块与单片机最小系统为全系统提供稳定运行支,整个系统电路图如图3.8所示。图3.8整体电路图3.9PCB板设计完成各单元的电路设计后,本设计通过AltiumDesigner软件完成整体原理图的绘制与PCB板的设计,将所有单元电路集成在同一块PCB板上,实现小车控制系统的一体化集成,提升系统的稳定性与抗干扰能力。PCB板采用两层板设计,顶层为元件焊接面与信号走线层,底层为完整的接地层,通过大面积铺地降低线路之间的串扰与电磁干扰,同时提升系统的散热性能。PCB板布局遵循“强电与弱电分离、数字电路与模拟电路分离”的原则,将电机驱动、电源输入等大电流部分布局在PCB板的边缘区域,与主控芯片、摄像头接口等敏感数字电路保持足够的安全距离,避免大电流回路产生的电磁干扰影响数字电路的正常工作。晶振电路尽可能靠近单片机的晶振引脚,缩短走线长度,降低时钟信号的辐射干扰。串口、IIC等信号线采用等长走线设计,保证信号传输的同步性。PCB板预留了所有外设的外接接口,采用XH2.54接插件,方便外设的连接与更换,同时预留了额外的IO口扩展接口,为后续的功能升级提供空间。PCB板采用FR-4基材,板厚1.6mm,满足机械强度与电气绝缘的要求,表面采用沉金工艺,提升焊点的可靠性与抗氧化能力。完成PCB设计后,生成Gerber文件交付制板,完成元器件焊接后,即可搭建完整的小车硬件控制系统,本设计PCB设计如图3.9所示图3.9PCB板图3.10本章小结本章详细阐述了自动驾驶小车系统的硬件设计全过程,分别完成了单片机最小系统、电源电路、摄像头模块电路、电机驱动电路、速度检测电路、显示电路、蜂鸣器电路的详细设计,明确了各电路的设计思路、核心原理与元器件参数选择的考量,同时介绍了系统整体原理图的集成设计与PCB板的绘制思路与布局原则。本章设计的硬件电路,充分考虑了小车运行过程中的电磁干扰、供电稳定性、抗干扰能力等实际问题,在保证功能完整性的同时,提升了系统的运行稳定性与可靠性,为系统软件程序的开发与功能实现提供了硬件基础。4系统软件设计方案4.1编程软件介绍本设计的单片机程序开发采用KeiluVision5集成开发环境,该环境由ARM公司推出,是嵌入式开发领域应用最广泛的开发平台之一,适配STM32系列全型号单片机的程序开发需求。KeiluVision5具备完善的代码编辑、编译、调试与烧录功能,支持C语言与汇编语言开发,内置完善的STM32标准外设库与HAL库,可大幅简化单片机外设的驱动开发流程,降低开发难度。软件具备智能代码补全、语法错误实时提示、编译错误快速定位等功能,可有效提升代码编写的效率与准确性。编译完成后,软件可直接生成可执行的HEX文件,配合SWD下载器即可完成程序向单片机的烧录,同时支持在线仿真调试功能,可实时查看单片机寄存器、变量的数值变化,快速定位程序运行过程中的问题。软件界面布局清晰,操作逻辑简洁,编译速度快,生成的机器代码执行效率高,占用单片机Flash空间小,完全适配STM32F103C8T6单片机的资源情况,满足本设计的程序开发需求。图4.1为KEIL5编程软件界面图。图4.1KEIL编程软件界面图4.2系统主程序介绍系统主程序是整个软件系统的运行核心,负责完成系统的初始化、任务调度与核心逻辑的循环执行,保障整个系统的有序运行。系统上电后,主程序首先调用HAL_Init()

完成HAL库初始化,随后调用

SystemClock_Config()配置系统时钟,为整个系统提供精准的时钟基准。随后完成单片机外设的初始化,包括GPIO口、定时器、USART串口、外部中断的配置,为外设的正常运行提供基础配置,图4.2所示为小车的整体程序流程图。图4.2整体程序流程图系统上电完成硬件与模块初始化后自动运行,单片机通过K230摄像头完成交通标志识别,根据识别结果自主控制小车行驶状态;程序循环运行,实时更新行驶逻辑,配合中断完成电机驱动与车速采集,定时刷新OLED显示屏信息,整体程序循环调度、稳定运行。部分主程序源码如图4.3所示。图4.3部分主程序源码这段代码为交通标志识别自动驾驶小车完成了从基础外设到各功能模块的完整初始化配置,为后续的标志识别、小车控制与状态显示奠定了硬件运行基础。4.3交通标志识别程序在智能小车系统中,交通标志识别程序主要负责接收K230摄像头模块的视觉识别结果并控制小车执行相应动作。K230摄像头将识别结果编码后,通过串口以固定格式的数据帧发送至STM32。数据帧结构为[0xAA,0x55,Data,Checksum],其中0xAA、0x55为帧头校验字节,Data为对应的交通标志编码(1-7),Checksum为累加和校验值。STM32只有接收到符合该帧结构的完整数据包并通过校验后,方认定为一次有效识别结果,以此避免环境噪声导致的误触发。标志码与动作逻辑通过实际道路测试标定:停车标志触发小车立即停止并等待3秒,之后低速前进恢复行驶;左转和右转标志分别持续转向0.6秒;限速30、60、90标志对应速度低速,中速,高速前进3秒;鸣笛标志触发蜂鸣器长鸣4秒。定时器中断以1ms周期计时并动态更新小车运动模式与速度,最终通过控制左右轮差速实现转向,实现无需人工干预的标志识别与动作执行闭环,图4.4为交通标志识别的程序流程图。图4.4交通标志识别流程图这段代码是交通标志识别程序,K230摄像头识别到标志后,系统进行防抖处理,然后根据识别结果自动控制小车停车、转向、限速或鸣笛,并将结果实时显示在OLED屏幕上,图4.5为交通标志识别的部分源码。图4.5交通标志识别部分源码4.4OLED显示刷新程序OLED显示刷新程序负责完成小车运行状态的实时展示,为用户提供直观的人机交互界面,程序采用周期性刷新的设计,避免频繁刷屏导致的显示闪烁与画面卡顿。程序依托主循环中的10ms周期性调度运行,通过静态计数器累计刷新周期,每累计5次调度,即每隔50ms执行一次完整的显示刷新流程,既保证了显示内容的实时性,又避免了刷屏过快导致的问题,图4.6为OLED刷新流程图。图4.6OLED刷新流程图每次刷新流程开始时,程序首先清空OLED显示屏的显存,避免上一帧的显示内容残留,随后按照预设的显示布局,依次写入需要显示的内容。第一行显示小车的实时车速,单位为km/h,数值来源于中断服务函数中的车速计算结果;第二行显示当前识别到的交通标志类型,包括停止、左转、右转、限速、鸣笛等,无识别结果时显示“正常行驶”;第三行显示小车当前的运行模式,包括自动模式;第四行通过图形符号展示小车当前的运动状态,包括停止、前进、左转、右转。所有显示内容写入显存后,程序调用显存刷新函数,将显存中的内容一次性刷新到OLED物理屏幕上,完成一次完整的显示刷新流程。整个程序设计逻辑清晰,显示内容布局合理,可直观、清晰地展示小车的所有运行状态,具备良好的人机交互体验,图4.7为OLED显示刷新程序部分源码。图4.7OLED显示刷新程序部分源码4.5识别结果逻辑处理程序识别结果逻辑处理程序是连接视觉识别与运动控制的核心,负责解析K230模组传输的识别结果,将其转换为小车可执行的运行状态标志位,同时避免识别结果的重复触发与误判。程序运行过程中,首先通过静态标志位判断当前是否存在未处理的有效识别结果,当接收到K230模组传输的有效识别数据时,先判断该结果是否与上一次处理的结果一致,锁定标志位,避免同一识别结果被重复处理,导致小车控制逻辑混乱。图4.8为识别结果逻辑处理程序流程图图4.8识别结果逻辑处理程序流程图当识别结果消失时,程序自动复位标志位,解除锁定状态,等待下一次有效识别结果的输入。针对不同类型的交通标志,程序设置了不同的处理逻辑,对于停止、转向、鸣笛等单次触发的标志,程序仅在首次接收到识别结果时执行一次对应的控制动作,避免重复执行;对于限速类标志,程序会持续保持限速状态,直到接收到新的限速标志或停止标志,保证小车持续按照预设的限速值行驶。同时,程序设置了识别结果防抖处理,只有当同一识别结果连续3次被接收到时,才判定为有效结果,避免环境光线变化、画面抖动导致的误识别,提升系统运行的稳定性,图4.9为识别结果逻辑处理程序部分源码。图4.9识别结果逻辑处理程序部分源码4.6本章小结本章详细介绍了自动驾驶小车系统的软件设计方案。首先阐述了KeiluVision5开发环境的核心功能及其对STM32平台的适配性;其次说明了系统主程序的前后台架构设计,明确了初始化流程与循环任务调度机制。针对交通标志识别、OLED显示刷新及识别结果逻辑处理三大核心模块,本章逐一剖析了其程序流程、关键算法与实现细节,包括基于串口的识别数据接收、动作逻辑映射、防抖滤波处理以及显示内容的实时刷新。整个软件设计兼顾了实时性、稳定性与可维护性,能够完整实现交通标志识别与自主行驶控制的设计功能。5系统测试及分析5.1软件部分调试软件部分的调试工作分为代码编译调试、在线仿真调试与实物联调三个阶段,逐步验证软件程序的逻辑准确性与运行稳定性。首先在KeiluVision5开发环境中完成代码的编写后,执行全编译操作,检查代码中的语法错误、变量定义错误、函数调用错误等问题,根据编译输出的错误提示,逐行修正代码中的问题,直到编译零错误通过,生成可执行的HEX文件。编译通过后,通过SWD仿真器将单片机与开发环境连接,执行在线仿真调试,将程序下载到单片机中,通过在线调试功能,设置断点查看程序的执行流程,检查变量数值的变化是否符合预期,重点验证串口数据接收、中断触发、脉冲计数、车速计算等核心逻辑的准确性。针对仿真过程中发现的逻辑错误,例如中断触发异常、车速计算偏差、标志位锁定逻辑错误等问题,逐行优化代码,修正逻辑漏洞,直到所有核心逻辑在仿真环境中正常运行。在线仿真调试完成后,将程序烧录到焊接完成的硬件电路板中,进行软硬件实物联调,将所有外设连接完成后,给系统上电,检查程序是否正常启动,外设是否正常初始化,重点验证串口通信、电机控制、显示刷新、中断触发等功能是否正常运行。针对联调过程中发现的问题,例如串口通信丢包、电机转向控制错误、显示内容刷新异常等问题,结合硬件电路设计,优化程序中的外设配置与逻辑代码,直到所有外设正常工作,软件程序与硬件平台完美适配。KEIL软件程序源码编译成功页面如图5.1所示。图5.1程序编译成功图5.2硬件部分调试硬件部分的调试工作分为焊接前检查、焊接后通断测试、上电功能调试三个阶段,确保硬件电路的设计准确,元器件焊接无误,所有外设可正常工作。首先在PCB板制板完成后,对照原理图检查PCB板的走线、焊盘、接口是否符合设计要求,确认无走线短路、焊盘缺失、接口错位等问题,随后检查所有元器件的型号、封装、参数是否与设计一致,避免元器件错焊导致的电路故障。元器件焊接完成后,首先进行不通电的通断测试,通过万用表的通断档,检查电源与地之间是否存在短路,各元器件的供电引脚是否正常连接,信号线是否存在断路、短路的问题,重点检查电源电路、单片机最小系统的通断情况,确认无短路问题后,再进行上电操作,避免短路导致的元器件烧毁。5.3测试结果分析5.3.1停止标志识别本次测试在模拟道路中放置停止标志,小车以正常速度行驶经过标志时,检测系统的识别与控制效果。20次测试中,成功识别并执行停止动作19次,失败1次,失败原因为环境光线过强导致标志识别漏检。测试结果表明,该功能可稳定实现停止标志的识别与对应控制,满足设计需求。图5.1停止标志识别5.3.2转向标志识别本次测试分别放置左转弯与右转弯标志,检测小车的识别与转向控制效果。两类标志各测试20次,左转成功19次,右转成功20次,失败原因为小车行驶速度过快导致转向动作执行延迟。测试结果表明,该功能可稳定完成转向标志的识别与差速转向控制,动作执行精准。图5.2转向标志识别5.3.3限速标志识别本次测试分别放置30、60、90三类限速标志,检测小车的识别与车速控制效果。每类标志各测试20次,全部识别成功,车速控制误差均在5%以内,无控制失败情况。测试结果表明,该功能可精准识别不同等级的限速标志,完成对应的车速分级控制,控制精度符合设计要求。图5.3限速标志识别5.3.4鸣笛标志识别本次测试在模拟道路中放置鸣笛标志,检测小车的识别与鸣笛触发效果。20次测试中,全部成功识别并触发蜂鸣器鸣笛,无失败、误触发情况。测试结果表明,该功能可稳定完成鸣笛标志的识别与触发控制,抗干扰能力强,无漏触发与误触发问题。图5.4鸣笛标志识别为全面评估系统的各项性能指标,进行了多次模拟测试。分别测试交通标志识别系统在不同的环境下的表现。测试结果如表5-1所示,可以看出交通标志识别系统各种功能大部分的测试项目成功率都比较高。表5-1测试结果测试项目测试次数成功次数失败次数停止标志识别20191左转标志识别20191右转标志识别20200限速30,60,90标志20200鸣笛标志识别202005.4本章小结本章详细阐述了自动驾驶小车系统的调试与测试全过程,分别完成了软件部分的编译调试、在线仿真与实物联调,以及硬件部分的焊接检查、通断测试与分单元功能调试,解决了软硬件设计中存在的问题,保障了系统的正常运行。随后搭建模拟测试场景,针对系统的五项核心功能开展了逐项测试,记录了测试数据并分析了测试结果。测试结果表明,系统的所有核心功能均可稳定实现,识别准确率高,控制动作精准,运行稳定性强,完全达到了设计的预期目标,同时针对测试中发现的光线干扰、车速过快导致的识别失败问题,明确了后续的优化方向。结论本文完成了基于交通标志识别的自动驾驶小车的设计与实现,以STM32F103C8T6单片机为核心控制单元,搭配K230摄像头模组、电机驱动、速度检测、OLED显示等外设,搭建了完整的小车硬件平台,同时完成了底层软件程序的开发,实现了交通标志识别、自主运动控制、状态实时监测与人机交互四大核心功能。系统可稳定识别七类基础交通标志,并根据识别结果完成对应的停止、转向、分级限速、鸣笛等动作,同时实时显示小车的车速与运行状态,完整复现了自动驾驶的核心流程。经实际测试,系统功能完整,运行稳定,识别准确率高,控制动作精准,在保证功能完整性的同时,大幅降低了硬件成本与开发门槛,可广泛应用于高校相关专业的实训教学与青少年智能科技科普场景,具备较强的实际应用价值。同时,系统也存在一定的不足,例如在强光、弱光环境下的识别准确率有所下降,可识别的交通标志类型有限,后续可通过优化识别算法、增加图像预处理功能、扩展可识别的标志类型,进一步提升系统的性能与适用场景。参考文献[1]张萍.简单场景中基于计算机视觉的智能小车设计[J].物联网技术,2022,12(8):32-34.[2]徐鹏飞,周燕云,刁鹏程,夏乐天.基于交通标识识别的自动巡线小车设计与实现[J].辽宁工业大学学报(自然科学版),2022,42(4):229-234.[3]曾啸川,邓红卫,莫岚淋,等.基于TensorFlow深度学习自动驾驶小车的设计[J].数字技术与应用,2022,40(6):168-170.[4]汪辉辉.基于嵌入式的交通标志识别器的设计[D].成都:电子科技大学,2022.[5]杨金宇,张浩天,张玲玲,等.基于RISC-V的嵌入式智能小车行进控制系统[J].计算机系统应用,2021,30(11):267-273.[6]熊光明,龚建伟,陈慧岩,等.以慕课和实验项目驱动的智能车

温馨提示

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

评论

0/150

提交评论