[工学]基于单片机的智能小车速度控制设计.doc

上传人:音乐台 文档编号:1977153 上传时间:2019-01-27 格式:DOC 页数:39 大小:2.31MB
返回 下载 相关 举报
[工学]基于单片机的智能小车速度控制设计.doc_第1页
第1页 / 共39页
[工学]基于单片机的智能小车速度控制设计.doc_第2页
第2页 / 共39页
[工学]基于单片机的智能小车速度控制设计.doc_第3页
第3页 / 共39页
亲,该文档总共39页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《[工学]基于单片机的智能小车速度控制设计.doc》由会员分享,可在线阅读,更多相关《[工学]基于单片机的智能小车速度控制设计.doc(39页珍藏版)》请在三一文库上搜索。

1、题目:基于单片机的智能小车速度控制设计专业:机械电子工程学生: (签名) 指导教师: (签名) 摘 要智能小车可应用于无人驾驶车辆,生产线,仓库,服务机器人及航空航天等领域,它是一种可行走的智能机器人。智能小车可在恶劣环境中进行人们无法完成的探测任务。因此,为了使智能小车在最佳状态工作,进一步研究及完善其速度的控制是非常有必要的。本文详细介绍了智能小车速度控制系统的硬件设计。系统主控制核心采用了STC89C528位单片机,该系统是在Keil uVision软件平台基础上设计完成的,采用了C语言编程。系统硬件包括电源模块,测速模块、显示模块及电机驱动模块的设计。在电机驱动模块中,为了提高智能小车

2、调速的准确度和敏捷度,本设计采用PWM技术和PI算法。在测速模块中,为了提高小车测速的精确度,本设计选用了光电测速传感器进行测速。最后,通过对小车进行实车调试运行,验证了本设计的智能小车及其控制算法具有运行性能良好,可靠性高的特点,实现了自动调速功能,为后续的研究工作提供了一定的基础。关键词:智能小车;STC89C52;测速;PWM调速;PI算法Subject: Microcontroller-based intelligent vehicle velocity control designAbstractIntelligent vehicle is an intelligent walkin

3、g robotIt can be applied to unmanned vehicles,unmanned production lines,warehouses,service robots,aerospace and other fieldsIntelligent vehicle can complete the exploration missions in the environment which people could not enter or survive inTherefore,in order to let the intelligent vehicle in the

4、best condition the further research and improve its velocity control is very necessaryThe hardware velocity control system design is introduced in detailSTC89C52 which program with C and compilation language works on the core processor of the control circuitThe system is designed based on the Keil u

5、Vsion software platformThe hardware design of control system include power module,velocity measurement module,display moduleand driving moduleIn driving module, PI algorithm and a way of PWM used to improve the accuracy and agility of the vehicles velocity control. In velocity measurement module,pho

6、toelectric speed sensor is chosen to increase the accuracy of the velocity measurementFinally, from the work which has been done in this project,the conclusion can be draw that the intelligent vehicle and its control algorithm not only has the virtues of high-performance,high-reliability, but also h

7、as the auto tracingThis paper presented an experimental base for the further researchKey Words: Intelligent vehicle;STC89C52;velocimetry;PWM velocity control;PI algorithm目 录1 绪论11.1 本设计研究的背景和意义11.2 本设计的研究内容12 智能小车速度控制系统的硬件设计32.1 智能小车的速度控制系统的选择32.2 速度控制算法32.3 直流调速系统42.4 单片机控制方案论证52.5 单片机最小系统设计72.6电源模

8、块设计82.6.1 智能车电源设计要点92.6.1 三端中电流正固定电压稳压芯片78M05简介92.7 测速模块设计102.7.1 测速模块方案论证102.7.2 MC-2单路测速模块简介112.8显示模块设计132.8.1 LED数码显示器的结构与编码方式132.8.2 LED数码显示器的显示电路152.9 电机驱动模块设计162.9.1 电机工作原理162.9.2 L298n介绍172.9.3 电机转速的控制182.10 本章小结193 智能小车速度控制系统的软件设计203.1速度控制系统的软件设计概论203.2 速度控制系统软件模块分析203.3 电机驱动程序设计213.4 测速及显示程

9、序设计213.5 PI调速程序设计223.6 本章小结244 实验分析255 结 论26致 谢27参考文献28附 录29IV1 绪论1.1 本设计研究的背景和意义20世纪50年代初美国Barrett Electronics公司开发出了世界上第一台自动引导车辆系统(Automated Guided Vehicle System,AGVS),从此开始了智能车辆的研究。1974年,瑞典的Volvo Kalmar轿车装配工厂与Schiinder-Digitron公司合作,研发出了一种可装载轿车车体的AGVS,并用多台该种AGVS获得了显著的经济效益,于是许多西欧国家纷纷效仿Volvo公司,并逐渐使AG

10、VS在装配作业中成为一种流行的运输方式1。智能小车是一个集环境感知、规划决策、自动行驶等功能于一体的机电综合系统,它集中运用了传感、信息、通信、计算机、导航、人工智能及自动控制等技术,是典型的高新技术综合体。智能小车的研究对于汽车自动驾驶、救灾、外太空探测等都有重大意义。本设计通过构建智能小车系统,培养设计实现智能小车速度控制系统的能力,主要体现智能小车能够实时测量、显示行驶速度,并进行调速。技术上采用对射式光电传感器设计速度检测模块,同时,采用PWM技术和PI算法控制电机转速。在此过程中加深对单片机知识和控制理论的理解和认识。如今,汽车方面的研究越来越受到人们的关注。全国电子大赛及省内电子大

11、赛几乎每次都有智能小车方面的题目,全国各高校也都非常重视该题目的研究,可见其研究意义之大。1.2 本设计的研究内容本设计是设计基于STC89C52单片机由直流电机驱动的智能小车,包括直流电机驱动硬件电路,最小单片机应用系统等,分析速度控制原理,编写控制程序。本设计选择通用、价廉的STC89C52单片机为控制平台,选择常见的电机模型车为机械平台,通过细化设计要求,结合传感器技术和电机控制技术相关知识实现小车行驶速度的测量、显示及调速,达到智能控制,完成设计目标。本设计以2个直流电机为主驱动,通过测速传感器来采集速度信息,送入主控单元STC89C52单片机处理数据后完成相应动作,以达到自身控制。电

12、机驱动采用L298n,可以驱动2个直流电机或一个步进电机,测速由对射式光电测速传感器完成。 根据设计的作品要达到的效果,本系统以STC89C52为核心控制器,主要由电源模块、电机驱动模块、测速模块、LED显示模块构成。系统的结构框图如图1.1所示。图1.1 系统结构框图2 智能小车速度控制系统的硬件设计2.1 智能小车的速度控制系统的选择本设计选用7.2V电池组作为智能电动小车的电源,以STC89C52单片机为控制核心,实现小车的测速、显示及调速,达到智能控制。为提高系统的静态性能,智能小车采用PWM 脉宽调制技术,速度控制算法采用PI算法。速度控制系统是智能汽车的速度控制的核心环节。在确保智

13、能小车稳定运行的前提下,电路应尽量简洁,通过减少系统负载提高车体的灵活性。同时要以车体简洁功能良好为目的、以运行可靠为前提,实现智能小车的平稳运行。速度控制系统作为一个自动控制系统,能够自动检测智能小车的行驶速度,并发出相应的指令,控制智能车的行驶速度,整个系统包括传感器检测、信息处理、控制算法和执行机构四个部分组成。硬件设计部分传感器、单片机、LED显示器、执行机构以及驱动电路,软件设计部分为信息分析处理与控制算法。2.2 速度控制算法由于小车在行驶过程中会产生较大的惯性和时延,从控制信号输出到电机响应有一段时间的延迟,同时小车运行本身的惯性也使得它难以按照预先设定好的理想状况运行,这种影响

14、在小车弯道行驶时显得尤为明显。在弯道行驶时,若速度过,小车快会冲出赛道,导致无法再次循迹,影响运行效果;速度过慢则小车停在弯道处;而在直线上时,又需要较快的速度来快速完成行驶过程,并将速度稳定在安全的行驶速度范围之内,避免速度过快而影响小车的性能。因此,智能小车的速度控制在行驶过程中非常重要,为了使智能小车能实现直线快速行驶、弯道减速慢行,需要对智能小车的电机进行处理2。在速度控制中,如何获取小车当前车速,以及如何对小车的速度进行控制是两个关键问题,小车的速度可由测速传感器获得。本系统是个闭环控制系统,为了获得稳定、快速、准确的速度控制系统,本设计采用PI速度控制算法。PID调节的作用:1.比

15、例控制:反应系统的基本(当前)偏差,系数大,可以加快调节,减小误差,但过大的比例使系统稳定性下降,甚至造成系统不稳定。2.积分控制:反应系统的累计偏差 ,消除系统稳态误差,提高无差度,只要有误差,积分调节就进行,直至无误差。3.微分控制:反映系统偏差信号的变化率,具有预见性,能预见偏差变化趋势,产生超前控制作用,在偏差还没有形成之前,就已被微分调节作用消除,因此可改善系统的动态性能,其不足之处是放大了噪声信号3。由于在本设计中,仅使用PI调节便足以达到理想的精度和超调量,所以无须再加上微分项。PI参数的整定:本设计采用较常用的工程整定法中的临界比例法对PI参数进行调整。用此法进行PI参数整定的

16、步骤如下:(1)先预选一个足够短的采样周期让系统工作;(2)仅加入比例控制环节,直至系统对输入的阶跃响应做出临界振荡,并记下此刻的临界振荡周期和比例放大系数;(3)在一定的控制度下通过公式计算得到PI参数。一个小电机闭环控制,一般P在(1,10)之间,I在(0,5)之间,D在(0.1,1)之间,具体参数要在现场调试时进行修正。2.3 直流调速系统目前常见的调速方案有三种:1. 串电阻调速系统;2. 静止可控整流器,即V-M系统;3. 脉宽调速系统 。旋转变流系统通过交流发电机拖动直流电机来实现,发电机将电供给直流电机,通过调节励磁电流改变输出电压,从而达到调速的目的。电机输出电压的极性与电机的

17、转向都可以通过改变励磁电流的方向来改变,所以G-M系统很容易实现可逆运行。但该系统需要旋转变流机组、旋转电机、励磁发电机等,所需设备多、体积大、效率低等诸多缺点,且技术落后,因此不采用该方案。V-M系统是目前最主要的直流调速系统,有单相、三相等,有半波、全波、全控等类型。优点是调速平滑,不足之处是晶闸管只能单向导电,无法实现电流反向,可逆运行困难,另一个缺点是运行条件高,维护麻烦。在低速运行状态下,功率因数很低,易危及附近的用电设备。采用晶闸管的直流斩波器基本原理与整流电路的区别在于晶闸管不受相位控制,而是在于它工作在开关状态。当晶闸管被触发导通时,电源电压加在电机上,晶闸管在截止状态下,直流

18、电源与电机断开,电机经二极管续流,两端电压接近于零。脉冲宽度调制(Pulse Width Modulation),简称PWM。通过改变晶闸管的导通时间长短,来改变脉冲宽度达到直流电机调速的目的4。与V-M系统相比,PWM调速优点诸多: 1.电力电子元件只有开关状态,电路损耗小,效率高; 2.开关频率较高,当与快速响应的电机一同配合工作时,可以获得很宽的频带,响应速度快,且抗干扰能力强; 3.PWM开关变化频率快,通过滤波作用就能获得很小的直流电流,系统低速运行时较平稳,调速范围较宽,在等电流下,损耗及发热较小。根据以上比较,本设计采用了PWM进行调速。脉宽调速控制也可通过单片机控制继电器的开闭

19、来实现,但是驱动能力不高。本设计采用了可逆PWM变换器,可以顺利实现电机的正转与反转。可逆PWM变换器主电路的结构式有H型、T型等类型。在本设计中采用了常用的双极式H型变换器,它是由4个三极电力晶体管和4个续流二极管组成的桥式电路。2.4 单片机控制方案论证单片机系统的硬件设计一般分两部分,一是系统扩展,二是系统配置。系统扩展,就是单片机内部的功能如I/O口RAM、ROM中断系统等不能够满足设计要求时,在单片机片外选择合适的芯片,设计相应的电路来满足设计要求。系统配置指的是按照功能设计配置外围设备,如键盘、鼠标及LED显示等,设计出合适的接口电路。在常用的单片机中,一般有以下三种方案: 方案一

20、:AVR单片机Atmega128L。Atmega128L单片机具有低功耗、高性能的优点,并拥有8位微处理器,64个引脚。总共包含了133条指令,大部分都可以在一个周期内完成。片内自带有模拟比较器,可以上电复位以及可编程的掉电检测功能。片内资源丰富,具有8个外部中断,53个I/O端口,4个定时计数器,能够很好地解决端口资源不足的困难。大多数引脚具备第二功能,功能强大。方案二:现场可编辑门列阵(FPGA)方案。现场可编辑门列阵可实现各种复杂的逻辑运算。具有体积小、集成度高、稳定性好等优点,并且可利用软件进行仿真调试。该芯片是并行工作方式,系统处理速度高,被广泛应用于大规模的系统。方案三:STC89

21、C52单片机方案。STC89C52是低功耗、高性能的8位微控制器,内含8K可编程控制器,与80C51指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,也适用于常规编程器。AT89S52有5个中断源,和3个定时计数器。方案比较:综合比较以上方案,FPGA价格较贵,且用不到高速处理功能,造成资源浪费,而Atmega128L编程麻烦,所以本设计选择STC89C52单片机方案5。STC89C52是ST公司生产的一种低功耗、高性能CMOS 8位微控制器,具有 8K 在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能

22、。在单片机芯片上,拥有灵巧的8位CPU 和在系统可编程Flash,为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。有以下标准功能: 32 位的I/O 口线,512 Byte的RAM,8K Byte的Flash,具有看门狗定时器,内置了4KB的E2PROM,3个16位的定时/计数器,4个外部中断,一个7向量4级中断结构,MAX810复位电路,带全双工串行口。另外STC89C52可降到0Hz静态逻辑来操作,可选择节电模式,支持汇编语言及C语言进行编程。空闲模式下,CPU停止运行,允许定时/计数器、中断、RAM及串口继续工作。在掉电保护方式下,RAM内的内容可被保存,振荡器会被冻结,单片机工作

23、停止,直到下一个中断或硬件复位为止。最高运作频率为35MHz,6T/12T可选6。STC89C52RC基本结构图如2.1所示。图2.1 STC89C52RC基本结构图STC89C52的引脚排布如图2.2所示。图2.2 STC89C52引脚图2.5 单片机最小系统设计作为智能小车的控制核心,单片机最小系统的合理设计是小车平稳运行的前提。最小系统设计,就是要保证单片机的硬件设计最精简,即在单片机外部尽可能少的增加元件电路,组成一个可让单片机独立工作的系统。在设计时应注意以下几点: 1. 考虑调试过程中的扩展需要,正常情况下需要将所有的I/O口引出,同时为了避免其他大电流器件对单片机的运行造成影响,

24、还要设计单独的供电系统。2. 合力集成相应的外围模块,如LED灯,蜂鸣器,因为传感器需要很好的灵敏度,不能够实时看出是否工作正常,所以LED灯能够较好地保证这一点。3. 最好将程序下载端口集成在最小系统上,虽然可将芯片在开发板上下载软件使用,但在系统的调整和测试过程中,需要不断地修改程序,把芯片换到另一块板子上,不仅麻烦,且易折断引脚。 单片机最小系统的电路图如图2.3所示:图2.3 单片机最小系统单片机最小系统由以下几个部分组成: 1.晶振电路单片机在工作时必须有一个外部的时钟源,这个时钟源由外部晶振产生,具体电路为图中的Y1、C2、C3,在最小化系统设计时晶振和电容要靠近18 脚和19 脚

25、放置,放置过远会引起晶振不能起振,或工作不稳定。典型值为C2、C330pF,Y112M。2.复位电路 复位电路包括上电复位和手动复位两种方式,单片机多为高电平复位,即RST(9)脚上给持续两个机器周期以上的高电平,单片机就能复位,因此可以利用电容充电的一段时间将复位引脚拉至高电平,使得单片机完成复位动作。电容在充电完成后将复位引脚拉至低电平,从而保证了单片机的正常工作。3.RS232下载端口考虑到智能车在实际运行时要多次修改程序参数,故要设计下载端口,能够方便的更新程序,51单片机中常用的下载端口为RS232下载端口。2.6电源模块设计2.6.1 智能车电源设计要点智能小车要稳定工作,必须要有

26、一个电压正常且稳定的电源设计。本设计的全部硬件电路的电源由7.2V、1.3A/h的可充电镍氢蓄电池提供。由于电路中的不同电路模块所需要的工作电压和电流容量各不相同,因此电源模块应该包含多个稳定电路,将充电电池电压转换成各个模块所需要的电压,电路中选用了78M05芯片,将电机与其他的电路进行分开供电。电源结构框图如图2.4所示:图2.4电源系统结构框图2.6.1 三端中电流正固定电压稳压芯片78M05简介78M05三端中电流正固定电压稳压器输出电压为5V,最大输出电流为500mA,输入偏置电流为3.2 mA(典型值),最大输入电压为35V,具有过流过热关断保护功能,工作温度为-40125,一般用

27、在雷达和声纳方面,例如:车载DVD,属于稳压IC,直流5V低电流供电。能够很好地满足系统需求,并且价格适中,容易购买。78M05封装和实物图如图2.5所示: 图2.5 78M05封装和实物图78M05电路设计图如图2.6所示:图2.6 78M05电路图在此电路中,采用两路供电,一路单独为单片机、指示灯、光电测速传感器等供电,另一路为电机驱动L298n、光电管等供电,L298n的驱动电压不经任何处理直接由电池供电,根据本设计的需要,电池电压能很好地满足行进速度要求。2.7 测速模块设计为了使智能小车能够沿着赛道平稳运行,需要控制电机转速,使小车在急转时不至于速度过快而冲出黑线。通过控制驱动电机上

28、的平均电压可以控制电机转速,但如果是开环控制,会受诸多因素影响,如电源电压、齿轮传动摩擦力、道路摩擦力和前轮转向角度等。这些因素会造成小车行驶不稳定,通过速度检测,对车速进行闭环反馈控制,即可消除上述各因素的影响,使得小车运行更稳定7。2.7.1 测速模块方案论证在理想状况下(车轮不打滑),车速与驱动电机转速成正比。车速的检测通常通过电机转速的检测来实现。电机转速的检测方法有以下几种常用方法:1.测速发电机采用同轴直接连接或齿轮传动等方式,测速发电机与电机相连,它的输出电压与电机转速成正比。2.转角编码盘分增量位置输出和绝对位置输出两种。通常可用增量式编码盘,它输出的脉冲个数与电机转角成正比,

29、从而使它的输出脉冲频率与电机转速成正比。它可通过测量单位周期内脉冲的个数或脉冲周期获得脉冲频率。3.反射式光电检测在小车后轮齿轮的传动盘上装上黑白相间的光电码盘,通过固定在附近的反射式红外传感器读取光电码盘转动的脉冲数。4.对射式光电检测对射式光电检测可以大大提高测量精度,原理与反射式光电检测一样,它的优势在于机械结构比较稳定。5.霍尔传感器检测在电机长尾轴轴上粘贴1个或2个小型永磁体,在附近固定1个霍尔传感器,霍尔元件有3个引脚,其中2个是电源和接地,第3个是输出信号,只要通过1个上拉电阻接上5V电压,就可以形成开关脉冲信号,电机每转1周,就可形成1或2个脉冲信号8。方法比较:采用转角编码盘

30、测速最精准,使用也方便,但成本高;采用霍尔传感器测速比较可靠,抗干扰能力强,但是安装起来比较麻烦;采用反射式光电传感器或对射式光电传感器比较简单,只需在电机的长尾轴上套上一个码盘,用MC-2单路测速模块检测。既可满足小车的精度要求,且成本低,最后从机械结构的稳定性上考虑最后决定用第四种方法对射式光电传感器检测车速。2.7.2 MC-2单路测速模块简介MC-2单路测速模块是用一个小型的对射式红外发射接收对管和一个码盘来实现的。码盘会随电机转动而转动,测速装置会随之产生一系列脉冲信号并将些高低电平经反相器离散后送至单片机的ECT接口,通过单片机来捕捉这些电平的上升和下降沿,计算一定时间内的脉冲个数

31、即可得到电机转速9。在电机长尾轴处上固定一个对射式红外传感器,在电机尾部长轴上套上了双叶码盘,使其处于对射式传感器沟槽之间,电机转动时,码盘随电机轴转动,通过固定在附近的对射式红外发射接收对管读取码盘转动的脉冲。安装形式如图2.7所示。 图2.7 MC-2单路测速模块安装形式MC-2单路测速模块外形图: 图2.8 单路测速模块外形图MC-2单路测速模块原理图:图2.9 MC-2单路测速模块原理图被测转速经过传感器变换后变为电压的变化值。为了进行信号的分析、处理、显示和记录,须对信号作放大、运算、分析等处理,这就引入了中间变化电路。根据系统需要设计了如图4所示的中间变换电路。其中,R1、R4起限

32、流作用,R2起分流作用,R3为输出电阻。当叶片未挡住通光孔时,输出低电平;当通光孔被遮住时,输出高电平。中间变化电路如图2.10所示。图2.10 中间变化电路MC-2单路测速模块是专为测速而开发的。配合长尾轴电机,其测速的采样率是非常高的。电机转速在10000转左右,测速模块可以每秒测量到约166个脉冲,模块所配套的遮光片是一个长条形的,所以每转可测得2个脉冲,该模块可以在每秒测到166*2=332个脉冲,大大提高了系统的测试速率,从而为PI速度控制系统提供一个高速率的检测系统。2.8显示模块设计2.8.1 LED数码显示器的结构与编码方式显示单元是智能终端装置和计算机控制的重要组成部分,用来

33、显示中间和最终的计算结果,本设计选用常见7段共阳极LED显示器,用于显示智能小车电机的转速。LED显示器简单易用,其内部为一发光二极管,在发光二极管正极加上正向电压,负极通过限流电阻接地,则发光二级管发光。本设计选用的7段LED数码管显示器内部结构图如图2.11所示,当阴极段加载低电平时,对应段的发光二极管就导通点亮,而加载高电平时则不导通点亮。 图2.11 7段数码显示器外形及结构图采用7段LED显示器可以显示数字09和字母AF,其显示字符与对应段的点亮是有规律的。7段LED显示器包含7段发光二极管和小数位发光二极管,共8位,正好用一个字节来表示,通常将控制二极管点亮的8位二进制数称为段数码

34、。本设计选用的7段码表的部分显示代码如表2.1所示。表2.1 7段LED数码管字型显示代码表显示数字共阳极afbgcdpde十六进制显示代码00001010014H111010111d7H2010011004cH30100010145H41000011187H50010010125H60010010024H70101011157H80000010004H90000010105HE001011002cH本设计选用的7段LED显示器是通过软件实现译码过程的。设计中由系统程序完成BCD 7段码的转换,直接送出即为显示码,不需要外接7段译码器。以下是软件完成译码的步骤。1.从待显示数字中分离出显示的每

35、一位数字:方法是将显示数据除以10进制的权,比如要显示123,则先将123除以100,得到商是1,然后除以10得到商是2,最后是个位上的数3,这样就完成了对显示数的分离。2.将分离出的显示数字转换为显示字段码:一般采用查表的方法进行,将表2.1按顺序存放在ROM表中,通过编写查表指令即可完成查表工作。2.8.2 LED数码显示器的显示电路本设计的LED显示器采用动态刷新,LED显示器的动态显示原理是将各显示位段选线的同名端并联到一起,并由1个8位的I/O口控制,对多段选线多位复用,而各显示位的共阳极端则分别由相应的I/O口线控制,实现各位的分时通选。由于人眼的视觉暂留效应,当每位的显示间隔够短

36、时,会造成多位同时点亮的假象。所以需要单片机不断进行显示刷新,牺牲CPU的时间换取元件的减少及显示功耗的降低10。本设计选用的LED显示器的电路结构图如图2.12所示:图2.12 LED动态显示电路结构图2.9 电机驱动模块设计电机驱动模块的设计主要是为了弥补单片机自身驱动能力不足的缺陷,此电路中电机驱动模块主要是达到驱动后面两个直流减速电机的目的,实现电机的速度及正反转的控制。作为系统的动作执行结构,电机的驱动和控制,直接影响着系统运行的稳定性。2.9.1 电机工作原理单片机的驱动能力不足,无法驱动像电机这样的大功率外部器件,因此必须外加驱动电路。电机常用的驱动芯片很多,本设计选用驱动效率高

37、,硬件设计简单的L298n作为直流电机的驱动芯片,L298n采用了H桥电路,H 桥驱动电路是较为常见的一种电路, L298n驱动直流电机的控制电路如图2.13所示。它的形状酷似字母H,因而得名“H桥驱动电路”。如图2.13所示,H 桥电机驱动电路包括1个电机和4个三极管。必须导通对角线上的一对三极管才可使电机运转。根据三极管对的不同导通状况,电流可能会至左向右或至右向左流过电机,控制电机转向。H桥电路可以很方便地实现电机正反转,因此被广泛应用。其中4个与门与一个“使能”导通信号相连接,从而用一个信号就能控制整个电路的开关。2个非门通过提供一种方向输人,可以保证确保任何时候在H桥的同侧腿上都只有

38、一个三极管导通。图2.13 H桥驱动电路原理图如图2.14所示,只要对角线上的一对三极管导通,电机便会运转。当三极管Q1和Q4导通时,电流会从电源正极经Q1至左向右流过电机,再经Q4流回电源负极。如图中电流箭头所示,该流向的电流会驱动电机顺转。图2.15所示为另一对三极管Q2和Q3导通时的情况,电流至右向左流经电机,驱动电机反转11。 图2.14 H桥驱动电机正转图 图2.15 H桥驱动电机反转2.9.2 L298n介绍L298n是ST公司生产的一种大电流、高电压的电机驱动芯片。该芯片采用15脚封装。其主要特点:输出电流大;工作电压高;内含两个H桥高电压大电流全桥式驱动器,可驱动直流电动机或步

39、进电动机;采用TTL标准逻辑电平信号控制;有两个使能端,在不受输入信号影响的情况下允许或禁止电机工作;有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可外接检测电阻,将变化量反馈给控制电路12。L298n的参考电路图如图2.16所示。图2.16 L298n电路图对于以上电路图有以下几点说明:1.电路图中有两个电源,一路为L298n工作需要的5V 电源VCC,一路为驱动电机用的电池电源VSS。2.1脚和15脚有的电路在中间串接大功率电阻,可以不加。3. 图中连接了两路电机,P2和P5是一一对应关系,如果只驱动一路电机可以连接对应的12或者34脚。4.八个续流二极管是为了消除电机转动时的尖

40、峰电压保护电机而设计,简化电路时可以不加。5.脚1和11脚为两路电机通道的使能开关,高电平使能,所以可以直接接高电平,也可以交由单片机控制。6.由于工作时L298n的功耗较大,可以适当加装散热片。L298n封装图如图2.17所示:图2.17 L298n引脚图2.9.3 电机转速的控制PWM(晶体管脉宽调制)控制,一般是配合H桥驱动电路来实现直流电机的调速功能,这种调速方法简单、调速范围广,它是利用了直流斩波原理。 直流电机的转速与附加在电机上的端电压成正比,电压低,转速慢;电压高,转速快。而电机两端的端电压又与单片机输出的控制波形的占空比成正比,所以,直流电机的转速与占空比成正比例。占空比越小

41、,电机转速越慢,当占空比达到最大值1时,电机转速达到最大。PWM控制波形是通过模拟电路或者是数字电路产生实现的,但是这种电路的占空比不能自动调节,小车自身无法调节车速。目前普遍使用的大部分单片机都能够直接输出PWM波形,所以本设计就采用单片机给L298n驱动芯片输出PWM信号。在小车实际行驶过程中,考虑到直行、转弯等情况的发生,占空比不需要设置太高,但为了尽量减少规定路程所用的行驶时间,在直行时要快速行驶,转弯时减速行驶,这些情况分别需要不同的占空比,这些需要根据具体情况慢慢调节。为了快速调节电机转速,并且使电机转速稳定在设定的速度值附近,本设计采用了PI算法,具体分析将在程序设计章节中阐述。

42、2.10 本章小结在本章中,探讨了智能小车速度控制系统的硬件模块设计及直流调速系统的选择,选定STC89C52单片机作为控制核心,确定了各模块的功能,以脉宽调速系统作为直流电机的调速方案,并以PI算法作为智能小车的速度控制算法。设计了单片机控制系统、电机驱动模块、显示模块、光电测速模块、电源模块等。3 智能小车速度控制系统的软件设计3.1速度控制系统的软件设计概论完成硬件电路的设计后,开始系统软件的设计。先来分析一下该软件的系统要求,然后开始软件的总体设计,包括程序的总体设计和程序的模块化设计。将整体功划分成多个不同的模块,然后单独设计,编程,调试后将各模块装配联调,形成一个完整的软件。在单片

43、机控制系统中,大体可分为数据处理和过程控制两个基本类型。数据处理包括:数据的采集、数字滤波及标度变换等。过程控制程序主要是使单片机按一定的方法进行计算后再输出,以便控制生产。本系统软件由主程序定时子程序、中断子程序测速子程序调速子程序算法子程序构成。C语言和汇编语言相比具有以下几个显著的优点: 1.C语言是一种结构化的编程语言,可以减轻编程者的负担,让编程者把更多的精力放在功能的实现上; 2.代码的可读性好、容易理解、结构清晰、易于维护; 3.可移植性好,因为C语言不依赖于任何一种硬件系统。鉴于上述几点,本系统的软件部分全部采用C语言来编写,并且使用Keil uVsion产生高效、紧凑的代码,

44、执行效率丝毫不逊于使用汇编语言编写的程序。3.2 速度控制系统软件模块分析智能小车的速度控制系统通过光电测速传感器获得电机的实际转速。通过STC89C52来输出相应指令给H桥驱动芯片来控制左右两电机的加减速来实现电机的调速,使小车保持一个相对稳定的速度行驶,小车的速度通过PWM来进行控制,通过PI算法来实现小车的调速。软件处理流程图如图3.1所示。软件的设计中,程序的主流程是:先完成单片机各模块的初始化之后,通过无限循环语句不断的重复执行驱动电机输出程序、数据处理程序、测速程序、显示程序及控制算法程序。图3.1 软件处理流程图3.3 电机驱动程序设计PWM直流调速系统,它的原理时利用晶体管的开

45、关工作特性,调制恒压的直流源,按某个固定频率来接通与断开放大器,并根据外加控制信号来改变一个周期内通断时间的长短,使加在电机电枢上电压的“占空比”改变,从而改变电枢两端的平均电压大小,达到控制电动机转速的目的13。在本设计中,外加控制信号由单片机内的程序来控制发出,设定一个周期为20ms。3.4 测速及显示程序设计定时器/计数器T0用于定时,定时器/计数器T1用于计数,定时器T0每20ms中断一次,计数器T1计一次数,当计数器T1计满25次(即0.5秒)后计算一次转速,并将计数器T1清零开始重新计数,码盘上有2个齿,所以0.5秒内接收到的脉冲数乘以2除以码盘齿数即为电机的转速,单位为R/S。单

46、片机将算得的转速除以10进制的权,将各位上的数分离,然后通过查表的方法将分离出的显示数字转换为显示字段码,使LED显示器显示对应的转速。程序流程图如图3.2所示: 图3.2 测速及显示程序流程图3.5 PI调速程序设计PID控制在经典控制理论中技术成熟,该计数成熟可靠。相比于两位式控制,控制精度大大提高。如今,随着计算机特别是微机控制技术的发展,由于软件系统的灵活性,PID控制可以得到修正而且更加完善,用计算机算法代模拟式PID调节器,实现数字PID控制,使其控制作用更灵活、更易于改进和完善。模拟PID控制如图3.3所示:图3.3 模拟PID控制系统框图因为本设计中采用的是单片机,只能处理数字信号不能处理模拟信号,所以要把模拟PID控制转换成数字PID,这就需要把模拟PID的参数离散化,如表3.1所示:表3.1 模拟控制规律的离散化模拟形式离散化形式e(t)=r(t)-c(t)e(n)=r(n)-c(n)de(t)dTen-e(n-1)T0te(t)dti=0neiT=Ti=0ne(i)数字PID控制: 数字PID算法有两种常用的基本类型:位置型、增量型。增量式PID算法与位置式PID算法相比较:(1)增量型算法无需做累加,计算误差后产生的计算精度问题,对控制

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1