基于单片机的智能小车速度控制设计概述.docx
- 文档编号:7264550
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:31
- 大小:365.41KB
基于单片机的智能小车速度控制设计概述.docx
《基于单片机的智能小车速度控制设计概述.docx》由会员分享,可在线阅读,更多相关《基于单片机的智能小车速度控制设计概述.docx(31页珍藏版)》请在冰豆网上搜索。
基于单片机的智能小车速度控制设计概述
题目:
基于单片机的智能小车速度控制设计
专业:
机械电子工程
学生:
(签名)
指导教师:
(签名)
摘要
智能小车可应用于无人驾驶车辆,生产线,仓库,服务机器人及航空航天等领域,它是一种可行走的智能机器人。
智能小车可在恶劣环境中进行人们无法完成的探测任务。
因此,为了使智能小车在最佳状态工作,进一步研究及完善其速度的控制是非常有必要的。
本文详细介绍了智能小车速度控制系统的硬件设计。
系统主控制核心采用了STC89C528位单片机,该系统是在KeiluVision软件平台基础上设计完成的,采用了C语言编程。
系统硬件包括电源模块,测速模块、显示模块及电机驱动模块的设计。
在电机驱动模块中,为了提高智能小车调速的准确度和敏捷度,本设计采用PWM技术和PI算法。
在测速模块中,为了提高小车测速的精确度,本设计选用了光电测速传感器进行测速。
最后,通过对小车进行实车调试运行,验证了本设计的智能小车及其控制算法具有运行性能良好,可靠性高的特点,实现了自动调速功能,为后续的研究工作提供了一定的基础。
关键词:
智能小车;STC89C52;测速;PWM调速;PI算法
Subject:
Microcontroller-basedintelligentvehiclevelocitycontroldesign
Abstract
Intelligentvehicleisanintelligentwalkingrobot.Itcanbeappliedtounmannedvehicles,unmannedproductionlines,warehouses,servicerobots,aerospaceandotherfields.Intelligentvehiclecancompletetheexplorationmissionsintheenvironmentwhichpeoplecouldnotenterorsurvivein.Therefore,inordertolettheintelligentvehicleinthebestconditionthefurtherresearchandimproveitsvelocitycontrolisverynecessary.
Thehardwarevelocitycontrolsystemdesignisintroducedindetail.STC89C52whichprogramwithCandcompilationlanguageworksonthecoreprocessorofthecontrolcircuit.ThesystemisdesignedbasedontheKeiluVsionsoftwareplatform.Thehardwaredesignofcontrolsystemincludepowermodule,velocitymeasurementmodule,displaymoduleanddrivingmodule.Indrivingmodule,PIalgorithmandawayofPWMusedtoimprovetheaccuracyandagilityofthevehicle’svelocitycontrol.Invelocitymeasurementmodule,photoelectricspeedsensorischosentoincreasetheaccuracyofthevelocitymeasurement.
Finally,fromtheworkwhichhasbeendoneinthisproject,theconclusioncanbedrawthattheintelligentvehicleanditscontrolalgorithmnotonlyhasthevirtuesofhigh-performance,high-reliability,butalsohastheautotracing.Thispaperpresentedanexperimentalbaseforthefurtherresearch.
KeyWords:
Intelligentvehicle;STC89C52;velocimetry;PWMvelocitycontrol;PIalgorithm
1绪论
1.1本设计研究的背景和意义
20世纪50年代初美国BarrettElectronics公司开发出了世界上第一台自动引导车辆系统(AutomatedGuidedVehicleSystem,AGVS),从此开始了智能车辆的研究。
1974年,瑞典的VolvoKalmar轿车装配工厂与Schiinder-Digitron公司合作,研发出了一种可装载轿车车体的AGVS,并用多台该种AGVS获得了显著的经济效益,于是许多西欧国家纷纷效仿Volvo公司,并逐渐使AGVS在装配作业中成为一种流行的运输方式[1]。
智能小车是一个集环境感知、规划决策、自动行驶等功能于一体的机电综合系统,它集中运用了传感、信息、通信、计算机、导航、人工智能及自动控制等技术,是典型的高新技术综合体。
智能小车的研究对于汽车自动驾驶、救灾、外太空探测等都有重大意义。
本设计通过构建智能小车系统,培养设计实现智能小车速度控制系统的能力,主要体现智能小车能够实时测量、显示行驶速度,并进行调速。
技术上采用对射式光电传感器设计速度检测模块,同时,采用PWM技术和PI算法控制电机转速。
在此过程中加深对单片机知识和控制理论的理解和认识。
如今,汽车方面的研究越来越受到人们的关注。
全国电子大赛及省内电子大赛几乎每次都有智能小车方面的题目,全国各高校也都非常重视该题目的研究,可见其研究意义之大。
1.2本设计的研究内容
本设计是设计基于STC89C52单片机由直流电机驱动的智能小车,包括直流电机驱动硬件电路,最小单片机应用系统等,分析速度控制原理,编写控制程序。
本设计选择通用、价廉的STC89C52单片机为控制平台,选择常见的电机模型车为机械平台,通过细化设计要求,结合传感器技术和电机控制技术相关知识实现小车行驶速度的测量、显示及调速,达到智能控制,完成设计目标。
本设计以2个直流电机为主驱动,通过测速传感器来采集速度信息,送入主控单元STC89C52单片机处理数据后完成相应动作,以达到自身控制。
电机驱动采用L298n,可以驱动2个直流电机或一个步进电机,测速由对射式光电测速传感器完成。
根据设计的作品要达到的效果,本系统以STC89C52为核心控制器,主要由电源模块、电机驱动模块、测速模块、LED显示模块构成。
系统的结构框图如图1.1所示。
图1.1系统结构框图
2智能小车速度控制系统的硬件设计
2.1智能小车的速度控制系统的选择
本设计选用7.2V电池组作为智能电动小车的电源,以STC89C52单片机为控制核心,实现小车的测速、显示及调速,达到智能控制。
为提高系统的静态性能,智能小车采用PWM脉宽调制技术,速度控制算法采用PI算法。
速度控制系统是智能汽车的速度控制的核心环节。
在确保智能小车稳定运行的前提下,电路应尽量简洁,通过减少系统负载提高车体的灵活性。
同时要以车体简洁功能良好为目的、以运行可靠为前提,实现智能小车的平稳运行。
速度控制系统作为一个自动控制系统,能够自动检测智能小车的行驶速度,并发出相应的指令,控制智能车的行驶速度,整个系统包括传感器检测、信息处理、控制算法和执行机构四个部分组成。
硬件设计部分传感器、单片机、LED显示器、执行机构以及驱动电路,软件设计部分为信息分析处理与控制算法。
2.2速度控制算法
由于小车在行驶过程中会产生较大的惯性和时延,从控制信号输出到电机响应有一段时间的延迟,同时小车运行本身的惯性也使得它难以按照预先设定好的理想状况运行,这种影响在小车弯道行驶时显得尤为明显。
在弯道行驶时,若速度过,小车快会冲出赛道,导致无法再次循迹,影响运行效果;速度过慢则小车停在弯道处;而在直线上时,又需要较快的速度来快速完成行驶过程,并将速度稳定在安全的行驶速度范围之内,避免速度过快而影响小车的性能。
因此,智能小车的速度控制在行驶过程中非常重要,为了使智能小车能实现直线快速行驶、弯道减速慢行,需要对智能小车的电机进行处理[2]。
在速度控制中,如何获取小车当前车速,以及如何对小车的速度进行控制是两个关键问题,小车的速度可由测速传感器获得。
本系统是个闭环控制系统,为了获得稳定、快速、准确的速度控制系统,本设计采用PI速度控制算法。
PID调节的作用:
1.比例控制:
反应系统的基本(当前)偏差,系数大,可以加快调节,减小误差,但过大的比例使系统稳定性下降,甚至造成系统不稳定。
2.积分控制:
反应系统的累计偏差,消除系统稳态误差,提高无差度,只要有误差,积分调节就进行,直至无误差。
3.微分控制:
反映系统偏差信号的变化率,具有预见性,能预见偏差变化趋势,产生超前控制作用,在偏差还没有形成之前,就已被微分调节作用消除,因此可改善系统的动态性能,其不足之处是放大了噪声信号[3]。
由于在本设计中,仅使用PI调节便足以达到理想的精度和超调量,所以无须再加上微分项。
PI参数的整定:
本设计采用较常用的工程整定法中的临界比例法对PI参数进行调整。
用此法进行PI参数整定的步骤如下:
(1)先预选一个足够短的采样周期让系统工作;
(2)仅加入比例控制环节,直至系统对输入的阶跃响应做出临界振荡,并记下此刻的临界振荡周期和比例放大系数;(3)在一定的控制度下通过公式计算得到PI参数。
一个小电机闭环控制,一般P在(1,10)之间,I在(0,5)之间,D在(0.1,1)之间,具体参数要在现场调试时进行修正。
2.3直流调速系统
目前常见的调速方案有三种:
1.串电阻调速系统;
2.静止可控整流器,即V-M系统;
3.脉宽调速系统。
旋转变流系统通过交流发电机拖动直流电机来实现,发电机将电供给直流电机,通过调节励磁电流改变输出电压,从而达到调速的目的。
电机输出电压的极性与电机的转向都可以通过改变励磁电流的方向来改变,所以G-M系统很容易实现可逆运行。
但该系统需要旋转变流机组、旋转电机、励磁发电机等,所需设备多、体积大、效率低等诸多缺点,且技术落后,因此不采用该方案。
V-M系统是目前最主要的直流调速系统,有单相、三相等,有半波、全波、全控等类型。
优点是调速平滑,不足之处是晶闸管只能单向导电,无法实现电流反向,可逆运行困难,另一个缺点是运行条件高,维护麻烦。
在低速运行状态下,功率因数很低,易危及附近的用电设备。
采用晶闸管的直流斩波器基本原理与整流电路的区别在于晶闸管不受相位控制,而是在于它工作在开关状态。
当晶闸管被触发导通时,电源电压加在电机上,晶闸管在截止状态下,直流电源与电机断开,电机经二极管续流,两端电压接近于零。
脉冲宽度调制(PulseWidthModulation),简称PWM。
通过改变晶闸管的导通时间长短,来改变脉冲宽度达到直流电机调速的目的[4]。
与V-M系统相比,PWM调速优点诸多:
1.电力电子元件只有开关状态,电路损耗小,效率高;
2.开关频率较高,当与快速响应的电机一同配合工作时,可以获得很宽的频带,响应速度快,且抗干扰能力强;
3.PWM开关变化频率快,通过滤波作用就能获得很小的直流电流,系统低速运行时较平稳,调速范围较宽,在等电流下,损耗及发热较小。
根据以上比较,本设计采用了PWM进行调速。
脉宽调速控制也可通过单片机控制继电器的开闭来实现,但是驱动能力不高。
本设计采用了可逆PWM变换器,可以顺利实现电机的正转与反转。
可逆PWM变换器主电路的结构式有H型、T型等类型。
在本设计中采用了常用的双极式H型变换器,它是由4个三极电力晶体管和4个续流二极管组成的桥式电路。
2.4单片机控制方案论证
单片机系统的硬件设计一般分两部分,一是系统扩展,二是系统配置。
系统扩展,就是单片机内部的功能如I/O口﹑RAM、ROM﹑中断系统等不能够满足设计要求时,在单片机片外选择合适的芯片,设计相应的电路来满足设计要求。
系统配置指的是按照功能设计配置外围设备,如键盘、鼠标及LED显示等,设计出合适的接口电路。
在常用的单片机中,一般有以下三种方案:
方案一:
AVR单片机Atmega128L。
Atmega128L单片机具有低功耗、高性能的优点,并拥有8位微处理器,64个引脚。
总共包含了133条指令,大部分都可以在一个周期内完成。
片内自带有模拟比较器,可以上电复位以及可编程的掉电检测功能。
片内资源丰富,具有8个外部中断,53个I/O端口,4个定时计数器,能够很好地解决端口资源不足的困难。
大多数引脚具备第二功能,功能强大。
方案二:
现场可编辑门列阵(FPGA)方案。
现场可编辑门列阵可实现各种复杂的逻辑运算。
具有体积小、集成度高、稳定性好等优点,并且可利用软件进行仿真调试。
该芯片是并行工作方式,系统处理速度高,被广泛应用于大规模的系统。
方案三:
STC89C52单片机方案。
STC89C52是低功耗、高性能的8位微控制器,内含8K可编程控制器,与80C51指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,也适用于常规编程器。
AT89S52有5个中断源,和3个定时计数器。
方案比较:
综合比较以上方案,FPGA价格较贵,且用不到高速处理功能,造成资源浪费,而Atmega128L编程麻烦,所以本设计选择STC89C52单片机方案[5]。
STC89C52是ST公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。
在单片机芯片上,拥有灵巧的8位CPU和在系统可编程Flash,为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
有以下标准功能:
32位的I/O口线,512Byte的RAM,8KByte的Flash,具有看门狗定时器,内置了4KB的E2PROM,3个16位的定时/计数器,4个外部中断,一个7向量4级中断结构,MAX810复位电路,带全双工串行口。
另外STC89C52可降到0Hz静态逻辑来操作,可选择节电模式,支持汇编语言及C语言进行编程。
空闲模式下,CPU停止运行,允许定时/计数器、中断、RAM及串口继续工作。
在掉电保护方式下,RAM内的内容可被保存,振荡器会被冻结,单片机工作停止,直到下一个中断或硬件复位为止。
最高运作频率为35MHz,6T/12T可选[6]。
STC89C52RC基本结构图如2.1所示。
图2.1STC89C52RC基本结构图
STC89C52的引脚排布如图2.2所示。
图2.2STC89C52引脚图
2.5单片机最小系统设计
作为智能小车的控制核心,单片机最小系统的合理设计是小车平稳运行的前提。
最小系统设计,就是要保证单片机的硬件设计最精简,即在单片机外部尽可能少的增加元件电路,组成一个可让单片机独立工作的系统。
在设计时应注意以下几点:
1.考虑调试过程中的扩展需要,正常情况下需要将所有的I/O口引出,同时为了避免其他大电流器件对单片机的运行造成影响,还要设计单独的供电系统。
2.合力集成相应的外围模块,如LED灯,蜂鸣器,因为传感器需要很好的灵敏度,不能够实时看出是否工作正常,所以LED灯能够较好地保证这一点。
3.最好将程序下载端口集成在最小系统上,虽然可将芯片在开发板上下载软件使用,但在系统的调整和测试过程中,需要不断地修改程序,把芯片换到另一块板子上,不仅麻烦,且易折断引脚。
单片机最小系统的电路图如图2.3所示:
图2.3单片机最小系统
单片机最小系统由以下几个部分组成:
1.晶振电路
单片机在工作时必须有一个外部的时钟源,这个时钟源由外部晶振产生,具体电路为图中的Y1、C2、C3,在最小化系统设计时晶振和电容要靠近18脚和19脚放置,放置过远会引起晶振不能起振,或工作不稳定。
典型值为C2、C330pF,Y112M。
2.复位电路
复位电路包括上电复位和手动复位两种方式,单片机多为高电平复位,即RST(9)脚上给持续两个机器周期以上的高电平,单片机就能复位,因此可以利用电容充电的一段时间将复位引脚拉至高电平,使得单片机完成复位动作。
电容在充电完成后将复位引脚拉至低电平,从而保证了单片机的正常工作。
3.RS232下载端口
考虑到智能车在实际运行时要多次修改程序参数,故要设计下载端口,能够方便的更新程序,51单片机中常用的下载端口为RS232下载端口。
2.6电源模块设计
2.6.1智能车电源设计要点
智能小车要稳定工作,必须要有一个电压正常且稳定的电源设计。
本设计的全部硬件电路的电源由7.2V、1.3A/h的可充电镍氢蓄电池提供。
由于电路中的不同电路模块所需要的工作电压和电流容量各不相同,因此电源模块应该包含多个稳定电路,将充电电池电压转换成各个模块所需要的电压,电路中选用了78M05芯片,将电机与其他的电路进行分开供电。
电源结构框图如图2.4所示:
图2.4电源系统结构框图
2.6.1三端中电流正固定电压稳压芯片78M05简介
78M05三端中电流正固定电压稳压器输出电压为5V,最大输出电流为500mA,输入偏置电流为3.2mA(典型值),最大输入电压为35V,具有过流过热关断保护功能,工作温度为-40℃~125℃,一般用在雷达和声纳方面,例如:
车载DVD,属于稳压IC,直流5V低电流供电。
能够很好地满足系统需求,并且价格适中,容易购买。
78M05封装和实物图如图2.5所示:
图2.578M05封装和实物图
78M05电路设计图如图2.6所示:
图2.678M05电路图
在此电路中,采用两路供电,一路单独为单片机、指示灯、光电测速传感器等供电,另一路为电机驱动L298n、光电管等供电,L298n的驱动电压不经任何处理直接由电池供电,根据本设计的需要,电池电压能很好地满足行进速度要求。
2.7测速模块设计
为了使智能小车能够沿着赛道平稳运行,需要控制电机转速,使小车在急转时不至于速度过快而冲出黑线。
通过控制驱动电机上的平均电压可以控制电机转速,但如果是开环控制,会受诸多因素影响,如电源电压、齿轮传动摩擦力、道路摩擦力和前轮转向角度等。
这些因素会造成小车行驶不稳定,通过速度检测,对车速进行闭环反馈控制,即可消除上述各因素的影响,使得小车运行更稳定[7]。
2.7.1测速模块方案论证
在理想状况下(车轮不打滑),车速与驱动电机转速成正比。
车速的检测通常通过电机转速的检测来实现。
电机转速的检测方法有以下几种常用方法:
1.测速发电机
采用同轴直接连接或齿轮传动等方式,测速发电机与电机相连,它的输出电压与电机转速成正比。
2.转角编码盘
分增量位置输出和绝对位置输出两种。
通常可用增量式编码盘,它输出的脉冲个数与电机转角成正比,从而使它的输出脉冲频率与电机转速成正比。
它可通过测量单位周期内脉冲的个数或脉冲周期获得脉冲频率。
3.反射式光电检测
在小车后轮齿轮的传动盘上装上黑白相间的光电码盘,通过固定在附近的反射式红外传感器读取光电码盘转动的脉冲数。
4.对射式光电检测
对射式光电检测可以大大提高测量精度,原理与反射式光电检测一样,它的优势在于机械结构比较稳定。
5.霍尔传感器检测
在电机长尾轴轴上粘贴1个或2个小型永磁体,在附近固定1个霍尔传感器,霍尔元件有3个引脚,其中2个是电源和接地,第3个是输出信号,只要通过1个上拉电阻接上5V电压,就可以形成开关脉冲信号,电机每转1周,就可形成1或2个脉冲信号[8]。
方法比较:
采用转角编码盘测速最精准,使用也方便,但成本高;采用霍尔传感器测速比较可靠,抗干扰能力强,但是安装起来比较麻烦;采用反射式光电传感器或对射式光电传感器比较简单,只需在电机的长尾轴上套上一个码盘,用MC-2单路测速模块检测。
既可满足小车的精度要求,且成本低,最后从机械结构的稳定性上考虑最后决定用第四种方法—对射式光电传感器检测车速。
2.7.2MC-2单路测速模块简介
MC-2单路测速模块是用一个小型的对射式红外发射接收对管和一个码盘来实现的。
码盘会随电机转动而转动,测速装置会随之产生一系列脉冲信号并将些高低电平经反相器离散后送至单片机的ECT接口,通过单片机来捕捉这些电平的上升和下降沿,计算一定时间内的脉冲个数即可得到电机转速[9]。
在电机长尾轴处上固定一个对射式红外传感器,在电机尾部长轴上套上了双叶码盘,使其处于对射式传感器沟槽之间,电机转动时,码盘随电机轴转动,通过固定在附近的对射式红外发射接收对管读取码盘转动的脉冲。
安装形式如图2.7所示。
图2.7MC-2单路测速模块安装形式
MC-2单路测速模块外形图:
图2.8单路测速模块外形图
MC-2单路测速模块原理图:
图2.9MC-2单路测速模块原理图
被测转速经过传感器变换后变为电压的变化值。
为了进行信号的分析、处理、显示和记录,须对信号作放大、运算、分析等处理,这就引入了中间变化电路。
根据系统需要设计了如图4所示的中间变换电路。
其中,R1、R4起限流作用,R2起分流作用,R3为输出电阻。
当叶片未挡住通光孔时,输出低电平;当通光孔被遮住时,输出高电平。
中间变化电路如图2.10所示。
图2.10中间变化电路
MC-2单路测速模块是专为测速而开发的。
配合长尾轴电机,其测速的采样率是非常高的。
电机转速在10000转左右,测速模块可以每秒测量到约166个脉冲,模块所配套的遮光片是一个长条形的,所以每转可测得2个脉冲,该模块可以在每秒测到166*2=332个脉冲,大大提高了系统的测试速率,从而为PI速度控制系统提供一个高速率的检测系统。
2.8显示模块设计
2.8.1LED数码显示器的结构与编码方式
显示单元是智能终端装置和计算机控制的重要组成部分,用来显示中间和最终的计算结果,本设计选用常见7段共阳极LED显示器,用于显示智能小车电机的转速。
LED显示器简单易用,其内部为一发光二极管,在发光二极管正极加上正向电压,负极通过限流电阻接地,则发光二级管发光。
本设计选用的7段LED数码管显示器内部结构图如图2.11所示,当阴极段加载低电平时,对应段的发光二极管就导通点亮,而加载高电平时则不导通点亮。
图2.117段数码显示器外形及结构图
采用7段LED显示器可以显示数字0~9和字母A~F,其显示字符与对应段的点亮是有规律的。
7段LED显示器包含7段发光二极管和小数位发光二极管,共8位,正好用一个字节来表示,通常将控制二极管点亮的8位二进制数称为段数码。
本设计选用的7段码表的部分显示代码如表2.1所示。
表2.17段LED数码管字型显示代码表
显示数字
共阳极
a
f
b
g
c
dp
d
e
十六进制显示代码
0
0
0
0
1
0
1
0
0
14H
1
1
1
0
1
0
1
1
1
d7H
2
0
1
0
0
1
1
0
0
4cH
3
0
1
0
0
0
1
0
1
45H
4
1
0
0
0
0
1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 智能 小车 速度 控制 设计 概述
![提示](https://static.bdocx.com/images/bang_tan.gif)