寻轨小车

合集下载

循迹小车报告

循迹小车报告

陕西工业职业技术学院2010/2011学年第1学期课程名称:信号检测与控制技术实训班级:计控0901*名:**教学周数: 2 周地点:电子创新实训室指导教师:吴洋、吴钢、孙蔚信息工程学院目录第一章绪论.............................................................................................................................................. - 1 -1.1引言.............................................................................................................................................. - 1 -1.2传感器的分类.............................................................................................................................. - 1 -1.3 电机的分类................................................................................................................................. - 1 -1.4设计总体要求.............................................................................................................................. - 2 -第二章硬件设计...................................................................................................................................... - 2 -2.1关键元件选择讨论...................................................................................................................... - 3 -第三章软件设计.................................................................................................................................... - 10 -3.1程序设计总体思路.....................................................................................................................- 11 -3.2小车状态定义............................................................................................................................ - 12 -3.3PWM控制的实现 .............................................................................................. 错误!未定义书签。

智能探测寻轨小车

智能探测寻轨小车

万方数据万方数据智能探测寻轨小车作者:李雪峰, 周一兵作者单位:李雪峰(江苏城市职业学院,江苏,南京,210036), 周一兵(江苏南通广播电视大学,江苏,南通,226006)刊名:硅谷英文刊名:SILICON VALLEY年,卷(期):2009,(21)引用次数:0次1.何宏,单片机原理及接口技术[M].国防工业出版社,2008.4.2.Data sheet ATMEL ATmega8.3.Bibliography AREXX,JAMA:AUSRO"Roboterbaustaz-Baund Bedienungsanleitung".4..5.c program file.1.期刊论文褚渊博.高文中.程林章.康志一基于PLC的自动寻迹运输车控制系统设计-工程机械2009,40(9)对自动寻迹运输车的控制方式和运行轨迹进行分析研究,提出系统总体设计方案.采用三菱公司的FX-2N可编程控制器为控制核心,以触摸屏为人机对话窗口,利用光电传感器检测行驶路线、运行速度和障碍物等信息,通过PLC编程控制,实现无人驾驶、自动寻迹、自动避障、自动变轨等功能.介绍系统硬件设计和软件设计.研制样机经实验室模拟调试和运行测试证明,操作简便,运行平稳,性能可靠.可应用于大型生产线、现代化工厂车间的物料运输.2.期刊论文朱俊.ZHU Jun智能小车的自动化控制-常州信息职业技术学院学报2006,5(4)介绍了以单片机为核心,采用红外反射式传感器作为其视觉系统,直流电机为执行机构的智能化小车的设计与实现.系统核心采用AT89C51单片机,系统驱动采用控制方式为双向PWM的直流电机.该技术可以广泛应用于无人驾驶机动车、无人工厂、仓库、服务机器人等领域.3.期刊论文石晓艳.祝龙记基于多传感器的自动寻迹轮式机器人设计-科技信息2009(15)本文介绍了一种基于嵌入式微处理器S3C2410和融合多种传感器控制的轮式移动机器人.具体分析了各个模块的设计,实现了机器人的自动避障测距、寻迹、显示等功能.实验证明,该机器人控制系统具有模块化、易扩展、硬件体积小、功耗低及可靠性高等优点.4.期刊论文赵广宇.方千山基于凌阳16位单片机的智能车设计-电子设计应用2009(9)本文设计实现了一个基于凌阳16位SPCE061A处理器的智能小车运动控制硬件电路,详细介绍了利用红外传感器实现智能小车的避障和循迹,并给出了实际的运行结果.5.期刊论文尹志强.杨鹏宇.陈波.伍红梅.YIN Zhi-qiang.YANG Peng-yu.CHEN Bo.WU Hong-mei基于SPCE061A的AGV控制系统研制-机械与电子2008(4)介绍了基于SPCE061A单片机开发的AGV控制系统各模块硬件组成,并给出相关软件设计.借助该控制系统,AGV实现了寻迹行走、自动转向避障、语音识别及发音等功能.实践表明,小车运行平稳、可靠.6.学位论文陈波基于SPCE061A的AGV控制系统的研制2007本课题来源于合肥工业大学工业培训中心实验教学项目,本着经济、可靠、易于教学的原则,提出了基于凌阳SPCE061A单片机的总体方案,采用模块化设计思想,设计了各模块的硬件接口电路,主要包括电源稳压模块、键盘输入模块、传感器信号检测识别模块、红外线收发模块、无刷直流伺服电动机驱动模块等,并制作了PCB。

简易循迹小车装配图文资料讲解

简易循迹小车装配图文资料讲解

简易循迹小车装配图文教程一.电子元件装配顺序为由低到高,元件尽量紧贴电路板表面安装。

1.电阻的装配:注意色环的认识,区分好四色环与五色环的差别。

2.安装IC,注意IC的缺口方向。

3.安装可调电阻、开关、晶体管(发光管、三极管),注意所有晶体管都是有方向的。

4.安装电解电容和,注意电解电容的引脚方向,短脚为负,对应插到电路板有阴影的方向。

二.机械部分的安装1.安装302A齿轮,将35mm长的车轴与302A齿轮用力套上,并移动到约到中心的位置。

2.找出4个蓝色三通和4枚圆头自带垫2.3*6自攻螺丝(PW A2.3*6)。

3.先将内侧的两个三通用螺丝固定到电路板上。

4.将车轴和齿轮套入三通中,并移动齿轮位置,使齿轮在电路板的卡槽中,车轴刚好超出三通多一点,不超过1mm。

5.将另外两个三通套入车轴中并用螺丝固定到电路板上。

6.将蜗杆用力套入电机轴中,并压到接近电机轴承的位置,找出6-12枚2*3mm的圆头机丝螺丝用于固定电机。

7.将电机用螺丝固定到电路板上,一般每个电机固定3枚螺丝就OK了。

8.将车轮用力套入车轴上,并移动到接近电路板的位置。

(注意用力技巧,可以将车轴的另一端先靠到桌面等固定物上,适当用力敲打车轮到合适位置。

)9.将5*20的螺丝加配套螺母固定到电路板上,然后套上不锈钢盖形螺母作为万向轮使用。

三.安装剩余电路部分。

1.安装循迹红外发射与接收管,注意有正负方向的区别,使其高度略低于万向轮约3-5mm。

2.安装电池盒,电池盒通过不干胶粘到电路板上,注意位置必须准确,确保一次性成功,不可进行二次粘接。

连接电机导线,可以将过长的导线剪到合适的长度,新剥开的线头先要捻头并烫锡处理,线头长度不超过2mm。

电池盒用不干胶固定到电路板上,需特别注意电源的正负极不要接反,电机反转可以交换两条线的位置。

套件默认提供的是2节5号电池盒,可用2节碱性电池供电的(套件中不提供,需自备)。

3.为减小红外发射管对接收管直射光的干扰,可以在接收管上套上3mm热缩管。

循迹小车可行性分析报告

循迹小车可行性分析报告

循迹小车可行性分析报告循迹小车是一种能够通过感知地面上的路径线进行自动导航的机器人车辆。

本篇报告将对循迹小车的可行性进行分析,并探讨其应用前景。

首先,循迹小车的可行性可从技术角度进行考察。

目前,循迹小车主要借助图像识别技术实现对路径线的感知。

通过在车辆底部安装摄像头,采集地面上的路径线图像,并利用图像处理算法进行处理和识别,从而实现对路径线的跟踪。

在技术上,图像识别技术已经相当成熟,加之计算机计算能力的提高,使得循迹小车的可行性得到了保障。

其次,循迹小车的可行性还涉及到其在实际应用中的稳定性和准确性。

循迹小车需要能够准确地识别和跟随路径线,否则可能导致偏离预定的路线,甚至发生碰撞事故。

因此,在设计循迹小车时,需要对其感知和控制系统进行精确调节和优化,以确保其稳定性和准确性。

同时,循迹小车还需要具备对不同地面情况的适应能力,如对曲线、拐角、斑马线等地面标记的识别和跟踪,从而能够适应各种复杂的路况。

此外,循迹小车的可行性还与其在实际应用中的可扩展性和智能化程度有关。

循迹小车在工业物流、仓储管理、智能家居等领域具有广泛的应用潜力。

然而,循迹小车的应用范围和功能还有待进一步扩展和完善。

例如,可以通过引入机器学习算法,使循迹小车能够从过往的运动经验中学习和改进,提升其路径跟踪的准确性和智能化程度。

此外,循迹小车还可以与其他智能设备和系统进行联动,实现更大范围的自动化操作和协同工作。

最后,循迹小车的可行性还与其成本和商业化前景有关。

目前,循迹小车的成本相对较高,主要因为所需的传感器和控制系统等技术设备的价格较高。

然而,随着技术的进步和产业的发展,循迹小车的成本有望逐渐降低,从而促进其商业化的进程。

尤其是在物流、仓储管理等领域,循迹小车的自动化和智能化特点能够带来明显的效率和成本优势,因此在商业化方面具有较大的前景。

综上所述,循迹小车在技术、稳定性和准确性、可扩展性和智能化程度、成本和商业化前景等方面都具备较大的可行性。

循迹小车的装调实训报告

循迹小车的装调实训报告

一、实训背景随着科技的飞速发展,智能机器人技术逐渐成为研究的热点。

循迹小车作为一种典型的智能机器人,具有简单、实用、成本低等优点,是学习和研究智能控制技术的重要工具。

本实训旨在通过组装和调试循迹小车,使学生掌握智能控制系统的基本原理和装调方法,提高学生的动手能力和创新意识。

二、实训目的1. 熟悉循迹小车的结构和工作原理;2. 学会循迹小车的组装和调试方法;3. 培养学生的团队协作能力和创新意识;4. 提高学生对智能控制技术的认识和应用能力。

三、实训内容1. 循迹小车简介循迹小车是一种能够在特定路径上自动行驶的智能小车。

它通过检测地面上的线条或标记,根据反馈信号调整行驶方向,实现自动循迹。

循迹小车主要由以下几个部分组成:(1)车体:包括车身、轮子、支架等;(2)传感器:用于检测地面上的线条或标记;(3)控制器:根据传感器信号控制小车行驶;(4)驱动器:将控制器输出的信号转换为电机转速,驱动小车行驶;(5)电源:为小车提供电能。

2. 循迹小车组装(1)准备工作:准备好组装所需的材料、工具和电路板;(2)组装车体:将车身、轮子、支架等组装成小车;(3)安装传感器:将传感器安装在车体上,确保传感器能够检测到地面上的线条或标记;(4)连接电路:将传感器、控制器、驱动器和电源等电路连接起来;(5)调试电路:检查电路连接是否正确,确保电路正常工作。

3. 循迹小车调试(1)调试传感器:调整传感器位置,使传感器能够准确检测到地面上的线条或标记;(2)调试控制器:调整控制器参数,使小车能够根据传感器信号准确调整行驶方向;(3)调试驱动器:调整驱动器参数,使电机转速与小车行驶速度相匹配;(4)测试循迹性能:将小车放置在特定路径上,观察小车是否能够自动循迹。

四、实训结果与分析1. 实训结果通过本次实训,学生成功组装和调试了一辆循迹小车,小车能够在特定路径上自动循迹。

2. 实训分析(1)组装过程中,学生学会了如何使用工具,提高了动手能力;(2)调试过程中,学生学会了如何调整传感器、控制器和驱动器参数,提高了对智能控制技术的认识;(3)团队合作方面,学生学会了相互协作、沟通和解决问题,提高了团队协作能力;(4)创新意识方面,学生在实训过程中积极思考,提出了一些改进方案,提高了创新意识。

巡线小车 实验报告

巡线小车 实验报告

巡线小车实验报告巡线小车实验报告引言:巡线小车是一种能够自主巡线的机器人,它能够通过感知地面上的线条,进行自主导航和行动。

本实验旨在探索巡线小车的工作原理和应用场景,并通过实际操控巡线小车,验证其性能和功能。

一、巡线小车的原理巡线小车的核心原理是利用光电传感器感知地面上的线条,并通过控制电机的转速和方向,实现自主巡线。

在巡线小车的底部,安装有一组光电传感器,它们能够感知地面上的亮度变化。

当小车行驶在线条上时,光电传感器会感知到线条的亮度高于周围环境,从而根据传感器的输出信号来控制电机的运动。

二、巡线小车的搭建和调试为了搭建巡线小车,我们首先需要准备一台底盘,然后在底盘上安装电机和光电传感器。

接下来,我们需要使用电路板将电机和光电传感器与主控制器连接起来。

在连接完成后,我们需要编写控制程序,并将其烧录到主控制器中。

在调试过程中,我们需要根据实际情况调整光电传感器的灵敏度和阈值,以确保巡线小车能够准确地感知线条。

此外,我们还需要调整电机的转速和方向,以确保巡线小车能够沿着线条正确行驶。

通过不断的调试和优化,我们最终成功搭建了一台能够自主巡线的小车。

三、巡线小车的应用场景巡线小车具有广泛的应用场景。

首先,它可以应用于工业生产线上的物料搬运,通过巡线小车的自主导航能力,可以实现物料的自动搬运和分拣,提高生产效率。

其次,巡线小车还可以应用于仓库管理和物流配送。

它能够根据线条进行导航,自动将货物从仓库中取出,并将其送到指定的位置,大大降低了人力成本和运营风险。

此外,巡线小车还可以应用于智能家居领域。

通过在家中铺设线条,巡线小车可以自主巡逻,检测家居环境是否安全,并及时报警。

同时,巡线小车还可以帮助家庭成员寻找遗失的物品,提高生活的便利性。

结论:通过本次实验,我们深入了解了巡线小车的工作原理和应用场景。

巡线小车作为一种具有自主导航能力的机器人,具有广泛的应用前景。

未来,随着技术的不断进步和创新,巡线小车将在各个领域发挥更加重要的作用,为人们的生活带来更多的便利和效益。

循迹小车制作过程

循迹小车制作过程

电子与信息工程系电子实训课题: 基于STC89C52RC和TCRT5000光电传感器的自动循迹小车设计专业:班级:学号:姓名:指导老师:完成日期:目录目录 0摘要: (1)1.任务及要求 (2)1.1任务 (2)2.系统设计方案 (2)2.1小车循迹原理 (2)2.2控制系统总体设计 (2)3.系统方案 (3)3.1 寻迹传感器模块 (3)3.1.1光电传感器TCRT5000简介 (3)3.1.2比较器LM324简介 (3)3.1.3具体电路 (4)3.1.4传感器安装 (4)3.2控制器模块 (5)3.3电源模块 (6)3.4电机及驱动模块 (6)3.4.1电机 (6)3.4.2驱动 (7)4.软件设计 (8)4.1 PWM控制 (8)4.2 总体软件流程图 (8)4.3小车循迹流程图 (9)4.4中断程序流程图 (10)4.5单片机测序 (11)5.参考资料 (15)摘要本设计是基于STC89C52单片机控制的简易自动寻迹小车系统,包括小车系统构成软硬件设计方法。

小车完成的主要功能是能够自主识别黑色引导线并根据黑线走向实现快速稳定的寻线行驶。

小车系统以 STC89S52 单片机为系统控制处理器;采用TCRT5000光电传感器获取赛道的信息,并通过驱动控制电路来对小车的方向和速度进行控制。

此外,对整个控制软件进行设计和程序的编制以及程序的调试,并最终完成软件和硬件的融合,实现小车的预期功能。

1.任务及要求1.1任务设计一个基于直流电机的自动寻迹小车,使小车能够自动检测地面黑色轨迹,并沿着黑色车轨迹行驶。

系统方案方框图如图1-1所示。

图1-1 系统方案方框图2.系统设计方案2.1小车循迹原理这里的循迹是指小车在白色地板上循黑线行走,由于黑线和白色地板对光线的反射系数不同,可以根据接收到的反射光的强弱来判断“道路”。

通常采取的方法是红外探测法。

红外探测法,即利用红外线在不同颜色的物体表面具有不同的反射性质的特点,在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色纸质地板时发生漫反射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,小车上的接收管接收不到红外光。

会认路的小车

会认路的小车

会认路的小车你听说过不用人驾驶自己会认路的汽车吗?即无人驾驶全自动汽车,听上去像科学幻想,但人们的确已经造出来了。

原来它有一整套激光探测系统和电脑识别系统,控制汽车的速度和方向。

今天我们向你介绍的“会认路的小车”叫“智能寻轨器”。

我们在一块白色地毯上,画上黑色线条当做道路,小车就会跨着这条黑线行驶和转弯,到达目的地会自动停车。

这是经国家体育总局航空无线电模型运动管理中心批准,全国青少年电子制作锦标赛推出的智能车竞赛项目。

下面我们来学习认识和装配制作智能寻轨器(也叫“智能车”)。

一、智能车的构造:图1智能车构造二、智能车的工作原理:智能车有两个电动机,分别带动两个车轮,控制前进和转弯。

车头有块电路板,分别控制电动机转动或停止。

电路板左右两边各有一个光探测器,某一探测器遇到黑色线条,探测接收器得不到反射光,电路就会控制电动机停转;由于另一边的电机仍然在转动,小车便转弯,车轮自行避开黑线,左右两车轮就始终跨着黑线一直前进,实现了自动探路的功能。

直到左右两个探测器同时遇到终点黑线条,小车自动停止。

图二电路板和两个马达图三电路板和光电耦合传感器(正反面)三、智能寻轨器的制作:图四调试(一)机械部分器材:(二)电路部分器材电路部分由:1、电池盒、2、开关、3、直流电动机、4、印刷电路板等组成。

(三)机械部分的组装1、装开关:用螺丝A把开关装在主架上。

2、装电动机:用螺丝A把电动机固定在主架上(左、右不同,不能搞错)。

3、组装印刷电路板、升降板和伸缩板(1)、组合升降板和伸缩板:把升降板插入伸缩板的滑槽内,用螺丝B把升降板和伸缩板组合在一起。

(2)、组装印刷电路板:用螺丝A把把印刷电路板固定在升降板的下面(元器件向地面),使三个发光二极管通过三个小孔伸到升降板的上面。

注意:印刷电路板上的元器件位置有变化。

(3)、安装伸缩板、升降板、印刷电路板组合:用螺丝B把伸缩板、升降板印刷电路板组合固定在车架上。

4、装主轮:装上主轮,并在轮槽中套上防滑圈。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

摘要:本设计采用AT89S52作为系统控制核心,采用光电传感器来检测信号,用两个步进电机分别驱动后轮,电机驱动采用功率放大管,通过单片机给定的控制信号进行换相,灵活方便地对步进电机的速度和转向进行控制,进而达到控制电动车在黑色轨迹上的运动。

关键词:电动车;双步进电机;单片机;光电传感器1 系统设计1.1 设计任务和要求1.1.1设计任务设计并制作一个自动寻迹小车,小车从安全区域启动,按指定路线运行,自动区分直线轨道和弯路轨道,在指定弯路处拐弯,实现灵活前进、转弯、倒退等功能。

1.1.2 基本要求在不加配重的情况下,电动车完成以下运动:(1) 公交车从起始站点A出发,沿着黑色引导线,公交车从起始站点A出发,沿着黑色引导线,到达终点B;(2) 小车按指定路线运行,自动区分直线轨道和弯路轨道,在指定弯路处拐弯,实现灵活前进、转弯、倒退等功能,在轨道上划出设定的地图;(3) 到达指定的目的地后发出声光报警。

D0.5米C 墙壁B24厘米0.375米30厘米50厘米E30厘米1.5米0.375米30厘米24厘米0.375 米 A1.5米1.1.3发挥部分将配重固定在可调整范围内任一指定位置,电动车完成以下运动:(1) 在小车的车头和车尾装上转向灯(黄灯)和停止提示(红灯);(2) 可在小车车身装上LED显示小车的运行状况和语音提示等功能(3) 其他。

1.2 总体设计方案1.2.1系统总体设计思路本系统实现电动车地板上沿黑色轨迹行驶并实时显示车运行状况。

总体设计思路如图1所示。

系统包括控制器模块、电源模块、信号检测模块、电机及其驱动模块、键盘模块等四部分。

系统工作时,单片机接收传感器的输出信号后输出控制信号,采用黑白线引导、反射式光电传感器检测,使小车在轨道上自动行驶。

1.2.2 方案论证与比较(1)控制器模块的设计方案论证与选择方案一:采用FPGA作为系统主控器。

FPGA可实现各种复杂逻辑功能,规模大,集成度高,体积小,稳定性好,IO资源丰富、易于进行功能扩展,处理速度快,但适用于大规模实时性要求较高的系统,价格高,编程实现难度大。

本系统只需完成信号检测和电机驱动的控制,逻辑功能简单,对控制器的数据处理能力要求不高,故不选择此方案。

方案二:采用嵌入式系统作为主控器。

嵌入式系统工作频率较高,速度较快,控制功能很强,也有较强的数据处理能力。

但同样价格高,编程实现难度大。

方案三:采用Atmel公司的AT89S52单片机作为主控制器。

AT89S52是一个低功耗、高性能8位单片机,片内含8 KB Flash片内程序存储器,256 Bytes RAM,32个外部双向输入/输出(I/O)口,5个中断优先级,2层中断嵌套中断等。

价格便宜,使用方便,编程实现难度低,适合用来实现本系统的控制功能。

综上分析,本设计选择方案三。

(2)电机控制模块的设计方案论证与选择为实现电动车对行走路径的准确定位和精确测量,可考虑以下两种方案:方案一:采用直流电机。

直流电机转动力矩大,体积小,重量轻,装配简单,使用方便。

主要适合于高速电机系统,本系统要求控制精度较高,不易达到。

方案二:采用步进电机。

步进电机是数字控制电机,控制也简单,具有瞬间启动和急速停止的优越性,比较适合本系统要求控制精度高的特点。

综上分析,本系统选择方案二。

(3)电机驱动模块的设计方案论证和选择方案一:采用集成芯片L298N驱动步进电机。

L298N是一个具有高电压大电流的全桥驱动芯片,响应频率较高,稳定性较好。

但本系统两个电机时序不同,会出现需要不同延时程序的情况,系统处理负荷大,影响电机工作,同时价格相对较高。

方案二:用功率管(如TIP132,8A 70W)构成驱动电路来驱动电机。

结构简单,价格低廉,经测试完全可以驱动电机,完成控制功能。

综上分析,选择方案二。

(4)信号检测模块的设计方案论证和选择方案一:用光敏电阻组成光敏探测器。

光敏电阻原理简单,使用方便,价格低廉,但受光照强度影响很大,可靠性差。

方案二:采用角度传感器。

使用角度传感器来测量车体水平方向和竖直方向的角度,感测到的倾角信号经编码后传送给单片机,由单片机控制电动车的运行。

角度传感器灵敏度合适,响应速度好,但是使用复杂,价格昂贵,且不易购买。

方案三:用光电传感器。

光电传感器原理简单,实现方便,价格低廉,可集发射器和接收器于一体。

使用这类光电传感器电路简单,工作性能稳定,能完成需要的信号检测功能。

综上分析,选择方案三。

2 硬件电路设计2.1整机电路设计系统整机电路如附录1所示。

单片机系统作为控制核心,实时接收光电传感器的输出信号,经数据处理后送给各单元电路,控制各部分电路工作。

2.2各主要单元电路设计2.2.1 主控器模块的设计本系统主控制器如图2所示。

单片机接收传感器检测到的输入信号,将此信号进行运算处理,然后以控制电流或控制电压的方式输出给被控制的单元电路,实现各项功能。

图2 主控制器模块2.2.2 电机驱动模块的设计电动车左右两轮用电机分别控制,便于控制车转向。

电机采用功率放大管TIP132驱动,电机驱动电路如图3、图4所示。

电机的A、B、C、D端接功率放大管的集电极,功率管基极经限流电阻分别接单片机的I/O端口,控制电机的转向和速度。

图3 左轮电机驱动电路图4 右轮电机驱动电路2.2.3 信号检测模块的设计本设计用光电传感器采集信号,四个分别固定在轮子下的反射式传感器用来引导电动车寻迹,使电动车沿着白色轨迹运行,在运动过程中,当车偏离运动轨迹(超出黑线)时,即红外光线照射到黑色线上,反射光较少,接收管集电极和发射极间的电阻增大,输出高电平,复合管导通,输出高电平给单片机,引起系统中断,控制两个电机正转或反转,使车重新回到轨迹上。

车头和车尾的传感器用来检测小车前进时是否到达B点和倒退时是否到A点。

另外两个固定在跷跷板支架上的U型槽传感器用来检测平衡位置,当传感器中心轴被指针遮挡住时,红外三极管接收不到红外光,输出就从低电平跳到高电平,送给单片机,单片机使车停下来,说明平衡位置找到了。

两种传感器的工作原理实质相同,如图5所示。

图5 光电传感器检测信号原理图8 系统主程序流程图3 系统软件设计本系统的软件设计采用C语言,利用Keil C完成单片机系统的开发,实现各项设计功能和技术指标要求。

3.1 理论计算和分析本系统要达到设计指标,电动车在跷跷板上的运行速度是关键,电动车的速度有电机控制,本设计使用的步进电机齿数为50,步距角= ,Z为电机转子齿数,N为转子运行拍数。

齿数一定,步距角与转子运行拍数成反比。

所以取单双八拍式,则电机步距角小,更利于精确定位。

电机转一圈为800拍,转一圈的周长为188mm,所以每拍转过的长度为,每转过8拍后长度为0.47*8=3.76mm .设计要求电动车从A端到平衡位置C时间小于30s,假设电动车到达C运行时间为25s,电机转过的拍数N=800mm/0.47mm=1702.127拍,近似取1702.2拍,则电机每拍要用时间t=25s/1702.2=14.686ms.取电机每拍所用的时间为14ms,则假设电动车从B端返回到A端所用时间为= ,满足设计要求。

所以电机运转时序取单双八拍式正、反转。

程序中严格控制电机运转频率达到控制电动车速度。

3.2 系统主程序流程图系统主程序流程如图8所示,由于此系统实时性要求很高,大量数据信号要在尽量短的时间内完成,单片机将集中根据检测到的信号精确控制电机速度和转向,软件中定义电机控制时序缓存区,利用查寻法编程,单片机不断检测外部传感器信号,利用标志位查询电机时序,控制车的运动,输出显示。

4 系统测试分析设计完成后,对系统关键部分进行了测试分析,如语音播放电路,光电检测电路、电机控制电路,并进行了模拟场地试运行测试。

第一阶段:车的未接入检测信号时的运动Ø通过电动车上固定好两个步进电机作为两个后轮。

Ø后轮的驱动电路连接好Ø将电源接上,观察小车是否会沿着直线运行,不断的调试,适当的修改程序,使小车正常运行。

第二阶段:检测装置测试Ø将小车的检测电路连接好,用万用表测试小车遇到黑色物质时是否会出现高电平。

第三阶段:整机测试Ø连接好各部分电路,观测小车是否会按设计要求一样运行。

5 特色与创新点讨论硬件方面:采用双步进控制电动车,利于车转向,利用光电传感器与单片机之间的信号传输与转换,加上语音播放模块,实现电动车的智能化。

软件方面:传感器在检测到某物时,输出信号会发生变化,让单片机只对此规律的信号作出反应,减少了数据处理量,缩短了系统反应时间,并简化了程序,提高了系统的控制精度。

整个运行过程中通过实时信息采集,利用端口查询,实现对信号的实时检测和处理。

6 结束语本系统以单片机为核心部件,利用光电检测技术和一定的软件算法实现了电动车在黑色轨迹上自行运动,在设计过程中,力求线路简单,充分发挥软件的灵活性来满足系统设计的要求。

但因时间有限,系统还存在一些误差和有待改进的地方。

参考文献[1] 全国大学生电子设计竞赛组委会.第六届全国大学生电子设计竞赛获奖作品选编.北京:北京理工大学出版社,2005[2] 黄智伟,王彦,陈文光等.全国大学生电子设计竞赛训练教程.北京:电子工业出版社,2005[3] 胡汉才.单片机原理及接口技术.北京:清华大学出版社,2006[4] 王为青,程国钢.单片机Keil Cx51应用开发技术.北京:人民邮电出版社,2007附录1:整机电路原理图附录2:实现程序#include<reg51.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned int//****************电机控制时序*******************************//低四位为右轮,高四位为左轮uchar code zz[8]={0x91,0x83,0xc2,0x46,0x64,0x2c,0x38,0x19}; //前进时序uchar code left[8]= {0x11,0x33,0x22,0x66,0x44,0xcc,0x88,0x99}; //前进左拐(后退右拐)时序uchar code right[8]={0x99,0x88,0xcc,0x44,0x66,0x22,0x33,0x11}; //前进右拐(后退左拐)时序/********** 方向灯定义**********/sbit red =P1^0; //红灯sbit yel_r =P1^1; //右黄灯sbit yel_l =P1^2; //左黄灯/*******************************************************************//* *//* 延时函数*//* *//*******************************************************************/void delay(int ms){while(ms--){uchar i;for(i=0;i<120;i++){;}}}//*******************前进函数****************************void qj(){uchar i;for(i=0;i<8;i++)//八拍一个周期,转过3.76mm{P0=zz[i];delay(5);//延时5ms}}//********************前进左拐(后退右拐)函数****************************** void left1_turn(){uchar i;yel_l=1;//左黄灯亮for(i=0;i<8;i++)//八拍一个周期{P0=left[i];delay(5);}yel_l=0;//左黄灯灭}//********************前进右拐(后退左拐)函数****************************** void right1_turn(){uchar i;yel_r=1;//右黄灯亮for(i=0;i<8;i++)//八拍一个周期{P0=right[i];delay(5);}yel_r=0;//右黄灯灭}//**********************主函数******************************* void main(){uchar Q;P0=0xff;P2=0xff;Q=P2&0x0f;//EA=1;//EX0=1; //开外部中断0//IT0=1; //下降沿触发delay(10); //上电,等待稳定while(1){ P2=0xff; Q=P2&0x0f;switch(Q){// if(Q==0x01|Q==0x02) //前进左出轨case(0x01) :;case(0x02) : ;case(0x03): delay(10);right1_turn(); break; //右拐// if(Q==0x04|Q==0x08) //前进右出轨case(0x04):;case(0x08):;case(0x0c): delay(10);left1_turn();break; //左拐case(0x0a): P0=0x00;break;default :qj(); //未出轨,继续前进// else goto qj1;// goto qj1;}/* if(P2^0|P2^1)right1_turn();if(P2^2|P2^3)left1_turn();qj();*/}}。

相关文档
最新文档