NEC智能车程序.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
NEC智能车程序

将系统分为道路识别模块、速度检测模块、电机驱动模块、主控模块、人机交互模块、电源模块七个部分,通过对各部分实现方式的研究与比较,在综合考虑整个系统性能与稳定性的基础上最终选定以下各设计方案以实现各部分的功能,从而实现整车自动循迹行驶的功能。 1、采用作为路径检测传感器,安装。 2、使用编码器作为速度检测模块。 3、使用两片MC33886并联驱动电机,通过控制电机倒转实现刹车。 4、采用主控开发板模块。 5、采用拨码开关作为调试时的输入设备,用数码管显示参数。 6、用LM2940为单片机、供电,使用LM7806为舵机供电,电机直接由电池供电。系统总体方案确定后,需要为各模块分配单片机引脚资源。整个系统共使用个普通I/O接口:3个PWM波接口、1个输入捕捉接口、个A/D转换接口。单片机引脚分配如表所示。 单片机引脚分配 P0-P57 数码管显示 蜂鸣器 P40-P47 8路拨码开关 P MC33886使能 P 直流电机PWM P 直流电机PWM 舵机PWM P 速度传感器输入捕捉 信号A/D转 智能车的 智能车软件系统程序结构如图3-1所示,这一章节我们主要介绍程序的流程控制和巡线控制部分。 图3-1 智能车程序结构 智能车程序的整体介绍 整个程序的设计采用了switch语句结构,在不同的case间进行有规律的跳动,实现对各种跑道类型的识别,从而达到对智能车良好控制的目的,程序的流程图如图3-2所示。在整个程序中,通过对传感器得到的信号的处理,再经过调用掩码处理,判断不同跑道的类别,从而做出不同的动作。 程序的模式识别 跑到类型可以分一下几类: 直道,半径大于450的弯道,左右换道,左右直角弯 根据上面的跑道类型,可以确定程序需要识别出直道、弯道、左右换道和左右直角弯。 图3-2 程序流程图 直道识别 智能车在直道上行驶时摆动幅度不会很大,因此我们将直道的判别限制在中间的三个传感器上。而由于各种不同跑道进行区分判别比较困,我们调用掩码,将中间的传感器屏蔽,这样也就是只判断中间偏左和偏右的第一个传感器状态就可以进行直道的之别了。这样就只有三个状态被界定为智能车需要跑直道: case 0xe7: handle( 0 ); speed( 6 ); 直道行驶 P5=led_0[0]; break; case 0xe3: handle( 5 ); speed( 5 ); 直道偏左 P5=led_0[2]; break; case 0xc7: handle( -5); speed( 5); 直道偏右 P5=led_0[1]; break; 其中case 0xe7是传感器处于中间的状态,这种情况下智能车直线行驶,不需要有转角,case 0xe3是传感器稍微偏到跑道左侧的状态,需要向右有一个小角度偏转,同时速度也要相应的降低一下,case 0xc7与case 0xe3是左右对称的两个传感器状态,此时需要向左右一个小角度偏转。至于偏转角度的确定就需要我们通过理论的计算和实际的实验结合进行不断地修正。 弯道识别 对于转弯,偏转角度越大,则车速越低 智能车在弯道上行驶时传感器偏离中心引导线的距离会比较大,因此将传感器偏离中心引导线较远的状态界定为弯道处理,此时智能车就需要有一个较大的偏转角,而且要保持这个偏转角,从而顺利地跑弯道。以下这几种情况是智能车程序中的弯道判别: case 0xe1: handle( 15); speed( 4 ); P5=led_0[2]; break; case 0xe0: handle( 20); speed( 3 ); P5=led_0

文档评论(0)

整理王 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档