找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1559|回复: 0
打印 上一主题 下一主题
收起左侧

单片机智能小车资料.doc

[复制链接]
跳转到指定楼层
楼主
ID:127406 发表于 2016-6-20 15:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式



2011全国大学生电子设计竞赛论文
(山东赛区)

题目:智能小车









智能小车

摘要:本设计给出了以EasyARM1138单片机为核心的智能小车的基本原理与实现方案。该系统采用模块化的设计方案,运用光电编码器、超声波传感器、无线收发器件组成不同的检测电路,实现小车在行驶中轨迹、躲避前面的小车、测量车速等问题检测,从而实现自动控制电动小车躲避前面小车,快慢速行驶,自动超车,并可以自动转弯和实现交替领跑功能。该智能小车具有很好的识别与检测的能力,具有定位精确、运行稳定可靠的特点。并且该设计具有实际意义,可以应用于考古、机器人、医疗器械等许多方面。尤其是在足球机器人研究方面具有很好的发展前景,在考古方面也应用到了超声波传感器进行检测。所以本设计与实际相结合,现实意义很强。
关键词:EasyARM1138单片机;光电编码器;PWM调速;电动小车;超声波


设计要求
甲车和乙车分别从自制跑道起点标志线开始,在行车道各正常行驶一圈。随后甲、乙两车如上位置同时起动,乙车通过超车标志线后在超车区内实现超车功能,并先于甲车到达终点标志线,即第一圈实现乙车超过甲车。甲、乙两车继续行驶第二圈,要求甲车通过超车标志线后要实现超车功能,并先于乙车到达终点标志线,即第二圈完成甲车超过乙车,实现了交替领跑。甲、乙两车继续行驶第三圈和第四圈,并交替领跑。完成上述功能后,重新设定甲车起始位置(在离起点标志线前进方向40cm 范围内任意设定),实现甲、乙两车四圈交替领跑功能。
1        方案论证与设计1.1      小车控制模块
方案一:采用通用的51单片机作为主控制器。51单片机通用灵活、价格低廉、使用方便,但此单片机字长有限,数据处理能力很弱,处理速度较慢,资源不够丰富,需要扩展较多的外围电路,降低了系统的可靠性,增加了制作的费用,难以满足本设计要求。
方案二:EasyARM1138 人机界面扩展板是专门为广州致远电子有限公司开发的EasyARM1138开发板量身定制的一款人机界面的扩展板。该扩展板方案使用了基于ST7920控制器的中文图形128×64的LCD和4×4矩阵键盘,丰富的人机界面完全能够满足用户的要求。此方案给用户提供了完整的硬件设计原理图,PCB图,软件调试例程,LCD模拟SPI软件包,键盘管理芯片ZLG7289模拟SPI软件包。用户在选用了这个方案后,将会大大缩减产品开发周期,提高产品设计的可靠性。
综合比较以上两个方案,本系统选择方案二。
1.2      传感器测距模块
方案一:探测障碍的最简单的方法是使用超声波传感器,它是利用向目标发射超声波脉冲,计算其往返时间来判定距离的。具体工作原理:超声波由压电陶瓷超声波传感器发出后,遇到障碍物便反射回来,再被超声波传感器接收,然后将这个信号放大后送入单片机。该方法被广泛应用于移动机器人的研究上。其优点是价格便宜,易于使用,且在几米以内能给出精确的测量。
方案二:视觉传感器在CW系统中使用得非常广泛。其优点是尺寸小,价格合理,在一定的宽度和视觉域内可以测量定多个目标,并且可以利用测量的图像根据外形和大小对目标进行分类。但是算法复杂,处理速度慢。
综合以上方案,采用方案一。
1.3      电机驱动模块
方案一:采用专用芯片L298N作为电机驱动芯片,L298N是一个具有高电压大电流的全桥驱动芯片,它相应频率高,一片L298N可以分别控制两个直流电机,而且还带有控制使能端。用该芯片作为电机驱动,操作方便,稳定性好,性能优良。
方案二:对于直流电机用分离元件构成驱动电路,结构简单,价格低廉,在实际应用中很广泛,但在应用中不够稳定。
方案三:采用达林顿管组成的H型PWM电路,用单片机控制达林顿管使之工作在占空比可调的开关状态,可精确调整电动机的转速。这种电路工作在饱和截止模式下,一般用起来不大经济,且难于控制。
由于电力电子器件只工作在开关状态,主电路损耗较小,要求精度较高,所以选择方案一。
2        原理分析与硬件电路图2.1      原理分析
根据赛题任务的要求,我们在现有玩具电动车的基础上,加装光电编码器、超声波传感器、电机驱动芯片L298N及nRF24L01无线收发器件,实现对电动车的速度、位置、运行状况的实时测量和两车之间的顺利通讯,并将测量数据传送至单片机进行处理,然后由单片机根据所检测的各种数据实现对电动车的智能控制。基于这些要求,我们设计并制作了基于EasyARM1138单片机为核心的智能小车系统。针对小车在行驶过程中的不同要求,采用模块化设计方案,进行了各部分电路的设计。
file:///C:/Users/thingpad/AppData/Local/Temp/msohtmlclip1/01/clip_image002.gif       图2-1 原理总体设计图
2.2      单元电路设计2.2.1   电机驱动模块
file:///C:/Users/thingpad/AppData/Local/Temp/msohtmlclip1/01/clip_image004.gif
图2-2电机驱动电路图
L298N介绍和电路原理
L298N是专门用来驱动电机的芯片,内部集成了一个H桥电路和保护电路。连接时第1、29、30脚必须通过10K电阻接地,第8脚必须接地。11、12、18或27任意接一组电源就可以。驱动步进电机的L298N相线一定要接对,否则电机肯定不转其他没说明的引脚不用管。在连接和测试时不要用手碰芯片的任何引脚,否则输不出信号。一旦过流保护被启动,芯片必须重新上电后才可恢复正常工作。如果用手去碰第1、29、30引脚则过流保护立即启动。
2.2.2   接收模块
file:///C:/Users/thingpad/AppData/Local/Temp/msohtmlclip1/01/clip_image006.gif
图2-3接收信号电路图

该电路通过光电感应跑道边界对小车的运行情况进行实时测量,并将测量数据传送至单片机处理,然后由单片机根据所检测的各种数据实现对电动车方向的控制。
3        软件设计与流程3.1      软件设计
软件部分采用模块化程序设计的方法,由主控制程序、电机驱动模块的子程序、接收模块的子程序、光电编码器模块的子程序等组成。该软件是基于调控PWM波占空比来调节车速和运动方向的,通过无线电收发使两车彼此联系并及时反馈信息从而达到协调运行。最主要是应用超声波测距来确定小车自身所处的车位。
3.2      程序流程图
file:///C:/Users/thingpad/AppData/Local/Temp/msohtmlclip1/01/clip_image008.gif        图2-4主程序流程图                      图2-5超车模块流程图


4        系统测试与误差分析4.1      测试环境
地点:实验室       时间:2011年9月4日      温度:25℃
4.2      测试仪器
多功能数字万用表、数字示波器、EasyARM1138单片机、秒表、计算机
4.3      测试方法
先让甲乙两车分别在长度已知的跑道上各跑一圈,用秒表记录两车所用的时间,最后通过路程时间的关系推算出速度从而和软件中设置的速度作比较,根据实际速度来改写软件的设置而达到理想值。第二圈、第三圈乃至后几圈都同上述方法一样,分别记录多组超车速度、到达终点的时间,同软件设置的速度值时间值作比较,最终使小车运行更快更省时。
软件模块测试:采用自下而上的调试方式,先进行模块测试程序的调试,待全部通过之后将所有的软件程序串接起来并结合硬件电路进行整体调试。
4.4      测试结果
表4-1两车平均速度统计表
  
次数
  
甲实际跑一圈的平均速度
甲理论跑一圈的平均速度
误差
乙实际跑一圈的平均速度
乙理论跑一圈的平均速度
误差
1
0.19m/s
0.18m/s
0.01m/s
0.20m/s
0.18m/s
0.02m/s
2
0.20m/s
0.18m/s
0.02m/s
0.21m/s
0.18m/s
0.03m/s
3
0.21m/s
0.18m/s
0.03m/s
0.19m/s
0.18m/s
0.01m/s

表4-2两车超车速度统计表
  
次数
  
甲超乙时实际速度
甲超乙时理论速度
误差
乙超甲时实际速度
乙超甲时理论速度
误差
1
0.20m/s
0.21m/s
0.01m/s
0.22m/s
0.21m/s
0.01m/s
2
0.22m/s
0.21m/s
0.01m/s
0.20m/s
0.21m/s
0.21m/s
3
0.19m/s
0.21m/s
0.02m/s
0.19m/s
0.21m/s
0.02m/s

表4-3两车所用时间统计表
  
次数
  
甲完成任务的实际时间
甲完成任务的理论时间
误差
乙完成任务的实际时间
乙完成任务的理论时间
误差
1
162s
160s
2s
164s
160s
4s
2
164s
160s
4s
162s
160s
2s
3
163s
160s
3s
163s
160s
3s

4.5      误差分析
因为控制器的时间是通过内部定时器定时实现的,所以精度高,显示时间准,其与秒表实测值之间的微小误差是由测量误差所引起的。另外,小车采用直流电机,不能短时间急转和大弧度转弯,所以导致速度控制不够精确和稳定,这也极大的造成了误差。再加上跑道是用两块细木工板拼接而成,所以地面的摩擦力也对小车的速度造成了影响从而导致了误差。最后就是在数据的处理时,由于人工的测量与计算,肯定存在着误差,从而导致了与理论值的偏差。
5        
从测试结果来看,本系统实现了题目基本部分以及发挥部分的要求, PWM技术能够极大地提高电动机的驱动效率,通过接收模块解决了小车严格按照轨迹(黑线)运行的问题,超声波传感器能够精确测量小车与障碍物之间的距离。从运行情况看,采用本方案设计制作的智能小车,系统可靠性较高,运行稳定,定位准确,达到了设计要求。由于单片机留有空闲的I/O口,因此可以进一步对系统的功能进行扩展,比如加入自动循迹的功能进一步完善等,将使得系统更趋于智能化、人性化的特点。
参考文献
[1]陈炳和.计算机控制系统基础.北京:北京航天航空大学出版社,2001.
[2]杨和平等.单片机原理与应用.北京:机械工业出版社,2008.
[3]张菊鹏等.计算机硬件技术基础(第二版).北京:清华大学出版社,2000.
[4]阎石.数字电子技术基础(第五版).北京:高等教育出版社,1998.
[5]童诗白等.模拟电子技术基础(第四版).高等教育出版社,2010.

附录
file:///C:/Users/thingpad/AppData/Local/Temp/msohtmlclip1/01/clip_image010.gif
                         图2-6单片机最小系统电路图

单片机智能小车资料.doc

267 KB, 下载次数: 3, 下载积分: 黑币 -5

智能小车

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表