单片机控制自动避障小车设计摘要:本论文介绍的是具有自动避障功能的智能小车的设计与制作,论文对智能小车的设计的方案选择,设计的思路与过程,以及软件与硬件的功能和工作原理进行了详细的分析和论述。
硬件部分采用了MSP430F149芯片作为主控芯片,利用超声波传感器检测障碍的方位与距离,并用LCD1602显示出来,软件在Keil C51环境下编程。
经过软件原理设计与实践验收测试,该智能小车的电路结构简单,调试方便,系统反映快速、灵活,设计方案可行,正确,各项指标稳定、可靠。
关键词:单片机;智能小车;避障;超声波测距Automatic Obstacle Avoidance Car Design Based on SCM Abstract: This paper describes an automatic obstacle avoidance function is the design and production of the smart car, intelligent car design thesis program selection, design ideas and processes, as well as the functions and working principle of software and hardware for a detailed analysis and discussion . The hardware uses the MSP430F149 chip as the main chip, using the orientation and distance from the ultrasonic sensor to detect obstacles, and use LCD5110 displays, software programming in Keil C51 environment. After the software design principles and practice of acceptance testing, the circuit structure of the smart car is simple, easy to debug, system reflects rapid, flexible design is feasible and correct, the indicators stable and reliable. Keywords: SCM; intelligent car; obstacle avoidance; ultrasonic ranging目录1.引言 (1)1.1 小车避障系统设计的意义 (1)1.2智能小车技术发展 (1)1.3设计任务及要求 (2)2.方案设计 (3)2.1 小车避障系统 (3)2.2主控系统 (3)2.3机械系统 (4)2.4 电机驱动模块 (5)2.5 传感器系统 (5)2.6 电源电路的选型 (6)2.7显示模块 (7)3. 硬件电路设计 (8)3.1主控制部分 CPU介绍 (8)3.2 MSP430F149单片机引脚图 (10)3.3硬件资源分配 (10)3.4直流电机的驱动电路 (10)3.5 CPU相关电路 (11)3.6 避障传感器电路 (12)3.7显示电路设计 (14)4.软件设计 (16)4.1主程序流程图 (16)4.2左侧避障程序流程图 (16)4.3显示程序流程 (17)5.电路调试 (19)5.1 调试的思路 (19)5.2 各模块的调试 (19)5.3 结果分析 (20)6. 结论 (21)结束语 (22)参考文献 (23)附录1: (24)总原理图附录2: (40)致谢 ............................................... 错误!未定义书签。
1.引言1.1 小车避障系统设计的意义现代智能小车的发展非常迅速并且功能也越来越趋向于多样化,基本上可以实现循迹、避障、检测贴片,寻光入库、避崖等基本功能,有向声控系统发展的趋势。
比较出名的飞思卡尔智能小车更是走在前列,此次的设计主要实现避障这一个功能,首先通过传感设备要感知障碍物,并作出判断和相应的执行动作。
智能小车设计与开发涉及控制、模式识别、传感技术、汽车电子、电气、计算机、机械等多个学科。
它可以分为三大部分:传感器检测部分,执行部分,CPU。
开展自主避障智能小车的研究工作,对进一步巩固已学知识加深已学知识可以起到促进作用,引导和激励学生实事求是、刻苦钻研、勇于创新、多出成果、提高素质,发现和培养一批在学术科技上有作为、有潜力的优秀人才的作用。
以前从来没接触过智能小车方面的知识,这对于我来说是一个巨大挑战,整个研究的过程,都是摸着石头过河的。
由于知识和经验的缺乏,经常会遭到失败,有时一个小小的因素,就会影响到设计,所以步伐前进得很慢。
研究的进程大概可能分为:资料收集及整理阶段、硬件制作阶段和调试阶段。
公欲善其事,必先利其器,在做每件事之前都要先经过思考,在制作之前会先从网上、书上及请教老师来收集资料,把资料经整理理解透了之后,做出设计。
接着就是制作硬件,工具和电子元件都需要购买,途径可以是网购或是商店,由于设计不可能是完美的,不能做到一次就把需要的元件都列出来,一次性购买,所以分了好几次去商店买元件;因为方案没有最终确定,若是直接焊接电路板,设计如果不成功,整个电路板就没用了,这样就增加了制作的成本,所以需要用面包板制作硬件,在调试阶段完成最终确立设计之后,才做出电路板。
调试阶段就是要测试设计是否成功、合理,当然经常会失败,但要在每次的失败中吸取经验、改正错误,取得最后的成功。
整个过程是漫长的,但在无数的挫败之后终于成功制作出了智能避障小车系统。
1.2智能小车技术发展电子技术及计算机智能控制技术的快速发展导致智能小车也高速的发展,各种玩具电子产品的小型化和智能化越来越成受到人们的关注。
智能小车更是其中的主流。
在现代化的生活中,智能小车玩具非常广泛的受到人们的喜爱。
伴随着电子技术的发展,以及现代控制理论的应用,智能小车控制技术也得到了很大的发展。
直流电动机的调速性能较好,且起动转距较大,能在很宽的范围内平滑调速,调速比大,起制动性能好,定位精度高。
因此常用于调速控制系统,称之为直流传动系统。
因而在智能小车中应用的比较多的就是直流电机控制的智能小车。
在直流电机的调速控制[1]系统中,速度调节主要通过改变电枢电压大小来实现,经常采用晶闸管相控整流调速或大功率晶体管脉宽调制调速两种方法,后者就是PWM。
PWM常见于中小功率系统,其工作原理是:通过改变接通脉冲的宽度,改变直流电机电枢上电压的占空比,即方波高低电平的时间比,从而改变电枢电压的平均值,控制电机的转速。
智能小车作为现代社会的产物可以应用于多个方面,例如玩具,科学勘探,智能环境检测等。
无需人为控制便可以达到目标而且更容易的适应各种苛刻环境,可以及智能和多功能于一体达到各种科学研究,危险探索,也可以应用于交通运输多个方面,因此受到多方面关注。
1.3设计任务及要求以单片机作为主控芯片,通过超声波测距来获取小车距离障碍物的距离,并且用LED显示出来。
控制系统要求:1. 小车前方没有障碍物时,左右轮速度同时不断增加,小车全速前进;有障碍物且距离小于30cm时,小车减速并控制小车右转弯避开障碍物;2. 当小车右前方有障碍物,且距离小于30cm时,小车减速并控制小车左转弯并避开障碍物;3. 当小车左前方有障碍物,且距离小于30cm时,控小车减速并制小车右转弯并避开障碍物。
在避开障碍物后,小车沿直线前进。
小车方向控制:左轮减速实现左转弯,右轮减速实现右转弯。
2.方案设计2.1 小车避障系统控制系统可以分为三大组成部分:传感器检测部分、执行部分、CPU。
智能小车要实现自动避障功能,感知障碍物并自动躲避。
基于上述要求,传感检测部分考虑到小车只需要粗略感知障碍物大概位置因而使用超声波测距,用直流电机来让智能小车执行动作,控制小车的前进的速度与方向。
用单片机驱动直流电机一般有两种方案:第一种方案,不需要占用单片机内部资源,直接选择有PWM 功能的单片机,如此可以实现电机的精准调速;第二种方案,用软件模拟PWM 输出方式,需要占用单片机内部资源,不容易实现精准速度调节,但是所选择的单片机型号比较多。
考虑到实际情况的需要,本实验选择了第二种方案。
CPU使用单片机MSP430F149,配合软件编程实现。
还有显示部分通过软件可以显示障碍物距离与两个电机转速。
2.2主控系统方案一:仅采用CPLD作为核心部件的方案如图1所示:选用一片CPLD(如EPM7128LC84-15)作为系统的核心部件,实现控制与处理的功能。
CPLD具有速度快、编程容易、资源丰富、开发周期短等优点,可利用VHDL语言进行编写开发。
但CPLD在控制上较单片机有较大的劣势。
同时,CPLD的处理速度非常快,而小车的行进速度不可能太高,那么对系统处理信息的要求也就不会太高,在这一点上,MCU就已经可以胜任了。
若采用该方案,必将在控制上遇到许许多多不必要增加的难题。
为此,不采用该种方案,进而提出了第二种设想。
图1 CPLD主控系统方案二:采用单片机作为系统核心部件的方案如图2所示:使用单片机作为整个系统的核心,用单片机去控制运动中的小车的方向与速度,来达到系统即定的性能指标。
充分分析系统,系统的关键在于如何让小车实现自动控制,而在这上面,单片机具有它独特的优势——控制简单方便、敏捷迅速。
这样,单片机就能够充分发挥其资源丰富、有强大的控制功能与操作功能、价格低廉、使用方便简单等优点。
因而,这种方案是一种比较理想的实现方案。
本设计要求多个开关量输入的复杂程序控制系统,需要非常容易处理多个开关量的单片机,运行处理速度要敏捷迅速,而不可以是用简单的I/O口和程序存储器比较小的单片机,D/A、A/D功能也不必选用。
根据这些分析,选定了MSP430F149单片机作为本设计的主控装置,MSP430F149单片机具有功能强大的运算处理能力,I/O口都可以按位寻址操作,程序存储空间也比较大,对于该实验设计也足够使用。
在综合考虑了超声波测距、两部电机的驱动、显示等诸多因素后,决定采用一片单片机,充分利用MSP430F149单片机的资源。
2.3机械系统本题目要求小车的机械系统稳定、简单,而四轮运动系统具备以上特点。
驱动部分:由于玩具汽车的直流电机功率较小,而小车上装有电池、电机、电子器件等,使得电机负担较重。
为使小车能够顺利启动,且运动平稳,在直流电机和轮车轴之间加装了三级减速齿轮。