基于单片机的玩具小车智能控制系统的设计.docx

上传人:b****6 文档编号:8261226 上传时间:2023-01-30 格式:DOCX 页数:26 大小:182.20KB
下载 相关 举报
基于单片机的玩具小车智能控制系统的设计.docx_第1页
第1页 / 共26页
基于单片机的玩具小车智能控制系统的设计.docx_第2页
第2页 / 共26页
基于单片机的玩具小车智能控制系统的设计.docx_第3页
第3页 / 共26页
基于单片机的玩具小车智能控制系统的设计.docx_第4页
第4页 / 共26页
基于单片机的玩具小车智能控制系统的设计.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

基于单片机的玩具小车智能控制系统的设计.docx

《基于单片机的玩具小车智能控制系统的设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的玩具小车智能控制系统的设计.docx(26页珍藏版)》请在冰豆网上搜索。

基于单片机的玩具小车智能控制系统的设计.docx

基于单片机的玩具小车智能控制系统的设计

基于单片机的玩具小车智能控制系统的设计

摘要:

在这个电子信息化的时代,随着经济的发展,科技的进步,电子玩具已成为玩具市场上的主流。

为了适应电子玩具市场的需要,我设计了一款新型的智能玩具小车,即本论文研究的基于单片机的玩具小车智能控制的设计。

该小车是以普通的四驱遥控小车为原型,MSP430F247单片机为控制系统,由芯片L298构成的直流电机来驱动电路,而且该小车是利用红外传感器进行障碍物的信息采集,同时也利用PWM技术进行电机调速控制,并辅以相应的语音播报功能。

关键词:

MSP430F247单片机;玩具小车;智能控制

 

Theintelligentcontroldesignofthetoycar

basedonmicrocontroller

Abstract:

Intheelectronicinformationera,withthedevelopmentofeconomy,theprogressofscienceandtechnology,electronictoysonthetoymarkethasbecomeamainstream.Inordertomeettheneedsoftheelectronictoymarket,Idesignedanewtypeofintelligenttoycar,namelyintheresearchofthispaperthedesignofthetoycarbasedonsinglechipmicrocomputerintelligentcontrol.Thecarisacommonall-wheel-driveremotecontrolcarastheprototype,MSP430F247single-chipmicrocomputertocontrolsystem,composedofchipL298dcmotordrivecircuit,andthecarisanobstacletousinginfraredsensorinformationacquisition,aswellasusingPWMtechnologytocontrolmotorspeed,supplementedbythecorrespondingspeechfunction.

Keywords:

MSP430F247microcontroller;toycar;intelligentcontrol

 

 

第一章绪论

随着我国经济的发展,社会的进步,人们消费水平的提高,电子产品已成为社会市场上的主流产品,人们对电子产品的需求量也在不断增加,电子玩具就是其中之一。

俗话说得好,“女人和孩子们的钱最好赚”,玩具市场作为孩子们的天堂,在社会市场的发展中具有重大潜力。

中国作为世界上最大的发展中的国家,人口庞大,社会需求量也大,市场广阔,不仅是玩具生产大国,更是玩具消费最庞大的国家之一。

随着科技的创新,现在的玩具市场已经向着电子多元化方向发展,作为孩子们最喜爱的玩具小车已成为玩具市场上最受欢迎的产品之一。

但在玩具小车的市场上,由于中国的技术比较落后,对小车中作为主要核心的芯片技术还未能掌握,所以只能由其他发达国家生产小车的核心芯片,再由我国的工人去加工小车的外装,最后再把完成的产品卖向中国乃至世界市场。

而制作小车这一过程中获得的利润,发达国家占八成以上,我国等发展中国家获得的利润不到两成,这就是科技的力量,就是脑力劳动和体力劳动的区别。

因此,大力发展我国的科技,实现技术创新,使科技运用于生活中,促进国民的经济发展,提高人民的就业率,提高人们的生活水平,对我国综合实力的提升和社会经济的发展都有着巨大的意义。

由于单片机有着体积小、重量轻、功能多、价格便宜、科技含量高、小型化且便于携带等众多优点,因此它们已被广泛运用于各种电子行业和电子产品中。

特别是近年来经济的飞速发展,科技的快速进步也带动着单片机的不断更新,用新型的小型单片机控制的电子玩具在玩具市场的生产和消费中占有着重要的比例。

因此,这些蒸蒸日上的高科技小型化单片机显然是本设计做智能玩具小车控制器的首要选择。

由于玩具小车的语音播报能力和灯光显示效果能大大增强人们玩小车的乐趣,因此这也就成为了制作智能玩具小车中的重要技术。

如果本设计在制作玩具小车的过程中运用此技术并能有效地降低制作成本,那么我制作的玩具小车将会风靡整个玩具市场,就会在中国乃至国际市场上发挥出重要的潜力,这也会对我国的电子玩具行业的发展乃至国民经济的发展都具有着重要的意义。

第二章小车的系统模块设计

2.1小车的总体构思

根据该研究项目的要求,本毕业设计制定出了以下的方案:

先在网上购买一个普通的电动玩具小车,然后把小车的车壳拆开,在小车内部加装红外传感器和语音芯片等硬件,等重新组装好小车后,再把小车开动,并通过红外传感器来检测小车在行驶过程中有没有遇到障碍物。

当红外传感器检测到小车前方(或左边或右边)有障碍物时,系统就会将测得的数据传送至单片机,使测得的数据先经过单片机的处理,然后根据处理后的数据来实现单片机对玩具小车的智能控制,并在小车运行的过程中根据其行驶状态来实时地进行语音播报。

玩具小车主要是采用MSP430F247单片机来作为控制系统的,并利用红外传感器作为小车的主要传感器,来进行障碍物的信息采集,以实现小车的自动避障功能,从而避免小车在移动过程中遇到主动撞上障碍物的情况。

小车的行驶方向主要是通过LED发光二极管和语音模块来显示的,小车运行时通过控制发光的LED显示的情况向前行驶,并随时通过语音播报来显示其行驶状态。

小车的自动避障功能主要是通过红外传感器和黑白线传感器来测试的,先利用红外传感器来探测小车的正前方和左右侧,同时再利用黑白线传感器来探测小车的底部,然后通过这两种传感器来采集行驶过程中遇到的障碍物信息,最后由单片机去控制系统,从而实现了小车在行驶过程中能主动地避开障碍物。

而且小车在行驶过程中,主要是通过PWM脉宽调制技术来提高系统的静态性能和动态性能的。

本设计通过以上的方案可以对小车在行驶过程中的整个系统结构进行这样的总体构思:

小车在行驶过程中,传感器检测模块中的红外传感器将检测到的障碍物信息传递给主控芯片模块中的MSP430F247单片机,经过单片机对数据的处理,将处理后所测得的信息分别传输给电机驱动模块和语音模块。

单片机利用电机驱动模块中的L298电机驱动芯片来控制小车电机的转速和旋转方向,从而控制小车的行驶速度和转弯;同时利用语音模块中的ISD25120语音录放芯片对小车的行驶状态进行实时的播报,从而显示小车的行驶方向。

在小车的整个运行过程中,电源模块一直不间断地给小车的主控芯片模块、电机驱动模块、语音模块和传感器检测模块提供稳定的电源电压,使其在行驶过程中能保持持续稳定地运行。

而系统的整体框图如下图所示:

 

图2-1总体设计框图

2.2各个模块的器件介绍

2.2.1MSP430F247单片机的最小芯片介绍

该玩具小车中使用的MSP430F247单片机是低功耗16位单片机,是由TI公司最新推出的产品,该芯片质量好、功耗低、价格便宜、小巧灵活、抗干扰能力强、小型化且科技含量高,而且易于制作成产品。

将MSP430F247单片机的最小芯片放入小车的主控芯片模块中,控制着其他模块的运行,不仅效率高,而且体积小,放在小车中非常的方便。

MSP430F247单片机是我经过无数次的试验,在各种芯片的比较中选择的最好的一种,也是最适合小车的一种,是本设计控制智能玩具小车芯片的最佳选择。

2.2.2传感器介绍

安全避障是玩具小车的一个基本技能之一,因此本设计在小车的制作过程中选用了两种传感器:

即e18-d80nk红外避障传感器和tk-20黑白线检测传感器。

(1)红外传感器

e18-d80nk红外避障传感器是一种光电传感器,它主要是通过发射和接收相结合,用来检测障碍物的。

该传感器的内部形成了放大、整形、比较、调制等电路,在小车行驶时,其探测前方障碍物的有效距离可达80cm,并可以通过后部旋钮来调节探测的距离;而且该传感器在探测时可以直接输出电平信号,中间并不需要经过AD的转化就可以直接实现控制,应用电路相对简单,使用起来也比较方便。

因为e18-d80nk红外避障传感器具有质量好、价格低、小巧灵活、安装方便、抗干扰能力强和信号处理简单等众多优点,所以我让小车主要采用该传感器来检测行驶过程中遇到的障碍物,并收集其检测到的障碍物信息。

(2)黑白线传感器

tk-20黑白线检测传感器和e18-d80nk红外避障传感器一样,也是一种光电传感器,但它将发射和接收相结合主要是用来检测黑白线的。

该传感器的内部也形成了放大、整形、比较、调制等电路,但它探测的有效距离只有5cm,最远也只能达到10cm,而且在10cm的范围内,探测黑白线的精度就会降低,并且该传感器探测的对象只能是黑色和白色,内容单一,因此它只适用于近距离检测。

本设计在小车的生产调试过程中,由于空间和地域的限制,我认为应该让小车行驶在一定范围内,即有一个固定的赛道,所以我采用了tk-20黑白线检测传感器,用来检测小车的行驶路线。

由于tk-20黑白线检测传感器只对黑色和白色有反应,因此我可以把小车行驶的赛道设置为黑色,在赛道终点画上白色的警戒线,然后再把该传感器安装在小车的底部,让小车在行驶时根据道路的颜色来进行对其行驶的路线控制。

2.2.3语音播报芯片介绍

为了实现玩具小车的语音播报功能,本设计主要选用了ISD25120语音录放芯片来构建语音控制模块。

ISD25120芯片是美国ISD公司的产品,它也是ISD单片语音录放集成芯片中的一种。

ISD25120芯片采用的是直接模拟量存储技术,就是将录取的每一个采样值直接存储在芯片内部的快闪存储器中,并且有效地保留了模拟量中的重要成分。

该芯片录放的语音不仅音质较好,而且在目前的语音合成设计中运用也比较广泛,是语音芯片中最受欢迎的芯片之一,所以我采用该芯片来实现它对小车的语音播报控制。

ISD25120语音芯片实际上是一个模拟数据收集系统,它将我事先录取的语音直接记录在芯片内部的EEPROM中,所以能较好地保留录下的语音模拟量,从而减少了音质的失真,提高了语音录放的质量。

ISD25120语音录放芯片重复录音的次数很多,最多可达1万次以上,录放的信息也可以保存很长时间,其中最长高达10年以上,而且它存储的信息段可以高达600个,还可以用多片级联的方式来增加它的存储能力。

因此,我选用ISD25120语音录放芯片来实现玩具小车的语音播报功能。

ISD25120语音录放芯片的引脚图如下所示:

图2-2ISD25120引脚图

2.3各个模块的电路设计

2.3.1电源模块的设计

为了能让小车在行驶过程中保持较快的速度,本设计选择了驱动电压较大的L298芯片来作为直流电机的驱动芯片,并且我暂时先直接给L298芯片供电8V左右的电压,然后在小车运行时再根据系统来调节其电压的大小,以保持小车的电压稳定和小车的灵活性。

经过反复验证,我最终选择用标准车模用的7.2V2000mAh蓄电池作为小车的主体电源,然后再根据小车运行时的需要,对蓄电池进行电压调节。

小车运行时,我直接对L298芯片供电7.2V的电压,而MSP430F247单片机、红外传感器和黑白线传感器、LED显示灯、ISD25120语音录放芯片等电路都供给接近5V的稳定电压。

另外,在选取电源管理芯片时,人们一般常用的是LM7805芯片和LM7806芯片。

但由于LM7805芯片和LM7806芯片在运行时形成的电压差会引起驱动电机在工作时的电压瞬间下降,从而造成芯片输出的电压也随之下降,影响了小车其他模块的运行。

所以,本设计在制作小车的过程中选用的电源管理芯片是低压降的LM2940芯片。

其中,LM2940的稳压电路图如下图所示:

图2-3LM2940稳压电路

2.3.2电机驱动电路的设计

因为单片机的I/O端口电流很小,无法驱动电机,因此我设计了电机的驱动电路来驱动电机转动,所以本设计选择了SGS公司的15脚封装的L298芯片来作为小车电机的驱动芯片。

15脚封装的L298N芯片内部包含了4通道逻辑电路,它可以直接驱动一个两相步进电机或两个直流电机,也可以接受标准TTL逻辑电平信号VSS。

所以我把L298芯片的4脚VS用来接小车的电源电压(VS电压范围为+2.5——46V,输出电流可达2.5A)。

由于L298芯片可以同时驱动两个电动机,所以OUT3、OUT4和OUT1、OUT2之间可分别接入小车的电动机,6脚和11脚可输入PWM波控制速度,12脚、10脚、7脚和5脚可接输入控制电平来控制小车电机的正反转,而EnB、EnA可分别接入小车的控制使能端来控制小车电机的停转。

图2-4L298电机驱动电路

2.3.3语音控制模块的设计

本设计在小车制作前,一般会事先用ISD25120语音录放芯片录制小车行驶时需要用到的语音(如前方有障碍物,请向左转90度;左边有障碍物,请向右转15度;右边有障碍物,请向左转15度;左方和右方两边都有障碍物,请后退等等),在小车运行时再利用MSP430F247单片机控制小车里的ISD25120语音录放芯片来播放语音,使小车运行时能够实时地播报其行驶状况。

下图是ISD25120语音录放芯片应用的电路图:

图2-5ISD25120应用电路图

 

第三章小车的系统软件设计

3.1系统软件设计总体说明

本设计除了要进行系统的硬件设计外,还需要进行系统的软件设计,因此,我要根据小车的每个模块的实际需要设计出相应的应用程序。

在通过对单片机智能控制玩具小车的系统软件设计中,软件系统大致可分为两种类型:

即数据处理和过程控制。

数据处理主要包括数据的采集、数字的滤波和尺度的变换等内容,过程控制主要是使系统中的应用程序在系统的内部进行计算、输出,再通过单片机来控制小车的整个系统软件。

3.2系统模块软件设计

3.2.1自动避障设计

自动避障功能是小车的一个基本功能,本设计利用的是用红外传感器来进行对小车运行时遇到的障碍物的检测。

小车运行时,其内部的系统将采集到的障碍物信息交给CPU,使CPU经过系统单片机的处理,并将处理后输出的控制信息再传给电机驱动模块,由L298电机驱动芯片来控制电机的旋转方向,使小车在转弯过程中能顺畅、准确地转弯。

在小车的行驶过程中,当红外传感器检测到小车的前方有障碍物时,就左转90度以避开障碍物;当左边的红外传感器检测到有障碍物时,就向右转15度来避开障碍物;同理,当右边的红外传感器检测到有障碍物时,再向左转15度来避开障碍物;当右边与左边的红外传感器共同检测到有障碍物时,小车就后退;当左边与前方的红外传感器共同检测到有障碍物时,小车就右转后退;当右边与前方的红外传感器共同检测到有障碍物时,小车就左转后退;如果行驶过程中小车的3个红外传感器都没有检测到障碍物,小车就一直向前行走,直到走至赛道的终点,再根据小车底部的黑白线传感器探测的情况来让小车终止。

3.2.2智能小车方向与速度控制

智能玩具小车首先要能实现直走功能,然后在其行驶过程中遇到障碍物时要能实现转弯和倒退,以避开障碍物,并控制其行驶方向。

(1)直走的实现原理

因为玩具小车车轮的每一侧都是由同一侧的电机来控制的,所以只要让小车两侧的车轮同时由电机控制,以同样的旋转速度正向旋转,那么小车就会受到正向前的作用力而前进,这样也就实现了小车的直走功能。

同样的,只要让小车两侧的电机在同一时间以同样的旋转速度反转,那么也就实现了小车的倒车功能。

(2)转弯的实现原理

由于玩具小车在行驶过程中需要自动避开障碍物,所以就要实现小车的转向能力,因此在设计过程中,只要让小车一侧的电机正转,另一侧的电机反转,而且两侧的电机必须同时进行,搭配恰当,经过反复调试,使小车正常偏转某一方向,从而实现了小车的转弯功能。

(3)PWM的调速原理

MSP430F247单片机由集成的定时器产生了PWM脉宽调制波形,因此本设计可以通过用它的定时器来产生占空比和频率可调方波来控制小车的电机转速,从而控制小车的行驶速度。

我把调速部分直接连接到247的PWM输出口(即P4口),再经过合理的设置,那么在相应的端口处就会产生PWM输出信号,而加在小车电机两端的电压就是PWM电压信号。

此时小车电机两端的平均电压值的公式为Uo=Th/(Th+Tl)*VCC,其中我可以通过调整PWM的占空比来改变Th和Tl的比值,从而改变Uo的大小。

本设计也可以通过调节小车电机两端的平均电压值,来改变电机的旋转速度,从而实现了控制小车的速度这一功能。

3.2.3语音模块软件设计

ISD25120语音录放芯片的录音软件设计流程图和放音软件设计流程图如下图所示:

 

 

图3-1录音程序流程

 

 

图3-2放音程序流程

3.3部分系统软件设计难点

由于MSP430F247低功耗16位单片机的内部有多种时钟系统,所以本设计为了提高系统软件的运行效率,就采用了内部之一的双时钟系统。

小车系统软件内部的CPU采用的是16MHZ的时钟DCOCLK,而系统的外部电路则采用的是八分频的2MHZ的时钟SMCLK。

因为红外传感器在检测到障碍物后系统会持续保持低电平,而247单片机外部中断只有上升沿触发和下降沿触发,而小车的避障系统又需要持续触发,所以系统不能进行外部中断,因此单片机在程序中就读取红外传感器接收到的信息状态,将标志位进行标记,通过读标志位的方法来进行小车的自动避障。

在语音播报的程序设计中,通过用P5端口来控制语音播放的地址,用定时器来控制语音录放的时间,在定时器中断结束中来控制语音播放的结束。

由于语音播放在执行每一段转动程序中的时间都很短,这样的结果可能会导致程序中在不停的执行语音初始化,不仅重复而且比较耗时,因此我在程序中设置了累加量,让小车在这一段的语音播放结束后,下一段的语音播报要在程序初始化结束后才能启动。

系统主程序为:

#include

#include"MSP430F247IO.h"//端口位使用宏定义

#include"datas.h"//变量定义程序

#include"general_fun.h"//各转动程序

#include"msp430_init.h"//各端口初始化及PWM程序

#include"isr.h"//语音录放及定时器中断程序

voidmain(void)//主程序

{

WDTCTL=WDTPW+WDTHOLD;//StopWDT

pwm_init();//引用pwm波产生程序

*_init();//初始化

_BIS_SR(GIE);//Generalinterruptenable

P1OUT_BIT5=1;

P1OUT_BIT6=0;

for(;;)

{

main_counter++;//程序检测量

avoid_init();//小车的避障程序

}

}

第四章小车的各硬件模块的安装调试

4.1硬件模块安装

本设计要想使制作出的小车美观大方、简洁好看,就必须在制作前对小车的结构进行合理的设计和布局,这样不仅会使制作后的小车看起来更加的精巧美观,还会使小车的各项功能更加的精确和完善,从而做出的小车在市场上也会更受人们的欢迎。

 

图4-1小车的结构图

4.1.1车内模块的安装

由于小车的车身较小而且硬件较多,有的硬件还比较重和大,所以本设计可以将小车分为三层来组装。

因为蓄电池的体积相对较大,而且相对于其它硬件的重量也比较重,所以我可以把它放在小车的最下面的第一层;中间的第二层我可以安装单片机和语音模块;最后是电机驱动模块,我可以把它放在小车的最上面的第三层,并将它固定安装在小车的车盖顶棚。

4.1.2发光二极管的安装

由于小车需要显示灯光照明的效果,所以本设计需要将4个LED显示灯装在小车的外壳上,因此我可以直接将4个发光二极管分别安装在玩具小车车壳的四个拐角处。

4.1.3红外检测模块和黑白线检测模块的安装

因为红外传感器主要是用来检测障碍物的,所以本设计可以将红外传感器(3个)分别安装在小车的正前方、左前方和右前方,并把它们成大约75度的角排列放置,这样不仅可以使小车看上去更加的美观,而且还可以检测到前面和左右两边的障碍物,以实现小车的自动避障功能。

至于黑白线传感器则是检测地面的颜色,因此我把它安装在小车的底部即可,使它能检测地面的黑、白颜色,实现系统对小车的行驶路线的控制。

我把开关当做是红外传感器,红外传感器检测到障碍物时,相当于开关闭合,相应的LED灯亮,小车避障测试如下图:

图4-2小车避障测试图

图中传感器检测到障碍物,相应的中间LED灯亮,小车向左或向右转动;如果左、中两边的传感器同时检测到障碍物,相应的两个灯也会同时亮,小车向右运动。

4.2系统调试

4.2.1开发调试工具

(1)IAREmbeddedWorkbenchIDE

IAREmbeddedWorkbenchIDE是一种集编辑、编译、链接、调试和仿真等多种功能为一体的集成开发环境,有交互界面、下拉菜单、快捷键和快速访问等多种应用软件工具,不仅可以高效地进行编程和调试工作,而且使用起来也比较方便。

如果用它的软件仿真功能来模拟硬件功能去调试程序,在这种情况下它可以不用连接仿真板就可以直接运行,强大且实用。

而且IAREmbeddedWorkbench集成开发环境在程序设计上的功能也比较强大,基本上能实现汇编与C语言的相结合,不仅可以使程序更加完善,还可以使设计流程更加清晰,也更加有利于我们在学习过程中查错。

(2)Protues仿真软件

ProteusISIS是一种仿真软件,是由英国的Labcenter公司来开发的。

它可以集电路分析与实物仿真相于一体,也可以将单片机和SPICE分析相结合,如果把它运行在Windows的操作系统上,它将会根据你的要求把各种模拟器件和集成电路进行仿真和分析(SPICE),功能强大且实用。

本设计可以通过此软件来实现对小车软件上的仿真和测试,这样不仅为小车硬件的制作奠定了基础,而且有助于我们解决学习上遇到的困难。

由于该软件的功能齐全,我们还可以利用它来解决我们在学习和工作中遇到的相关的问题。

4.2.2软件自身调试

我在对软件自身的调试过程中,为了使程序运行的更加有效率,也使大家更加的能看懂,我就在程序中加入了一些调试变量flag1[i],同时运用247编译软件IAREmbeddedWorkbenchIDE来进行编译,使用watch功能查看各个变量值的变化,这样不仅有利于我们更好地观看各个变量值的变化结果,还有利于我们更加直接地观测出程序的运行状况。

4.2.3测试仿真结果和分析

把玩具小车经过反复的调试,现在基本上可以实现红外传感器对障碍物距离的准确判断,并通过ISD25120芯片进行语音播报。

调试过程中再经过多次的检验和分析,小车的转弯角度终于由误差较大达到误差较小,最终也变成了可以转弯顺畅且准确。

系统小车(以小车一个轮子为例子)测试仿真如下图:

图4-3小车(以小车一个轮子为例子)测试仿真图

图中电动机的数值显示了小车的当前PWM调速的速度值。

速度值前面的“+”号表示小车的运动方向

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

当前位置:首页 > 经管营销 > 公共行政管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1