智能小车摘要本小车以MSP超低功耗单片机系列MSP430F5438为核心,完成寻迹、避障、测速、测距等功能。
在机械结构上,对普通的小车作了改进,即用一个万用轮来代替两个前轮,使小车的转向更加灵敏。
采用PWM 驱动芯片控制电机,红外传感器来寻迹,超声波传感器来避障、测距,霍尔传感器测速。
基于可靠的硬件设计和稳定的软件算法,实现题目要求。
而且附加实现显示起跑距离、行驶时间、行驶速度等扩展功能。
关键词:MSP430 寻迹避障测速测距AbstractThis design is controlled with the MCU(MSP430F5438) to complete the function of finding trace, detecting medal, avoiding barrier, tending to light and measure speed. By using infrared sensor to locate the trace, photo, electrical sense to measure the light、metal sensor to detect the metal and ultrasonic wave sensor to avoid the barrier. Based on the reliable hardware and software designing, this design is well fulfilled. In addition, such extended functions as measuring the distance and recording the running-time are completed well. On the level of machine structure, we use a perfect wheel to make the car turning more convenience.Key Words: MSP430 find trace detect medal avoid barrier and tend to light.一、系统设计1.1设计要求1、基本要求(1) 小车跑道如下图所示,要求小车在跑道上实现寻迹、避障、测距、测速等基本功能。
图1.1 小车跑道2、发挥部分(1) 小车在跑道上行驶的过程中,存储并显示小车行驶的速度。
(2) 停车后,能准确显示小车全程行驶的时间及路程。
(3) 其他。
1.2方案论证及比较1、电机驱动方案一:使用继电器对电机进行开关控制和调制。
但缺点很明显,继电器响应慢而且机械结构容易坏。
方案二:使用三极管或者达林顿管,结合单片机输出PWM 信号实现调速的目的,此方案易于实施,但若控制电机转动方向较为困难。
方案三:使用PWM 控制芯片来实现对电机的控制。
方案选择:采用方案三。
该方案电路简单,性能稳定,可以轻松实现对电机方向的控制。
2. 路面寻线模块方案一:采用光敏传感器,根据白色背景和黑线反光程度的不同来判断传感器是否位于黑线上。
方案二:采用反射式红外传感器来进行探测。
只要选择数量和探测距离合适的红外传感器,可以准确的判断出黑线的位置。
方案选择:采用方案二。
方案一受环境光的影响太大,效果不佳。
而红外光不易受到环境光的干扰。
3. 避障模块方案一:采用一体化红外接收头,在38KHz 附近,接收头的灵敏度不同。
依次在38KHz发射频段不同的红外线,在距离障碍物一定距离时测出障碍物。
方案二:采用超声波测距的方法,利用超声波传感器,监视测量发射脉冲和接受脉冲的时间差,计算超声波和物体之间的距离。
可以将避障和寻光模块一起排列为环状结构。
方案选择:选择方案二。
超声波能测量较远的距离,在性能上有一定的优势,故选择方案二。
4. 测距、测速模块方案一:采用霍尔传感器,在车轮适当位置粘贴一个磁钢。
每当车轮上磁钢转到霍尔传感器处,单片机计数一次,结合车轮半径就能求出小车行进距离及速度。
方案二:采用反射式红外对管,在车轮适当位置粘贴一白纸片,每当白纸片转到红外对管处,单片机计数一次,结合车轮半径就能求出小车行进距离及速度。
方案选择:由于电机转动时,对霍尔传感器附近的磁场有影响,导致单片机计数不准确,故采用方案二。
二、硬件电路设计本系统以MSP430F5438为控制核心。
整个硬件框图如下图所示:2.1 主控制模块MSP430系列单片机是美国TI公司的一种16位的超低功耗的混合信号处理器,适合于低功耗、高速实时控制以及数据计算,它拥有更多的片上资源供设计使用,是设计的不错选择。
由于本小车实现功能较多,因此我们选择了MSP430F5438为核心的系统,完成电机驱动、寻迹、避障、测距测速等功能。
2.2 电机驱动模块电机的驱动芯片选用L298N。
由单片机产生的占空比可调的PWM信号传至L298,控制电机的转向及转速。
如图2.2所示:图2.2电机驱动模块驱动原理:如下图2.3所示,以其中一个电机为例:图2.3 电机驱动原理2.3红外对管寻迹和测速、测距模块红外对管的工作原理图如右所示:通过调节滑动变阻器R4可以调节红外对管的灵敏度,当红外对管检测到白线或黑线却不能送出信号时,可以调节R4来增大其灵敏度。
1、红外对管寻迹:当小车在白色地面行驶时,装在车下的红外发射管发射红外线信号,经白色反射后,被接收管接收,一旦接收管接收到信号,输出端将输出低电平;当小车行驶到黑线时,红外线信号被黑色吸收后,将输出高电平,从而实现了通过红线检测信号的功能。
将检测到的信号送到单片机的I/O 口,当I/O 口检测到的信号为高电平时,表明小车处在黑色的引线上;同理,当I/O 口检测到的信号为低电平时,表明小车行驶在白色地面上。
寻迹模块用了三路采样,中间一个控制轨迹,两侧的用于检测道路的分支、弯道、交叉口等,布置如下:行驶原理:若红外对管2检测到黑线,小车直走;若只有红外管1检测到黑线,小车左拐;若只有红外管3检测到黑线,小车右拐;若三个管都没有检测到黑线,小车保持原来的状态行驶。
2、红外对管测速测距:在两个车轮上分别粘贴一小片白纸,在能检测到白纸的位置分别放置一红外对管,车轮在转动时,红外对管检测到白纸输出低电平,单片机计数一次,结合小车轮子的直径和小车行驶的时间就可以计算出小车行驶的速度和路程。
并用12864液晶显示出来。
2.4.避障模块超声波避障的原理:系统中采用的传感器是DYP-ME007。
D YP-ME007超声波测距模块可提供3cm--3.5m的非接触式距离感测功能,图2.4为DYP-ME007外观,包括超声波发射器、接收器与控制电路。
其基本工作原理为给予此超声波测距模块一触发信号后发射超声波,当超声波投射到物体而反射回来时,模块输出一回响信号,以触发信号和回响信号间的时间差,来判定物体的距离。
即:S=v*t/2式中v为超声波在空气中的传播速度,该值与温度有关,经计算其在常温下近似为340m/s,t为发射、接收信号的时间差。
系统中在小车车前放置一个超声波传感器,可测量出小车距离前方障碍物的距离,根据这个距离和小车车身的长宽就可以确定小车转弯的时间,从而避开前方的障碍物,在绕过障碍物后,小车便开始寻迹。
表2.4 电气参数图2.4超声波模块三、软件设计思路一:循迹.避障程序:当黑线在红外对管下,会给单片机一个高电平。
根据这个原理,可以不停地对端口扫描PIN,根据不同的PIN可以判断小车直走,向左转,向右转三个状态,并给每一个状态设置一个标志位X。
由于小车跑动的时侯有惯性,如果小车的红外端口跑到黑线外,没有检测到,就可以查询标志位,故标志位有记忆功能。
当超声波检测到前方物体距离小车小于20cm,小车开始避障(一段固定的路程)避障完成后,如果寻找到黑线了,则进入寻迹模块,又开始循迹。
二:测速程序:采用红外对管,在轮胎上固定一小片白色纸条,当轮子转一圈,给红外对管一个脉冲,单片机计数一次,用LCD显示,每3秒钟刷新一次数据。
四、系统测试1分析:根据多次试车试验,我们的小车基本都能沿着既定路线行进,即使有时脱轨也能及时回到跑道上,避障效果也较理想。
由于车在过弯道的时候会打滑,导致每次所走路线有微小误差,为使小车行驶平稳,我们牺牲速度换取平稳度,保证小车每次都能准确沿赛道行驶。
总的来说我们的小车基本完成了设计要求。
五、总结按照要求,小车已经很好地完成了所有题目要求的任务。
本作品涉及到了一系列光机电一体化的技术。
其中机械结构是小车能否稳定运行的基础,硬件电路决定了小车实现的功能,而软件部分则是控制的灵魂,算法的好坏直接决定了完成任务的质量。
整个设计过程中,我们遇到了很多困难,首先在小车底座的选择上,我们思考了很久,最后,我们结合小车要实现的功能选择了一款由两个固定车轮和一个万向轮并自带电机的小车。
在测距测速上,刚开始我们选择的是霍尔传感器,但在实际操作过程中,我们发现计数误差非常大。
于是,我们做了一个实验,将小车车轮卸了,只让电机转动,发现霍尔传感器仍然在计数;然后,手动车轮转动,让电机停止,发现霍尔传感器正常计数,于是我们才知道是电机产生的磁场对霍尔传感器有影响,最后,我选择了红外对管来代替霍尔传感器。
在寻迹上,对红外对管个数的选择以及摆放,我们都经过了周密考量。
如果在寻迹方面多用几个传感器,小车的寻迹灵敏度更高,小车也行驶更平稳。
在使用MSP430 的开发过程中,我们也充分体会到了这款单片机的性能优越性和便利性,其单芯片设计方案对提高产品集成,降低系统成本有很大的帮助。
最终核算,整个小车成本不超过200元。
整个项目的研发无疑是一个充满辛苦的过程。
但是在XX老师的悉心指导下,在全组成员的共同努力下,在整个实验室同仁的无私帮助下,我们最终完成了任务,在此对XX老师以及各位同学一并表示感谢!。