深大二队技术报告.doc

上传人:豆**** 文档编号:17654689 上传时间:2022-05-25 格式:DOC 页数:26 大小:377KB
返回 下载 相关 举报
深大二队技术报告.doc_第1页
第1页 / 共26页
深大二队技术报告.doc_第2页
第2页 / 共26页
点击查看更多>>
资源描述

《深大二队技术报告.doc》由会员分享,可在线阅读,更多相关《深大二队技术报告.doc(26页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流深大二队技术报告.精品文档.第一届“飞思卡尔”杯全国大学生智能汽车邀请赛技 术 报 告学 校: 深圳大学队伍名称: 深大二队 参赛队员: 张磊、李征文带队教师: 邓元龙 关于技术报告和研究论文使用授权的说明 本人完全了解第一届“飞思卡尔”杯全国大学生智能汽车邀请赛关保留、使用技术报告和研究论文的规定,即:参赛作品著作权归参赛者本人,比赛组委会和飞思卡尔半导体公司可以在相关主页上收录并公开参赛作品的设计方案、技术报告以及参赛模型车的视频、图像资料,并将相关内容编纂收录在组委会出版论文集中。参赛队员签名: 带队教师签名: 日 期: 目 录第一章

2、前言1第二章 路径识别系统的设计22.1检测方法的确定22.2光电传感器的确定22.3发射管驱动电路的设计32.4路径识别32.5光电传感器的固定3第三章 硬件电路的设计33.1 电源管理模块设计33.2电机驱动电路33.3速度检测电路43.4电路版的固定4第四章 控制算法及软件实现44.1控制方案44.2控制算法编程54.2.1思路分析54.2.2算法实现74.2.3仿真104.2.4控制算法仿真114.2.5Plastid仿真结果分析12第五章 结论1第一章 前言“FERRSCALE”杯全国大学生智能车竞赛最主要的技术问题是:路径的自动识别和控制算法(策略)的设计。路径识别采用光电检测方法

3、,把九对(发射与接收)光电传感器排成一列安装在小车的前面探测黑线。智能车的运动控制需要车速检测,考虑到对精度要求不高,在小车其中一个后轮上贴上8个黑白等间隔的条纹,采用光电检测的方法,通过测量脉冲宽度获得小车的瞬时速度。除了组委会提供的S12核心电路之外,设计和制作完成的硬件电路可以简单的分成四部分:1 稳压电路部分,为单片机等电路提供合适的电压;2 电机的驱动电路,采用集成芯片MC33886作为驱动,调制脉冲由单片机提供;3 路径识别电路;4 速度检测电路。具体内容在相应章节介绍。控制算法算法以及调试以Freescale的16位单片机MC9S12DG128作为核心控制器,以PWM(脉宽调制)

4、信号控制直流电机和转向舵机。同时,用Plastid软件对控制方案进行仿真,用于指导实验。基于可靠的硬件设计,应用有提前纠偏特色的分级角度可调速控制算法,实现了智能小车的寻迹行驶。提前纠偏的方法较好地改善了分级角度匀速控制的直线蛇形前进问题。硬件总的方案图1:测速模块舵机电源管理模块(5V稳压)S12电路板电机驱动(MC33886)电池(7.2V)路径识别模块图1:系统框图第二章 路径识别系统的设计2.1检测方法的确定检测白底黑线有两种思路:一是颜色识别;二是利用黑白物体对光的反射率不同。前者一般使用颜色识别模块,但其中有前置的微处理器,不符合竞赛规则;如果不使用模块,使用MC9S12DG128

5、做颜色判断和处理,必然占用较多的资源,影响控制周期和算法的展开。第二种方法又可分为:(1)利用CCD等图像传感器获得黑白图像,经单片机采集后,通过数字图像处理方法获得路径信息;(2)直接利用红外线发射和接受管,实现黑白检测,此方法简单,易于实现,本次设计采用了此方案。2.2 光电传感器的确定红外线探测可以防止可见光的干扰,采用调制与解调方法可以增强抗干扰性能。所以本次设计采用了集成模块HS0038B和红外发光二极管TSAL6200。集成模块HS0038B内部已经集成了光电转换、放大装置和解调电路。HS0038B内部结构图2.2:图2.2:HS0038B内部结构图2.3 发射管驱动电路的设计单片

6、机的PWM模块给发射光的驱动电路提供37K的调制方波,占空比为4:5。采用三级管9012为驱动管,驱动3个放光管。发光管的瞬间电流有100mA左右,平均电流有20mA左右。发射管的简单脉冲驱动电路图如下:图2.3:脉冲驱动电路2.4 路径识别通过实验,得到倾角为45度(光电管与地的角度),峰值电流与探测距离关系曲线:图2.41:峰值电流与探测距离关系曲线接收管加套筒有两点原因:一是接收管和发射管是放得很近的,如果没加套筒,那么接收管就永远会接收到发射管发射管的红外光,从而没办法正常探测。二是套管可以改变接收管的接收范围,提高测量精度。接收管热缩套管1.75cm图2.42:提高精度方案光电管排成

7、一字的形状。以中间的传感器为中心,两边传感器分别代表小车偏离黑色引导线的程度。控制算法以这个信息来控制小车。图2.43:光电传感器排列2.5 光电传感器的固定光电管是成对的焊在一个小的电路板上的,电路通过一个支架被固定,支架通过螺丝上紧在小车的前面。支架与固定方法如图2.44:图2.44:固定支架传感器部分的电路通过排线与小车主电路连接如图2.44。第三章 硬件电路的设计3.1 电源管理模块设计由于路径检测电路与电机驱动电路直接使用电池供电,所以就是使用7805芯片稳压给单片机供电3.2电机的驱动电路电机的驱动电路是采用了FREESCALE公司生产的MC33886驱动芯片。该芯片输出的电压是通

8、过PWM调节的。那么芯片所需要的PWM信号就可以从单片机那里获得。MC33886芯片还有两个许能信号脚,把其中的一个接地单片机的I/O口,让单片机控制,另一个,采用拨动开关,手动控制,这样在调试的时候可以带来方便。CM33886可以提供两路的控制输出,把两路输出并联起来用,这样可以加大芯片的驱动能力。因为电机在起动的时候是需要很大电流的,所以在设计的时候,使用了1000uF的电容。电路如图3.2:图3.2:驱动电路3.3 速度检测电路采用光电检测,在车轮的内侧贴上黑白相邻等间距的贴条。在车轮转动的时候,红外接收管就会输出一个等间距的方波信号。传感器固定在车轮旁边。如图3.3所示:3.4电路板的

9、固定整个电路板大小有13cm10cm,上面包括了检测电路以外的所有其它电路。通过四个柱子固定在小车的上面,这些柱子都是小车本身可以提供的。如图3.4:图3.3:速度检测电路 图3.4:电路板的固定第四章 控制算法及软件实现4.1 控制方案根据前面的传感器中探测到黑线的传感器的级别,得到小车相对黑线的偏差,然后通过PWM信号给与舵机相应的转角,并引入了提前纠偏功能,另外也将速度闭环,从而达到控制速度、方向的目的。4.2控制算法编程4.2.1思路分析结合流程图4.2,对此控制方案的分析如下:每一个传感器对应一级角度,越边上的传感器对应角度越大,中间相邻的两个为左第一级和右第一级,越边上的传感器级数

10、越高,对应角度也就越大,此为分级角度。如图16所示。提前纠偏处理的情况:首先取出上次探测到黑线的传感器级别,判断上次探测到传感器情况,根据上一状态给出舵机控制量。图4.2 :程序流程图4.2.2算法实现利用CodeWarrior提供的专家助手Processor Expert的强大功能以及用c语言实现以上算法(程序参见附录A)。根据智能小车在实验中存在的,将跑道边缘与地面之间缝隙误判断成为黑线的情况,在算法实现中,加入了排除误判断的可能性,由于传感器检测周期短,所以检测跳变相对来说不会太大,将传感器编码(如下面程序),进行差值运算,得出的数据一定在某一范围内,利用这种思想,将以上干扰排除掉,同理

11、也是用于交叉线。传感器编码程序:#define left_4 9#define left_3 8#define left_2 7#define left_1 6 #define center 5#define right_1 4#define right_2 3#define right_3 2#define right_4 1速度调节方面,利用利用CodeWarrior提供的专家助手Processor Expert中的capture功能,对后轮转动传感器检测到的脉冲进行捕捉(图 ),根据实验测得计数器计数8次1us,所以的出以下程序。void Cap1_OnCapture(void) if(

12、time_counter1) if(overflow_counter0) save_time2 = 8192*(overflow_counter-1) + (65535 - save_time1)/8 + TC0/8; else save_time2 = (TC0 - save_time1)/8; savesave_num = save_time2; save_num +; save_time1 = TC0; overflow_counter = 0;实验测得的数据得出基本符合情况,误差相差不超过10,可以达到速度测量的目的。4.2.3 仿真利用软件来仿真光电传感器的排列方案和控制算法,进而指

13、导实验。Plastid智能车仿真系统是基于LabVIEW虚拟仪器技术所开发,可针对不同的赛车、赛道、路径识别方案、传感器排列方案、控制策略等内容,进行相关分析。根据大赛所配车模的尺寸,设置赛车基本信息如表4.2.31。表4.2.31:赛车基本信息设置车长0.27m车宽0.14m侧轮距0.2m右前轮坐标(0.07,0.1)轮长0.05m轮宽0.025m横轮距0.14m角速度90/s满偏角40注:1.横轮距用户不能设定(根据右前轮坐标自动计算而得)。 2.测轮距表示前轮轮心与后轮轮心的距离3.右前轮坐标是以车的中心为原点,车右前轮中心的相对坐标。传感器的排列设计方案和硬件制作由负责传感器设计的小组

14、设计和实施。这里取的是一字型排列9个传感器的方案。其坐标信息如表4.2.32.。表4.2.32:传感器坐标信息传感器序号X坐标Y坐标0-0.080.21-0.060.22-0.040.23-0.020.2400.250.020.260.040.270.060.280.080.2根据所设赛车基本信息和传感器坐标信息,所得图形如图4.2所示。YX图4.2.3:仿真传感器排列4.2.4控制算法仿真将单片机的控制算法编写到DLL文件中进行仿真, 由于在仿真的过程中发现输入接口Pre_Data不起作用,另设一全局变量out_direction(int,32bit有符号整数型)作为保存上一个时刻黑线的位置

15、,函数没有提供速度输出接口,使用加速到一定速度后令*Acceleration=0的方法来达到匀速控制的目的。代码如下:if (Speed_in = 1.5)*Acceleration = 0; 速以及传感器值等信息,经过控制算法的计算后,控制单元输出相应的前轮转角以及加速度值,从而实现一个周期的控制。考虑舵机的最高工作频率200Hz(周期5ms),再合理估计单片机的运算周期,取仿真周期为15ms。分级角度匀速控制dll代码见附录B。4.2.5 Plastid仿真结果分析设置仿真周期为15ms,启动加速度0.8m/s2。分3级角度,仍然是一字型9个传感器,左边的4个对应一级角度(即无论左边哪一个

16、传感器探测到黑线,舵机都打同一个角度),右边的4个也对应一级角度,中间的1个探测到则直走。取左右的一级角度都为20,给予不同的速度,其仿真结果如表4.2.51。表4.2.51:分3级角度仿真结果速度(m/s)是否冲出跑道完成2圈时间(s)第一圈时间(s)第二圈时间(s)1.5是1.4是1.3是1.2否4523221.1否482523分9级角度的仿真结果如表4.2.52:9级角度取为:10,20,30,40,0表4.2.52:分9级角度仿真结果速度(m/s)是否冲出跑道完成2圈时间(s)第一圈时间(s)第二圈时间(s)3是2.5是2是1.6是1.5否3719181.4否392019由上面两表和仿

17、真实验的过程可知,对于匀速控制,分9极角度比分3级角度取得更高的速度性能和稳定性能:分9级角度的上限速度为1.5m/s,以此速度完成2圈时间为37s,最快单圈时间为19s;分3级角度的上限速度为1.2m/s,以此速度完成2圈时间为45s,最快单圈时间为22s。同时,分9级角度直道和弯道都行进平滑,而分3级角度跑直道的蛇形明显严重。第 五 章 结论通过长时间的使用,小车的硬件部分情况良好。整部车的功能介绍如下:改造后的车模总体重量:为1.5kg ,长 38cm,最宽的为18cm,高9.5cm尺寸。电路功耗,不带电机的功耗为7.2V*0.33A,带电机40空载;所有电容总容量为1452.5uF;只

18、使用了红外收发管共10对;除了车模原有的驱动电机、舵机之外没有使用伺服电机;赛道信息检测精度1.5cm、频率8us。寻迹智能小车系统的设计经硬件电路的制作、单片机程序的编写、用软件仿真传感器和控制算法以指导实验,再通过实验结果的反馈进行改进,实现了智能小车的变速寻迹行驶。实验证明,在模拟赛道上,智能小车行使平稳,转弯较为平滑。但也存在以下问题:1) 但由于受到车的前瞻性的限制,转弯速度不易过快。2) 采用具有提前纠偏的分级角度可调速控制方案,能以2 m/s左右的上限速度完成大赛规定参数的跑道。超过2m/s的速度跑直道时仍会有轻微蛇形前进。3) 利用Plastid仿真在硬件条件未准备好的情况下,

19、分析各种基于光电传感器的排列方案和控制算法。但由于把小车看成一个质点,忽略了质量和惯性,仿真结果会有一定误差。 由于智能小车可以采取速度控制,下一步利用记忆功能,对小车的入弯速度进行控制,并尽量提高直到速度,同时利用算法提高检测精度来解决以上问题。【参考文献】1雷玉堂.王庆有。光电检测技术,中国计量出版社,1997.7.2陈永甫红。外辐射红外器件与典型应用,电子工业出版社,2004.63 陈永甫红。红外探测与控制电路,人民邮电出版社,2004.64秦积荣,光电检测原理及应用,国防工业出版社,19875不详,国内外半导体光电器件实用手册,电子工业出版社6吴杰,光电信号检测,哈尔滨工业大学出版社,

20、1990.7胡助理,安文源,李玲,欧阳小东.基于单片机技术的光电检测研究,现代电子技术2004年第 13期总第 180期8赵冬娥,光电检测系统中对干扰光的抑制办法研究,测试技术学报2004年第18卷增刊9丁广文,陈工,王志良,一种基于PIC单片机的红外遥控系统,河北工业大学学报2003年4月第32卷第2期10邵贝贝.单片机嵌入式应用的在线开发方法.清华大学出版社。2004.1011(日)安部正人著.陈辛波译.汽车的运动和操纵.机械工业出版社。1998.1012伍晓宇.辛勇.CC语言与研究开发实践.航空工业出版社。199913龚建伟 熊光明.Visual C+/Turbo C 串口通信编程实践.

21、电子工业出版社。2005.614杨素行.模拟电子技术基础简明教程. 高等教育出版社。1998.10附录A:主要程序代码for(;)PWME_PWME1 = 1; if(k=0) if(PORTB!=0x00|S_right4=1) PWME_PWME2 = 1; PWME_PWME0 = 1; if(S_center=1) direction_flag1=center; stat=direction_flag1-direction_flag; nowstat=center_angle; go_nowstate(); else if(S_left1=1) direction_flag1=left

22、_1; stat=direction_flag1-direction_flag; nowstat=left_angle1; go_nowstate(); if(direction_flag=left_2) angle = center_angle; direction_flag = left_1; else if(S_right1=1) direction_flag1=right_1; stat=direction_flag1-direction_flag; nowstat=right_angle1; go_nowstate(); if(direction_flag=right_2) aang

23、le = center_angle; direction_flag = right_1; else if(S_left2=1) direction_flag1=left_2; stat=direction_flag1-direction_flag; nowstat=left_angle2; go_nowstate(); if(direction_flag=left_3) /回直道时提前纠偏 angle = left_angle1; else if(S_right2=1) direction_flag1=right_2; stat=direction_flag1-direction_flag;

24、nowstat=right_angle2; go_nowstate(); if(direction_flag=right_3) /回直道时提前纠偏 angle = right_angle1; else if(S_left3=1) direction_flag1=left_3; stat=direction_flag1-direction_flag; nowstat=left_angle3; go_nowstate(); if(direction_flag=left_4) /回直道时提前纠偏 angle = left_angle3; else if(S_right3=1) direction_f

25、lag1=right_3; stat=direction_flag1-direction_flag; nowstat=right_angle3; go_nowstate(); if(direction_flag=right_4) /回直道时提前纠偏 angle = right_angle2; else if(S_left4=1) direction_flag1=left_4; stat=direction_flag1-direction_flag; nowstat=left_angle4; go_nowstate(); else if(S_right4=1) direction_flag1=r

26、ight_4; stat=direction_flag1-direction_flag; nowstat=right_angle4; go_nowstate(); else if(direction_flag=left_4) direction_flag1=left_4; stat=direction_flag1-direction_flag; nowstat=left_angle4; go_nowstate(); angle = 1760; else if(direction_flag=right_4) direction_flag1=right_4; stat=direction_flag

27、1-direction_flag; nowstat=right_angle4; go_nowstate(); angle = 1060; PWM_Fmotor_SetDutyUS(angle); speed_control();void go_laststate(void) if(direction_flag=1) angle=1060; else if(direction_flag=9) angle=1760;void go_nowstate(void) if(stat-2) angle=nowstat; direction_flag=direction_flag1; else if(dir

28、ection_flag5) direction_flag=9; else if(direction_flag1) if(overflow_counter0) save_time2 = 8192*(overflow_counter-1) + (65535 - save_time1)/8 + TC0/8; else save_time2 = (TC0 - save_time1)/8; savesave_num = save_time2; save_num +; / Display(save_time2); save_time1 = TC0; overflow_counter = 0; Cap1_E

29、nableEvent();仿真程序代码:/* Call Library source file */#include extcode.h_declspec(dllexport) void AI(unsigned short int Senser, double Speed_in, double Pre_Data, double *C_ang, double *Acceleration);void left_turn(unsigned short int *Senser, double *C_ang, double *Acc);void right_turn(unsigned short int

30、 *Senser, double *C_ang, double *Acc);void mid_turn(unsigned short int *Senser, double *C_ang, double *Acc, double *Speed_in);int out_direction;void AI(unsigned short int Senser, double Speed_in, double Pre_Data, double *C_ang, double *Acceleration)/*Input Your Code Here*/if (Senser & 0x7)/senser 0/

31、1/2 is trueleft_turn(&Senser, C_ang, Acceleration);out_direction = 1;else if (Senser & 0x01C0)/senser 6/7/8 is trueright_turn(&Senser, C_ang, Acceleration);out_direction = -1;else if (Senser & 0x38)/senser 3/4/5 is truemid_turn(&Senser, C_ang, Acceleration, &Speed_in);if (Speed_in 0)if(out_direction

32、 = 1)*C_ang = 40;/else if (Pre_Data1 = 1.5)*Acceleration = 0;void left_turn(unsigned short int *Senser, double *C_ang, double *Acc)if (*Senser & 0x1)/ senser 0 is true*C_ang = 40;else if (*Senser & 0x2)/senser 1 is true*C_ang = 30;else/senser 2 is true*C_ang = 10;void right_turn(unsigned short int *

33、Senser, double *C_ang, double *Acc)if (*Senser & 0x0100)/senser 8 is true*C_ang = -40;else if (*Senser & 0x80)/senser 7 is true*C_ang = -30;else/senser 6 is true*C_ang = -10;void mid_turn(unsigned short int *Senser, double *C_ang, double *Acc, double *Speed_in)if (*Senser & 0x20)/senser 5 is true*C_

34、ang = -5;else if (*Senser & 0x10)/senser 4 is true*C_ang = 0;else/senser 3 is true*C_ang = 5;第一届“飞思卡尔”杯全国大学生智能汽车邀请赛技 术 报 告附件B基于模糊控制的智能寻迹小车注学 校: 深圳大学队伍名称: 深大二队 参赛队员: 张磊带队教师: 邓元龙 注:研究论文附录B 等内容是可以选择部分。关于技术报告和研究论文使用授权的说明 本人完全了解第一届“飞思卡尔”杯全国大学生智能汽车邀请赛关保留、使用技术报告和研究论文的规定,即:参赛作品著作权归参赛者本人,比赛组委会和飞思卡尔半导体公司可以在相关

35、主页上收录并公开参赛作品的设计方案、技术报告以及参赛模型车的视频、图像资料,并将相关内容编纂收录在组委会出版论文集中。参赛队员签名: 带队教师签名: 日 期: 基于模糊控制的智能寻迹小车张磊(深圳大学工程技术学院自动化系,广东 深圳)【摘要】本文基于语言规则与模糊推理实现了智能小车的路径识别与运动控制。 推导并建立了智能小车的运动学方程,对不同速度和路径情况下智能小车的行驶进行了分析与仿真,利用Matlab的模糊控制工具箱对系统的输入输出进行了验证,在获得大量实验数据的基础上,采用freescale公司的MC9SC12系列16位单片机实现了智能小车的自动寻迹和行驶。【关键词】智能小车;模糊控制

36、;路径识别The Smart Car for Route Recognition and Tracking Based on Fuzzy Control【Abstract】The rule of language and fuzzy control are applied to route recognition and tracking of a smart car. The kinematics equations of smart car are deducted, analysis and simulation are carried out for the motion of sma

37、rt car under different speed and route. The functions in fuzzy control toolbox of Matlab6.5 are employed to check the validation of input and output. The experiment results demonstrate the smart car based on a 16bit-MCU of Freescale is capable of racing in the specific racetrack. 【Key Words】smart ca

38、r; fuzzy control; route recognition国内外学者和科技人员已经研究出了很多针对具体目标的识别和跟踪算法,但是相对来说利用模糊控制算法来实现智能小车的目标识别与跟踪较少,原因为模糊算法需要在大量实验的基础上得出结论,同时需要有丰富的专家经验融合在所设计的系统中,模糊控制器的参数调整相对传统的控制方法来说也较为困难。但是由于模糊控制运算周期短,无需建立复杂的数学模型,所以非常适合智能小车的目标识别与跟踪。本文提出了一种在速度保持一定的前提下,采用“飞斯卡尔”MC9S12DG128B单片机为核心控制器,利用模糊控制策略处理来自光电传感器所采集到的指引线数据的设计方法,从而减少系统运算时间,提高系统的响应速度,减少系统的响应时间,加强系统的稳定性,为今后进一步研究提供了一个平台。 1.智能寻迹小车的系统组成大赛配发的标准车模用7.2V 2000mAh Ni-cd蓄电池进行电压调节。其中,单片机系统、路径识别的光电传感器和接收器电路、转向舵机(工作电压范围4.8V到6V)需要5V电压,CCD传感器需要12V电压,直流电机可以使

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁