自动识别路径的智能小车设计报告

自动识别路径的智能小车设计报告

ID:9672113

大小:64.50 KB

页数:6页

时间:2018-05-05

自动识别路径的智能小车设计报告_第1页
自动识别路径的智能小车设计报告_第2页
自动识别路径的智能小车设计报告_第3页
自动识别路径的智能小车设计报告_第4页
自动识别路径的智能小车设计报告_第5页
资源描述:

《自动识别路径的智能小车设计报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、自动识别路径的智能小车设计报告  论文关键字:智能小车 电机 驱动 L298 自动循迹 传感器 算法  论文摘要:本系统采用存储空间较大的AT89S52作为主控制芯片,电动车电机驱动采用L298N芯片;结合GP2A25光电开关,能较有效的控制其在特定位置转弯角度及行驶出错处理;采用LD-5461AS数码管来显示系统分阶段运行的时间,能够较准确较清晰地显示两个数码管位的显示,三者的结合使电动车更加智能化,自动化,可视化。该系统无论在结构和技术上都具有较好的科学性。  一、模块方案比较与论证:  1.车体设计  方案1:自己制作电动车。一般的说来,自己制作的车体比较粗糙,对于白色基板上的

2、道路面行驶,车身重量以及平衡都要有精确的测量,而且也要控制好小车行驶的路线和转弯的力矩及角度,这些都比较难良好地实现。  方案2:购买玩具电动车。购买的玩具电动车具有组装完整的车架车轮。我们可以保留左右两轮转动动轴,并改换转轴力矩大的电机来精确调节转弯角度,采取保留后方向轮,并使用直流电机进行驱动的方案。玩具电动车具有如下优点:首先,这种玩具电动车由于装配紧凑,使得各种所需电路的安装十分方便,看起来也比较美观。其次,玩具电动车是依靠电机与相关齿轮一起驱动,能适应题目中小车准确前进、后退、转弯的要求,而且这种电动车一般都价格适中。  基于以上分析,我们选择了方案二  2.电机模块  方

3、案1:采用步进电机作为该系统的驱动电机。由于其转过的角度可以精确的定位,可以实现小车前进路程和位置的精确定位。虽然采用步进电机有诸多优点,步进电机的输出力矩较低,随转速的升高而下降,且在较高转速时会急剧下降,其转速较低,不适用于小车等有一定速度要求的系统。经综合比较考虑,我们放弃了此方案。  方案2:直流电机:直流电机的控制方法比较简单,只需给电机的两根控制线加上适当的电压即可使电机转动起来,电压越高则电机转速越高。对于直流电机的速度调节,可以采用改变电压的方法,也可采用P调速方法。P调速就是使加在直流电机两端的电压为方波形式,通过改变方波的占空比实现对电机转速的调节。  基于以上分

4、析,我们选择了方案二,使用直流电机作为电动车的驱动电机。  3.电机驱动模块  方案1:采用SM61356135ACHINER1_IN1P0_0//舵机输入端口1  #defineELE_MACHINER1_IN2P0_1//舵机输入端口2  #defineELE_MACHINER1_ENP2_7//舵机使能端  //宏定义光电传感器元件0至3  #defineSENSOR_INPUTP2//光电传感器总端口(逆时针排序)  #defineSENSOR0P3_0//前传感器0  #defineSENSOR1P3_1//右传感器1  #defineSENSOR2P3_2//左传感器2 

5、 #defineSENSOR3P3_3//后传感器3  /*平衡函数*/voidRecoverBalance(){ELE_MACHINER1_IN1=0;//控制舵机平衡ELE_MACHINER1_IN2=0;}/*转左函数*/voidTurnLeft(){chari=50;ain(void){ucharpre_dir=0;//保存先前转向1为右,0为左system_initial();//系统开机初始化ELE_MACHINER1_IN1=0;//舵机输入端口1ELE_MACHINER1_IN2=0;//舵机输入端口2ELE_MACHINER1_EN=1;//舵机使能端p;SENSO

6、R2==0){delay(2);/*延时,再次判断,防止赛道杂色*/if(SENSOR1==1SENSOR2==0){TurnRight();/*调用右转函数*/pre_dir=1;/*将pre_dir置1(右)*/}}/*如果左传感器为1(黑),且右传感器为0(白),则可能需要向左转*/elseif(SENSOR2==1SENSOR1==0){delay(2);/*延时,再次判断,防止赛道杂色*/if(SENSOR2==1SENSOR1==0){TurnLeft();/*调用左转函数*/pre_dir=0;/*将pre_dir置0(左)*/}}/*如果前传感器为1(黑),且后传感器

7、为1(黑),则小车在黑线路径上,不需要转向*/elseif(SENSOR0==1SENSOR3==1){RecoverBalance();}/*如果前传感器为0(白),则可知前面弯度比较大或者小车已出黑线,则根据先前转向转向*/elseif(SENSOR0==0){if(pre_dir)/*定义变量pre_dir保存最近一次转向方向*/{TurnRight();}else{TurnLeft();}}}}  六、系统功能测试  测试设备:自制跑道、比赛方提供

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。