



版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
. ... ..宁 波 大 学创新性开放实验报告题目 基于光电传感器的自动寻迹小车学 号:姓 名:专 业:指导教师:目录光电感应智能车 ................................................................................................错误!未定义书签。. .. .c. ... ..!) ..31 42 43 54 6771 82 1013. .. .c. ... ..光电感应自动寻迹智能车【摘要】如果把自动寻迹小车成比例的扩大数倍,就成为真正有意义上的智能车,可以运用于军事、民用领域,对未来汽车行业的发展有一定的借鉴意义。通过光电传感器来寻找轨迹,以所编写的程序为软件支持,通过单片机计算生成相应的控制参数,驱动电机来使小车按照轨迹运动。其中小车在直线行驶过程控制参数保持不变,匀速行驶,而在小车要转弯之前则要先减速以防止小车过弯时冲出赛道,弯道过去之后在加速行驶以减少行驶时间。【关键词】 红外传感器 ;PID控制;自动寻迹一、硬件系统(一)智能小车的整体结构图智能车通过单片机来接受和发出参数状态信号,电源模块是给智能车各个模块提供电压以使模块可以正常运作, 寻迹模块则是包含着参数输送给单片机的作用, 驱动模块是小车动起来的根源,测速模块是为了控制车速以使智能车平稳的沿着车道运行。. .. .c. ... ..1、电源模块在“飞思卡尔”比赛中,比赛方提供的是智能车竞赛统一配发的标准车模用 7.2V 供电,但是在单片机系统、路径识别的光电传感器、光电码编码器等均需要 5V电源,直流电机可以使用7.2V 蓄电池直接供电, 我们采用的电源有串联型线性稳压电源 (LM2940、7805等)和开关型稳压电源( LM2596)两大类。对于单片机,选用 LM2940-5单独对其进行供电;而其它模块则需要通过较大的电流, 利用LM2940-5和LM2596-5对控制系统和执行部分开供电,可以有效地防止各器件之间发生干扰,以及电流不足的问题,使得系统能够稳定地工作。电源电路图:2、寻迹模块寻迹模块是智能车系统的关键模块之一,所寻找的路径的好坏,将直接影响竞赛的结果,我们采用的是光电传感器来寻找路径,光电传感器具有电路简单、信号处理速度快等特点。因为在赛道中由黑色轨迹线和大面积的白色区域组成,则会使发光二极管发射的光线强度不同,从而使接受到的光线强度不同,以此来指示小车前进。. .. .c. ... ..红外传感器电路图:3、驱动模块电机驱动电路可以用 MOS管搭建H桥驱动电路。采用 MOS管构成的 H桥电路,控制直流电机紧急制动。用单片机控制 MOS管使之工作在占空比可调的开关状态, 精确调整电动机转速。这种电路由于 MOS管工作在饱和截止状态, 而且还可以选择阻很小的 MOS管,所以效率可以非常高,并且 H桥电路可以快速实现转速和方向控制。 MOS管开关速度高,所以非常适合采用 PWM调制技术。所以我们选择了用 MOS管搭建H桥驱动电路。电机正转电路:. .. .c. ... ..电机驱动电路:4、测速模块在比赛中常用霍尔传感器来测速。如图 1所示,在半导体薄片两端通以控制电流 I,并在薄片的垂直方向施加磁感应强度为 B的匀强磁场,则在垂直于电流和磁场的方向上, 将产生电势差为 UH的霍尔电压, 它们之间的关系为 U=k ,d为薄片厚度,k为霍尔系数,通过对一定时间脉冲信号数量的捕捉可以计算出车轮的速度。. .. .c. ... ..霍尔传感器的电路图:二、软件系统系统主程序流程图开始系统初始化定时器开始寻迹模块工作舵机工作
驱动电机工作定时中断否速度采样. .. .c. ... ..1、电机驱动因为智能车在赛道上的路径不是一条直线,它是存在弯道的,所以让小车以个加速度均匀的行驶是难以实现的,在此,我们采用在弯道里速度慢一些以保证稳定性,在直道上速度快一些以减少整体行驶时间。在软件上的计算方法采用 PID控制。PID控制器简单易懂,使用中不需精确的 系统模型是我们选择的原因。算法:u(t)=kp[e(t)+1/TI∫e(t)dt+TD*de(t)/dt]在实验中为提高精确度,选择积分分离PID算法,即当速度误差较大时选择PD控制,可避免大的超调,又使系统有较快的相应,当速度误差较小时选择PID控制,可保证控制精度。u(k)=kpe(k)+bTi∑e(j)+T*[e(k)-e(k-1)]b=1或0de(k)是当前给定速度和测量速度的偏差, e(k-1)是上次的偏差。PID控制程序:#include <stdlib.h>#include "global_varible.h"voidPID_Math(void){signedlongee1;//偏差一阶//signedlongee2;//偏差二阶signedlongd_out;//积分输出if(!Flag_PID_T_OK)return;Flag_PID_T_OK=0;Temp_Set=3700;//温度控制设定值37.00度PID_e0=Temp_Set-Temp_Now;//本次偏差ee1=PID_e0-PID_e1;//计算一阶偏差//ee2=PID_e0-2*PID_e1+PID_e2;//计算二阶偏差if(ee1>500)//一阶偏差的限制围. .. .c. ... ..ee1=500;if(ee1<-500)ee1=-500;PID_e_SUM+=PID_e0; //偏差之和if(PID_e_SUM>200) //积分最多累计的温差PID_e_SUM=200;if(PID_e_SUM<-200)PID_e_SUM=-200;PID_Out=PID_kp*PID_e0+PID_kd*ee1; //计算PID比例和微分输出if(abs(PID_e0)<200) //如果温度相差小于 1.5 度则计入 PID积分输出{if(abs(PID_e0)>100) //如果温度相差大于 1度时积分累计限制{if(PID_e_SUM>100)PID_e_SUM=100;if(PID_e_SUM<-100)PID_e_SUM=-100;}d_out=PID_ki*PID_e_SUM; //积分输出if(PID_e0<-5) //当前温度高于设定温度 0.5 度时积分累计限制{if(PID_e_SUM>150)PID_e_SUM=150;if(PID_e_SUM>0) //当前温度高于设定温度 0.5 度时削弱积分正输出. .. .c. ... ..d_out>>=1;}PID_Out+=d_out; //PID 比例,积分和微分输出}elsePID_e_SUM=0;PID_Out/=100; //恢复被PID_Out系数放大的倍数if(PID_Out>200)PID_Out=200;if(PID_Out<0)PID_Out=0;if(PID_e0>300) //当前温度比设定温度低 3度则全速加热PID_Out=200;if(PID_e0<-20) //当前温度高于设定温度 0.2 度则关闭加热PID_Out=0;Hot_T_Run=PID_Out; //加热时间控制输出PID_e2=PID_e1; // 保存上次偏差PID_e1=PID_e0; // 保存当前偏差1、舵机驱动原理:控制电路板接受来自信号线的控制信号,控制电机转动,电机带动一系列齿轮组,减速后传动至输出舵盘。舵机的输出轴和位置反馈电位计是相连的,舵盘转动的同时,带动位置反馈电位计,电位计将输出一个电压信号到控制电路板,进行反馈,然后控制电路板根据所在位置决定电机的转动方向和速度,从而达到目. .. .c. ... ..标停止。即由 pwm波产生模块计算相应的 pwm波占空比,产生 pwm波,驱动舵机,改变舵机前轮转角意识智能车转弯。程序:#include<reg51.h>#defineucharunsignedchar#defineuintunsignedintuinta,b,c,d;/*a、b为舵机1、2的脉冲宽度/*/*c、d为中间变量/*sbitp12=P1^2;sbitp13=p1^3;sbitp37=P3^7;/*输出管脚voidtimer0(void)interrupt1using1{p12=!p12;/*输出取反*/c=20000-c;/*20000/*一个周期时间20msTH0=-(c/256);TL0=-(c%256);/*重新定义初值if(c>=500&&c<=2500)c=a;elsec="20000-a";/*判断宽度是否在正常围voidtimer1(void)interrupt3using1{p13=!p13;d=20000-d;TH1=-(d/256);TL1=-(d%256);if(d>=500&&d<=2500)d=b;elsed="20000-b";}voidmain(void){TMOD=0x11; /* 设初值p12=1;p13=1;a=1500;b=1500; /* 舵机90度的位置c=a;d=b;. .. .c. ... ..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度。. .. .c舵机PWM波模块初始化A/D 转换器A/D转换传感器当前状态监测
. ... ..监测状态发生改变的传感器计算智能车偏差的传感器计算前轮转角改变
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 出血的护理措施
- 超市员工保密协议书
- 驿站转让违约协议书
- 餐厅经营股东协议书
- 铁路应聘就业协议书
- 兄弟俩共同分家协议书
- 餐饮项目外包协议书
- 道路合作施工协议书
- 餐厅物业转让协议书
- 裁员赔偿保密协议书
- 大学写作智慧树知到期末考试答案章节答案2024年丽水学院
- QBT 2530-2001 木制柜行业标准
- 卫生监督乡村医生培训课件
- 医院保安服务项目实施方案
- 《槟榔的危害》课件
- 高考前家长会课件
- 外阴及阴道炎症护理课件
- 2024年中国智慧港口行业市场全景评估及未来投资趋势预测报告(智研咨询)
- 围产期奶牛的饲养管理(内训)
- 2024年江苏武进经济发展集团招聘笔试参考题库含答案解析
- 音视频系统培训资料-(内部)
评论
0/150
提交评论