循迹小车报告

合集下载

寻迹小车实验报告

寻迹小车实验报告

自动寻迹小车设计报告一、系统设计1、设计要求(1)自动寻迹小车从安全区域启动。

(2)小车按检测路线运行,自动区分直线轨道和弯路轨道,在弯路处拐弯,实现灵活前进、转弯、等功能2.小车寻迹的原理这里的寻迹是指小车在白色地板上寻黑线行走,通常采取的方法是红外探测法。

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

单片机就是否收到反射回来的红外光为依据来确定黑线的位置和小车的行走路线。

红外探测器探测距离有限,一般最大不应超15cm。

对于发射和接收红外线的红外探头,可以自己制作或直接采用集成式红外探头。

3、模块方案根据设计要求,本系统主要由控制器模块、寻迹传感器模块、直流电机及其驱动模块等构成。

控制器模块:控制器模块由AT89C51单片机控制小车的行走。

寻迹传感器模块:寻迹传感器用光电传感器ST188检测线路并反馈给单片机执行。

ST188采用高发射功率红外光电二极管和高灵敏度双光电晶体管组成。

检测距离:4--13mm直流电机及其驱动模块:直流电机用L298来驱动。

L298N是一个具有高电压大电流的全桥驱动芯片,它相应频率高,一片L298N可以分别控制两个直流电机,而且还带有控制使能端。

用该芯片作为电机驱动,操作方便,稳定性好,性能优良。

4.系统结构框图:二、硬件实现及单元电路设计1、微控制器模块的设计在本次设计中我们采用了AT89C51位主控制器。

它具有智能化,可编程,小型便携等优点。

2.光电传感器:本次试验我们采用了ST188光电传感器,ST188采用高发射功率红外光电二极管和高灵敏度双光电晶体管组成。

检测距离:4--13mm。

其连接电路图如下:3.直流电机及其驱动模块在直流电机驱动问题上,我们采用一片L298来驱动直流电机。

循迹小车实习报告

循迹小车实习报告

一、实习背景随着科技的发展,自动化技术在各个领域得到了广泛应用。

智能循迹小车作为自动化技术的一个重要应用,具有广泛的前景。

为了提高我们的实践能力,培养我们的创新精神,我们参加了智能循迹小车实习课程。

通过本次实习,我们学习了智能循迹小车的设计、制作和调试方法,了解了其工作原理,提高了我们的动手能力和团队协作能力。

二、实习目的1. 熟悉智能循迹小车的结构、原理和功能。

2. 掌握智能循迹小车的制作方法,提高动手能力。

3. 学习电路设计、传感器应用、单片机编程等知识。

4. 培养团队协作精神,提高沟通能力。

三、实习内容1. 智能循迹小车原理及结构智能循迹小车主要由以下几部分组成:车体、驱动电机、传感器、单片机、控制电路等。

车体是智能循迹小车的承载部分,驱动电机负责提供动力,传感器用于检测路面信息,单片机负责处理传感器信息,控制电路负责将单片机的指令转换为电机驱动信号。

2. 电路设计电路设计主要包括以下几个方面:(1)电源电路:为智能循迹小车提供稳定的电源。

(2)驱动电路:将单片机的控制信号转换为电机驱动信号。

(3)传感器电路:将传感器信号转换为单片机可识别的信号。

(4)控制电路:对单片机输出的控制信号进行放大、滤波等处理。

3. 传感器应用智能循迹小车主要采用红外传感器进行路面检测。

红外传感器具有体积小、成本低、安装方便等优点。

在制作过程中,我们需要对红外传感器进行调试,使其能够准确检测路面信息。

4. 单片机编程单片机编程是智能循迹小车实现智能控制的关键。

我们主要学习了C语言编程,掌握了单片机的基本指令、函数、中断等知识。

在编程过程中,我们需要编写程序,使单片机能够根据传感器信息控制小车行驶。

5. 调试与优化在制作过程中,我们需要对智能循迹小车进行调试,使其能够稳定、准确地行驶。

调试过程中,我们需要对电路、传感器、单片机等部分进行调整,以达到最佳效果。

四、实习成果通过本次实习,我们成功制作了一台智能循迹小车,并使其能够稳定、准确地行驶。

智能循迹小车实验报告

智能循迹小车实验报告

智能循迹小车实验报告第一篇:智能循迹小车实验报告摘要本设计主要有单片机模块、传感器模块、电机驱动模块以及电源模块组成,小车具有自主寻迹的功能。

本次设计采用STC公司的89C52单片机作为控制芯片,传感器模块采用红外光电对管和比较器实现,能够轻松识别黑白两色路面,同时具有抗环境干扰能力,电机模块由L298N芯片和两个直流电机构成,组成了智能车的动力系统,电源采用7.2V的直流电池,经过系统组装,从而实现了小车的自动循迹的功能。

关键词智能小车单片机红外光对管 STC89C52 L298N 1 绪论随着科学技术的发展,机器人的设计越来越精细,功能越来越复杂,智能小车作为其的一个分支,也在不断发展。

在近几年的电子设计大赛中,关于小车的智能化功能的实现也多种多样,因此本次我们也打算设计一智能小车,使其能自动识别预制道路,按照设计的道路自行寻迹。

设计任务与要求采用MCS-51单片机为控制芯片(也可采用其他的芯片),红外对管为识别器件、步进电机为行进部件,设计出一个能够识别以白底为道路色,宽度10mm左右的黑色胶带制作的不规则的封闭曲线为引导轨迹并能沿该轨迹行进的智能寻迹机器小车。

方案设计与方案选择3.1 硬件部分可分为四个模块:单片机模块、传感器模块、电机驱动模块以及电源模块。

3.1.1 单片机模块为小车运行的核心部件,起控制小车的所有运行状态的作用。

由于以前自己开发板使用的是ATMEL公司的STC89C52,所以让然选择这个芯片作为控制核心部件。

STC89C52是一种低损耗、高性能、CMOS八位微处理器,片内有4k字节的在线可重复编程、快速擦除快速写入程序的存储器,能重复写入/擦除1000次,数据保存时间为十年。

其程序和数据存储是分开的。

3.1.2 传感器模块方案一:使用光敏电阻组成光敏探测器采集路面信息。

阻值经过比较器输出高低电平进行分析,但是光照影响很大,不能稳定工作。

方案二:使用光电传感器来采集路面信息。

循迹小车的装调实训报告

循迹小车的装调实训报告

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

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

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

二、实训目的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)创新意识方面,学生在实训过程中积极思考,提出了一些改进方案,提高了创新意识。

循迹小车的实验报告

循迹小车的实验报告

循迹小车的实验报告循迹小车的实验报告引言:循迹小车是一种基于光电传感器的智能机器人,能够通过感知地面上的黑线,实现自主导航。

本次实验旨在探索循迹小车的工作原理及其应用,并对其性能进行评估。

一、实验背景循迹小车作为一种智能机器人,广泛应用于工业自动化、仓储物流、智能家居等领域。

其基本原理是通过光电传感器感知地面上的黑线,根据传感器信号控制电机的转动,从而实现沿着黑线行进。

二、实验过程1. 实验器材准备本次实验所需器材有循迹小车、黑线地毯、计算机等。

通过连接计算机和循迹小车,可以实现对小车的控制和数据传输。

2. 实验步骤(1)将黑线地毯铺设在实验场地上,并保证地毯表面光滑清洁。

(2)将循迹小车放置在地毯上,确保其底部的光电传感器与黑线接触。

(3)通过计算机控制循迹小车的启动,观察小车是否能够准确跟踪黑线行进。

(4)记录小车在不同条件下的行进速度、转弯半径等数据,并进行分析。

三、实验结果1. 循迹性能评估通过实验观察和数据记录,我们发现循迹小车在较为平整、光线充足的黑线地毯上表现较好,能够准确跟踪黑线行进。

然而,在黑线不明显、光线较暗的情况下,小车的循迹性能会有所下降。

2. 行进速度与转弯半径根据实验数据分析,循迹小车的行进速度受到多种因素的影响,包括地面摩擦力、电机功率等。

在实验中,我们发现增加电机功率可以提高小车的行进速度,但同时也会增大转弯半径。

3. 应用前景循迹小车作为一种智能机器人,具有广泛的应用前景。

在工业自动化领域,循迹小车可以用于物料搬运、装配线操作等任务;在仓储物流领域,循迹小车可以实现货物的自动分拣、运输等功能;在智能家居领域,循迹小车可以作为家庭服务机器人,提供家居清洁、送餐等服务。

四、实验总结通过本次实验,我们深入了解了循迹小车的工作原理和应用前景。

循迹小车的循迹性能受到地面条件和光线影响,需要进一步优化。

在实际应用中,循迹小车可以广泛应用于工业自动化、仓储物流和智能家居等领域,为人们的生活和工作带来便利。

模拟循迹小车实验报告

模拟循迹小车实验报告

一、实验目的1. 理解循迹小车的工作原理,掌握模拟循迹技术。

2. 学习使用传感器检测道路情况,并根据检测结果进行小车控制。

3. 提高嵌入式系统设计和编程能力。

二、实验原理循迹小车是一种能够按照预设轨迹运行的智能小车。

其工作原理是:通过安装在车身上的传感器检测道路情况,并将检测到的信息传输给单片机,单片机根据接收到的信息对小车进行控制,使小车按照预设轨迹运行。

本实验中,我们采用红外对管作为传感器,通过检测红外对管对光线反射的强弱来判断小车是否偏离预设轨迹。

当红外对管检测到光线反射较强时,表示小车偏离了预设轨迹;当红外对管检测到光线反射较弱时,表示小车位于预设轨迹上。

三、实验器材1. 单片机开发板(如STC89C52)2. 红外对管传感器3. 电机驱动模块4. 电机5. 轮胎6. 跑道7. 电阻、电容等电子元件8. 编程软件(如Keil)四、实验步骤1. 硬件连接:将红外对管传感器连接到单片机的I/O口,将电机驱动模块连接到单片机的PWM口,将电机连接到电机驱动模块。

2. 编程:编写程序,实现以下功能:(1)初始化红外对管传感器和电机驱动模块;(2)读取红外对管传感器的状态,判断小车是否偏离预设轨迹;(3)根据红外对管传感器的状态,控制电机驱动模块使小车按照预设轨迹运行。

3. 调试:将程序烧录到单片机中,进行调试。

观察小车是否能够按照预设轨迹运行。

五、实验结果与分析1. 实验结果:经过调试,小车能够按照预设轨迹运行。

2. 分析:(1)红外对管传感器能够有效地检测道路情况,判断小车是否偏离预设轨迹;(2)单片机能够根据红外对管传感器的状态,及时调整电机的转速,使小车按照预设轨迹运行;(3)电机驱动模块能够稳定地驱动电机,使小车运动平稳。

六、实验总结通过本次实验,我们掌握了模拟循迹小车的工作原理,学会了使用传感器检测道路情况,并根据检测结果进行小车控制。

同时,我们还提高了嵌入式系统设计和编程能力。

七、改进建议1. 可以尝试使用其他类型的传感器,如光电传感器、红外线传感器等,以提高循迹精度。

循迹小车研究报告

循迹小车研究报告

循迹小车研究报告1. 引言循迹小车是一种能够根据特定路线上的黑线进行自动导航的智能机器人。

该研究报告旨在探讨循迹小车的工作原理、应用领域以及未来发展趋势。

循迹小车在工业自动化、教育培训和娱乐等领域具有广泛的应用前景。

本报告将深入研究循迹小车的算法、传感器技术以及控制系统,并分析其在实际应用中的优势和局限性。

2. 工作原理循迹小车通过搭载在车身下方的红外传感器,来检测路线上的黑线。

传感器会发射红外光束,当红外光束碰触到黑线时,传感器会接收到反射回来的光束。

基于这个原理,通过检测反射光强的变化,循迹小车可以判断当前车辆所处的位置和方向。

3. 系统设计循迹小车的系统设计涵盖硬件和软件两个方面。

下面将分别讨论这两个方面的关键设计要素。

3.1 硬件设计循迹小车的硬件设计包括车身结构和传感器模块。

车身结构应具备稳定性和灵活性,以适应不同路面的运动需求。

传感器模块通常采用红外线传感器阵列,以提高检测精度和鲁棒性。

3.2 软件设计循迹小车的软件设计主要包括控制算法和用户界面。

控制算法用于处理传感器数据,判断小车应如何运动以跟随黑线。

用户界面则提供了交互操作的接口,用户可以通过界面实时监控车辆状态和调整路径规划。

4. 应用领域循迹小车在工业自动化、教育培训和娱乐领域都有广泛的应用。

4.1 工业自动化循迹小车可以在工厂流水线上配备传感器阵列,用于自动化物流和生产线控制。

它可以通过追踪黑线,识别并搬运特定物品,极大提高生产效率和减少人力成本。

4.2 教育培训循迹小车作为一种教育工具,可以帮助学生理解基本控制原理和编程思维。

学生可以通过编写控制程序,让循迹小车按照设定的路径行驶,提高对编程和算法的理解能力。

4.3 娱乐循迹小车的智能导航功能使其成为一种有趣的玩具。

用户可以通过操控界面,让小车在复杂迷宫中自动寻找最快捷的路径。

这不仅增加了娱乐性,还可以锻炼空间思维和逻辑推理能力。

5. 优势和局限性循迹小车作为一种智能机器人,具有以下优势和局限性。

巡迹小车实验报告

巡迹小车实验报告

巡迹小车实验报告摘要:1.实验背景与目的2.实验设备与材料3.实验步骤与方法4.实验结果与分析5.实验结论与展望正文:一、实验背景与目的随着科技的快速发展,智能小车在物流、仓储等领域的应用越来越广泛。

为了提高小车的路径规划和自主导航能力,研究者们开展了许多实验。

本次实验旨在通过设计一款具有自主寻迹能力的小车,验证其路径跟踪精度和速度,为进一步优化和应用提供参考。

二、实验设备与材料1.小车底盘:采用常见的Arduino 开发板和直流电机驱动,配以车轮组件;2.电子元件:包括Arduino 开发板、电机驱动模块、电池、开关、传感器等;3.软件工具:使用Arduino IDE 编程环境进行程序开发。

三、实验步骤与方法1.搭建小车底盘:根据电路图和设计方案,将电子元件连接到Arduino开发板上,并将电机驱动模块与车轮组件相连;2.编写程序:利用Arduino IDE 编写程序,实现小车的路径跟踪功能;3.测试实验:将小车放置在预设的轨迹上,运行程序,观察小车是否能准确地跟踪轨迹。

四、实验结果与分析实验结果显示,小车能够准确地跟踪预设轨迹,且路径跟踪精度和速度均达到了预期目标。

通过对实验数据的分析,可以得出以下结论:1.小车底盘设计合理,能够满足路径跟踪的需求;2.程序设计有效,实现了小车的自主寻迹功能;3.实验结果表明,小车在实际应用中具有较高的可行性和可靠性。

五、实验结论与展望本次实验成功地设计并实现了一款具有自主寻迹能力的小车。

实验结果表明,小车具备较高的路径跟踪精度和速度,为进一步研究和应用提供了有力支持。

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

南京工程学院工程基础实验与训练中心本科课程设计说明书(论文)题目:自动循迹小车专业:自动化(系统集成)班级: D自集成092学号:233090242、233090218、233090211学生姓名:刘海军、裴阿芹、吴娟指导教师:曾宪阳起迄日期: 2011.6.13 ---2011.7.8设计地点:基础实验楼B206目录摘要(中文) (3)摘要(外文) (4)一、系统方案1、课设要求 (5)1.1、基本功能 (5)1.2、发挥部分 (5)2、总体设计 (5)3、模块方案比较与论证 (6)3.1、电源模块 (6)3.2、电机驱动模块 (7)3.3、传感器模快 (8)3.4、显示模块 (9)3.5、测速模块 (10)4、总原理图 (11)二、循迹小车硬件设计 (11)1、机械设计 (11)2、小车各模块分布 (13)3、小车传感器位置排布 (13)三、循迹小车软件设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131、循迹小车主函数流程图 (13)2、计算路程模块流程图 (14)3、循迹模块流程图 (15)四、程序 (15)五、开发总结与心得. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..251、总体方案论证和确立 (25)2、各分立模块的制作调试 (25)3、总车的装配调试 (25)4、总结与展望. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..25六、参考文献. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..26课程设计说明书(论文)中文摘要摘要:该小车是以STC89C52RC单片机为核心。

在机械结构上,采用两个减速电动机,利用H桥电机驱动电路作为驱动源,循迹电路采用RPR220型光电对管,液晶显示采用LCD1602液晶显示屏。

在软件上,我们利用合适的算法,可以实现自动循迹,显示时间、路程及速度。

基于可靠的硬件设计和稳定的软件算法。

关键词:STC89C52RC单片机、H桥电机驱动电路、RPR220型光电对管、LCD1602液晶显示屏课程设计说明书(论文)外文摘要Title:Automatic tracking carAbstract:The car is based on STC89C52RC MCU as the core. In the mechanical structure, adopts two motors slowdown, the use of H bridge motor driver circuit as a drive source tracking circuit uses RPR220 type photoelectric tube, liquid crystal display using liquid crystal display LCD1602. In software, we use the appropriate algorithm, can achieve automatic tracking, time, distance and speed. Hardware design based on a reliable and stable software algorithm.Keywords:STC89C52RC microcontroller、H bridge motor driver circuit,、RPR220 type photoelectric tube、LCD1602 LCD screen一、系统方案1、课设要求:1.1、完成基本设计功能:1)、车辆从起跑线出发开始计时(出发前,车体不得超出起跑线),能到达终点线并且停止在终点线。

全程行驶时间应力求最短(从合上小车电源开关开始计时)。

2)、到达终点线小车停止后,停车位置离终点线偏差应最小(以小车中心点与终点线之间距离作为偏差的测量值)。

3)、在行驶过程中小车检测到加速线后开始加速并发出声光报警信号,检测到减速线后开始减速并发出声光报警信号。

1.2、发挥部分1)、从起跑线开始计时,自动记录、时时显示全程行驶时间(记录显示装置要求安装在小车上),误差尽可能小。

2)、从起跑线开始,自动记录、时时显示行驶距离X3(记录显示装置要求安装在车上),误差尽可能小。

3)、从起跑线开始,自动记录、显示加速线1、减速线2离起跑线的距离X1,X2,误差尽可能小。

4)、其它特色与创新。

2、总体设计对设计要求就行分析,设计主要有以下几个模块组成:1)、信息采集模块:信息采集部分是光电检测,光电检测有寻迹检测和测速检测两个部分。

将检测到的信号送给单片机处理,其核心部分是几个光电传感器。

2)、控制处理模块:控制处理模块是一一片stc89c52单片机为核心,单片机将从采集到的信息进行判断后,按照预定的算法处理,把处理的结果送交电机驱动和液晶显示模块,使之做出相应的动作。

3)、执行模块:执行模块是由液晶显示、电机驱动及电机、蜂鸣器三部分组成。

液晶主要是将单片机处理的结果进行实时显示,方便及时用户了解系统当前的状态,电机驱动根据单片机的指令对两个电机进行动作,使之能够根据需要作出相应的加速、减速、转弯、停车等的动作,以达到预期的目的。

蜂鸣器主要是根据要求在特定的位置作出出响应来报告位置。

框图如下:3、模块方案比较与论证3.1、电源模块:方案一:将220V交流电进行整流、滤波、稳压(采用7805稳压管)使输出值为5V。

但是这种方案,需要很长的电线,运动起来很不方便,而且危险系数微高,但是输出比较稳定。

方案二:采用12V蓄电池为直流电机供电,用7805将12V电压降压、稳压后得单片机系统和其他芯片供电。

蓄电池具有较强的电流驱动能力以及稳压的电压输出性能。

虽然蓄电池的体积过于庞大,在小型电动车上使用极为不方便,但由于我们的车体设计时留出了足够的空间,并且蓄电池的价格比较低。

经过比较,我们采用方案一原理图:实物图:3.2、电机驱动模块:方案一:采用专用芯片L298N作为电机驱动芯片。

L298N是一个具有高电压大电流的全桥驱动芯片,它相应频率高,一片L298N可以分别控制两个直流电机,而且还带有控制使能端。

用该芯片作为电机驱动,操作方便,稳定性好,性能优良。

方案二:H桥。

对于直流电机用分立元件构成驱动电路由分立元件构成电机驱动电路,结构简单,价格低廉。

综上所述,根据条件限制,我们选择方案二原理图:实物图:3.3、传感器模块:方案一:用光敏电阻组成光敏探测器。

光敏电阻的阻值可以跟随周围环境光线的变化而变化。

当光线照射到白线上面时,光线发射强烈,光线照射到黑线上面时,光线发射较弱。

因此光敏电阻在白线和黑线上方时,阻值会发生明显的变化。

将阻值的变化值经过比较器就可以输出高低电平。

但是这种方案受光照影响很大,不能够稳定的工作。

方案二:用RPR220型光电对管,RPR220是一种一体化反射型光电探测器,其发射器是一个砷化镓红外发光二极管,而接受器是一个高灵敏度,硅平面光电三极管。

RPR220特点:(1)、塑料透镜可以提高灵敏度(2)、内置可见光过滤器能减小离散光的影响(3)、体积小,结构紧凑当发光二极管发出的光反射回来时,三极管导通输出低电平。

此光电对管调理电路简单,工作性能稳定。

综上所述,我们选择方案二原理图:实物图:3.4、显示模块:方案一:LED数码管显示数码管显示具有亮度高,色彩选择多的优点,但是数码管占用I/O资源多,控制复杂,功耗较大,显示信息量较少且单一。

方案二:LCD1602液晶显示液晶显示驱动简单,易于控制,功耗小,且显示信息量大,可以直观地观测到小车的位置及速度信息。

综合考虑,决定用1602液晶显示作为本次设计的显示模块原理图:实物图:3.5、测速模块测速是用光电反射管接收发射信号进行计算的,在车轮内加入黑白相间的码盘,将车轮一周分为4分进行计算,这样便提高了测速和计程的精度。

测速码盘随车轮转动,每转一圈,传感器将能采集到四次信息,送给单片机进行处理计算。

测速码盘如右图:实物图:4、总电机原理图二、循迹小车硬件设计1、机械设计小车机械部分设计有以下几个要求:符合机械力学性能,能够很好地完成各机械动作;易于组装拆卸以便于维护维修;方便扩展布局,面向以后学习研究的扩展开发;总体布局有一定的电气隔离性能,尽量减少互相干扰;美观大方。

单片机最小系统 电机驱动 电源模块 循 迹 模 块 测速模块 LCD 液晶显 示2、小车各模块分布小车的总体布局应以尽量减少互相干扰为原则,兼顾美观整齐。

基于这两点,通过调试,在小车底板下面只安放了两个减速电机,防止电机磁对电气信号的干扰。

车头部分放置传感器模块,这样和别的电流通路基本隔离,有利于信号的稳定。

单片机置于车的中央且用铜柱将其支起来,于电机、电源等干扰源远离,很好地保证单片机的稳定可靠地运行。

总体布局图如上所示。

3、小车传感器位置排布小车循迹的保证是传感器反映回正确的信息,所以传感器的合理排布是小车能够圆满完成任务的基本保证,经过反复的调试和实验,得出的最佳传感器分布图如上图中所示。

车头部分的三个传感器主要用于循迹检测,中间的传感器主要用于直道姿态的调整。

其两侧的另外两个主要用于采集弯道信息,车身两侧的传感器主要用于较大偏差的纠正。

另外还在小车车轮的内侧还有一个传感器用于小车的测速以及计程。

三、循迹小车软件设计软件编程是循迹小车的灵魂,小车精确地循迹基于合理的编程算法,为了便于调试结构明朗,小车的软件编程分为主函数、检测循迹函数和控制函数。

其中,主函数合理地分配调用各个模块函数,主要负责各模块间的总体协调。

循迹检测函数负责稳定地判定各种信息,将信息值返回,以便主函数或别的函数调用处理。

控制函数主要负责小车的状态控制,根据传感器返回的信息准确地判定小车所处的位置,并做出相应的响应。

其中控制函数中包含了各种算法以实现系统控制的稳定性。

由于控制的数学模型不易建立。

所有的函数算法均是经过无数次的调试而一步步的写出来的。

在此处也不好给出具体的数学模型来阐述,函数的设计流程如下图:1、循迹小车主函数流程图2、计算路程模块流程图3、循迹模块流程图四、程序#include<reg52.h>#define uchar unsigned char #define uint unsigned int #define LCD1602_IO P2uint x,y;uchar f;sbit zuo1=P0^0;sbit zuo2=P0^1;sbit you1=P0^2;sbit you2=P0^3;sbit RS=P1^2;sbit RW=P1^1;sbit E=P1^0;sbit P32=P3^2;uint a,S,d,v;uchar s_2,s_0,s_1;uchar W,h,i,v1,v2,v3;uchar q=0,p=0;void right();void left();void straight();void init_t();void delay_ms(uint t);void xianshi(void);void wr1602_com(uchar com); void wr1602_dat(uchar dat); void init_1602(void);void straight() /*直走*/{zuo1=0;zuo2=1;you1=0;you2=1;i=0x05;}void stop() /*停止*/{if(q>=2){EA=0;zuo1=1;zuo2=1;you1=1;you2=1;}}void right() /*右走*/{you1=1;you2=0;zuo1=0;zuo2=1;i=0x03;}void left() /*左走*/ {zuo1=1;zuo2=0;you1=0;you2=1;i=0x06;}void shudu() /*速度计算*/ {if(0<q<2){v=S/a;if(v<99){v2=S/10;v1=S%10;}else{v3=S/100;v2=(S/10)%10;v1=S%10;}}}void zijia(){hile((P1|(0xc7))==B11000111);delay_ms(1);if((P1|(0xc7))!=B11000111){q++;stop();}}void xunji() /*循迹*/{x=P1|(0xc7);switch(x){case B11110111:left();break;case B11100111:left();break;case B11011111:right();break;case B11001111:right() ;break;case B11101111:straight() ;break; case B11000111:zijia();break;case B11111111:switch(f){case 0x06: left() ;break;case 0x03: right() ;break;case 0x05: straight();break; }break;default: ;break;}}void delay_ms(uint t){uchar x,y;for(t;t>0;t--){for(x=0;x<114;x++){for(y=0;y<1;y++);}}}void init_t(void) /*初始化状态*/ {TMOD|=0X11;TR1=1;ET1=1;TH1=(65535-50000)/256;TL1=(65535-50000)%256;TH0=(65536-1000)/256;TL0=(65536-1000)%256;EA=1;ET0=1;TR0=1;PT0=1;EX0=1;IT0=1;}void tim_1()interrupt 3/*T0定时时间*/{d++;TH1=(65535-50000)/256;TL1=(65535-50000)%256;if(d==20){if(0<q<2){a++;if(a<99){s_1=a/10;s_0=a%10;}else{s_2=a/100;s_1=(a/10)%10;s_0=a%10;}}d=0;}}void int_0()interrupt 0/*外中断INT_0路程计算*/ {delay_ms(10);if(P32==0){if((P1|(0xc7))==B11101111)x=P1|(0xc7);if(0<q<2){p++;S=p*3;if(S<99){W=S/10;h=S%10;}else{i=S/100;W=(S/10)%10;h=S%10;}}}}}void wr1602_com(uchar com) /*液晶显示*/ {E=0;LCD1602_IO=com;RS=0;RW=0;E=1;delay_ms(1);E=0;delay_ms(1);}void wr1602_dat(uchar dat)/*液晶显示*/E=0;LCD1602_IO=dat;RS=1;RW=0;E=1;delay_ms(1);E=0;delay_ms(1);}void init_1602(void) /*液晶显示初始化*/ {delay_ms(15);wr1602_com(0x38);wr1602_com(0x38);wr1602_com(0x0c);wr1602_com(0x06);wr1602_com(0x0c);wr1602_com(0x01);wr1602_com(0x80);}void xianshi(void) /*液晶显示模块*/{if(0<q<2){wr1602_com(0x80);wr1602_dat('T');wr1602_dat(':');wr1602_dat('0'+s_2);wr1602_dat('0'+s_1);wr1602_dat('0'+s_0);wr1602_dat('s');wr1602_com(0x89);wr1602_dat('L' );wr1602_dat(':');wr1602_dat('0'+i );wr1602_dat('.' );wr1602_dat('0'+W );wr1602_dat('0'+h );wr1602_dat('m' );wr1602_com(0xc0);wr1602_dat('V' );wr1602_dat(':');wr1602_dat('0'+v3 );wr1602_dat('.' );wr1602_dat('0'+v2 );wr1602_dat('0'+v1 );wr1602_dat('m' );wr1602_dat('/' );wr1602_dat('s');}else{EA=0;wr1602_com(0x80);wr1602_dat('T');wr1602_dat(':');wr1602_dat('0'+s_2); wr1602_dat('0'+s_1); wr1602_dat('0'+s_0); wr1602_dat('s');wr1602_com(0x89);wr1602_dat('L' ); wr1602_dat(':');wr1602_dat('0'+i ); wr1602_dat('.' );wr1602_dat('0'+W );wr1602_dat('0'+h );wr1602_dat('m' );wr1602_com(0xc0);wr1602_dat('V' );wr1602_dat(':');wr1602_dat('0'+v3 );wr1602_dat('.' );wr1602_dat('0'+v2 );wr1602_dat('0'+v1 );wr1602_dat('m' );wr1602_dat('/' );wr1602_dat('s');}}void tim_0()interrupt 1 /*T0进行循迹*/ {TR0=0;TH0=(65536-1000)/256;TL0=(65536-1000)%256;xunji();TR0=1;}void main( ) /*主程序*/{init_1602();wr1602_com(0x80);init_t();while(1){shudu();xianshi();}}五、开发总结与心得在整个设计过程中,我们按照总——分——总的总体思想来展开的,整个开发过程主要分为以下几个阶段进行。

相关文档
最新文档