基于STM32智能车设计与实现 - 图文

更新时间:2023-11-10 10:52:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

浙江万里学院

本科毕业设计(论文)

(2013届)

论文题目 基于

STM32智能车的设计与实现

(英文) Design and Implementation of Smart Car Based on STM32

所在学院 电子信息学院 专业班级 电子093班 学生姓名 罗志强 学号 2009017254

指导教师 柯博林 职称 副教授 完成日期 2013 年 05 月 06 日

基于STM32智能车的设计与实现

罗志强

(浙江万里学院电信学院电子093班)

2013年5月

摘 要

智能车是一种集环境感知、规划决策、多等级辅助驾驶等功能于一体的综合系统,它集中运用了微处理器、现代传感器、信息融合、通讯、人工智能及自动控制等技术,是典型的高新技术综合体。

本论文提出了一种基于STM32嵌入式微处理器的智能车的设计。系统分为两部分:车载主机系统和手持主机系统。车载主机系统主要以履带式车轮为其机械平台,结合主控电路、超声波避障、无线通信、语音播报、GPS数据采集、碰撞保护功能,完成车载主体功能。手持主机系统主要包括无线通信、数据显示模块、体感操控,它主要负责控制智能车的运行姿态,实时车载数据的采集。整个方案的控制器核心为意法半导体公司的STM32F103VCT6处理器,利用其高速的数据处理能力和丰富的集成外设接口资源,充分发挥智能车的性能,也有利于智能车的程序设计和功能扩展。

论文首先介绍了智能车领域的国内外研究现状,然后介绍智能车控制系统总体设计框架和整个开发流程,再是介绍了智能车系统硬件电路设计和软件设计流程和思想,最后介绍智能车系统的制作与调试以及对本次毕业设计总结。

关键词:STM32F103; GPS定位; 智能控制; uCOS-ii实时操作系统;

Abstract

The smart car is a set of situational awareness, planning and decision-making, multi-level driver assistance functions in an integrated system,It is a typical high-tech complex of focusing on the use of a microprocessor, modern sensors, information fusion, communications, artificial intelligence and automatic control technology. This paper presents a design of smart car based on embedded microprocessor of STM32. The entire system is divided into two parts: Car host system and Handheld host system. The car host system is major to crawler wheels for its mechanical platform to Complete main function of Vehicle module Combine with The main control circuit module ultrasonic obstacle avoidance, voice broadcast, GPS data collection. Handheld host system mainly includes data of receiver module, data of show module, control of intelligent vehicle module and additional entertainment audio and video module. Handheld host system is mainly responsible for running posture control the smart car, real-time data acquisition of vehicle and handheld entertainment of audio and video. The main controller core is STMicroelectronics’ processor of STM32,Its high-speed data processing capabilities and a wealth of integrated peripherals interface resources, give full play to the performance of the smart car smart car, but also conducive programming and extensions.

The paper introduces the field of smart car’s status of research and the control system design framework and the entire development process of smart car, Then it introduces hardware design of the smart car’s system and design processes and ideas of software. Finally, the production of the smart car system and debugging, as well as the Summary of graduation Design.

Key Words:STM32F103;GPS positioning;Intelligent Control;Real-time operating system

目 录

1 绪论 ............................................................................................................................ 1 1.1 课题国内外研究现状 .......................................................................................... 1

1.1.1 智能车系统国内研究现状 ........................................................................... 1 1.1.2 智能车系统国外研究现状 ........................................................................... 2 1.3 本文研究内容 ...................................................................................................... 3 1.3.1 内容分析 ....................................................................................................... 3 1.3.2 开发流程 ....................................................................................................... 3 2 系统总体设计 ............................................................................................................ 5 2.1 系统对象描述 ...................................................................................................... 5 2.2 总体方案设计 ...................................................................................................... 5

2.3车载主机硬件设计 .............................................................................................. 7 2.3.1 车载主机功能需求描述 ............................................................................... 7 2.3.2 车载主机硬件设计方案 ............................................................................... 7 2.3.3 手持主机功能需求描述 ............................................................................... 8 2.3.4 手持主机硬件设计方案 ............................................................................... 8 2.4 系统软件设计 ...................................................................................................... 8 2.4.1 软件设计思想 ............................................................................................. 8 2.4.2 软件设计流程 ............................................................................................. 9 2.5 系统方案可行性分析 .......................................................................................... 9 3 主机硬件设计与实现 .............................................................................................. 10 3.1 微处理器系统 .................................................................................................... 10 3.1.1 最小系统电路 ............................................................................................. 10 3.2 电源系统设计 .................................................................................................... 12 3.3 NRF24L01无线模块设计与实现 ..................................................................... 13 3.3.1 NRF24L01无线模块电路 ........................................................................... 13 3.3.2 NRF24L01无线模块应用电路 ................................................................... 14 3.4 GPS定位模块设计与实现 ................................................................................ 14 3.4.1 主控电路 ..................................................................................................... 14 3.4.2 模块电源电路 ............................................................................................. 15 3.5超声波自主避障模块设计与实现 .................................................................... 16 3.5.1 超声波发射电路 ......................................................................................... 16 3.5.2 超声波接收电路 ......................................................................................... 16 3.6语音播报模块设计与实现 ................................................................................ 17 3.6.1语音播报的设计原理 .................................................................................. 17 3.6.2语音播报实现电路 ...................................................................................... 17 3.7液晶触摸屏模块设计与实现 ............................................................................ 18 3.7.1液晶触摸屏模块原理 .................................................................................. 18 3.7.2液晶触摸屏硬件实现 .................................................................................. 18 3.8陀螺仪模块设计与实现 .................................................................................... 20 3.8.1陀螺仪体感操作设计 .................................................................................. 20 3.8.2陀螺仪体感操作硬件实现 .......................................................................... 20 3.9碰撞保护模块设计与实现 ................................................................................ 21 3.9.1碰撞保护模块实现原理 .............................................................................. 21 3.9.2碰撞保护模块硬件实现 .............................................................................. 21 4 系统软件设计 .......................................................................................................... 22 4.1系统软件设计 .................................................................................................... 22 4.1.1 总体程序设计 ............................................................................................. 22 4.1.2 超声波自主避障处理程序 ......................................................................... 23 4.1.3 GPS信息处理程序 ..................................................................................... 24 4.1.4 NRF24L01无线模块程序设计 ................................................................... 25 4.1.5 陀螺仪体感程序设计 ................................................................................. 25 4.1.6 液晶触摸程序设计 ..................................................................................... 26

5 制作和调试 .............................................................................................................. 28 5.1 电源系统调试 .................................................................................................... 28 5.2 液晶触摸屏显示调试 ........................................................................................ 28 5.3 GPS信息数据采集调试 .................................................................................... 29 6总结与提高 ............................................................................................................... 31 致 谢 .......................................................................................................................... 32 参考文献 ...................................................................................................................... 33 附录1 系统实物图 ................................................................................................... 34 附录2 毕业设计作品说明书 ................................................................................... 35

浙江万里学院本科毕业论文 - 1 -

1 绪论

1.1 课题国内外研究现状

1.1.1智能车系统国内研究现状

我国开展智能车辆技术领域的研究起步较晚,起始于20世纪80年代。而且大多数研究都处于单项技术研究的阶段。虽然在总体上我国智能车辆技术方面落后于发达国家,也存在着一定得技术差距,但是到目前为止也取得了一系列的成果,主要有:

(1)我国第一辆自主驾驶轿车由中国第一汽车集团公司和国防科技大学机电工程与自动化学院于2003年研制成功。该自主驾驶轿车在高速公路正常交通情况下,行驶过程中都得最高稳定速度为13km/h和最高峰值速度可达170km/h,并且具有超车能力,其总体技术性能和指标已经达到世界先进水平。

(2)7B.8军用室外自主车由南京理工大学、北京理工大学、浙江大学、国防科技大学、清华大学等国内多所高等院校联合研制,该车配备彩色摄像机、激光雷达、陀螺惯导定位等高端传感器。计算机系统采用两台Sun10工作站,并完成信息融合、路径规划,同时具有两台PC486完成路边抽取识别和激光信息处理,8098单片机主要完成定位计算和车辆自动驾驶。其系统体系结构以水平式结构为主,采用传统的“感知-建模-规划-执行”算法,使其直线跟踪速度达到20km/h,而避障速度达到5-10km/h。

智能车辆研究也是智能交通系统ITS的关键技术。目前,国内众多高校和科研院所都在进行ITS关键技术、设备的研究。随着ITS研究的兴起,我国已形成一支对ITS技术有专门研究的技术专业队伍。并且通过越来越多的汽车企业和交通部门对ITS及智能车辆技术研发的投入,整个社会对智能车辆的关注程度在不断提高。相信各方的共同努力,我国ITS及智能车辆的技术水平将会得到很大提高。

可以预计,我国飞速发展的经济实力将为智能车辆的研究提供一个更加广阔的前景。我们要结合我国国情,对智能车进行深入细致的研究,为它今后的发展及实际应用打下坚实的基础。

浙江万里学院本科毕业论文 - 2 -

1.1.2 智能车系统国外研究现状

国外智能车辆的研究历史相对与国内较久,始于上世纪50年代。它的发展历程大致可分成三个阶段:

第一阶段 20世纪50年代是智能车辆研究的初始阶段。1954年美国Barrett Electronics 公司研究开发出世界上第一台自主引导车系统AGVS(Automated Guided Vehicle System)。该系统只是一个运行在固定线路上的拖车式运货平台,但它却具有了智能车辆最基本得特征即无人驾驶。早期研制AGVS的目的是为了提高仓库运输的自动化水平,应用领域仅局限于仓库内的物品运输。随着计算机的应用和传感技术的发展,智能车辆的研究不断得到新的发展。

第二阶段 从80年代中后期开始,世界主要发达国家对智能车辆进行卓有成效的研究。欧洲的普罗米修斯项目于1986年开始了在这个领域的探索。在美洲,美国于1995年成立了国家自动高速公路系统联盟(NAHSC),其目标之一就是研究发展智能车辆的可能性,并促进智能车辆技术进入实用化。在亚洲,日本于1996年成立了高速公路先进巡航/辅助驾驶研究会,主要目的是研究自动车辆导航的方法,促进日本智能车辆技术的整体进步。进入80年代中期,设计和制造智能车辆的浪潮席卷全世界,一大批世界著名的公司开始研制智能车辆平台。

第三阶段 从90年代开始,智能车辆进入了深入、系统、大规模研究阶段。最为突出的是,美国卡内基.梅隆大学(Carnegie Mellon University)机器人研究所一共完成了Navlab系列的10台自主车(Navlab1—Navlab10)的研究,取得了显著的成就。

目前,智能车辆的发展正处于第三阶段。这一阶段的研究成果代表了当前国外智能车辆的主要发展方向。在世界科学界和工业设计界中,众多的研究机构研发的智能车辆具有代表性的有:

德意志联邦大学的研究 1985年第一辆VaMoRs智能原型车辆在户外高速公路上以100km/h的速度进行了测试,它使用了机器视觉来保证横向和纵向的车辆控制。1988年在都灵的PROMRTHEUS项目第一次委员会会议上,智能车辆维塔(VITA,7t)进行了展示,该车可以自动停车、行进,并可以向后车传送相关驾驶信息。这两种车辆都配备了UBM视觉系统。这是一个双目视觉系统,具

浙江万里学院本科毕业论文 - 3 -

有极高的稳定性。

荷兰鹿特丹港口的研究 智能车辆的研究主要体现在工厂货物的运输。荷兰的Combi road系统,采用无人驾驶的车辆来往返运输货物,它行驶的路面上采用了磁性导航参照物,并利用一个光阵列传感器去探测障碍。荷兰南部目前正在讨论工业上利用这种系统的问题,政府正考虑已有的高速公路新建一条专用的车道,采用这种系统将货物从鹿特丹运往各地。

日本大阪大学的研究 大阪大学的Shirai实验室所研制的智能小车,采用了航位推测系统(Dead Reckoning System),分别利用旋转编码器和电位计来获取智能小车的转向角,从而完成了智能小车的定位。

另外,斯特拉斯堡实验中心、英国国防部门的研究、美国卡内基梅隆大学、奔驰公司、美国麻省理工学院、韩国理工大学对智能车辆也有较多的研究。

1.3 本文研究内容

1.3.1 内容分析

本课题开发设计一种基于STM32的智能车系统,实现语音提示,超声波避障,UI界面触控,陀螺仪体感操控,碰撞保 护,液晶数据显示一系列功能。

从整个系统的模块划分上来看,主要包括车载主机和手持主机两大主控。车载主机是本系统主要实现功能对象的主体,在手持主机通过NRF34L01无线发送模块发出三种主要指令,当指令为陀螺仪体感操作指令时,智能车的运行受到手持主机中陀螺仪传感器的控制,当指令为超声波自动避障时,智能车车载主机的超声波模块运行,采集环境数据给主控,经过程序代码算法的运行实现超声波自动避障,当指令为UI界面控制时,触控界面的方位按钮可以实现智能车的运行姿态,无线模块发送模块是连接车载主机和手持主机的桥梁,通过一系列的指令实现车载主机的运行状态以及数据的实时采集。

根据毕业设计任务要求,本课程主要需完成系统中超声波自主避障、车载GPS定位数据采集、陀螺仪体感操控、UI界面触控、语音提示等基本功能。

1.3.2 开发流程

整个系统的开发是基于STM32平台搭建的,首先要了解这款ARM

浙江万里学院本科毕业论文 - 4 -

Cortex-M3内核的微处理器的架构以及编程的方式和微处理器所用到外设模块的寄存器,智能车的驱动是依靠高电压、大电流电机驱动芯片L298N,需要了解驱动芯片的外围电路原理及电气特性。在功能模块中需要GPS数据的采集,GPS协议也是我们完成本设计的重要模块,GPS模块串口数据的输出以及主机采集GPS的数据的方式。防碰撞功模块在智能车发生意外事件时产生报警信号迫使运行中的智能车停止。以上内容在本文的后续章节有详细介。

本系统的完成,有诸多模块需要有外围电路才能正常工作,需要设计相应的外围电路,该内容在本文第3章有详细的电路原理图分析,包括车载主机和手持主机核心板的设计、语音模块的设计、GPS定位模块的设计、陀螺仪体感模块、液晶触摸屏模块及NRF24L01无线模块电路设计。在本文第4章介绍了本系统的软件设计。

浙江万里学院本科毕业论文 - 5 -

2 系统总体设计

本课题研究基于STM32的智能车的设计与实现,本章描述该智能系统的总体设计。第一节描述智能车的各种模块,第二节是提出智能车的总体设计方案,第三节是简要叙述车载模块的硬件设计,第四节是整个系统的软件设计,第五节对方案中的关键技术进行了讨论,第六节分析整体方案的可行性。

2.1 系统对象描述

智能车系统采用手持主机和车载主机相结合,车载主机接收手持主机发出的

指令实现系统功能,超声波模块实现智能车的自动避障功能,车载GPS定位模块完成智能车经纬度数据的采集,陀螺仪体感模块采用ST公司生产的L3G4200DTR,输出接口方便应用,无线模块使用2.4G频段NRF24L01模块集成SPI接口,语音播报模块是语音解码芯片WT588D,外挂Flash存储语音数据,UI界面图形控制等方式实现智能车的运行轨迹,手持主机接收车载主机上传的数据信息,并在手持主机UI界面上显示实时数据。系统设计上考虑到程序方便移植,主控芯片都为意法半导体公司的STM32F103。

2.2 总体方案设计

本系统采用手持主机控制系统和车载主机控制系统实现整体的方案,在车载主机控制系统中电机驱动模块为智能车运行的基础平台,利用GPS为定位手段,结合语音播报模块传达智能车运行状态,加速度碰撞保护模块有效的起到保护智能车运行过程中的安全,而手持模块的信息命令主要通过无线短距离收发模块处理和运算。在手持主机控制系统中主要通过无线短距离收发模块与车载主机系统信息的传达与接收,通过液晶屏UI界面切换智能车超声波自主避障、触摸屏触控操作、陀螺仪体感操作三种模式。

车载主机系统由如下七大部分组成: (1)加速度碰撞保护系统; (2)车载GPS定位系统; (3)电机驱动系统;

浙江万里学院本科毕业论文 - 6 -

(4)无线通信系统; (5)语音播报系统; (6)超声波自主避障; (7)液晶显示模块。

手持模块系统由如下三大部分组成: (1)液晶触摸系统; (2)无线通信系统; (3)陀螺仪体感操控系统。

车载主机系统和手持主机系统的总体框架图如图2-1所示。

陀螺仪体感操控液晶触摸屏系统手持主机微处理器无线通信系统无线通信系统加速度碰撞保护电机驱动系统车载主机微处理器液晶数据显示超声波自主避障语音播报系统GPS定位系统 图2-1 系统总体连接图

智能车系统采用手持主机和车载主机相结合,车载主机接收手持主机发出的指令,实现超声波自动避障、GPS数据的采集和显示、陀螺仪体感操作、UI界面图形控制等方式实现智能车的运行轨迹,手持主机接收车载主机上传的数据信息,并在手持主机UI界面上显示实时数据。系统设计上考虑到程序方便移植,主控芯片都为意法半导体公司的STM32F103。

浙江万里学院本科毕业论文 - 7 -

2.3车载主机硬件设计

2.3.1 车载主机功能需求描述

车载主机应具备的具体功能要求如下:

(1)具备四轴电机驱动能力。智能车的平稳运行在于有一个强劲的驱动模块,其余模块功能的实现建立在智能车能平稳运行的前提下。

(2)具备GPS全球定位信息采集功能。GPS具有全球任何地点、任何时间、全天候高精度定位的特点。车载主机接收来自GPS卫星的信号,经数据处理,获得智能车的实时经度、纬度位置数据。

(3)语音播报功能。智能车语音功能主要通过主控芯片编码,将编码值传给WT588D语音芯片,按照码值地址读取Flash中的数据实现语音播报的功能。

(4)具备功能碰撞保护功能。智能车在运行模式中会出现碰撞障碍物,设计系统中具有三轴数字加速度器Lis302D测量运行过程的加速度,检测判断加速度值,断定是否为智能车发生碰撞,根据情况采取是否停车的措施。

(5)无线通信功能。手持主机和车载主机的信息通信依靠NRF24L01短距离通信模块,传输手持主机的控制信号和数据采集信号,车载主机接受信号并同时根据信号的类型运行不同设定模式。

(6)具有超声波自主避障的功能。选择该模式时,智能车运行时具有自主避障的功能,遇到障碍物时选择最优化的路线行进。

2.3.2 车载主机硬件设计方案

车载主机系统硬件设计如图2-2所示。

NRF24L01无线LIS302DL加速度L298N电机驱动STM32F103VCT6ILI9320液晶HC-SR04超声波WT588D语音GPS定位系统 图2-2 车载主机硬件设计图

浙江万里学院本科毕业论文 - 8 -

2.3.3 手持主机功能需求描述

手持主机应具备的具体功能要求如下:

(1)液晶显示数据的功能。手持模块液晶实现GPS数据以及智能车度和加速度,通过GUI界面展示在液晶屏上,实现人机交互。

(2)液晶屏触摸操控的功能。UI界面操控的主体对象是液晶触摸屏,通过触摸屏的触摸按键选择智能车的运行模式和运行状态。

(3)陀螺仪体传感器体感功能。通过陀螺仪传感器数据的采集和分析,判断手运动的方向,从而间接地控制智能车的运行方向。 2.3.4 手持主机硬件设计方案

手持主机硬件设计如图2-3所示。

L3G4200DTR体感ili9320液晶STM32F103ZET6NRF24L01无线 图2-3 手持主机硬件设计图

2.4 系统软件设计

本系统实现软件功能主要使用C作为开发语言,而软件开发平台为ARM公司旗下的Keil for ARM。软件的设计主要分为车载主机程序设计和手持主机程序设计两大模块。在开发过程中,利用意德法公司提供的函数库,提高软件代码的编写效率,缩短项目开发周期。

2.4.1 软件设计思想

程序的设计思想主要是手持主机控制车载主机,两者通过无线通信系统进行信息和指令的传递。手持主机程序主要实现GPS数据的采集、智能车模式的选择、智能车状态信息的采集。为实现系统具有较高的实时性,手持主机和车载主机程序移植μC/OS-II实时操作系统,多任务实时操作,任务间同步与通信解决

浙江万里学院本科毕业论文 - 9 -

任务时间上的冲突,使程序运行的效率更高,系统的稳定性能更好。

2.4.2 软件设计流程

程序设计流程大致分为三部分模块系统驱动编写、模块驱动的整合、整体系统调试和优化。本次系统中的所用到的模块较多,软件同时开发有点难度,所以按模块化编写与调试,保证每个模块功能的完整性。然后依次将各部分模块整合到μC/OS-II操作系统运行,车载主机和手持主机的调试与功能验证,最终实现整机的功能测试和稳定性检验,大致的流程就是这样,详细的模块流程见第四章。 整体程序流程图如图2-4所示。

否是否触摸按键?是无线发送指定命令是否又手持主机命令?否否GPS和状态采集是否液晶触控是否体感操作是智能车运行车载主机初始化语音播报否超声波避障是手持主机液晶显示手持主机初始化是开始 图2-4 程序总体流程图

2.5 系统方案可行性分析

为了适当加快本科课题的研发进度,采用以自主研发为主、适当引入第三方成熟组件模块的技术路线。通过自主研发实现系统中主要的软硬件模块,包括电机驱动模块、语音播报模块、碰撞保护模块以及车载和手持主机主板模块,而无线通信模块、超声波测距模块、液晶触摸模块将通过引入第三方成熟的组件模块实现。

车载主机和手持主机都是基于ARM公司的STM32嵌入式微处理器为核心开发,目前该款芯片的外设资源丰富开源代码充足,且价格适当,符合完成本课题的设计要求。

超声波自主避障在μC/OS-II下实现动态的采集与分析数据并且完成自主避障,从理论上来说,可以满足采样速率和程序判断任务,但是智能车运行在颠簸状态下,超声波测距会出现误差,以及在快速运行模式下,超声波旋转的舵机平台存在灵敏度小的缺憾,所以要考虑到舵机的选型。

浙江万里学院本科毕业论文 - 10 -

3 主机硬件设计与实现

本章描述的是车载主机和手持的主控芯片和相关模块硬件设计与实现,整体硬件描述图在上文2.3中已有详细介绍,在此不再赘述,本章采用车载主机和手持主机合二为一方式,介绍了微处理器系统、电源系统、语音播报电路、GPS定位模块电路、超声波自主避障模块、液晶屏触摸电路、陀螺仪数据采集电路等的设计与实现。

3.1 微处理器系统

为节约开发时间和成本,本系统采用意法半导体公司提供的32位嵌入式ARM微处理器STM32F103,,其基于ARMv7- M体系结构的32位标准RISC (精简指令集)处理器,其性能远高于51系列单片机,并且代码执行效率高,开发过程简洁,工作频率为72MHz,内置高达128K 字节的Flash存储器和20K 字节的SRAM,具有丰富的通用I /O 端口和外设,成本相对于同等性能的微处理器更低。在整个系统的微处理器硬件上都选用同款,方便系统的开发和程序的移植。

3.1.1 最小系统电路

本节主要介绍一下最小系统的时钟电路及复位电路。由于车载主机系统和手持主机系统所用微处理器为同系列的,所以不另行分开介绍。

(1)STM32芯片最高可工作到72MHz,系统主时钟采用无源晶振,频率为8MHz,通过片内锁相环实现倍频,配置芯片内部寄存器,可实现我们所需要的工作频率,作为系统的工作时钟。

图3-1 主控电路主时钟

(2)RTC时钟,32.768KHZ,用于实时时钟模块提供时钟信号。

浙江万里学院本科毕业论文 - 11 -

图3-2 RTC时钟电路

(3)复位电路,主控芯片低电平复位,采用经典的电阻加电容的复位电路。

图3-3 主控复位电路

(4)备份电源电路,输入电压为3.3V,只要保存系统掉电时,备份寄存器的数据。

图3-4 备份电源电路

(5)微处理器启动方式模式电路,BOOT0和BOOT1的电平高低的不同,微处理器运行程序的地址不同。

图3-5 启动模式选择电路

浙江万里学院本科毕业论文 - 12 -

3.2 电源系统设计

车载主机系统是由电机驱动电路、语音播报模块、超声波自主避障模块、GPS定位模块、碰撞保护模块、液晶显示模块、无线发送模块等七部分组成,设计一个驱动力大、性能稳定的电源是整个车载主机系统稳定、安全运行的前提条件。

车载主机系统整体作为车载的一个部分,其电源来自于3节3.7V锂电池。最大能提供的电压为12.6V。满足我们L298N电机驱动芯片的输入范围之内,而且能提供较大的电流,能保障智能车运行的速度,这是我们设计中必须要考虑的,我们都知道,一般芯片的工作电压在3.3V~5V左右,所以我们需要设计两个稳压电路,将锂电池的电压稳压输出5V和3.3V,输出电流1~2A,为了使电源部分电流大和散热性好,我选择TI公司提供该芯片具有良好的稳压性能,输出可调,最高可达3A电流输出,具备过流保护功能,防止烧毁后端器件。所以其电源效率高,最高可达95%,减少其电能损耗。而手持主机部分的电源考虑用手机锂电池,电压为4.2V,经过LM1117稳压芯片供给微处理器和外设模块使用。两个系统的电源都要考虑使用滤波,保证其输出纹波足够小,否则将影响ARM芯片的工作性能。车载主机电源电路如图3-10,手持主机电源如图3-11,

图3-6 车载主机电源电路

图3-7 手持主机电源电路

浙江万里学院本科毕业论文 - 13 -

3.3 NRF24L01无线模块设计与实现

无线模块采用NORDIC公司的NRF24L01,工作于2.4GHz-2.5GHz ISM频段,无线收发器包括:频率发生器、增强型“SchockBurst”模式控制器、功率放大器、晶体振荡器、调制器和解调器。在SPI模式下传输速率最大可以达到10 Mb/s;无线收发数据量大,有利于处理各种复杂的信号数据,运行模式下nRF24L01功耗低,能提高电池的续航能力。具有自动应答和自动再发射功能以及片内自动生成报头和CRC校验码,提高数据传输的稳定性和准确性。

本节将介绍NRF24L01无线模块设计电路原理图和与微处理器的接口应用。 3.3.1 NRF24L01无线模块电路

图3-11的为NORDIC公司开源的产品原理图,通过原理图和硬件电路图我们可以直接通过工厂加工得到这款无线模块,方便了开发和应用。

图3-8 NRF24L01原理图

2.4GHz~2.5GHz频段的信号干扰大,但是NORDIC公司设计的无线模块具很高的稳定性和安全性,以SPI数字接口的方式提供给用户。STM32丰富的外设接口使得开发应用变得更加灵活和便捷。

浙江万里学院本科毕业论文 - 14 -

3.3.2 NRF24L01无线模块应用电路

在车载主机和手持主机系统中,无线模块的电源采用板载的3.3V,与STM32微处理器SPI外设接口相连接,SPI外设寄存器模式配置成主模式,传输速率以根据用户实际需求通过软件更改。NRF无线模块的应用接口图如图3-12。

图3-9 NRF24L01应用接口电路

NRF24L01无线短距离收发模块同时应用在车载主机和手持主机系统上,具备无线收发切换模式,从而组成一座信息交流的桥梁,智能车控制指令在车载主机和手持主机之间顺利的传输,每一帧的数据量可以包含1~32Byte的数据,信息传输速率高、数据量大,在本系统中将其性能发挥的淋漓精致,该模块还应用于智能运动设备、无线门禁无线数据通讯、遥感勘测等领域、安防系统等领域。

3.4 GPS定位模块设计与实现

3.4.1 主控电路

车载主机系统采用的GPS模块型号为GS-89,采用美国瑟孚SiRF公司所设计的最新单芯片GSC4f卫星定位接收芯片,是一个完整的卫星定位接收器具备全方位功能,采用SiRF高灵敏度、低耗电量芯片GSC4f,内建ARM7TDMI CPU,具备快速定位及追踪20颗卫星的能力,操作温度:-40℃to + 80℃,存放温度:-45℃to + 85℃,满足本系统所适用的温度范围,满足系统需求。

通过查看模块提供的外围接口图,自行设计了该模块的外围电路,通过串口发送GPS定位数据给微处理器。模块连接图如图3-10所示。

浙江万里学院本科毕业论文 - 15 -

图3-10 GS-89模块接口图

3.4.2模块电源电路

GS-89这款GPS模块的工作电压为3.0V-5.0V,工作模式时电流消耗大,所以要专门设计电源模块。通过查阅GS-89模块技术资料,了解到该模块的VBAT脚可接备份电源,以保证内部芯片RTC不停止工作,同时实现RAM保持,以确保下次开启时能快速定位。所以设计该模块的备份电源以提高模块的定位速度很有必要。模块电源电路如图3-11所示。

图3-11 GS-89模块电源电路

图中采用2个5819二极管,其中D1为防止高电压反串且通过二极管的管压降使备份电源电池不供电。采用二极管5819为肖特基二极管,其管压降较小,普通二极管的管压降有0.7V,而肖特基二极管一般管压降在0.3V左右。电池采用2032纽扣电池,电压为3.0V,通过一个肖特基二极管,电压低于3.0V,使得芯片不工作,仅供RTC时钟工作,以保障电池的持久性能。

浙江万里学院本科毕业论文 - 16 -

3.5超声波自主避障模块设计与实现

3.5.1 超声波发射电路

超声波发射电路中由两部分主成:控制电路和发射电路。控制电路在P51和P52IO口输出两个频率都为40KHZ、相位相反的方波,输入MAX232将TTL电平转化成MAX232电平,驱动超声波发射头。根据手册资料显示,每当J1接插口的Trig检测到20us以上的TTL电平,STC单片机输出8个40KHz的方波。当超声波遇到障碍物会返回回音,下一节具有详细说明。 STC单片机P53口作为MAX232芯片工作启动开关。

图3-12 超声波发射电路图

3.5.2 超声波接收电路

超声波接收电路也包括两部分:控制电路和接收电路。接收电路中,超声波接收头在接收到频率为40KHz的方波回波后,经过一个四路运放芯片TL074,将接收到的小信号四次放大,最终在TL074中的1脚输出,而2脚出的波形是经过解调的,两路信号同时输入到控制电路STC单片机的P60和P61,经过单片机的运算与处理。在Echo引脚输出高电平,而高电平的时间(t)与智能车到障碍物的距离(s)成比列声音在空气中的传播速度c(340m/s)。距离计算公式如下:

S=(t*c)/2

具体接口如图3-13所示

浙江万里学院本科毕业论文 - 17 -

图3-13 超声波接收电路所示

3.6语音播报模块设计与实现

3.6.1语音播报的设计原理

在该模块中我们所用到型号为WT588D 语音芯片,其内嵌 DSP 高速音频处理器,处理速度快,内置 13Bit/DA 转换器,以及 12Bit/PWM 输出,音质好,PWM 输出可直接推动 0.5W/8Ω扬声器,推挽电流充沛,具有DAC/PWM 两种输出方式,本系统中运用的是PWM模式的输出。配套WT588D VoiceChip 上位机操作软件可随意更换 WT588D语音单片机芯片的任何一种控制模式,把语音信息下载到外挂SPI-Flash中即可。 WT588D具有MP3模式、按键模式、并行模式、串行模式等不同模式控制。本课题选用考虑到语音播报的类型数量不多,所以考虑较灵活的并行模式。并行模式下SPI-Flash中下载的语音数据相对应与WT588D VoiceChip 上位机下载时所选择的并行模式,该模式下,语音地址的A0~A7在触发信号SBT为低电平时锁存,语音芯片从该地址段读取上位机所下载的语音数据,并经过内部DSP处理,输出PWM,驱动扬声器。 3.6.2 语音播报实现电路

WT558D-32L模块是将DSP语音芯片WT558D-32L和外挂32Mb的SPIFlash集成在一起。预留IO接口给用户。本次设计选择的是并行模式,P00为地址触

浙江万里学院本科毕业论文 - 18 -

发信号,而A0~A7为地址输入IO信号,触发信号和地址线都与STM32微处理器的IO口相连,通过给IO一系列的动作,驱动语音芯片正常工作,WT558D-32L语音芯片则通过SPI协议访问Flash,将A0~A7所对应的数据将Flash地址中的数据读出。通过PWM-和PWM+两个大电流IO口驱动扬声器。WT558D-32L模块电路图如图3-14所示。

图3-14 WT558D-32L模块电路图

3.7液晶触摸屏模块设计与实现

3.7.1液晶触摸屏模块原理

采用262K 色带有ILI9320驱动芯片的320X240液晶,并整合TSC2406触摸芯片,提供40pin对外用户接口,液晶提供多种总线,而这里采用i80/16bit 系统总线接口,正好符合STM32的FSMC总线驱动SRAM协议,具有总线速度快,数据量大等优势。触摸控制芯片采用SPI接口输出内部AD采样值给微处理器处理判断触摸点的所在位置。 3.7.2液晶触摸屏硬件实现

ILI9320液晶具有D0~D15数据IO口、LCD_CS片选线、RS控制或状态选择位、RD数据读选择位、RW数据写选择位。分别于与STM32 FSMC总线的FSMC_D0~D0、FSMC_ A0、FSMC_NE3、FSMC_NEW、FSMC_NOW相连接。 触摸屏采用四线电阻屏,是在表面保护涂层和基层之间覆着两层透明电导层ITO(ITO:氧化铟,弱导电体,特性是当厚度降到1800个埃(埃=10-10米)以下

触摸屏电路图如图3-16所示。

图3-15 触摸芯片连接电路图

而得到触摸的X,Y坐标,触摸芯片连接电路图如图3-15所示。

微透明绝缘颗粒绝缘,当触摸时产生的压力使两导电层接通,由于电阻值的变化

是所有电阻屏及电容屏的主要材料。),两层分别对应X,Y轴,它门之间用细

浙江万里学院本科毕业论文 - 19 -

时会突然变得透明,再薄下去透光率反而下降,到300埃厚度时透光率又上升。

液晶屏和触摸屏模块整合在一起,通过外部数据接口与微处理器相连,液晶

图3-16 液晶触摸屏电路图

浙江万里学院本科毕业论文 - 20 -

3.8陀螺仪模块设计与实现

3.8.1陀螺仪体感操作设计

陀螺仪体感操作的实现是根据用户的手势动作状态,陀螺仪传感器采集角速度变化值,经过数据融合处理,计算出手势的方向,控制智能车的运行轨迹。在模块中用到ST公司的L3G4200D陀螺仪,I2C / SPI数字输出接口,16比特率值的数据输出,通过STM32微处理器的SPI模式与其通信,获取当前X、Y、Z轴的角速度。根据角速度的正负可以判断手势移动的方向,而角速度的大小对时间求倒数就是手移动的角度,角度的大小可以控制智能车的速度。 3.8.2陀螺仪体感操作硬件实现

采用STM32微处理器四线SPI接口模式与L3G4200D通信,在片选端口

上拉电阻R21,提高芯片工作的稳定性。C29、C30、R22组成一个外部低通滤波器,是内部锁相环环路滤波器,典型的值C29 = 470nf,C30 = 10nf,R22 = 10K。 利用STM32的外部SPI2的SCK、MOSI、MISO、CS四线模式,并且输出两个数字线(中断和Dataready),可以通过配置L3G4200D内部的寄存器设置中断模式和中断的边沿。陀螺仪体体感操作硬件电路图如图3-17所示。

图3-17 陀螺仪体体感操作硬件电路图

浙江万里学院本科毕业论文 - 21 -

3.9碰撞保护模块设计与实现

3.9.1碰撞保护模块实现原理

智能车在行驶的过程中,发生碰撞以后不及时停止,会造成车体受损,电子系统发生破坏,所以设计碰撞保护模块是很必要的,本次用到是LIs302DL数字加速度计,测量X、Y、Z轴的加速度值,当发生碰撞或颠簸的时候,X、Y、Z轴的加速度会发生变化,根据实际的调试情况,设定加速度阈值,当运行过程中加速度大于阈值,触发智能车安全模式。 3.9.2碰撞保护模块硬件实现

Lis302DL同样采用STM32微处理器四线SPI接口模式通信,在片选端口上拉电阻R21,提高芯片工作的稳定性。C30、C31组成高低频滤波电路,滤除供电电源中的杂波,防止电源不稳定带来的芯片工作不稳定、输出数据出错的情况。 复用STM32的外设SPI2,通过Lis_CS片选线实现这一模式。Lis302DL提供两根数字输出线(中断1、中断2),可以通过配置Lis302DL内部的寄存器设置中断模式和中断的边沿。碰撞保护模块硬件电路图如图3-18所示。

图3-18 碰撞保护模块硬件电路图

浙江万里学院本科毕业论文 - 22 -

4 系统软件设计

整个系统由车载主机系统和手持主机系统组成,其中以车载主机系统作为从机,手持主机系统为主机,完成整个智能车的控制。本章分别介绍了车载主机系统软件和手持主机软件的设计流程。

4.1系统软件设计

车载主机软件系统运行在μC/OS-II实时操作系统上,将车载系统中各个部分功能模块以任务的方式加入在操作系统中。由实时操作系统进行任务管理、任务间通信、任务调度。高效、稳定的完成车载主机系统的各个功能。本小节分6小点讲述整个系统软件设计的流程。

4.1.1 总体程序设计

车载、手持主机系统软件设计主要由两大部分组成: 一、μC/OS-II系统初始化

μC/OS-II系统初始化,指的是在操作系统运行之前进行任务优先级的创建、任务堆栈的分配、操作系统链表的初始化。将软硬件环境配置成操作系统模式,为多任务创建提供运行平台。

二、功能模块的任务创建与运行

在车载主机系统中将无线通信模块、防碰撞保护模块、语音播报模块、GPS定位模块、超声波自主避障模块、液晶显示模块划分成六个任务,并根据任务在程序中的优先比重创建优先级,利用操作系统的信号量、邮箱、消息队列、共享内存等任务间通信手段,使每个任务按照预定设想模式运行。在手持主机系统中同样将陀螺仪体感模块、液晶触摸屏模块、无线模块分成3个任务,同样利用操作系统具有的任务管理手段,使其能稳定运行。手持主机系统占主导作用,车载主机初始化完毕等待手持主机系统通过无线通信发送的指令和信息,车载主机系统依据命令格式的不同,做出不同的轨迹调整。这样两大主机系统完成信息的沟通、指令的传达,使得智能车按照程序预定目标运行。两大主机结合的整体软件设计流程,如图4-1所示。

浙江万里学院本科毕业论文 - 23 -

否触摸选择GPS数据采集无线发送液晶触控状态否是触摸选择液晶触控体感操作无线发送体感状态否触摸选择体感模式否触摸选择超声波避障无线发送超声波启动状态否超声波自主避障是否接受到启动信号量无线发送GPS数据采集是是任务等待否任务优先级最高是任务运行自主避障是是语音播报液晶触摸体感操作无线通信语音播报超声波自主避障信启动号量发送是液晶触控控制轨迹是否否液晶触控启动体感操作否是智能车运行超声波自主避障否μC/OS-II系统初始化任务创建无线通信收到手持模块指令是手持主机硬件初始化GPS定位GPS采集启动信号量否否车载主机硬件初始化液晶显示液晶显示信号量是数据采集液晶显示任务结束GPS数据采集是否GPS启动信号量发送手持主机体感操作μC/OS-II系统初始化是液晶显示信号发送液晶显示数据任务结束图4-1 整体软件设计流程图

整个流程图将车载主机系统软件流程和手持主机系统软件整合在一起,流程中两大模块共用任务创建模块,手持主机系统创建液晶触摸、体感操作、无线通信三大任务,根据触摸屏选择智能车运行的方式,通过无线通信将指令传送给车载主机,车载主机中五大任务根据优先级和接收到的指令信号量是否运行程序。

4.1.2 超声波自主避障处理程序

超声波自主避障软件设计思想主要是依据超声波测距,计算障碍物离智能车的距离,取前方180度5个方向的值,并进行多次采样,减小数据误差,然后进行数据处理,软件判断最优路线,智能车朝该目标行驶。超声波避障流程图如图4-2所示。

超声波避障启动舵机转动取5个方向距离微处理器数据处理选择最优路线智能车行驶图4-2 超声波避障流程图

浙江万里学院本科毕业论文 - 24 -

4.1.3 GPS信息处理程序

串口作为与外界信息互通的重要手段,在程序调试的时候经常使用。本程序设计主要服务于GPS模块信息读取,存储。

以下内容为GPS协议所规定的GPS模块上传信息:

$GPGGA,073507.029,0000.0000,N,00000.0000,E,0,00,,0.0,M,0.0,M,,0000*4E $GPRMC,073507.029,V,0000.0000,N,00000.0000,E,,,280908,,,N*70 $GPVTG,,T,,M,,N,,K,N*2C

$GPGGA,073508.029,0000.0000,N,00000.0000,E,0,00,,0.0,M,0.0,M,,0000*41 $GPRMC,073508.029,V,0000.0000,N,00000.0000,E,,,280908,,,N*7F $GPVTG,,T,,M,,N,,K,N*2C

$GPGGA,073509.029,0000.0000,N,00000.0000,E,0,00,,0.0,M,0.0,M,,0000*40 $GPRMC,073509.029,V,0000.0000,N,00000.0000,E,,,280908,,,N*7E

我们可以看到,GPS信息是周期性出现,按照设定好的波特率每秒上传信息。而本系统仅需要经纬度、海拔高度和时间信息的采集。我们看到,信息中,‘,‘周期性出现,作为内容的分隔符,所以在获取内容时也通过判断‘,’来获取所需内容,并创建了type_GPS_data结构体,用于分类存放数据。该结构体为:

typedef struct type_GPS_data {

unsigned char unsigned char unsigned char unsigned char unsigned char unsigned char unsigned char unsigned char

status; lat_ns;

//GPS当前的状态 //纬度方向 //纬度 //经度方向 //经度

latitude[11]; long_ew;

longitude[12];

altitude[6]; //海平面高度 date[7]; time[11];

//当前UTC日期

//定位时UTC时间hhmmss

}t_GPS_data;

通过结构体将数据归类存放,也方便程序调用其内容。而当前时间所采集的是格林尼治时间,所以身在东八区的我们应该将时间增加8个时区,再通过±0x30还原ASCII还原字符。GPS信息处理流程图如图4-3所示。

浙江万里学院本科毕业论文 - 25 -

GPS数据采集开始串口设备打开中断接收开读取当前串口缓冲区内容提取经纬度海拔时间转换提取数据的格式保存数据供函数调用 图4-3 GPS信息处理流程图

4.1.4NRF24L01无线模块程序设计

本系统采用2.4G频段的无线通信模块,具有收发一体的功能,软件设计分为接收程序和发送程序。发送和接收程序的节点地址要相同,确保两个无线发送模块能给对接通信,配置NRF24L01模块的寄存器可以设置RF通信频率、发送增益、RF发送接收通道以及自动重发模式。车载主机初始后,就处于待机状态,等待接收手持主机的命令,两者的无线通信模块交替工作。程序中手持主机主要发送智能车的运行指令,而车载主机则处于接收方式。NRF24L01无线通信流程图如图4-4所示。

车载主机系统无线通信是手持主机系统无线通信无线通信切换成接收同时接收GPS数据和当前状态无线通信发送体感操作状态无线通信发送超声波避障状态初始化接收模式接收到手持主机命令否是否切换模式是否无线通信切换成发送是发送GSP数据和当前状态是触摸选择发送模式切换否初始化发送模式是液晶触控是发送液晶触控启动信号量触摸选择体感操作否是否触摸选择超声波避障否超神波自主避障是否发送超声波自主避障启动信号量无线通信发送液晶触控状态是触摸选择液晶触控体感操作是发送体感操作启动信号量图4-4 NRF24L01无线通信流程图

4.1.5 陀螺仪体感程序设计

陀螺仪体感操作的程序设计主要在于数据处理与手势的运行方向的判断。程序能够依据算法来控制智能车的运行。本此设计的理念是陀螺仪输出的数据有正负,也意味着具有两个相反的方向。用一种算法结合输入的数据判断出方向性。

浙江万里学院本科毕业论文 - 26 -

所以设计流程图如图4-5所示。

智能车前进否X轴的角速度>20是否X轴的角速度>0数据流转化成角速度否Y轴的角速度>0是Y轴的角速度>20是智能车后退是X轴的角速度<-20微处理器读取数据否Y轴的角速度<-20是智能车左转智能车右转 图4-5 陀螺仪体感流程图

微处理器通过SPI通信协议读取陀螺仪的数据,分别将X、Y、Z三轴的值,实际程序中没用到Z轴的值,就对取X、Y值做解析。X、Y的值经过数据转化变为角速度值,用比较大小的方法去判断转动的方向,为除去陀螺仪的零点漂移,设置滤波,将小于20rad/s的数据丢弃。虽然这样的方法存在较大的误差,但是基本能实现体感操作的功能。

4.1.6 液晶触摸程序设计

液晶触摸程序设计是手持主机系统的核心内容,整个系统的操控都是基于UI界面,触摸屏替代按键,使用户的操控体验更加完美。UI界面包括体感操作

浙江万里学院本科毕业论文 - 27 -

模式选择、超声波自主避障模式选择、液晶触控模式选择、GPS数据和智能车状态采集模式。液晶触控模式下有一个子界面,其中包括五个触摸按键和一个调节车速的滑杆,分别为前后左右按键和50~100单位的速度调节。液晶触摸程序设计流程图如图4-6所示。

无线通信发送操作命令液晶触摸屏初始化触摸五个方向键或调节速度滑杆是选择液晶触摸否体感操控液晶屏是选择体感操作否否选择超声波自主避障显示菜单界面是触摸屏按下否

图4-6 液晶触摸程序设计流程图

手持主机系统中的μC/OS-II操作系统管理着液晶界面的显示、触摸屏数据的采集和无线通信的收发。一旦UI界面的一种状态被选中,操作系统运行无线通信任务,将该模式的状态命令发送到车载主机系统。液晶触摸程序联通用户操作和智能车的运行,最终实现了人机互动的功能。

浙江万里学院本科毕业论文 - 28 -

5 制作和调试

5.1 电源系统调试

车载主机电源系统要求可以实现12VDC电压输入,5VDC稳压输出和3.3VDC输出,切具有较好性能,以保证主机系统的正常工作。实际做出的电源实现了输入从7.5~15V,输出稳定于5VDC和3.3VDC,电压纹波小于10mV,最大输出电流可达1.5A,满载情况电压浮动0.04V,并具有2A阀值电流,稳压芯片具有实现过流保护功能,反应时间50us。

5.2液晶触摸屏显示调试

手持主机系统和车载主机系统都具有液晶屏显示功能,用FSMC系统总线方式驱动。在程序中加载液晶驱动和编写界面代码,并将代码通过J-link烧写到微处理器的Flash中,同时确保外部硬件电路的端口相对应,液晶接口连线无误。启动电源看到车载主机系统和手持主机系统界面显示如图5-1和5-2所示。

图5-1 车载主机系统液晶显示图

本文来源:https://www.bwwdw.com/article/5fzv.html

Top