![教学案例:自动识别路径的智能小车设计-KC13010503-b32_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-1/29/69a51036-865c-4888-8cf0-e837f7490f19/69a51036-865c-4888-8cf0-e837f7490f191.gif)
![教学案例:自动识别路径的智能小车设计-KC13010503-b32_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-1/29/69a51036-865c-4888-8cf0-e837f7490f19/69a51036-865c-4888-8cf0-e837f7490f192.gif)
![教学案例:自动识别路径的智能小车设计-KC13010503-b32_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-1/29/69a51036-865c-4888-8cf0-e837f7490f19/69a51036-865c-4888-8cf0-e837f7490f193.gif)
![教学案例:自动识别路径的智能小车设计-KC13010503-b32_第4页](http://file3.renrendoc.com/fileroot_temp3/2022-1/29/69a51036-865c-4888-8cf0-e837f7490f19/69a51036-865c-4888-8cf0-e837f7490f194.gif)
![教学案例:自动识别路径的智能小车设计-KC13010503-b32_第5页](http://file3.renrendoc.com/fileroot_temp3/2022-1/29/69a51036-865c-4888-8cf0-e837f7490f19/69a51036-865c-4888-8cf0-e837f7490f195.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、物联网应用技术专业教学资源库文档文档来源院校开发文档编号自动识别路径的智能小车设计2016 年 4 月 25日一、模块方案比较与论证:11. 车体设计12电机模块23电机驱动模块24寻迹传感器模块25控制器模块36电源模块3二、系统总体设计:31.系统工作原理及功能简介:32.系统框架图43.理论分析与计算4三、系统硬件电路设计5四、软件代码设计51软件算法设计:52.主程序流程图:73.具体代码分析:7五、系统功能测试9论文关键字:智能小车电机驱动L298自动循迹传感器算法论文摘要:本系统采用存储空间较大的AT89S52作为主控制芯片,电动车电机驱动采用L298N芯片
2、;结合GP2A25光电开关,能较有效的控制其在特定位置转弯角度及行驶出错处理;采用LD-5461AS数码管来显示系统分阶段运行的时间,能够较准确较清晰地显示两个数码管位的显示,三者的结合使电动车更加智能化,自动化,可视化。该系统无论在结构和技术上都具有较好的科学性。一、模块方案比较与论证:1. 车体设计方案1:自己制作电动车。一般的说来,自己制作的车体比较粗糙,对于白色基板上的道路面行驶,车身重量以及平衡都要有精确的测量,而且也要控制好小车行驶的路线和转弯的力矩及角度,这些都比较难良好地实现。方案2:购买玩具电动车。购买的玩具电动车具有组装完整的车架车轮。我们可以保留左
3、右两轮转动动轴,并改换转轴力矩大的电机来精确调节转弯角度,采取保留后方向轮,并使用直流电机进行驱动的方案。玩具电动车具有如下优点:首先,这种玩具电动车由于装配紧凑,使得各种所需电路的安装十分方便,看起来也比较美观。其次,玩具电动车是依靠电机与相关齿轮一起驱动,能适应题目中小车准确前进、后退、转弯的要求,而且这种电动车一般都价格适中。基于以上分析,我选择了方案二2电机模块方案1:采用步进电机作为该系统的驱动电机。由于其转过的角度可以精确的定位,可以实现小车前进路程和位置的精确定位。虽然采用步进电机有诸多优点,步进电机的输出力矩较低,随转速的升高而下降,且在较高转速时会急剧下降,其转速较低,不适用
4、于小车等有一定速度要求的系统。经综合比较考虑,我们放弃了此方案。方案 2:直流电机:直流电机的控制方法比较简单,只需给电机的两根控制线加上适当的电压即可使电机转动起来,电压越高则电机转速越高。对于直流电机的速度调节,可以采用改变电压的方法,也可采用PWM调速方法。PWM调速就是使加在直流电机两端的电压为方波形式,通过改变方波的占空比实现对电机转速的调节。基于以上分析,我选择了方案二,使用直流电机作为电动车的驱动电机。3电机驱动模块方案 1:采用SM6135W电机遥控驱动模块。SM6135W是专为遥控车设计的大规模集成电路。能实现前进、后退、向右、向左、加速五个功能,但是其采用的是编码输入控制,
5、而不是电平控制,这样在程序中实现比较麻烦,而且该电机模块价格比较高。方案 2:采用电机驱动芯片L298N。L298N为单块集成电路,高电压,高电流,四通道驱动,可直接的对电机进行控制,无须隔离电路。通过单片机的I/O输入改变芯片控制端的电平,即可以对电机进行正反转,停止的操作,非常方便,亦能满足直流减速电机的大电流要求。调试时在依照上表,用程序输入对应的码值,能够实现对应的动作。表1是其使能、输入引脚和输出引脚的逻辑关系。 表1 L298N的引脚和输出引脚的逻辑关系EN A(B)IN1(IN3)IN2(IN4)电机运行情况HHL正转H
6、LH反转H同IN2(IN4)同IN2(IN4)快速停止LXX停止基于以上分析,我选择了方案二,用L298N来做为电机的驱动芯片。4寻迹传感器模块方案1:采用发光二极管+光敏电阻,该方案缺点:易受到外界光源的干扰,有时甚至检测不到黑线,主要是因为可见光的反射效果跟地表的平坦程度、地表材料的反射情况均对检测效果产生直接影响。克服此缺点的方法:采用超高亮度的发光二极管能降低一定的干扰,但这又会增加检测系统的功耗。方案2:脉冲调制的反射式红外发射接收器。由于采用带有交流分量的调制信号,则可大幅度减少外界的干扰;此外红外发射接收管的工作电流取决于平均电流,如果采用占空比小的调制信号,在平均电流不变的情况
7、下,瞬时电流很大(50100mA)(ST-188允许的最大输入电流为50mA),则大大提高了信噪比。此种测试方案反应速度大约在5us。方案3:采用CCD传感器,此种方法虽然能对路面信息进行准确完备的反应,但它存在信息处理满,实时性差等缺点,因此若采用CCD传感器,无疑会加重单片机的处理负担,不利于实现更好的控制策略。根据以上分析我采用方案25控制器模块方案1:采用凌阳的SPCE061A小板作为主控制芯片,而且可以采用凌阳的小车模组,可以很快的完成其基本功能,当是用该小板存在在一定的局限性,较难扩张功能,而且各个模块的拼凑,没有比集成在一块板的稳定性高。方案2:采用AT89S52作为主控制芯片,
8、该芯片有足够的存储空间,可以方便的在线ISP下载程序,能够满足该系统软件的需要,该芯片提供了两个计数器中断,对于本作品系统已经足够,采用该芯片可以比较灵活的选择各个模块控制芯片,能够准确的计算出时间,有很好的实时性。基于以上分析,我选择了方案二,采用AT89S52作为电动车的主控制芯片。 6电源模块在本系统中,需要用到的电源有单片机的5V,L298N芯片的电源5V和电机的电源715V。所以需要对电源的提供必须正确和稳定可靠。方案1:用9V的锌电源给前、后轮电机供电,然后使用7805稳压管来把高电压稳成5V分别给单片机和电机驱动芯片供电。这种接法比较简单,但小车的电路功耗过大会导致后轮电机动力不
9、足。方案2:采用双电源。为了确保单片机控制部分和后轮电机驱动的部分的电压不会互相影响,要把单片机的供电和驱动电路分开来,即:用6节干电池7.2V来驱动电机芯片,然后用7805稳压管来稳成5V供给单片机,后轮电机的电源用3V供电,这样有助于消除电机干扰,提高系统的稳定性。基于以上分析,我选择了方案二。二、系统总体设计:1.系统工作原理及功能简介:本系统利用单片机AT89S52单片机作为本系统的主控模块,该单片机可以将从传感器的输出信号得到外界的信息,然后在程序中控制单片机对电动车上的直流电机的输出,从而实现电动车的前进以及转弯等循迹行驶。2.系统框架图3.理论分析与计算4.系统主要模块设计: (
10、1)电源:为确保小车在行驶过程中各部件均能正常工作且相互之间不受影响,我们可使用了两个电源为两个主要模块提供电压。分别是由转弯电机、单片机和光电传感器组成的总电路电源模块以及后轮驱动电源模块。(2)转弯与路径出错识别:小车在行驶过程中会遇到以下两种路况: 当小车由直道高速进入弯道时,转角方向和车速应根据弯道的曲率迅速做出相应的改变,原则是弯道曲率越大则方向变化角度越大。 当小车遇到十字交叉路段或是脱离轨迹等特殊情况时,智能车应当保持与上次正常情况一致的方向行驶。(3)光电传感器:光电传感分布格局:路径识别方案:电开关脱离轨
11、道时,等待外面任意一只检测到黑线后,做出相应的转向调整,直到中间的光电开关重新检测到黑线(即回到轨道)再恢复正向行驶。现场实测表明,虽然小车在寻迹过程中有一定的左右摇摆。但只要控制好行驶速度就可保证车身基本上接近于沿靠轨道行驶。三、系统硬件电路设计(1)系统整体电路图如下:(2)光电传感器电路(3)电源电路四、软件代码设计1软件算法设计:(1)传感器数据处理及寻迹程序总体流程:主程序主要起到一个导向和决策功能。其设计思路根据小车所处位置的不同,确定小车的任务。在黑线轨道上走直线时,对传感器的信号进行及时的判断,左边信号为零时控制电机左转,右边为零时控制电机右转。在弯道时,为了不冲出轨道,是左轮
12、一直打偏,直到检测到右边信号为零时控制电机右转,当右信号为1时,继续使左轮一直偏。(2)具体流程分析:智能小车采用4个光学传感器置于小车前部,以此判断如何控制舵机转向.程序不停判断03传感器的值,当SENSOR1=1与SENSOR0=0时,小车为图(I)情况,此时应控制舵机向右转,调用TurnRight()函数;当SENSOR0=1与SENSOR1=0时,小车为图(II)情况,此时应控制舵机向右转,调用TurnLeft()函数. (I) &
13、#160; (II)但由于传感器比较灵敏,经实际测试,白色区域中可能存在杂色,传感器有可能扫描到白色区域中的黑色(如下图),为了避免判断错误,再没检测到需要转右或者转左后,进行延时,接着再次判断此时传感器情况,如果仍然为SENSOR1=1与
14、SENSOR0=0(或者SENSOR0=1与SENSOR1=0)则可能判断在黑色跑道上,接着调用转右(转左)函数.不过,仍然有一定几率判断失误,当延时后,传感器刚好经过另一个杂色的情况,解决方法有待完善.当前后传感器都为1(黑)时(如下图(III),则认为小车在黑色跑道上,不需要进行转向,调RecoverBalance()函数,恢复平衡位置.当前后传感器都为0(白)时(如下图(IV),则认为传感器将离开跑道范围,为了另小车继续延黑色跑道行走,程序中的pre_dir变量保存最近一次转向方向(1为右,0为左),此时凭此变量来维持小车的转向.2.主程序流程图:3.具体代码分析:/宏定义电机、舵机的输
15、入端#define ELE_MACHINER1_IN1 P0_0/舵机输入端口1#define ELE_MACHINER1_IN2 P0_1/舵机输入端口2#define ELE_MACHINER1_EN P2_7/舵机使能端/宏定义光电传感器元件0至3#define SENSOR_INPUT P2 /光电传感器总端口(逆时针排序)#define SENSOR0 P3_0 /前传感器0#define SENSOR1 P3_1 /右传感器1#define SENSOR2 P3_2 /左传感器2#define SENSOR3 P3_3 /后传感器3/*平衡函数*/void RecoverBalan
16、ce()ELE_MACHINER1_IN1 = 0;/控制舵机平衡 ELE_MACHINER1_IN2 = 0;/*转左函数*/void TurnLeft() char i = 50; while(i-) ELE_MACHINER1_IN1 = 1;/控制舵机左转 ELE_MACHIN ER1_IN2 = 0; /*转左函数*/void TurnRight() char i = 50; while(i-) ELE_MACHINER1_IN1 = 0;/控制舵机右转 ELE_MACHINER1_IN2 = 1;/*主函数*/void main(void) uchar pre_dir=0; /保存
17、先前转向 1为右,0为左 system_initial(); /系统开机初始化 ELE_MACHINER1_IN1=0; /舵机输入端口1 ELE_MACHINER1_IN2=0; /舵机输入端口2 ELE_MACHINER1_EN=1; /舵机使能端 while(1) /* 循环判断 */ /* 如果右传感器为1(黑),且左传感器为0(白),则可能需要向右转 */ if(SENSOR1 = 1 && SENSOR2 = 0) delay(2); /* 延时,再次判断,防止赛道杂色 */ if(SENSOR1 = 1 && SENSOR2 = 0) TurnRi
18、ght(); /* 调用右转函数 */ pre_dir = 1; /* 将pre_dir置1(右) */ /* 如果左传感器为1(黑),且右传感器为0(白),则可能需要向左转 */ else if(SENSOR2 = 1 && SENSOR1 = 0) delay(2); /* 延时,再次判断,防止赛道杂色 */ if(SENSOR2 = 1 && SENSOR1 = 0) TurnLeft(); /* 调用左转函数 */ pre_dir = 0; /* 将pre_dir置0(左) */ /* 如果前传感器为1(黑),且后传感器为1(黑),则小车在黑线路径上,不
19、需要转向 */ else if(SENSOR0 = 1 && SENSOR3 = 1) RecoverBalance(); /* 如果前传感器为0(白),则可知前面弯度比较大或者小车已出黑线,则根据先前转向转向 */ else if(SENSOR0 = 0) if(pre_dir) /* 定义变量pre_dir保存最近一次转向方向*/ TurnRight(); else TurnLeft(); 五、系统功能测试测试设备:自制跑道、比赛方提供跑道、秒表、过程分析:基本功能,扩展功能及其他功能自制跑道测试:自制跑道完成时间车体总重出界次数电池电压出现问题完成与否试验一26.3S425g14.1在紧急弯上容易出界 Y试验二27.1S455g24在紧急弯上容易出界 Y试验三27.9S485g23.8在紧急弯上容易出界 Y试验四26.5S450g23.7在紧急弯上
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 施工现场施工防噪隔音制度
- 现代家居设计中的绿植艺术实践
- 医疗护理医学培训 小麦病虫害防治课件
- DB6528T 202-2024春玉米滴灌栽培技术规程
- 中小企业劳动合同模板大全
- 个人与工厂合作协议合同
- 个人借款合同条款解析
- 交通运输行业劳动合同准则
- 个人短期借款合同文本范例
- 临时劳务用工合同协议
- 北京房地产典当合同
- 儿童歌曲弹唱课程标准
- 大学生心理健康教育全套PPT完整教学课件
- 安庆汇辰药业有限公司高端原料药、医药中间体建设项目环境影响报告书
- 档案工作管理情况自查表
- 初中英语人教版 八年级上册 单词默写表 汉译英
- pcs-9611d-x说明书国内中文标准版
- T∕CMATB 9002-2021 儿童肉类制品通用要求
- 工序劳务分包管理课件
- 毕业论文-基于51单片机的智能LED照明灯的设计
- 酒厂食品召回制度
评论
0/150
提交评论