智能小车运动控制系统的设计

上传人:痛*** 文档编号:122291308 上传时间:2022-07-20 格式:DOC 页数:69 大小:2.63MB
收藏 版权申诉 举报 下载
智能小车运动控制系统的设计_第1页
第1页 / 共69页
智能小车运动控制系统的设计_第2页
第2页 / 共69页
智能小车运动控制系统的设计_第3页
第3页 / 共69页
资源描述:

《智能小车运动控制系统的设计》由会员分享,可在线阅读,更多相关《智能小车运动控制系统的设计(69页珍藏版)》请在装配图网上搜索。

1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-date智能小车运动控制系统的设计湖南科技大学本科生毕业设计(论文)要求与撰写规范湖 南 科 技 大 学毕 业 设 计( 论 文 )题目智能小车运动控制系统的设计作者唐伟东学院物理学院专业应用电子技术教育学号0808030103指导教师李志坚二一二 年 六 月 一 日湖 南 科 技 大 学毕业设计(论文)任务书 物理学 院 电子 系(教研室)系(教研室)主任: (签名) 年

2、月 日学生姓名: 唐伟东 学号: 0808030103 专业: 应用电子技术教育 1 设计(论文)题目及专题: 智能小车运动控制系统的设计 2 学生设计(论文)时间:自 2012 年 3 月 1 日开始至 2012 年 6 月 1 日止3 设计(论文)所用资源和参考资料:资源:计算机及相关软件、因特网、图书馆藏书及期刊、中国知网等。 1 徐国华,谭民.移动机器人的发展现状及其趋势J.机器人技术与应用,2001. 2 张铁,谢存禧.机器人学M.广东:华南理工大学出版社,2001. 3 胡海峰,史忠科,徐德文.智能汽车发展研究J.计算机应用研究,2004.4 朱茵,唐祯敏,朱钧.提高交通安全实现智

3、能汽车的研究J.等。4 设计(论文)应完成的主要内容:(1)分析智能小车的国内外现状和存在的不足并确立总体设计方案。(2)利用电路设计软件设计出原理图和PCB图。(3)完成硬件平台的装配并测试各模块的性能。(4)编写初步的运行程序对小车的基本功能进行实现。5 提交设计(论文)形式(设计说明与图纸或论文等)及要求:提交设计形式:设计图纸和论文。(1)要求认真、独立、按时地完成毕业设计的工作。(2)论文结构合理、层次分明、论据充分、逻辑严密、力求创新。(3)按照学校规定的论文(设计)要求和撰写规范进行论文的撰写。6 发题时间: 2011 年 12 月 25 日指导教师: (签名)学 生: (签名)

4、湖 南 科 技 大 学毕业设计(论文)指导人评语主要对学生毕业设计(论文)的工作态度,研究内容与方法,工作量,文献应用,创新性,实用性,科学性,文本(图纸)规范程度,存在的不足等进行综合评价指导人: (签名)年 月 日 指导人评定成绩: 湖 南 科 技 大 学毕业设计(论文)评阅人评语主要对学生毕业设计(论文)的文本格式、图纸规范程度,工作量,研究内容与方法,实用性与科学性,结论和存在的不足等进行综合评价评阅人: (签名)年 月 日 评阅人评定成绩: 湖 南 科 技 大 学毕业设计(论文)答辩记录日期: 学生: 学号: 班级: 题目: 提交毕业设计(论文)答辩委员会下列材料:1 设计(论文)说

5、明书共页2 设计(论文)图 纸共页3 指导人、评阅人评语共页毕业设计(论文)答辩委员会评语:主要对学生毕业设计(论文)的研究思路,设计(论文)质量,文本图纸规范程度和对设计(论文)的介绍,回答问题情况等进行综合评价答辩委员会主任: (签名)委员: (签名)(签名)(签名)(签名) 答辩成绩: 总评成绩: -摘 要随着传感技术、信息处理、人工智能和自动控制等科学技术的迅猛发展,智能小车作为一种轮式移动机器人在航空航天、智能探测、无人驾驶以及灾后救援等领域发挥着不可替代的作用,因此,对智能小车运动控制系统的设计与实现具有相当大的理论和现实意义。本设计采用意法半导体公司基于Cortex-M3内核的3

6、2位嵌入式微控制器STM32F103RBT6作为智能车的核心处理器,该处理器具有高速的数据处理能力,并且在片内集成了丰富的外设资源。探测部分采用红外光电传感器来进行环境的感知和识别,车体驱动采用直流电机的两轮差速驱动模式,能够进行灵活转向与快速行驶。采用光电编码盘对智能小车进行实时测速并利用PID运算对小车的速度进行精确控制。为了实现对智能小车的远程遥控及视频传输,论文的拓展部分研究了利用WI-FI无线局域网作为传输通道的智能车实时控制系统。本设计中软硬件的开发采用了模块化的设计方法,所设计的智能小车具有集成度高、体积小、功耗及成本低、速度快等优点,可实现路径识别、避障碍、走迷宫以及远程遥控等

7、功能,可用于各种智能车竞赛。关键词:智能小车;STM32;路径识别;PID控制;无线局域网ABSTRACTAlong with the sensing technology, information processing, artificial intelligence and automatic control of the rapid development of science and technology, Intelligent vehicle as a robot plays an irreplaceable role in aerospace, intelligent detec

8、tion, unmanned and aid after disasters etc, therefore, design and implementation the intelligence car movement control system has the quite big theoretical and realistic significance. This design use the stmicroelectronics embedded microcontroller controller of 32 bits STM32F103RBT6 which based on C

9、ortex-M3 kernel as the core of the intelligent cars processor. The processor with high-speed data processing ability and integrated rich peripherals resources. Detection part use infrared sensors to perception and recognition the environment use the two rounds of differential drive mode of DC motor

10、for bodywork drive, which can be flexible steering and driving fast. Adopting photoelectric coded disk to the intelligence cars real-time speed measurement and by using PID operation to control the speed of the car precisely. In order to realize the remote control and video transmission of the intel

11、ligent car, the prolongation of the thesis research that using WI-FI as transmission channels of the intelligent cars real-time control system. In the design practice, software and hardwares development using modular design method, the intelligent car has a high level of integration, small volume, l

12、ow power consumption and low cost, fast speed, etc, can realize path identification, avoid obstacles, go through a maze and remote control etc, can be used to all kinds of intelligent cars race.Keywords: Intelligent vehicle; STM32; Path identification; PID control; WLAN目 录第一章 绪 论 11.1 选题背景 11.2 课题的研

13、究目的和意义 11.3 论文内容概要与组织结构 2第二章 智能小车的总体设计方案 32.1 硬件平台的整体结构设计 32.1.1 硬件设计平台介绍 32.1.2 整体结构设计 32.1.3 传感器的布局 52.2 软件部分的模块设计 62.2.1 软件开发平台介绍 62.2.2 功能模块的软件设计概述 7第三章 硬件设计 83.1 电源系统的设计 83.2 微控制器模块 93.2.1 STM32微控制器简介 93.2.2 微控制器最小系统 93.3 传感器模块 113.3.1 红外光电传感器的工作原理 113.3.2 传感器的电路设计 123.4 电机驱动模块 133.4.1 直流电机的选取

14、133.4.2 电机驱动芯片的介绍 143.4.3 电机驱动电路的设计 153.5 速度检测模块 153.5.1 测速方案的选择 153.5.2 测速模块的设计 163.6 人机交互接口设计 163.7 硬件设计的注意事项 173.7.1 原理图的设计 173.7.2 PCB的设计 18第四章 软件设计 194.1 固件函数库 194.2 传感器检测程序 194.3 电机驱动程序 214.3.1 PWM简介 214.3.2 PWM输出控制电机 214.4 速度检测模块的程序设计 224.5 PID控制 234.5.1 PID控制算法简介 234.5.2 PID控制程序 244.6 串口通信模块

15、 25第五章 智能小车性能设计与应用 265.1 功能测试与性能指标 265.1.1 系统功能测试 265.1.2 系统性能指标 265.2 路径检测与规划 265.3 障碍物检测的应用 275.4 无线通信功能拓展 28第六章 总结与展望 29参 考 文 献 30致 谢 31附录A:智能小车实物图 32第一章 绪 论1.1 选题背景近年来,随着科技的不断发展,各种各样的机器人应运而生,智能小车作为一种轮式移动机器人在自动化领域得到广泛的应用,在航空航天、交通运输、人工智能等领域发挥着不可替代的作用1-2。智能小车集环境感知、实时处理、自动控制于一体,涉及计算机、传感、信息处理、通信、人工智能

16、、机械自动化等学科知识,可以在很多恶劣的环境中代替人类进行工作,如星球探测、拆弹排爆、灾难救援等。国外无人驾驶的智能车辆研究始于上世纪50年代,到了80年代中期,全世界都热衷于研制自动化程度越来越高的智能车辆,这为交通安全问题提供了有效的解决方案3-4。我国从上世纪80年代开始着手无人驾驶汽车的研制开发,虽与国外相比还有一些距离,但目前也取得了阶段性成果。1992年,国防科技大学研制成功了我国第一辆真正意义上的无人驾驶汽车。2000年6月,国防科技大学研制的第4代无人驾驶汽车试验成功,最高时速达76km,创下国内最高纪录。2003年7月,国防科技大学和中国一汽联合研发的红旗无人驾驶轿车在高速公

17、路上试验成功,自主驾驶最高稳定时速130km,其总体技术性能和指标已经达到世界先进水平5。现如今,关于智能小车的国内外赛事也层出不穷,如全国电子设计大赛、“电脑鼠”走迷宫竞赛、“飞思卡尔”大学生智能车竞赛等。智能车大赛以迅猛发展的汽车电子为背景,是一场涵盖了控制、模式识别、传感技术、电子、电气、计算机、机械等多个学科知识的科技创新比赛。随着越来越多的竞赛开展,不仅提高了参赛者的自主创新能力,对于相关科技领域的水平提升也有一定的帮助。如今,智能小车以其特有的趣味性,实用性,技术性现已经风靡全球。1.2 课题的研究目的和意义智能小车作为一种轮式移动机器人在航空航天、智能探测、无人驾驶以及灾后救援等

18、领域发挥着不可替代的作用,因此,对智能小车运动控制系统的设计与实现具有相当大的理论和现实意义。根据历年来各种智能车比赛的情况来看,期间采用的智能车都具有体积大,结构复杂,稳定性低,速度慢,高功耗等缺点,这些不足除了与软件算法有关外,还与智能小车运运控制系统的硬件设计和总体布局存在着直接关系。本设计采用32位嵌入式微控制器STM32F103RBT6作为智能车的核心处理器,在此基础上利用PCB布局的优越性来设计一款体积小、结构稳定、灵敏度高、信息处理能力强、运行速度快、功耗低、分立器件少、集成度高及成本低的智能小车。智能小车的整体设计紧凑,基本无外置导线连接,保证运行中的电气连接稳定,设计时严格测

19、试各器件参数进行选取,实现低功耗与可靠性的要求,同时大大降低了成本。在实现基本功能的基础上,对智能小车的控制系统进行无线通信的拓展,与当前流行的WIFI无线进行融合,增加了智能小车的远程控制功能6。由于具有体积小、速度快、信息处理能力强及成本低等优点,本论文所设计的硬件平台可用于各种智能车的竞赛,也可用于嵌入式处理器的教学活动。因此,智能小车运动控制系统的设计具有很大的现实意义和广阔的市场前景。1.3 论文内容概要与组织结构本论文围绕智能小车运动控制系统的设计,主要的研究内容按照章节编排包括以下几个部分:第一章绪论简要介绍了选题的背景及智能小车的国内外研究现状,根据存在的问题进行了分析,提出论

20、文的设计目的以及今后实际应用中的意义和价值。第二章介绍了智能小车的总体设计方案,首先是对硬件平台的整体结构布局进行了介绍;然后是对软件部分进行模块设计的说明。第三章对硬件系统的设计进行详细的描述,采用模块化的硬件设计方法先后对电源系统、微控制器模块、传感器模块、电机驱动模块、速度检测模块、人机交互接口设计、无线通信拓展模块进行了电路设计,最后对硬件系统设计过程中的注意问题进行了说明。第四章软件设计部分首先对STM32微控制器的编程方法进行介绍,然后对各个电路模块进行了程序设计,其中对一些关键部分的代码也进行了解释说明。最后是对PID控制算法的介绍及实现。第五章对智能小车运动控制系统的相关功能应

21、用进行了介绍,主要介绍了轨迹跟踪,障碍物检测,无线控制三个功能,并且描绘了各个功能部分的流程框图。第六章结论部分对本设计中的各项工作进行了总结,并对智能小车领域的前景进行了展望。第二章 智能小车的总体设计方案2.1 硬件平台的整体结构设计2.1.1 硬件设计平台介绍本论文的原理图及PCB设计使用了Altium公司的Altium Designer 6.9软件作为智能小车的硬件设计平台,Altium Designer 6.9是业界首例将设计流程、集成化PCB设计、可编程器件设计和基于处理器设计的嵌入式软件开发功能整合在一起的产品,一种同时进行PCB和FPGA设计以及嵌入式设计的解决方案,具有将设计

22、方案从概念转变为最终成品所需的全部功能。Altium Designer除了全面继承包括Protel99SE,Protel2004在内的先前一系列版本的功能和优点以外,还增加了许多改进和很多高端功能,如交互式布线、三维PCB设计等,拓宽了板级设计的传统界限,全面集成了FPGA设计功能和 SOPC设计实现功能,从而允许工程师能将系统设计中的FPGA与PCB设计以及嵌入式设计集成在一起7-8。2.1.2 整体结构设计智能小车运动控制系统由底盘、直流减速电机、电池、传感器、微控制器等组成。智能小车结构通常有两种方式,第一种利用舵机作为前轮转向,后轮同时驱动;第二种采用左右两侧车轮差速驱动结构,以万向轮

23、作为支撑。采用差速驱动的模式转向比较灵活,可以原地转弯进行精确控制,运动速度较快9。所以本设计中采用第二种小车结构。智能小车系统以STM32F103RBT6为核心控制器,采用两节电池串联供电,将传感器检测到的信号进行处理之后再通过电机驱动芯片来对直流减速电机进行实时控制。整个系统框图如图2.1所示。硬件结构系统中各模块功能如下:STM32控制器:负责传感器和速度检测模块传回的信息进行综合处理以及对电机驱动实行相应的控制,还可以通过无线模块对小车进行远程控制。电源模块:给控制器及各模块电路提供稳定电源。传感器模块:实时采集路面信息及障碍物距离信息以便供处理器进行判断处理电机驱动模块:接受微控制器

24、的控制指令并对直流电机进行控制。速度检测模块:对直流电机的转速进行测量并将测量到的速度传输到STM32控制器进行分析处理。根据智能小车运动控制系统的整体要求,考虑到体积,成本,集成度等相关问题,设计的车体为直径10厘米的圆形底盘,采用圆形设计可以减少尖角碰撞及向心力,使小车运动更加稳定。整体设计如图2.2和图2.3所示。STM32控制器电源模块传感器模块无线通信模块速度检测模块电机驱动模块直流电机图2.1 硬件系统框图图2.2 整体设计正面视图图2.3 整体设计反面视图2.1.3 传感器的布局本设计中的智能小车装载了三组红外光电传感器,其中速度检测传感器设计在电路板两测的下方,用来检测直流电机

25、转动的速度。如图2.4所示。测速传感器图2.4 测速传感器示意图第二组传感器一共五个,水平等间隔排布在电路板底部的正前方,用来检测地面信息,如图2.5所示。地面检测传感器图2.5 地面信息检测传感器第三组传感器一共六个,分布在电路板的顶层前方,用来进行障碍物的检测,其中正前方两个U1和U2可以检测车两边的障碍物,U3和U4可以检测小车正前方的障碍物,U5和U6可以检测前方45度的障碍物。具体布局如图2.6所示。障碍物检测传感器图2.6 障碍物检测传感器2.2 软件部分的模块设计2.2.1 软件开发平台介绍RealView MDK开发套件源自德国Keil公司,是ARM公司目前最新推出的针对各种嵌

26、入式处理器的软件开发工具。RealView MDK集成了业内最领先的技术,包括Vision3集成开发环境与 RealView编译器,支持ARM7、ARM9和最新的Cortex-M3核处理器,自动配置启动代码,集成Flash烧写模块,强大的Simulation设备模拟,性能分析等功能,与ARM之前的工具包ADS等相比,RealView编译器的最新版本可将性能改善超过20。RealView MDK支持的Cortex-M3核是ARM公司最新推出的针对微控制器应用的内核,它提供业界领先的高性能和低成本的解决方案,未来几年将成为MCU应用的热点和主流。目前国内只有ARM公司的MDK和RVDS开发工具可以

27、支持Cortex-M3芯片的应用开发。本设计以ARM公司的Keil Vision4为开发工具介绍智能小车运动控制系统的程序设计及开发应用10-11。软件设计中使用C语言编写小车程序,编译通过的程序再使用J-Link下载器通过JTAG接口下载到智能小车的微控制器中,还可以利用J-Link进行在线调试,缩短软件的开发周期。程序下载或调试的连接示意图如图2.7所示。J-LinkJTAGUSBPC智能小车图2.7 程序下载连接2.2.2 功能模块的软件设计概述智能小车的各个功能采用模块化的软件设计,但在功能模块的软件编写之前要先对硬件资源进行底层代码的编写,所以采用自底向上的编程思想有利于今后的继续开

28、发及修改算法。对STM32微控制器的编程严格按照官方发布的编程手册,这样可以使设计的智能小车更容易普及和供他人学习掌握。上层函数和算法尽量使用模块化编程,并可将多个子函数封装成头文件或库函数以供方便调用。程序设计主要包括以下几个部分:主控制器的初始化配置,包括时钟配置、管脚分配、与各模块进行数据交换的接口宏定义、数据处理子程序等传感器模块的软件设计主要是围绕STM32内部集成的ADC进行编写进而实现多传感器信息的采集与分析。测速模块的程序设计涉及到PWM的输入捕获,编写的程序主要与STM32内部定时器有关,所以,对定时器的程序编写犹为重要。电机驱动模块要先对电机驱动芯片进行编程,要想精确地控制

29、电机的转速,首先要对测速模块采集的当前速度进行PID运算,再利用定时器的PWM输出对直流电机进行实时的速度控制。有了以上各个子模块的驱动程序之后,就可以很方便地对智能小车运动控制系统的功能实现进行个性化地编程及算法设计。第三章 硬件设计3.1 电源系统的设计电源作为小车的动力源泉,是整个系统稳定工作的必要条件,因此设计一个质量可靠的电源系统至关重要。本小车采用两节5号大小的磷酸铁锂电池为整个系统供电。磷酸铁锂电池是指用磷酸铁锂作为正极材料的锂离子电池,该电池的充放电效率高、寿命长,循环寿命能达到2000次以上,还具有耐高温、体积小、重量轻等优点,是当前新兴的环保节能锂电池12。每节磷酸铁锂电池

30、为3.2V电压,经过串联后得到6.4V电压,电池容量为600mAh。智能小车的整个系统需要两路不同电压,一路是3.3V数字电压,为主控制器和传感器等供电;另一路是2.5V到13.5V的电机驱动电压。所以本设计将电池电压6.4V经过滤波之后提供给电机驱动芯片来驱动两直流电机,再将6.4V电压通过AMS1117-3.3的LDO稳压芯片降至3.3V提供给控制器和传感器等其它电路。具体电路如图3.1所示。图3.1 电源系统电路图3.1中的S1为六脚自锁开关,D1为开关二极管,可以防止电池反接。D5为电源指示灯,在系统上电时会点亮。U12为AMS1117-3.3稳压芯片,其具有低压差、最大1A的输出电流

31、等特点,能够稳定输出电路系统所需的数字电压。STM32F103RBT6微控制器除了需要3.3V的数字电压之外,还需要有一组模拟电压,由于系统的电流影响并不大,所以本文采用数字3.3V经过一个电感和电容组成的低通滤波器给VDDA供电。电路设计如图3.2所示。图3.2 模拟电压供电电路3.2 微控制器模块3.2.1 STM32微控制器简介本系统采用意法半导体公司的32位嵌入式微控制器STM32F103RBT6作为智能小车的核心处理器,该处理器具有高速的数据处理能力并且在片内集成了丰富的外设资源,而且价格仅相当于普通单片机的成本,非常适合用于高性能低成本的设计场合。STM32F103系列微控制器是基

32、于ARM Cortex-M3 内核的32位微控制器,Cortex-M3内核基于哈佛架构,指令和数据各使用一条总线,对多个操作并行执行,加快了应用程序的执行速度。本文所选用的STM32F103RBT6微控制器属于STM32F103系列13-14,具有以下特点:(1)72 MHz频率1.25 DMIPS/MHz处理速度(2)单周期乘法和硬件除法(3)20 Kb的 SRAM和128 Kb的Flash(4)2.0V 到3.6 V 的供电电压(5)上电复位和掉电复位(6)两个12bit的多达16个通道的AD转换器(7)7个多功能定时器(8)7通道DMA(9)51个通用IO脚(10)LQFP64封装3.2

33、.2 微控制器最小系统STM32F103微控制器工作的最小系统电路如图3.3所示。最小系统包括电源电路、复位电路、晶体振荡器电路、启动配置管脚等。电源供电电路有两组,一组是数字电压VDD,一组是模拟电压VDDA。另外一个VBAT是内部实时时钟的供电管脚,本设计中将数字3.3V通过一个1N4148二极管给它供电。复位电路采用手动复位,由图3.3中的R33、S4、C14组成最小系统的复位电路。晶振电路有两组,一组是产生外部高速时钟HSE的8MHz晶体振荡器,外部晶振8MHz再经过内部倍频到72MHz作为控制器的工作频率;另一组是为内部RTC提供低速时钟LSE的32.768KHz晶体振荡器。图3.3

34、 微控制器最小系统启动配置管脚电路,在STM32F10xxx里,可以通过BOOT1:0引脚选择三种不同启动模式15。具体配置参照表3.1所示。根据表3.1中的管脚配置,本设计中选择从主闪存存储器启动,所以图3.3中将BOOT0脚接一个下拉电阻R31,此时BOOT1脚可以是任意电平,但为了系统的稳定性,将BOOT1脚也接入一个固定的低电平。JTAG下载电路设计,STM32F103系列处理器支持多种程序下载方式,本设计采用标准20针的JTAG接口来对智能小车的控制器进行程序下载及调试。硬件电路如图3.4所示。表3.1 启动模式启动模式选择管脚启动模式说明BOOT1BOOT0X0主闪存存储器主闪存存

35、储器被选为启动区域01系统存储器系统存储器被选为启动区域11内置SRAM内置SRAM被选为启动区域图3.4 JTAG下载接口电路3.3 传感器模块3.3.1 红外光电传感器的工作原理智能小车运动控制系统是根据传感器探测到的信息进行分析处理来执行智能判断的,所以,传感器的选型及质量的好坏直接影响到智能小车整个系统的决策和行为规划。本设计采用发射接收一体的红外光电传感器来进行路径识别和障碍物检测。红外发射管发出的红外线经地面或者障碍物反射回到接收管,如图3.5所示,此时接收管根据接收到的红外线强弱会有相应的电压值,再将此电压通过微处理器的A/D通道进行模数转换得到一个数值,再根据数值的大小判断是否

36、碰到障碍物并得知到障碍物的大概距离。由于可见光对红外接收管的干扰非常小,所以应用此原理的传感器检测方案非常可靠。反射面红外发射管红外接收管图3.5 红外线检测示意图红外光电传感器检测黑线的原理为,由于黑色吸光,当红外对管的发射管发出的光照到上面时,部分红外线被吸收,反射回来的红外光就比较少,表现出接收管的电阻比较大,所以处理器A/D采集到的电压值就比较高,反之,若是白色的地面反射红外光就会很强,处理器A/D采集到的电压值就比较低,这就是路径识别的主要原理16-17。系统设计中使用红外对管TRCT5000传感器对地面信息进行采集,如图3.6所示;使用红外对管ST188对障碍物进行探测,如图3.7

37、所示。图3.6 TRCT5000传感器 图3.7 ST188传感器ST188反射式光电传感器具有以下特点:(1)采用高发射功率红外光电二极管和高灵敏度光电晶体管组成。(2)检测距离可调整范围大。(3)采用非接触检测方式。3.3.2 传感器的电路设计智能小车系统中的路径识别和障碍物检测的光电传感器电路设计都使用同一种电路模式,如图3.8所示。实验表明,此电路元器件很少且能够实现复杂环境下的正确检测。图3.8 红外传感器检测电路图3.8中的U7是一对红外对管,当发射管发射出来的红外光被反射回接收端时,DOWN1脚就会有一个电压值,此时单片机就可以根据经过模数转换的电压值进行判断从而做出相应的动作。

38、3.4 电机驱动模块3.4.1 直流电机的选取智能小车的运动和行驶是通过电机来执行的,由于步进电机的转速过慢且价格较高,本设计选择廉价的有刷直流减速电机作为小车的动力驱动,如图3.9所示。电机的直径为12 mm,体积非常小巧,减速比为30比1,供电电源在6V的情况下转速能达到空转700 rpm,扭矩为0.43 kgcm左右,空载电流为50 mA,堵转电流达540 mA。该直流电机完全可以用来承载智能小车的整个车身重量。图3.9 直流减速电机3.4.2 电机驱动芯片的介绍本设计中智能小车采用了两轮独立驱动的差速控制系统,要求对两直流电机进行独立的正反转控制,同时要求利用PWM脉冲来控制电机的转速

39、。若是采用分立开关器件来设计路就会非常复杂且性能很难达到理想效果,因此本设计采用专用的电机驱动芯片来实现对两路直流电机的减速控制。本文选用的是东芝半导体公司生产的一款直流电机驱动芯片TB6612FNG,它具有大电流MOSFET-H桥结构,双通道电路输出,能够独立双向控制两个直流电机。TB6612FNG每个通道能够输出最高1.2A的连续驱动电流,峰值电流达到2A/3.2A(连续脉冲/单脉冲),可以控制电机的正转、反转、制动和停止,具有低功耗的待机状态18。表3.2 TB6612FNG真值表输入输出IN1IN2PWMSTBYOUT1OUT2ModeHHH/LHLL制动LHHHLH反转LHLL制动H

40、LHHHL正转LHLL制动LLHHOFF(高阻态)停止H/LH/LH/LLOFF(高阻态)待机TB6612FNG的供电电压只要3.3V就可以工作,而现在市场上主流的H桥集成芯片L293D和L298N则需要5V的工作电压,所以在功耗方面具有很大的优势。驱动电流要比L293D大得多,发热量也远比L298N要少得多。对于PWM的频率支持,L293D最大是5kHz,而L298N也才40 kHz,TB6612FNG的PWM可以高达100 kHz。要实现电机的转向控制,可参照TB6612FNG的逻辑真值表进行电平控制和软件编程,TB6612FNG的输入输出逻辑关系如表3.2所示。3.4.3 电机驱动电路的

41、设计基于TB6612FNG的电机驱动电路如图3.10所示。图3.10 电机驱动电路图3.10中的AIN1、AIN2、BIN1、BIN2、STBY连接至微控制器的普通IO脚;PWMA、PWMB则连接至STM32定时器的PWM输出管脚。电容C16和C17对电池电压进行再次滤波,减少干扰;C18和C19加在电机的两个管脚上具有吸收杂波的作用。3.5 速度检测模块3.5.1 测速方案的选择在智能小车运动控制系统中,对速度的检测的必不可少的一部分,如果仅仅对小车的速度进行开环控制那就达不到精确的控制效果,若想结合速度控制算法对小车的速度进行闭环控制,那就必须加入测速模块。有了速度反馈才能够有效地运用速度

42、控制算法。目前,测速方案主要有以下几种:(1)测速发电机(2)转角编码器(3)反射式光电检测(4)透视式光电检测(5)霍尔传感器测速发电机、转角编码器测速的精度比较高,但价格太贵,带编码器的直流电机也是价格不菲。霍尔传感器主要是通过霍尔效应来实现的,磁钢在接近霍尔传感器时传感器会产生一个高电平,通过检测一定时间内高电平的个数,可计算出对应的速度。但精度不高,且安装不方便,还会增加轮子的向心力,降低稳定性。基于稳定性和成本的角度考虑,本设计中采用反射式光电传感器检测轮子的转速,主要优势在于机械结构的稳定。基本原理和前面介绍的路径识别模块相同。3.5.2 测速模块的设计测速模块采用反射式光电传感器

43、对轮子的转速进行测量,具有比较高的精度和很好的稳定性19。测速电路设计如图3.11所示。图中光电传感器采用ITR8307-TR8,这款红外光电传感器的体积非常小,适合安装在轮子的内测与光电编码盘配合进行速度的测量。电路中使用了一个比较器对检测到的不明显信号进行比较输出,这样处理器就可以收到规则的方波脉冲对速度进行测量。图3.11 测速模块电路3.6 人机交互接口设计智能小车硬件平台上除了具备主要的功能模块以外,还设计和预留了人机交互的各个接口,包括两个用户按键(如图3.12所示)、四个LED灯(如图3.13所示)、一个蜂鸣器(如图3.14所示)和一个标准串行接口。用户可以通过按键来对小车的模式

44、进行触发和选择;LED灯和蜂鸣器可以在调试程序时作为参照和信息提示。串口可以在小车程序调试的时候进行结果的实时打印输出,最重要的是通过预留的串口,用户可以在智能小车平台上再拓展更多的功能,比如红外控制、蓝牙遥控、WIFI无线控制、GPS定位等等。 图3.12 按键电路 图3.13 LED指示灯电路图3.14 蜂鸣器电路3.7 硬件设计的注意事项3.7.1 原理图的设计设计电路原理图的时候要保证电路的可行性与稳定性,本设计中对每一个模块电路的设计都要进行了相应实际硬件的调试和分析。但有很多硬件方面的故障原因并不明显,所以,在原理图设计的时候一定要细心,确保硬件平台的稳定运行。下面就原理图设计过程

45、中的一些注意问题进行说明:(1)注意尽量采用模块化的设计方法,以使原理图更加清晰明了,一目了然,这种方法对于大规模的电路设计更有帮助。(2)学会使用网络标号,网络标号在原理图设计中起到电气连接的作用,在导线连接比较多或者连线不方便时使用网络标号可以让电路图更加美观。(3)注意十字交叉线的连接点是否已经连上,这是一个很容易出现问题的地方,往往由于设计者的疏忽,这些逻辑上的错误软件不能够检查得出来,就容易导致硬件不能正常工作。3.7.2 PCB的设计如果原理图设计好了,那么接下来就要进行PCB的设计了,PCB的设计直接体现出整个硬件系统的实际效果,由于本设计中直接采用印制电路板作为智能小车的底盘载

46、体,所以PCB的设计犹为重要。以下对PCB设计过程中的注意事项进行讲解:(1)元件封装一定要正确,在PCB设计中,保证每一个元器件的封装尺寸都正确无误是最基本的原则性问题,这直接关系到元器件的安装焊接是否成功。对于微小的贴片器件要更加注意,因智能小车体积和重量的需要,本设计中绝大部分的元器件都使用了贴片封装,所以在PCB设计时要仔细核对元件封装。(2)布线问题,尽量使用手动布线,不要使用自动布线。手动布线不仅可以进行模块化布局再布线,而且在布线的过程中还可以对前面设计的原理图进行一次详细的检查和调整。为了减少寄生耦合的干扰,手动布线时顶层和底层的导线应相互垂直走线,尽量避免平行布线。(3)导线

47、连接完毕后,对PCB上闲置的空间进行大面积覆铜,敷铜可以减小地线阻抗,提高抗干扰能力和印制电路板的强度20。(4)对电路板进行电气规则检查,可以及时发现设计中出现的错误。第四章 软件设计4.1 固件函数库本设计采用STM32F103系列的微控制器作为智能小车的核心处理芯片,该芯片的功能强大,外设丰富,软件编程也较为复杂。STM32有两种软件开发方式,一种是直接操作寄存器进行编程,另一种是使用固件函数库进行软件的编写。本设计中软件部分的编写全部基于STM32官方固件函数库V3.5.0。固件函数库由程序、数据结构和宏定义组成,包括了微控制器所有外设的性能特征。该函数库还包括每一个外设的驱动描述和应

48、用实例。通过使用固件函数库,无需深入掌握细节,用户也可以轻松应用每一个外设。因此,使用库函数进行程序编写可以大大减少用户的程序编写时间,进而提高开发效率。图4.1是固件函数库文件的结构图21。图4.1 库文件结构图4.2 传感器检测程序智能小车装载的五个路径检测传感器和六个障碍物检测传感器采用同一形式的电路设计,都是将检测到的信息输入到STM32微控制器中进行AD转换得到电压值进行智能判断。STM32F103RBT6内部集成两路ADC,精度12位,转换速率1MHz,具备16个共享通道。本设计使用微控制器的11个ADC通道对11个传感器进行快速的AD转换,下面以其中一个通道为例进行STM32模数

49、转换器的程序设计。ADC的配置流程如图4.2所示。否是ADC时钟和管脚初始化保存转换结果开始转换是否完成?ADC功能配置开始转换图4.2 ADC的配置流程以下为相关的程序代码:ADC_InitTypeDef ADC_InitStructure; /定义ADC初始化结构体变量GPIO_InitTypeDef GPIO_InitStructure; /定义GPIO初始化结构体变量RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1,ENABLE);/打开ADC1的时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE

50、);/打开GPIOC的时钟GPIO_InitStructure.GPIO_Pin =GPIO_Pin_1; /选择第1管脚GPIO_InitStructure.GPIO_Mode =GPIO_Mode_AIN; /设置I/O为模拟输入GPIO_Init(GPIOB,&GPIO_InitStructure); /初始化I/O口ADC_InitStructure.ADC_Mode= ADC_Mode_Independent; /独立模式 ADC_InitStructure.ADC_ScanConvMode= ENABLE; /使能扫描转换 ADC_InitStructure.ADC_Continu

51、ousConvMode =ENABLE; /连续转换ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;/转换不受外界决定 ADC_InitStructure.ADC_DataAlign =ADC_DataAlign_Right; /右对齐 ADC_InitStructure.ADC_NbrOfChannel =1; /扫描通道数 ADC_Init(ADC1,&ADC_InitStructure); / 初始化ADC1的配置ADC_RegularChannelConfig(ADC1,ADC_Channel_11,

52、1,ADC_SampleTime_1Cycles5); /常规转换序列1,通道11ADC_Cmd (ADC1,ENABLE); /使能ADC1ADC_SoftwareStartConvCmd(ADC1,ENABLE); /使能ADC1的软件转换4.3 电机驱动程序4.3.1 PWM简介PWM(Pulse Width Modulation,脉冲宽度调制)是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。PWM的一个优点是从处理器到被控系统信号都是数字形式的,无需进行数模转换。让信号保持为数字形式可将噪声影响降到最小22。STM3

53、2微控制器内部集成一个高级定时器和三个通用定时器,每个定时器都具备四路通道,其中每一个通道都能产生PWM输出对左右两个电机的速度进行控制。本设计中利用TIM4的CH1和CH2来产生两路PWM波对直流电机进行速度调节。4.3.2 PWM输出控制电机使用微控制器的四个普通I/O口可以对直流电机的转向进行控制,通过改变PWM波的占空比可以对直流电机的速度进行精确调节。相关程序代码如下:RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE);/使能定时器4的时钟TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;/

54、定时器初始化结构体变量定义TIM_OCInitTypeDef TIM_OCInitStructure;/定时器输出比较结构体变量定义TIM_TimeBaseStructure.TIM_Period = 1000;/设置周期TIM_TimeBaseStructure.TIM_Prescaler = 0; /预分频为0TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;/时钟分频为0TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;/向上计数模式TIM_TimeBaseIn

55、it(TIM4, &TIM_TimeBaseStructure); /初始化定时器4TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;/PWM1模式1TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;/PWM输出状态使能TIM_OCInitStructure.TIM_Pulse = CCR1_Val;/设置PWM的占空比TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;/输出有效电平为高电平TIM_OC1Init

56、(TIM4, &TIM_OCInitStructure);/初始化定时器4的PWM输出通道1TIM_OC1PreloadConfig(TIM4, TIM_OCPreload_Enable);/通道1的预装载使能TIM_ARRPreloadConfig(TIM4, ENABLE);TIM_Cmd(TIM4, ENABLE); /使能定时器44.4 速度检测模块的程序设计由于速度检测模块经过比较器之后输出的是一系列方波信号,故可用STM32微控制器内部集成的定时器输入捕获功能来对速度脉冲进行处理,进而算出小车的行驶速度。本设计中使用了TIM3的CH1和TIM2的CH2对左右两个电机分别进行测速。相

57、关程序如下:RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);/定时器3的时钟使能TIM_ICInitStructure.TIM_Channel = TIM_Channel_1;/选择通道1TIM_ICInitStructure.TIM_ICPolarity = TIM_ICPolarity_Rising;/上升沿触发TIM_ICInitStructure.TIM_ICSelection = TIM_ICSelection_DirectTI;/通道方向选择TIM_ICInitStructure.TIM_ICPrescaler = TIM_I

58、CPSC_DIV1;/捕获预分频TIM_ICInitStructure.TIM_ICFilter = 0x0;/滤波设置TIM_PWMIConfig(TIM3, &TIM_ICInitStructure);/定时器3初始化TIM_SelectInputTrigger(TIM3, TIM_TS_TI2FP1);/触发源选择TIM_SelectSlaveMode(TIM3, TIM_SlaveMode_Reset;/选择从模式复位TIM_SelectMasterSlaveMode(TIM3, TIM_MasterSlaveMode_Enable);/主从模式使能TIM_Cmd(TIM3, ENABLE);/打开定时器34.5 PID控制4.5.1 PID控制算法简介PID(Proportion Integration Differentiation,比例、微分、积分)控制具有

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!