当前位置:文档之家› 自动避障小车设计

自动避障小车设计

自动避障小车技术报告前言设计背景:在科学探索和紧急抢险中经常会遇到对与一些危险或人类不能直接到达的地域的探测,这些就需要用机器人来完成。

而在机器人在复杂地形中行进时自动避障是一项必不可少也是最基本的功能。

因此,自动避障系统的研发就应运而生。

我们的自动避障小车就是基于这一系统开发而成的。

随着科技的发展,对于未知空间和人类所不能直接到达的地域的探索逐步成为热门,这就使机器人的自动避障有了重大的意义。

我们的自动避障小车就是自动避障机器人中的一类。

自动避障小车可以作为地域探索机器人和紧急抢险机器人的运动系统,让机器人在行进中自动避过障碍物。

目录一、设计目标: (3)二、方案设计: (4)2.1直流调速系统 (4)2.2检测系统 (4)三硬件设计 (5)3.1、SPCE061A单片机最小系统 (5)3.1.1.SPCE061A时钟电路 (8)3.1.2.PLL锁相环 (9)3.1.3.看门狗Watchdog (9)3.1.4.低电压复位(LVR) (10)3.1.5.I/O端口 (10)3.1.6.时基与定时器 (11)3.1.7.SPCE061A的定时器/计数器 (11)3.1.8.ADC、DAC (12)3.2、超声波传感器 (12)四软件设计 (16)4.1软件设计各模块 (16)4.2速度控制 (17)4.3障碍物检测 (17)4.4看门狗 (17)4.5基频中断 (18)4.6程序设计流程图 (19)五:测试数据、测试结果分析及结论 (19)程序附录 (21)1.主程序: (21)2.中断程序 (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 是继μ’nSP™系列产品SPCE500A等之后凌阳科技推出的又一款16位结构的微控制器。

与SPCE500A不同的是,在存储器资源方面考虑到用户的较少资源的需求以及便于程序调试等功能,SPCE061A里只内嵌32K字的闪存(FLASH)。

较高的处理速度使μ’nSP™能够非常容易地、快速地处理复杂的数字信号。

因此,与SPCE500A相比,以μ’nSP™为核心的SPCE061A微控制器是适用于数字语音识别应用领域产品的一种最经济的选择。

性能16位μ’nSP™微处理器;工作电压(CPU) VDD为2.4~3.6V (I/O) VDDH为2.4~5.5V ; CPU时钟:0.32MHz~49.152MHz ;内置2K字SRAM;内置32K FLASH;可编程音频处理;晶体振荡器;系统处于备用状态下(时钟处于停止状态),耗电仅为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- Circuit Emulator)接口; 具有保密能力;具有WatchDog功能;16位μ’nSP™微处理器硬件结构图3.1.1.SPCE061A时钟电路SPCE061A时钟电路采用晶体振荡器。

下图为SPCE061A时钟电路的接线图。

外接晶振采用32768Hz。

3.1.2.PLL 锁相环PLL 电路的作用是将系统提供的实时时钟的基频(32768Hz)进行倍频,输出系统时钟Fosc锁相环(PLL)系统时钟发生器频率:20.48M,24.576M,32.768M,40.96M,49.152M32768Hz晶振Fosc (默认值24.576MHz)系统时钟选频P_SystemClock 单元的第7,6,5位b7b6b53.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.时基与定时器时基信号可提供常用的、现成的频率信号,完成部分定时器的功能32768Hz RTC PLL倍频时基选频定时器/计数器时钟源时基中断Fosc 时间基准信号部分3.1.7.SPCE061A 的定时器/计数器递增计数方式,自动重载定时器/计数器初始值,输出4位可调脉宽比PWM 信号,溢出频率/2的方波输出,多种时钟源输入。

3.1.8.ADC、DACSPCE061A的特色是其强大灵活的语音功能;而单片机对语音处理的支持,除了其处理能力外,还有片内集成的ADC、DAC;特别是集成有AGC电路的MIC通道。

ADC转换过程: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口高八位连接,同时设置好J1、J2跳线就完成硬件的连接了。

不同测距模式的选择只需改变测距模式跳线J1的连接方法即可。

模组工作的性能与被测物表面材料有很大关系,如毛料、布料对超声波的反射率很小,会严重影响测量结果实物图:J1为选择工作模式,J2选择电源接口4.电路原理图介绍:超声波谐振频率调理电路由单片机产生40KHz的方波,并通过模组接口(J4)送到模组的CD4049,而后面的CD4049则对40KHz频率信号进行调理,以使超声波传感器产生谐振。

超声波回波接收处理电路超声波接收处理部分电路前级采用NE5532构成10000倍放大器,对接收信号进行放大;后级采用LM311比较器对接收信号进行调整,比较电压为LM311的3管脚的输入,可由J1跳线选择不同的比较电压以选择不同的测距模式。

测距程序流程图超声波测距的功能函数流程图如图。

用户只需进行六次测距操作,这六次的测量结果需要经过处理后才可得到最终的测距返回值,然后将返回值化成距离。

四软件设计4.1软件设计各模块void RunTime2Hz(void);设置2HZ基频中断向量函数。

void OffTime2Hz(void);清2HZ基频中断向量函数。

void Clear_WatchDog(void);清看门狗函数unsigned int SP_GetCh(void);取键值函数void delay2s(int timer)可调的延迟函数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;INT IRQ; //开中断4.6程序设计流程图五:测试数据、测试结果分析及结论测试方法与仪器:1.测试仪器测试仪器包括数字万用表、信号发生器、示波器、直流稳压电源等。

2.测试方法数字万用表主要用来测试各个IO口的状态;信号发生器与示波器用于测试超声波传感器信号的接收与传输;试验测试能不能完成固定避障。

相关主题