第一篇:(毕业论文)智能超声波避障小车的设计与制作(可编辑)
(毕业论文)智能超声波避障小车的设计与制作
江阴职业技术学院 项目设计报告
项目超声波避障小车的设计与制作 专 业 学生姓名 班 级 学 号 指导教师 完成日期 摘 要
智能小车是一种能够通过编程手段完成特定任务的小型化机器人它具有制作成本低廉电路结构简单程序调试方便等优点由于具有很强的趣味性智能小车深受广大机器人爱好者以及高校学生的喜爱
本论文介绍的是具有自动避障功能的智能小车的设计与制作以下简称智能小车论文对智能小车的方案选择设计思路以及软硬件的功能和工作原理进行了详细的分析和论述经实践验收测试该智能小车的电路结构简单调试方便系统反映快速灵活设计方案正确可行各项指标稳定可靠
Abstract Smart cars can be programmed to perform a specific task means the miniaturization of robot it has to make cost is low circuit simple structure convenient program test Because of it has strong interest intelligent robot car favored by the majority of the university students enthusiasts and love This paper introduces the is a automatic obstacle avoidance function of intelligent car design and production hereinafter referred to as the smart car the thesis to the intelligence of the car scheme selection design idea and the implementation of hardware and software function and working principle of a detailed analysis and discusses After practice acceptance test this intelligent car circuit structure is simple convenient debug fast flexible system reflect correct and feasible design scheme each index is steady and reliable 目 录 摘 要 I Abstract II 目 录 III 第一章 绪论 1 11项目研究背景及意义 1 12项目主要研究内容 1 13设计思路 1 14应用场合和功能 2 第二章 总体方案 3 21总体方案概述 3 22 总体电路原理图 3 第三章 各模块功能介绍 4 31障碍物测距系统 4 32显示模块 5 33驱动模块 10 34电源模块 12 第四章 软件设计 13 41 程序设计流程图 13 42 关键程序设计 14 第五章 系统调试 17 51 调试的思路 17 52 各模块的调试 17 53 调试心得 19 第六章 结论与展望 61 结论 20 62 展望 20 致 谢 21 参考资料 22 附录 23 1元器件清单 23 2样机实物照片 24 3电路原理图 25 相关程序 26 第一章 绪论
11项目研究背景及意义
智能作为现代社会的新产物是以后的发展方向他可以按照预先设定的 模式在一个特定的环境里自动的运作无需人为管理便可以完成预期所要达 到的或是更高的目标本设计主要体现多功能小车的智能模式设计中的理论 方案分析方法及特色与创新点等可以为自动运输机器人采矿勘探机器人 家用自动清洁机器人等自动半自动机器人的设计与普及有一定的参考意义同 时小车可以作为玩具的发展对象为中国玩具市场技术含量的缺乏进行一定的 弥补实现经济收益形成商业价值 超声波作为智能车避障的一种重要手段以其避障实现方便计算简单 易于做到实时控制测量精度也能达到实用的要求在未来汽车智能化进程中 必将得到广泛应用我国作为一个世界大国在高科技领域也必须占据一席之 地未来汽车的智能化是汽车产业发展必然的在这种情况下研究超声波在智 能车避障上的应用具有深远意义这将对我国未来智能汽车的研究在世界高科 技领域占据领先地位具有重要作用 本智能小车系统最诱人的前景就是可用于未来的智能汽车上了当驾驶员 因疏忽或打瞌睡时这样的智能汽车的设计就能体现出它的作用如果汽车偏离 车道或距障碍物小于安全距离时汽车就会发出警报提醒驾驶员注意如果 驾驶员没有及时作出反应汽车就会自动减速或停靠于路边 这样的小车还可以用于月球探测等的无人探月车帮助我们传达月球上更 多的信息让我们更加的了解月球为将来登月做好充分准备 这样的小车在科学考察探测车上也有广阔的应用前景在科学考察中有 很多危险且人们无法涉足的地方这时智能科学考察车就能够派上用场在 它上面装上摄像机代替人们进行许多无法进行的工作
12项目主要研究内容
本设计题目为智能避障小车设计主要研究小车的避障功能小车遇到障碍物时当距离障碍物大于40cmPWM信号自增驱动电机加速小车加速前进当小于30cm时PWM信号自减驱动电机减速小车减速前进并且小车采取相应的避障措施这里探测装置必不可少因为超声波在距离检测方面的较准确定位所以采用超声波传感器作为探测装置由于超声波遇到障碍物时发生像光一样的反射和散射在经过多次发射之后再回到超声波检测端口会产生较严重的路程差从而影响对距离的检测进而影响对障碍物的较准确定位通过软件内部校准优化消除外部物理条件造成的误差从而达到对障碍物的较准确定位
13设计思路
直流电机PWM控制系统的主要功能包括实现对直流电机的加速减速并且可以调整电机的转速能够很方便的实现电机的智能控制主体电路即直流电机 PWM 控制模块这部分电路主要由 AT89S52 单片机 的 IO 端口定时计数器外部中断扩展等控制直流电机的加速减速以及转弯并且可以调整电机的转速能够很方便的实现电机的智能控制 其间是通过 AT89S52 单片机产生脉宽可调的脉冲信号并输入到 L298 驱动芯片来 控制直流电机工作的该直流电机 PWM 控制系统由以下电路模块组成设计控制部分 主要由 AT89S52 单片机的外部中断扩展电路组成直流电机PWM控制实现部分主要由电机和 L298 直流电机驱动模块组成设计显示部分LCD 数码显示部分实现对超声波测的距离的实时显示
14应用场合和功能
应用场合智能小车是一种能够通过编程手段完成特定任务的小型化机器人它具有制作成本低廉电路结构简单程序调试方便等优点由于具有很强的趣味性智能小车深受广大机器人爱好者以及高校学生的喜爱同时在玩具的应用上深受小朋友的青睐
功能本小车使用AT89S52单片机作为主控芯片它通过超声波测距来获取小车距离障碍物的距离并且用LED显示出来当小车与障碍物的距离大于40cm时小车会沿直线前进当小车与障碍物的距离小于30cm时小车转弯以避开障碍物并且此时蜂鸣器报警在避开障碍物后小车会沿直线前进
第二章 总体方案 21总体方案概述
本小车使用AT89S52单片机作为主控芯片它通过超声波测距来获取小车距离障碍物的距离并且用LCD显示出来当小车与障碍物的距离大于40cm时小车会沿直线前进当小车与障碍物的距离小于30cm时小车转弯以避开障碍物并且此时蜂鸣器报警在避开障碍物后小车会沿直线前进简要框图如图2-1 图 21简要框图
总体电路原理图 第三章 各模块功能介绍 31障碍物测距系统 方案一超声波视觉
优点价格合理夜间不受影响易于多目标测量和分类分辨率好缺点测量范围小对天气变化敏感不能直接测量距离算法复杂处理速度慢
方案二激光雷达MMW雷达
优点夜间不受影响不受灯光天气影响缺点对水灰尘灯光敏感价格贵
探测障碍的最简单的方法是使用超声波传感器它是利用向目标发射超声波脉冲计算其往返时间来判定距离的算法简单价格合理所以我们选择超声波传感器
超声波测距原理
首先利用单片机输出一个40kHz的触发信号把触发信号通过TRIG管脚输入到超声波测距模块再由超声波测距模块的发射器向某一方向发射超声波在发射时刻的同时单片机通过软件开始计时超声波在空气中传播途中碰到障碍物返回超声波测距模块的接收器收到反射波后通过产生一个回应信号并通过ECHO脚反馈给单片机此时单片机就立即停止计时时序图如图1所示由于超声波在空气中的传播速度为340ms根据计时器记录的时间t就可以计算出发射点距障碍物的距离即S VT2通过单片机来算出距离
图31超声波测距原理 32显示模块 方案一用LCD显示
优点辐射小显示内容多 低耗能散热小显示的画面稳定不闪烁缺点不适合做图图像还原不好有可视范围限制
方案二用LED显示
优点亮度高成本低缺点不能显示汉字显示内容较少
对于本课题的要求我们选择LCD实现功能显示内容多低功耗显示画面稳定不闪烁硬件电路设计简单
字符型液晶显示模块是一种专门用于显示字母数字符号等点阵式LCD目前常用161162202和402行等的模块下面以长沙太阳人电子有限公司的1602字符型液晶显示器为例介绍其用法一般1602字符型液晶显示器实物如图
图 3211602字符型液晶显示器1602LCD主要技术参数 显示容量16×2个字符 芯片工作电压4555V 工作电流20mA 50V 模块最佳工作电压50V字符尺寸295×435 W×H mm 引脚功能说明1602LCD采用标准的14脚无背光或16脚带背光接口各引脚接口说明如表所示编号 符号 引脚说明 编号 符号 引脚说明VSS 电源地 9 D2 数据VDD 电源正极 10 D3 数据VL 液晶显示偏压 11 D4 数据RS 数据命令选择 12 D5 数据RW 读写选择 13 D6 数据 6 E 使能信号 14 D7 数据D0 数据 15 BLA 背光源正极 8 D1 数据 16 BLK 背光源负极
表-2-1引脚接口说明表
第1脚VSS为地电源 第2脚VDD接5V正电源
第3脚VL为液晶显示器对比度调整端接正电源时对比度最弱接地时对比度最高对比度过高时会产生鬼影使用时可以通过一个10K的电位器调整对比度
第4脚RS为寄存器选择高电平时选择数据寄存器低电平时选择指令寄存器
第5脚RW为读写信号线高电平时进行读操作低电平时进行写操作当RS和RW共同为低电平时可以写入指令或者显示地址当RS为低电平RW为高电平时可以读忙信号当RS为高电平RW为低电平时可以写入数据
第6脚E端为使能端当E端由高电平跳变成低电平时液晶模块执行命令
第7~14脚D0~D7为8位双向数据线 第15脚背光源正极 第16脚背光源负极
1602LCD的指令说明及时序1602液晶模块内部的控制器共有11条控制指令如表-2-2所示序号 指令 RS RW D7 D6 D5 D4 D3 D2 D1 D0 1 清显示 0 0 0 0 0 0 0 0 0 1 2 光标返回 0 0 0 0 0 0 0 0 1 置输入模式 0 0 0 0 0 0 0 1 ID S 4 显示开关控制 0 0 0 0 0 0 1 D C B 5 光标或字符移位 0 0 0 0 0 1 SC RL 置功能 0 0 0 0 1 DL N F
置字符发生存贮器地址 0 0 0 1 字符发生存贮器地址置数据存贮器地址 0 0 1 显示数据存贮器地址读忙标志或地址 0 1 BF 计数器地址写数到CGRAM或DDRAM 1 0 要写的数据内容 11 从CGRAM或DDRAM读数 1 1 读出的数据内容 表-2-2控制命令表
1602液晶模块的读写操作屏幕和光标的操作都是通过指令编程来实现的说明1为高电平0为低电平
指令1清显示指令码01H光标复位到地址00H位置 指令2光标复位光标返回到地址00H 指令3光标和显示模式设置 ID光标移动方向高电平右移低电平左移 S屏幕上所有文字是否左移或者右移高电平表示有效低电平则无效
指令4显示开关控制 D控制整体显示的开与关高电平表示开显示低电平表示关显示 C控制光标的开与关高电平表示有光标低电平表示无光标 B控制光标是否闪烁高电平闪烁低电平不闪烁
指令5光标或显示移位 SC高电平时移动显示的文字低电平时移动光标
指令6功能设置命令 DL高电平时为4位总线低电平时为8位总线 N低电平时为单行显示高电平时双行显示 F 低电平时显示5x7的点阵字符高电平时显示5x10的点阵字符
指令7字符发生器RAM地址设置 指令8DDRAM地址设置
指令9读忙信号和光标地址 BF为忙标志位高电平表示忙此时模块不能接收命令或者数据如果为低电平表示不忙
指令10写数据 指令11读数据
与HD44780相兼容的芯片时序表如下读状态
输入 RS LRW HE H 输出 D0D7 状态字 写指令 输入 RS LRW LD0D7 指令码E 高脉冲 输出 无 读数据 输入 RS HRW HE H 输出 D0D7 数据
写数据 输入 RS HRW LD0D7 数据E 高脉冲 输出 无
表-2-3基本操作时序表
读写操作时序如图和所示 图 322 读操作时序
图 323 写操作时序 33驱动模块
方案一采用ULN2003驱动它是由7组达林顿晶体管阵列和相应的电阻网络以及钳位二极管网络构成具有同时驱动7组负载的能力一般用于高速大功率驱动电路所以我们不采用这个方案
方案二采用由双极性管组成的H桥电路L298N用单片机控制晶体管使之工作在占空比可调的开关状态精确调整电机转速这种电路由于工作在管子的饱和截止模式下则效率非常高H桥电路保证了可以简单地实现转速和方向的控制电子开关的速度很快稳定性也很高而且它有更强的驱动能力L298N有过电流保护功能当出现电机卡死时可以保护电路和电机等
L298N有过电流保护功能当出现电机卡死时可以保护电路和电机 等所以我们选择L298N 下图为L298内部图 图33L298内部原理图
L298各引脚功能如下表
引脚 功能
SEN1SEN2 分别为两个H桥的电流反馈脚不用时可以接地 23 1Y11Y2 输出端与对应输入端IN1IN2同逻辑 4 VS 驱动电压最小值需比输入的低电平电压高25V 57 IN1IN2 输入端TTL电平兼容
611 EN1EN2 使能端低电平禁止输出GND 地 9 VSS 逻辑电源457V 1012 IN3IN4 输入端TTL电平兼容
1314 2Y12Y2 输出端与对应输入端IN3IN4同逻辑 表3-3-1 封装引脚及功能
驱动电机的运行IO端口状态与电机制动对照表如下 IN1 IN2 IN3 IN4 EN1 EN2 转速0 1 0 1 1 正转
0 1 0 1 1 1 反转1 1 1 1 1 停止
0 0 0 0 1 1 停止
X X X X 0 0 停止
表3-3-2 IO端口状态与电机制动对照表
34电源模块
我们选择采用5v的独立的稳压电源 优点稳定可靠且有各种成熟电路可供选用
缺点各模块都采用独立电源会使系统复杂且可能影响电路电平综合电源模块的缺优点和电路的实际需求我们采用了两块独立稳压电源一块给小车的电机驱动供电一块给小车的芯片供电这样弥补了单个独立电源供电出现电力不足的情况
第四章 软件设计 41 程序设计流程图
本设计系统软件采用模块化结构由主程序、定时子程序电机驱动子程序、中断子程序显示子程序、算法子程序构成主程序流程图如图41所示
图 41主程序流程图
关键程序设计 PWM产生程序设计
void Timer2 void interrupt 5
TF2 0 RCAP2H 0x0fe RCAP2L 0x33 click if click 100 click 0 if click ZK1
PWM1 1
else
PWM1 0 if click ZK2
PWM2 1
else
PWM2 0
2超声波的发射与接受程序设计 void zd3 interrupt 3
TH1 0x0f8 TL1 0x30 timer if timer 200
timer 0
TX 1
_nop_
_nop_
_nop_
_nop_
_nop_
_nop_
_nop_
_nop_
_nop_
_nop_
_nop_
_nop_
_nop_
_nop_
_nop_
_nop_
_nop_
_nop_
_nop_
_nop_
_nop_
TX 0
31602的初始化程序的设计 void ini_lcd1602
write_lcd1602 0x380 delay 1 write_lcd1602 0x0c0 delay 1 write_lcd1602 0x060 delay 1 write_lcd1602 0x010 delay 1
41602的写程序的设计
void write_lcd1602 uchar cmduchar i
lcd_mang rs i rw 0 e 0 _nop_ _nop_
e 1 _nop_ _nop_ P0 cmd _nop_ _nop_ _nop_ _nop_ e 0
51602的判忙程序的设计 void lcd_mang rs 0 rw 1 e 1 _nop_ _nop_ _nop_ _nop_ while P00x80 e 0
第五章 系统调试 51 调试的思路
本设计的智能避障小车一共分为四大模块分别是L298驱动模块超声波测距模块LCD显示模块以及蜂鸣器报警模块调试的时候我们可以把四大模块分别调试最后再把所有模块组合起来再进行最后的整机调试这样一个调试的思路
各模块的调试
521 LCD的调试首先根据电路图将显示模块焊好再用万用表检查电路是否出现短路一切都正常的情况下将LCD测试程序烧到芯片中观察LCD的显示是否正确如图521一开始可能什么都不显示这个时候我们只需调整LCD 3脚的变阻器阻值即可
图 521LCD测试图
522 超声波的调试
超声波模块一共有四个脚一个是VCC一个是GND还有两个分别是超声波的发射和接收引脚连接电路时候只需引出四根插线分别连接到89S52的对应引脚烧制好测试程序测试结果图如522本设计四根插线分别连接到VCCGND还有发射和接收引脚分别为P30和P32口
图 522超声波测试图
523 蜂鸣器报警调试
蜂鸣器的连接很简单只需用一个PNP管来做驱动当低电平到来时蜂鸣器发出声音当高电平到来时没有声音本设计中蜂鸣器连接到P34口如图523所示
图523蜂鸣器报警电路
调试心得
通过系统的调试我们可以学到更多的知识我们也可以发现仿真和实物调试不同的地方程序设计的结果可能往往和实物调试出的结果不一样这就需要我们去思考去斟酌去改进以达到预期效果通过程序和硬件的调试我们可以更深刻的理解各功能模块之间的联系也可以明白各调试的步骤
在调试的过程中我也遇到许多问题例如我在宿舍调试好小车之后带到班级时候在插上电源试图让小车跑起来时候发现超声波模块失去了作用LCD不再显示数据了后来我用电脑USB口供电发现也不可以检查了许久才发现是超声波模块上的电源线和地线的两根插线出现了断路换线之后LCD正常显示数值小车正常行驶整个调试过程需要硬件和软件结合起来调试要仔细检查电路认真思考程序
硬件部分调试的步骤
检查原理图连接是否正确用万用表检查是否有虚焊引脚短路现象检查原理图与上引脚是否一致680欧的电阻焊成了68千欧这使我深深感受到理论与实际间的差距在调试过程中发现插上编程器后不能烧制程序通过检查电路发现AT89S52芯片的使能端没有接VCC改好之后重新烧制发现还是不可以通过再次检查发现是共阴管的驱动芯片74LS245的引脚出现焊接错误通过这些调试提高了我检查电路的能力以及巩固了电路图的知识通过这样的设计提高了我的动手能力每天在实验室除了焊接线路板还可以上机编程使我软件调试知识也提高了本设计采用的是89S52单片机这主要是因为该单片机的稳定性比较好还可以采用其它系列的单片机比如采用陵阳单片机就可以简化编程但其稳定性不是很好
展望
1在本课题的基础上我们可以在小车的底座下面装一个吸尘装置这样就可以在小车行驶的过程中吸除一些预先放好的小纸屑
2设计出两辆小车一辆小车放在另一辆的前面当前面一辆小车起动时候后面一辆小车也起动前面一辆小车转弯的时候后面一辆也跟着转弯前面一辆小车停止时后面一辆也跟着停止
致 谢
历时三个月的毕业设计已经告一段落经过自己不断的搜索努力以及白老师的耐心指导和热情帮助本设计已经基本完成在这段时间里白老师严谨的治学态度和热忱的工作作风令我十分钦佩他的指导使我受益非浅
通过这次毕业设计使我深刻地认识到学好专业知识的重要性也理解了理论联系实际的含义并且检验了大学四年的学习成果虽然在这次设计中对于知识的运用和衔接还不够熟练但是我将在以后的工作和学习中继续努力不断完善这三个月的设计是对过去所学知识的系统提高和扩充的过程为今后的发展打下了良好的基础
由于自身水平有限设计中一定存在很多不足之处敬请各位老师批评指正
参考资料 赵负图传感器集成电路手册第一版化学工业出版社2004590~591 2李华MCS-51系列单片机实用接口技术第三版北京1997年 3张红润实用自动控制成都科技大学出版社1990年1月 4康华光电子技术基础北京高等教育出版社1983年10月 5潘新民微型计算机控制技术北京人民邮电技术出版社1988年3月
6赵依军单片机微型接口技术北京人民邮电技术出版社1989年3月
7李广弟单片机基础北京北京航空航天大学出版社2001 8胡汉才单片机原理及其接口技术北京清华大学出版社1996 9王毅单片机器件应用手册北京人民邮电出版社1995 附录 1元器件清单
序号 元件名称 数量 参数AT89S52单片机
超声波模块 1 L298n 1 智能避障小车底盘蜂鸣器LCD液晶屏
2样机实物照片
3电路原理图 相关程序 include include define uchar unsigned char define uint unsigned int unsigned char i sbit rs P26
定义引脚 sbit rw P25 sbit e P27 sbit TX P30 触发信号引脚 sbit FM P34 sbit PWM1 P36 pwm信号输出 sbit PWM2 P37 static char click 0 unsigned char ZK1ZK2 unsigned int time 0 unsigned int timer 0 unsigned long S bit flag 0 unsigned char code ASCII[19] 0123456789-MJU LI static unsigned char DisNum 0 显示用指针
unsigned long S 0 unsigned char disbuff[11] 0 void Conut void
time TH0256TL0
TH0 0
TL0 0
S time17 100
disbuff[0] 13
disbuff[1] 14
disbuff[2] 15
disbuff[3] 16
disbuff[4] 17
disbuff[5] 18
disbuff[6] S1000100
disbuff[7] 10
disbuff[8] S100010010
disbuff[9] S100010 10
disbuff[10] 12
void delay_1 void 误差 0us
unsigned char ab for b 215b 0b--for a 45a 0a--
void delay uchar a
uchar i while a--
for i 0i 250i
_nop_ _nop_
_nop_ _nop_
判忙
void lcd_mang rs 0 rw 1 e 1 _nop_ _nop_ _nop_ _nop_ while P00x80 e 0
1602的写
void write_lcd1602 uchar cmduchar i 当i为0的时候为向1602写指令为1写数据
lcd_mang rs i rw 0 e 0 _nop_ _nop_
e 1 _nop_ _nop_ P0 cmd _nop_ _nop_ _nop_ _nop_ e 0
1602的初始化 void ini_lcd1602
write_lcd1602 0x380 delay 1 write_lcd1602 0x0c0 delay 1 write_lcd1602 0x060 delay 1 write_lcd1602 0x010 delay 1
void Timer2Interrupt
RCAP2H 0x0fe RCAP2L 0x33 ET2 1 T2定时器中断
EA 1 总中断
TR2 1 T2定时器
允许打开启动void zd0 interrupt 1
flag 1
void zd3 interrupt 3 800MS启动模块
TH1 0x0f8 TL1 0x30 timer if timer 200
timer 0 TX 1
800MS _nop_ _nop_ _nop_ _nop_ _nop_ _nop_ _nop_ _nop_
T1中断用来扫描数码管和计启动一次模块 _nop_ _nop_ _nop_ _nop_ _nop_ _nop_ _nop_ _nop_ _nop_ _nop_ _nop_ _nop_ _nop_ TX 0
void Timer2 void interrupt 5
TF2 0 T2定时器发生溢出中断时需要用户自己清除溢出标记
RCAP2H 0x0fe RCAP2L 0x33 恢复定时器初始值
click if click 100 click 0 if click ZK1
PWM1 1
else
PWM1 0 if click ZK2
PWM2 1
else
PWM2 0 主函数 void main
TMOD 0x19
设T0为方式1GATE 1 TH0 0 TL0 0 TH1 0x0f8 2MS定时
TL1 0x30 ET0 1 允许T0中断
ET1 1
允许T1中断 TR1 1
开启定时器
Timer2Interrupt EA 1
开启总中断
ZK1 20 ZK2 20 ini_lcd1602 while 1
while INT0 0 当RX为零时等待
TR0 1
while INT0 1 当RX为1计数并等待
TR0 0
关闭计数
Conut
计算
if S 40
控制加速
FM 1
P1 0xaf
ZK1 ZK1-5
ZK2 ZK2-5
else
if S 30 控制转向
FM 0
ZK1 ZK15
ZK2 ZK25
P1 0X8F
delay_1
if ZK1 99 ZK1 1
if ZK1 1 ZK1 10
if ZK2 99 ZK2 1
if ZK2 1 ZK2 10
write_lcd1602 0x800
for i 0i 10i
write_lcd1602 ASCII[disbuff[i]]1-31-
第二篇:智能避障小车试验报告与总结
智能避障小车试验报告与
总结
专业班级:12自动化-3 姓 名:李昆伦 学 号:1216306058
随着科学技术的发展,机器人的感觉传感器种类越来越多,其中视觉传感器成为自动行走和驾驶的重要部件。视觉的典型应用领域为自主式智能导航系统,对于视觉的各种技术而言图像处理技术已相当发达,而基于图像的理解技术还很落后,机器视觉需要通过大量的运算也只能识别一些结构化环境简单的目标。视觉传感器的核心器件是摄像管或CCD,目前的CCD已能做到自动聚焦。但CCD传感器的价格、体积和使用方式上并不占优势,因此在不要求清晰图像只需要粗略感觉的系统中考虑使用接近觉传感器是一种实用有效的方法。
STC12C5A60S2/AD/PWM系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路速10位A/D转换(250K/S),针对电机控制,强干扰场合。我们采用的就是STC12C5A60S2这种单片机。
避障系统可以采用反射式光电开关或者超声波传感器对前方的障碍物进行检测,前者结构简单,应用方便灵活,但不能获知障碍物与小车间的具体距离;后者结构复杂,但可以测得障碍物与小车间的直线距离。本系统采用反射式光电开关E3F-DS10C4来检测障碍物。E3F-DS10C4是漫反射式光电开关,NPN三线输出方式,三线分别为电源线、输出线、地线。它的灵敏度也可以调节,检测距离比较远,可以达到20cm。
红外发射管,发射50hz调制的38k信号。当遇到障碍物时,发生漫反射,红外接收头接收到这一信号时,输出端输出50hz的信号。判断这一信号,即可判断,遇到了障碍物。
避障传感器基本原理,利用物体的反射性质。在一定范围内,如果没有障碍物,发射出去红外线,因为传播距离越远而逐渐减弱,最后消失,或者反射回来的光很弱时,输出端呈低电平光电开关的检测不受外界干扰。如果有障碍物,红外线遇到障碍物,被反射到达传感器接收头,则输出端呈高电平。传感器检测到这一信号,就可以确认正前方有障碍物,并送给单片机,单片机进行一系列的处理分析,协调小车两轮工作。红外避障基本原理大致就是如此。
利用红外传感器进行“前进-倒退-转向”避障,在车的头部安装光电开关小车采用左右轮分别驱动小车进入障碍区后,在距离障碍物10cm到20cm的地方就可以检测到前面有障碍物(改变光电开关的灵敏度可改变最远检测距离),然后小车刹车停止,并调整角度,车头右偏一个角度,其方法是小车在前进制动过程中,先制动右轮,这样左轮转动快,使小车右转,并制动停止,随后小车加速后退,然后制动,在制动过程中,先制动右轮,左边快而使车头左偏,小车再前进,检测前方是否有障碍物。如此循环,就可以绕开障碍物。前进停止和后退停止之间的距离约为30cm,只要小车前进时刹车行程小于传感器检测到障碍物的最大距离,就可以肯定小车车头碰不到障碍物。调整适当的刹车行程和传感器的灵敏度,便可实现这个条件。单片机电路:
电机驱动电路:
电源电路:
红外传感电路:
之后附上小车实物照片: 采用二轮驱动,后面一个万向轮方便转向,减少阻力。电源采用3.7v锂电池供电。
至于程序输入,如图电源指示灯旁边有个插口,可以连接数据线,安装的驱动是PL2303Vista_Installer,烧写软件我采用的是stc-isp-15xx-v6.67D,至于程序则是在同学们的帮助下参考网上的改编的。程序有如下:
#include“STC12C5A60S2.h” #include
void delay(unsigned int n){ unsigned char i, j,k;for(k=0;k<=n;k++){ _nop_();_nop_();i = 20;j = 10;do {
while(--j);} while(--i);} } void beep(void){ unsigned char i;for(i=0;i<3;i++){ BUZZ=~BUZZ;delay(10);} BUZZ=1;} void gogogo(void){ IN1=1;IN2=0;IN3=1;IN4=0;} void backbackback(void){ IN1=0;IN2=1;IN3=0;IN4=1;} void stop(void){ IN1=0;IN2=0;IN3=0;IN4=0;} void turnleft(void){ IN1=0;IN2=1;IN3=1;IN4=0;} void turnright(void){ IN1=1;IN2=0;IN3=0;IN4=1;} void main(void){ while(1){ if(bleft==0&&bright==1){ turnright();delay(3);stop();delay(3);} if(bleft==1&&bright==0){ turnleft();delay(3);stop();delay(3);} if(bleft==0&&bright==0){ gogogo();delay(3);stop();delay(3);} if(bleft==1&&bright==1){ turnright();delay(3);stop();delay(3);} } } 在焊接过程中,也出线了很多错误,再严重的一次是单片机底座引脚有一个没有焊好,然后用万用表连接了多次才发现,然后用一根小铁丝从下面穿上去再用锡焊牢固。特别要注意的是色环电阻的识别计算方法,在这就不详细介绍了。最难的莫过于程序的调试和小车的机械方面布局几轮驱动一类的问题。总之,通过这次动手制作小车,我从中也学到了很多平时不知道的东西。以后有机会,会继续加强这方面的动手学习能力。
第三篇:基于Arduino单片机避障小车机器人毕业论文
论文编码:TP39
Capital Normal University
首都师范大学本科毕业设计论文
基于行为设计的移动机器人设计与实现
——机器人机械设计模块
Design and Implementation of Mobile Robot
Based on Behavior Design —— Robot Mechanical Solutions
论文作者: 张倩颖 院 系: 信息工程学院 专 业: 计算机科学与技术 学 号: 1111000055 指导老师: 徐敏 完成日期: 2015年 4月 25日
首都师范大学本科毕业设计论文
摘要
本文简要介绍了基于行为设计的移动机器人设计与实现----一种基于Arduino新型集成开发环境的超声波避障小车的工作原理。其中包括对小车的执行组件、搭建结构、传感器、Arduino单片机软件编程及试验结果的介绍。
本方案以Arduino单片机为控制核心,基于蝙蝠超声波测距的原理,利用超声波传感器,检测小车前方障碍物的距离,然后把数据传送给单片机。当超声波检测到距离小车前方25CM有障碍物时单片机就发出指令让小车左转一定角度,然后停止行进继续探测.如果前方25CM没有障碍物则直行,否则继续左转一定角度。如此通过超声波不断的循环检测周边环境的情况进行自动避障。
本系统在硬件设计方面,以Arduino单片机为控制核心,以超声波传感器检测前方障碍物,从而自动避障。在软件方面,利用Arduino语言进行编程,通过软件编程来控制小车运转。该系统在驱动方面采用L298N驱动2个直流电机带动小车运行。并且,用PWM系统调速,控制小车前进的速度。实现小车根据外部环境,做出前进、后退和转向等动作,从而完成避障的功能,本设计具有有一定的实用价值。
关键词:Arduino单片机;超声波传感器;避障
I
基于行为设计的移动机器人设计与实现
ABSTRACT This paper describes the design of mobile robot behavior-based design and implement----A new ultrasound-based integrated development environment Arduino obstacle avoidance car works.These include the implementation of car components, building structures, sensors, Arduino microcontroller software programming and test results presentation.The program to Arduino microcontroller core, based on the principle of ultrasonic distance measurement bats using ultrasonic sensors to detect obstacles in front from the car, and then transmits the data to the microcontroller.When the ultrasonic distance in front of the car detects obstacles 25CM SCM issued a directive to make the car turn left on an angle, then continue probing stop traveling.If there is no obstacle in front of the 25CM straight, turn left or continue certain angle.So the case of the ultrasonic continuous loop through the surrounding environment to automatically detect avoidance.The system hardware design to Arduino microcontroller core, with ultrasonic sensors detect obstacles in front, so that automatic obstacle avoidance.On the software side, the use of Arduino programming language to control the car running through software programming.The system uses the driver side L298N drive two DC motors drive the car running.And, with the PWM system speed, speed control car forward.Realize the car according to the external environment, made forward, backward, and steering movements, thus completing the obstacle avoidance function, the design has a certain practical value.Key words: Arduino;ultrasonic sensors;obstacle avoidance
II
首都师范大学本科毕业设计论文
第一章 绪论....................................................................................................................................1 1.1 论文的选题背景...................................................................................................................1 1.2 Arduino单片机概述.............................................................................................................2 1.3 Arduino机器人发展现状.....................................................................................................3 1.4 Arduino智能避障机器人研究意义和目的.........................................................................4 1.5项目主要研究内容...............................................................................................................5 第二章 避障小车机器人的总体设计............................................................................................6 2.1设计原理与方法...................................................................................................................6 2.2硬件设计...............................................................................................................................6 2.3 软件设计...............................................................................................................................7 2.3.1 Arduino语言..................................................................................................................7 2.3.2 Arduino IDE....................................................................................................................8 2.4 实验前期准备.....................................................................................................................10 第三章 硬件模块..........................................................................................................................12 3.1 各模块的的基本性能.........................................................................................................12 3.1.1 单片机模块...................................................................................................................12 3.1.2 电机、电机驱动模块...................................................................................................12 3.1.3避障模块......................................................................................................................14 3.1.4电源模块......................................................................................................................15 3.2 小车的基本搭建.................................................................................................................15 3.3连线.....................................................................................................................................17 3.3.1电机的连线..................................................................................................................17 3.3.2舵机的连线..................................................................................................................18 3.3.3超声波的连线..............................................................................................................19 3.3.4 Arduino超声波小车总体连线图:.............................................................................20
III
基于行为设计的移动机器人设计与实现
第四章 软件模块..........................................................................................................................21 4.1 软件设计思路.....................................................................................................................21 4.2 电机前进模块.....................................................................................................................22 4.2 电机后退模块.....................................................................................................................22 4.3 电机停止工作模块.............................................................................................................23 4.4 电机左转模块.....................................................................................................................23 4.5 电机右转模块.....................................................................................................................24 4.6 防卡死模块.........................................................................................................................25 第五章 实验及结果分析..............................................................................................................26 5.1预期目标.............................................................................................................................26 5.2遇到的问题和解决方法.....................................................................................................26 5.3 硬件的调试与整合.............................................................................................................27 5.3.1调试思路......................................................................................................................27 5.3.2调试超声波模块..........................................................................................................27 5.3.3电机调试......................................................................................................................28 5.4 心得体会.............................................................................................................................28 第六章 设想与展望......................................................................................................................30 参考文献.......................................................................................................................................31 致谢...............................................................................................................................................32 附录...............................................................................................................................................33 超声波智能避障车程序(ARDUINO)...................................................................................33
IV
首都师范大学本科毕业设计论文
第一章 绪论
1.1 论文的选题背景
随着现代计算机技术的不断发展和普及,机器人的发展已经遍及近年来机器人的智能水平不断提高,并且迅速地改变着人们的生活方式。小到智能玩具,大到机械、电子、冶金、交通、宇航、国防等各个领域。人们将计算机技术更加广阔的运用的人类生活中,制造能替代人劳动的机器一直是人类的梦想,并一直在为之努力。在我们的生活里,有很多的机器人,如图1.1所示,这两种机器人分别是扫地机器人和灭火机器人。他们在我们的生活中非常常见也很实用,他们的特点就是无需人们的控制,能够自行运动完成他们的任务。那么这就需要一个非常必要的基础功能,那就是能够感知并躲避前方的障碍物。
因此,在本次的设计中,我们将设计出一个能够避障机器人,在具有这个基本功能的基础上,我们就可以为他附加更多的功能,赋予它更多的实用价值。选用Arduino单片机作为控制核心,使用仿生超声波技术传感器进行避障的实现。“智能避障机器人”作为现代社会的新产物,也是以后的发展方向,他可以按照预先设定的模式在一个特定的环境里自动的运作,无需人为管理,便可以完成预期所要达到的或是更高的目标。
图1.1
基于行为设计的移动机器人设计与实现
1.2 Arduino单片机概述
Arduino,是一个基于开放原始码的软硬件平台,构建于开放原始码simple I/O介面版,并且具有使用类似Java,C语言的Processing/Wiring开发环境。它包含两个主要的部分:硬件部分是可以用来做电路连接和Arduino电路板;另外一个则是Arduino IDE,你的计算机中的程序开发环境。你只要在IDE中编写程序代码,将程序上传到Arduino电路板后,程序便会告诉Arduino电路板要做些什么了。
Arduino能通过各种各样的传感器来感知环境,通过控制灯光、马达和其他的装置来反馈、影响环境。板子上的微控制器可以通过Arduino的编程语言来编写程序,编译成二进制文件,收录进微控制器。对Arduino的编程是利用Arduino编程语言(基于 Wiring)和Arduino开发环境(based on Processing)来实现的。基于Arduino的项目,可以只包含Arduino,也可以包含Arduino和其他一些在PC上运行的软件,他们之间进行通信(比如 Flash, Processing, MaxMSP)来实现。可以自己动手制作,也可以购买成品套装;Arduino所使用到的软件都可以免费下载.硬件参考设计(CAD 文件)也是遵循availableopen-source协议, 你可以非常自由地根据你自己的要求去修改他们.Arduino可以使用开发完成的电子元件例如Switch或sensors或其他控制器、LED、步进马达或其他输出装置。Arduino也可以独立运作成为一个可以跟软件沟通的接口,例如说:flash、processing、Max/MSP、VVVV或其他互动软件…。Arduino开发IDE接口基于开放源代码原,可以让您免费下载使用开发出更多令人惊艳的互动作品。
其主要特点如下:
1)开放源代码的电路图设计,程序开发接口免费下载,也可依个人需求自己修改。2)使用低价格的微处理控制器(AVR系列控制器),可以采用USB接口供电,不需外接电源,也可以使用外部9VDC输入。
3)Arduino支持ISP在线烧,可以将新的“bootloader”固件烧入AVR芯片。有了bootloader之后,可以通过串口或者USB to Rs232线更新固件。
4)可依据官方提供的Eagle格式PCB和SCH电路图简化Arduino模组,完成独立运作的微处理控制;可简单地与传感器,各式各样的电子元件连接(例如:红外线,超音波,热敏电阻,光敏电阻,伺服马达,…等)5)支持多种互动程序,如:Flash、Max/Msp、VVVV、PD、C、Processing等。
首都师范大学本科毕业设计论文
6)应用方面,利用Arduino,突破以往只能使用鼠标、键盘、CCD等输入的装置的互动内容,可以更简单地达成单人或多人游戏互动。
我们为什么要使用Arduino?有很多的单片机和单片机平台都适合用做交互式系统的设计。例如:Parallax Basic Stamp,Netmedia’s BX-24,Phidgets,MIT’s Handyboard和其它等等提供类似功能的。所有这些工具,你都不需要去关心单片机编程繁琐的细节,提供给你的是一套容易使用的工具包。Arduino同样也简化了同单片机工作的流程,但同其它系统相比Arduino在很多地方更具有优越性,特别适合老师,学生和一些业余爱好者们使用:和其它平台相比,Arduino板算是相当便宜了。最便宜的Arduino版本可以自己动手制作,即使是组装好的成品,其价格也不会超过200元。而且Arduino软件可以跨平台运行在Windows,Macintosh OSX,和Linux操作系统。而大部分其它的单片机系统都只能运行在Windows上。另外,它具有简易的编程环境。初学者很容易就能学会使用Arduino编程环境,同时它又能为高级用户提供足够多的高级应用。对于老师们来说,一般都能很方便的使用Processing 编程环境,所以如果学生学习过使用Processing 编程环境的话,那他们在使用Arduino开发环境的时候就会觉得很相似很熟悉。
软件开源并可扩展-Arduino软件是开源的,对于有经验的程序员可以对其进行扩展。Arduino编程语言可以通过C++库进行扩展,如果有人想去了解技术上的细节,可以跳过Arduino语言而直接使用AVR C 编程语言(因为Arduino语言实际上是基于AVR C的)。类似的,如果你需要的话,你也可以直接往你的Arduino程序中添加AVR-C 代码。
Arduino基于AVR平台,对AVR库进行了二次编译封装,把端口都打包好了,寄存器啦、地址指针之类的基本不用管。大大降低了软件开发难度,适宜非专业爱好者使用。优点和缺点并存,因为是二次编译封装,代码不如直接使用AVR代码编写精练,代码执行效率与代码体积都弱于AVR直接编译。
1.3 Arduino机器人发展现状
我国目前的发展现状是研制中的智能移动机器人智能水平并不高,只能说是智能移动机器人的初级阶段。智能移动机器人研究中当前的核心问题有两方面:一方面是,提高智能移动机器人的自主性,这是就智能移动机器人与人的关系而言,即希望智能
基于行为设计的移动机器人设计与实现
移动机器人进一步独立于人,具有更为友善的人机界面。从长远来说,希望操作人员只要给出要完成的任务,而机器能自动形成完成该任务的步骤,并自动完成它。另一方面是,提高智能移动机器人的适应性,提高智能移动机器人适应环境变化的能力,这是就智能移动机器人与环境的关系而言,希望加强它们之间的交互关系。
智能移动机器人涉及到许多关键技术,这些技术关系到智能移动机器人的智能性的高低。这些关键技术主要有以下几个方面:多传感信息耦合技术,多传感器信息融合就是指综合来自多个传感器的感知数据,以产生更可靠、更准确或更全面的信息,经过融合的多传感器系统能够更加完善、精确地反映检测对象的特性,消除信息的不确定性,提高信息的可靠性;导航和定位技术,在自主移动机器人导航中,无论是局部实时避障还是全局规划,都需要精确知道机器人或障碍物的当前状态及位置,以完成导航、避障及路径规划等任务;路径规划技术,最优路径规划就是依据某个或某些优化准则,在机器人工作空间中找到一条从起始状态到目标状态、可以避开障碍物的最优路径;机器人视觉技术,机器人视觉系统的工作包括图像的获取、图像的处理和分析、输出和显示,核心任务是特征提取、图像分割和图像辨识;智能控制技术,智能控制方法提高了机器人的速度及精度;人机接口技术,人机接口技术是研究如何使人方便自然地与计算机交流。
在各国的智能移动机器人发展中,美国的智能移动机器人技术在国际上一直处于领先地位,其技术全面、先进,适应性也很强,性能可靠、功能全面、精确度高,其视觉、触觉等人工智能技术已在航天、汽车工业中广泛应用。日本由于一系列扶植政策,各类机器人包括智能移动机器人的发展迅速。欧洲各国在智能移动机器人的研究和应用方面在世界上处于公认的领先地位。中国起步较晚,而后进入了大力发展的时期,以期以机器人为媒介物推动整个制造业的改变,推动整个高技术产业的壮大
1.4 Arduino智能避障机器人研究意义和目的
机器人的感觉传感器种类非常多,其中视觉传感器成为研制自动行走和驾驶机器人的重要部件。机器人要实现自动导引功能和避障功能就必须要感知导引线和障碍物,感知导引线相当给机器人一个视觉功能。本设计以超声波作为智能车避障的一种重要手段,以其避障实现方便,计算简单,易于做到实时控制,测量精度也能达到实用的要求,在未来汽车智能化进程中必将得到广泛应用。我国作为一个世界大国,在高科
首都师范大学本科毕业设计论文
技领域也必须占据一席之地,未来汽车的智能化是汽车产业发展必然的,在这种情况下研究超声波在智能车避障上的应用具有深远意义,这将对我国未来智能汽车的研究在世界高科技领域占据领先地位具有重要作用。
本设计主要体现多功能小车的智能避障功能,本设计中的理论方案、分析方法及特色与创新点等可以为自动运输机器人、采矿勘探机器人、家用自动清洁机器人等自动半自动机器人的设计与普及有一定的参考意义。同时小车可以作为玩具的发展对象,为中国玩具市场技术含量的缺乏进行一定的弥补,实现经济收益,形成商业价值。我们所设计的智能移动机器人利用超声波能够在路面上顺利躲避障碍物,从而在导盲和辅助人类行动方面也有着重要意义。
1.5项目主要研究内容
本设计题目为《基于行为设计的移动机器人设计与实现》是以Arduino单片机为控制核心,主要研究小车的避障功能。利用超声波传感器检测道路上的障碍,然后把数据传送给单片机,当超声波检测到距离小车前方有障碍物时单片机就发出指令让小车左转一定角度,然后停止运行继续探测.如果前方没有障碍物就直走,否则继续左转一定角度。如此通过超声波不断的循环检测周边环境的情况进行自动避障。该功能的小车能够实现在无人操作的情况下在比较宽阔平坦的环境中避开障碍物。当机器人在行走过程中遇到前方障碍时,能够根据有效范围内的距离作出相应处理,由单片机软件发出转弯、直行、后退指令,避免机器与障碍物相撞。
基于行为设计的移动机器人设计与实现
第二章 避障小车机器人的总体设计
2.1设计原理与方法
本设计中直流电机PWM控制系统的主要功能包括实现对直流电机的加速、减速,并且可以调整电机的转速,能够很方便的实现电机的智能控制。主体电路:即直流电机PWM 控制模块。这部分电路主要由AT89S52 单片机的 I/O 端口、定时计数器、外部中断扩展等控制直流电机的加速、减速以及电机的正转和反转,并且可以调整电机的转速,能够很方便的实现电机的智能控制。其间是通过 AT89S52 单片机产生脉宽可调的脉冲信号并输入到L298 驱动芯片来控制直流电机工作的。该直流电机PWM 控制系统由以下电路模块组成:设计控制部分:主要由AT89S52 单片机的外部中断扩展电路组成。直流电机PWM控制实现部分主要由一些二极管、电机和L298 直流电机驱动模块组成。智能小车采用后轮驱动,两个后轮各用一个电机,前轮是万象轮,起到支撑和转向的作用。
2.2硬件设计
本小车的硬件部分分为几个模块:超声波传感器、Arduino单片机、电源、两个直流电动机、电机驱动板、车身。电源连接在Arduino单片机上给整个小车供电。小车以Arduino单片机为核心,连接电机驱动板控制两个直流电动机的运转,从而实现小车的前进。将超声波传感器安置在车身的最前端,用于探测前方是否有障碍物。当超声波传感器遇到障碍物,将反馈提供到单片机里从而做出向左旋转的反应,再次检测前方是否有障碍物,若有障碍物则继续旋转,没有障碍物则电机驱动器驱动电机前进,从而实现整个小车的避障功能。硬件框架图如图2.1。
首都师范大学本科毕业设计论文
图2.1 硬件设计框架
2.3 软件设计
2.3.1 Arduino语言
Arduino语言具有如下特点:
1、开放源代码的电路图设计,程序开发接口免费下载,也可依需求自己修改。
2、使用低价格的微处理控制器(AVR系列控制器),可以采用USB接口供电,不需外接电源,也可以使用外部9VDC输入。
3、Arduino支持ISP在线烧,可以将新的“bootloader”固件烧入AVR芯片。有了bootloader之后,可以通过串口或者USB to Rs232线更新固件。
4、可依据官方提供的Eagle格式PCB和SCH电路图简化Arduino模组,完成独立运作的微处理控制;可简单地与传感器,各式各样的电子元件连接(例如:红外线,超音波,热敏电阻,光敏电阻,伺服马达,„等)
5、支持多种互动程序,如:Flash、Max/Msp、VVVV、PD、C、Processing等。
6、应用方面,利用Arduino,突破以往只能使用鼠标、键盘、CCD等输入的装置的互动内容,可以更简单地达成单人或多人游戏互动。Arduino的功能:
基于行为设计的移动机器人设计与实现
Arduino可以让我们快速使用与Macromedia Flash, Processing, Max/MSP, Pure Data, SuperCollider等软件结合,作出互动作品。Arduino可以使用现有的电子元件例如开关或者传感器或者其他控制器件、LED、步进马达或其他输出装置。Arduino也可以独立运行,并与软件进行交互,例如:Macromedia Flash, Processing,Max/MSP, Pure Data,VVVV或其他互动软件,Arduino的IDE界面基于开放源代码,可以让我们免费下载使用,开发出更多令人惊艳的互动作品。
Arduino可使用ICSP线上烧入器,将「bootloader」烧入新的IC晶片;可依据官方电路图,简化Arduino模组,完成独立运作的微处理控制;可简单地与传感器,各式各样的电子元件连接(例如:红外线,超声波,热敏电阻,光敏电阻,伺服马达等);支援多样的互动程序例如: Macromedia Flash、Max/Msp、VVVV、PD、C、Processing等;使用低价格的微处理控制器(ATMEGA 8-168);USB接口,不需外接电源。另外有提供9V直流电源输入;在应用方面,利用Arduino,突破以往只能使用鼠标,键盘,CCD等输入的装置进行互动内容的设计,可以更简单地达成单人或多人游戏互动。
2.3.2 Arduino IDE 如图2.3这是运行界面。Arduino语言是一种类c的语言。在这个界面里有我们编程时最常用的东西。当我们把鼠标放在上面就会在右侧出现按键的功能。
图2.3 Arduino IDE运行界面
首都师范大学本科毕业设计论文
图2.4就是upload上传功能。最右边的图标是我们需要熟知的串口监视器,快捷键是:Ctrl+Shift+M。点这个图标有用的前提是插上了串口设备,当然Arduino插在USB上也可以,因为板上的Atmega16U2就是USB转串口的功能。
图2.4 upload
上传功能
如图2.5这就是串口监视器的运行画面相对于网上流传的众多串口调试软件,它的功能可以说较为简单。右下角是波特率,波特率接收端和发射端要相同,要不然收到的会是乱码。
图2.5 串口监视器
如果电脑没找到串口或者驱动没装好,就会有如图2.6的提示。serial port的意思是串行通讯接口。
图2.6 Arduino IDE的菜单栏中有很多选项,例如“文件”“编辑”等英文界面。其中Sketch是草图的意思,在Arduino IDE中,每个Arduino程序都称为sketch,他是一个
基于行为设计的移动机器人设计与实现
可以上传进Arduino Board中的程序包,当然经过编译以后他就不是代码包了。Tools里面第一项,自动格式,当你把一段从网上下载的源代码放到sketch里面,会有一些缩进的乱码,这时,Auto Format就起到了很好的作用。
当我们编写好程序后,点击Update,IDE会自动编译,上传。如果程序有错误,就会有如图2.7的显示,标出了行号。修改程序后就可以继续编译上传了。
图2.7
2.4 实验前期准备
搭建小车的零件清单如下: 1.减速电机 2个 2.优质轮胎2个 3.电机固定件2个 4.万向轮1个
5.100*150*2.6MM有机玻璃板 2片 6.L298N电机驱动板1个 7.ARDUINO 328给力板 1个 8.云台 1个 9.舵机 1个 10.超声波模块1个 11.迷你面包板1个 12.6节5号电池盒一个 13.杜邦线 12条 14.1米长USB线1条
15.铜柱 35MM长 3个 12MM 4个
首都师范大学本科毕业设计论文
16.3MM螺丝螺母若干
基于行为设计的移动机器人设计与实现
第三章 硬件模块
3.1 各模块的的基本性能
3.1.1 单片机模块
本设计采用Atmel Atmega328微处理控制器。其性能为:Digital I/O 数字输入/输出端共 0~13。Analog I/O 模拟输入/输出端共 0~5。支持ISP下载功能。输入电压:接上电脑USB时无须外部供电,外部供电7V~12V 直流电压输入。输出电压:5V 直流电压输出和3.3V 直流电压输出。
图3.1 Arduino单片机实物图
3.1.2 电机、电机驱动模块
本设计采用由双极性管组成的H桥电路(L298N)。用单片机控制晶体管使之工作在占空比可调的开关状态,精确调整电机转速。这种电路由于工作在管子的饱和截止模式下,则效率非常高;H桥电路保证了可以简单地实现转速和方向的控制,电子开关的速度很快,稳定性也很高。而且它有更强的驱动能力。而且L298N有过电流保护
首都师范大学本科毕业设计论文
功能,当出现电机卡死时,可以保护电路和电机。这种调速方式有调速特性优良、调整平滑、调速范围广、过载能力大,能承受频繁的负载冲击,还可以实现频繁的无级快速启动、制动和反转等优点。因此决定采用使用功率三极管作为功率放大器的输出控制直流电机。
图 3.2 L298N引脚图
图3.3 L298N电路原理图
基于行为设计的移动机器人设计与实现
图3.4 L298N实物图
3.1.3避障模块
本设计采用HC-SR04超声波测距模块,该原件可提供2CM-400CM的非接触式距离感测功能,测距精度可达高到3mm;模块包括超声波发射器,接收器和控制电路。
基本工作原理:(1)采用IO口TRIG触发测距,给至少10us的高电平信号;(2)模块自动发送8个40khz的方波,自动检测是否有信号返回;(3)有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2;
图3.5避障模块实物图
首都师范大学本科毕业设计论文
3.1.4电源模块
本设计采用的电源为车载电源。为保证电源工作可靠,单片机系统与动力伺服系统的电源采用了大功率、大容量的蓄电池;而传感器的工作电源则采用了小巧轻便的干电池。
图3.6 电源模块实物图
3.2 小车的基本搭建
舵机,云台和超声波的连接步骤如下图:
1.如图3.7准备好云台舵机超声波安装所需配件。
图3.7 2.图3.8取出舵机配件之一“十字胶体”将十字剪成四边对等的长度,打磨成宽度一样。
基于行为设计的移动机器人设计与实现
图3.8 3.将2*8mm的和1.2*5mm的螺丝安装到十字的第二个孔,装到云台底座上。在云台底部的螺丝位套上螺母,并用热熔胶固定如图3.9。
图3.9 4.将舵机装上云台的两个边翼,并用螺丝紧固如图3.10。
图3.10 5.将装好的舵机放进固定好的十字胶体调整好方向后,从舵机组件包里取出2*6mm的螺丝安装到舵机固定孔中。完成云台安装后用扎带将超声波模块固定在云台前端如图3.11。
首都师范大学本科毕业设计论文
图3.11 6.将6mm铜柱装在云台底座安装孔并将装好的云台组件直接安装到小车底盘上,小车搭建成品如图3.12。
图3.12 小车搭建成品
3.3连线
3.3.1电机的连线
L298N的供电处理:
用6节5号电池盒取一路电源给L298N电机驱动模块供电,另一路给ARDUINO主板供电给L298N电机驱动模块供电的电源+极接L298N的VMS接口,电源的-接L298N的GND接口,L298N板上的+5V接口放空不接。电机一接L298N的MOTOA,电机二接L298N的MOTOB。
基于行为设计的移动机器人设计与实现
图3.13 电机的连线
3.3.2舵机的连线
首先设置函数:myservo.attach(5);// 定义伺服马达输出第5脚位。
舵机需要连接的有三条线,分别是+,-,信号。三条线均直接连接到Arduino板上。
接线方法:将+5V接到J5位,-位接到J6位,信号位接到J4位PWM口的第五脚。
连线方式如图3.14所示:
图3.14舵机的连线
首都师范大学本科毕业设计论文
3.3.3超声波的连线
超声波传感器有四个脚,如图3.15所示: 四个引脚的功能分别是: 1:VCC 接+5V。2:TRIQ 信号输入。3:ECHO信号输出。4:GND 接地。
图3.15超声波的引脚示意图
超声波模块四个引脚直接与Arduino单片机连接,接线方法如图3.16所示:
图3.16超声波与Arduino单片机接线
基于行为设计的移动机器人设计与实现
3.3.4 Arduino超声波小车总体连线图:
电机A和电机B将正负两端接在L298N电机驱动板上,若正负两级接反则车轮反转。电机驱动板、舵机、超声波模块直接与Arduino核心控制板相连,电源模块分别给电机驱动板和Arduino板供电。
图3.17 Arduino超声波小车总体连线图
首都师范大学本科毕业设计论文
第四章 软件模块
4.1 软件设计思路
在软件设计方面,采用Arduino语言编程,编写程序流程图4.1
图4.1 软件编译流程图
基于行为设计的移动机器人设计与实现
4.2 电机前进模块
在定义好各个引脚之后,进入主程序的编写部分。我在程序控制模块里主要编写的是电机的控制函数。本程序中提及的digitalWrite函数的作用是设置引脚的输出的电压为高电平或低电平。该函数也是一个无返回值的函数,函数有两个参数pin和value,pin参数表示所要设置的引脚,value参数表示输出的电压HIGH(高电平)或LOW(低电平)。
首先定义为advance前进函数: void advance(int a){ 编写模拟信号,定义马达右后动作为低电平,即不给电: digitalWrite(pinRB,LOW);编写模拟信号,定义马达右前动作为高电平: digitalWrite(pinRF,HIGH);编写模拟信号,定义马达左后动作为低电平: digitalWrite(pinLB,LOW);编写模拟信号,定义马达左前动作为高电平: digitalWrite(pinLF,HIGH);定义延时,即将前进动作保持一段时间,直到开始执行下一程序。delay(a * 100);延时 } 4.2 电机后退模块
将函数定义为back后退函数 void back(int g)//后退 { 编写模拟信号,定义马达右后动作为高电平: digitalWrite(pinRB,HIGH);编写模拟信号,定义马达右前动作为低电平: digitalWrite(pinRF,LOW);
首都师范大学本科毕业设计论文
编写模拟信号,定义马达左后动作为高电平: digitalWrite(pinLB,HIGH);编写模拟信号,定义马达左前动作为低电平: digitalWrite(pinLF,LOW);定义延时,即将电机的后退动作保持一段时间,直到开始执行下一程序。delay(g * 100);} 4.3 电机停止工作模块
将函数定义为stopp停止函数 void stopp(int f){ 编写模拟信号,定义马达右后动作为高电平: digitalWrite(pinRB,HIGH);编写模拟信号,定义马达右前动作为高电平digitalWrite(pinRF,HIGH);编写模拟信号,定义马达左后动作为高电平digitalWrite(pinLB,HIGH);编写模拟信号,定义马达左前动作为高电平digitalWrite(pinLF,HIGH);定义延时,即将电机的停止动作保持一段时间,直到开始执行下一程序。delay(f * 100);}
4.4 电机左转模块
将函数定义为left左转函数 void left(int c){
基于行为设计的移动机器人设计与实现
编写模拟信号,定义马达右后动作为高电平 digitalWrite(pinRB,HIGH);编写模拟信号,定义马达右前动作为高电平 digitalWrite(pinRF,HIGH);编写模拟信号,定义马达左后动作为低电平 digitalWrite(pinLB,LOW);编写模拟信号,定义马达左前动作为高电平 digitalWrite(pinLF,HIGH);定义延时,即将电机的左转动作保持一段时间,直到开始执行下一程序。delay(c * 100);}
4.5 电机右转模块
将函数定义为right右转函数 void right(int b){ 编写模拟信号,定义马达右后动作为低电平 digitalWrite(pinRB,LOW);编写模拟信号,定义马达右前动作为高电平 digitalWrite(pinRF,HIGH);编写模拟信号,定义马达左后动作为高电平 digitalWrite(pinLB,HIGH);编写模拟信号,定义马达左前动作为高电平 digitalWrite(pinLF,HIGH);定义延时,即将电机的右转动作保持一段时间,直到开始执行下一程序。delay(b * 100);}
首都师范大学本科毕业设计论文
4.6 防卡死模块
该模块为防止避障小车卡死的编译,即当小车发生与障碍物距离过近的情况而无法转弯时,该程序会指引小车向后倒退,倒退一定距离后左转前进,若仍有障碍物则继续倒退,若无障碍物则左转后直行。即可防止车在行进途中卡在死巷里。
if(directionn == 2)//假如directionn(方向)= 2(倒车){ back(8);// 倒退(车)turnL(2);//些微向左方移动(防止卡在死巷里)Serial.print(“ Reverse ”);//显示方向(倒退)}
基于行为设计的移动机器人设计与实现
第五章 实验及结果分析
5.1预期目标
总体来说本次试验达到预期目标。
(1)在车前方没有障碍物时,小车沿直线向前走。
(2)在车前方有障碍物时,小车能避开障碍物,避障方法如下:超声波检测到障碍物后,先向左边旋转,检测。如果旋转后前面没有检测障碍物,则沿直线向前走;如果旋转后检测到前方仍有障碍物,则继续旋转,如果前面没有障碍物,则沿直线向前行走;
但是该超声波避障小车还存在着许多的不足,比如说只能对正前方一定角度内进行探测,使用的是一路超声波而不是多路超声波探测,并且为了简化,默认的只是向同一个方向转弯等,这些都是有待进一步发展和提高的。
5.2遇到的问题和解决方法
在此之前我们并没有制作过任何智能的机器人。初定避障小车这个题目时,最初我们采用乐高机器人搭建了一个循迹避障的机器人,由于操作较为简单,后来我们决定尝试采用Arduino芯片,利用超声波传感器搭建出一台智能的避障小车。最初我们对硬件的原理不够明白,不知道采用哪些原件,课程设计指导书上介绍的也并不详细,因此我们利用大量时间去图书馆查阅了许多资料,对其电机驱动、Arduino控制板以及超声波传感器的引脚、电路设计等各方面都做了近一步的了解之后才开始进行小车的搭建。
在选择硬件设施上,我们也花了很大功夫。在最初我们设计了两个驱动方案的选择。一个是采用ULN2003驱动,它是由7组达林顿晶体管阵列和相应的电阻网络以及钳位二极管网络构成,具有同时驱动7组负载的能力,一般用于高速大功率驱动电路。另个一就是采用由双极性管组成的H桥电路(L298N)。用单片机控制晶体管使之工作在占空比可调的开关状态,精确调整电机转速。这种电路由于工作在管子的饱和截止模式下,则效率非常高;H桥电路保证了可以简单地实现转速和方向的控制,电子开关的速度很快,稳定性也很高。而且它有更强的驱动能力。此驱动板体积小,重量轻,而且它有一个外加的续流二极管,可以防止电机线圈在断电时的方向电势损坏芯片,同时也也安装有散热
首都师范大学本科毕业设计论文
片能使芯片温度降低,尽量防止他自动断电,让驱动性能更加稳定。板子设有两个电流反馈检测接口、内逻辑取电选择端、4个上拉电阻选择端、2路直流电机接口、控制电机方向指向灯等等。这个板子不仅适用于智能程控小车、轮式机器人等,还可以配合各种控制器使用。因此经过一番对比和考虑,最终我们选择了L298N电机驱动板。在超声波的选择上我们也出现了分期,本设计最终采用的是HC-SR04超声波测距模块。而最初我们选择的事红外传感装置。之所以最终没有选择红外线传感,是因为红外线对使用环境有较高的要求,当遇上浅色或是深色的家居物品它无法反射回来,会造成机器人无法正常避障。而这款HC-SR04则采用仿生超声波技术,类似鲸鱼,蝙蝠采用声波来侦测判断障碍物以及及空间方位,该超声波避障模块包括超声波发射器,接收器和控制电路,灵敏度较高,但技术成本也较高。
在搭建方面,我们完成程序的编译通电之后,小车发生了原地旋转的现象,经过观察,我们发现小车在感应障碍物方面并没有问题。问题出现在左侧轮前转,而右侧轮后转。所以我们将控制右侧车轮的电机的接线进行改接,这个问题便得以解决。
在软硬件调试方面,我们也遇到了一些问题。首先是避障小车的旋转角度不够,也许是因为地面摩擦力的关系,小车的旋转角度并达不到我们所设定的左转九十度。后来我们又将程序进行改进,设置的旋转角度比九十度多一些,小车就可正常避障了。还有一个问题就是小车在遇到障碍物之后的反应速度并不是很快,需要障碍物在前面平行持续1,2秒才可以做出转向的判断,这个延迟反应也经常造成小车和障碍物发生碰撞,这也是我们遇到的最大问题,在这个问题上我们做了很多程序上的调试,但终究达不到很理想的效果,在后续的试验中,我们准备尝试换一个感测避障模块进行尝试改进。
5.3 硬件的调试与整合
5.3.1调试思路
本设计的智能避障小车,难点重点有两大模块。分别是:L298驱动模块和超声波测距模块。我们在调试的时候我们把两大模块分别调试,最后再把所有模块和硬件组合起来再进行最后的整机调试这样一个调试的思路。
5.3.2调试超声波模块
超声波模块一共有四个脚,一个是VCC,一个是GND,还有两个分别是超声波的发射和接收引脚。连接电路时候只需引出四根插线,分别连接到89S52的对应引脚,烧制好
基于行为设计的移动机器人设计与实现
测试程序,测试结果图如5.2.2。本设计四根插线分别连接到VCC,GND,还有发射和接收引脚分别为:P3.0和P3.2。
5.3.3电机调试
在电机驱动板上。有EA,I1,I2,EB,I3,I4六个端子用于控制电机。EA,EB为两路电机的控制使能,通过PWM可以控制电机转速,高电平有效。我们完成程序的编译通电之后,小车发生了不停地旋转的现象,我们观察到小车在感应障碍物方面并没有问题。问题出现在左侧轮前转,而右侧轮后转。所以我们将控制右侧车轮的电机的接线进行修改,这个问题便得以解决。
图5.1电机驱动板的引脚及其功能
5.4 心得体会
通过这次的项目实训,我学习到了很多的电子知识,提高了我对于陌生硬件的学习能力。超声波传感器在此之前我没有接触过,对我来说非常的陌生,从一无所知慢慢查资料到能够熟练应用,让我知道了面对新的硬件应该怎么学习,在以后的工作学习中,我一定会遇到非常多的不熟悉的硬件,我相信,通过不断地锻炼积累,学习能力会进一步提高。这次实训同时还加强了我实践动手能力,特别培养了出现问题、分析问题、解决问题的能力,我相信这些能力的提高对我以后在从事任何工作都将会有极大的帮助。
这次的项目实训让我感触最深的是:作为电子爱好者,电子制作中不管遇到什么问题和困境都要有一颗平静的心和坚持不懈的精神,一颗浮躁的心是不会到达成功的彼岸。这次课程设计,给我更多的是一种模块化的思想,将系统按我们所需的功能和系统所能提供的功能进行模块化的分类,将会使我们的工作变得一目了然,非常清晰。比如说这次我选的避障小车,可以分成超声波测速模块,电机驱动模块,单片机核心模块三个,首都师范大学本科毕业设计论文
三个部分各司其职,无论从硬件上还是软件上,都能够比较清晰地将他们的功能区分开,从而有利于硬件的连接和程序的编写。
从以后工作来看,这种模块化处理问题的方式将会更加的有用,在公司和以后得科研项目中,系统一定是越来越复杂,不可能一个人完成所有的任务,一定是一个团队来做这些系统的设计,所以模块化之后,能够将任务分配给每个人,最后大家还能够很好的综合到一起,大大的缩短了开发周期。这次的毕设实践学习让我受益匪浅。
基于行为设计的移动机器人设计与实现
第六章 设想与展望
随着科技的迅猛发展,智能已经成为了现在的高科技的热词,智能机器人可以解决无数人类无法或者是很难解决的难题。本智能小车系统最诱人的前景就是可用于未来的智能汽车上了,当驾驶员因疏忽或打瞌睡时这样的智能汽车的设计就能体现出它的作用。如果汽车偏离车道或距障碍物小于安全距离时,汽车就会发出警报,提醒驾驶员注意,如果驾驶员没有及时作出反应,汽车就会自动减速或停靠于路边,这样就大大增大了驾车的安全系数,想的再长远一点,这个避障功能可以作为无人驾驶机动的一个基本功能。无人驾驶的机动车行驶在路上,拥有定位和导航的功能后就可以将人或物品送到我们所需要送到的位置。这样智能机器人的应用,就大大的减少了人力和物力,并且方便了更多不会驾驶机动车的市民。
这样的避障小车还可以用于月球探测等的无人探月车,帮助我们传达月球上更多的信息,让我们更加的了解月球,为将来登月做好充分准备。这样的小车在科学考察探测车上也有广阔的应用前景,在科学考察中,有很多危险且人们无法涉足的地方,这时,智能科学考察车就能够派上用场,在它上面装上摄像机,代替人们进行许多无法进行的工作。智能车的应用减少了人们的工作危险系数,解决了恶劣环境下勘探的需求,实现了即是没有人操作应用机器也能很好的完成工作,这项研发可谓是一举多得。
在未来的社会中智能也是大势所趋,而智能车作为智能机器人中一类必不可少的组成部分。最近几年发展更是迅速,各个国家更是投入大量资金。它广泛涉及人工智能、计算机视觉、自动控制、精密仪器、传感和信息等一系列学科的创新研究,其研究成果可广泛应用于工业、农业、医药、军事、航空、信息技术等实际领域,智能机器人的发展水平可反映出一个国家的高科技水平和综合国力,是国家综合国力强大的标志,也是人类文明进步的标志。在我们未来的工作与生活中,会越来越多的需要机器人代替人力来工作和完成一些难度较大或较为费力的任务,对这些实用的机器人的需求也会越来越大。因此,机器人研发的前景是不可估量的。
首都师范大学本科毕业设计论文
参考文献
[1] 袁新娜,与红英编着.超声波传感器在智能小车避障系统中的应用.[A]中北大学(2009)08-0085-04 [2] 邵贝贝.单片机嵌入式应用的在线开发方法[M].北京.清华大学出社.2004 [3] 王晓明.电动机的单片机控制[M].北京.北京航空航天大学出版社.2002 [4] 臧杰,阎岩.汽车构造[M].北京.机械工业出版社.2005 哈尔滨工业大学课程设计说明书
[5] 安鹏,马伟.S12单片机模块应用及程序调试[J].电子产品世界.2006.第211期. 162-163 [6] 童诗白,华成英.模拟电子技术基础[M].北京.高等教育出版社.2000 [7] 沈长生.常用电子元器件使用一读通[M].北京.人民邮电出版社.2004 [8] 宗光华.机器人的创意设计与实践[M].北京.北京航空航天大学出社.2004 [9] 张伟等.Protel DXP高级应用[M].北京.人民邮电出版社.2002 [10] 张文春.汽车理论[M].北京.机械工业出版社.2005 [11] 江海波,王卓然,耿德根编着.深入浅出AVR单片机.中国电力出版社,2008.31
基于行为设计的移动机器人设计与实现
致谢
历时三个月的毕业设计已经告一段落。在我和我组成员张硕的共同努力下,本避障小车的任务已经基本完成。在这段时间里,非常感谢在遇到困难时我的同学们所给予的支持和鼓励,给我提供专业的意见和建议。还有和我同组的同学张硕,我们共同查阅资料,克服许多在选择小车部件、小车搭建和编程上的种种困难。也正是这次毕业设计使我深刻地认识到学好专业知识的重要性,也理解了理论联系实际的含义,并且检验了大学四年的学习成果。我更明白了团队合作的重要性。两个人不仅有两个大脑和更多的主意和知识,最重要的事能够在遇到困难时可以相互鼓励学习,互相分担。也正是这种团结合作的精神促使了我们这次毕设任务的圆满成功。
这三个月的设计是对过去所学知识的系统提高和扩充的过程,为今后的发展打下了良好的基础。也非常感谢指导老师徐老师的支持和指导,每次我给徐老师发邮件她都会认真的给我批改,指出我的不足。也正是因为在老师的指导下我的论文进行不断的改正,才有机会变得越来越好。
由于自身水平有限,设计中一定存在很多不足之处。虽然这次的毕业设计对于知识的运用和衔接还不够熟练,但是我将在以后的工作和学习中继续努力、不断完善。敬请各位老师批评指正。
首都师范大学本科毕业设计论文
附录
超声波智能避障车程序(ARDUINO)
L = 左 R = 右 F = 前 B = 后 */ #include
int pinRB=10;// 定义10脚位右后 int pinRF=11;// 定义11脚位右前
int inputPin = A0;// 定义超音波信号接收脚位 int outputPin =A1;// 定义超音波信号发射脚位
int Fspeedd = 0;// 前速 int Rspeedd = 0;// 右速 int Lspeedd = 0;// 左速
int directionn = 0;// 前=8 后=2 左=4 右=6 Servo myservo;// 设 myservo int delay_time = 250;// 伺服马达转向后的稳定时间
int Fgo = 8;// 前进 int Rgo = 6;// 右转 int Lgo = 4;// 左转 int Bgo = 2;// 倒车
基于行为设计的移动机器人设计与实现
void setup(){ Serial.begin(9600);// 定义马达输出脚位 pinMode(pinLB,OUTPUT);// 脚位 8(PWM)pinMode(pinLF,OUTPUT);// 脚位 9(PWM)pinMode(pinRB,OUTPUT);// 脚位 10(PWM)pinMode(pinRF,OUTPUT);// 脚位 11(PWM)
pinMode(inputPin, INPUT);// 定义超音波输入脚位 pinMode(outputPin, OUTPUT);// 定义超音波输出脚位
myservo.attach(5);// 定义伺服马达输出第5脚位(PWM)} void advance(int a)// 前进 { digitalWrite(pinRB,LOW);// 使马达(右后)动作 digitalWrite(pinRF,HIGH);digitalWrite(pinLB,LOW);// 使马达(左后)动作 digitalWrite(pinLF,HIGH);delay(a * 100);}(电机前进函数)
void right(int b)//右转(单轮){ digitalWrite(pinRB,LOW);//使马达(右后)动作右后方的引脚的低电频 digitalWrite(pinRF,HIGH);右前引脚高电频 digitalWrite(pinLB,HIGH);digitalWrite(pinLF,HIGH);delay(b * 100);}
首都师范大学本科毕业设计论文
void left(int c)//左转(单轮){ digitalWrite(pinRB,HIGH);digitalWrite(pinRF,HIGH);digitalWrite(pinLB,LOW);//使马达(左后)动作 digitalWrite(pinLF,HIGH);delay(c * 100);}(high高频是向前 low低频向后)void turnR(int d)//右转(双轮){ digitalWrite(pinRB,LOW);//使马达(右后)动作 digitalWrite(pinRF,HIGH);digitalWrite(pinLB,HIGH);digitalWrite(pinLF,LOW);//使马达(左前)动作 delay(d * 100);} void turnL(int e)//左转(双轮){ digitalWrite(pinRB,HIGH);digitalWrite(pinRF,LOW);//使马达(右前)动作 digitalWrite(pinLB,LOW);//使马达(左后)动作 digitalWrite(pinLF,HIGH);delay(e * 100);} void stopp(int f)//停止 { digitalWrite(pinRB,HIGH);digitalWrite(pinRF,HIGH);digitalWrite(pinLB,HIGH);digitalWrite(pinLF,HIGH);
基于行为设计的移动机器人设计与实现
delay(f * 100);} void back(int g)//后退 {
digitalWrite(pinRB,HIGH);//使马达(右后)动作 digitalWrite(pinRF,LOW);digitalWrite(pinLB,HIGH);//使马达(左后)动作 digitalWrite(pinLF,LOW);delay(g * 100);}
void detection()//测量3个角度(0.90.179){ intdelay_time = 250;// 伺服马达转向后的稳定时间 ask_pin_F();// 读取前方距离
if(Fspeedd< 10)// 假如前方距离小于10公分 { stopp(1);// 清除输出资料 back(2);// 后退 0.2秒 }
if(Fspeedd< 25)// 假如前方距离小于25公分 { stopp(1);// 清除输出资料 ask_pin_L();// 读取左方距离
delay(delay_time);// 等待伺服马达稳定 ask_pin_R();// 读取右方距离
delay(delay_time);// 等待伺服马达稳定
首都师范大学本科毕业设计论文
if(Lspeedd>Rspeedd)//假如左边距离大于右边距离 { directionn = Rgo;//向右走 }
if(Lspeedd<= Rspeedd)//假如左边距离小于或等于右边距离 { directionn = Lgo;//向左走 }
if(Lspeedd< 10 &&Rspeedd< 10)//假如左边距离和右边距离皆小于10公分 { directionn = Bgo;//向后走 } } else //加如前方不小于(大于)25公分 { directionn = Fgo;//向前走 } } void ask_pin_F()// 量出前方距离 { myservo.write(90);digitalWrite(outputPin, LOW);// 让超声波发射低电压2μs delayMicroseconds(2);digitalWrite(outputPin, HIGH);// 让超声波发射高电压10μs,这里至少是10μs delayMicroseconds(10);digitalWrite(outputPin, LOW);// 维持超声波发射低电压
基于行为设计的移动机器人设计与实现
float Fdistance = pulseIn(inputPin, HIGH);// 读差相差时间
Fdistance= Fdistance/5.8/10;// 将时间转为距离距离(单位:公分)Serial.print(“F distance:”);//输出距离(单位:公分)Serial.println(Fdistance);//显示距离
Fspeedd = Fdistance;// 将距离读入Fspeedd(前速)} void ask_pin_L()// 量出左边距离 { myservo.write(5);delay(delay_time);digitalWrite(outputPin, LOW);// 让超声波发射低电压2μs delayMicroseconds(2);digitalWrite(outputPin, HIGH);// 让超声波发射高电压10μs,这里至少是10μs delayMicroseconds(10);digitalWrite(outputPin, LOW);// 维持超声波发射低电压 float Ldistance = pulseIn(inputPin, HIGH);// 读差相差时间
Ldistance= Ldistance/5.8/10;// 将时间转为距离距离(单位:公分)Serial.print(“L distance:”);//输出距离(单位:公分)Serial.println(Ldistance);//显示距离
Lspeedd = Ldistance;// 将距离读入Lspeedd(左速)} void ask_pin_R()// 量出右边距离 { myservo.write(177);delay(delay_time);digitalWrite(outputPin, LOW);// 让超声波发射低电压2μs delayMicroseconds(2);digitalWrite(outputPin, HIGH);// 让超声波发射高电压10μs,这里至少是10μs delayMicroseconds(10);digitalWrite(outputPin, LOW);// 维持超声波发射低电压
首都师范大学本科毕业设计论文
float Rdistance = pulseIn(inputPin, HIGH);// 读差相差时间
Rdistance= Rdistance/5.8/10;// 将时间转为距离距离(单位:公分)Serial.print(“R distance:”);//输出距离(单位:公分)Serial.println(Rdistance);//显示距离
Rspeedd = Rdistance;// 将距离读入Rspeedd(右速)}
void loop(){ myservo.write(90);//让伺服马达回归预备位置准备下一次的测量 detection();//测量角度并且判断要往哪一方向移动
if(、n == 2)//假如directionn(方向)= 2(倒车){ back(8);// 倒退(车)turnL(2);//些微向左方移动(防止卡在死巷里)Serial.print(“ Reverse ”);//显示方向(倒退)} if(directionn == 6)//假如directionn(方向)= 6(右转){ back(1);turnR(6);// 右转
Serial.print(“ Right ”);//显示方向(左转)} if(directionn == 4)//假如directionn(方向)= 4(左转){ back(1);turnL(6);// 左转
Serial.print(“ Left ”);//显示方向(右转)}
基于行为设计的移动机器人设计与实现
if(directionn == 8)//假如directionn(方向)= 8(前进){ advance(1);// 正常前进 Serial.print(“ Advance ”);//显示方向(前进)Serial.print(“ ”);}
首都师范大学本科毕业设计论文
第四篇:智能避障机器人设计外文翻译
外文翻译
INTELLIGENT VEHICLE
Our society is awash in “machine intelligence” of various kinds.Over the last century, we have witnessed more and more of the “drudgery” of daily living being replaced by devices such as washing machines.One remaining area of both drudgery and danger, however, is the daily act ofdriving automobiles 1.2 million people were killed in traffic crashes in 2002, which was 2.1% of all globaldeaths and the 11th ranked cause of death.If this trend continues, an estimated 8.5 million people will be dying every year in road crashes by 2020.In fact, the U.S.Department of Transportation has estimated the overall societal cost of road crashes annually in the United States at greater than $230 billion.When hundreds or thousands of vehicles are sharing the same roads at the same time, leading to the all too familiar experience of congested traffic.Traffic congestion undermines our quality of life in the same way air pollution undermines public health.Around 1990, road transportation professionals began to apply them to traffic and road management.Thus was born the intelligent transportation system(ITS).Starting in the late 1990s, ITS systems were developed and deployed.In developed countries, travelers today have access to signifi-cant amounts of information about travel conditions, whether they are driving their own vehicle or riding on public transit systems.As the world energy crisis, and the war and the energy consumption of oil--and are full of energy, in one day, someday it will disappear without a trace.Oil is not in resources.So in oil consumption must be clean before finding a replacement.With the development of science and technology the progress of the society, people invented the electric car.Electric cars will become the most ideal of transportation.In the development of world each aspect is fruitful, especially with the automobile electronic technology and computer and rapid development of the information age.The electronic control technology in the car on a wide range of 1
外文翻译
applications, the application of the electronic device, cars, and electronic technology not only to improve and enhance the quality and the traditional automobile electrical performance, but also improve the automobile fuel economy, performance, reliability and emissions purification.Widely used in automobile electronic products not only reduces the cost and reduce the complexity of the maintenance.From the fuel injection engine ignition devices, air control and emission control and fault diagnosis to the body auxiliary devices are generally used in electronic control technology, auto development mainly electromechanical integration.Widely used in automotive electronic control ignition system mainly electronic control fuel injection system, electronic control ignition system, electronic control automatic transmission, electronic control(ABS/ASR)control system, electronic control suspension system, electronic control power steering system, vehicle dynamic control system, the airbag systems, active belt system, electronic control system and the automatic air-conditioning and GPS navigation system etc.With the system response, the use function of quick car, high reliability, guarantees of engine power and reduce fuel consumption and emission regulations meet standards.The car is essential to modern traffic tools.And electric cars bring us infinite joy will give us the physical and mental relaxation.Take for example, automatic transmission in road, can not on the clutch, can achieve automatic shift and engine flameout, not so effective improve the driving convenience lighten the fatigue strength.Automatic transmission consists mainly of hydraulic torque converter, gear transmission, pump, hydraulic control system, electronic control system and oil cooling system, etc.The electronic control of suspension is mainly used to cushion the impact of the body and the road to reduce vibration that car getting smooth-going and stability.When the vehicle in the car when the road uneven road can according to automatically adjust the height.When the car ratio of height, low set to gas or oil cylinder filling or oil.If is opposite, gas or diarrhea.To ensure and improve the level of driving cars driving stability.Variable force power steering system can significantly change the driver for the work efficiency and the state, so widely used
外文翻译
in electric cars.VDC to vehicle performance has important function it can according to the need of active braking to change the wheels of the car, car motions of state and optimum control performance, and increased automobile adhesion, controlling and stability.Besides these, appear beyond 4WS 4WD electric cars can greatly improve the performance of the value and ascending simultaneously.ABS braking distance is reduced and can keep turning skills effectively improve the stability of the directions simultaneously reduce tyre wear.The airbag appear in large programs protected the driver and passenger's safety, and greatly reduce automobile in collision of drivers and passengers in the buffer, to protect the safety of life.Intelligent electronic technology in the bus to promote safe driving and that the other functions.The realization of automatic driving through various sensors.Except some smart cars equipped with multiple outside sensors can fully perception of information and traffic facilities and to judge whether the vehicles and drivers in danger, has the independent pathfinding, navigation, avoid bump, no parking fees etc.Function.Effectively improve the safe transport of manipulation, reduce the pilot fatigue, improve passenger comfort.Of course battery electric vehicle is the key, the electric car battery mainly has: the use of lead-acid batteries, nickel cadmium battery, the battery, sodium sulfide sodium sulfide lithium battery, the battery, the battery, the flywheel zinc-air fuel cell and solar battery, the battery.In many kind of cells, the fuel cell is by far the most want to solve the problem of energy shortage car.Fuel cells have high pollution characteristics, different from other battery, the battery, need not only external constantly supply of fuel and electricity can continuously steadily.Fuel cell vehicles(FCEV)can be matched with the car engine performance and fuel economy and emission in the aspects of superior internal-combustion vehicles.Along with the computer and electronic product constantly upgrading electric car, open class in mature technology and perfected, that drive more safe, convenient and flexible, comfortable.Electric cars with traditional to compete in the market, the car will was electric cars and intelligent car replaced.This is the question that day
外文翻译
after timing will come.ABS, GPS, and various new 4WD 4WS, electronic products and the modern era, excellent performance auto tacit understanding is tie-in, bring us unparalleled precision driving comfort and safety of driving.The hardware and software of the intelligent vehicle are designed based on AVR.This system could set the route in advance.The vehicle could communicate with the PC vianRF401 and could run safely with the help of ultra sound detection and infrared measuring circuit.Neural network self-study is used to improve the intelligence of the vehicle.The performance of servo systems will determine the property of the robot.Based on AVRseries MCU,the velocity servo system for driving motor is created in this paper,including a discrete PIregulator which will work out a PWM control signal with applying the skill of integral separation.The velocities of motors will be controlled real-time with the speed sampling frequency set for 2KHz by using the AVR-GCC compiler software development.Compared to the servo system development based on the 51 Series MCU,the system here has these advantages of simpler peripheral circuit and faster data processing.The experiments demonstrate that,the mobile robot runs stably and smoothly by the control of AVR units,and that the design proposal especially benefits the development of intelligent mobile robots,also can be widely used in the development of other smart devices and product lines.A new design of contest robot control system based on AVR Atmega8 was put forward.According to the character of contest robot , the main control unit , motor drive unit , sense detection unit and LCD display unit were introduced.Furthermore the servo driver system based on MCBL3006S , the line t racker sensor system and the obstacle avoidance sensor system were presented in detail.Finally the performance shows
that
the
control
system
is
open,simple,easy programming,intelligent and efficiency.Avoidance rules of intelligent vehicle obstacle are intro ducted.Through the collection of infrared sensor formation,the rules use diode D1 to launch and diode D2 to receive infrared signals.Infrared transmitter signal without a dedicated circuit
外文翻译
comes directly from the MCU clock frequency, which not only simplifier the circuit and debugging, but also make the circuit stability and anti-jamming capability greatly enhanced.After the experimental verification,the system runs reliably meet the design requirements.A smart car control system of the path information identified based on CCD camera was introduced.The hardware structure and scheme were designed.The control strategy of s teering mechanism was presented.The smart car not only can identify the road precisely, but also have ant-interference performance, and small steady state error.This article designed smart car system,includes the aspects of the sensor information acquisition and processing, motor drive, control algorithm and control strategy etc.Using laser sensor to collect the road information which can feedback to the micro-controller control system,then making analytical processing combined with the software.With velocity feedback and PID control algorithms to control steering engine and the speed of smart car.Verified by actual operation, this method makes smart car travel stably and reliably,and its average speed to reach 2.6m /s, and get a satisfied results.By the aid of the professional know ledge of control, patter n recognition, sensor technology, aut omotive electronics, electricity, computer, machinery and so on, an intelligent vehicle system is designed with PID control algorithm,CCD detection system and HC9SDG128 MCU.Code Warrior IDE integrated development programming environment is taken as a basic softy are platform that can automatically deal with the traffic and image pro cessing, and then adjust the moving direction along the scheduled or bit by t he aid of a CCD camera.The system has many advantages, such as high reliability , high stability, good speed ability and scalability.Based on the research background of the Free-Scale smart car competition,a smart track following car is designed.In the car, the photo electricity sensor is used to check the path and obtain the information of racing road, and calculate the error
外文翻译
between the car and the black line.The fuzzy control is used to control the velocity of the car.The experiments show that the smart car based on the fuzzy control has high accuracy on the judgment of the path, stability and velocity control.外文翻译
智能车
我们的社会充斥着各种各样的“机器智能“。在过去的世纪,我们目睹越来越多日常生活中的“苦差事“被机器设备解决,如洗衣机。
然而,一个既枯燥又危险的保留区域就是日常驾驶汽车。2002年,120万人死于交通事故,这是所有全球2.1%死亡,死因排名第11。如果这种趋势继续下去,估计从2020年起每一年死于道路交通统(ITS)。20世纪90年代中后期开始,它的系统进行了开发和部署。在发达国事故的人将达到850万人。事实上,美国交通部估计交通事故的整体社会成本每年超过2300亿美元。
数百或数千辆车共享相同的道路时,就导致了大家都熟悉的交通挤塞。交通挤塞破坏了我们的生活质量就像空气污染损害公众健康。1990年左右,公路运输的专业人士开始申请让他们在交通和道路管理。于是诞生了智能交通系家,旅客今天能够获得旅行条件的信息,无论是驾驶自己的车或乘坐公共交通系统。
随着世界能源危机的持续,以及战争和能源-----石油的消耗及汽车饱有量的增加,能源在一天一天下降,终有一天它会消失的无影无踪。石油不是在生资源。所以必须在石油耗净之前找到一种代替品。随着科技的发展社会的进步,有人发明了电动汽车。电动汽车将成为人们最为理想的交通工具。
世界在各各方面的发展都取得丰硕成果,尤其是随着汽车电子技术和计算机以及发展迅速的信息时代。电子控制技术在汽车上得到了广泛应用,汽车上应用的电子装置越来越丰富,电子技术不仅用来改善和提高传统汽车电器的质量和性能,而且还提高了汽车的动力性、燃油经济性、可靠性以及废气排放的净化性。汽车上广泛使用电子产品不仅降低了成本,并且减少维护的复杂性。从发动机的燃油喷射点火装置、进气控制、废气排放控制、故障自诊断到车身辅助装置都普遍采用了电子控制技术,可以说今后汽车发展主要以机电一体化。汽车上广泛采用的电子控制点火系统主要有电子控制燃油喷射系统、电子控制点火系统、电子控制自动变速器、电子控制防滑(ABS/ASR)控制系统、电子控制悬架系统、电子控制动力转向系统、车辆动力学控制系统、安全气囊系统、主动安全带系统、电子控制自动空调系统、导航系统还有GPS等。有了这些系
外文翻译
统汽车响应敏捷,使用功能强,可靠性高,既保证发动机动力又降低燃油的消耗,而且又满足排放法规的标准。
汽车是现代人必不可少的交通工具。而电动汽车给我们带来无限乐趣外还能给我们劳累一天的身心得以放松。就拿自动变速器来说吧,汽车在行驶时,可以不踩离合器踏板,就可以实现自动换档而发动机不会熄火,这样有效的提高驾驶方便性减轻驾驶员的疲劳强度。自动变速器主要由液力变矩器、齿轮变速器、油泵、液压控制系统、电子控制系统、油冷却系统等组成。电子控制的悬架主要是用来缓冲路面对车身的冲击力以及减少振动保证汽车平顺性和操纵稳定性。当汽车行驶在不平坦的道路时汽车能能根据底盘和路面高度自动调整。当车高比设置的高度低时,就向气室或油缸充气或充油。如果是相反,就放气或泻油。从而保证汽车的水平行驶,提高行驶稳定性。可变力动力转向系统因能显著改变驾驶员的工作效率和状态,所以在电动汽车上广泛使用。VDC对汽车性能有着至关重要的作用它能根据需要主动对车轮进行制动来改变汽车的运动状态,使汽车达到最佳的行驶状态和操纵性能,并增加了汽车的附着性,控制性和稳定性。除了这些之外4WS、4WD的出现大大提高了电动汽车的价值与性能同步提升。ABS具有减少制动距离并能保持转向操作能力有效提高行驶方向的稳定性同时减少轮胎的磨损。安全气囊的出现在很大程序上保护了驾驶员和乘客的安全,大大降低汽车在碰撞时对驾驶员和乘客的缓冲,以过到保护生命安全的目的。
智能电子技术在汽车上得以推广使得汽车在安全行驶和其它功能更上一层楼。通过各种传感器实现自动驾驶。除些之外智能汽车装备有多种传感器能充分感知交通设施及环境的信息并能随时判断车辆及驾驶员是否处于危险之中,具备自主寻路、导航、避撞、不停车收费等功能。有效提高运输过程中的安全,减少驾驶员的操纵疲劳度,提高乘客的舒适度。当然蓄电池是电动汽车的关键,电动汽车用的蓄电池主要有:铅酸蓄电池、镍镉蓄电池、钠硫蓄电池、钠硫蓄电池、锂电池、锌―空气电池、飞轮电池、燃料电池和太阳能电池等。在诸多种电池中,燃料电池是迄今为止最有希望解决汽车能源短缺问题的动力源。燃料电池具有高效无污染的特性,不同于其他蓄电池,其不需要充电,只要外部不断地供给燃料,就能连续稳定地发电。燃料电池汽车(FCEV)具有可与内燃机汽车媲美的动力性能,在排放、燃油经济性方面明显优于内燃机车辆。
外文翻译
随着计算机和电子产品不断开级换代,电动汽车技术也在日趋成熟与完善,使得驾驶更安全、方便、灵活、舒适。电动汽车真正能够与传统的燃油汽车相竞争,今后汽车市场终会被电动汽车和智能汽车所取代。这只是时间性的问题这一天终究会来到的。ABS、GPS、4WS、4WD以及各种新时代的电子产品与现代高性能汽车默契组合、绝妙搭配,带给我们无与伦比的精准驾驶舒适性和行驶安全性。
以AVR 单片机为核心, 提出了一种智能探测小车的软硬件设计方案。系统可以预先设定小车的行走路线, 能够实现小车与计算机之间的无线通讯, 通过超声测物和红外测障电路使小车安全行走。另外, 系统通过JTAG 接口在线调试程序。软件设计中采用神经网络自学习, 大大增强了小车的智能化.执行元件的伺服系统性能将决定机器人的性能。基于AVR 系列单片机,并应用积分分离技术,设计离散PI 调节器,输出PWM 控制信号,建立驱动电机的速度伺服控制系统。使用AVR - GCC 编译软件开发伺服系统软件,设定速度采样频率为2KHz,实现对电机速度的实时控制。与基于51 系列单片机开发的伺服系统相比,本系统所需的外围电路更简单,数据处理速度更快。实现了机器人响应快速,移动平稳。该伺服系统的开发尤其适用于智能移动机器人,还可以广泛应用于其它智能设备和生产线。
提出了一种基于AVR 单片机Atmega8 为核心控制器的比赛机器人控制系统,通过比赛机器人的特征分析,阐述了构成控制系统所需的主控单元、电机驱动单元、传感检测单元及LCD 显示单元,其中详细分析了以MCBL3006S 为核心的伺服电机驱动单元,以及关系比赛机器人基本功能实现的循线传感系统及避障传感系统,并给出部分程序。最后通过实践表明,该控制系统开放性好、结构简单、编程容易、智能并高效。
智能车的避障规则,通过对红外传感器的信息进行采集,使用二极管D1 发射红外线,二极管D2 接收红外信号。红外线发射部分不设专门的信号发生电路,直接从单片机实现时钟频率,既简化了线路和调试工作,又能使电路的稳定性和抗干扰能力大大加强。经实验验证,该系统运行可靠,达到了设计要求。
介绍一种基于CCD 摄像头的路径识别的智能车控制系统, 设计了硬件结构与方案, 提出了转向机构的控制策略, 该智能车能准确实现自主寻迹, 具备抗干扰性极强, 稳态误差小等特点。
外文翻译
智能车系统,包括传感器信息采集与处理、电机驱动、控制算法及控制策略等方面。采用激光传感器采集道路信息并反馈给单片机控制系统,通过软件进行相关分析处理,通过速度反馈和PID 算法控制舵机转向和智能车速度。通过实际运行验证,本方法使智能车运行稳定、可靠,其平均速度达到2.6m/s,得到比较理想的效果。
为了综合利用控制、模式识别、传感器技术、汽车电子、电气、计算机、机械等专业领域知识, 设计实现了一个基于PID 控制算法, CCD 检测系统, 并采用H C9SDG128 单片机作为主控芯片的智能车系统。该系统使用Codewar rio r IDE 集成开发环境作为程序设计的基本软件平台, 能利用摄像头自动识别路况, 进行图像处理, 进而调整方向沿预定轨道前行, 具有很强的可靠性、稳定性、快速性、扩展性。
以“飞思卡尔”杯智能车大赛为研究背景,开发了一种智能循迹小车。该小车采用光电传感器检测路径,获得赛道信息,求出小车与黑线间的偏差,采用模糊控制对小车的速度进行控制,使小车能够自动跟随直道和弯道。实践表明,采用模糊控制的智能小车在路径识别的精准度,稳定性,及速度控制上具有明显优势。
第五篇:智能小车跟随系统的设计与制作分析
本科毕业论文(设计)
题目: 智能小车跟随系统的设计与制作
学院: 物理与电子科学学院
班级:
姓名:
指导教师: 职称:
完成日期: 年 月 日
智能小车跟随系统的设计与制作
摘要:
现在,小车跟随系统正处于研发与试用阶段,它有着多方面的优势:一方面,充分利用现有的道路资源,有效缓解交通阻塞;另一方面,可以大幅提高驾驶的安全性,减少交通事故的发生。因而推广和应用小车跟随系统已经成为解决交通问题的一个重要途径。
本文的主要研究工作是设计和制作智能小车跟随系统,整个系统包括硬件及软件两个部分。硬件部分包括控制电路,蓝牙通信电路,路径循迹电路,电源驱动电路,电机驱动电路等。软件部分主要包括通过编程使得小车按设定路径实现前进,左拐,右拐,加速,减速,并在小车前进的过程中不断调整小车所在位置等功能。
本文是以电动小车为基础,增加红外传感器,蓝牙等。利用传感器来有效地确定小车前进路径、小车所在位置等信息。单片机接收并处理传感器所产生的信号并加以一定的算法来判断两个小车的状态及其相互间距。最后通过蓝牙来进行小车间的通信,从而控制两个小车加、减速度来使得小车间距相对恒定。该智能小车跟随系统能够实现的功能有:自动循迹;保持车距;紧急停车等。
关键词:智能小车跟随系统;蓝牙通信;单片机;软件设计
目 录 引言..............................................................1 1.1 研究背景及意义..............................................1 1.2 智能车辆研究现状............................................1 1.3 研究内容....................................................1 2 功能分析..........................................................2 2.1 主控模块....................................................2 2.2 循迹模块....................................................3 2.3 电机驱动模块................................................3 2.4 电源模块....................................................3 2.5 通信模块....................................................3 3 硬件设计..........................................................3 3.1 主控硬件设计................................................4 3.2 循迹硬件的设计..............................................4 3.3 驱动硬件设计................................................5 3.4 电源硬件设计................................................5 3.5 蓝牙通信串口硬件设计........................................6 3.6 本章总结....................................................6 4 软件的设计与实现..................................................6 4.1 概述........................................................6 4.2 软件的结构设计..............................................7 4.3 主要模块的实现..............................................8 4.3.1循迹流程图.............................................8 4.3.2 电机驱动流程图.........................................9 4.3.3 位置判断流程图........................................10 4.3.4 蓝牙通信流程图........................................11 4.4 本章小结...................................................11 5 系统功能测试.....................................................11 5.1 系统功能测试...............................................12 2 5.2 测试结果分析...............................................13 6 结论与展望.......................................................13 6.1 结论.......................................................13 6.2 展望.......................................................13 参考文献...........................................................14 致谢...............................................................15
1 引言
1.1 研究背景及意义
随着经济的快速发展,城市的人口不断增加,从而城市的交通压力也越来越大。在中国的一些大中型城市,由于严重的堵车问题,上、下班路途中所消耗的时间可能会长达数个小时。此外,近些年来,交通事故频繁发生,这已经危害到了许多人的生命和财产。因此,想要解决交通问题已经不能仅仅依靠交通管理部门,更需要从科技的角度来解决这一问题。幸运的是,在最近几年传感器、单片机技术突飞猛进,受此影响,智能小车跟随技术正在逐步从可能转为现实。智能小车跟随技术是指通过车载传感系统感知道路环境,通过现代通信技术使车间进行通信,同时加以一定的算法分析,使得后车紧跟前车行驶。这一特点使得它具有如下优点:首先,充分利用道路资源,减少堵车事件发生的概率。此外,它还能够在行驶过程中探测可能发生危险事故,由于计算机有着比人脑更快的反应速度,从而能够避免交通事故的发生。1.2 智能车辆研究现状
智能车辆的发展过程可以分为以下三个阶段:
第一阶段:20世纪50年代。在这一时期,人们刚刚开始接触研究智能车辆。尽管这一时期的智能小车系统仅能在一个固定的轨道上运行,自动化水平比较低,但已经符合智能车辆的基本要求。
第二阶段:80年代中后期。在这一阶段,随着计算机的应用与传感器技术的不断发展,智能车的研究有了较大的进展,尤其在一些发达国家,取得了巨大的进步,促使智能车辆不断深入各个实用领域。
第三阶段:90年代至今,智能车辆的研究取得了更快的发展。尤其是近些年来,随着各个国家在智能车辆的研究之中投入的人力、财力不断加大,智能小车的发展越来越快。如今,智能车辆已经不仅仅局限于科学研究和工厂使用,它也不断地走入了许多人的日常生活中。1.3 研究内容
本设计是基本AT89S52单片机的,通过蓝牙使两个智能电动车相互通信来组成智能小车跟随系统。设计的主要内容是对电动车进行硬件电路与软件的设计。其中硬件电路主要包括控制电路,蓝牙通信电路,路径循迹电路,电源驱动电路,电机驱动电路等。其中,AT89S52单片机作为每个小车的控制核心,控制着电动车的各个模块正常工作,并通过编程使得小车按照预定路径实现前进,左拐,右 1 拐,紧急停车,加速,减速等功能。
本设计是以电动小车为基础,增加红外传感器,蓝牙等。利用传感器来有效地确定小车前进路径、小车所在位置等信息。单片机接收并处理传感器所产生的信号并加以一定的算法来判断各个小车的状态及其相互间距。最后通过蓝牙来进行小车间的通信,从而控制各个小车加、减速度来使得小车间距相对恒定。
综上所述,本设计中整个系统电路结构简单,性能相对较高。主要采用如下技术:首先是选择适当的传感器。利用传感器来实时监测小车位置并传送给单片机,单片机根据传感器所传回的信息来控制小车的两个电机运转,实现循迹行走功能。其次,利用蓝牙设备在两个小车之间进行通信,由其中一个小车的单片机来判断两小车的相对位置,从而产生控制指令,来改变小车的行驶速度。2 功能分析
根据设计内容的要求,采用基于单片机的控制方式,使用蓝牙设备进行通信。图2-1为系统框图。
图2-1 系统框图
2.1 主控模块
目前,具有人工智能的电子产品、设备通常采用的控制器都是单片机。现在市场上的单片机厂商很多,单片机种类也不尽相同,功能更是各具特色。本文设计的是一个相对简单的控制系统,无需采用一些特殊功能的单片机。因此,根据实际条件,最终选择在两辆小车上各搭载一片ATMEL公司的AT89S52芯片作为每个小车的主控器件。图2-2为AT89S52控制原理图。
图2-2 AT89S52控制原理图
2.2 循迹模块
循迹装置类型选择:采用集成QTI传感器DM-S53401,它是一种通过光电接收管来探测其下表面反射光强度的传感器。根据反射光强度的不同,从而导致传感器输出的变化。由于它的体积较小、具有日光过滤器,因而在小车中使用性能较好。
循迹硬件数目选择:采用4路QTI传感器循迹。在小车行驶过程中,根据轨道的设计,小车会遇到直行或左、右拐弯的路段,因而可以使用中间2路来判断小车与直行道的相对位置,而用外侧2路来判断小车是否在拐弯路段。因此,4路循迹可以完成任务的要求,且设备数目最少。2.3 电机驱动模块
电机选择:采用直流伺服电机,它主要通过接收脉冲来运转。相比于步进电机,直流伺服电机有着一定的优势:精度更高,克服了步进电机中的失步问题;高速性能好;抗过载能力强;运行稳定;反应时间短;发热和噪声都有着明显的降低。2.4 电源模块
电源选择:采用干电池组加移动电源共同供电,即在采用4节1.5V干电池通过稳压单元降至5V后给单片机及其他设备(如传感器、电机等)供电的基础上,增加一个移动电源同时供电。一方面,可以保证小车电压稳定,设备正常运行而不会断电。另一方面,也不像蓄电池所占体积那么大,安装相对容易。2.5 通信模块
通信设备选择:采用蓝牙装置进行通信。尽管相比红外通信,它的成本相对较高。但其有着诸多特有的优点:通信距离相对较长,一般在10米左右,且可以转弯,不用对准。传输速度快,且可以加密,更加安全。3 硬件设计
3.1 主控硬件设计
对于每个小车而言,主控电路的核心器件为AT89S52单片机,通过此单片机来控制小车完成预计的功能。其中,小车的启动、复位、断电都需要手动开关来控制。由QTI循迹模块组成的循迹电路进行实时监测,不断判断小车的位置,并将检测到的信息发回给单片机,单片机经过运算后,发送PWM波给电机,从而控制小车速度、启停、转弯、直线行驶等。除此之外,两个小车的单片机还都需要连接一个蓝牙设备,用于在两个单片机之间传递信息。系统框图如图3-1所示。
图3-1 主控电路连接图
3.2 循迹硬件的设计
由于本设计在循迹模块中采用的是集成的QTI循迹模块,故循迹装置内部电路无需再重新设计,仅需将集成的QTI循迹模块正确连入AT89S52单片机中集可。具体电路连接图见图3-2。
图3-2 QTI设备连接图
3.3 驱动硬件设计
电机选择:采用直流伺服电机。伺服电机具有如下特点:它在接收到一个PWM波形脉冲时就会旋转一定的角度,通过不断接收脉冲就可以使得小车持续运动。对于本设计所选用的电机而言,当接收到的脉冲是高电平持续时间为1.5ms而低电平持续时间是20ms时,电机不发生转动;当低电平时间保持不变,高电平持续时间越接近1.7ms时,电机顺时针转速越快,在1.7ms时,电机顺时针旋转速度达到最大;反之,高电平持续时间越接近1.3ms时,电机逆时针转速越快,在1.3ms时,电机逆时针旋转速度达到最大。
在小车运行过程中,单片机AT89S52通过P1.1和P1.2口发送脉冲波形来分别控制左右电机运转,即将左右电机分别与P1.1和P1.2口相连即可。3.4 电源硬件设计
本系统中的单片机所需的供电电压为+5V工作电压,而电路板的设计是采用6-9V的直流电输入,再通过稳压芯片来为单片机输入5V的工作电压。每节干电池所提供的电压为1.5V,采用4节干电池串联后可以得到直流电输入口所要求的最小电压6V。因此,选择4节干电池串联后接入单片机的供电口。此外,由 于干电池所供电压并不稳定,容易造成小车传感器、蓝牙等设备的掉电,从而影响小车的正常工作,故再额外通过USB-ISP线将输出为5V的移动电源连接至小车的ISP下载口即可。3.5 蓝牙通信串口硬件设计
本系统中两辆小车需要在一定情况下进行通信,因而需要使用一个近距离的无线通信装置。在本设计中,选用蓝牙通信装置HC-05来实现此功能。HC-05的引脚原理图如如图3-3所示。
图3-3 蓝牙引脚原理图
此蓝牙在配对成功后的使用方法与串口的使用方法一样,故同样是将蓝牙接口TXD、RXD分别连至单片机的P3.0、P3.1口,VCC接高电平,GND接地即可正常使用。3.6 本章总结
本章主要分析了小车实现各个功能所需的硬件设备,硬件选择,硬件设备连接等问题,主要包括主控硬件、循迹硬件、驱动硬件、电源硬件、蓝牙硬件等,通过对硬件的分析与设计,为小车能正常运行做好的硬件方面的准备工作。4 软件的设计与实现 4.1 概述 在基于单片机的系统设计中,除了要对系统硬件进行设计外,还要对系统的软件进行设计。在本设计之中,大量的执行工作需要对程序进行设计,这一工作对于系统而言尤为重要。
在编写程序时,要注意一下几点要求: 1.实时性,即软件反应、执行速度快。
2.程序简练,即要求既要完成目标,又要以最简洁的方式表述出来。3.程序的灵活性与可拓展性,即程序拥有较强的适应能力,在功能需要拓展时可以方便的修改。
4.可靠性,即在系统运行过程中因为软件方面的故障而造成的系统错误尽可能的少。
此外,在用C语言进行程序设计时,具体步骤如下: 1.明确要求,确定软件所要实现的功能。2.分析具体问题,建立数学模型。3.绘制出各个程序模块的流程图。
4.将各个程序组合在一起,构成一个完整的程序。最后,在程序设计的过程中,应注意一下几点要求: 1.各个功能、模块尽量层次化。2.存储空间合理,节省内存。
3.软件流程要合理,软件布局要清晰。4.2 软件的结构设计
在本设计中,软件的结构设计采用了模块化的结构设计,将整个系统分成五大模块,包括主程序模块、循迹程序模块、电机程序模块、蓝牙通信程序模块、位置判断程序模块等,依次设计系统整体软件结构和各个模块的软件结构,最后再将其汇总成为一个完整系统。系统的软件结构图如图4-1所示。
图4-1系统软件结构图
4.3 主要模块的实现 4.3.1循迹流程图
循迹流程图如图4-2所示。
图4-2循迹流程图
小车在启动后会直接进入循迹路段,正常直行情况下,有且只有中间两路QTI装置(中左与中右)将能够探测到黑线。而在执行前进过程中,会因为一些因素而造成略微偏离轨道,此时,小车的中间两路QTI装置可能将会存在其中一路脱离黑线。此时,则应向单片机发出调整指令,改变小车的行驶状态,使其回归黑线中央行驶。当小车来到拐弯路段时,外部两个QTI装置(左与右)将会探测到黑线,表明小车来到拐弯路段,则应向单片机发出调整指令,改变小车的行驶状态,使其完成拐弯任务。而当小车到达定位处时,四路QTI循迹装置将全部探测到黑线,此时则应向单片机发出计数自加指令后使小车继续向前行驶。4.3.2 电机驱动流程图
电机驱动流程图如4-3所示。
图4-3电机驱动功能流程图
在两个小车进行通信时,按照预期,随着两个小车的位置变化,两个小车的行驶速度也应该随之变化。在此设计中,整个轨道共有8个定位点。对于小车A,速度变化是从检测到定位点时开始的,所以小车A的驱动流程图应从检测到定位点开始。而对于小车B,速度变化是在中断中产生的,所以小车B的驱动流程图应从中断中开始。此外,本设计的要求是使小车B跟随小车A行驶,使得小车A 与小车B的距离始终保持在大约等于两个定位点间的距离。因此,想要确定两个小车的速度,首先要计算两个小车距离。本设计是通过计算两小车共检测到的定位点数之差来判断两个小车的距离。当两个小车所探测到的定位点数相差为1,表示两车距离适中,驱动电机使两车都快速行驶;当两个小车探测到的定位点数相同,表示两车距离过近,驱动电机使前车快速行驶而后车慢速行驶,从而拉大两车间距;而当两个小车所探测到的定位点数相差大于1,表示两车距离过远,驱动电机使前车慢速行驶而后车快速行驶,以此来缩短两车距离。另外,前车发生故障时,应使得后车在与其距离过近时自动停车,防止出现两车相撞的情况。4.3.3 位置判断流程图
位置判断流程图如图4-4所示。
图4-4 位置判断流程图
本设计中,两个小车需要构成一个协作的系统平台,因此,需要不断地判断自己的位置。在此设计中,在完整轨道中平均选择了8个定位点,在小车途经这8个定位点时,单片机选择一个变量来计算小车在行驶过程中所经过的总点数,从而来大致判断小车的所在位置。当计数达到8时,表示小车已经运行了一整圈回到出发点,故计数清零。
轨道图如图4-5所示。
图4-5 轨道图
4.3.4 蓝牙通信流程图
在本设计中,两个小车要通过相互协作来构成一个智能小车系统,因此,在小车运行过程中,两小车需要在必要的时刻相互通信并发送指令。在此系统中,小车A为整个系统的中枢,一切信息要在小车A的单片机中进行运算处理,再将控制命令由小车A发出。蓝牙通信流程图如图4-6所示。
图4-6 蓝牙通信流程图
4.4 本章小结
本章首先介绍了针对软件设计的要求、过程等注意事项,然后系统的介绍了针对本设计的软件结构各个模块的设计方案、思路,并列出了各个主要模块的设计流程图。5 系统功能测试
在完成系统的设计与制作后,必须要对所设计的系统进行测试。通过测试,检测需要单片机所完成的功能是否能够实现。5.1 系统功能测试
测试过程中,首先依次对各个小车进行单独的模块功能测试,然后再进行整个系统的功能测试。即首先分别对小车A、小车B进行单独循迹功能的测试,查看小车A、B的性能。然后再将小车A、B通过蓝牙连接相互通信,测试整个系统的性能。
小车A循迹功能单独测试,结果如表5-1所示。
表5-1 小车A循迹测试结果
第一圈 第二圈 第三圈 第四圈 第五圈 1 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 6 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成
卡顿
完成 完成 卡顿
完成 完成 完成
卡顿
完成 卡顿
小车B循迹功能单独测试,结果如表5-2所示。
表5-2 小车B循迹测试结果
第一圈 第二圈 第三圈 第四圈 第五圈 1 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成 完成
卡顿
完成 完成 完成 完成
系统性能测试,结果如表5-3所示。
表5-3 系统功能测试结果
第一圈 第二圈 第三圈 第四圈 第五圈
运行正常 运行正常
小车A在定位点3处连续探测到2次定位标志,造成出错
运行正常 运行正常
5.2 测试结果分析
小车A在运行过程中,由于传感器、电机等设备问题,有时会造成中途卡顿,导致小车无法正常运行,但总体结果基本正确,不影响实验结果。
小车B与小车A相比,运行较为流畅,基本可以正常运行,很少会出现故障,达到预期目标。
在整个系统协调运行时,除了小车偶尔发生的卡顿意外,基本不会造成其他故障,基本可以达到预期的效果。
总体而言,主要是由于传感器并不精确,在室内光线、太阳光等灯光的影响下,偶尔会导致运行出现故障。但从整体来看,基本功能都可以正常实现,不影响观测结果,系统基本能够正常运行。6 结论与展望 6.1 结论
在本设计中,A、B两个小车的控制核心都选用的是AT89S52单片机,这使得小车具有较好的稳定性和持续性。循迹装置选择的是体积小、功耗低、应用方便、集成度高的QTI传感器DM-S53401。电机选择的是两轮独立的直流伺服电机,通过控制两个轮不同的转速来改变方向。车间通信选择的是蓝牙通信装置HC-05,它具有较高的可靠性,可以保证两车顺利的完成通信功能。
在小车运行的过程中,利用QTI传感器来实时监测小车的路面信息,单片机接收并处理传感器监测到的信号,将运动控制指令发送给电机,使得小车正常行驶。此外,两个小车还通过蓝牙装置进行车间通信,并根据两车的状态调整小车的运动状况。该系统最终能够完成的功能有:循迹、变速、保持两车间距稳定、紧急停车。6.2 展望
本智能小车系统最主要的前景是运用到无人驾驶汽车上。一方面,可以通过小车系统的车间通信规划行车路径,充分利用现有的道路资源,提高道路利用率,减少堵车事件的发生;另一方面,还通过安装各种传感器感知路面状况来避免交通事故的发生。参考文献:
[1] 李建忠.单片机原理及应用.第二版,西安电子科技大学出版社,2008.2 [2] 李晓莹.传感器与测试技术.高等教育出版社,2005.1 [3] 禹帆.蓝牙技术.清华大学出版社,2002年
[4] 杨代强.基于单片机的智能玩具电动车的设计与实现.电子科技大学硕士论文,2012.11 [5] 高峰.单片微机应用系统设计及实用技术.北京:机械工业出版社,2004.4 [6] 刘彩虹.智能小车路径跟踪技术的研究.浙江大学硕士论文,2007.6 [7] 碰新荣.基于智能小车平台的多车协作研究.上海交通大学硕士论文,2010.2 [8] 谭浩强.MCS-51单片机应用教程.清华大学出版社,2000.5 [9] V.Gradinescu, C.Gorgorin, R.Diaconescu, V.Cristea, L.Iftode.Adaptive traffic lights using car-to-car communication.IEEE Vehicular Technology Conference,2007 [10] Seki K.Applications of DSRC in Japan.ITS Center,Japan Automobile Research Institute,2002
致谢
历时四个多月的本科毕业论文即将完成了,心中有着许多感慨。这几个月来,从最初的选题、查找资料、撰写开题报告、选择零件设备、学习软硬件的使用、测试、撰写初稿、以及后期的论文修改,无时无处不存在卢教授的帮助和指导,这一幕幕都在我的脑海中留下了深深的印象,这让我的心中有着无限的感激和感动。
由于考研复试占用了一定的设计论文的时间,所以在开始毕业设计的时侯时间已经有点儿紧张。在回到学校开始做毕业设计的前两个月,几乎每天都呆在实验室。在此,我非常感谢仝老师提供给我的实验环境。如果没有一个理想的实验环境,我的论文和设计根本无法在短短的几个月内完成。
同时,在这一年里,我也查阅了不少的资料,这些资料使我的论文更加完整。所以,非常感谢大同大学图书馆,感谢参考文献中的每一位作者。
最后,还要感谢我的同学、朋友在我做毕业设计时为我提供的帮助和支持!