智能小车PID运动控制系统设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
智能小车PID运动控制系统设计
学生姓名:
学生学号:
院(系):电气信息工程学院
年级专业:电子信息工程
指导教师:
助理指导教师:
二〇一五年五月
摘要
本文主要介绍了智能小车控制系统的软硬件设计及开发过程。
车模系统的简单工作原理是单片机收集红外传感器返回来的赛道信息,通过相应运算后,软件判断其有效性,结合控制算法控制随动舵机给出合理舵值,控制前轮舵机转向,单片机再给出合适的PWM波占空比以控制电机转速。
小车设计主要包括硬件电路设计和软件控制设计两大部分。
此智能车系统采用模块化设计思想,完成了系统硬件电路的设计,其主要包括核心控制模块、电源管理模块、电机驱动模块、舵机控制模块、车速检测模块、路径识别模块等。
本系统以16位的微处理器AT89S52为控制核心,AT89S52微控制器是M68CHS12系列16位单片机中一种,其内部结构主要有单片机的基本部分和CAN 的功能块部分组成。
为了提高系统性能的运行,对控制策略转向、行驶速度策略控制及后轮驱动闭环PID算法控制策略等进行了详细的分析与详细设计。
在此基础上,完成了该系统软件的具体方案设计和实现。
关键词模块化PID 单片机PWM
ABSTRACT
This paper mainly introduces the hardware and software of the control system of intelligent car design and development process. The simple models system working principle is to collect infrared sensor mcu return circuit information, through the corresponding operation, the software judge its effectiveness, combining control algorithm with dynamic steering gear control, reasonable front wheel steering gear control rudder values steering,mcu and then presents the right PWM waves occupies emptiescompared to control motor speed.
Car design includes hardware circuit and software control design of two parts. The smart car system adopts the idea of modular design, complete the hardware circuit design, and its main including core control module, power management module, motor driver module, steering gear control module, speed detection module, path recognition module, etc.This system to MC9S12DG128 as control core, M68HC12 series MC9S12DG128 microcontroller is one of 16 bit mcu, its internal structure is mainly a mcu basic parts and CAN function blocks parts.
In order to improve the operation of the system performance, the steering control strategy and speed closed-loop control strategies and rear wheel drive strategy of PID control algorithm is a detailed analysis and design. On this basis, completed the specific software system design and implementation.
Keywords modular PID MCU PWM
目录
摘要 (I)
ABSTRACT................................................................................................................................. I I
1 绪论 (1)
1.1 课题背景 (1)
1.2 国内外研究现状、水平 (1)
1.3 本课题的发展趋势 (3)
1.4本课题的研究内容和任务 (4)
1.4.1 本设计实现的技术指标 (4)
1.4.2 本设计的创新点 (4)
2 系统总体设计方案 (6)
2.1总体方案设选择 (6)
2.1方案论证 (7)
3 系统的硬件设计 (9)
3.1单片机的选择与其性能分析 (9)
3.1.1 单片机概述 (9)
3.1.2 单片机AT89C52介绍 (9)
3.2各模块电路设计 (11)
3.2.1 时钟电路设计 (11)
3.2.2 复位电路设计 (13)
3.2.3 按键电路设计 (15)
3.2.4 电机驱动电路 (15)
3.2.5 显示电路设计 (16)
3.2.6 测速电路设计 (18)
4 软件设计 (20)
4.1 程序仿真软件简介 (20)
4.1.1 keil uVision4编程开发工具的简介 (20)
4.1.2 软件仿真流程 (20)
4.2 整体设计思想 (23)
4.3 PID算法 (24)
4.3.1 PID算法简介 (24)
4.3.2 模拟PID (26)
4.3.3 数字PID (27)
4.4 PID控制算法的编程实现 (28)
4.5 各模块程序 (29)
4.5.1 按键模块设计 (29)
4.5.2显示块程序设计 (30)
5 组装与调试 (33)
5.1系统组装 (33)
5.2硬件调试 (33)
5.3软件调试 (34)
5.4软硬联调 (34)
结论 (35)
参考文献 (36)
附录A:程序代码 (38)
附录B:实物展示 (43)
致谢............................................................................................................. 错误!未定义书签。
1 绪论
1.1 课题背景
随着全世界范围内汽车的普及率提高,汽车极大地方便人们生活的同时也带来了一些问题,比如交通安全问题、城市交通堵塞和环境污染等。
解决交通问题直接的办法是提高路网的通行能力。
但是,就目前状况来看,汽车数量的快速增加已经导致已有的道路远远不能满足经济发展的需要,单纯地进行道路基础设施建设由于受土地,经济基础,时间等多重因素的影响下,不可能解决全部交通问题,真正有效可行的方法是如何提高现有道路的容量和效率。
在这样背景下,运用高新科技技术,将现有道路和车辆综合一起考虑,构造出智能交通系统来解决交通中发生的问题的思想就这样产生了。
智能的交通系统是把先进信息的科技技术、数据的通讯以及计算机技术很有效地运用到整个管理体系和车辆建立起来的范围、全方位来发挥实时作用、准确、高效、先进的运输管理系统。
智能车作为智能交通管理系统中的一种非常关键的技术,是一个由环境的感知性、规划的决策性、多等级的辅助驾驶等功能集于一体的操作系统,它集中运用计算机系统和现代传感系统、信息的融合、通信的系统、人工智能以及自动控制原理等技术,属于很典型的高新技术综合体。
然而,智能车的系统属于一个很复杂的系统,如何根据相关高新技术来实现智能交通系统运用,正处于高速发展和完善中。
因而,利用先进交通技术构建的研究平台是非常有必要的。
综上而言,通过车辆的智能化研究技术和开发,可以很好地提高车辆控制技术和驾驶水平,保障车辆的行驶安全与高效。
不断地完善智能化车辆系统的研究,相当于延伸了驾驶员的控制、视觉和感官功能,能极大地提高道路交通安全性,并对构建智能交通系统有着非常重要的意义。
1.2 国内外研究现状、水平
世界科学界与工业设计界,拥有众多的研究机构在研发智能车辆,其中特别有代表性的智能车包括:
美国NavLab系列智能车辆系统。
该系统是由美国卡内基·梅隆大学机器人研究所研制的。
NavLab.V系统的车体采用Pontiac运动跑车。
其传感系统包括视觉传感系统、差分GPS系统、光纤阻尼陀螺系统和光码盘系统。
计算机系统包括1台SparcLx便携式工作站和l台HCII微处理器。
工作站完成传感器信
息处理融合、全局与局部路径的规划;HCU完成底层车体的安全和控制的监控。
当前NaVLab系列己经发展到了NaVLab.11。
德国VaMoRs—智能车系统。
这个系统是由德国的国防大学和德国的汽车奔驰公司共同研制而成的。
该车车体主要采用奔驰的500型轿车。
传感器的系统主要包括有4小型彩色摄像机组成的两组主动式双目视觉系统、3惯性加速度的设计和角度的变化传感器、测速表和发动机的状态测量仪等。
执行机构包括由方向力矩电机、电子油门和液压制动器等。
计算机系统由基于Transputer并行处理单元和2台PC-486组成的。
用于图像特征的抽取、物体的识别、对象状态的估计、行为决策、控制计算、方向控制和信息通信、I/O的操作、数据库的操作、图形的显示等。
两台PC-486主要用途是软件开发和人机交互、数据登录等。
国内的智能车研究起步相对较晚,以及受经济条件的制约,在智能车的研究领域上与发达国家有着不小的差距,当前开展这些研究的单位主要是一些大学和高层科研机构,具有典型代表性的系统有:
THMR系列的智能车辆管理系统。
这个系统主要是由清华大学计算机系智能技术系统和国家重点试验室国防科工委和国家863的计划帮助下研制而成的。
THM—II的车体主要选用BJl022的面包车改制而成。
该车上主要由二维彩色摄像机、磁罗盘定位、GPS、超声等传感器共同集成而来的。
计算机的主要系统采用了Sun Spark 01 两台、PC-486 一台和8098单片机多台。
Sun完成的任务规划,根据地图的数据库等信息来进行全局规划,l台PC机来完成视觉的信息处理,另1台来完成局部的规划、反射的控制及系统的监控,多台8098来完成超声测量、位置的测量、车体方向控制的速度。
控制系统多采用了多层次的“感知动作”行为控制以及基于模糊控制局部路径的规划和导航的控制。
目前THMR 系列已发展到THMR-V。
南京大学JLUIV系列智能车辆系统。
该系统主要是由吉林大学智能车辆课题组的国家自然科学基金、教育部博士基金等的资助下研制而成的。
JUTI-Il 型的智能车车载传感器主要有CCD摄的像机、三维的激光测距仪、GPS定位系统和远、近距离避障传感器,制动拉压力传感器、光电编码器等。
计算机的系统采用了2台Pentium-II控制工业计算机,完成了车辆传感信息的获取、周围环境的感知、图像的处理、导航路径的识别及决策的控制。
目前JLUV系列已发展到了JUTV-III。
飞思卡尔杯全国大学生智能汽车比赛就是在这样的情况下应运而生的。
比赛主要是由教育部高等院校自动化专业教学指导委员会辅助承办,飞思卡半导公司协助。
并由组委会来提供统一的车模和统一单片机,并要求各个参赛队要
在不改变车模的底盘结构的前提情况下,通过选择合适的检测方案和适当的控制算法,使车的模型能够在专门设计好的跑道上自动地识别路线行驶,每圈行驶时间最短的赛车获的胜利。
这样,通过提供了一个相同的比赛平台,各个参赛队伍必须仔细研究更好车模的数学模型和控制的方案,从检测控制的角度来解决这个问题。
在当今大量应用的工业控制器中,有半数以上采用 PID或变形的PID控制方法。
实践证明,PID控制方法对于大多数控制系统具有广泛适用性。
1.3 本课题的发展趋势
智能汽车前两个层次的“辅助驾驶技术”和“半自动驾驶技术”已经得到了广泛应用,并成为提升产品档次和市场竞争力的重要手段。
智能汽车第一层级的辅助驾驶技术包括自主式辅助驾驶技术和协同式辅助驾驶技术两种,通过警告让司机防患车祸于未然。
其中,包括前碰撞预警(FCW)、车道偏离预警(LDW)、车道保持系统(LKS)、自动泊车辅助(APA)等在内的自主式辅助驾驶技术已经得到广泛应用,处于普及推广阶段,并由豪华车下沉至B级车。
今年,汽车辅助驾驶技术成为获取E-NCAP四星和五星的必要条件。
在美国、欧洲、日本等汽车发达国家和地区,基于车联网V2I/V2V技术的协调式辅助驾驶技术正在进行实用性技术开发和大规模试验场测试。
半自动驾驶技术近年来在高端车上逐渐获得应用,比如已经获得广泛应用的自适应巡航控制系统(ACC)。
世界汽车巨头们正致力于第三个层次“高度自动驾驶技术”的实用化研发和产业化,即将实现量产上市。
今年,沃尔沃将率先量产全球第一个自动驾驶技术——堵车辅助系统。
该系统是自适应巡航控制和车道保持辅助系统的集成与延伸,它可以使汽车在车流行驶速度低于50公里/小时的情况下,自动跟随前方车辆行进。
此外,奥迪、凯迪拉克、日产、丰田等都计划推出诸如自动转向、加减速、车道引导、自动停车、自适应巡航控制等技术的汽车,它们大多属于第三层次的智能驾驶技术。
由于车联网V2X技术涵盖汽车、IT、交通、通讯等多个行业,相关技术标准法规仍不健全,协调式辅助驾驶技术目前尚未得到大规模推广应用。
谷歌无人驾驶汽车目前还离不开人的操控,只能按预定程序行进,在雾雪天气还会受到干扰,并且在加速、减速及转向时衔接不太好。
总之,全工况的无人驾驶技术仍处于研发阶段,最终的实用性测试和验证还需要很长时间。
随着V2X技术最终实用性测试和无人驾驶实用化技术开发的进行,需要进一步建立和完善车联网V2X技术标准法规、无人驾驶技术标准法规,并据此逐步建设相应的通信、道路基础设施,构建起完整的智能化的人、车、路系统,为协
调式辅助驾驶技术和无人驾驶技术的大规模推广应用奠定基础。
无人驾驶汽车要真正上路,还将面临法律和道德方面的困难。
一方面,无人驾驶汽车与有人驾驶汽车发生交通事故时,其责任归属以及保险赔付等问题待商议解决;另一方面,无人驾驶技术永远是将保护车辆和车内人员作为第一要务,这会涉及交通道德问题。
智能汽车将大幅减少交通安全事故。
汽车交通事故在很大程度上取决于人为因素,无人驾驶汽车由行车电脑精确控制,可以有效减少酒驾、疲劳驾驶、超速等人为不遵守交通规则导致的交通事故。
智能汽车将提高车辆利用率,降低汽车总销量,减轻汽车对环境的污染。
根据谷歌无人驾驶汽车团队的统计,传统汽车在大部分时间内(96%)处于空闲状态,利用率较低。
无人驾驶汽车可以按照时间顺序依次供需要的人使用,因此可以更好地统筹安排家庭内车辆使用,提高车辆的使用效率,减少车辆消费总量,有效减少碳排放。
另一方面,智能汽车可以根据实时路况自动选择到达目的地的最优路径,能源消耗更少。
智能汽车将改变当前汽车交通基础设施状况,影响汽车运输相关产业的发展。
智能汽车的运行需要配套的交通基础设施,当前的基础设施建设情况将不再适用。
例如由于无人驾驶汽车靠传感器感知路面障碍,或者通过4G/DSRC与道路设施通信,因此需要在交叉路口、路侧、弯道等布置引导电缆、磁气标志列、雷达反射性标识、传感器、通信设施等。
队列行驶也是智能汽车的另一种形式,即有人驾驶领头车辆,后面跟随着无人驾驶车辆编队,这一技术将提高汽车运输的自动化程度。
1.4本课题的研究内容和任务
设计一个AT89C2单片机作为核心控制器件空调温度控制器,通过按键设定智能车的速度,然后智能车就以这个速度运动并且通过LCD1602显示出设定速度。
再通过智能车轮上的光电传感器对智能车速度进行测量然后通过液晶显示器显示出来。
1.4.1 本设计实现的技术指标
输入直流电压5V
控制精度:±1cm/s
显示精度:0.1cm/s
1.4.2 本设计的创新点
本设计以光电传感器作为测速器件,在保证测速的前提下增加了实用性。
采用PID算法对小车速度进行控制,增强了小车的速度控制精度。
以LCD1602
作为显示器,人机交互性好。
2 系统总体设计方案
2.1总体方案设选择
方案一
该方案采用AT89S52单片机作为核心控制器件,通过按键输入完成对小车速度的设定,并在液晶显示器上显示出来。
其中电机采用直流电机。
通过光电传感器对小车轮子进行脉冲采样,将采集到的脉冲信号传给单片机,再由单片机控制液晶显示。
在整个设计中,涉及到设定检测电路,显示电路,按键电路等电路,而单片机的控制程序是起到各个电路之间的相互协调,控制各个电路正常工作。
其方框图如下:
图 2.1 方案一框图
方案二
该方案采用MSP430单片机作为核心控制器件,通过按键输入完成对小车速度的设定,并在数码管上显示出来。
其中电机采用步进电机。
通过光电传感器对小车轮子进行脉冲采样,将采集到的脉冲信号传给单片机,再由单片机控制数码管显示。
在整个设计中,涉及到设定检测电路,显示电路,按键电路等电路,而单片机的控制程序是起到各个电路之间的相互协调,控制各个电路正常工作。
其方框图如下:
图 2.1 方案二框图
2.1方案论证
方案一:该方案采用AT89S52单片机作为核心控制器件,通过按键输入完成对小车速度的设定,并在液晶显示器上显示出来。
其中电机采用直流电机。
通过光电传感器对小车轮子进行脉冲采样,将采集到的脉冲信号传给单片机,再由单片机控制液晶显示。
在整个设计中,涉及到设定检测电路,显示电路,按键电路等电路,而单片机的控制程序是起到各个电路之间的相互协调,控制各个电路正常工作。
采用直流电机作为该系统的驱动电机直流电机的控制方法比较简单,只需要电机的两根控制线加上适当的电压即可使电机转动起来,。
电压越高则电机转速越快。
对于直流电机的速度调节,可以采用改变电压的方法,也可采用PWM 调速方法。
PWM调速就是使加在直流电机两端的电压为方波形式,通过改变方波的占空比实现对电机转速的调节。
采用通过5个红外光电开关传感器ST178对信号进行采集,采集到的信号经比较器LM324处理后传给STC12C5410AD单片机,经单片机处理后,发出控制命令给L298N,驱动2台直流电动机进行相应的动作。
其相比于LM329,精度比较适中,利于调节,而且成本低。
因此。
比较适宜使用。
优点:采用AT89C52作为核心控制器件,有足够的I/O口和存储空间能够完成对小车的控制且引脚适中程序编译下载简单。
采用直流电机作为该系统的驱动电机直流电机的控制方法比较简单,只需要电机的两根控制线加上适当的电压即可使电机转动起来,L298N精度比较适中,利于调节,而且成本低。
方案二:该方案采用MSP430单片机作为核心控制器件,通过按键输入完成对小车速度的设定,并在数码管上显示出来。
其中电机采用步进电机。
通过光电传感器对小车轮子进行脉冲采样,将采集到的脉冲信号传给单片机,再由单片机控制数码管显示。
在整个设计中,涉及到设定检测电路,显示电路,按键
电路等电路,而单片机的控制程序是起到各个电路之间的相互协调,控制各个电路正常工作。
采用步进电机作为该系统的驱动电机。
由于其转过的角度可以精确的定位,可以实现小车的前进路程和位置的精确定位,虽然采用步进电机有诸多优点,步进电机的输出力矩较低,随转速的升高而下降,且在较高转速时会几句下降,不适用与小车等一定速度要求的系统。
采有SM6135W电机遥控驱动模块控制直流电机,SW6135W是专为遥控车设计的大规模集成电路,能实现前进、后退、向右、向左、加速五个功能。
优点:该方案控制精度较高,实现功能较多。
缺点:MSP430引脚较多,且程序下载和编译较繁琐。
步进电机的输出力矩较低,随转速的升高而下降,且在较高转速时会几句下降,不适用与小车等一定速度要求的系统。
SM6135W采用的是编码输入控制,而不是电平控制,这样在程序中实现比较麻烦,而且该电机模块价格比较高。
最终方案选择:
选择方案一:控制简单,思路清晰,各个单元模块连接简单,同时成本低廉,所有元器件都是常用器件,更具实用性。
3 系统的硬件设计
3.1单片机的选择与其性能分析
3.1.1 单片机概述
单片机又称单片微控制器,是一种集成电路芯片。
它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
它体积小、重量轻、价格便宜,为学习、应用和开发提供了便利条件。
单片机就是在一块半导体上集成了定时/计数器、时钟电路系统、中断系统、串并行I/O口、存储器(RAM、ROM)、CPU及总线的微型计算机。
随着微电子技术和集成技术的进步,人们在单片机中还集成了A/D转换器、PWM、HSO等“片内外设”的特殊功能的部件。
些这电路能在软件的控制下准确迅速高效地完成程序设计者事先规定的任务。
单片机的出现是集成电路技术与微型计算机技术高速发展的产物,它的发展与运用在工业自动化等领域带来了一场重大的工业革命和技术进步。
由于单片机具有软件与硬件相结合、体积小、稳定可靠、可以很容易地嵌入到各种系统中的特点,所以单片机可以在各个领域得到广泛的运用。
如工业检测与控制、通信、汽车电子设备、各种终端机计算机外部设备、仪器仪表、消费类电子产品等领域。
3.1.2 单片机AT89C52介绍
AT89C51是美国ATMEL公司生产的一种带4K字节Flash存储器的低电压,高性能CMOS8位单片机。
AT89C51是一种带2K字节闪存可编程、可擦除、只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
AT89C51可提供以下标准功能:4K字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
同时,AT89C51可降至0Hz静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU工作,但允许RAM,定时/计数器,停止串行通信口及中断系统继续工作。
掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一硬件复位。
AT89C52管脚图如图3.1所示。
图3.1 AT89C51管脚图
AT89C51各引脚功能介绍如下:
1.VCC:电源引脚,接+5V电源;
2.GND:接地;
3.P0口:8位,漏级开路双向I/O口。
当AT89C51外部存储器及I/O口接芯片时,P0口作为地址总线(低8位)及数据总线的时分复用端口。
P0口也可以作为通用I/O口使用,但需要加上拉电阻,这时为准双向口。
当作为通用I/O 输入时,应先向端口输出锁存器写入1 。
P0口可驱动8个LS型TTL负载。
4.P1口:8位,准双向I/O口,具有内部上拉电阻。
P1口是专为用户使用的准双向I/O口。
当作为通用的I/O口输入时,应先向端口锁存写入1。
P1口可驱动4个LS型TTL负载。
5.P2口:8位,准双向I/O口,具有内部上拉电阻。
P2口缓冲器可接收,输出4个TTL门电流,当P2口被写入“1”时,其管脚电位被内部上拉电阻拉高,且作为输入时,P2口的管脚电位被外部拉低将电流输出,这是由于内部有上拉电阻的缘故。
6.P3口:8位,准双向I/O口,具有内部上拉电阻,可接收输出4个TTL 门电流。
P3口还可提供第二功能。
其第二功能定义见表2-1。
7.RST:复位信号输入端,高电平有效。
在此引脚加上持续时间大于2个机器周期的高电平,就可以使单片机复位。
8.ALE / PROG :在单片机拓展外部RAM时,ALE用于控制把P0口到输出低位地址送到锁存器锁存起来,从而可以把数据和低位地址区分开来。
ALE可为高电平也可为低电平,当ALE是高电平时,允许地址锁存信号,当访问外部存储器时,ALE信号负跳变将P0口上低8位地址信号送入锁存器;当ALE是低电平时,P0口上的内容和锁存器输出一致。
在没有访问外部存储器期间,ALE 以1/6的振荡周期输出频率;当访问外部存储器时,以1/12的振荡周期输出频率。
PROG为编程脉冲的输入端,单片机的内部程序存储器,它的作用是来存放用户需要执行的程序。
9.PSEN:全称是程序存储器允许输出控制端。
在读外部程序存储器时PSEN 低电平有效,以实现外部程序存储器单元的读操作。
内部ROM读取时,PSEN无动作。
外部ROM读取时,在每个机器周期会动作两次。
外部ROM读取时,两个PSEN脉冲被跳过不会输出。
外接ROM时,与ROM的OE脚相接。
10.EA/VPP:当EA保持低电平时,访问外部ROM;注意加密方式1时,EA 将内部锁定为RESET;当EA端保持高电平时,访问内部ROM。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP);
11.XTAL1:外接时钟引脚,片内振荡电路的输入端。
12.XTAL2:外接时钟引脚,片内振荡电路的输出端。
3.2各模块电路设计
3.2.1 时钟电路设计
时钟电路产生AT89C51单片机工作时所必需的控制信号。
AT89C51单的
内部电路正是在时钟信号的控制下,严格地按时序执行指令工作。
单片机执行。