基于stm32智能车设计与实现_毕业设计论文(编辑修改稿)内容摘要:
控。 车载主机 是本系统主要实现功能对象的主体, 在手持主机通过 NRF34L01 无线发送模块发出 三种主要 指令 ,当指令为陀螺仪体感操作指令时,智能车的运行受到手持主机中陀螺仪传感器的控制,当指令为超声波自动避障时,智能车车载主机的超声波模块运行,采集环境数据给主控,经过程序代码算法的运行实现超声波自动避障,当指令为 UI 界面 控 制 时,触控界面的方位按钮可以实现智能车的运行姿态,无线模块发送模块是连接车载主机和手持主机的桥梁,通过一系列的指令实现 车载主机的运行状态以及数据的实时采集。 根据 毕业设计 任务 要求,本课程主要需完成系统中 超声波自主避障 、 车载GPS 定位 数据采集、陀螺仪体感操控 、 UI 界面触控 、 语音提示等基本功能。 开发流程 整个系统的开发是基于 STM32 平台搭建的 , 首先要了解这款 ARM 浙江万里学院本科毕业论文 4 CortexM3 内核 的微处理器 的架构以及编程的方式 和 微处理器所用到 外设模块的寄存器 ,智能车的驱动是依靠 高电压、大电流电机驱动芯片 L298N,需要了解驱动芯片的外围电路原理及电气特性。 在功能模块中需要 GPS 数据的采集, GPS协议也是我们完成本设计的 重要模块, GPS 模块串口数据的输出以及主机采集GPS 的数据的方式。 防碰撞功 模块在智能车发生意外事件时产生报警信号迫使运行中的智能车停止。 以上内容在本文的 后续章节 有详细介。 本系统的完成,有诸多模块需要有外围电路才能正常工作,需要设计相应的外围电路,该内容在本文第 3 章 有详细的 电路原理图分析 , 包括 车载主机和手持主机核心板 的设计、 语音模块 的设计、 GPS 定位 模块的设计 、陀螺仪体感模块、液晶触摸屏模块 及 NRF24L01 无线模块 电路设计。 在本文第 4 章介绍了 本系统的软件设计。 浙江万里学院本科毕业论文 5 2 系统 总体设计 本课题研究基 于 STM32 的智能车的设计与实现 , 本章描述该 智能 系统的总体设计。 第一节描述 智能车的各种模块 , 第二节是提出 智能车的 总体设计方案 ,第三节是 简要叙述 车载 模块的硬件设计 , 第四节是 整个系统的软件 设计 , 第五节对方案中的关键技术进行了讨论 , 第六节分析整体 方案 的可行性。 系统对象描述 智能 车系统采用手持主机和车载主机相结合,车载主 机 接收手持主 机发出的指令 实现 系统功能, 超声波 模块 实现智能车的 自动避障 功能,车载 GPS 定位模块完成智能车经纬度数据的采集,陀螺仪体感模块 采用 ST 公司生产的L3G4200DTR,输出接口方便应用,无线模块使用 频段 NRF24L01 模块集成 SPI 接口,语音播报模块是语音解码芯片 WT588D,外挂 Flash 存储语音数据,UI 界面图形控制 等方式实现智能车 的运行轨迹,手持主机接收车载主 机上传的数据信息,并在手持主 机 UI 界面上显示实时数据。 系统设计上考虑到程序方便移植,主控芯片都为 意法半导体公司的 STM32F103。 总体方案设计 本系统采用 手持主机控制 系统和 车载主 机 控制系统 实现整体的方案, 在车载主机控制系统中电机驱动模块为智能车运行的基础平台,利用 GPS 为定位手段,结合语音播报模块 传达智能车运行状态, 加速度碰撞保护模块 有效的起到保护智能车运行过程中的安全,而手持模块的信息命令主要通过 无线短距离收发模块 处理和运 算。 在手持主机控制系统中 主要通过无线短距离收发模块与车载主机系统信息的传达与接收,通过液晶屏 UI 界面切换智能车超声波自主避障、触摸屏触控操作、陀螺仪体感操作三种模式。 车载 主 机 系统 由 如 下 七 大部分组成: ( 1) 加速度 碰撞 保护 系统 ; ( 2)车载 GPS 定位 系统 ; ( 3) 电机驱动系统 ; 浙江万里学院本科毕业论文 6 ( 4) 无线 通信系统 ; ( 5) 语音播报系统 ; ( 6)超声波自主避障 ; ( 7)液晶显示模块。 手持模块系统 由 如下 三 大部分组成: ( 1) 液晶 触摸 系统 ; ( 2) 无线 通信系统 ; ( 3) 陀螺仪体感 操控系统。 车载主机系统和手持主机系统的总体框架图如图 21 所示。 车 载 主 机 微 处 理 器加 速 度 碰 撞 保 护 电 机 驱 动 系 统液 晶 数 据 显 示陀 螺 仪 体 感 操 控无 线 通 信 系 统语 音 播 报 系 统手 持 主 机 微 处 理 器无 线 通 信 系 统液 晶 触 摸 屏 系 统超 声 波 自 主 避 障 G P S 定 位 系 统 图 21 系统总体连接图 智能 车系统采用手持主机和车载主机相结合,车载主机接收手持主机发出的指令,实现超声波自动避障、 GPS 数据的采集和显示、陀螺仪体感操作、 UI 界面图形 控制等方式实现智能车的运行轨迹,手持主机接收车载主机上传的数据信息,并在手持主机 UI 界面上显示实时数据。 系统设计上考虑到程序方便移植,主控芯片都为意法半导体公司的 STM32F103。 浙江万里学院本科毕业论文 7 车载主机 硬件 设计 车载主机 功能需求描述 车载主机 应具备的具体功能要求如下: ( 1) 具备四轴电机驱动能力。 智能车的平稳运行在于有一个强劲的驱动模块, 其余模块功能的实现建立在 智能车能平稳运行的前提下。 ( 2)具备 GPS 全球 定位信息采集功能。 GPS 具有全球任何地点、任何时间、全天候高精度定位的特点。 车载 主机 接收来自 GPS 卫星的信号,经数据处理,获得 智能车 的实时经度、纬度位置数据。 ( 3) 语音播报功能。 智能车语音功能主要通过主控芯片编码,将编码值传给 WT588D 语音芯片,按照码值地址读取 Flash 中的数据实现语音播报的功能。 ( 4)具备功能 碰撞保护功能。 智能车在运行模式中会出现碰撞障碍物,设计系统中具有三轴数字加速度 器 Lis302D 测量运行过程的加速度,检测 判断加速度值,断定是否为智能车发生碰撞,根据情况采取是否停车的措施。 ( 5)无线 通信 功能。 手持主机和车载主机的信息通信依靠 NRF24L01 短距离通信模块,传输手持主 机的控制信号和数据采集信号,车载主机接受信号并同时根据信号的类型运行不同设定模式。 ( 6)具有超声波自主避障的功能。 选择该模式时,智能车运行时具有自主避障的功能,遇到障碍物时选择最优化的路线行进。 车载主机 硬件设计方案 车载主机系统 硬件设计 如 图 22 所示。 S T M 3 2 F 1 0 3 V C T 6L I S 3 0 2 D L 加 速 度 L 2 9 8 N 电 机 驱 动I L I 9 3 2 0 液 晶N R F 2 4 L 0 1 无 线W T 5 8 8 D 语 音H C S R 0 4 超 声 波 G P S 定 位 系 统 图 22 车载主 机 硬件设计图 浙江万里学院本科毕业论文 8 手持主机 功能需求描述 手持主机 应具备的具体功能要求如下: ( 1) 液晶显示数据的功能。 手持模块液晶实现 GPS 数据以及智能车度和加速度,通过 GUI 界面展示在液晶屏上,实现人机交互。 ( 2)液晶屏触摸操控的功能。 UI 界面操控的主体对象是液晶触摸屏, 通过触摸屏的触摸 按键选择智能车的运行模式和运行状态。 ( 3) 陀螺仪体传感器体感功能。 通过陀螺仪传感器数据的采集和分析,判断手运动的方向,从而间接地控制智能车的运行方向。 手持主机 硬件设计方案 手持主 机 硬件设计如 图 23 所示。 L 3 G 4 2 0 0 D T R 体 感S T M 3 2 F 1 0 3 Z E T 6N R F 2 4 L 0 1 无 线i l i 9 3 2 0 液 晶 图 23 手持主机 硬件设计图 系统 软件设计 本 系统 实现软件功能主要使用 C 作为开发语言,而软件开发平台为 ARM 公司旗下的 Keil for ARM。 软件的设计主要分为车载主机程序设计和手持主机程序设计两大模块。 在开发过程中,利用意德法公司提供的 函数库,提高软件代码的编写效率,缩短项目开发周期。 软件设计思想 程序的设计思想主要是手持主机控制车载主机,两者通过无线通信系统进行信息和指令的传递。 手持主机 程序 主要 实现 GPS 数据的采集、智能车模式的选择、 智能车状态信息的采集。 为实现系统具有较高的实时性,手持主机和车载主机程序移植 μ C/OSII 实时操作系统,多任务实时操作,任务间同步与通信解决浙江万里学院本科毕业论文 9 任务时间上的冲 突,使程序 运行的效率更高,系统的稳定性能更好。 软件设计流程 程序设计流程大致分为三部分 模块系统驱动编写、模块驱动的整合、整体系统调试和优化。 本次系统中的所用到的模块较多,软件同时开发有点难度, 所以按模块化编写与调试,保证每个模块功能的完整性。 然后依次将各部分模块整合到 μ C/OSII 操作系统运行,车载主机和手持主机的调试与功能验证,最终实现整机的功能测试和稳定性检验,大致的流程就是这样,详细的模块流程见第四章。 整体程序流程图如图 24 所示。 开 始车 载 主 机初 始 化手 持 主 机初 始 化语 音 播 报是 否 又 手 持 主 机 命令。 是 否 触 摸 按键。 否无 线 发 送指 定 命 令是液 晶 触 控否是智 能 车 运行是体 感 操 作否是超 声 波 避 障否是G P S 和 状 态采 集否是手 持 主 机液 晶 显 示否 图 24 程序总体流程 图 系统方案 可行性分析 为了 适当加快本科 课题的研发进度,采用以自主研发为主、适当引入第三方成熟组件模块的技术路线。 通过自主研发实现系统中主要的软硬件模块,包括 电机驱动模块、语音播报模块、 碰撞保护模块以及车载和手持主机主板模块, 而 无线通信模块、超声波测距模块、液晶触摸模块 将通过引入第三方成熟的组件模块实现。 车载主机和手持主机都 是基于 ARM 公司 的 STM32 嵌入式 微处理器为核心开发 , 目前该款芯片的外设资源丰富开源代码充足,且价格适当,符合完成本课题的设计要求。 超声波自 主避障在 μ C/OSII 下实现动态的采集与分析数据 并且完成自主避障, 从理论上 来说 ,可以满足 采样 速率 和 程序判断任务 ,但是 智能车运行在颠簸状态下,超声 波测距会出现误差,以及在快速运行模式下, 超声波旋转的舵机平台存在灵敏度小的缺憾,所以要考虑到舵机的选型。 浙江万里学院本科毕业论文 10 3 主 机 硬件设 计 与实现 本章描述的是 车载主 机 和手持 的主控 芯片和 相关 模块硬件设计 与实现 ,整体硬件描述图在上文 中已有详细介绍,在此不再赘述,本章 采用车载主机和手持主机合二为一方式, 介绍了微处理器系统、电源系统、 语音播报 电路、 GPS定位模块电路、 超声波自主避 障模块、液晶屏触摸电路、陀螺仪数据采集电路 等的设计 与实现。 微处理器系统 为节约开发时间 和成本 ,本系统采用 意法半导体 公司提供的 32 位 嵌入式ARM微处理器 STM32F103,,其 基于 ARMv7 M体系结构的 32 位标准 RISC (精简指令集)处理器,其性能远高于 51 系列单片机,并且代码执行效率高,开发过程简洁,工作频率为 72MHz,内置高达 128K 字节的 Flash 存储器和 20K 字节的 SRAM,具有丰富的通用 I /O 端口和外设,成本相对于同等性能的微处理器更低。 在整个系统的微处理器硬件上都选用同款,方便系统的开发和程序的移植。 最小系统 电路 本节主要介绍一下 最小系统 的时钟电路及复位电路。 由于车载主机系统和手持主机系统所用微处理器为同系列的,所以不另行分开介绍。 ( 1) STM32 芯片最高可工作到 72MHz,系统主时钟采用无源晶振,频率为 8MHz,通过片内锁相环实现倍频,配置芯片内部寄存器,可实现我们所需要的工作频率,作为系统的工作时钟。 图 31 主控电路主时钟 ( 2) RTC 时钟, ,用于实时时钟模块提供。基于stm32智能车设计与实现_毕业设计论文(编辑修改稿)
相关推荐
c a p 图 21 程序与 winpcap 的依赖关系 1. NPF 模块 在 winpcap 中,与操作系统密切相关的是名为 NPF(Netgroup Packet Filter)的设备驱动程序。 NPF 能够执行许多操作,包括数据包捕获、数据包发送、网络统计及数据包转储到磁盘等,其中,最重要的功能是执行数据包的捕获。 在一个捕获过程中, NPF 驱动程序利用网络接口卡捕获数据包
关的硬件电路,即振荡器和时钟电路。 常用的时钟电路设计有两种方式,一种是内部时钟方式,另一种是外部时钟电路方式。 本系统采用了内部时钟方式,利用 STM32 内部的振荡器,然后在引脚 OSCIN和 OSCOUT 两端跨接晶体,就构成了稳定的自激振荡器,其发出的脉冲直接送入内部时钟电路,如图 所示。 沈阳航空航天大学北方科技学院毕业设计 (论文) 11 图 STM32内部时钟方 式电路 外接晶振时
,作为 LCD 的输入引脚,接收判断来自单片机的高低电平,然后选择写入指令 /数据或者读取信息。 16 PA2 连接 LCD1602 的 E 引脚,作为 LCD 的输入引脚,接收判断来自单片机的高低电平对 LCD 进行使能。 8 PC0 连接 LCD1602 的 DB0 引脚,作为 LCD 的输入 /输出引脚,并在单片机与 LCD 之间传输数据。 9 PC1 连接 LCD1602 的 DB1
TEA5767 的收音机模块来实现收音机功能,所以使得其外部电路大大简化,只要通过少数的几个元件就能实现收音机功能了。 电路原理图如图 所示: 图 收音机模块电路 需要注意的是,收音机模块对电源敏感,同时对外部电路的干扰也较大,所贺州学院本科毕业论文(设计) 9 以在这里,对模块电源的处理采用了 RC 滤波加大电容的方式,能有效的降低收音机模块对外部电源的干扰。 也能保证收音机模块电源的稳定。
路、时钟电路并完成该电路的 C 程序设计。 北京交通大学 2020 届本科生毕业设计(论文) 4 第二章 硬件部分 系统总体硬件构成 旋转 LED显示屏的系统总框图,如下图所示。 系统由 7个部分组成:系统供电模块、按键模块与单片机控制单元、显示模块、直流电机模块以及红外发射模块、红外接收模块。 其中, LED 显示由单片机和直流电机共同控制,键盘则用来实现人机交互的功能
RM7 处理能力吃紧,而且 STM32 还需要外部 DAC来做音频输出,所以采用第二种方法进行解码。 MP3 常见的解码芯片有 VS100X 系列和STA01 系列, STA01 需要外接 DAC 做音频输出,而 VS1003 自带 DAC,且解码的文件格式包含 mp3 和 wav,另外 它还可以实现录音功能,方便以后进行功能的拓展应用。 人机交互设备包括输入设备和输出设备