第四组智能小车论文 - 图文(2)

2019-03-28 21:12

第三章理论分析与计算

一、小车行驶理论

小车遇到黑线则判断为1,遇到白线则为0。这个跑道中有两个T字路口和两个十字路口。小车在这路线上行驶时会出现偏离轨道的问题,我们一般的处理办法是在小车有偏离轨道的地方立即通过编程进行调整。例如在传感器传来0001的右偏信息后(在实际的运动中“上”位置的传感器没什么大的作用),单片机马上调节 P4、3,P4、6及P5、1和P5、3控制口,使用PWM调整输出方波的占空比使小车左转回来。如小车的传感器分布如图3、1所示,右图3、2所示是小车的跑道。。

图3、1红外线光电传感器排列 图3、2小车跑道

由于小车在快速行驶时,有可能会全部偏离轨道,并且会出现十字路口和T字路口的特殊状态 。我们组的具体控制方法是将前后两个状态一起分析后再做行驶轨迹的处理,例如当上一次状态是0001而此刻状态是0000时就判为右全偏了,然后进行左调整。

在十字和T字路口的时候处理方法如下:当上面的红外传感器为0,其他全为1,时,记住此时的状态,当下一个状态为全0的时候,我们就暂时判为T字路口,此时,让小车直走0.5s,如果,此时依然为全0,则就是T字路口,小车就马上倒退到终点处,开始进行旋转360度,此时会出现碰到T形黑线的地方,我们做的处理是让它先旋转0.5s摆脱那个黑线,然后继续让它旋转,直到有传感器碰到黑线,小车就会自动调整到回去的直道上去;当没有出现刚才T字情况或者出现全1时判为十字路口,就让它直走下去。如下表所示: 红外传感器探测 P6.1中 0 0 0 1 1 1 P6.2右 P6.3左 P6.4上 小车状态 0 0 × 全偏 0 1 0 1 1 1 0 0 1 1 × × 1 0 1 右偏 左偏 直走 T字路口 十字路口 P4.3左 占空比0% 占空比80% 占空比100% 占空比100% 占空比100% 电机驱动控制引脚 P5.1左 P4.6右 P5.3右 占空比80% 占空比0% 占空比0% 占空比50% 占空比100% 电机动作 保持 左转 右转 正常行驶 旋转360 前进 二、用pwm调节小车的速度

PWM脉冲宽度调制技术就是通过对一系列脉冲的宽度进行调制,来等效地获得所需要波形(含形状和幅值)的技术。下式是占空比计算公式: t1D?

T式中t1表示一个周期内开关管导通的时间,T表示一个周期的时间。 占空比D表示了在一个周期里,开关管导通的时间与周期的比值,变化范围为0≤D≤1。由上式可知,当电源电压不变的情况下,电枢的端电压的平均值为

VD=Vmax*D,因此改变占空比D就可以改变端电压的平均值,从而达到调速的目

的,这就是PWM调速原理。

第四章硬件与软件设计部分

一、硬件部分

4、1反射式红外线感光电路

红外发射管发射的红外线具有一定的方向性,当红外线照射到白色地面时会有较

大的反射,如果距离取值合适,红外接收管接收到反射回的红外线强度就较大;如果红外线照射到黑色标志线,黑色标志线会吸收大部分红外光,红外接收管接收到红外线强度就很弱。寻迹时,引导线是黑颜色,不宜反光,当红外发射管输出信号照射到黑色引导线上时输出一个非常微弱的低电平,这个过程是一个负跳变过程,通过对此信号高低电平的检测就可以知道小车是正在沿着引导线行驶,若不是沿着引导线行驶,单片机根据传感器送回的信号可以判断并驱动电机正确转向,从而使小车沿着正确的轨道行驶。其结构图如下3、1(a)

3、1(a)红外线传感器工作原理图

4、2 LCD12864显示屏

在本次试验过程中,考虑到实验要显示的字符数字比较的多和实验条件的提供,我们选择用单片机控制LCD12864来显示小车的状态和供电的瞬时电压。

二、软件设计部分

在进行微机控制系统设计时,除了系统硬件设计外,大量的工作就是如何根据每个生产对象的实际需要设计应用程序。因此,软件设计在微机控制系统设计中占重要地位。对于本系统,软件更为重要。在单片机控制系统中,大体上可分为数据处理、过程控制两个基本类型。数据处理包括:数据的采集、数字滤波、标度变换等。过程控制程序主要是使单片机按一定的方法进行计算,然后再输出,以便控制生产。为了完成上述任务,在进行软件设计时,通常把整个过程分成若干个部分,每一部分叫做一个模块。所谓“模块”,实质上就是所完成一定功能,相对独立的程序段,这种程序设计方法叫模块程序设计法。模块程序设计法的主要优点是:

1、 单个模块比起一个完整的程序易编写及调试;

2、 模块可以共存,一个模块可以被多个任务在不同条件下调用;

3、 模块程序允许设计者分割任务和利用已有程序,为设计者提供方便。

本系统软件采用模块化结构,由主程序﹑定时子程序、中断子程序显示子程序﹑调速子程序﹑算法子程序构成。程序见后面的附录表,下面是判断小车行驶的流程图: 初始化 Y N

按键是否安

按下? Y

是否检测到黑线 控制小车行驶 Y 结束 第五章 测试数据、测试结果分析及结论 测试方法与仪器:

1、测试仪器

测试仪器包括秒表、数字万用表、信号发生器、示波器、直流稳压电源等 2、测试方法

数字万用表主要用来测试分立元件的电阻、压降、漏电流、截止/导通状态等参数;信号发生器与示波器用于测试各光电传感器信号的接收与传输;直流稳压电源在测试期间为各待测系统供电;秒表用于产品测试,按照任务书的基本要求对制成的电动车进行产品测试。 测试数据及测试结果分析:

通过观察小车的行驶和lcd的显示,可以看出我们的智能车基本上达到了预期的效果,能够沿着跑道跑,当偏出跑道时,也能够在程序的控制下再回到跑道,不足之处是小车在拐弯和停止的时候不太稳。我们在使用pwm进行调速时设置的数据,调整的占空比还不太精确。 3、结论

历时一个星期设计过程中,我首先边查资料,边编写控制小车的程序,在其中遇

到很多没有预料的问题。在解决这些问题的的过程中,我的能力得到了很好地锻炼。各方面学到了很多。

参考文献

一、康华光主编的第五版电子技术基础模拟部分 二、康华光主编的电子技术基础数字部分 三、谭浩强主编的C程序设计教程

四、利尔达策划的msp430系列16位单片机原理与应用

附录表一

主程序:

void main() {

WDTCTL=WDTPW+WDTHOLD;//关闭看门狗 InitClock();//初始化时钟 InitPort();//初始化端口

fnLCMInit();//LCD12864初始化 InitADC12();//初始化ADC cls();//清12864LCD InitTimerA();//A初始化 Initpwm();//pwm占空比

_EINT();//开中断 cls();//清12864LCD

printf(1,0,0x36);//V printf(1,1,0x4D);//m printf(1,2,0x1A);// : printf(1,10,0x36);//V

printf(2,0,0x36);//V printf(2,1,0x52);//r printf(2,2,0x1A);// : printf(2,10,0x36);//V

printf(3,0,0x36);//V printf(3,1,0x4C);//l printf(3,2,0x1A);// : printf(3,10,0x36);//V

printf(4,0,0x36);//V printf(4,1,0x41);//a printf(4,2,0x1A);// : printf(4,10,0x36);//V

while(1) {

display();

left=P3IN&0x10;//判断P3.4口的输入电平 right=P3IN&0x08; middle=P3IN&0x04; ahead=P3IN&0x20 ;

if(keyvaluep1==1) {

for(uint n=0;n<16;n++) printf(6,n,0x00); think(); }

if(keyvaluep1==0) {

P5OUT=0x00;P4OUT&=~BIT3;P4OUT&=~BIT6; } } }


第四组智能小车论文 - 图文(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2019年城北办事处党务公开实施方案-word范文(5页)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: