基于ARM的智能小车的设计与实现_第1页
基于ARM的智能小车的设计与实现_第2页
基于ARM的智能小车的设计与实现_第3页
基于ARM的智能小车的设计与实现_第4页
基于ARM的智能小车的设计与实现_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

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

文档简介

1、题目:题目: 基于基于 ARM 的智能小车的设计与实现的智能小车的设计与实现 学学 院院:专专 业业:班班 级级:学生姓名学生姓名:学学 号号:指导教师指导教师:完成日期完成日期:设计任务书设计任务书姓名学号毕业届别专业毕业设计(论文)题目基于 ARM 的智能小车的设计与实现指导教师学历职称具体要求:具体要求:1、设计目的与内容选题意义:设计并实现能自动躲避障碍物的无人自动驾驶系统,来减少道路交通事故,减少运输成本和环境污染以及资源浪费。设计目的:根据现有的智能技术和软件技术,设计出一个完整的无人智能车辆控制系统,可以自主识别道路情况,并能根据道路情况自主控制方向和速度。设计内容:通过摄像头实

2、时采集轨道的路况信息,并把采集到的信息传给主控芯片,主控制芯对这些轨道信息进行处理,最终控制舵机的转向和电机的转速,实现无人自动驾驶。2、设计要求与成果设计工具: Windows 环境+ARM 开发板+IAR 和 Altium Designer 软件技术要求:系统采用 C 语言进行开发,系统中主要用到的算法有滤波算法和 PID 算法。设计步骤:硬件设计,硬件设计包括核心控制器原理图设计,传感器模块原理图设计,电机驱动模块原理图设计,稳压模块原理图设计,以及整体原理图设计。软件设计;针对不同环境进行调试。英文翻译:要求两千个实词以上的英文相关技术文献翻译为中文;设计成果:毕业论文一篇+程序源代码

3、+硬件。3、应收集的主要参考文献1 卓晴,黄开胜,邵贝贝学做智能车:挑战“飞思卡尔”杯M北京航空航天大学出版社,2007.32 陶永华 新型 PID 控制及其应用,机械工业出版社,20023 仇慎谦, PID 调节规律和过程控制,江苏科学技术出版社,1987.124 谢凯 赵健编著.MSP430 系列单片机系统工程设计与实践.机械工业出版社.2010进度安排:进度安排:设计各阶段内容时间%1按题目要求进行资料收集、调研,阅读相关技术资料和文献,熟悉开发设计工具。第 7 学期 1820 周52确定系统的结构、功能、模块和数据,制定具体的工作计划和方案,完成需求分析、开题报告。第 8 学期 12

4、周103按任务书要求进行系统的软件设计、硬件设计和总体设计。第 8 学期 35 周254撰写中期检查报告。根据软件设计和总体设计的成果,完成代码调试,并进行系统测试。第 8 学期 69 周405次修改和批改后完成终稿。对正文部分进行查重。全部审核合格后,参加答辩。第 8 学期 1015 周206选择正规出处的相关外文资料进行翻译工作/。第 8 学期 12 周 指导教师签字: 年 月 日题目发出日期 设计(论文)起止时间 学院意见:同意发布题目 毕业设计领导小组组长签章 开题报告书开题报告书课题名称基于 ARM 的智能小车的设计与实现课题来源指导老师课题类型BY导师 学生姓名 学号 专业 1、目

5、的和意义随着车辆的普及和保有量的日益增加,不可避免地带来了交通事故、交通拥挤、环境污染、能源浪费等诸多问题。无论是发展中国家进行的汽车化过程,还是目前发达国家面临的汽车化发展,提高车辆安全性能、减少道路交通事故一直是人们普遍关注的社会问题和科学技术进步所面临的重要课题之一。因此,根据现有的智能技术和软件技术设计出一个完整的可以自主识别道路情况,并能根据道路情况自主控制方向和速度的无人智能车辆控制系统便显得意义重大。 该系统通过利用传感器采集技术、自动控制技术来设计并实现一个能在特定路线上采集道路信息,合理规划路线,自动躲避障碍物的无人自动驾驶系统。通过对智能驾驶系统的实现来减少道路交通事故,减

6、少运输成本和环境污染以及资源浪费。2、研究现状和发展趋势智能车辆也叫无人车辆,是一个集环境环境感知、规划决策和多等级辅助驾驶等功能于一体的综合系统。它集中运用了计算机、现代传感技术、人工智能、自动控制等技术。智能车有着广泛的运用前景,目前很多国家和公司都在进行智能车辆的研究。特别是在军用和物流方面有着广泛的应用前景。时至今日,世界各国对智能车辆技术的研究开发表现出空前的热情,为此投入了大量的人力、物力,智能车辆技术也相继取得了突破性的进展,如德国的 VaMoRs-P 车辆系统、美国的 NavLab 系统、意大利的 ARGo 系统,我国的吉林大学 JUTIV 系列,国防科技大学的 CITAVT

7、系列等。利用多种传感器和智能公路技术实现的智能汽车将成为汽车发展的主要方向,该智能车能根据 GPS 定位系统和导航信息确定后面的行驶方向,还能根据交通管理中心提供的实时前方道路信息躲避堵车、事故等,能灵活地改变行驶路线等等。该智能车将逐步取代现有的汽车,成为未来人们的主要交通工具。3、设计方案系统采用 32 位微处理 1 器 kinetis 系列的 MK60DN512ZVLL10 作为核心控制单元,由ov7725 数字摄像头采集当前赛道信息,输出的模拟信号由 LM1881 视频场信号分离芯片将行同步信号和场同步信号分别以中断形式提供给 K60 智能芯片,视频信号经过外部高速 AD 处理,转化为

8、 8 位灰度值传给核心,单片机处理采集到的图像信息,并获得转向信息,然后通过公式计算得到舵机应该转的角度,用 PWM 模块向舵机发送控制信号,并根据当前赛道类型来确认当前的理论速度,然后用光电编码器测得当前的实际速度,将理论速度与实际速度进行比较,用 PID 控制策略控制速度,以使实际速度能够达到当前的理论速度。4、进度安排设计各阶段内容时间%1按题目要求进行资料收集、调研,阅读相关技术资料和文献,熟悉开发设计工具。第 7 学期 1820 周52确定系统的结构、功能、模块和数据,制定具体的工作计划和方案,完成需求分析、开题报告。第 8 学期 12 周10课题类型:(1)A工程设计;B技术开发;

9、C软件工程;D理论研究; (2)X真实课题;Y模拟课题;Z虚拟课题 (1)、(2)均要填,如 AY、BX 等。此部分可以附页 开题报告书(续)开题报告书(续) 3按任务书要求进行系统的软件设计、硬件设计和总体设计。第 8 学期 35 周254撰写中期检查报告。根据软件设计和总体设计的成果,完成代码调试,并进行系统测试。第 8 学期 69 周405次修改和批改后完成终稿。对正文部分进行查重。全部审核合格后,参加答辩。第 8 学期 1015 周206选择正规出处的相关外文资料进行翻译工作。第 8 学期 12 周5、主要参考文献1卓晴,黄开胜,邵贝贝.学做智能车.北京:北京航空航天大学出版社.200

10、72童诗白,华成英.模拟电子技术基础M3余志生.汽车理论.北京:机械工业出版社.2006 年 5 月4胡寿涛.自动控制原理.北京:科学出版社.2001 年 2 月第四版5仇慎谦,PID 调节规律和过程控制,江苏科学技术出版社,1987.126陶永华,新型 PID 控制及其应用,机械工业出版社,20027孙同景,陈贵友著.Freescale 9S12 十六位单片机原理及嵌入式开发技术.机械工业出版社 2008二、方法及预期目的:二、方法及预期目的:1、研究方法(手段) 本系统采用 K60 作为主控制芯片,通过外加电源控制模块、传感器模块和电机控制模块来构成小车的主板。采用 windows 下的

11、IAR 集成开发平台来编译和调试小车程序。整个系统的程序采用 c 语言。系统通过摄像头采集道路的信息并把道路的信息传送到主控制芯片进行处理,最终采用 PID 控制算法来控制电机的速度和转向及舵机的转向。2、预期目的 小车能自动采集赛道信息,并能把相应的赛道图像显示在液晶显示屏上,摄像头把赛道图像传输给 K60 芯片后。芯片里的程序能对图像进行处理,转换成一系列数字值后。再通过程序的 PID 算法自动控制电机的转速及舵机的转向,同时小车能通过编码器采集电机的速度并反馈给程序,程序根据反馈回的速度值调整下一次的速度。小车能适应各种赛道,自动转弯,自动躲避障碍物。 三、指导老师意见三、指导老师意见同

12、意开题 指导教师签名: 日期: 基于 ARM 的智能小车的设计与实现摘 要随着汽车工业的发展及世界经济的发展,汽车已经日益成为我们的重要交通工具。但随着汽车的增多,也随之带来了越来越严重的环境污染和越来越多的交通安全事故以及不可避免的人员伤亡。而近年来随着互联网和智能技术的发展,智能化越来越深受人们的欢迎,也成为汽车产业增强核心竞争力的必要手段。基于这些背景下,开发出一款智能化无人驾驶的汽车对社会和对企业都具有十分重要的意义。本文首先分析了汽车发展的背景与趋势,明确了本文的研究方向与思路。本文设计的基于 ARM 的智能小车分为软件设计和硬件设计两部分,硬件的设计分为对各个模块原理图的设计以及整

13、个系统原理图的设计,整个系统的 PCB 板的设计,智能车各个零配件的安装。各个模块原理图的设计主要为核心控制器模块原理图设计、传感器模块原理图设计、电机驱动原理图设计、稳压模块的原理图设计等等,硬件设计是在 Altium Designer软件中完成。软件设计包括各模块调试程序设计、电机控制算法设计、图像采集算法设计、舵机控制算法设计和系统总程序设计。软件设计是在 IAR 嵌入式集成开发环境中完成,在该平台下对核心控制器 K60 进行编程调试,并整合到一起。最后使无线模块、按键和液晶显示器等调试手段进行大量底层和上层测试。本文完成了一个简单的自动寻迹、自动避障、自动加减速的智能小车,该智能车的实

14、现对于深入研究无人驾驶系统具有一定的意义。关键词:智能车;K60;PID;摄像头;ARMDesign and Realization of Smart Car Based on ARMAbstract With the development of automobile industry and the development of world economy, cars have increasingly become our important vehicle. But with the increasing of the car, it has brought more and more

15、 serious environmental pollution and more and more traffic accidents and the inevitable loss of life. In recent years with the development of the Internet and smart technology, intelligent has become more and more welcomed by people and has become the essential means to enhance the core competitiven

16、ess of the auto industry. Based on this background, developed an intelligent unmanned vehicle to society and to the enterprise all has the very vital significance.This paper first analyzes the background and tendency of the development of the automobile, has been clear about the research direction a

17、nd ideas in this paper. In this paper, design of the intelligent car based on ARM is divided into two parts, the design of software and hardware design of hardware design is divided into the design of the principle diagram of the various modules and the design of the whole system schematic diagram,

18、PCB design of the whole system, the design of the intelligent car overall physical diagram. Various modules schematic design as the core controller module, sensor module, motor drive module, voltage regulator module schematic design, hardware design is in Altium Designer software. Software design in

19、cluding the design of each module of debugging, motor control algorithm design, image acquisition algorithm design, the steering gear control algorithm design, and system programming. Software design is completed in the IAR embedded integrated development environment, in this platform to programming

20、 and debugging of the core controller K60, and together. Finally make the wireless module, keys and the debug methods such as liquid crystal display a large number of the bottom and top test.This paper completed a simple automatic tracing, automatic obstacle avoidance, automatic deceleration of smar

21、t car, the implementation of the smart car is of significance for further study of unmanned systems.Keywords: smart car;K60;PID;camera;ARM目目 录录1 1 绪论绪论 .1 11.1 研究的背景及意义 .1 1.1.1 选题的背景 .11.1.2 国内外研究现状 .11.1.3 研究的意义 .21.2 系统目标 .22 2 总体设计方案总体设计方案 .3 32.1 系统的主要功能 .32.2 系统总体方案介绍 .32.3 硬件选型方案与对比 .32.3.1 核

22、心控制器 .32.3.2 传感器模块 .42.3.3 电机驱动模块 .52.3.4 电源稳压模块 .53 3 硬件设计硬件设计 .7 73.1 硬件设计概述 .73.2 核心控制器模块 .73.3 OV7725 图像传感器模块.83.4 电机驱动模块 .93.5 稳压电源模块 .103.6 编码器测速模块 .113.7 片外 A/D 电路 .124 4 软件与算法设计软件与算法设计 .13134.1 软件设计概述 .134.2 图像信息采集与处理 .154.2.1 图像采集与显示 .154.2.2 图像处理 .164.3 路径识别 .174.4 控制策略与算法 .184.4.1 控制策略 .1

23、84.4.2 PID 控制算法.195 5 智能车系统搭建与实现智能车系统搭建与实现 .23235.1 车体模型 .235.2 智能车底盘的调整 .235.3 前轮及后轮定位的调整 .245.4 舵机的安装 .255.5 摄像头的安装 .265.6 测速传感器的安装 .275.7 重心调整 .286 6 系统整体调试系统整体调试.30306.1 软件调试 .306.2 硬件调试 .306.3 总体调试 .317 7 全文总结与展望全文总结与展望 .32327.1 系统总结 .327.2 未来展望 .32谢谢 辞辞.33参考文献参考文献.34附录附录 A.外文翻译外文翻译 -原文部分原文部分.3

24、6附录附录 B. 外文翻译外文翻译 -译文部分译文部分.4511 绪论绪论1.1 研究的背景及意义研究的背景及意义1.1.1选题的背景 当今经济和社会迅速发展的状态下,人们的生活水平已经得到了很大的提升,特别汽车工业的发展,使得汽车成为人们生活重要的交通工具,人们对它的依赖逐步加深,基本每个人都想要一辆车 。然而正是这一系列因素使得汽车越来越多,在大城市常出现堵车的现象。随着汽车的日益增加,给人们带来的坏的影响也越来越多,甚至损害人们的生命健康等等。比如环境污染的加深、越来越多的车祸发生、交通堵塞越来越严重,能源浪费等一系列的问题。不管是发达国家还是发展中国家,都被这个问题困扰,一直在研究解决

25、问题的办法与方案。许多社会组织和机构也在关注这个问题,都在努力研究新的交通方案和更加智能化和安全化、方便的交通工具。我国人口较多,自然汽车数量相对于大部分国家还是较多的,我国政府和许多组织机构、高校等也在不断为解决这个问题努力。我们国家和政府采取了一系列的措施和政策来确保道路安全和减少交通事故,也颁布一系列的交通法律法规来严惩造成交通事故的肇事人员,但交通事故仍然无时无刻不在发生,给人们的生命带来了直接威胁。由此可见,虽然汽车给我们的生活质量带来了很大的提升,方便了我们的生活,但也间接地给我们的交通安全带来了威胁,减少交通事故已经成为了我们当今社会发展应急需解决的问题。在技术层面上对交通事故及

26、汽车带来的各种问题进行考虑,传统汽车的防范措施及性能已经不能满足人们对避免交通事故和减少环境污染、交通拥堵的需求。由此,人们渴望有一种能够主动防范、技术更先进的智能车来缓解当下的各种问题,提高道路安全程度和优化环境、减少交通拥堵。已经有不少企业、机构和学校对汽车主动防范、主动驾驶技术进行了研究,并且运用这些技术来提高汽车的智能化与安全性。已经有一些企业和机构研制出了这种智能化的无人驾驶汽车,这将使得汽车摆脱传统的发展领域走向一个更加智能化的发展领域。汽车的智能化已经越来越得到人们的热心研究。通过对传感器探测技术、精确定位导航、自动控制理论等技术的应用,可以形成一套完全自主的智能驾驶系统。该系统

27、使得汽车在没有人工干预的情况下通过传感器对路面进行精确识别、自动完成路径规划、自动躲避障碍物、自动驾驶,以此减少因驾驶员驾驶失误而造成的交通事故,使人们的生活有得到巨大的改善,使人们生活在一个更加文明、更加健康的社会里在这课题背景下,设计出一种能够自动根据道路信息规划路线,并可以有效躲避障碍物的无人驾驶系统具有一定的理论意义与实用价值。 1.1.2国内外研究现状智能车系统采用计算机、传感器技术和自动控制技术使其在不需要人们的操纵情况 基于 ARM 的智能小车的设计与实现2下能够完成自动寻迹、自动驾驶、自动躲避障碍物。智能车技术已经在越来越多公司和国家里面得到了研究。 在国外,智能车的研究开始得

28、比较早,世界上第一辆智能车出现在美国 20 世纪 50年代左右,在美国 Electronics 公司研究开发出的,也可以说这辆车更像一个移动机器人,从 1950 年到 1960 年代前半期这段时间内,一些欧美国家及日本等国家就已经开始了研究自动驾驶和车辆导航技术。一直到今天,世界各地无论是国家和各个公司都对智能车辆技术的研究与智能驾驶系统开发表现出了空前高涨的热情,智能车辆技术也取得了比较大的进展像美国的谷歌公司已经研制出了能够在道路上自动驾驶的智能车。像美国的Carnegie Mellon 大学在 DelcoElectronics 赞助研制了 Navlab,该智能车系统是集电视摄像头、声纳、

29、激光测距仪和红外摄像头于一体,可以识别各种复杂的道路和路线,通过控制转向实现自动驾驶。一些国家的国防领域也已经有自己的无人运输系统。我国的智能车的研究开始于 1980 年代左右,相比西方国家等一些发达国家,我国的智能车研究要晚个十几年。相对来说技术上也落后了一大截,随着我国的互联网技术的发展,到目前为止,我国好多高校和科研机构都加入研究智能车控制系统研制的热潮中。通过努力相应研制出了一些比较有典型的的智能车辆控制系统。像一些高校也在不断的研究智能车辆技术,通过组织一些比赛来使激发高校学生对智能车的研究,比如飞思卡尔智能车竞赛等等。1.1.3 研究的意义 生命是宝贵的,汽车虽然给我们带来了诸多便

30、利,但也威胁着我们的生命安全。而交通事故的很大一部分原因是因为人的疲劳驾驶和醉酒驾驶及一些误操作引起的。因此当前对机动车的性能和驾驶员的驾驶技术要求也越来越高,而再好的驾驶技术和机动车的性能也有可能由于人的因素而产生误操作,且人应对紧急事件时是需要一定的反应时间的。因此,利用多种传感器和智能公路技术开发出一套智能的无人驾驶系统意义重大,该智能驾驶系统可以借助 GPS 定位系统和导航信息确定后面的行驶路线,可以通过互联网提供的及时消息提前知道前方道路那条路线会堵车以及哪条路线发生了交通事故,能灵活地改变行驶路线避开不安全有阻碍的路线等等。智能控制车辆的技术将会越用越广,取代传统的驾驶技术。1.2

31、 系统目标系统目标小车能自动采集赛道信息,并能把相应的赛道图像显示在液晶显示屏上,摄像头把赛道图像传输给 K60 芯片后。摄像头采集到图像被 K60 芯片里的程序处理之后转换成一系列数字值后。再通过程序的 PID 算法自动控制电机的转速及舵机的转向,同时小车能通过编码器采集电机的速度并反馈给程序,程序根据反馈回的速度值调整下一次的速度。小车能适应各种各样的跑道,自动识别路径,自动规避障碍物。3 基于 ARM 的智能小车的设计与实现42 总总体设计方案体设计方案2.1 系统的主要功能系统的主要功能本文所设计的智能车系统是一套可以在特定道路上通过传感器自动采集道路信息,自动处理信息,自动控制速度与

32、方向的系统。控制系统的硬件部分由 K60 主控器和传感器,测速模块、舵机以及电机执行机构和它们的驱动电路构成;软件部分主要是运行在K60 主控制器下程序,包括信息处理与控制算法程序,摄像头负责跑道图像的采集与识别,各个模块通过 K60 主控制器进行数据传输。系统具有以下各项功能:(1)摄像头实时自动采集与识别道路图像信息,并传到 K60 核心控制器中。(2)单片机自动分析道路图像,通过 PID 算法自动完成道路规划。(3)编码器实时采集智能车的速度。2.2 系统总体方案介绍系统总体方案介绍本智能车控制系统在功能上分为图像采集、信息处理、舵机算法控制、电机算法控制、速度反馈五个功能。在道路图像采

33、集方面,由 ov7725 采集与识别当前道路信息,输出的模拟信号经过 LM1881 视频行场信号分离芯片后,行同步信号和场同步信号分别以中断的形式通过 DMA 传输通道提供给 K60 核心控制器,图片信息经过外部高速 A/D 芯片处理后,转化为 8 位灰度值,提供给核心控制器中的舵机控制程序,获得转向信息。再通过增量式 PID 控制算法处理后得到舵机应该转的角度,输出对应的 PWM 值给舵机,舵机摆动相应的角度。同时采用光电编码器获得小车当前的速度,做差比较当前小车的实际速度与理论速度,结合 PID 控制算法得出一个合理的速度,输出 PWM 值给电机,电机做出相应的动作。在算法与软件控制方面,

34、舵机的控制目标是能及时结合摄像头采集的道路信息能够快速响应道路的变化,不会那么僵硬难以控制。比如转弯时是一点一点的转过去而不是突然来个大角度的摆动,对电机的控制目标则是能结合摄像头采集的道路信息及编码器采集的信息及时做出加速和减速的动作,并获得一个好的期望速度,使控制误差尽可能小。2.3 硬件选型方案与对比硬件选型方案与对比2.3.1 核心控制器本系统要实现的是智能车能在各种复杂的模拟道路上顺畅自如的行驶,需要采集和处理的道路信息比较多,而且本智能车能针对不同情况的道路采取不同的运行速度。因此,需要具有比较强大的处理器资源和比较多的外设接口的芯片。能满足需求的有如下控制器,简要分析如下:1、K

35、60Kinetis 是低功耗可扩展和在工业上使用混合信号 ARM CortexM4 系列 MCU 的最5好组合。Kinetis 具有 5 个 MCU 系列,每个系列提供优良的性能,与通外设内存,内存映射,并提供内部与系列之间轻松迁移包和功能可扩展性。K60 芯片内部采用 ARM 架构,具有 32 位的处理速度,具有比较大的 flash 内存,和丰富的 I/O 引脚资源及比较多的外设接口,比如 LCD、DMA、串口、通信、定时器等等。同时还带有一个可供选择的 NAND以及 DRAM。2、MC9S12XS128MC9S12XS128 是一款十六位处理器的控制器,与三十二位处理器的 K60 相比,没

36、有这么快的处理速度。采用增强型的 16 位 S12XCPUV2,是一款针对汽车电子市场的高性能的 16 位单片机,具有两个异步串行通信接口、两个串行外围接口、一组 8 通道的输入捕捉和输出捕捉的增强型捕捉定时器、29 路独立的数字 I/O 接口,128KB 程序 Flash 和8KB DataFlash,用于程序和数据存储,内嵌支持 LIN 协议的增强型 SCI 模块及 SPI 模块。带有的两个异步串行通讯传输接口具有速率快、功能强、成本低、功耗低等特点。考虑到本系统需要处理的环境信息比较复杂也比较多,需要用到比较多的外设,经过反复试验,MC9S12XS128 的开发要 K60 的开发难,K6

37、0 的开发有包装好的库。对于开发者来说,这能省去好多时间和精力,本系统选用 Kinetis MCUs 下的 k60 作为主控制器。 2.3.2 传感器模块为了识别模拟道路的轨迹,以使智能车能够顺利进行寻迹和控制方向以及躲避障碍物,需要一定的传感器来识别道路的黑白特征。 因为模拟道路的面比较广,摄像头需要采集完整的道路信息才能使智能车以合适的速度顺利转弯。除此之外,摄像头需要比较多的数据接口以满足一次性就能把一个面的道路信息传输过去。能达到此目的的传感器类型较多,简单分析如下:1.CCD 图像传感器 作为新型光电转换器件,CCD 能储藏由光产生的信号电荷。当对它施加特定时序的脉冲时,其存储的信号

38、电荷便可在 CCD 内作定向传输而实现自扫描。它具有光电转换、信息存贮和延时等功能,而且集成度高、功耗小,已经在摄像、信号处理和存贮 3 大领域中得到广泛的应用,尤其是在图像传感器应用方面取得令人瞩目的发展。但价格也比其他的传感器贵许多,电路图也比较复杂,需要 AD 转换电路这些的。2.激光传感器激光传感器与红外传感器的原理差不多,都由发射部分和接受部分组成,单发射频率和识别速度以及前瞻性要比红外强很多。发射管发射的光线需要经过载波调制,同时接收管接收到的光线也需要这样做,再经过比较,就输出一个开关量信号。光线照在黑白两种跑道上输出的值的不相同,以此来识别路径。3、电磁传感器电磁传感器由电感及

39、其外围电路组成,电磁传感器的工作原理是通过将其上的电感 基于 ARM 的智能小车的设计与实现6切割有一定频率变化的电流的线路后输出一定的电压,当越接近该线路时,检测到的电压越大。电磁传感器虽然便宜,但是电路的设计比较复杂,且需要一定的模拟检测电路。4、ov7725 数字摄像头Ov7725 是一款图像处理器的高性能传感器,是 ov 系列三十万像素当中成像质量最棒的摄像头。其灵敏度比较高,反应快,但清晰度不够高,因此比较适合低照度应用,能配置输出 RAW、YVA 等好几种格式的视频流。 本系统需要采集的道路信息比较多且数据传输的速率要快。综合考虑采集的效率、准确性、材料的利用率及电路设计的复杂性,

40、选用硬件二值化的 ov7725 作为图像采集传感器,ov7725 的反应速度能够胜任智能车快速采集图像的要求。2.3.3 电机驱动模块智能车的驱动轮采用 RS-550 作为直流型驱动电机,转速为 22000r/min。该直流驱动电机具有比较大的工作电压和较大空载电流。电流为 12.124A 时工作效率为 68.4%,不同的驱动芯片,驱动单元不同。因此针对不同电机,应该选择相应的驱动电路。功率大的电机应该选用内阻小,电流容许大的驱动。电机控制较常规的方法是采用 PWM 控制,驱动电路既可以直接采用 MC33886 电机驱动芯片,也可以采用大功率 MOS 管来自行设计电机驱动电路,还可以用场效应管

41、搭建桥电路。各种典型器件的性能对比如下:1、IRF540IRF540 驱动芯片的内阻为 77 毫欧,承载电流为 23A,具有低的导通内阻和热敏电阻及快速开关。IRF 搭建的电机驱动电路虽然驱动功率较大,但不稳定,容易使电机的控制出现中断,使用起来不方便。2、GTXGTX 驱动芯片具有较小的内 r 阻 0.35 毫欧和较大的承载电流 700A,是一款较好的驱动芯片,GTX 的调速性能比较好。但 GTX 驱动芯片搭建的电机驱动电路会使小车的控制不方便,经常出现电机齿轮磨损严重的现象。3、MC33886MC33886 驱动芯片的内阻为 120 毫欧和 60A 的承载电流,其工作电压为 5V28V,配

42、置有两套输出,一个用于控制小车前进,另一用于小车减速。4、BTS7971 BTS7971 驱动芯片的承载电流为 30A,内阻为 23 毫欧,其工作电压为 5V40V。相比于其他的驱动控制芯片,其性价比较高,各方面性能都比较强,易于控制。本系统电机需要有比较大的电压才能运转起来,因此驱动输出的电压要到 12V 左右才能驱动电机。基于上述对各种驱动芯片的比较,本系统选用 BTS7971 作为电机驱动芯片,为了实现电机正反转,本系统采用四片 BTS7971 的驱动方式。72.3.4 电源稳压模块智能车电池提供的是 7.2v 的电压,但每个模块需要的电压不怎么相同,为了使各个模块都能工作起来以使整体系

43、统都能正常工作,需要一些稳定电压的电路来保证供每个模块电质量,电源需要提供 5 伏、3.3 伏和 5.5 伏的电压,相对应需要这三种电压的稳压芯片。下面对稳压电路的核心器件进行比较分析:1、 LM2940LM2940 稳压器件具有低电压差,线性特性。输出电压为 5V 左右,输出电流为 1A左右,输入输出之间的压损在 0.1-0.8 内,其稳压外围电路相对来说比较简单,精度高,波纹系数小。相对开关电源来说输出的电流比较小,适合于对电压精度要求较高的场合。2、 LM2956LM2956 稳压芯片由德州仪器公司生产,输出电流为 3A 左右,是一种开关型降压稳压器件,内含固定频率振荡器和基准稳压器,用

44、该稳压芯片只需简单的外围电路便可搭建成具有高效率的稳压电路,具有完善的保护电路、电流限制。外围电路稍微复杂一些,与线性稳压器件相比精度略低,波纹系数较大,但其输出效率高。3、 LM1117LM1117 是一种低压差线性调压器。通过接上两个外部电阻,来调节输出电压的输出范围当,当两个外部电阻电压差为 1V 多的时候,芯片才会工作,才会有电压的输出,该芯片还可限制输出电流的大小。基于上述比较分析,由于系统各个模块正常工作需要稳定的电源,由于本系统同时需要 3.3V、5V、6V、12V 的电源,所以一个稳压芯片是不够的。对于 3.3V 电源,本系统采用 LM1117 芯片进行稳压提供给核心控制器和一

45、些其他的外设,对于 5V 电压的需求,本系统设计 LM2940 稳压电路供电,用于编码器与舵机的供电。对于 6V 的采用 LM2956芯片进行稳压供电,主要用于图像采集传感器和电机。 基于 ARM 的智能小车的设计与实现83 硬件设计硬件设计3.1 硬件设计概述硬件设计概述硬件系统的电路设计工作在 Altium Designer 中完成,Altium Designer 工具把原理图设计、电路测试等一系列硬件电路设计、测试、PCB 板制作技术集合在一起。使设计者在使用该软件进行硬件设计时可以获取好的电路设计方法,使电路设计与 PCB 板制作工作不是那么艰难,为设计者节省了许多时间和精力。熟练地掌

46、握该软件可以大大地提高电路设计的质量和效率。其中原理图的设计可以为后继的 PCB 板设计做准备,PCB 设计功能主要作用是绘制 PCB 以及产生各种制造文件,通过该软件,可以完成该智能车的硬件原理图设计以及 PCB 图设计,智能车系统整体的电路原理图包括 K60 核心板电路、传感器电路、电源稳压电路、电机驱动电路。其硬件体系结构如图 3-1 所示:MK60DN512ZVLL10电源摄像头编码器电机舵机键盘OLED图 3-1 硬件系统结构图3.2 核心控制器模块核心控制器模块核心控制器是智能车系统最重要部分,程序就是在这个部分上运行的,控制着其他模块单元的工作,间接或直接控制着整个系统的运行。核

47、心控制器的主要功能是处理传感器采集的数据,控制电机的转速和舵机的转向,提供一些其他的外设接口供系统使用。在本智能车系统中采用 K60 单片机作为本系统的核心控制器,核心控制器 K60 正常工作必须具有外部时钟震荡、复位电路、电源电路及一些其他的外设接口电路等等。K60 是一款 ARM CortexM4 系列的 ARM 开发板,具有 100 引脚同时是 LQFP 封装,具有 512K Flash、128KB SRAM 和 25 通道,6 路 UART、2 路 SCI 和 70 多个 GPIO 口。同时具有比较丰富的外设接口和正负极引脚,比如具有 OLED 接口和蓝牙模块接口。核心部分原理图如图

48、3-2 所示:9图 3-2 K60 核心控制器部分原理图K60 核心控制器可以使用 3.3V 电压也可以使用 5V 电源电压,同时 K60 具有较低的片内电压,K60 属于 32 位的单片机,相比其他类型 ARM 芯片,具有比较快的运算速度。K60 特别适合低功耗场合。K60 在本系统里只是处理程序的作用,不负责电源的提供,在本系统中只需要给 K60 提供 3.3V 的电源,不需要很大的电压提供。PTB16、PTB17 为无线通讯模块引脚,PTC17、PTC18 和PTD0、PTD1、PTD2、PTD3、PTD4、PTD5、PTD6、PTD7 位摄像头模块接口引脚,PTC5 为编码器接口引脚,

49、PTB18 位舵机接口引脚。K60 单片机采用 50HZ 的晶振,采用石英作为晶振,通过接上石英晶振可以使 K60 工作的频率稳定下来,保证 K60 单片机正常运转。核心控制器上的 JTAG 与 JLINK 工具相连,就可以把电脑上的程序烧进 K60 单片机中。3.3 ov7725 图像传感器模块图像传感器模块本系统采用 ov7725 作为图像传感器,是一款硬件二值化摄像头,速率可达 150 帧每秒,去噪点能力极强,二值化效果非常明显,对黑白图像的采集非常适用,能适应各种光线情况下的图像采集,对于本系统实现各种情况下的自动运行非常有利。Ov7725 传感器模块用 3.3V 电源供电,PCLK

50、引脚为时钟信号线,通过设置时钟信号来确认摄像头处于工作模式的时序。VSYNC 为场中断信号线,HREF 为行中断信号线。本系统的 ov7725 基于 ARM 的智能小车的设计与实现10是硬件二值化摄像头,8 位数据线一次传输 8 位像素,CMOS D0D7 为 8 位数据线,先输出则在高位,后输出则在低位,数据 1 表示黑色,0 表示白色。Ov7725 采集到的图像是模拟信号,通过硬件二值化,变成程序需要的数字信号,便于程序处理和分析,其原理图如图 3-3 所示:图 3-3 ov7725 传感器部分原理图 3.4 电机驱动模块电机驱动模块本系统采用四片 BTS7971B 搭成电机驱动电路,即每

51、个电机使用两片 BTS7971B 来驱动,原理跟 MOS 管搭建 H 桥相似,此种驱动方式驱动电流大,可以达到 18A,足够把电机驱动起来,每套驱动电路使用 4 根线与核心控制器相连,2 个使能接口和 2 个 PWM接口。u1 为 74HC244 芯片,是一款高速 CMOS 器件,用于数据缓冲,在本此电机驱动中用于隔离缓冲,防止驱动电路突然过大的灌电流烧坏 MCU。u2、u3、u4、u5 为BTS7971B 芯片。INH 为使能端口,当 INH 为高电平时,芯片处于开始工作状态;当INH 为低电平时,芯片处于睡眠模式。IN 引脚为 PWM 控制接口,通过对两块芯片的 IN引脚设置不同电平值,可

52、以控制电机正反转,通过设置不同的 PWM 值则可以控制电机的转速。两块芯片的 OUT 引脚分别接电机的正负极。驱动模块通过 74HC244 与核心控制器连接,D1、D2、D3、D4 发光二极管用于显示两电机是正转还是反转。当 D1 亮 D2 灭时,左边电机正转,当 D1 亮 D2 灭时,左边电机反转。当 D3 亮而 D4 灭时,右边电机正转,当 D3 灭 D4 亮时,右边点击反转,当所有灯都灭时,电机不转。电机驱动电路图如图 3-4 所示: 11图 3-4 电机驱动电路图3.5 稳压电源模块稳压电源模块为了使智能车能够运行顺畅,不出现突然停止的状况,需要每个模块都能正常工作。而供电稳定是每个模

53、块正常运行的基础,系统电源模块需要为其他的模块提供它们需要的电压,本系统通过建立稳压电路来给每个模块提供它们所需要的电压。智能车系统过使用 LM2940 稳压芯片建立的稳压电路来提供 5V 的电源,主要用于 5V 的摄像头、逻辑芯片、运算放大器等供电,最大输出电流为 1A。主控制芯片和 OLED 调试模块采用 3.3V供电,为减少电源芯片的功耗,采用两片 LM1117 稳压芯片来为主控制器和 LOED 供电。采用 LM2946 稳压芯片建立的稳压电路为舵机提供所需的电压,并通过调节电位器来调节电压大小,可调范围是最小 3V,最大电流为 1.5A;顺时针调节电位器,输出电压增大;逆时针调节电位器

54、,输出电压减少。 本系统设计的稳压电路图如图 3-5 所示: 基于 ARM 的智能小车的设计与实现12图 3-5 稳压模块原理图3.6 编码器测速模块编码器测速模块 本系统采用闭环方式控制电机,因此需要实时采集反馈小车的运行速度,以此来计算小车接下来的运行速度。本系统使用光电编码器来采集小车的运行速度,光电编码器通过计算脉冲的个数来计算电机旋转的周数,比如电机每旋转一周会输出多少个脉冲这样的方式来求得小车的速度。光电编码器具有 3 跟引出线,分别为信号线、电源正极接线、电源负极接线,信号线接在核心控制器上,脉冲的个数就是通过信号线传送给核心控制器。编码器的供电电压为 5V,其接口电路图如图 3

55、-6 所示:13图 3-6 编码器接口电路图3.7 片外片外 A/D 电路电路A/D 电路用于数字值和模拟值的转换,在本系统主要用在摄像头采集图像模块的 AD转换。虽然 K60 核心控制器自带有了数模转换电路,但由于时钟总线的限制以及 CPU 处理能力的上限,本系统使用 TLC5510 芯片当作片外数模转换器,该数模转换器由于读取数据的速度比较慢,每行图像采集到的有效点减少。相应图像的分辨率提高了一倍左右。TLC5510 芯片原理图如图 3-7 所示:图 3-7 TLC5510 原理图 基于 ARM 的智能小车的设计与实现144 软件与算法设计软件与算法设计4.1 软件设计概述软件设计概述软件

56、是存在于单片机内一系列指令的集合,算法是实现程序某个功能的方法,算法与软件是智能车的核心部分,需要花很多时间和精力去设计编写。良好的控制算法与优秀的软件运行在良好的平台上,将使智能车平稳高速的行驶。软件设计主要是针对图像采集、电机控制和舵机控制等部分的程序编写、编译、调试。软件设计所使用的软件开发环境为 IAR Embedded Workbench IDE,使用 jlink 和bootloader 为开发板烧写程序。IAR Embedded Workbench 是 IAR Systems 公司为微处理器开发的一个集成开发环境,支持各种芯片内核平台,比如 ARM、STC8052 等等 。IARs

57、ystem 公司提供的产品和服务涉及到嵌入式系统的设计、开发和测试的每一阶段,利用 IAR 集成开发环境,可以完成对核心控制器的程序编写和编译、调试以及实现预期的功能。系统软件工作的总流程图如图 4-1 所示:15开始使能PIT10ms开始采集图像,置开始标志,开中断开始使能DMA开始采集,图像解压图像处理,方向、速度控制等待采集完成DMA中断,关闭DMA:保存图像;置结束标志结束一次采集结束否是否是初始化各个模块配置中断服务图 4-1 系统软件工作总流程图 基于 ARM 的智能小车的设计与实现164.2 图像信息采集与处理图像信息采集与处理4.2.1 图像采集与显示道路图像的采集是系统运行的

58、至关重要的一部分,系统并不是一直处在图像采集的过程中,程序运行期间碰到各种中断的时候,CPU 需要离开当前事件的执行,去执行中断函数里头的事件。只是 CPU 处理速度快,人眼感觉不到这种细微的变化。当采集完图像后,经过解压成灰度数据,系统再通过 DMA 传送灰度数据至系统的 LCD 液晶屏显示或者上位显示采集流程如图 4-2 所示:开始摄像头初始化设图像标志为采集状态采集是否完成图像采集是否错误使能采集中断,摄像头开始扫描DMA传输采集的图像LCD显示结束关闭采集中断是否否是图 4-2 摄像头图像采集流程图像采集关键代码:17 IMG_FAIL; = gle_img_flaov7725_eag

59、 Qn);q(PORTA_IRdisable_ir else A_CH);(CAMERA_DMDMA_IRQ_EN PT7; (tmpsrc colour = +dst* ; 0 x01 & ) 1 (tmpsrc colour = +dst* ; 0 x01 & ) 2 (tmpsrc colour = +dst* ; 0 x01 & ) 3 (tmpsrc colour = +dst* ; 0 x01 & ) 4 (tmpsrc colour = +dst* ; 0 x01 & ) 5 (tmpsrc colour = +dst* ; 0 x01 &

60、amp; ) 6 (tmpsrc colour = +dst* ; 0 x01 & ) 7 (tmpsrc colour = +dst* +;+src* = psrc tm -)-srclen while( tmpsrc;uint8 减 减减减减减减 1 减 /00; 255, = colour2 uint8 色为白色和黑色4.3 路径识别路径识别图像处理完成后,需要对图像进行分析,判断小车所处的路径。本系统中设定的路径直线、普通弯、大 S 弯、十字路口。对每一种路径的识别本系统都是采用先找到跑道边界的位置值,再找跑道中线的位置。再根据中线的位置判断是哪种路径。摄像头采集到的一幅灰度图像大小为 60*80 个像素点,60 行 80 列。对于每一个位置都有一个值 0 或 255。对于跑道边线的提取,首先由近处跑道开

温馨提示

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

最新文档

评论

0/150

提交评论