第一篇:智能小车跟随系统的设计与制作分析
本科毕业论文(设计)
题目: 智能小车跟随系统的设计与制作
学院: 物理与电子科学学院
班级:
姓名:
指导教师: 职称:
完成日期: 年 月 日
智能小车跟随系统的设计与制作
摘要:
现在,小车跟随系统正处于研发与试用阶段,它有着多方面的优势:一方面,充分利用现有的道路资源,有效缓解交通阻塞;另一方面,可以大幅提高驾驶的安全性,减少交通事故的发生。因而推广和应用小车跟随系统已经成为解决交通问题的一个重要途径。
本文的主要研究工作是设计和制作智能小车跟随系统,整个系统包括硬件及软件两个部分。硬件部分包括控制电路,蓝牙通信电路,路径循迹电路,电源驱动电路,电机驱动电路等。软件部分主要包括通过编程使得小车按设定路径实现前进,左拐,右拐,加速,减速,并在小车前进的过程中不断调整小车所在位置等功能。
本文是以电动小车为基础,增加红外传感器,蓝牙等。利用传感器来有效地确定小车前进路径、小车所在位置等信息。单片机接收并处理传感器所产生的信号并加以一定的算法来判断两个小车的状态及其相互间距。最后通过蓝牙来进行小车间的通信,从而控制两个小车加、减速度来使得小车间距相对恒定。该智能小车跟随系统能够实现的功能有:自动循迹;保持车距;紧急停车等。
关键词:智能小车跟随系统;蓝牙通信;单片机;软件设计
目 录 引言..............................................................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
致谢
历时四个多月的本科毕业论文即将完成了,心中有着许多感慨。这几个月来,从最初的选题、查找资料、撰写开题报告、选择零件设备、学习软硬件的使用、测试、撰写初稿、以及后期的论文修改,无时无处不存在卢教授的帮助和指导,这一幕幕都在我的脑海中留下了深深的印象,这让我的心中有着无限的感激和感动。
由于考研复试占用了一定的设计论文的时间,所以在开始毕业设计的时侯时间已经有点儿紧张。在回到学校开始做毕业设计的前两个月,几乎每天都呆在实验室。在此,我非常感谢仝老师提供给我的实验环境。如果没有一个理想的实验环境,我的论文和设计根本无法在短短的几个月内完成。
同时,在这一年里,我也查阅了不少的资料,这些资料使我的论文更加完整。所以,非常感谢大同大学图书馆,感谢参考文献中的每一位作者。
最后,还要感谢我的同学、朋友在我做毕业设计时为我提供的帮助和支持!
第二篇:基于单片机的智能跟随小车的设计与实现
基于单片机的智能跟随小车的设计与实现
【摘要】本文设计了一种能够通过传感器实时采集信号、智能分析周围环境以及路径信息、自动控制方向等功能的智能小车。小车以STC89c52单片机控制为核心,利用车前三个反射式红外发射―接收探头检测周围信息,以及利用光电传感器检测前方物体,并将检测信号反馈给单片机,实现小车的避障和跟随功能。基于STC89C52单片机的智能小车系统结构简单,性价比高,易于推广和移植,具有广阔的应用前景。
【关键词】STC89C52;避障;跟随;光电传感器
引言
随着科技的发展和人民生活水平的提高,越来越多的智能车得到普及普及,和传统汽相比,智能小车具有更好的安全性,机动性和广泛的应用性。智能小车,也就是轮式机器的智能化成果,是一种集传感器应用,智能芯片控制,驱动控制的高科技创意性设计。智能小车的功能是对指定的目标物进行跟踪和实时的躲避障碍物,这是他与其他小车最大的区别也是最大的一个特点。小车通过红外传感器对目标物体进行实时识别和跟踪,并且及时的躲避障碍物,具有灵敏性好,智能化程度高的特点。如果把它用在超市,将会极大地方便人们的生活。如果用在商城和机场,人们也不用提着沉重的行李箱满地跑了。
1、总体方案设计
智能小车总体设计内容:一是STC89C52芯片控制电路的设计;二是驱动电路的设计;三是光电传感器电路的设计;四是避障系统的设计;五是电源稳压电路的设计;六是硬件的焊接组装;七是软件的编程调试。小车总共分为5个部分,以单片机为核心的主控模块,电源模块,红外传感模块,驱动模块,避障模块。具体工作原理是:红外传感器在预设距离内检测前方是否有目标物体,如果有则自动进行跟随。同时,红外光电对管检测前方障碍物,当检测到前方有障碍物并且小于预设值时将把信息发回给单片机,控制驱动电路让车轮停止转动并后退绕过障碍物继续跟随。
2、系统的硬件设计
2.1主控模块
主控模块通过单片机利用程序来精确控制小车的运动,从而实现对小车的自动控制。STC89C52单片机具有控制简单、方便、快捷等优点,因此我们采用STC89C52单片机作为控制芯片。
2.2传感器模块
本设计所采用的传感器是集发射与接收为一体的光电传感器,具有很多其他传感器所没有的特性比如发射机距离远,抗干扰能力强,结构简单,可调节等优良的特点[1]。红外传感器是利用物体对近红外线光束的反射原理,由同步回路感应反射回来的光,据其强弱来检测物体的存在与否。通过有无信号来输出高低电平,然后把信号送给单片机处理,实现实时跟随的功能。红外探测法是避障模块所使用的方法,就是利用红外线在不同颜色的物理表面具有不同反射性质的特点来进行避障[2]。由于红外光遇到白光的时候会发生漫反射,光电传感器就可以不断向外发射红外光,接收管就能接收到反射回来的信号,然后发送到单片机。若遇到黑色的物体将不会接收到信号而检测到障碍物进而启动躲避系统。传感器模块原理图如图2所示。
2.3驱动模块
驱动模块采用L298N驱动芯片,总共有四路输入,四路输出。INX均接单片机的P1口,IN1和IN3口控制轮子正转,IN2和IN4口控制轮子逆转,通过调节输入信号的占空比来调节小车轮子转动的速度。当小车左侧遇到障碍物时,驱动电路控制右侧轮子不动,左侧轮子加速转动,进行右转;当小车右侧遇到障碍物时,情况正好相反;当小车前方遇到障碍物时,驱动电路控制轮子停止,然后反转后退,绕过障碍物继续前进。
2.4电源模块
电源供电模块,使用的是直流稳压[3]电源,输入的是直流+12V电压,运用三线稳压器件7805,输出+5V直流电压。电源部分电路设计简单方便,同时也充分发挥了稳压器保护电路的作用。
3、系统的软件设计
软件设计部分决定了智能小车能否实现其跟随和避障的功能,是本次设计的关键部分。小车程序分为以下三部分:主程序部分,跟随和避障程序部分,驱动程序部分[4]。主程序流程图如图3所示。
4、仿真测试
基于PROTEUS仿真软件,我们设计了智能跟随小车控制电路的仿真图,如图4所示。
由于PROTEUS软件中没有红外传感器,所以我们用从上到下编号1-6的六个开关代替传感器,来实现探测目标的功能[5]。图中四个电机的转动方向代表四个轮子的转动方向,同时速度的快慢也可以从图中显示出来。首先,闭合开关3,表示发现目标物体,四个轮子正转,并且加速前进,闭合开关4,表示遇到障碍物,轮子停止转动并且反向转动直到障碍物离开检测范围。断开开关3、4,闭合开关5,表示目标物体向左移动,此时左侧轮子停止转动,右侧轮子正转并且加速转动,当小车右侧出现目标物是动作与之相反。闭合开关6,表示左侧有障碍物,这时右侧轮子不动,左侧轮子正转,实现向右转向的目的。当小车右侧出现障碍物时动作与之相反。
5、系统调试
先进行硬件调试,通过仿真好的电路图[6],用万用表检测已经焊好的电路板上每一个节点是否有短路、断路和接触不良的情况,看各个节点电压是否正常。当硬件调试没有问题,完成了以后进行软件调试,通过修改各个接口对应的程序进行调试,最终完成软件的修改,达到了预期的效果。
6、结束语
本次项目设计非常成功,通过老师的指导和我们的团队合作,小车很好了实现了其跟随和避障的功能效果。最然在开始我们对这个项目没有任何的头绪,但是经过我们共同的努力成功完成了这个作品,每一个人都感到了团队合作的艰辛和成功后的喜悦。通过实验测试智能跟随小车的灵敏性,效果良好,能够很好的按照预期完成指定动作,并且运行稳定。
参考文献
[1]周继明,江世明.传感器技术及应用[M].长沙:中南大学出版社,2005.[2]冯博琴,吴宁.微型计算机原理与接口技术[M].北京:清华大学出版社,2011.[3]余锡存,曹国华.单片机原理及接口技术[M].西安:西安电子科技大学出版社,2007.[4]李学礼.基于Proteus 的8051单片机的实例教程[M].北京:电子工业出版社,2008.[5]谭浩强.C++面向对象程序设计[M].清华大学出版社,2006.[6]周润景,郝晓霞.传感器与检测技术[M].北京:电子工业出版社,2009.[7]来清民.传感器与单片机接口及实例[M].北京:北京航空航天大学出版社,2008.作者简介
张文霞,女,1982年生,鄂尔多斯市人,在读博士,讲师,工作于内蒙古大学鄂尔多斯学院,研究方向为图像处理及模式识别。
第三篇:智能小车嵌入式系统设计分析
前言
智能小车是在动态不确定环境下对人工智能的考验,是以各种工控目的为载体的高科技对抗,是培养信息、自动化领域科技人才的重要手段,同时也是展示高科技水平的生动窗口和促进科技成果实用化和产业化的有效途径。智能小车的研究融入了机器人学、机电一体化技术、通讯与计算机技术、视觉与传感器技术、智能控制与决策等多学科的研究成果,反映出一个国家信息与自动化技术的综合实力。所以本论文对智能小车的研究意义重大。
-0
一、总体设计方案
1.总体方案
智能小车可在自主行驶和人工控制两种模式之间切换,并实现自动避障。通过PWM输出驱动步进电机来实现小车的行驶,改变PWM的周期、占空比、正反则可以实现前进、后退、转弯、加速、减速等行为。通过红外探头检测前方障碍实现自动避障。外接红外线接收器,可以通过自制的红外线遥控来控制小车的行为。
2.平台选取
EasyARM1138开发板
开发板搭载Luminary LM3S1138芯片,为32位ARM Cortex – M3内核(ARM v7架构),50Mhz运行频率。拥有7组GPIO,可配置为输入、输出、开漏、弱上拉等模式。4个32位Timer,每个都个拆分为2个独立子定时器。6路16位PWM,通过CCP管脚能产生高达25Mhz的方波。
自制车架
3456789 SYSCTL_SYSDIV_10);// 分频结果为20MHz */
TheSysClock = SysCtlClockGet();// 获取系统时钟,单位:Hz
}
int main(void){ jtagWait();/* 防止JTAG失效,重要!*/
SystemInit();
IR_Int_Init();
while(1){ if(IR_flag == 1){ IR_flag = 0;for(a = 18;a < 26;a++){ IR_code_8 = IR_code_8 << 1 + IR_code_32[a];}
if(IR_code_8 == 101){ SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD);// 使能GPIOD端口
GPIOPinTypeGPIOOutput(GPIO_PORTD_BASE , GPIO_PIN_0);// 设置PD0为输入类型 //forword GPIOPinWrite(GPIO_PORTD_BASE , GPIO_PIN_0 , 0x00);// PD0输出低电平 }
IR_code_8 = 0;
//switch(IR_code_8)//{ //case /*00000*/101:SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD);// 使能GPIOD端口
// GPIOPinTypeGPIOOutput(GPIO_PORTD_BASE , GPIO_PIN_0);
// 设置PD0为输入类型 //forword //
GPIOPinWrite(GPIO_PORTD_BASE , GPIO_PIN_0 , 0x00);// PD0输出低电平 //case /*0000*/1101://back //case /*0000*/1000://left //case /*0000*/1010://right //case /*0000*/1001://stop //case /*000*/10100://level_1 //case /*000*/10101://level_2 //case /*000*/10110://level_3 //default : //} //IR_code_8 = 0;} } }
/**************************************************************** ** Function name: GPIO_PORT_F_ISR
消除中断 不正 if(gap >=10 && gap <=20)//接收数据“1” { data = 1;code_flag = 1;} else if(gap >=2 && gap <=8)//接收数据“0” { data = 0;code_flag = 1;} else if(gap >=40 && gap <=50)//正常的其实高电平时间 { start_flag = 1;}
if(start_flag
&& //code_flag和start_flag均为1 { IR_code_32[i] = data;i++;
if(I >= 32){ IR_flag = 1;break;} } } } //} GPIOPinIntClear(IR_PORT,ulStatus);//-14 ** Descriptions: 延时100us ** input parameters: 无 ** output parameters: 无 ** Returned value: 无 ** Created by:
张伟杰
** Created Date: 2014.05.18 ****************************************************************/ void Delay_100_us(void){ unsigned ulValue;
SysTickPeriodSet(600);SysTickEnable();do { ulValue = SysTickValueGet();} while(ulValue > 0);
SysTickDisable();}
3.红外探头模块
#include
/* 定义按键 */ #define KEY_PORT SYSCTL_PERIPH_GPIOG #define KEY_PIN GPIO_PORTG_BASE , GPIO_PIN_5 #define keyGet()GPIOPinRead(KEY_PIN)
#define IR_PORT SYSCTL_PERIPH_GPIOF #define IR_PIN GPIO_PORTF_BASE , GPIO_PIN_1
// 定义全局的系统时钟变量
unsigned long TheSysClock = 12000000UL;unsigned IR_flag = 0;unsigned long IR_code_32[32];unsigned long IR_code_8 = 0;unsigned a;
int Time_Get();void Delay_100_us();
/**************************************************************** ** Function name: jtagWait ** Descriptions: 防止JTAG失效,KEY=PG5 ** input parameters: 无 ** output parameters: 无 ** Returned value: 无 ** Created by:
张伟杰
** Created Date: 2014.05.15 ****************************************************************/ void jtagWait(void){ SysCtlPeripheralEnable(KEY_PORT);/*
使能KEY所在的GPIO端口 */ GPIOPinTypeGPIOInput(KEY_PIN);/* 设置KEY所在管脚为输入 */ if(keyGet()== 0x00){ /* 如果复位时按下KEY,则进入 */ for(;;);/* 死循环,以等待JTAG连接 */ } SysCtlPeripheralDisable(KEY_PORT);/* 禁止KEY所在的GPIO端口 */ }
/**************************************************************** ** Function name: IR_Int_Init ** input parameters: 无 ** output parameters: 无 ** Returned value: 无 ** Created by:
张伟杰
** Created Date: 2014.05.18 ****************************************************************/ void IR_Int_Init(void){ SysCtlPeripheralEnable(IR_PORT);GPIOPinTypeGPIOInput(IR_PIN);GPIOIntTypeSet(IR_PIN,GPIO_LOW_LEVEL);GPIOPinIntEnable(IR_PIN);
IntEnable(INT_GPIOF);IntMasterEnable();}
-***3 SysTickPeriodSet(600);SysTickEnable();do { ulValue = SysTickValueGet();} while(ulValue > 0);
SysTickDisable();}
三、程序调试
调试PWM信号时,由于板上晶振为6Mhz,装载值和匹配值最大为65535,可以设置出需要的周期和占空比。如
TimerLoadSet(TIMER0_BASE , TIMER_BOTH , 60000);TimerMatchSet(TIMER0_BASE , TIMER_A , 6000);则对应的周期为6Mhz / 60K = 100Hz,占空比为0.6K / 6K = 1/10。配置PWM前要先配置GPIO口,定义为PWM输出,并选择Timer的输出模式为16位PWM,经过三重配置才能正确输出PWM信号。红外接收器解码过程重点是对红外码内间隔时间的判断。调试红外码时应当设当地设置flag帮助多个判断。当引导码时间参数符合标准时flag1置1,接收到正确的红外码,进入下一步。当用户码每个间隔符合标准的时间间隔时flag2置1,表示该一位码正确,进入一下步。当接收到32位数据后flag3置1,表示红外码结束,开始进行解码。解码部分用case语句进行判断。红外码用数组储存,使用的时候会方便一点。例如: for(a = 18;a < 26;a++){ IR_code_8 = IR_code_8 << 1 + IR_code_32[a];} 这样就可以随意获取某几位码进行下一步操作。
四、小结
本次课内实验把我带进了ARM的领域,通过动手编程和小组讨论,让我对项-25
第四篇:基于CMOS的智能小车视觉系统的设计
基于CMOS的智能小车视觉系统的设计
摘要:本文主要介绍了基于CMOS数字图像摄像机在智能小车项目中构建视觉系统的应用。首先介绍了智能小车视觉监控系统的硬件构成。再叙述了视觉图像监控软件系统,该软件系统从功能上主要分成六个模块,整个软件系统通过六个模块协调工作,共同完成任务。实验表明,本文所叙述方案设计的有效性和正确性,并具备一定参考和实用价值。
关键词:CMOS;视觉监控系统;障碍物识别
中图分类号:S611文献标识码:A 文章编号:前言
智能小车,是一个集环境感知、规划决策,自动行驶等功能于一体的综合系统。智能小车对环境的感知能力要求智能小车具有环境感知传感器,随着机器视觉理论的发展以及视觉系统本身具有的优势,视觉传感器己是最重要的选择。
智能小车视觉系统的总任务是环境感知。视觉感知是利用图像输入系统加上图像处理分析系统来完成的。而其最主要和最基本的功能就是视频图像的检测识别和预警,即确定智能小车所观察各种复杂环境中是否出现障碍物,并对其安全行驶起到辅助作用。
本文主要针对自主开发的智能小车,选用新型高集成度的硬件设备,配合以VC++模块化程序设计的软件系统进行视觉系统的开发。智能小车视觉系统硬件的构成2.1 智能小车视觉系统硬件设计思想
智能小车的视觉系统是要为智能小车开发具有类似人类视觉能力。
智能小车视觉系统是模仿人类的视觉系统进行搭建。是以计算机为中心,由视觉传感器、图像采集卡等构成。
2.2 硬件选用
根据智能小车的自身特点,要求其视觉系统平台的搭建满足体积小、重量轻、功耗小、高适应性、成像速度快、可靠传输性强、性价比高等特点。经过综合考虑本实验选用MVC1000SA数字摄像机,并同时选配LM12JCM的光学镜头。
MVC1000SA 数字摄像机是由CMOS数字图像传感器芯片、芯片外围电路及集成的显示控制器的图像采集卡构成。通过Gigabit Ethernet数字接口,连接于计算机的千兆网卡和计算机进行数据的通信。
2.3 其他配件
智能小车动力采用36V直流充电电瓶,MVC1000SA数字图像摄像机使用12V直流供电。因此需要设计专门的摄像机供电电源。
在要求输出电压是固定标准值,且技术要求不是很高的稳压电源时,可选择三端固定输出电压式集成稳压器,本次设计选择W78XX系列集成稳压器得到正电压的输出。7812,7824.是常用的固定正输出电压的集成稳压器,输出电压分别为+24V和+12V,最大输出电流为1A。它内部含有限流保护、过热保护和过压保护电路,采用噪声低、温度漂移小的基准电压源,工作稳定可靠。
3智能小车视觉系统软件设计
3.1 图像处理颜色空间模型的建立
由摄像机获取智能小车前方目标图像,因彩色图像能够反映更多的空间信息,本系统采用HSI颜色空间模型进行图像分析与识别,但由于COMS摄像机采集的图像是RGB格式,所以需要把RGB模型转换为HSI颜色模型,然后再进行相关的图像处理。缩短其响应时间,更有利于对智能小车的实时控制。两者转换公式如下:
3.2 软件设计的主要功能模块
智能小车视觉系统,主要完成对小车行进时摄像机所拍摄到实时图像的进行采集、实时显示、图像avi存储及对视野内是否有障碍物出现的进行分析判断,对判断出现的障碍物图像信息进行图片形式存储以备后续的图像分析使用。并将判断结果传送到智能小车控制总系统中,配合智能小车上安装的红外线测距传感器、超声波测距传感器等多种传感器进行信息分析处理,并依据对其处理结果对下位机发出指令,控制智能小车电机驱动器等执行装置,共同完成智能小车的避障。
(1)实时采集显示模块:
智能小车图像实时采集在硬件上是通过摄像机完成的,将安装在智能小车前端摄像机所拍摄到周围环境的图像传输显示到视觉监控软件平台上。在小车行驶过程中,这些图像实时的反映了智能小车和周围环境的关系。本模块主要功能为打开设备,检查设备是否正常连接;打开图像实时采集,在软件显示屏上显示实时图像;可设置显示帧率;关闭实时显示,关闭设备,退出程序。
(2)障碍物判断存图模块:
本模块运行时打开判断采集模式;可设置全屏模式障碍物识别;可设置区域模式障碍物识别;可设置判定障碍物的参数;可设置存图路径及存图格式。本实验中根据智能小车运行的特点:无固定场景,无指定路线等。本文提出了在非固定场景复杂背景下选用适用于彩色分割的HSI颜色模型,利用了受周围整体环境影响较小,但对视野内障碍物变化较明显的H分量对障碍物进行判断预警,提高了对视野内障碍物判断的实时性。
(3)通信预警模块:
智能小车视觉监控软件与上位机组态软件共用一台处理器,故处理器的性能将受到很大的制约。当障碍物判断模块判断出障碍物出现时进行存图。此时激发预警模块,将存图的数目显示在监控软件工作状态栏内。同时把信息写入可控日志中。上位机通过定时扫描读取日志,获取信息,完成软件间的通讯。
(4)AVI图像录制模块:
试验中录制的AVI文件中的数据流只包含视频流。通过设置默认对实时捕捉的频率为每秒15帧。通过录制视频对话框,及视频文件保存对话框进行视频保存设置。保存模块采用MPEG-4基于对象的压缩解码技术进行智能小车运动过程视频信息的保存。
(5)工作状态显示模块:
在整个系统运行过程中需要随时显示采集状态以及所连接设备的状态等,这样可以使用户只需通过屏幕就可以了解系统状态,而不需要再分散注意力再去关注其它因素。本模块显示使用摄像机的硬件信息;显示采集显示状态;判断存图状态;显示当前存图数量。
(6)显示图像管理模块:
显示图像管理模块主要完成的是显示参数的设置。主要完成白平衡调节;图像采集参数调节;图像显示比例调节。
3.3 软件界面设计分布
实验软件系统采用基于MFC文档的模块化程序设计。采用VC++来进行图像编程的主要原因是,VC++在程序运行的效率、内存使用的可控性和编程的灵活性上具有优势。图像处理需要进行大量的图像数据运算,经常使用复杂、费时的算法,因此图像处理程序的运行效率非常重要。VC++代码被编译成汇编语言,可以直接在处理器上运行,效率很高。
图1 软件界面结论
本文对智能小车视觉系统进行了硬件方面和软件方面进行设计,由此可以得出如下结论:
1)运用MVC1000SA-GE30摄像机,利用其低能耗、高速处理能力且安装操作简单方便。
2)提出了在非固定场景复杂背景下选用适用于彩色分割的HSI颜色模型,利用变化较明显的H分量对障碍物进行判断预警,提高了对视野内障碍物识别的实时性。
3)视觉监控软件系统基于Window,操作简便,界面友好。
参考文献:
[1]张广军.机器视觉[M].北京.科学出版社,2005.[2]桑卡(美).图像处理、分析[M].北京.清华大学出版社,2009.作者:林静(1982-)硕士
注:文章内所有公式及图表请用PDF形式查看。
第五篇:智能小车设计报告
机器人控制技术
实验设计报告书
题
目:基于STC89C52的智能小车的设计 姓
名:李如发 学
号:073321032 专
业:电气工程及其自动化 指导老师:李东京 设计时间:2010年 6 月
目
录
1.引 言..............................................1 1.1.设计意义......................................1 1.2.系统功能要求..................................1 1.3.本组成员所做的工作............................1 2.方案设计...........................................1 3.硬件设计...........................................2 4.软件设计...........................................7 5.系统调试...........................................7 6.设计总结...........................................8 7.附 录A;源程序.....................................8 8.附 录B;作品实物图片...............................10 9.参考文献..........................................11
16×16点阵LED室内电子显示屏的设计
单片机原理及应用课程设计
基于STC89C52的智能小车的设计
1.引 言
1.1.设计意义
本智能小车的设计,首先针对大学所有学习的知识是一个很好的回顾和总结。此智能小车是基于单片机所设计的,具有自动寻迹能力,在实际的很多方面有应用。当我们进一步的改进机器人系统时,可实现更重要的功能,如可设计出自动扑火机器人等。1.2.系统功能要求
此智能小车是基于STC89C52设计的具有自动寻迹能力的小车。系统可实现跟随黑色引导线行走的能力,在行驶过程中,并能用测速传感器和光电码盘对小车速度实现实时监测。小车在行驶过程中并能实现播放美妙的音乐。1.3.本组成员所做的工作
本组成员有李如发,汪航,黄建安,韩文龙,罗莹,明菲菲,邹珊,江锐,邵进。
李如发:驱动 073321032 汪航: 电源 073522036 黄建安:最小统 073521013 韩文龙:源程序 073522007 罗莹: 传感器 073522038 明飞菲:调试 073522012 邹芬 : 数码显示 073521025 邵琎 : 焊接 073522017 江锐 : 蜂鸣器 073522032
2.方案设计
智能小车主要分为传感器部分,最小系统部分,电机驱动部分,电源部分。根据功能要求,提出合理的设计方案,画出方案方框图,并对系统工作原理进行阐述。
原理,本系统的重要部分是传感器,它对整个小车的定位起到很重要的作用,由传感器检测黑线的位置,其中黑线对光能吸收,白线对光反射。利用此原
16×16点阵LED室内电子显示屏的设计
单片机原理及应用课程设计
理将红外线传感器采集到的信号转换为数字信号并送入单片机,单片机根据收到的信号实时的控制小车的方向。控制小车的方向主要是运用pwm原理来控制电机的平均电压,从而来控制电机的转速,实现小车对黑线的实时跟踪。
3.硬件设计
硬件设计各模块电路图及原理描述 传感器模块
方案1:用光敏电阻组成光敏探测器。光敏电阻的阻值可以跟随周围环境光线的变化而变化。当光线照射到白线上面时,光线发射强烈,光线照射到黑线上面时,光线发射较弱。因此光敏电阻在白线和黑线上方时,阻值会发生明显的变化。将阻值的变化值经过比较器就可以输出高低电平。
但是这种方案受光照影响很大,不能够稳定的工作。因此我们考虑其他更加稳定的方案。
方案2:用RPR220型光电对管。RPR220是一种一体化反射型光电探测器,其发射器是一个砷化镓红外发光二极管,而接收器是一个高灵敏度,硅平面光电三极管。
方案3:用红外发射管和接收管自己制作光电对管寻迹传感器。红外发射管发出红外线,当发出的红外线照射到白色的平面后反射,若红外接收管能接收到反射回的光线则检测出白线继而输出低电平,若接收不到发射管发出的光线则检测出黑线继而输出高电平。我们选择了此方案。
传感器是整个系统的眼睛,这部分主要运用红外线传感器采集信号送给单片机处理。由于黑色车道对红外线传感器发出的光有吸收能力,白色地方对发出的光反射,从而当传感器在不同的地方产生不同的信号,传送个单片机。单片机根据采集的信号做出实时的处理。
16×16点阵LED室内电子显示屏的设计
单片机原理及应用课程设计
最小系统
最小系统是整个系统的心脏,我们采用的是AT89C52芯片。
80C52单片机是把那些作为控制应用所必需的基本内容都集成在一个尺寸有限的集成电路芯片上[2]。如果按功能划分,它由如下功能部件组成,即微处理器、数据存储器、程序存储器、并行I/O口、串行口、定时器/计数器、中断系统及特殊功能寄存器。它们都是通过片内单一总线连接而成,其基本结构依旧是CPU加上外围芯片的传统结构模式。但对各种功能部件的控制是采用特殊功能寄存器的集中控制方式。
驱动模块
方案1:采用专用芯片L298N作为电机驱动芯片。L298N是一个具有高电压大电流的全桥驱动芯片,它相应频率高,一片L298N可以分别控制两个直流
16×16点阵LED室内电子显示屏的设计
单片机原理及应用课程设计
电机,而且还带有控制使能端。用该芯片作为电机驱动,操作方便,稳定性好,性能优良。
方案2:对于直流电机用分立元件构成驱动电路。由分立元件构成电机驱动电路,结构简单,价格低廉,在实际应用中应用广泛。但是这种电路工作性能不够稳定。
因此我们选用了方案1。
由于最小系统和电机驱动部分的电压幅值不一样,而且电机是感性负载,在制动时可能反馈电流,因此要在最小系统和驱动模块之间采用光电隔离,所以用到了光电隔离芯片,TPL521-4
由于光耦芯片的引脚不够所以在之后采用了一片反相器74HCT14,反相器图如下
L298是双H桥高电压大电流功率集成电路,直接采用TTL逻辑电平控制,可用来驱动继电器、线圈、直流电动机、步进电动机等电感性负载。它的驱动电压可达46V,直流电流总和可达4A。其内部具有2个完全相同的PWM功率放大回路。由L298构成的PWM功率放大器的工作形式为单极可逆模式。12个H桥的下侧桥晶体管发射极连在一起,其输出脚(1和15)用来连接电流检测电阻。第9脚接逻辑控制部分的电源,常用+5V,第4脚为电机驱动电源,本系统中为40V,第5,7,10,12脚输入标准TTL逻辑电平,用来控制H桥的开和关,16×16点阵LED室内电子显示屏的设计
单片机原理及应用课程设计
第6,II脚则为使能控制端。当Vs=40V时,最高输出电压可达35V,连续电流可达2A。
L298可驱动2个电动机,OUT1,OUT2和OUT3,OUT4之间可分别接电动机,本实验装置我们选用驱动两台电动机。5,7,10,12脚接输入控制电平,控制电机的正反转。EnA,EnB接控制使能端,控制电机的停转。电动 机的转速由单片机调节PWM信号的占空比来实现。
L298驱动电路图
16×16点阵LED室内电子显示屏的设计
单片机原理及应用课程设计
PWM调速器的硬件组成
在整个PWM调速器中,CPU既是运算处理中心,又是控制中心,是最关键的器件。本系统中选用与MCS-51系列完全兼容的AT89C52单片机,它是一种低功耗、高性能、CMOS八位微处理器。片内具有8K字节的在线可重复编程快擦快写程序存储器,128x8位内部RAM,AT89C52可构成真正的单片机最小应用系统,缩小系统体积,提高系统可靠性,降低系统成本。
电源模块
电源中我们采用LM7805稳压芯片将12v直流电源稳压成5v直流源。方案1: 采用10节1.5V干电池供电,电压达到15V,经7812稳压后给支流电机供电,然后将12V电压再次降压、稳压后给单片机系统和其他芯片供电。但干电池电量有限,使用大量的干电池给系统调试带来很大的不便,因此,我们放弃了这种方案。
方案2:采用3节4.2V可充电式锂电池串联共12.6V给直流电机供电,经过7812的电压变换后给支流电机供电,然后将12V电压再次降压、稳压后给单片机系统和其他芯片供电。锂电池的电量比较足,并且可以充电,重复利用,因此,这种方案比较可行。但锂电池的价格过于昂贵,使用锂电池会大大超出我们的预算,因此,我们放弃了这种方案。
方案3:采用12V蓄电池为直流电机供电,将12V电压降压、稳压后给单片机系统和其他芯片供电。蓄电池具有较强的电流驱动能力以及稳定的电压输出性能。虽然蓄电池的体积过于庞大,在小型电动车上使用极为不方便,但由于我们的车体设计时留出了足够的空间,并且蓄电池的价格比较低。因此我们选择了此方案。下:
16×16点阵LED室内电子显示屏的设计
单片机原理及应用课程设计
4.软件设计
程序流程图
5.系统调试
本系统的设计是首先完成每一小部分的设计,因此我们在没完成一个模块时就回检测调试该模块。在初次调试时我们采用的电源是又单片机开发板所带的的电源来调试的。调试过程中我们就发现了很重要的问题,由于对本设计的很多模块的没有共同的接地使得很多模块无法工作,我们的解决办法是12v的直流源稳压来供给所以的模块,然后将所以的模块连接共同的地。在驱动模块的调试中发现当光耦芯片给定信号时对lm298的输出没有反应。我们在检验时发现是由于在光耦芯片后部焊接没有焊好,出现了虚焊。在重新焊接好后,芯片正常工作。分
16×16点阵LED室内电子显示屏的设计
单片机原理及应用课程设计
块调试传感器时,我们将传感器导通,用黑色物体将传感器发射部分盖住检测输出,在将黑色物体移开,再检测输出。
6.设计总结
本文是关于基于单片机的智能小车的设计,在共同的努力下,各部分的设计均成功,在调试过程中都无误。本次设计最终实现了直流电机的动态调压,电源正常输出供电,数码管动态显示数据,蜂鸣器播放美妙的音乐,小车实现简单的转弯功能。由于本次设计中尚存在些缺陷和对寻迹程序编写困难,实现的功能不是很完美,但要求的所有功能基本实现。
本次设计中,从中的体会很多
1、本次的设计可以说设计到大学所学到的所有专业知识,是对大学所学知识的一个整体的回顾。
2、在设计中,不能一气呵成,因为所有的电路图都是自己设计的,图中尚存在不足,所以要反复的琢磨和修改。
3、设计中要注意对每焊完一部分,都要独立的进行检查调试,及时的发现错误,及时的修改
4、本次最重要的收获是从中我们看到了团队合作的重要性,任何事都不是一个人所能完成的,需要大家的共同努力才能获得最后的成功。
7.附 录A;源程序
源程序代码(主要语句要有注释)。循迹的程序 #include
sbit R=P2^0;//右边传感器 sbit L=P2^1;//左边传感器 sbit RM1=P1^1;sbit RM2=P1^2;//右边电机 sbit LM1=P1^3;sbit LM2=P1^4;//左边电机 void main(){
16×16点阵LED室内电子显示屏的设计
单片机原理及应用课程设计
RM1=1;
RM2=0;
LM1=1;
LM2=0;
delay(5);
while(1)
{
if((L==1)&&(R==1))//小车前进 {
RM1=1;
RM2=0;
LM1=1;
LM2=0;
delay(5);
}
else if((L==1)&&(R==0))//小车右偏
{
RM1=1;
RM2=0;
LM1=0;
LM2=1;
//左边的电机停止转动,右边的电机转动,这样就实现了左转
delay(10);
}
else if((L==0)&&(R==1))//小车左偏
{
RM1=0;
RM2=1;
LM1=1;
LM2=0;
//右边的电机停止转动,左边的电机转动,这样就实现了右转
delay(10);}
else if((L==0)&&(R==0))//小车停车
{
RM1=0;
RM2=1;
LM1=0;
LM2=1;delay(5);
}
16×16点阵LED室内电子显示屏的设计
单片机原理及应用课程设计
else
//左右两个电机同时启动,直线前进
{
RM1=1;
RM2=0;
LM1=1;
LM2=0;
}
}
delay(10);
}
void delay(uint z)
{
uint a,b;for(a=z;a>0;a--)for(b=120;b>0;b--);}
8.附 录B;作品实物图片
16×16点阵LED室内电子显示屏的设计
单片机原理及应用课程设计
9.参考文献
[1] Mark Nelson著.潇湘工作室译.串行通信开发指南[M].中国水利水电出版社,2002.[2] 王宜怀.单片机原理及其嵌入式应用教程[M].北京希望电子出版社,2002.[3] 张毅刚.单片机原理及应用.高等教育出版社,2009 [4] 康华光.电子技术基础(模拟部分).高等教育出版社.2006