1、自主移动机器人小车设计自主移动机器人小车设计摘 要智能作为现代社会的新产物,是以后的发展方向,智能就是按照预先设定的模式在一个特定的环境里自动的运作,无需人为管理,便可以完成预期所要达到的或是更高的目标。本设计采用凌阳超声波测距模块检测小车与障碍物的距离并语音提示,以凌阳SPCE061A单片机为控制芯片控制机器人小车的移动及转向,来实现小车的自动避障和报警功能。其中小车驱动由L298N驱动电路来完成。 关键词 自主移动 避障 SPCE061A单片机 L298N 超声波Independent Mobile Robot Car DesignABSTRACTIntelligent as modern
2、 society of new product, is the development direction of the future, intelligence is that according to the predetermined pattern in a specific environment to be automatic operation, no user management, then can be expected to finish what you are trying to achieve the goal. This design use the sunplu
3、s ultrasonic ranging module testing the car and obstacles distance and voice prompt to sunplus SPCE061A microprocessor control chip for control of the robot car moves and steering, to realize the automatic obstacle avoidance and car alarm function. Among them the small car driven by L298N drive circ
4、uit to complete.KEY WORDS the independent movement,obstacle avoidance,SPCE061A,L298N ultrasonic1 绪论1.1机器人小车的意义和作用自第一台工业机器人诞生以来,机器人的发展已经遍及机械、电子、冶金、交通、宇航、国防等领域。近年来机器人的智能水平不断提高,并且迅速地改变着人们的生活方式。人们在不断探讨、改造、认识自然的过程中,制造能替代人劳动的机器一直是人类的梦想。随着汽车工业的迅速发展,关于汽车的研究也就越来越受人关注。全国电子大赛和省内电子大赛几乎每次都有机器人小车这方面的题目,全国各高校也都很重视
5、该题目的研究。可见其研究意义很大。本设计就是在这样的背景下提出的,设计的自主移动小车应该能够具有语音提示,避障功能,根据题目的要求,确定如下方案:在现有玩具电动车的基础上,加装超声波传感器及电机驱动模块,实现对小车的实时测量,并将测量数据传送至单片机进行处理,然后由单片机根据所检测的各种数据实现对小车的智能控制。该小车可以作为机器人的典型代表。它可以分为三大组成部分:传感器检测部分、执行部分、CPU。机器人要实现自动避障功能,还可以扩展循迹等功能,感知导引线和障碍物。可以实现小车自动识别路线,选择正确的行进路线,并检测到障碍物自动躲避。基于上述要求,传感检测部分考虑到小车一般不需要感知清晰的图
6、像,只要求粗略感知即可,所以可以舍弃昂贵的CCD传感器而考虑使用价廉物美的超声波传感器来充当。智能小车的执行部分,是由直流电机来充当的,主要控制小车的行进方向和速度。单片机驱动直流电机一般有两种方案:第一,勿需占用单片机资源,直接选择有PWM功能的单片机,这样可以实现精确调速;第二,可以由软件模拟PWM输出调制,需要占用单片机资源,难以精确调速,但单片机型号的选择余地较大。考虑到实际情况,本文选择第二种方案。CPU使用SPCE061A单片机,配合软件编程实现。1.2 机器人小车的现状随着电子技术、计算机技术、智能控制技术的飞速发展,产品的智能化和小型化越来越成为人们关注的热点。各种智能小车在智
7、能化玩具中占了很大的比例。近年来,传统玩具的市场逐步缩水,高科技智能化的电子类玩具则逐步成为市场的主流。因此,可遥控的智能化小车的研究是非常有意义的,具有很大潜在市场价值的。智能小车,也被称之为轮式机器人。我们知道,机器人技术的发展是一个国家高科技水平和工业自动化程度的重要标志和体现。机器人由于具有高度的灵活性、可以帮助人们提高生产率、改进产品质量和改善劳动条件等优点,在世界各地的生产生活领域得到了广泛的应用。智能小车正是模仿机器人的一种尝试。它是一种以汽车电子为背景,涵盖控制,模式识别,电子、电气、单片机、机械等多学科的科技创新性设计,一般主要由路径识别、速度采集、角度控制以及车速控制等模块
8、组成。这种智能小车能够自动搜寻前进路线,还能爬坡;感知前方的障碍物,并自动寻找前进方向,避开障碍物;加入相关声光讯号后,更能体现出智能化和人性化的一面。12 方案设计2.1 主控系统的比较与选择方案一:采用各类数字电路来组成小车的控制系统,对外围避障信号,自动寻迹信号,无线遥控信号,语音控制信号进行处理。本方案电路复杂,灵活性不高,效率低,不利于小车智能化的扩展,对各路信号处理比较困难。方案二:采用凌阳SPCE061A单片机来作为整机的控制单元。超声波采用凌阳超声波测距模块,利用超声波检测障碍物距离,送往单片机进行处理。此系统比较灵活,采用软件方法来解决复杂的硬件电路部分,使系统硬件简洁化,各
9、类功能易于实现,能很好地满足题目的要求。比较以上两种方案的优缺点,方案二简洁、灵活、可扩展性好,更能达到题目的设计要求,因此采用方案二来实现。2.2 避障单元的比较与选择方案一:采用红外线避障,利用单片机来产生40KHz信号对红外线发射管进行调制发射,发射出去的红外线遇到避障物的时候反射回来,红外线接收管对反射回来信号进行解调,输出比较电平。但红外线容易受到光线的干扰。方案二:采用超声波避障,超声波对外界光线和电磁场不敏感,可用于黑暗、有灰尘或烟雾、电磁干扰强、有毒等恶劣环境中; 并且可以进行实时控制。通过比较我采用方案二。2.3 电机驱动模块的比较与选择方案一:采用继电器对电动机的开或关进行
10、控制,通过开关的切换对小车的速度进行调整.此方案的优点是电路较为简单,缺点是继电器的响应时间慢,易损坏,寿命较短,可靠性不高.2方案二:采用电阻网络或数字电位器调节电动机的分压,从而达到分压的目的。但电阻网络只能实现有级调速,而数字电阻的元器件价格比较昂贵。更主要的问题在于一般的电动机电阻很小,但电流很大,分压不仅回降低效率,而且实现很困难。方案三:采用功率三极管作为功率放大器的输出控制直流电机。线性型驱动的电路结构和原理简单,加速能力强。这种电路由于工作在管子的饱和截止模式下,效率非常高,H型桥式电路保证了简单的实现转速和方向的控制,电子管的开关速度很快,稳定性也极强,是一种广泛采用的调速技
11、术。现市面上有很多此种芯片,我选用了L298N。这种调速方式有调速特性优良、调整平滑、调速范围广、过载能力大,能承受频繁的负载冲击,还可以实现频繁的无级快速启动、制动和反转等优点。因此决定采用使用功率三极管作为功率放大器的输出控制直流电机。机器人小车采用前轮驱动,前轮左右两边各用一个直流电机驱动,调制前面两个轮子的正反转从而达到控制转向的目的。2.4 驱动电机的比较与选择方案一:使用直流电机,直流电机具有良好的调速性能,控制起来也比较简单。直流电机只要通上直流电源就可连续不断的转动,调节电压的大小就可以改变电机的速度。直流电机的驱动电路实际上就是一个功率放大器。常用的驱动方式是PWM方式,即脉
12、冲宽度调制方式。此方法性能较好,电路和控制都比较简单。方案二:使用步进电机。步进电机具有良好的控制性能。当给步进电机输入一个电脉冲信号时,步进电机的输出轴就转动一个角度,因此可以实现精确的位置控制。与直流电机不同,要使步进电机连续的转动,需要连续不断的输入点脉冲信号,转速的大小由外加的脉冲频率决定。去而且其转动不受电压波动和负载变化的影响,也不受温度、气压等环境因素的影响,仅与控制脉冲有关。但步进电机的驱动相对较复杂,要由控制器和功率放大器组成。具体差别见下表2-1。表2-1 电机控制方式对比直流电机步进电机调速性能较好较差位置控制精度较差好驱动简单复杂稳定性较好好,仅与控制脉冲有关由上表可以
13、看出步进电机和直流电机都有各自的优点。步进电机能进行精确的位置控制,但驱动电路麻烦,鉴于本设计中小车的位置控制不要求十分精确,直流电机即可满足小车要求的精度。且直流电机易于控制,驱动电路十分简单。2.5 电源模块的比较与选择方案一:电脑USB串口供电。能直接为单片机提供稳定的+5V直流电压。USB串口线又容易得到。但是需要很长的线,而且要有交流电和电脑配合。方案二:用4节五号电池串联6V直流电源。在不超过单片机工作电压范围的情况下,又能驱动直流电机。且这个电源结构简单,价格便宜,容易得到。综上所述,本设计选择方案二。2.6 系统总体框图经过对方案的设计要求的分析和方案论证,采用凌阳单片机控制平
14、台,经过超声波测距模块检测距离,控制运动模块的电机运动方式,近而控制这个小车系统的运动。系统总体设计框图如图2-1图2-1 系统总体设计框图3 硬件设计3.1 SPCE061A芯片的特点及其功能3SPCE061A 是继nSP系列产品SPCE500A等之后凌阳科技推出的又一款16位结构的微控制器。与SPCE500A不同的是,在存储器资源方面考虑到用户的较少资源的需求以及便于程序调试等功能,SPCE061A里只内嵌32K字的闪存(FLASH)。较高的处理速度使nSP能够非常容易地、快速地处理复杂的数字信号。因此,与SPCE500A相比,以nSP为核心的SPCE061A微控制器是适用于数字语音识别应
15、用领域产品的一种最经济的选择。 SPCE061A特性: 16位nsp微处理器;工作电压:内核工作电压VDD为3.03.6(CPU),I/O口工作电压VDDH为VDD5.5V(I/O);CPU时钟:0.32MHz49.152MHz;内置2K字SRAM;内置32K闪存ROM;可编程音频处理;晶体振荡器:32768Hz实时时钟;系统处于备用状态下(系统时钟暂停),耗电小于 2A3.6V;2个16位可编程定时器/计数器TMR0,TMR1(可自动预置初始计数值);2个10位DAC(数模转换)输出通道;32位通用可编程输入/输出端口;14个中断源可来自定时器A/B,时基,2个外部时钟源输入,键唤醒;具备触
16、键唤醒的功能;使用凌阳音频编码SACM_S240方式(2.4K位/秒),能容纳210秒的语音数据;锁相环PLL振荡器提供系统时钟信号;通道10位电压模数转换器(ADC)和单通道声音模数转换器;声音AD转换器输入通道内置麦克风放大器和自动增益控制(AGC)功能; 具备串行设备接口;低电压复位(LVR)功能和低电压监测(LVD)功能;内置在线仿真板(ICE In- Circuit Em ulator)接口。3.2 SPCE061A芯片内核结构(1)16位数据总线和22位数据总线(2)算术逻辑单元AUL:16位算术逻辑运算,带移位操做的算术逻辑运算,16位X16位乘法和内积运算。(3)通用型寄存器R
17、1R4:在unSP CPU(ISA1.1)中,集成了一组(4个)16位通用寄存器:R1R4。(4)数据运算或传送的源及目标寄存器(5)配对组成一个32位的乘法结果寄存器MR(6)配对组成一个32位的内积结果寄存器MR(7)专用型寄存器:堆栈指针寄存器SP,基址指针寄存器BP(R5),程序计数器PC,段寄存器SR。CS:代码选择字段 DS:数据选择字段 C:进位标志位Z:零标志位 N:负标志位 S:符号标志位3.3 SPCE061A的语音播报功能SPCE061A内置了专用的MIC输入通道和音频输出DAC,并具有较高的处理速度,因此非常适合对音频信号的处理,如语音播放、语音录制等。由于未经处理的音
18、频资源数据量很大,对于单片机来说,数据的存储和传输都比较困难,这使得音频压缩编码成为音频处理的重要环节。为方便用户将SPCE061A应用于语音产品,凌阳公司提供了多种音频编解码算法及其API函数库,即SACM-LIB。该函数库将A/D、编码、解码、存储及D/A做成相应的模块,每个模块都有其应用程序接口API,用户只需了解每个模块所实现的功能及其参数的内容即可。SACM S480的压缩算法的压缩比较大,音质不是太好,适用于对音质要求不是很高的语音播放场合。SACM S480语音播放也分为“自动”和“手动”了两种模式。其播放流程与SACM A2000完全相同,仅仅将SACMA2000播放程序调用的
19、函数名中的“A2000”全部替换为“S480”即可。SACM A2000压缩算法压缩比较小,具有高质量、高码率的特点,适用于高保真音乐和语音。无论是自动播放还是手动播放,将解码后的语音数据通过DAC播放出来的过程都是在中断服务程序中完成的。SACM A2000在播放初始化是会打开FIQ TIMERA中断,并将TIMERA溢出频率设置为16KHZ。用户需要在FIQ TIMERA中断服务程序中调用SACM A2000函数完成语音播放。SACM DVR具有录音盒放音功能。录音是从语音采样、压缩编码到存储的过程,SACM DVR的录音采用了SACM A2000压缩编码。放音是从取存储器语音数据、译码到
20、输出的过程,与SACM A2000相同。SACM DVR编码实际上使用了SACM A2000压缩算法,因此录制的语音资源可以使用SACM A2000播放出来。SACM DVR也提供了一组库函数,用来播放录制的语音资源。SPCE061A单片机中DAC主要用于将数字信号转换成音频信号输出,其音频信号输出有两种控制方式:一种是语音输出方式;另一种是音调输出方式。两者的区别在于其输出控制机理不同。语音输出是用于声音数据采样相同的速率将声音数据通过数/模转换通道还原成声音。音频输出是通过定时溢出所产生的不同频率来决定声音音调的高低,DAC的模拟量决定声音信号的幅值。语音输出方式是数/模转换器DAC把模拟
21、声波输入的数字量转换成模拟量实现波形重放。D/A转换器位数越多,重放波形的音质越好。语音输出是,CPU以一固定的频率向DAC送出一系列的数字量值。此数值转换成一系列的电流模拟量,并经平滑滤波后驱动扬声器得到声音信号。这种方式下,声音数据的采样率决定了声音音质的好坏。采样率越高,恢复的声音波形越接近原来的波形,音质越好。SPCE061A单片机采用的D/A转换的音频输出硬件结构有两种:一种是直接采用数/模转换器DAC实现;另一种是采用单通道脉宽调制PWM驱动方式输出。在本系统的语音播放中采用第一种方式。直接DAC方式用于两个通道的声音数字信号转换成模拟的音频信号输出。实际应用时,应按相同的采样速率
22、,将双通道输入的表示声音的数字量同步且分别地写入到两个数据单元DAR1和DAR2中,并分别送入DAC1和DAC2中,进行D/A转换。转换的电流模拟信号分别从AUD1和AUD2输出,输入的数字量分别写入PDAC1和PDAC2单元。3.4 超声波测距模块1基本特性与参数指标 超声波传感器谐振频率:40KHz 模组传感器工作电压:4.5V-9V 模组接口电压:4.5V-5.5V2主要功能三种测距模式选择跳线J1(短距、中距、可调距): 短距:20cm-100cm左右(根据被测物表面材料决定),精度1cm; 中距:70cm-400cm左右(根据被测物表面材料决定); 可调:范围由可调节参数确定,当调节
23、在合适的值时,最远测距700cm左右;3结构示意图 图3-1 超声波测距模组硬件框图图3-2 超声波实物图一般应用时,只需要用两条10PIN排线把J5与SPCE061A的IOB口低八位连接,J4与IOB口高八位连接,同时设置好J1、J2跳线就完成硬件的连接了。不同测距模式的选择只需改变测距模式跳线J1的连接方法即可。模组工作的性能与被测物表面材料有很大关系,如毛料、布料对超声波的反射率很小,会严重影响测量结果4超声波测距原理声波在其传播介质中被定义为纵波。当声波受到尺寸大于其波长的目标物体阻挡时就会发生反射;反射波称为回声。假如声波在介质中传播的速度是已知的,而且声波从声源到达目标然后返回声源
24、的时间可以测量得到,那么就可以计算出从声波到目标的距离。这就是本系统的测量原理。这里声波传播的介质为空气,采用不可见的超声波,超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s),即:s=340t/23.4.1 超声波测距模组的电路原理图图 3-3 超声波测距模组的主要电路原理图整个电路可分为两大部份,一部份是超声波发射调理电路,另一部份是超声波回波接收处理电路。用于驱动超声波传感器的40KHz的方波
25、由一片NE555搭成的多谐振荡器生成,受控于控制器的PLUS_EN信号;40KHz的方波经CD4049调理后,成为振幅18V的方波,提高发射功率。 发射头发射出去的超声波经障碍物反射后,反射到接收头,而接收到的波形幅度非常小,所以在回波处理电路中,把接收到的波形放大了5000倍,用的是 NE5532搭成的两级交流放大电路。经放大后的波形送入,LM311比较器;经比较器调理后的波形成为方波,可送给SPCE061A的EXT1外部中断。 在模块电路的设计中一定要注意,超声波发射头和接收头之间的干扰;一般压电式的超声波换能器都会存在余波的干扰,发射头和接收头间要有5cm的距离;而在 发射头发射超声波后
26、的3ms内,接收头会一直接收到发射头传过来的非反射波,这是干扰波,在软件处理的时候一定要注意清除掉此类的干扰。3.4.2 超声波电源接口图3-4 超声波电源接口J3为外部电源接口,最高电压不要超过12V,J2为电源选择跳线,VCC_5即为由61板通过10PIN的排线引入模组的电源,VCC即为模组的放大器,调理电路的供电电源。当用户使用61板为其供电时,要把VCC与VCC_5短接;而使用外部电源时,要把VCC与VCC_5短接。超声波测距模组与61板的接口如图3-5,3-6所示:图 3-5 超声波测距模组接口图3-6 超声波与61板进行测距连接实物图3.4.3 测距程序流程图超声波测距的功能函数流
27、程图如图3-7。用户只需进行六次测距操作,这六次的测量结果需要经过处理后才可得到最终的测距返回值,然后将返回值化成距离。3.5 L298N电机驱动模块4L298N是SGS公司的产品,内部包含4通道逻辑驱动电路。是一种二相和四相电机的专用驱动器,即内含二个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,可驱动46V、2A以下的电机。其实物及引脚图如图3-8及3-9所示图3-7测距程序流程图图3-8 L298N实物图图 3-9 L298N管脚图3.5.1 L298N主要特点(1)工作电压高,最高工作电压可达46V; (2)输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;额定功率
28、25W。(3)内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器线圈等感性负载;(4)采用标准逻辑电平信号控制;(5)具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;(6)可以外接检测电阻,将变化量反馈给控制电路。使用L298N芯片驱动电机,该芯片可以驱动一台两相步进电机或四相步进电机,也可以驱动两台直流电机。3.5.2 电机驱动模块连接图5小车的两个直流电机和驱动模块L298N的连接如图3-10。L298有两路电源分别为逻辑电源和动力电源,图3-10中6V为逻辑电源,12V为动力电源。J4
29、接入逻辑电源,J6接入动力电源,J1与J2分别为单片机控制两个电机的输入端,J3与J5分别与两个电极的正负极相连。ENA与ENB直接接入6V逻辑电源也就是说两个电机时刻都工作在使能状态,控制电机的运行状态只有通过J1与J2两个接口。输入信号端IN1接高电平输入端IN2接低电平,J3连接的电机正转。(如果信号端IN1接低电平, IN2接高电平,J3连接的电机反转)控制另一台电机是同样的方式,输入信号端IN3接高电平,输入端IN4接低电平,J5连接的电机正转。(反之则反转),PWM信号端A控制电机1调速,PWM信号端B控制电机2调速。图3-10电机驱动模块连接图通过对驱动模块的逻辑输入端输入不同的
30、电平,其对应的电机转动状态表如表3-1表3-1 电机转动状态表左电机右电机左电机右电机小车运行状态IN1IN2IN3IN41010正转正转前行1001正转反转左转1011正转停以左电机为中心原地左转0110反转正转右转1110停正转以右电机为中心原地右转0101反转反转后退通过编写相应驱动程序,用单片机的IOA口来控制驱动模块,进而控制小车的转动状态,来完成小车的避障功能。4 软件设计软件设计是实现小车智能运转的关键所在,相当于人类大脑思维活动,通过软件设计可将各个变化信号数据有效的结合处理,产生相应的动作反应。4.1 软件调试平台软件调试采用nSP集成开发环境,nSP集成开发环境集程序的编辑
31、,编译,链接,调试以仿真等功能为一体。具有友好的交互界面,下拉菜单,快捷键和快速访问命令列表等,使编辑,调试工作方便且高效。此外。它的软件仿真功能可以在不连接仿真板的情况下模拟硬件的各项功能来调试程序。IDE的开发界面如图4-1图4-1 nSP IDE的开发界面对于超声波测距模块的数据采集的变化,则可以通过集成开发环境在线观察,其对应变量的数值在如图4-2的变量表watch窗口图4-2变量表Watch窗口界面4.2 程序设计流程图根据本设计的设计思路,机器人小车的主要程序设计包括:主程序,超声波测距程序,其程序设计流程图如图4-3所示图4-3程序设计流程图5 制作安装与调试5.1 硬件制作由于61板制板比较复杂且工艺要求较高,手工制板无法满足要求则选择了现成的61精简开发板,车体源于废旧的小车玩具进行改装。此后将61板、车体、驱动电路板按照设计要求组装,各部分之间用自制杜邦线连接。确认组装无误则上电测试。61板的结构图及说明如图:图5-1 61板的结构图表5-1 61板框图说明POWER5v&3V供电
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1