资源描述
智能避障小车试验报告与总结[合集五篇]
自动避障小车
技术报告
学
校:乐山师范学院成
员:郑素仙
朱平
吴志指导老师:张九华
前言
设计背景。在科学探索和紧急抢险中经常会遇到对与一些危险或人类不能直接到达的地域的探测,这些就需要用机器人来完成。而在机器人在复杂地形中行进时自动避障是一项必不可少也是最基本的功能。因此,自动避障系统的研发就应运而生。
我们的自动避障小车就是基于这一系统开发而成的。随着科技的发展,对于未知空间和人类所不能直接到达的地域的探索逐步成为热门,这就使机器人的自动避障有了重大的意义。我们的自动避障小车就是自动避障机器人中的一类。自动避障小车可以作为地域探索机器人和紧急抢险机器人的运动系统,让机器人在行进中自动避过障碍物。
目录
一、设计目标:.........................................................4
二、方案设计:.........................................................4
2.1直流调速系统.................................................42.2检测系统.....................................................5三硬件设计.............................................................63.1、spce061a单片机最小系统.....................................6
3.1.1.spce061a时钟电路...........................................................................................8
3.1.2.pll锁相环...........................................................................................................93.1.3.看门狗watchdog..................................................................................................93.1.4.低电压复位(lvr).........................................................................................103.1.5.i/o端口..............................................................................................................103.1.6.时基与定时器.....................................................................................................113.1.7.spce061a的定时器/计数器............................................................................113.1.8.adc、dac........................................................................................................123.2、超声波传感器..............................................12四软件设计...........................................................164.1软件设计各模块..............................................164.2速度控制....................................................174.3障碍物检测..................................................174.4看门狗......................................................174.5基频中断....................................................184.6程序设计流程图..............................................19五:测试数据、测试结果分析及结论.......................................19程序附录...............................................................211.主程序:....................................................212.中断程序....................................................24
3、测距程序....................................................28
一、设计目标:
1.小车从无障碍地区启动前进,感应前进路线上的障碍物后,能自动避开障碍物。
2.根据障碍物的位置选择下一步行进方向,选择左拐还是右拐,若障碍物在左边则自动右拐,若障碍物在右边则左拐,若障碍物在正前方可任意选择左拐或者是右拐,以达到避开障碍物的目的。
3.通过利用单片机内时钟源的控制设定左拐和右拐的时间,从而能持续前进。
4.为达到速度的可控性,需设置两个独立按键对小车进行控速。
二、方案设计:
根据设计要求,确定如下方案。在现有玩具电动车的基础上,加装超声波传感器,实现对电动车的运行状况的实时测量,并将测量数据传送至单片机进行处理,然后由单片机根据所检测的各种数据实现对电动车的智能控制。
这种方案能实现对电动车的运动状态进行实时控制,控制灵活、可靠,精度高,可满足对系统的各项要求。
2.1直流调速系统
采用脉宽调速系统
脉宽调速系统的主电路采用脉宽调制式变换器,简称pwm变换器。
脉宽调速也可通过单片机控制继电器的闭合来实现,但是驱动能力有限。为顺利实现电动小汽车的前行与倒车,本设计采用了可逆pwm变换器。可逆pwm变换器主电路的结构式有h型、t型等类型。我们在设计中采用了常用的双极式h型变换器,它是由4个三极电力晶体管和4个续流二极管组成的桥式电路。如附录一:
2.2检测系统
检测系统主要实现红外传感器,超声波传感,光电传感器对车的运行进行实时测量,即利用这种传感器对电动车的避障、位置、行车状态进行测量。行车开始、结束及超声波检测:
在车的开始和结束阶段,都是用红外式的光电传感器,当按下此光电开头,小车就开始行驶,在完成任务后,再按下此开关,小车就停止前进。在前进的过程中不断的发送超声波,并对接到的进行处理计算。如果处理得到的结果是发现前面的障碍时,再行进一次距离的处理,当距离小是40cm时,让小车倒退一段时间,再进行避障处理,如果距离大于40cm,就直接进避障处理。
三硬件设计
3.1、spce061a单片机最小系统
我们用的是凌阳的spce061a单片机最小系统其概述如下:spce061a是继μ’nspTM系列产品spce500a等之后凌阳科技推出的又一款16位结构的微控制器。与spce500a不同的是,在存储器资源方面考虑到用户的较少资源的需求以及便于程序调试等功能,spce061a里只内嵌32k字的闪存(flash)。较高的处理速度使μ’nspTM能够非常容易地、快速地处理复杂的数字信号。因此,与spce500a相比,以μ’nspTM为核心的spce061a微控制器是适用于数字语音识别应用领域产品的一种最经济的选择。
性能
16位μ’nspTM微处理器;
工作电压(cpu)vdd为2.4~3.6v(i/o)vddh为2.4~5.5v;
cpu时钟:0.32mhz~49.152mhz;
内置2k字sram;
内置32kflash;
可编程音频处理;
晶体振荡器;
系统处于备用状态下(时钟处于停止状态),耗电仅为2μa@3.6v;
2个16位可编程定时器/计数器(可自动预置初始计数值);
2个10位dac(数-模转换)输出通道;
32位通用可编程输入/输出端口;
14个中断源可来自定时器a/b,时基,2个外部时钟源输入,键唤醒;
具备触键唤醒的功能;
使用凌阳音频编码sacm_s240方式(2.4k位/秒),能容纳210秒的语音数据;
锁相环pll振荡器提供系统时钟信号;
32768hz实时时钟;
7通道10位电压模-数转换器(adc)和单通道声音模-数转换器;
声音模-数转换器输入通道内置麦克风放大器和自动增益控制(agc)功能;
具备串行设备接口;
具有低电压复位(lvr)功能和低电压监测(lvd)功能;
内置在线仿真电路ice(in-circuitemulator)接口;
具有保密能力;
具有watchdog功能;
16位μ’nspTM微处理器硬件结构图
ice_enice_sckice_sda16位微控制器u'nspflash双16位定时器/计数器时基中断控制+iceramvcpxi/rxo锁相环振荡器cpu时钟实时时钟7通道10位adc单通道adc+agcmic_in低电压监测/低电压复位watchdog串行异步通讯接口iob7(rxd)iob10(txd)双通道10位dac串行输入输出接口iob0(sck)iob1(sda)aud1aud232管脚通用输入输出端口ioa1503.1.1.spce061a时钟电路
spce061a时钟电路采用晶体振荡器。下图为spce061a时钟电路的接线图。外接晶振采用32768hz。
3.1.2.pll锁相环
pll电路的作用是将系统提供的实时时钟的基频(32768hz)进行倍频,输出系统时钟fosc
32768hz晶振锁相环(pll)系统时钟发生器频率:
20.48m,
24.576m,
32.768m,
40.96m,49.152mb7b6b5fosc(默认值24.576mhz)系统时钟选频p_systemclock单元的第7,6,5位
3.1.3.看门狗watchdogspce061a的清狗周期为0.75s;清看门狗操作寄存器:p_watchdog_clear(0x7012h)清狗操作:在每个0.75s的清狗周期里p_watchdog_clear写入0x0001。
3.1.4.低电压复位(lvr)
通过某种方式,使单片机内存各寄存器的值变为初始的操作称为复位。spce061a的复位方式为低电压复位。
3.1.5.i/o端口oa口:
ioa0~ioa6:7路普通ad输入端口,ioa0~ioa7:触键唤醒功能
iob口:
外部中断输入,串行接口、pwm输出等复用端口
3.1.6.时基与定时器
时基信号可提供常用的、现成的频率信号,完成部分定时器的功能
时间基准信号部分时基选频时基中断32768hzrtcpll倍频定时器/计数器fosc时钟源3.1.7.spce061a的定时器/计数器
递增计数方式,自动重载定时器/计数器初始值,输出4位可调脉宽比pwm信号,溢出频率/2的方波输出,多种时钟源11
输入。
3.1.8.adc、dacspce061a的特色是其强大灵活的语音功能;而单片机对语音处理的支持,除了其处理能力外,还有片内集成的adc、dac;特别是集成有agc电路的mic通道。adc转换过程:
启动自动方式rdy=0sar=1000000000bdac0输出vdac0与vin逐次比较比较结束,rdy=1结果存入结果寄存器等待读取结果寄存器
3.2、超声波传感器
1.基本特性与参数指标
超声波传感器谐振频率:40khz;模组传感器工作电压:
4.5v~9v模组接口电压:
4.5v~5.5v2.主要功能
三种测距模式选择跳线j1(短距、中距、可调距):
短距:20cm~100cm左右(根据被测物表面材料决定),精度1cm;
中距:70cm~400cm左右(根据被测物表面材料决定);可调:范围由可调节参数确定,当调节在合适的值时,最远测距700cm左右;
3.结构示意图
一般应用时,只需要用两条10pin排线把j5与spce061a的iob口低八位连接,j4与iob口高八位连接,同时设置好j
1、j2跳线就完成硬件的连接了。不同测距模式的选择只需改变测距模式跳线j1的连接方法即可。模组工作的性能与被测物表面材料有很大关系,如毛料、布料对超声波的反射率很小,会严重影响测量结果实物图:13
j1为选择工作模式,j2选择电源接口4.电路原理图介绍:
超声波谐振频率调理电路
由单片机产生40khz的方波,并通过模组接口(j4)送到模组的cd4049,而后面的cd4049则对40khz频率信号进行调理,以使超声波传感器产生谐振。
超声波回波接收处理电路
超声波接收处理部分电路前级采用ne5532构成10000倍放大器,对接收信号进行放大;后级采用lm311比较器对接收信号进行调整,比较电压为lm311的3管脚的输入,可由j1跳线选择不同的比较电压以选择不同的测距模式。
测距程序流程图
超声波测距的功能函数流程图如图。用户只需进行六次测距操作,这六次的测量结果需要经过处理后才可得到最终的测距返回值,然后将返回值化成距离。
四
软件设计
4.1软件设计各模块
voidruntime2hz(void);设置2hz基频中断向量函数。
voidofftime2hz(void);清2hz基频中断向量函数。voidclear_watchdog(void);清看门狗函数
unsignedintsp_getch(void);取键值函数voiddelay2s(inttimer)可调的延迟函数
4.2速度控制
速度控制用timera的pwm输出控制,当它前进时设pwm为12/16,当它转弯时设为8/16。其代码为:*p_timera_ctrl=0x0333;*p_timera_data=0xff9f;
4.3障碍物检测
用timerb的tont输出给超声波提供出射频率,并给它延迟一段时间,发射完时,清timerb,让它工作在计时方式,当计到10000时。没有收到回波,则说明前在无障碍。如果有收到回波则说明有障碍。
4.4看门狗
看门狗只要一定时间给其喂狗,就可以保证程序不会跑飞,
跑飞就会自动复位。其代码就只有一句。*p_watchdog_clear=0x0001;
4.5基频中断
采用2hz的基频中断,实现实时控制;一次中断,中断时间为0。5s,其代码如下:
[p_int_ctrl]=r1;
intirq;
//开中断
4.6程序设计流程图
五:测试数据、测试结果分析及结论
测试方法与仪器:
1.测试仪器
测试仪器包括数字万用表、信号发生器、示波器、直流稳压电源等。
2.测试方法
数字万用表主要用来测试各个io口的状态;
信号发生器与示波器用于测试超声波传感器信号的接收与传输;
试验测试能不能完成固定避障。
结论:
经过了我们的努力,我们基本上能完上避障的功能。当然我们之后还有很长的路要走,
在之后我们会自己做一个最小系统,此次我们更侧重于软件方面的设计。同时我们还要设计更多的外围电路,实现更多的功能。其中包括:红外光电检测用来检测旁边的物体;还有红外遥控器,用来控制小车的运行与停止;再加一个显示器,用来显示路程和时间等等。
附录一:
程序附录:
程序设计中包括:主程序,测距程序,中断程序组成;
1.主程序:
include"spce061a.h"Xinclude"ceju.h"
unsignedcharintflag;
//定时标识
unsignedintsum;
//2hz计数器
1次为0。5秒voidruntime2hz(void);voidofftime2hz(void);voidclear_watchdog(void);voiddelay2s(inttimer)
//设置基频为2hz的中断,就是一次定时0。5s{
sum=timer;runtime2hz;
//运行中断
while(。intflag)
{
21
clear_watchdog;//清看门狗
}
intflag=0;
offtime2hz;
//结束中断
}voiddelay2s(inttimer);intmain(void){unsignedintback_data;
*p_iob_dir=0x1f00;
iob,iob8~12同向输出
*p_iob_attrib=0x1f00;*p_iob_data=0x0000;intflag=0;clear_watchdog;
while(1){
*p_timera_ctrl=0x0373;
*p_timera_data=0xff9f;
这14/16
back_data=measure_times(0);if(back_data==0)
//装距离//
初
始
化
//清看门狗
//设前进pwm
//测距
//判断是否为0,
22
为0则为前进
{
*p_timera_ctrl=0x0373;
*p_timera_data=0xff9f;
}
elseif(back_data
第16页 共16页
展开阅读全文