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

自动避障小车课程设计

单片机系统课程设计成绩评定表设计课题:自动避障小车学院名称:电气工程学院专业班级:自动1105 学生姓名:学号:指导教师:设计地点:31-630 设计时间:单片机系统课程设计课程设计名称:自动避障小车专业班级:自动1105学生姓名:学号:指导教师:课程设计地点:31-630课程设计时间:单片机系统课程设计任务书目录1概述-------------------------------------------------------------- 41.1研究背景----------------------------------------------------- 41.2设计思想及基本功能------------------------------------------- 4 2总体方案设计------------------------------------------------------ 42.1方案论证----------------------------------------------------- 42.2系统框图----------------------------------------------------- 52.3总体方案设计------------------------------------------------- 6 3硬件电路设计------------------------------------------------------ 73.1电源电路----------------------------------------------------- 73.2晶振电路----------------------------------------------------- 83.3复位电路----------------------------------------------------- 83.4键盘电路----------------------------------------------------- 83.5显示电路----------------------------------------------------- 93.6超声波测距电路---------------------------------------------- 103.7舵机电路---------------------------------------------------- 113.8电机驱动电路------------------------------------------------ 113.9电机转速测量电路-------------------------------------------- 133.10设计PCB和腐蚀电路板--------------------------------------- 14 4系统软件设计----------------------------------------------------- 164.1分模块程序设计---------------------------------------------- 184.2主程序设计-------------------------------------------------- 20 5系统调试 ------------------------------------------------------- 20 6总结 ----------------------------------------------------------- 22参考文献:------------------------------------------------------- 23附录A硬件电路图------------------------------------------------- 24附录B 源程序 ---------------------------------------------------- 251概述1.1研究背景科技的发展趋势之一就是让几乎所有的东西具有一定的智能。

这样的智能一方面可以避免人的复杂性带来的错误,另一方面,作为人的能力的延伸,快速、便捷地适应环境。

本文研究的超声波自动避障小车,就是让小车具有一定的智能,可以作为有人驾驶车辆的一部分,帮助司机及早发现司机还未觉察的危险。

另外,可以应用在无人控制系统里,代替人类完成信息接收、处理和判断。

那么这样它还有更广阔的应用和发展空间。

这个月我国嫦娥三号载着玉兔号月球车踏上了月球,已经开始探索活动。

玉兔号月球车可以自动寻找有价值的目标,自动避开障碍物,自动寻找最优路径等等,这些功能在原理上都差不多,只是所用仪器以及控制算法的不同。

1.2设计思想及基本功能小车设计的基本思路是:不断扫描前方180°左右的水平面内的物体,根据反馈的距离和方位信息确定前方的地形是开阔还是多障碍。

然后根据这些信息通过路径最优算法选择前进方向。

小车的基本功能是识别空旷区和多障区;自动避开障碍物;能够在空旷区快速行驶。

2总体方案设计2.1方案论证首先是测距方案:方案一:激光测距优点:测速快,适应范围广,精确;不过相对于自动避障小车系统,有点大材小用。

激光测距是点对点的测距,一般进行远距离测距比较精确。

如是近距离激光测距,必须要涉及到微小时间测量,51MCU无法胜任。

因此激光测距方案否定。

方案二:超声波测距优点:结构简单,成本低,便于与MCU联机工作。

测量范围从5CM到几百米的距离内精度在毫米级。

尽管它测量的是点到面的距离,但是定向性满足本小车系统的要求。

而且,数据处理简单。

可以考虑。

方案三:雷达测距不太现实,受到本人技术水平限制,无法驾驭雷达测距系统,此外,雷达应用于较大范围的测量和监控,如果用于本小车,同样涉及到微小时间测量,以及雷达数据处理,51MCU难以胜任。

否定!方案四:红外线测距优点:技术难度低,数据处理简单,但是测量开关信号比较好,测量连续信号不够准确。

测量的精度有点低。

因此不是一种较好的测距方法。

综合各因素,选用超声波测距。

其次是微控制器的选择:可选的微控制器有:51系列的STC89C52RC、STC12C5A60S2;TI公司的MSP430G2553;飞思卡尔的MC9S12XS128MAL;意法的STM32F407-Discovery;(这些玩儿过一点,而且最小系统板手边都有)根据本系统的需求,需要两路同频率(50hz)的PWM控制两个舵机、一路PWM频率约几千赫兹控制电机、三个个定时器做脉冲捕捉、至少两个外部中断输入、一个并行6800总线接口。

除了51系列的两款,其他一片足以胜任。

而且对于意法的F407显得大材小用。

飞思卡尔的S12比较合适;TI的G2553的引脚有点少(20个),外围电路设计的会复杂一点,成本也会高一点。

60S2用两片比较合适;用89C52比较麻烦,两片也不够。

根据个人能力,以及时间和进度方面考虑选用60S2,60S2呢,它的资源有:完全兼容51 的两个定时器T0、T1和两个外部中断;两路拥有独立波特率的串行口;一个PCA定时器,可产生两路同频的PWM;八个10位精度的AD 转换通道; 一个硬件SPI接口。

2.2系统框图系统框图如图2.2所示图2.2系统框图2.3 总体方案设计两片60S2一个做主机,一个做从机,通过串行口通信,传递数据。

主机用到的功能有:(1)、定时器T1和外部中断INT1,作用是:测脉宽,用到的IO是P3^3;P2^0作为超声波测距模块的触发功能引脚;(2)、定时器T0和PCA产生两路同频率的PWM,作用是:T0的溢出率作为PCA的计数脉冲产生50HZ的PWM控制两路舵机。

使用T0作为PCA的时钟源,可以通过改变T0的溢出率改变输出的频率。

用到的IO是P1^3和P1^4;(3)、外部中断INT0接一个按键。

(4)、串口一使用独立波特率发生器,与从机通P3^0和P3^1;(5)、并行数据接口:P0口作为6800并行总线的数据总线P2^7、P2^6和P2^5作为控制总线,分别为:EN(总使能)、R\W(读写控制)、C\D(命令数据控制);地址总线CS接地,一直处于选通状态。

从机用到的功能:(1)、串行口一使用独立波特率发生器P3^0和P3^1与主机通讯;(2)、PCA产生一路PWM,P1^2共同控制电机速度。

(3)、定时器T0和T1作为编码器脉冲计数和测脉宽使用,测量电机的转速。

3硬件电路设计首先是单片机的最小系统如图3.1、3.2所示*图3.1 单片机的最小系统图3.2 单片机的最小系统然后是各个模块电路:3.1电源电路本系统由7.5V 可充电电池供电,由开关电源LM2596转换成5V 电压给单片机和测距模块供电。

出于对系统的稳定性、可靠性和成本的考虑,选用了开关电源模块作为转换电路。

电源部分电路如图3.3图3.3 电源部分电路图3.4 电源模块实物3.2晶振电路虽然60S2内部有RC振荡电路作为时钟电路的输入源,但是外部连接一个无源晶振电路,可以使单片机的时钟频率更稳定,因而工作更可靠。

电路参数:四个电容均为22PF,作为石英晶振频率的微调。

石英晶振的频率为12MHZ。

3.3复位电路复位电路是单片机必不可少的基本电路,在调试阶段,可以按下复位按键,使复位引脚保持两个机器周期的低电平,就可以使单片机内部所有电路初始化。

电路参数:电容1UF只要保证电容的时间常数大于两个机器周期即可。

电阻值为1K欧。

3.4键盘电路键盘电路如图3.5所示图3.5键盘电路可以利用外部中断法或查询法检测按键是否按下。

这里都采用外部中断的方法检测。

3.5显示电路显示电路如图3.6所示图3.6显示电路采用1603液晶屏显示数字和字符。

1603与1602的硬件接口完全一样。

不同之处在于1603的RAM区的内容可以全部同时显示在屏幕上,没有屏幕内容的位移切换。

可以显示四行。

状态指示灯如图3.7所示图3.7 状态指示灯这几个LED灯是作为状态指示用的,方便调试。

3.6超声波测距电路超声波测距模块如图3.8所示图3.8超声波测距模块这是超声波模块的接口电路。

这个超声波的工作原理是:(1)采用 IO 触发测距,给至少 10us 的高电平信号;(2)模块自动发送 8 个 40khz 的方波,自动检测是否有信号返回;(3)有信号返回,通过 IO 输出一高电平,高电平持续的时间就是(4)超声波从发射到返回的时间.测试距离=(高电平时间*声速(340M/S))/2; 超声波模块测距工作时序图:触发信号(由单片机产生一个宽度大于10US的高脉冲,触发模块工作一次):_|¯¯¯¯|_______________________________________________|¯¯¯¯模块内部发出的信号(循环发出8个40KHZ的脉冲):______|¯|_|¯|_|¯|_|¯|_|¯|_|¯|_|¯|_|¯|___________________输出回响信号(回响信号的高电平持续时间正比于检测的距离):____________________________________|¯¯¯¯¯¯¯¯¯¯¯¯¯¯|____3.7舵机电路舵机电路如图3.9所示图3.9舵机电路舵机驱动电路。

相关主题