智能循迹小车 设计报告
智能循迹小车___设计报告

智能循迹小车___设计报告设计报告:智能循迹小车一、设计背景智能循迹小车是一种能够通过感知地面上的线条进行导航的小型机器人。
循迹小车可以应用于许多领域,如仓库管理、物流配送、家庭服务等。
本设计旨在开发一款功能强大、性能稳定的智能循迹小车,以满足不同领域的需求。
二、设计目标1.实现循迹功能:小车能够准确地识别地面上的线条,并按照线条进行导航。
2.提供远程控制功能:用户可以通过无线遥控器对小车进行控制,包括前进、后退、转向等操作。
3.具备避障功能:小车能够识别和避开遇到的障碍物,确保行驶安全。
4.具备环境感知功能:小车能够感知周围环境,包括温度、湿度、光照等参数,并将数据传输给用户端。
5.高稳定性和可靠性:设计小车的硬件和软件应具备较高的稳定性和可靠性,以保证长时间的工作和使用。
三、设计方案1.硬件设计:(1) 采用Arduino控制器作为主控制单元,与传感器、驱动器等硬件模块进行连接和交互。
(2)使用红外传感器作为循迹传感器,通过检测地面上的线条来实现循迹功能。
(3)使用超声波传感器来检测小车前方的障碍物,以实现避障功能。
(4)添加温湿度传感器和光照传感器,以提供环境感知功能。
(5)将无线模块与控制器连接,以实现远程控制功能。
2.软件设计:(1) 使用Arduino编程语言进行程序设计,编写循迹、避障和远程控制的算法。
(2)设计用户界面,通过无线模块将控制信号发送给小车,实现远程控制。
(3)编写数据传输和处理的程序,将环境感知数据发送到用户端进行显示和分析。
四、实施计划1.硬件搭建:按照设计方案中的硬件模块需求,选购所需元件并进行搭建。
2.软件开发:根据设计方案中的软件设计需求,编写相应的程序并进行测试。
3.功能调试:对小车的循迹、避障、远程控制和环境感知功能进行调试和优化。
4.性能测试:使用不同场景和材料的线条进行测试,验证小车的循迹性能。
5.用户界面开发:设计用户端的界面,并完成与小车的远程控制功能的对接。
智能寻迹小车设计报告

目录1.项目设计目的 (1)2.项目设计正文 (3)2。
1.项目分析及方案制定 (3)2。
2.设计步骤及流程图 (4)2。
2.1.寻迹设计步骤 (4)2。
2。
2.流程图 (4)2.3.主要模块介绍 (4)2。
3。
1.LM393 (4)2。
3.1.1 LM393的主要特点 (4)2.3。
1。
2 LM393引脚图及内部框图 (5)2。
3。
1.3 LM393 功能简介 (5)2。
3。
2.89C2051 (5)2.3.2。
1 89C2051简介 (5)2.3.2.2 89C2051 主要性能参数 (5)2.3。
2.3 89C2051 功能特性概述 (6)2.4.电路设计及PCB绘制 (6)2。
4。
1.电源电路 (6)2.4。
2.红外收发电路 (6)2。
4.3.电机驱动电路 (7)2。
4。
4.单片机最小系统 (7)2。
4。
5. 整体电路 (8)2。
4.6。
PCB板的绘制 (8)2.5. 成品展示 (9)3.项目设计总结 (9)4.参考文献 (10)智能寻迹小车——CDIO三级项目王君杰(电子信息工程1501 150070116)一、项目设计目的在科技飞速发展的今天,智能化的概念已经渗入到各行各业,自动控制系统也出现在生活的方方面面,早到工厂的机械化生产,近到目前的自动驾驶.越来越多的领域涉及到电控制技术。
特别是使用单片机一类的MCU的控制,在生活中越来越常见。
因此,基于单片机控制的电路的学习和时间对于我们来说就显得尤为重要。
同时,对于单片机作为软件主控单元,结合模电数电的硬件电路支持的综合项目开发,也是作为大学生需要了解并且熟练运用的基础。
掌握了这些知识,对于我们以后的职业发展也有着莫大的帮助。
二、项目设计正文2.1、项目分析及方案制定首先对于“智能寻迹小车”这个标题而言,我们可以分为两个部分:小车和智能寻迹。
“小车"决定了硬件电路的大致构成:电源、电容、电阻、开关、电机、LED.而“智能”则决定了一些高级电路的选用:MCU、传感器、电机驱动、电位器及一些IC。
智能循迹小车课程设计报告

智能循迹小车课程设计报告一、课程设计目标:本次智能循迹小车课程设计的目标是让学生了解智能硬件的基础知识,掌握基本电子元器件的原理及使用方法,学习控制系统的组成和运行原理,并通过实践操作设计出一款功能齐全的智能循迹小车。
二、课程设计内容及步骤:1. 调研与分析——首先要对市面上现有的智能循迹小车进行调研与分析,了解各种类型的循迹小车的特点和优缺点,为后续的设计提供参考。
2. 硬件选型——根据课程设计目标和实际需要,选择合适的主控芯片、电子元器件和传感器等硬件。
3. 原理图设计——根据硬件选型,设计出对应的原理图,并在硬件上进行布局与焊接。
4. 程序设计——先在电路板上测试硬件是否正常,随后进行程序设计,根据传感器的反馈控制小车的运动,让小车能够沿着黑线自动循迹行驶,同时加入避障功能和自动寻迹功能。
5. 调试与优化——完成程序设计后,要对小车进行全面验收测试,发现问题及时解决并优化相关程序。
三、设计思路:本次课程设计基于树莓派电路板,利用循迹模块实现小车的自动循迹和自动寻迹。
同时将超声波模块结合避障算法实现小车的自动避障。
小车的外壳采用3D打印技术制作,操作简单实用。
四、课程设计效果:通过本课程设计,学生们从理论到实践,了解了智能硬件的基础知识,掌握了基本电子元器件的原理及使用方法,学习了控制系统的组成和运行原理。
同时,实践操作过程中,学生们培养了动手能力和实际操作的技能。
通过制作一台智能循迹小车,学生们对智能硬件的认识更加深入,并获得了较高的设计满足感。
五、课程设计展望:智能循迹小车是智能硬件应用领域的一项重要发明,具有广泛的应用前景。
未来,可以将循迹小车应用于快递、物流等行业,实现自动化送货、配送。
同时可以将遥控技术与循迹技术相结合,设计出更加高效、实用的智能循迹小车,推动智能化生产和工作环境。
2024年度-智能循迹小车设计

智能循迹小车设计目录•项目背景与意义•系统总体设计•循迹算法研究•控制系统设计•调试与测试•项目成果展示•总结与展望01项目背景与意义智能循迹小车概述定义智能循迹小车是一种基于微控制器、传感器和执行器等技术的自主导航小车,能够按照预定路径进行自动循迹。
工作原理通过红外、超声波等传感器感知周围环境信息,将感知数据传输给微控制器进行处理,微控制器根据预设算法控制执行器调整小车行驶状态,实现循迹功能。
随着工业自动化的发展,智能循迹小车在生产线、仓库等场景中的应用需求不断增加。
自动化需求教育领域需求娱乐领域需求智能循迹小车作为教学实验平台,在高等教育、职业教育等领域具有广泛应用前景。
智能循迹小车可以作为玩具或模型车进行娱乐竞技活动,满足消费者休闲娱乐需求。
030201市场需求分析通过本项目的研究与实践,掌握智能循迹小车的核心技术,包括传感器技术、微控制器技术、控制算法等。
技术目标将智能循迹小车应用于实际场景中,提高生产效率、降低成本、提升产品品质等方面的效益。
应用目标通过智能循迹小车的研发与教学应用,培养学生动手实践能力、创新精神和团队协作能力。
教育意义推动智能循迹小车相关产业的发展,促进就业和经济增长,提升国家科技竞争力。
社会意义项目目标与意义02系统总体设计主控制器传感器模块电机驱动模块电源管理模块总体架构设计01020304负责接收和处理传感器数据,控制小车运动。
包括红外传感器、超声波传感器等,用于感知环境和障碍物。
驱动小车前进、后退、转弯等动作。
为整个系统提供稳定可靠的电源。
硬件选型及配置选用高性能、低功耗的微控制器,如STM32系列。
选用高灵敏度、低误差的传感器,如红外反射式传感器、超声波测距传感器等。
选用高效、稳定的电机驱动器,如L298N电机驱动板。
选用合适的电池和电源管理芯片,确保系统长时间稳定运行。
主控制器传感器模块电机驱动模块电源管理模块初始化模块传感器数据处理模块运动控制模块调试与测试模块软件功能划分负责系统启动时的初始化工作,包括硬件初始化、参数设置等。
智能寻迹小车实验报告

智能寻迹小车实验报告
实验目的:
设计一个智能寻迹小车,能够依据环境中的黑线自主行驶,并避开障碍物。
实验材料:
1. Arduino开发板
2. 电机驱动模块
3. 智能车底盘
4. 红外传感器
5. 电源线
6. 杜邦线
7. 电池
实验步骤:
1. 按照智能车底盘的说明书将车底盘组装起来。
2. 将Arduino开发板安装在车底盘上,并与电机驱动模块连接。
3. 连接红外传感器到Arduino开发板上,以便检测黑线。
4. 配置代码,使小车能够依据红外传感器检测到的黑线自主行驶。
可以使用PID控制算法来控制小车的速度和方向。
5. 测试小车的寻迹功能,可以在地面上绘制黑线,观察小车是否能够准确地跟随黑线行驶。
6. 根据需要,可以添加避障功能。
可以使用超声波传感器或红外避障传感器来检测障碍物,并调整小车的行驶路线。
实验结果:
经过实验,可以发现小车能够依据红外传感器检测到的黑线自主行驶,并能够避开障碍物。
小车的寻迹功能和避障功能能够实现预期的效果。
实验总结:
本次实验成功设计并实现了智能寻迹小车。
通过使用Arduino 开发板、电机驱动模块和红外传感器等材料,配合合适的代码配置,小车能够准确地跟随黑线行驶,并能够避开障碍物。
该实验展示了智能小车的基本原理和应用,为进一步研究和开发智能车提供了基础。
智能循迹小车实验报告

智能循迹小车实验报告第一篇:智能循迹小车实验报告摘要本设计主要有单片机模块、传感器模块、电机驱动模块以及电源模块组成,小车具有自主寻迹的功能。
本次设计采用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 传感器模块方案一:使用光敏电阻组成光敏探测器采集路面信息。
阻值经过比较器输出高低电平进行分析,但是光照影响很大,不能稳定工作。
方案二:使用光电传感器来采集路面信息。
自动循迹智能小车设计报告

一、设计目标通过设计进一步掌握51单片机的应用,特别是在控制系统中的应用。
进一步学习51单片机在系统中的控制功能,能够合理设计单片机的外围电路,并使之与单片机构成整个系统。
二、总体方案设计该智能车采用红外传感器对赛道进行道路检测,单片机根据采集到的信号的不同状态判断小车当前状态,通过电机驱动芯片L298N发出控制命令,控制电机的工作状态以实现对小车姿态的控制,绕跑到行驶一周。
三、软硬件设计硬件电路的设计1、最小系统:小车采用atmel公司的AT89C52单片机作为控制芯片,图1是其最小系统电路。
主要包括:时钟电路、电源电路、复位电路。
其中各个部分的功能如下:(1)、电源电路:给单片机提供5V电源。
(2)、复位电路:在电压达到正常值时给单片机一个复位信号。
图1 单片机最小系统原理图2、电源电路设计:模型车通过自身系统,采集赛道信息,获取自身速度信息,加以处理,由芯片给出指令控制其前进转向等动作,各部分都需要由电路支持,电源管理尤为重要。
在本设计中,51单片机使用5V电源,电机及舵机使用5V电源。
考虑到电源为电池组,额定电压为4.5V,实际充满电后电压则为4-4.5V,所以单片机及传感器模块采用最小系统模块稳压后的5V电源供电,舵机及电机直接由电池供电。
3、传感器电路:光电寻线方案一般由多对红外收发管组成,通过检测接收到的反射光强,判断黑白线。
原理图由红外对管和电压比较器两部分组成,红外对管输出的模拟电压通过电压比较器转换成数字电平输出到单片机。
图2 赛道检测原理图:4、电机驱动电路:电机驱动芯片L298N是SGS公司的产品,内部包含4通道逻辑驱动电路。
是一种二相和四相电机的专用驱动器,即内含二个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,可驱动46V、2A以下的电机。
其引脚排列如图1中U4所示,1脚和15脚可单独引出连接电流采样电阻器,形成电流传感信号。
L298可驱动2个电机,OUT1、OUT2和OUT3、OUT4之间分别接2个电动机。
智能循迹小车实验报告

智能循迹小车实验报告一、实验目的本次实验旨在设计并实现一款能够自主循迹的智能小车,通过传感器检测路径信息,控制小车的运动方向,使其能够沿着预定的轨迹行驶。
通过本次实验,深入了解自动控制、传感器技术和单片机编程等方面的知识,提高实际动手能力和问题解决能力。
二、实验原理1、传感器检测本实验采用红外传感器来检测小车下方的黑线轨迹。
红外传感器由红外发射管和接收管组成,当发射管发出的红外线照射到黑色轨迹时,反射光较弱,接收管接收到的信号较弱;当照射到白色区域时,反射光较强,接收管接收到的信号较强。
通过比较接收管的信号强度,即可判断小车是否偏离轨迹。
2、控制算法根据传感器检测到的轨迹信息,采用 PID 控制算法(比例积分微分控制算法)来计算小车的转向控制量。
PID 算法通过对误差(即小车偏离轨迹的程度)进行比例、积分和微分运算,得到一个合适的控制输出,使小车能够快速、准确地回到轨迹上。
3、电机驱动小车的动力由直流电机提供,通过电机驱动芯片(如 L298N)来控制电机的正反转和转速。
根据控制算法计算出的转向控制量,调整左右电机的转速,实现小车的转向和前进。
三、实验器材1、硬件部分单片机开发板(如 STM32 系列)红外传感器模块直流电机及驱动模块电源模块小车底盘及车轮杜邦线、面包板等2、软件部分Keil 等单片机编程软件串口调试助手四、实验步骤1、硬件搭建将红外传感器模块安装在小车底盘下方,使其能够检测到黑线轨迹。
将直流电机与驱动模块连接,并安装在小车底盘上。
将单片机开发板、传感器模块、驱动模块和电源模块通过杜邦线连接起来,搭建好实验电路。
2、软件编程使用单片机编程软件,编写传感器检测程序、控制算法程序和电机驱动程序。
通过串口调试助手,将编写好的程序下载到单片机开发板中。
3、调试与优化启动小车,观察其在轨迹上的行驶情况。
根据小车的实际行驶情况,调整 PID 控制算法的参数,优化小车的循迹性能。
不断测试和改进,直到小车能够稳定、准确地沿着轨迹行驶。
智能巡线小车设计报告

智能巡线小车设计报告一、引言智能巡线小车是一种能够自主识别线路并沿线行驶的机器人小车。
它利用多种传感器和控制系统,能够实时感知环境,并做出相应的行驶决策。
本设计报告将详细介绍智能巡线小车的设计思路、硬件组成和软件实现。
二、设计思路智能巡线小车的设计思路主要包括以下几个方面:1. 线路识别:通过摄像头获取图像信息,利用图像处理算法识别出线路的位置和方向。
2. 行驶控制:根据线路识别结果,通过控制系统调整小车的速度和方向,保持小车在线路上行驶。
3. 环境感知:通过其他传感器如红外传感器、超声波传感器等,实时感知周围环境的障碍物,并对小车的行驶做出相应的调整。
4. 远程控制:提供远程控制的功能,通过无线通信模块与小车建立通信连接,实现对小车的遥控操作。
三、硬件组成智能巡线小车的硬件组成主要包括以下几个组件:1. 主控制器:使用单片机或者嵌入式开发板作为主控制器,负责接收各种传感器数据、处理运算并实现相应的控制算法。
2. 摄像头:用于获取环境图像,采集线路的位置和方向信息。
3. 电机驱动模块:控制小车的电机转动,实现小车的前进、后退、转弯等功能。
4. 传感器模块:包括红外传感器、超声波传感器等,用于感知周围环境的障碍物。
5. 无线通信模块:通过无线通信模块与遥控器或者其他设备建立连接,实现远程控制功能。
四、软件实现智能巡线小车的软件实现主要包括以下几个模块:1. 图像处理算法:利用图像处理算法对摄像头采集的图像进行处理,提取线路的位置和方向信息。
2. 行驶控制算法:根据线路识别结果,调整电机驱动模块控制小车的速度和方向,让小车保持在线路上行驶。
3. 环境感知算法:利用传感器模块采集的数据,判断周围环境是否有障碍物,并根据情况调整小车的行驶路线。
4. 远程控制算法:在无线通信模块的支持下,实现与遥控器或者其他设备之间的通信,接收远程控制指令,实现远程遥控小车的功能。
五、实施计划本项目的实施计划如下:1. 准备阶段:收集相关资料,设计硬件电路图和软件流程图,并购买所需的元器件。
智能循迹小车设计报告(总17页)

智能循迹小车设计报告(总17页)一、设计目的本项目旨在设计一款运用机器视觉技术的智能循迹小车,能够自主寻找指定路径并行驶,可用于实现自动化物流等应用场景。
二、设计方案2.1 系统概述本系统基于STM32F103C8T6单片机和PiCamera进行设计。
STM32F103C8T6单片机负责循迹小车的控制和编码器的反馈信息处理,PiCamera则用于实现图像识别和路径规划,两者之间通过串口进行通讯。
2.2 硬件设计2.2.1 循迹模块循迹模块采用红外传感器对黑线进行探测,通过检测黑线与白底的反差判断小车的行驶方向。
本设计采用5个红外传感器,每个传感器分别对应小车行驶时的不同位置,通过对这5个传感器的读取,可以获取小车所在的实际位置和前进方向。
电机驱动模块采用L298N电机驱动模块,通过PWM信号来控制电机的转速和方向。
左右两侧的电机分别接到L298N模块的IN1~IN4引脚,电机转向由模块内部的电路通过PWM 信号控制。
2.2.4 Raspberry PiRaspberry Pi用于图像处理和路径规划。
本设计使用PiCamera进行图像采集,在RPi 上运行OpenCV进行图像处理,识别道路上的黑线,并通过路径规划算法计算出循迹小车当前应该行驶的方向,然后将该方向通过串口传输给STM32单片机进行控制。
本设计的系统结构分为三个层次:传感器驱动层、控制层、应用层。
其中,传感器驱动层实现对循迹小车上的传感器的读取和解析,生成对应的控制指令;控制层对控制指令进行解析和执行,控制小车的运动;应用层实现图像处理和路径规划,将路径信息传输给控制层进行控制。
在应用层,本设计采用基于灰度阈值的图像处理算法,通过寻找图像中的黑色线条,将黑色线条和白色背景分离出来,以便进行路径规划。
路径规划采用最短路径算法,计算出循迹小车当前应该行驶的方向,然后将该方向发送给控制层进行控制。
2.4 可行性分析本设计的硬件设计采用常见的模块化设计,采用Arduino Mega作为基础模块,通过模块之间的串口通信实现对整个系统的控制,扩展性和可维护性良好。
循迹小车课程设计报告

循迹小车课程设计报告
一、概述
本课程是针对中小学电子爱好者,设计一款基于Arduino开发
板的循迹小车。
课程分为两部分,理论学习和实战操作。
二、理论学习
1. 基础知识学习
学习Arduino开发板的基本用法,了解循迹传感器的原理和应用。
2. 循迹算法学习
介绍循迹控制算法,如PID控制,模糊控制等。
3. 电路原理图学习
通过示例电路,学习循迹小车的电路原理,理解各个组件的作
用与连接方式。
三、实战操作
1. 简单循迹小车搭建
学生通过教师提供的视频教程,自行搭建一个简单的循迹小车。
2. 电路焊接操作
学生进行电路焊接操作,提高电路实际操作能力。
3. 循迹小车控制程序编写
学生通过Arduino开发板,编写循迹小车控制程序,实现小车的运动。
四、实施效果
本课程的实施效果如下:
1. 学生提高Arduino开发板的使用能力。
2. 学生通过理论学习,了解循迹控制算法的原理。
3. 学生通过实战操作,提高电路焊接和程序编写能力。
4. 学生通过小车的装配,加深对电子学原理的理解能力。
五、总结
本课程以实战为主,理论为辅,充分利用学生的动手能力和创造能力,锤炼学生的动手能力和团队合作精神。
在实施中,教师应注意保障学生的安全,严格要求学生的动作规范。
通过开展此
课程,旨在激发学生对电子技术的兴趣,培养学生的科学实验精神。
循迹小车设计概述总结报告

循迹小车设计概述总结报告一. 引言循迹小车是指通过光电传感器感知地面上的黑线,并根据黑线的位置来调整车身方向,从而实现沿着黑线自动行驶的一种智能小车。
本篇报告旨在总结循迹小车设计的整体思路、实施过程以及遇到的问题与解决方案。
二. 设计思路循迹小车的设计主要包含以下几个关键要点:1. 感应模块选择选择合适的光电传感器作为感应模块,用于检测地面上的黑线。
常见的光电传感器有红外线传感器、RGB传感器等,可以根据实际需求选择适合的传感器。
2. 控制模块选择选择合适的控制模块,负责接收感应模块的数据,并控制小车的电机进行相应的运动。
常见的控制模块有单片机、树莓派等,可以根据需求和个人技术储备来选择。
3. 算法设计设计循迹算法,根据光电传感器的反馈数据,判断车身当前位置与黑线的位置关系,并根据判断结果来调整小车的行驶方向。
常见的算法有PID控制算法、模糊控制算法等,可以根据实际需求选择适合的算法。
4. 机械结构设计设计小车的机械结构,包括底盘、电机、车轮等。
确保机械结构的稳定性和可靠性,同时要考虑小车的大小、重量和外观等因素。
三. 实施过程在设计循迹小车的过程中,我们按照以下步骤逐步实施:1. 硬件搭建首先,搭建循迹小车的硬件系统,包括连接光电传感器、控制模块和电机等。
确保各个模块之间的连接正确无误,以及硬件系统的稳定性和可靠性。
2. 程序编写根据设计思路和需求,编写程序实现循迹小车的控制逻辑。
涉及到光电传感器数据的读取、算法的实现和电机控制等方面的内容。
在编写过程中,需要进行调试和测试,确保程序的准确性和稳定性。
3. 测试和优化在完成程序编写后,对循迹小车进行测试和优化。
通过实际测试,了解小车在各种情况下的表现,并根据实际情况对程序进行优化和调整,以提高小车的稳定性和自动化程度。
四. 遇到问题与解决方案在循迹小车设计的过程中,我们遇到了一些问题,但通过不断努力和寻找解决方案,最终都得到了解决。
以下是我们遇到的一些问题及解决方案的总结:1. 光照干扰在室外测试时,光照强度的变化会对光电传感器的检测结果产生影响。
循迹小车课设报告

循迹小车课设报告一、引言循迹小车作为自动控制领域的研究热点之一,具有很高的应用价值。
本文旨在介绍循迹小车的设计原理、硬件配置和软件实现,以及实验结果和分析。
二、设计原理循迹小车的设计原理基于反射光线的特性。
通过使用光敏传感器,可以感知地面上的光强度,从而判断小车应该如何行驶。
当地面上的光强度较高时,代表小车离开了黑色轨迹,需要调整方向。
当地面上的光强度较低时,代表小车仍在黑色轨迹上,可以继续沿着当前方向行驶。
三、硬件配置为了实现循迹小车的功能,需要以下硬件配置:1. 电机驱动模块:用于控制小车的速度和方向。
2. 光敏传感器模块:用于感知地面上的光强度。
3. 微控制器:作为控制中心,接收传感器的信号并控制电机驱动模块。
四、软件实现循迹小车的软件实现主要包括以下几个方面:1. 信号采集和处理:通过光敏传感器采集地面上的光强度信号,并对信号进行处理,得到小车应该采取的行动。
2. 控制算法:根据信号处理的结果,通过控制算法计算小车需要调整的方向和速度。
3. 电机控制:将控制算法得到的结果转化为电机的控制信号,控制小车的运动。
五、实验结果和分析在实验中,我们使用了一个简化的迷宫轨迹作为测试场景。
通过对循迹小车的实际测试,我们得到了以下结果和分析:1. 小车能够准确地沿着迷宫轨迹行驶,避免偏离轨迹。
2. 在遇到环形轨迹时,小车能够正确地判断出前进的方向,避免进入死循环。
3. 在遇到多个分支轨迹时,小车能够根据光强度的变化选择正确的分支。
六、总结通过本次循迹小车课设,我们深入了解了循迹小车的设计原理和实现方式。
循迹小车具有广泛的应用前景,可以在工业自动化、智能仓储等领域发挥重要作用。
同时,本次实验也展示了我们团队的合作能力和创新思维。
希望今后能够进一步完善循迹小车的性能,并将其应用于实际生产中。
以上就是本次循迹小车课设报告的内容,通过对循迹小车的设计原理、硬件配置和软件实现的介绍,以及实验结果和分析,我们对循迹小车有了更深入的了解。
智能巡线小车设计报告

方案一:采用两个电源供电,将电动机驱动电源以及其周边电路与单片机电源分别供电,由于单片机得电压较低,而电机需要得电压较高,容易使单片机电压过高而损坏,使用两个电池供电,可以提高系统稳定性,但就是多一组电池,增加了小车得质量,同时也增加了小车得惯性,降低了灵敏度。
方案二:采用单一电源供电。电源直接给单片机供电,通过单片机得IO口连接到电动机上,这样输出得电压稳定,同时也减轻了小车得质量,使小车更加灵活.但就是加高得电压提高了损坏单片机得风险。
通过这种编码器,我们通过它来直接给单片机传送脉冲信号,读取数据,然后进行轮子周长得计算来计算出距离。
图13流程框图
2.5声光报警模块
当系统检测到终点信号时,由主控芯片控制蜂鸣器间歇性鸣响,同时四个发光二极管开始工作,用此时得相应作为到达终点得报警信号。
具体电路如下:
图14声光报警模块电路图
3.系统程序设计及算法分析
4――z(y)2IN13――z(y)2IN2
2――z(y)1pwmIN1――z(y)2pwmIN
2.3LCD显示模块
我们采用1602液晶显示对我们所测得得比赛时间与路程,1602控制相对简单,成本也相对较低,因此我们选用1602作为显示模块.
简介:
工业字符型液晶,能够同时显示16x02即32个字符。(16列2行)
红外探测法,即利用红外线在不同颜色得物体表面具有不同得反射性质得特点,在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色纸质地板时发生漫反射,反射光被装在小车上得接收管接收;如果遇到黑线则红外光被吸收,小车上得接收管接收不到红外光.单片机就就是否收到反射回来得红外光为依据来确定黑线得位置与小车得行走路线.
经经验比较,L298N驱动模块运行可靠,取得效果较好,而且电路得电气性能与散热性能较好,此设计选用L298N驱动模块.
循迹小车报告精选全文完整版

可编辑修改精选全文完整版创新制作循迹小车制作报告班级:学号:姓名:一、设计方案路面检测模块电路检测路面信息,区分黑色与白面,并形成相对应的高电平与低电平提供给单片机;单片机对路面循迹模块提供的高低电平进行分析,并形成相应的对策(直行、左转、右转和停止等),并将其转化成对应的电压输出给电机驱动模块;电机驱动模块根据单片机提供的电压信号驱动对应的电机,得到与对策相同的执行动作;电源模块电路为三个模块提供所需要的电。
电路框图如下图所示:电路框图二、路面检测模块工作原理一对光电开光的发射管不停的发射红外光,经过路面发射回来的被接受管接收到。
因为白色路面和黑线对光的反射不同,所以正对白色路面的光电对管的接收管接收到更多的红外光,而正对黑线的光电对管的接收管收到较少的红外光。
经过光电开关的接收电路将接收到红外光的多少转化为正相关的电流大小,并进一步转化成接收电路的输出电压(A点电压)的较小值和较大值。
输出电压的较小值和较大值进一步与一个居中的基准电压分别进行比较,对应比较器的输出端(C点)分别为高电平还是低电平,并进一步输出给单片机,同时对应指示发光管的不亮与亮。
路面循迹模块电路如下图所示:D1路面循迹模块电路三、单片机最小系统单片机最小系统包括了时钟电路和复位电路。
时钟电路为单片机工作提供基本时钟,复位电路用于将单片机内部各电路的状态恢复到初始值。
单片机是一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号下严格地按时序进行工作。
时钟电路用于产生单片机工作所需要的时钟信号。
时钟信号的产生是在MCS-51系列单片机内部有一个高增益反相放大器,其输入端引脚为XTAL1,其输出端引脚为XTAL2。
只要在XTAL1和XTAL2之间跨接晶体振荡器和微调电容,就可以构成一个稳定的自己振荡器。
复位电路由一个按键、电解电容和电阻组成,它是使CPU 和系统中的其他功能部件都恢复到一个确定的初始状态,并从这个状态开始工作。
循迹小车课程设计报告

循迹小车课程设计报告一、课程背景随着科技的不断发展,机器人技术已经成为现代教育中的重要组成部分。
循迹小车作为机器人教育的一种形式,不仅可以帮助学生学习编程和机械原理,还可以培养学生的动手能力和创造力。
因此,设计一门循迹小车课程,对学生的综合素质培养具有重要意义。
二、课程目标1. 帮助学生了解循迹小车的基本原理和结构,掌握循迹小车的工作原理;2. 培养学生的动手能力和团队合作精神;3. 培养学生的创新意识和解决问题的能力;4. 培养学生的编程能力和逻辑思维能力。
三、课程内容1. 循迹小车的基本原理和结构通过讲解循迹小车的基本原理和结构,帮助学生了解循迹小车是如何工作的,包括传感器、电机、控制器等组成部分。
2. 循迹小车的制作与调试学生将分成小组,每个小组制作一辆循迹小车,并进行调试。
通过实际操作,学生将掌握循迹小车的制作过程和调试方法。
3. 循迹小车的编程学生将学习如何为循迹小车编写程序,包括控制小车的前进、后退、转向等动作。
通过编程,学生将提高他们的逻辑思维能力和解决问题的能力。
4. 循迹小车的比赛与应用在课程结束时,学生将参加循迹小车比赛,通过比赛,学生将展示他们的成果,并学会如何改进循迹小车的性能。
同时,学生还将学习循迹小车在实际生活中的应用。
四、课程教学方法1. 理论讲解通过课堂讲解,帮助学生了解循迹小车的基本原理和结构。
2. 实践操作学生将分成小组,进行循迹小车的制作、调试和编程。
通过实践操作,学生将更好地掌握课程内容。
3. 案例分析通过案例分析,引导学生思考循迹小车在实际生活中的应用,并激发学生的创新意识。
4. 比赛演示在课程结束时,学生将参加循迹小车比赛,通过比赛,学生将展示他们的成果,并学会如何改进循迹小车的性能。
五、课程评估1. 学生考核通过学生的课堂表现、课后作业和循迹小车比赛成绩等方面进行评定。
2. 教师评价教师将对学生的课堂表现、实践操作和项目成果进行评价,及时发现问题并给予指导。
智能循迹小车___设计报告

本技术报告主要分为三个部分。第一部分是对整个系统实现方 法的一个概要说明,主要内容是对整个技术原理的概述;第二部分 是对硬件电路设计的说明,主要介绍系统传感器的设计及其他硬件 电路的设计原理等;第三部分是对系统软件设计部分的说明,主要 内容是智能模型车设计中主要用到的控制理论、算法说明及代码设 计介绍等。
本课题是基于 STC89C52 单片机的智能小车的设计与实现,小车 完成的主要功能是能够自主识别黑色引导线并根据黑线走向实现快 速稳定的寻线行驶。小车系统以 STC89C52 单片机为系统控制处理
器; 采用红外传感获取赛道的信息,来对小车的方向和速度进行控制。 此外,对整个控制软件进行设计和程序的编制以及程序的调试,并 最终完成软件和硬件的融合,实现小车的预期功能。
摘要:
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电,力根通保据过护生管高产线中工敷资艺设料高技试中术卷资,配料不置试仅技卷可术要以是求解指,决机对吊组电顶在气层进设配行备置继进不电行规保空范护载高与中带资负料荷试下卷高问总中题体资,配料而置试且时卷可,调保需控障要试各在验类最;管大对路限设习度备题内进到来行位确调。保整在机使管组其路高在敷中正设资常过料工程试况中卷下,安与要全过加,度强并工看且作护尽下关可都于能可管地以路缩正高小常中故工资障作料高;试中对卷资于连料继接试电管卷保口破护处坏进理范行高围整中,核资或对料者定试对值卷某,弯些审扁异核度常与固高校定中对盒资图位料纸置试,.卷保编工护写况层复进防杂行腐设自跨备动接与处地装理线置,弯高尤曲中其半资要径料避标试免高卷错等调误,试高要方中求案资技,料术编试交写5、卷底重电保。要气护管设设装线备备置敷4高、调动设中电试作技资气高,术料课中并3中试、件资且包卷管中料拒含试路调试绝线验敷试卷动槽方设技作、案技术,管以术来架及避等系免多统不项启必方动要式方高,案中为;资解对料决整试高套卷中启突语动然文过停电程机气中。课高因件中此中资,管料电壁试力薄卷高、电中接气资口设料不备试严进卷等行保问调护题试装,工置合作调理并试利且技用进术管行,线过要敷关求设运电技行力术高保。中护线资装缆料置敷试做设卷到原技准则术确:指灵在导活分。。线对对盒于于处调差,试动当过保不程护同中装电高置压中高回资中路料资交试料叉卷试时技卷,术调应问试采题技用,术金作是属为指隔调发板试电进人机行员一隔,变开需压处要器理在组;事在同前发一掌生线握内槽图部内 纸故,资障强料时电、,回设需路备要须制进同造行时厂外切家部断出电习具源题高高电中中源资资,料料线试试缆卷卷敷试切设验除完报从毕告而,与采要相用进关高行技中检术资查资料和料试检,卷测并主处且要理了保。解护现装场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。
智能循迹小车报告.doc

智能循迹小车报告.doc一、前言智能循迹小车是一款基于机器人技术的智能装备,主要实现对机器人的智能控制和追踪操作,适用于各种场景中的巡航及运输。
智能循迹小车在各类工业现场、家庭生活中得到广泛应用。
本报告将对智能循迹小车的相关技术、应用及未来发展进行分析与总结。
二、技术原理智能循迹小车的核心技术是基于计算机视觉和机器人导航领域中的视觉跟踪技术,实现对目标的追踪和路径规划。
该技术主要包括如下步骤:1. 传感器采集数据:智能循迹小车配备了多种传感器,如激光雷达、摄像头、红外线传感器等,用于采集目标物体的信息;2. 数据处理:接收传感器采集的数据后,智能循迹小车通过算法处理,将数据转化成可供计算机识别的数字信号;3. 目标检测:将数字信号传入计算机,通过人工智能、机器学习等技术实现对目标的识别、分类和跟踪;4. 路径规划:根据目标的位置和运动轨迹,智能循迹小车通过算法实现路径规划和自主导航,避开障碍物,寻找最短路径;5. 控制执行:根据路径规划生成的控制信号,智能循迹小车对轮子和电机执行精确的控制,实现移动和自动导航。
三、应用现状智能循迹小车在生产、物流、安防、家庭生活等众多领域得到广泛应用,以下列举几种应用场景。
1. 工业自动化:在工业生产自动化方面,智能循迹小车可以用于运输原材料和成品、仓库货物的自动化管理、装配线物料转移等。
机器人可以根据目标位置和运动方向,自动运行到指定位置,精准地完成操作任务。
2. 物流配送:智能循迹小车可以用于大型物流中心的快递配送、医院内的物资搬运等场景。
机器人通过自主路径规划和导航,可以自动避开障碍物,并将货物准确地送到目的地,提高了生产效率和准确性。
3. 家庭服务:智能循迹小车还可应用于家庭服务领域,如智能扫地机器人、智能花盆机器人等。
机器人自动巡航,清洁地面,喷水浇花,实现人机交互。
4. 安防监控:在安防监控领域,智能循迹小车可以应用于产品物流追踪、边境巡逻等领域。
机器人对区域进行自动巡航,通过多种传感器检测目标,将异常情况反馈给监控中心,实现精确的实时监控。
(完整word版)智能循迹避障小车报告(word文档良心出品)

摘要:本智能识别小车以STC89C52单片机为控制芯片,以直流电机,光电传感器,超声波传感器,电源电路以及其他电路构成。
系统由STC89C52通过IO口,通过红外传感器检测黑线,利用单片机输出PWM脉冲控制直流电机的转速和转向,循迹由TCRT5000型光电对管完成。
一、系统设计1、小车循迹,避障原理这里的循进是指小车在白色地板上寻黑线行走,通常采取的方法是红外探测法。
红外探测法,即利用红外a在不同颜色的物体表面具有不同的反射性质的特点,在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色地板时,发生漫反射反射光被装在小车上的按收管按收;如果遇到黑线则红外光被吸收,小车上的接收管接收不到红外光,单片机就是否收到反射回来的红外光为依据来确定黑线的位置和小车的行走路线。
红外探测器探测距离有限一殷最大不应超过3cm。
而避障则是通过超声波模块不断向前方发射超声波信号,通过接收反射回来的超声波信号,从而实现的避障。
当前方有障碍物时,超声波会向单片机串口发送一串数字,这些数字就是当前小车距离障碍物得距离。
当串口接收到信号时,会引发串口中断,单片机通过读取距离值,并且对此数值进行分析是不是距离小车很近,是的话就进行转向;否则继续循迹。
当小车遇到第一个障碍后,就计数一次,这样当遇到第二个障碍物时,小车就可以以不同的形式躲避障碍物了。
2、选用方案(1):采用成品的小车地盘,通过改装来完成任务;(2):采用STC89C52单片机作为主控制器;(3):采用7V电源经7805稳压芯片降压后为其他芯片及器件供电。
(4):采用TCRT5000型红外传感器进行循迹;(5):L298N作为直流电机的驱动芯片;(6):通过对L298N使能端输入PWM来控制电机转速和转向;3、系统机构框图如下所示:超声波模块主控制芯片STC89C52红外传感器直流电机L298N稳压电源模块电压比较器二、硬件实现及单元电路设计与分析1、微控制模块设计与分析微控制器模块我们采用STC89C52。
循迹小车课程设计报告

循迹小车课程设计报告一、课程设计目的。
循迹小车是一种基于单片机或者其他控制系统的智能车辆,它能够根据预设的轨迹自主行驶。
循迹小车课程设计旨在通过实践操作,让学生深入了解嵌入式系统、传感器、控制算法等相关知识,培养学生的动手能力和创新精神,提高学生的实际应用能力和解决问题的能力。
二、课程设计内容。
1. 理论学习,学生首先需要学习循迹小车的原理和相关知识,包括单片机控制、传感器原理、电路设计等内容。
2. 硬件搭建,学生需要动手搭建循迹小车的硬件系统,包括安装电机、传感器、控制模块等。
3. 程序设计,学生需要学习编程语言,编写循迹小车的控制程序,实现小车的自主行驶和避障功能。
4. 实际操作,学生需要进行实际操作,调试循迹小车,测试程序的稳定性和准确性,发现问题并解决问题。
5. 创新设计,学生可以在课程设计的基础上进行创新,如增加避障传感器、优化控制算法等,提高循迹小车的性能。
三、课程设计方法。
1. 理论与实践相结合,课程设计注重理论知识的学习,同时也注重实际操作,让学生通过动手实践加深对知识的理解。
2. 个性化指导,针对不同学生的学习能力和兴趣爱好,采取个性化指导,引导学生在课程设计中发挥自己的特长和创造力。
3. 团队合作,课程设计可以以小组形式进行,让学生在团队中相互合作,共同完成循迹小车的设计与调试。
4. 开放性实验,课程设计可以设置一定的开放性,鼓励学生进行自主设计与改进,提高学生的创新意识和实践能力。
四、课程设计效果。
通过循迹小车课程设计,学生可以全面掌握嵌入式系统、传感器、控制算法等知识,提高动手能力和创新精神。
学生可以在实践操作中培养解决问题的能力,提高实际应用能力。
同时,课程设计也可以激发学生的学习兴趣,激发学生对技术创新的热情,为学生未来的发展奠定良好的基础。
五、课程设计展望。
循迹小车课程设计是一门具有挑战性和创新性的课程,未来可以进一步拓展课程内容,引入更多新颖的技术和理念,如人工智能、自动驾驶等,让学生在课程设计中接触到更多前沿的科技知识,激发学生的创新潜能,培养更多高素质的人才。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
智能循迹小车设计专业:自动化班级: 0804班姓名:指导老师:2010年8月——2010年10月摘要:本课题是基于AT89C52单片机的智能小车的设计与实现,小车完成的主要功能是能够自主识别黑色引导线并根据黑线走向实现快速稳定的寻线行驶。
小车系统以 AT89S52 单片机为系统控制处理器;采用红外传感获取赛道的信息,来对小车的方向和速度进行控制。
此外,对整个控制软件进行设计和程序的编制以及程序的调试,并最终完成软件和硬件的融合,实现小车的预期功能。
引言当今世界,传感器技术和自动控制技术正在飞速发展,机械、电气和电子信息已经不再明显分家,自动控制在工业领域中的地位已经越来越重要,“智能”这个词也已经成为了热门词汇。
现在国外的自动控制和传感器技术已经达到了很高的水平,特别是日本,比如日本本田制作的机器人,其仿人双足行走已经做得十分逼真,而且具有一定的学习能力,还据说其智商已达到6岁儿童的水平。
作为机械行业的代表产品—汽车,其与电子信息产业的融合速度也显著提高,呈现出两个明显的特点:一是电子装置占汽车整车(特别是轿车)的价值量比例逐步提高,汽车将由以机械产品为主向高级的机电一体化方向发展,汽车电子产业也很有可能成为依托整车制造业和用车提升配置而快速成为新的增长点;二是汽车开始向电子化、多媒体化和智能化方向发展,使其不仅作为一种代步工具、同时能具有交通、娱乐、办公和通讯等多种功能。
无容置疑,机电一体化人才的培养不论是在国外还是国内,都开始重视起来,主要表现在大学生的各种大型的创新比赛,比如:亚洲广播电视联盟亚太地区机器人大赛(ABU ROBCON)、全国大学生“飞思卡尔”杯智能汽车竞赛等众多重要竞赛都能很好的培养大学生对于机电一体化的兴趣与强化机电一体化的相关知识。
但很现实的状况是,国内不论是在机械还是电气领域,与国外的差距还是很明显的,所以作为机电一体化学生,必须加倍努力,为逐步赶上国外先进水平并超过之而努力。
为了适应机电一体化的发展在汽车智能化方向的发展要求,提出简易智能小车的构想,目的在于:通过独立设计并制作一辆具有简单智能化的简易小车,获得项目整体设计的能力,并掌握多通道多样化传感器综合控制的方法。
所以立“智能循迹小车”一题作为尝试。
此项设计是在以杨老师提供的小车为基础上,采用AT89C52单片机作为控制核心,实现能够自主识别黑色引导线并根据黑线走向实现快速稳定的寻线行驶。
一、实验目的:通过设计进一步掌握51单片机的应用,特别是在嵌入式系统中的应用。
进一步学习51单片机在系统中的控制功能,能够合理设计单片机的外围电路,并使之与单片机构成整个系统。
二、设计方案:该智能车采用红外传感器对赛道进行道路检测,单片机根据采集到的信号的不同状态判断小车当前状态,通过电机驱动芯片L298N 发出控制命令,控制电机的工作状态以实现对小车姿态的控制。
三、报告内容安排:本技术报告主要分为三个部分。
第一部分是对整个系统实现方法的一个概要说明,主要内容是对整个技术原理的概述;第二部分是对硬件电路设计的说明,主要介绍系统传感器的设计及其他硬件电路的设计原理等;第三部分是对系统软件设计部分的说明,主要内容是智能模型车设计中主要用到的控制理论、算法说明及代码设计介绍等。
技术方案概要说明本模型车的电路系统包括电源管理模块、单片机模块、传感器模块、电机驱动模块。
工作原理:➢利用红外采集模块中的红外发射接收对管检测路面上的轨迹➢将轨迹信息送到单片机➢单片机采用模糊推理求出转向的角度和行走速度,然后去控制行走部分➢最终完成智能小车可以按照路面上的轨迹运行。
硬件电路的设计1、最小系统:小车采用atmel公司的AT89C52单片机作为控制芯片,图1是其最小系统电路。
主要包括:时钟电路、电源电路、复位电路。
其中各个部分的功能如下:1、时钟电路:给单片机提供一个外接的16MHz的石英晶振。
2、电源电路:给单片机提供5V电源。
3、复位电路:在电压达到正常值时给单片机一个复位信号。
图1 单片机最小系统原理图2、电源电路设计:模型车通过自身系统,采集赛道信息,获取自身速度信息,加以处理,由芯片给出指令控制其前进转向等动作,各部分都需要由电路支持,电源管理尤为重要。
在本设计中,51单片机使用5V电源,电机及舵机使用6V电源。
考虑到电源为充电电池组,额定电压为7.2V,实际充满电后电压则为 6.5-6.8V,所以单片机及传感器模块采用7805稳压后的5V电源供电,舵机及电机直接由电池供电。
3、传感器电路:光电寻线方案一般由多对红外收发管组成,通过检测接收到的反射光强,判断黑白线。
原理图由红外对管和电压比较器两部分组成,红外对管输出的模拟电压通过电压比较器转换成数字电平输出到单片机。
图2 赛道检测原理图:4、电机驱动电路:电机驱动芯片L298N是SGS公司的产品,内部包含4通道逻辑驱动电路。
是一种二相和四相电机的专用驱动器,即内含二个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,可驱动46V、2A以下的电机。
其引脚排列如图1中U4所示,1脚和15脚可单独引出连接电流采样电阻器,形成电流传感信号。
L298可驱动2个电机,OUT1、OUT2和OUT3、OUT4之间分别接2个电动机。
5、7、10、12脚接输入控制电平,控制电机的正反转,ENA,ENB接控制使能端,控制电机的停转。
也利用单片机产生PWM信号接到ENA,ENB端子,对电机的转速进行调节。
L298N的逻辑功能:表1 SHARP GP2D12实物图外形及封装:软件系统的实现小车循迹规则:若小车偏左的时候,车轮将向右偏转;若小车偏右,车轮将向左偏转;若没有偏移,小车将继续向前;若小车完全偏离黑色轨迹,小车后退以寻找黑色轨迹。
小车程序:#include "reg52.h"#define det_Dist 2.55 //单个脉冲对应的小车行走距离,其值为车轮周长/4#define RD 9 //小车对角轴长度#define PI 3.1415926#define ANG_90 90#define ANG_90_T 102#define ANG_180 189/*============================全局变量定义区============================*/sbit P10=P1^0; //控制继电器的开闭sbit P11=P1^1; //控制金属接近开关sbit P12=P1^2; //控制颜色传感器的开闭sbit P07=P0^7; //控制声光信号的开启sbit P26=P2^6; //接收颜色传感器的信号,白为0,黑为1sbit P24=P2^4; //左sbit P25=P2^5; //右接收左右光传感器的信号,有光为0unsigned char mType=0; //设置运动的方式,0 向前1 向左2 向后3 向右unsigned char Direction=0; //小车的即时朝向0 朝上1 朝左2 朝下3 朝右unsigned sX=50; unsigned char sY=0; //小车的相对右下角的坐标CM(sX,sY)unsigned char StartTask=0; //获得铁片后开始执行返回卸货任务,StartTask置一unsigned char Inter_EX0=0; // 完成一个完整的任务期间只能有一次外部中断// Inter_EX0记录外部中断0的中断状态// 0 动作最近的前一次未中断过,// 1 动作最近的前一次中断过unsigned char cntIorn=0; //铁片数unsigned char bkAim=2; //回程目的地,0为A仓库,1为B仓库,2为停车场,//(在MAIN中接受铁片颜色判断传感器的信号来赋值)unsigned char Light_Flag=0;//进入光引导区的标志(1)unsigned int cntTime_5Min=0;//时间周期数,用于T0 精确定时unsigned int cntTime_Plues=0; //霍尔开关产生的脉冲数/*============================全局变量定义区============================*//*------------------------------------------------*//*-----------------通用延迟程序-------------------*//*------------------------------------------------*/void delay(unsigned int time) // time*0.5ms延时{unsigned int i,j;for(j=0;j<time;j++){for(i=0;i<60;i++){;}}}/*-----------------------------------------------*//*-------------------显示控制模块----------------*//*-----------------------------------------------*//*数码管显示,显示铁片的数目(设接在P0,共阴)*/void Display(unsigned char n){char Numb[12]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x37,0x77}; P0=Numb[n];}/*-----------------------------------------------*//*-------------------传感器模块------------------*//*-----------------------------------------------*//*光源检测程序: *//*用于纠正小车运行路线的正确性*/unsigned char LightSeek(){ void Display(unsigned char);bit l,r;l=P24;r=P25;if(l==0&&r==1){//Display(1);return (3); //偏左,向右开}if(r==0&&l==1){//Display(3);return(1); //偏右,向左开}if((l==1&&r==1)||(l==0&&r==0)){//Display(9);return(0); //没有偏离,前进}}/*铁片检测程序: *//*判断铁片的颜色,设定bkAim,0为A仓库,1为B仓库,2为停车场*/ void IornColor(){delay(4000);bkAim=(int)(P26);Display((int)(P26)+2);}/*-----------------------------------------------*//*------------------运动控制模块-----------------*//*-----------------------------------------------*//*====基本动作层:完成基本运动动作的程序集====*//*运动调整程序: *//*对小车的运动进行微调*/void ctrMotor_Adjust(unsigned char t){if(t==0){P2=P2&240|11; //用来解决两电机不对称的问题delay(6);}if(t==3){P2=P2&250; //向左走delay(1);}if(t==1){P2=(P2&245);delay(1); //向右走}P2=((P2&240)|15);delay(10);}/*直走程序: *//*控制小车运动距离,dist为运动距离(cm),type为运动方式(0 2)*/ /*只改变小车sX 和sY的值而不改变Direction的值. */ void ctrMotor_Dist(float dist,unsigned char type){unsigned char t=0;mType=type;P2=((P2&240)|15);cntTime_Plues=(int)(dist/det_Dist);while(cntTime_Plues){if(Inter_EX0==1&&StartTask==0){cntTime_Plues=0;break;}if(Light_Flag==1) t=LightSeek();if(type==0) //向前走{P2=P2&249;delay(40);ctrMotor_Adjust(t);}if(type==2) //向后退{P2=P2&246;delay(50);ctrMotor_Adjust(t);}P2=((P2&240)|15);if(mType==2) delay(60);//刹车制动0.5mselse delay(75);}}/*拐弯程序: *//*控制小车运动角度,type为运动方式(1 3)*//*只改变小车Direction的值而不改变sX 和sY的值*/void ctrMotor_Ang(unsigned char ang,unsigned char type,unsigned char dir) {unsigned char i=0;mType=type;P2=((P2&240)|15);cntTime_Plues=(int)((PI*RD*90/(180*det_Dist)*1.2)*ang/90);while(cntTime_Plues){if(Inter_EX0==1&&StartTask==0){cntTime_Plues=0;break;}if(type==1) //向左走{P2=P2&250;delay(100);ctrMotor_Adjust(0);}if(type==3) //向右走{P2=P2&245;delay(100);ctrMotor_Adjust(0);}P2=((P2&240)|15);delay(50);//刹车制动0.5ms}if(!(Inter_EX0==1&&StartTask==0)){Direction=dir;}}/*====基本路线层:描述小车基本运动路线的程序集====*//*当小车到达仓库或停车场时,放下铁片或停车(0,1为仓库,2为停车场)*/void rchPlace(){unsigned int time,b,s,g;time=(int)(cntTime_5Min*0.065535);//只有一个数码管时,轮流显示全过程秒数个十百b=time%100;s=(time-b*100)%100;g=(time-b*100-s*10)%10;if(bkAim==2){//到达停车场了,停车EA=0;P2=((P2&240)|15);while(1){Display(10); //Ndelay(2000);Display(cntIorn);delay(2000);Display(11);//Adelay(2000);Display(b);delay(2000);Display(s);delay(2000);Display(g);delay(2000);}}else{if(Inter_EX0==1&&StartTask==1)P10=0; //到达仓库,卸下铁片}}/*无任务模式: *//*设置小车的固定运动路线,未发现铁片时的运动路线*/void BasicRoute(){ //Light_Flag=1;ctrMotor_Dist(153,0);//Light_Flag=0;ctrMotor_Ang(ANG_90,1,1);ctrMotor_Dist(100-sX,0);ctrMotor_Dist(125,2);ctrMotor_Dist(73,0);ctrMotor_Ang(ANG_90,1,2);//Light_Flag=1;ctrMotor_Dist(153,0);//Light_Flag=0;ctrMotor_Ang(ANG_180,1,0);}/*任务模式: *//*设置小车的发现铁片后的运动路线*/void TaskRoute(){//基本运行路线表,记载拐弯0 向前1 左拐2 向后3 右拐,正读去A区;反读去B区StartTask=1;ctrMotor_Ang(ANG_90_T,1,2);if(bkAim==1) //仓库A{ctrMotor_Dist(10,0);P2=((P2&240)|15);delay(60);ctrMotor_Ang(ANG_90_T,1,3);ctrMotor_Dist(100-sX,2);ctrMotor_Ang(ANG_90_T,1,2);Light_Flag=1;ctrMotor_Dist(153,2);Light_Flag=0;// ctrMotor_Ang(208,1,0);}else if(bkAim==0) //仓库B{ctrMotor_Dist(10,0);P2=((P2&240)|15);delay(60);ctrMotor_Ang(ANG_90_T,1,3);ctrMotor_Dist(100-sX,0);ctrMotor_Ang(ANG_90_T,1,0);Light_Flag=1;ctrMotor_Dist(153,2);Light_Flag=0;//ctrMotor_Ang(208,1,0);}rchPlace();}/*---------------------------------------------*//*-------------------主程序段------------------*/ /*---------------------------------------------*/void main(){delay(4000);P2=0xff; //初始化端口P07=0;P1=0;TMOD=0x01; //初始化定时器0/1 及其中断TL0=0;TH0=0;TR0=1;ET0=1;ET1=1;IT0=1; //初始化外部中断EX0=1;IT1=1;EX1=1;EA=1;P11=1;while(1){Display(cntIorn);bkAim=2;BasicRoute();if(Inter_EX0==1){TaskRoute();//按获得铁片后的路线运动IE0=0;EX0=1;}Inter_EX0=0;}}/*----------------------------------------------------*//*----------------------中断程序段--------------------*//*----------------------------------------------------*//*定时器0中断程序: *//*当时间过了5分钟,则就地停车并进入休眠状态*/void tmOver(void) interrupt 1{cntTime_5Min++;TL0=0;TH0=0;if(cntTime_5Min>=4520){Display(5);P2=((P2&240)|15);EA=0; //停车程序P07=1;delay(4000);PCON=0X00;while(1);}}/*外部中断0中断程序: *//*发现铁片,发出声光信号并将铁片吸起,发光二极管和蜂鸣器*//*并联在一起(设接在P07). 0为A仓库,1为B仓库,2为停车场*/ void fndIorn(void) interrupt 0{unsigned char i;P10=1;P2=((P2&240)|15); //停车P07=1;delay(1000);//刹车制动0.5msP07=0;Inter_EX0=1;cntIorn++;Display(cntIorn);for(i=0;i<40;i++){P2=P2&249;delay(2);P2=((P2&240)|15);delay(2);}P2=P2&249;delay(100);P2=((P2&240)|15); //停车IornColor(); //判断铁片黑白,设置bkAimfor(i=0;i<95;i++){P2=P2&249;delay(3);P2=((P2&240)|15);delay(2);}P2=((P2&240)|15); //停车delay(4000); //把铁片吸起来EX0=0;}/*外部中断1中断程序: *//*对霍尔开关的脉冲记数,对小车的位置进行记录,以便对小车进行定位*/ void stpMove(void) interrupt 2{cntTime_Plues--;if(Direction==0) //向上{if(mType==0) sY+=det_Dist;else if(mType==2)sY-=det_Dist;}else if(Direction==1) //向左{if(mType==0) sX+=det_Dist;else if(mType==2)sX-=det_Dist;}else if(Direction==2) //向下{if(mType==0) sY-=det_Dist;else if(mType==2)sY+=det_Dist;}else if(Direction==3) //向右{if(mType==0) sX-=det_Dist;else if(mType==2)sX+=det_Dist;}结论根据本次设计要求,我们小组系统地阅读了大量的资料,并认真分析了设计课题的需求,还系统学习了51系列单片机的工作原理及其使用方法,并独自设计智能小车的整个项目。