第一篇:智能车实验报告
宁
波
大
学
创新性开放实验报告 题目
基于光电传感器得自动寻迹小车
学 学
号 号:
:
姓 姓
名:
专 专
业 业:
:
指导教师:
目录
光电感应智能车................................................................................................错误!未定义书签。
一、硬件系统………………………………………………………………………………… 错误!未定义书签。
(一)硬件框图……………………………………………………………………………………、、3
1、电源模块 ...............................................................................................................................4
2、寻迹模块 ...............................................................................................................................4
3、驱动模块 .........................................................................................................................5
4、测速模块 6ﻩ二、软件系统...............................................................................................................................7(一)
主程序流程图...................................................................................................................7
1、电机驱动 8ﻩ
2、舵机驱动.......................................................................................................................10
参考文献.........................................................................................................................................13
光电感应自动寻迹智能车
【 摘要 】
如果把自动寻迹小车成比例得扩大数倍,就成为真正有 意义上得智能车,可以运用于军事、民用领域,对未来汽车行业得发展有一定得借鉴意义。通过 光电传感器来寻找轨迹,以所编写得程序为软件支持, , 通过单片机计算生成相应得控制参数,驱动电机来使小车按照轨迹运动。其中小车在直线行驶过程控制参数 保持不变,匀速行驶,而在小车要转弯之前则要先减速以防止小车过弯时冲出赛道,弯道过去之后在加速行驶以减少行驶时间。
【关键词】
红外 传感器
D;PID 控制;;自动寻迹
一、
硬件 系统(一)
智能小车得整体结构图
智能车通过单片机来接受与发出参数状态信号,电源模块就是给智能车各个模块提供电压以使模块可以正常运作,寻迹模块则就是包含着参数输送给单片机得作用,驱动模块就是小车动起来得根源,测速模块就是为了控制车速以使智能车平稳得沿着车道运行。
1、电源模块
在“飞思卡尔”比赛中,比赛方提供得就是智能车竞赛统一配发得标准车模用7、2V 供电,但就是在单片机系统、路径识别得光电传感器、光电码编码器等均需要 5V电源,直流电机可以使用 7、2V 蓄电池直接供电,我们采用得电源有串联型线性稳压电源(LM2940、7805 等)与开关型稳压电源(LM2596)两大类。对于单片机,选用 LM2940-5单独对其进行供电;而其它模块则需要通过较大得电流,利用 LM2940—5 与LM2596—5 对控制系统与执行部分开供电,可以有效地防止各器件之间发生干扰,以及电流不足得问题,使得系统能够稳定地工作.电源电路图:
2、寻迹模块
寻迹模块就是智能车系统得关键模块之一,所寻找得路径得好坏,将直接影响竞赛得结果,我们采用得就是光电传感器来寻找路径,光电传感器具有电路简单、信号处理速度快等特点。因为在赛道中由黑色轨迹线与大面积得白色区域组成,则会使发光二极管发射得光线强度不同,从而使接受到得光线强度不同,以此来指示小车前进。
红外传感器电路图:
3、驱动模块
电机驱动电路可以用MOS 管搭建 H 桥驱动电路。采用 MOS管构成得 H 桥电路,控制直流电机紧急制动。用单片机控制 MOS 管使之工作在占空比可调得开关状态,精确调整电动机转速。这种电路由于MOS管工作在饱与截止状态,而且还可以选择内阻很小得 MOS管,所以效率可以非常高,并且H桥电路可以快速实现转速与方向控制。MOS 管开关速度高,所以非常适合采用 PWM调制技术.所以我们选择了用MOS 管搭建 H 桥驱动电路。
电机正转电路:
电机驱动电路:
4、测速 模块
在比赛中常用霍尔传感器来测速。如图 1 所示,在半导体薄片两端通以控制电流I,并在薄片得垂直方向施加磁感应强度为 B 得匀强磁场,则在垂直于电流与磁场得方向上,将产生电势差为 UH得霍尔电压, 它们之间得关系为 U=k,d 为薄片厚度,k 为霍尔系数,通过对一定时间内脉冲信号数量得捕捉可以计算出车轮得速度.霍尔传感器得电路图:
二、
软件系统
系统主程序流程图1、、电机驱动
因为智能车在赛道上得路径不就是一条直线,它就是存在弯道得,所以让小车以个加速度均匀得行驶就是难以实现得,在此,我们采用在弯道里速度慢一些以保证稳定性,在直道上速度快一些以减少整体行驶时间。在软件上得计算方法采用 PID 控制.PID 控制器简单易懂,使用中不需精确得系统模型就是我们选择得原因。
算法:u(t)=kp[e(t)+1/TI∫e(t)dt+TD*de(t)/dt] 在实验中为提高精确度,选择积分分离PID算法,即当速度误差较大时选择 PD 控制,可避免大得超调,又使系统有较快得相应,当速度误差较小时选择PID 控制,可保证控制精度。u(k)=kpe(k)+bT i ∑e(j)+T d *[e(k)—e(k-1)]
b=1 或 0 e(k)就是当前给定速度与测量速度得偏差,e(k-1)就是上次得偏差.PID 控制程序:
#include<IP diovﻫ”h、elbirav_labolgﻩ”edulcniﻫ#〉h、bildtsﻩD_Math(void)开始 系统初始化 定时器开始 寻迹模块工作 舵机工作 驱动电机工作 速度采样 定时中断否
{ﻫ 阶一差偏//
;1ee gnol dengisﻩﻫ //signed long ee2;
// 阶二差偏ﻩ signed long d_out;//ﻫ出输分积ﻩﻩ)KO_T_DIP_galF!(fiﻩ
;nruterﻩ Flag_PID_T_OK=0; ﻫ ﻩ Temp_Set=3700;
ﻩﻩﻩ //00、73值定设制控度温ﻩﻩ度
PID_e0 = Temp_Set—Temp_Now;ﻩ ﻩ //本次偏差
DIP-0e_DIP = 1eeﻫ_e1;
//计算一阶偏差
//
-0e_DIP = 2eeﻫ2*PID_e1+PID_e2;
//计算二阶偏差)005 > 1ee(fiﻩ
ﻩﻩﻩ
//一阶偏差得限制范围
ee1 = 500; ﻫ)005— 〈 1ee(fiﻩ
ee1 =-500; ﻩ
;0e_DIP =+ MUS_e_DIPﻩ //偏差之与2 > MUS_e_DIP(fiﻩﻫ00)
ﻩﻩ
//积分最多累计得温差 ﻩ;002 = MUS_e_DIPﻩﻫ if(PID_e_SUM 〈-200)
;002- = MUS_e_DIPﻩ
*dk_DIP+0e_DIP*pk_DIP = tuO_DIPﻫﻫee1;
//计算 PID 比例与微分输出
/)002 <)0e_DIP(sba(fiﻫ/ﻩﻩﻩ 如ﻩ果温度相差小于 1、5度则计入PID 积分输出 {ﻩﻫ)001 >)0e_DIP(sba(fiﻩ
ﻩ //如果温度相差大于1度时积分累计限制
{ﻩﻩ)001 > MUS_e_DIP(fiﻩﻩ
ﻩ
PID_e_SUM = 100;ﻩﻩ)001-< MUS_e_DIP(fiﻫﻩﻩﻩ ﻫ PID_e_SUM =-100;
ﻫ} ﻩﻫ d_out = PID_ki*PID_e_SUM;
ﻩ //积分输出
if(PID_e0 〈 -5)// ﻫ 制限计累分积时度 5、0 度温定设于高度温前当ﻩﻩ {)051 > MUS_e_DIP(fiﻩﻩ ﻩ;051 = MUS_e_DIPﻩﻩﻩ ﻫ ﻩ
if(PID_e_SUM 〉 0)//ﻩﻫ出输正分积弱削时度5、0 度温定设于高度温前当ﻩﻩ
;1 =>> tuo_dﻩﻩ} ﻩﻫ ﻩ PID_Out += d_out;
ﻩ
//PID比例,积分与微分输出
}ﻩ esleﻩﻫ ;0=MUS_e_DIPﻩ
ﻫ
;001=/tuO_DIPﻫﻩﻩ
ﻩ //_DIP 被复恢ﻩOut 系数放大得倍数
if(PID_Out > 200)
;002=tuO_DIPﻫ)0 PID_Out=0; ﻩﻫ)003 〉 0e_DIP(fiﻫ ﻩ // 当 前温度比设定温度低 3 度则全速加热 PID_Out=200;)02- < 0e_DIP(fiﻫ //ﻩﻩﻩ、0 度温定设于高度温前当ﻩ2 度则关闭加热 ;0=tuO_DIPﻩﻫ ﻩ Hot_T_Run=PID_Out; ﻩ // 出输制控间时热加ﻩﻩ ﻩ PID_e2 = PID_e1; //保存上次偏差 PID_e1 = PID_e0; //保存当前偏差 1 1、舵机驱动 原理:控制电路板接受来自信号线得控制信号,控制电机转动,电机带动一系列齿轮组,减速后传动至输出舵盘。舵机得输出轴与位置反馈电位计就是相连得,舵盘转动得同时,带动位置反馈电位计,电位计将输出一个电压信号到控制电路板,进行反馈,然后控制电路板根据所在位置决定电机得转动方向与速度,从而达到目标停止。即由 pwm波产生模块计算相应得 pwm波占空比,产生 pwm波,驱动舵机,改变舵机前轮转角意识智能车转弯.程序: #include <reg51、h〉 #define uchar unsigned char #define uint unsigned int uinta,b,c,d; /*a、b 为舵机 1、2得脉冲宽度/* /*c、d 为中间变量/* sbit p12=P1^2; sbit p13=p1^3; sbit p37=P3^7;/*输出管脚 void timer0(void) interrupt 1 using 1 {p12=!p12;/*输出取反*/ c=20000—c;/*20000 /*一个周期时间 20ms TH0=—(c/256); TL0=-(c%256); /*重新定义初值 if(c〉=500&&c<=2500)c=a; else c=”20000-a“;/*判断宽度就是否在正常范围内 void timer1(void) interrupt 3 using 1 {p13=!p13; d=20000-d; TH1=-(d/256); TL1=—(d%256); if(d>=500&&d<=2500)d=b; else d=”20000-b”; } void main(void) {TMOD=0x11; /*设初值 p12=1; p13=1; a=1500; b=1500; /*舵机90度得位置 c=a;d=b; TH0=—(a/256); TL0=-(a%256); TH1=-(b/256); TL1=-(b%256); /*设定定时器初始计数值 EA=1; ET0=1;TR0=1;EX0=1;EX1=1; ET1=1; TR1=1; PX0=0;PX1=0;PT1=1;PT0=1; /*设定中断优先级 在程序中只要改变 a,a 从 500变化到 2500,就可以让舵机从0变化到 180 度。 舵机 PWM 波模块初始化 A/D 转换器A/D 转换 计算智能车偏差得传感器 监测状态发生改变得传感器 摘要 本设计主要有单片机模块、传感器模块、电机驱动模块以及电源模块组成,小车具有自主寻迹的功能。本次设计采用STC公司的89C52单片机作为控制芯片,传感器模块采用红外光电对管和比较器实现,能够轻松识别黑白两色路面,同时具有抗环境干扰能力,电机模块由L298N芯片和两个直流电机构成,组成了智能车的动力系统,电源采用7.2V的直流电池,经过系统组装,从而实现了小车的自动循迹的功能。 关键词 智能小车 单片机红外光对管 STC89C52 L298N 1 绪论 随着科学技术的发展,机器人的设计越来越精细,功能越来越复杂,智能小车作为其的一个分支,也在不断发展。在近几年的电子设计大赛中,关于小车的智能化功能的实现也多种多样,因此本次我们也打算设计一智能小车,使其能自动识别预制道路,按照设计的道路自行寻迹。设计任务与要求 采用MCS-51单片机为控制芯片(也可采用其他的芯片),红外对管为识别器件、步进电机为行进部件,设计出一个能够识别以白底为道路色,宽度10mm左右的黑色胶带制作的不规则的封闭曲线为引导轨迹并能沿该轨迹行进的智能寻迹机器小车。方案设计与方案选择 3.1 硬件部分 可分为四个模块:单片机模块、传感器模块、电机驱动模块以及电源模块。 3.1.1 单片机模块 为小车运行的核心部件,起控制小车的所有运行状态的作用。由于以前自己开发板使用的是ATMEL公司的STC89C52,所以让然选择这个芯片作为控制核心部件。STC89C52是一种低损耗、高性能、CMOS八位微处理器,片内有4k字节的在线可重复编程、快速擦除快速写入程序的存储器,能重复写入/擦除1000次,数据保存时间为十年。其程序和数据存储是分开的。 3.1.2 传感器模块 方案一:使用光敏电阻组成光敏探测器采集路面信息。阻值经过比较器输出高低电平进行分析,但是光照影响很大,不能稳定工作。 方案二:使用光电传感器来采集路面信息。使用红外光电对管,其结构简明,实现方便,成本低廉,没有复杂的图像处理工作,因此反应灵敏,响应时间少。但也存在不足,它能获取的信息是不完全的,容易受很多扰动(如背景光源,高度等)的影响,抗干扰能力较差。 方案三:使用CCD传感器来采集路面信息。使用CCD可以获取大量的图像信息,掌握全面的路径信息,抗干扰能力强,为以后功能的扩展提供方便。但使用CCD需要大量的图像处理工作,进行大量数据的存储和计算,因此电路复杂,实现起来工作量大。 方案四:使用光电对管采集路面信息。RPR220结构紧凑,体积小,调整电路简单工作性能稳定。 可见方案四最适宜,但仅从此项目考虑,方案二成本低,也能完成设计,故选用方案二。3.1.3 电机控制模块 3.1.3.1电机的选择 方案一:采用步进电机,其转过的角度可以精确定位,可实现小车行进过程的精确定位。但步进电机的输出力矩低,随转速的升高而降低,且转速越快下降得越快。 方案二:采用直流电机,其转动力矩大,体积小,重量轻,装配简单,操作方便。速度的调节可以改变电压也可以调节PWM。 基于以上,我们选择了方案二,使用直流电机作为驱动电机。 3.1.3.2电机的驱动 采用专用芯片L298N作为电机驱动芯片,其操作方便,稳定性好,性能优良。一片L298N就可以分别控制两个直流电机。 3.1.4 电源模块 给整个系统稳定供电以保持其正常工作,包括7.2V的电源以及转5V部分,其中7.2V的是给电机和其驱动供电,5V的用来驱动单片机及其他芯片。 以上单元连接如下图所示: 3.2 软件部分 3.2.1程序流程图 此系统采用89C52单片机,再根据硬件连接,通过相应的软件来完成对信号的采集和数据的分析,再控制小车的运行状态,以下为主程序流程图: 3.2.2程序设计思路 3.2.2.1寻迹模块程序 通过传感器获得路面信息然后反馈给单片机,再通过单片机来实现相应的功能。 3.2.2.2电机驱动模块程序 控制两个直流电机,实现前进、后退、前左转、前右转、停车等功能。各部分电路的作用及电路工作原理分析 4.1 信号采集模块 4.1.1 TCRT500结构与工作原理 TCRT5000(L)具有紧凑的结构发光灯和检测器安排在同一方向上,利用红外光谱反射对象存在另一个对象上,操作的波长大约是950毫米。探测器由光电晶体三极管组成的,它由高发射功率红外光电二极管和高度灵敏光电晶体管组成。通过测试,其检测距离在2mm-10mm。TCRT5000的发射管和接收管是一起封装在矩形塑料壳中,为了使检测更加准确,我们用了5只TCRT5000检测黑线,实物见图4-1。 4.1.2 信号采集电路图及原理 小车在白色地面行驶时,红外发射管发出的红外信号被反射,接收管收到信号后,输出端为低电平,经过比较器比较后输出为低电平。而当红外信号遇到黑色导轨时,红外信号被吸收,接收管不能接收信号,输出端为高电平,经过比较器比较后输出高电平。单片机通过采集每个比较器的输出端电压,便可以检测出黑线的相对位置的位置,从而控制小车的行驶方向。 4.2 信息处理模块 4.2.1 原理 检测到白色路面的红外接收头处理后送出的是低电平,而检测到黑色路线的检测头送出的是高电平,由此可根据这5个红外接收头的高低电平判断路线情况而调整小车前进方向。具体情况有如下几种: a 检测到 1 1 1 1 或 0 0 0 0 0小车应该停止。 b 检测到 0 0 0 0 或 0 1 0 0 0 或 1 0 0 0 说明路线向左偏,小车向左转。 c 检测到 0 0 0 0 1 或 0 0 0 1 0 或 0 0 0 1 1说明路线向右偏,小车向左转。 d 检测到 x x 1 x x(x不全为1)说明线路是直的,小车直走。4.3 电机驱动模块 4.3.1直流电机 给两个电刷A和B加上直流电源,如上图(a)所示,则有直流电流从电刷 A 流入,经过线圈abcd,从电刷 B 流出,根据电磁力定律,载流导体ab和cd收到电磁力的作用,其方向可由左手定则判定,两段导体受到的力形成了一个转矩,使得转子逆时针转动。如果转子转到如上图(b)所示的位置,电刷 A 和换向片2接触,电刷 B 和换向片1接触,直流电流从电刷 A 流入,在线圈中的流动方向是dcba,从电刷 B 流出。 此时载流导体ab和cd受到电磁力的作用方向同样可由左手定则判定,它们产生的转矩仍然使得转子逆时针转动。这就是直流电动机的工作原理。外加的电源是直流的,但由于电刷和换向片的作用,在线圈中流过的电流是交流的,其产生的转矩的方向却是不变的。实用中的直流电动机转子上的绕组也不是由一个线圈构成,同样是由多个线圈连接而成,以减少电动机电磁转矩的波动,绕组形式同发电机。 4.3.2电路图 我们采用成品L298N电机驱动模块,采用光电耦合器件隔离单片机与L298N的控制电路,工艺精度高,性能可靠。L298N模块内部通过H桥电路实现直流电机的正转,反转,其原理如下: 如图4-3所示,全桥式驱动电路的4只开关管都工作在斩波状态,S1、S2为一组,S3、S4 为另一组,两组的状态互补,一组导通则 另一组必须关断。当S1、S2导通时,S3、S4关断,电机两端加正向电压,可以实 现电机的正转或反转制动;当S3、S4导 通时,S1、S2关断,电机两端为反向电 压,电机反转或正转制动。 桥驱动电路 4.3.3原理 L298N是ST公司生产的一种高电压、大电流电机驱动芯片。该芯片采用15脚封装。主要特点是:工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;额定功率25W。内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器线圈等感性负载;采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。使用L298N芯片驱动电机,该芯片可以驱动两台直流电机。系统调试 5.1硬件部分 焊接完成后,首先进行的调试是用数字万用表测量各个电路是否焊接正常,是否有虚焊漏焊等现象的出现,以及各个电容是否是正常的未被击穿状态、电阻的阻值是否与设计的原理图上的一致。接通电源,用数字万用表测量当有+5V的各引脚是否有+5V的电压,测量电路中是否出现了不该有的短路现象。接入光电传感器模块,使各个光电检测器的光电对管靠近白纸,观察对应的发光二极管是否发光,不发光表示正常。然后再使各个光电对管靠近黑线,观察对应的发光二级管是否发光,发光表示正常。 5.2软件部分 我们先测试了小车的前进,停止,左转和右转。组装信号采集模块后,实现小车的自动循迹功能。 具体实现程序见附录一 总结 实验结果如符合实验要求,小车按照黑胶布轨迹前进,并能够及时正确显示小车的行进状态以及行进距离。具体现象如下: 左边传感器检测到黑线,小车左转; 右边传感器检测到黑线,小车右转; 中间传感器检测到黑线,小车直行。从而就可以完成对黑胶布的循迹功能。参考文献 [1]电子信息专业实验教程 赵刚 李佐儒 四川大学出版社 [2]单片机C语言教程 郭天祥 电子工业出版社 [3]模拟电子技术 童诗白 清华大学出版社 附录一 程序: #include sbit DJ_left_s = P1^0;//直流电机控制 sbit DJ_left_n = P1^1; sbit DJ_right_s = P1^2;sbit DJ_right_n = P1^3; //左转函数 void Turn_right(){ DJ_left_s = 0;DJ_left_n = 1;DJ_right_s = 1;DJ_right_n = 0;} //右转函数 void Turn_left(){ DJ_left_s = 1;DJ_left_n = 0;DJ_right_s = 0;DJ_right_n = 1;} //前进函数 void Go_ahead(){ DJ_left_s = 1;DJ_left_n = 0;DJ_right_s = 1;DJ_right_n = 0;} //停止函数 void Stop(){ DJ_left_s = 0;DJ_left_n = 0;DJ_right_s = 0;DJ_right_n = 0;} //循迹函数 void xunji(unsigned int m){ if(m==0x7c) { Turn_right(); return; } if(m&0x10) { Go_ahead(); return; } if(m&0x0c) { Turn_right(); return; } if(m&0x60) { Turn_left(); return; } } //主函数 void main(){ while(1){ xunji(P2&0x7c); } } 附录二 实物图: 计算智能实验报告 专业 信息与算科学 班级 112 姓名 刘红军 学号 2011062064 协作队员 实验日期 2013 年 10月30 日 星期 成绩评定 教师签名 批改日期 题目 一、问题提出 4中产品指标如下 X1 =(37,38,12,16,13,12)X2=(69,73,74,22,64,17)X3=(73,86,49,27,68/,39)X4=(57,58,64,84,63,28) 二、模型建立相关数学建立相似矩阵,用传递闭包进行模糊聚类 三、求解方法 四、输出结果 五、结果分析 志愿!永恒的志与愿! ------第六届“飞思卡尔”杯全国大学生智能汽车竞赛志愿者心得 当我听到有这样一个机会,可以参与第六届全国大学生智能车竞赛志愿者时,我便毫不犹豫的报上了我自己的名字。这不仅仅是我对智能车充满了兴趣,更是因为我喜欢“志愿者”这三个字,它不仅仅代表着一种责任与荣誉,更是体现着我对生活的理念与追求。 在我心目中,志愿者是一个高大的形象,就像是晨曦中的太阳,蓬勃朝气而又散发着无限的魅力,让人们不由得去亲近。以前我竟没有想过,我也可以成为这位大群体中的一员,在激动的同时,我也察觉到我肩上所担的责任。无论是在制作跑道还是在铺设跑道,我无时无刻不在心里怀揣着一份感激与小心,我不希望这次大赛因为我的过失而有任何差池,我所希望的只是能为这次比赛奉献我微薄的力量,我会因为我的努力而自豪,因为我的汗水而荣耀! 今年,我校荣幸的承办了第六届全国大学生智能车竞赛的任务,作为一名学习自动化的大学生,我觉得这是一次千载难逢的机会,适逢院内正在招收志愿者,我就马上报了名,没想到就这样我荣幸的成为这些优秀志愿者中的一员,从此我便开始了我短暂但却快乐的志愿者时光。 由于志愿者活动,是在暑期进行的,所以我们变比其他人少了许多与家人相聚的机会,少了许多游山玩水的机会。但我们收获的,却是其他人所钦羡的。 在刚放假的时候,我们便被留了下来,来进行一些简单跑道的制作,进行一些培训,以便让我们制作出更优良的赛会跑道。就这样我被分到了直道组,初听到直道组,我高兴地不得了,以为可以轻松的胜任这项工作。但是,我错了,到后来慢慢地才发现知道的工作比别的组别更加的辛苦。不过在这个时候学长的悉心教导让我们越来越投入到工作中去。在短短的三天内就制作出了大量的跑道,但学长说这还差得远呢,于是我明白了这是多么任重而道远的工作啊。 在家中过得了一月悠闲地时光,我们便整装待发回到校园,奔向那个神圣的岗位去了。刚来的那几天,我们继续制作跑道,熟练操作之后,我们便进行了大赛预赛与决赛的跑道制作。比赛的日子越来越近了,在忙完了跑道的制作,我们又开始了迎接参赛选手的服务工作。比赛进行的那几天里,白天,我们要负责引导参赛选手进出场地,并在比赛全程中陪伴选手,为他们解决困难,制止他们比赛的完成,周而复始直到吃饭时间。在晚上,我们便有投入到工作中去,志愿者们耐心的撤去当天的跑道,又铺设了第二天比赛要用的赛会跑道。比赛那几天,往往要工作到凌晨两点左右,更有一些学长要工作到三点。我们没有抱怨,仍坚持不懈得完成自己分内的每一项工作,看到了大赛的圆满落幕,我们甚至比获了奖的比赛选手都要高兴。 时光似乎走的太过焦急,转眼间我就要回到校园生活,结束这充沛的志愿者岁月。坚持,也许是因为在付出的过程中看到了最纯真的笑容;也许是因为彼此间心心相映的一个眼神。虽然,第一天加入这个团队时永不分离决心现在看来是那么幼稚,沙漏容不下我们想做完事;但这已经足够,足够把我们人生的航标稳稳树起。让我们驶向远方,让我向梦想驰骋。或许我们每一个人只是一种单调的色彩,但只要我们紧紧的连在一起,我相信我们可以为彼此绘出灿烂的图画。书博会的成功举办,让我们从心里感到自豪。有一天,也许当我们会再次相聚,会一同回忆起这段青春的故事。 不论我们在哪儿、从事何种职业,我想每个中国人都应抱着一颗真诚慈爱和博大的心去创造未来,创造美好的明天,而每一名志愿者,不论从事哪种志愿服务,都能让世界因为志愿者的微笑更加绚丽多彩。 志愿!是我们永恒的志与愿! 智能车编程总结 智能车核心是飞思卡尔xs128芯片,尽可能利用单片机里的硬件资源是程序的核心。程序理应要有漂亮的算法,但由于智能车任务不复杂,合理管理和配置硬件资源才是最重要的。 编程步骤(关键找到程序框架) I.程序第一步:通过配置寄存器来编写单片机资源的底层程序。 A.配置总线时钟频率(通过锁相环电路) B.配置输出PWM(脉宽调制波)功能(占空比) C.配置定时中断功能(PIT定时中断) D.配置输入捕捉功能(脉冲累加器) E.配置基本输入输出端口的电平 II.程序第二步:利用底层程序编写各种其他硬件的驱动程序 A.驱动电机、舵机(通过PWM波) B.驱动传感器发射和接收(通过IO端口和PWM波)。 C.驱动码盘测速装置并接收。(通过输入捕捉功能)。 III.程序第三步:连接各种硬件,顺序完成巡线任务。 IV.程序第四位:利用控制思想,不断调试和优化程序。 编程思想(程序关键要清楚) I.尽量使各种功能都封装成函数。 II.程序分层次,不同层次尽量写在不同文档中(函数层层调用)。 III.主函数中简单明了,思路、层次分明。 IV.各种工具函数同一管理。(延时,绝对值,取最大最小值等) V.重点参数使用全局变量方便调试。 控制方法:使用PID控制方法(关键在调试) I.电机调试PID (以预设速度与实际检测的速度的差值为偏差值error) II.摇头舵机PID (以传感器偏离中心距离为偏差值error) III.转向舵机PID (以摇头舵机偏离中心的角度为偏差值error) 其他一些都是根据实际情况的一些细节处理,比如过十字交叉线,出道检测,起点检测等。第二篇:智能循迹小车实验报告
第三篇:计算智能实验报告
第四篇:智能车志愿者心得体会
第五篇:智能车编程总结