循迹小车电赛论文(1)
arduino循迹小车毕业论文

福建船政交通学院目录摘要 (2)引言 (2)1Arduino智能小车设计方案与参数 (3)1.1Arduino智能小车设计方案简介 (3)1.1.1功能要求 (3)1.1.2基本原理 (3)1.2循迹小车参数 (4)2Arduino与51单片机的区别 (5)2.1Arduino单片机 (5)2.1.1Arduino单片机的介绍 (5)2.1.2Arduino单片机的特色 (5)2.1.3Arduino单片机的功能 (5)2.251单片机 (6)2.2.151单片机的介绍 (6)2.2.251单片机的功能 (6)2.3Arduino比51更好的地方 (7)3循迹小车设计 (8)3.1硬件设计 (8)3.1.1单片机最小系统 (8)3.1.2灰度传感器模块 (9)3.1.3电机驱动电路 (10)1Arduino循迹小车3.2软件设计 (12)3.2.1系统主程序 (13)3.2.2本系统编译器 (13)3.3实物展示 (144)3.4部分程序展示 (145)结论 (20)致谢 (21)参考文献 (22)Arduino循迹小车设计与实现摘要:循迹小车是Arduino单片机的一种典型应用。
本智能小车是由ardiuno单片机和外部电路组成,包括检测模块,控制模块,电源模块。
循迹车设计采用Arduino单片机作为小车的控制核心,采用灰度传感器作为小车的检测模块来识别绿色路面中央的黑色引导线,采集信号并将信号转换为能被ardiuno单片机识别的数字信号;采用驱动芯片L298N构成双H桥控制直流电机。
其中软件系统采用C程序。
关键词:A rduino单片机,自动循迹,驱动电路。
引言自第一台工业机器人诞生以来,机器人的民展已经遍及机械、电子、冶金、交通、宇航、国防等领域。
近年来机器人的智能水平不断提高,并且迅速地改变着人们的生活方式。
人们在不断探讨、改造、认识自然的过程中,制造能替代人工作的机器一直是人类的目标。
单片机是一种可通过编程控制的微处理器,虽其自身不能单独用在某项工程或产品上,但当其与外围数字器件和模拟器件结合时便可发挥强大的功能,现在单片机已广泛应用于众多领域。
长通杯论文-自动循迹小车

第八届“长通杯”电子设计大赛基于自动寻迹的智能公交车系统设计与总结报告学院:电气工程学院队长:岳丽娇电技091班队员:甄扣扣电技091班张欢电技091班马得成建环091班摘要:公交车以单片机最小系统为核心,用SST89E52RD单片机控制公交车的黑带识别、行驶驱动和方向控制,以SST89E52RD高速单片机处理公交车的速度、里程检测,站点到站停靠,语音报站;公路黑条及站台标志检测采用光电传感器,电机速度用PWM控制;里程及车速测量采用光电码盘,站点播报处理使用ISD4004语音集成电路。
经调试及多次测试,智能公交车系统运行可靠,实现了公交小车按任意黑线行驶、到站前语音提示、自动停靠、在规定时间内驶完全程以及站台显示器实时显示小车距离、车速、到站大致时间信息等设计要求。
设计共分为7个模块:控制模块、电源模块、电机驱动模块、轨迹探测模块、自动停靠站模块、里程与速度测量模块、语音(报站)模块、显示模块。
关键字:自动寻迹智能公交车一、方案设计与论证1、控制模块方案方案一:采用可编程逻辑器件CPLDCPLD可以实现各种复杂的逻辑功能,规模大、密度高、体积小、稳定性高、处理速度快,适用于大规模的控制系统,但成本较高。
方案二:采用51单片机51单片机的使用简单,对于小型系统的控制灵活,而SST51系列单片机相对来说功能强大、集成度高,烧写程序方便,经济实用。
结论:本设计采用方案二。
2、电源模块方案提供电源,由于小车及电路工作分别都要电源提供,需要调整电压。
且各部分需要电压稳定,所以需要采用稳压系统,用L7805实现稳压功能,3、驱动模块方案方案一:采用继电器驱动采用继电器对电动机的开关控制,通过控制开关的切换速度实现对小车速度进行调整。
本方案电路较为简单,但是继电器的响应时间长,易于损坏,寿命较短,因此可靠性小。
方案二:采用专业电机驱动模块(L293B)驱动采用双电源驱动L293B集成芯片控制输出,采用单片机输出PWM波到L293B 集成芯片来控制直流减速电机的速度,通过控制双侧输出PWM波的占空比,从而控制双侧电机的转速,来实现直线行进,转弯,停靠等操作。
寻迹小车毕设论文

毕业设计(论文)单片机寻迹小车设计与制作摘要STC89C51RC单片机是一款八位单片机,他的易用性和多功能性受到了广大使用者的好评。
本文介绍的是基于STC89C51RC单片机循迹电动小车的设计与制作。
以STC89C51RC单片机为控制核心,采用两个红外反射式光电传感器ST188检测黑色轨迹线,能较有效的控制其在特定位置转弯及行驶出错处理,控制电动小车的自动寻迹。
L298N芯片驱动小车的电机,两个130r/min 的5V直流电机为小车提供驱动力,保证了小车平稳匀速的向前行驶。
整个系统的电路结构简单,可靠性能高。
关键词STC89C51RC单片机;反射式光电传感器;PWM调速;电动小车AbstractSTC89C51RC microcontroller is a single chip eight, his ease of use and versatility by the majority of users praise. This article describes a microcontroller based tracking STC89C51RC electric car design and production. STC89C51RC microcontroller for the control of the core, using two infrared reflective photoelectric sensors detect the black trajectory ST188, can more effectively control its turning and running in a specific location error handling, control, automatic electric car tracing. L298N chip-driven motor car, two 130r/min the 5V DC motor to provide driving force for the car to ensure that the car moving forward smoothly uniform. Simple circuit structure of the system reliability can be high.Keywords STC89C51RC SCM; reflective photoelectric sensor; PWM speed control; electric car目录第1章绪论61.1引言61.2国内外现状7第2章概述82.1什么是单片机82.2单片机介绍92.2.1 单片机历史102.3STC89C51RC芯片简介112.3.1 STC89C51RC结构图132.3.2 STC89C51RC系列单片机管脚的定义132.4L298N电机驱动简介152.4.1 L298N内部结构图152.4.2 L298N引脚排列162.5红外反射传感器简介182.6LM358比较器简介18第3章循迹小车的车体203.1小车零件20第4章循迹小车的硬件设计214.1循迹小车的控制器模块224.2循迹小车的传感器模块234.3循迹小车的电压比较器模块234.4循迹小车的驱动模块264.5寻迹小车的电源模块27第5章循迹小车的软件设计285.1循迹小车软件中的行驶以及转弯程序29第6章循迹小车程序的编译与烧录306.1K EIL U V ISION2环境306.2循迹小车程序的烧录31结束语32附录1循环迹小车原理图34附录2循迹小车源程序35附录3小车靓照36附录4元器件清单37参考文献38致谢39第1章绪论1.1引言随着科学技术的快速发展,智能机器人在工业的应用越来越广。
智能循迹小车论文

智能循迹小车玉林师范学院电子与通信工程学院队员:满建良方凯平陈文秋第一页前言摘要随着现代化的不断发展,自动化越来越普及,对传感器的应用越来越多,要求精度越来越搞高,本设计面向机械自动化发展,采用了A T89S52单片机作为控制核心,利用红外对管传感器检测黑线达到循迹目的,以及自动停车,自动寻迹,整体系统的电路结构简单,可靠性能高。
采用技术主要有:(1)A T89S52单片机应用;(2)L298电机驱动及PWN电机调速;(3)传感器的有效应用;(4)程序算法的应用。
关键字A T89S52 红外对管循迹 L298N PWM调速 18B20 霍尔传感元件Intelligent follow obstacle-avoidance carAbstractWith the continuous development of modernization and automation increasingly popular, the application of sensor, demanding more and more get high, the precision mechanical automation development, design oriented adopted as control core and AT89S52 SCM by infrared sensor detects the pipe to follow black with ultrasonic ranging tracing purpo se, the principle of automatic control electric cars and to detect obstacles obstacle avoidance, the color of speed, speed, and automatic parking, automatic tracing, overall system circuit structure is simple, reliable performance is high. This design is according to guangxi university students electronic design competition first stage three senior undergraduate group of topic, the topic request as table 1.Using technology mainly include:(1)AT89S52 Microcomputer application;(2)L298 motor drive and PWN; motor speed(3)Sensor effective application;(4)Program use of the algorithm.Keyword A T89S52 Infrared to tube follow mark PWM Ultrasonic obstacle avoidanc TCS230 Color sensors1、系统方案的选择1.1 智能循迹小车的主控芯片的选择方案一:采用Atmel公司的AT89S52单片机作为智能小车的主控芯片,AT89S52 是一种低功耗、高性能CMOS8位微控制器,工作电压为5V,32个I/O 口,具有 8K 在系统可编程Flash 存储器。
循迹小车毕业论文

循迹小车毕业论文循迹小车毕业论文引言:在如今科技高速发展的时代,机器人技术逐渐走入人们的生活,成为了一种热门的研究领域。
其中,循迹小车作为机器人的一种,具有广泛的应用前景。
本文将围绕循迹小车展开讨论,探索其原理、设计以及未来发展。
一、循迹小车的原理循迹小车是一种能够根据特定轨迹行驶的机器人。
它通过搭载的传感器,如红外线传感器或摄像头,实时感知周围环境,并根据预设的循迹算法进行行驶。
该算法能够分析传感器所接收到的信号,并判断车辆应该如何转向,从而保持在特定轨迹上行驶。
二、循迹小车的设计1. 传感器设计循迹小车的传感器设计是关键之一。
红外线传感器是常用的传感器之一,它能够通过接收反射的红外线信号,判断车辆是否偏离轨迹。
除此之外,摄像头也是一种常见的传感器选择,它能够实时捕捉车辆周围的图像,并通过图像处理算法判断车辆的位置和方向。
2. 控制系统设计循迹小车的控制系统设计是确保车辆按照预设轨迹行驶的核心。
控制系统通常由微控制器、电机驱动器和电源组成。
微控制器负责接收传感器的信号,并根据循迹算法控制电机驱动器实现车辆的转向和速度调整。
电源则提供所需的电能。
3. 车体结构设计循迹小车的车体结构设计需要考虑到载重能力、稳定性和机动性。
车体通常由轮子、底盘和支撑结构组成。
轮子的选择要考虑到摩擦力和抓地力,底盘的设计要考虑到重心的稳定性,支撑结构的设计则要保证车体的整体稳定性。
三、循迹小车的应用循迹小车作为一种机器人技术,有着广泛的应用前景。
1. 工业领域循迹小车在工业领域可以应用于自动化生产线上,实现物料的自动搬运和分拣。
它能够减轻人力负担,提高生产效率。
2. 物流领域循迹小车在物流领域可以应用于仓储管理,实现货物的自动存储和取出。
它能够提高物流效率,减少人为错误。
3. 教育领域循迹小车在教育领域可以应用于机器人教育和编程教育。
学生可以通过操控循迹小车,学习机器人技术和编程知识。
四、循迹小车的未来发展随着科技的不断进步,循迹小车也将不断发展和创新。
智能循迹小车 毕业论文

智能循迹小车毕业论文一、前言随着科技的发展,智能机器人已经成为人们关注的热门话题。
智能机器人的出现和应用,不仅可以提高生产效率,减少劳动强度,并且可以创造出很多新的应用领域。
其中,智能循迹小车作为一种基于仿生学和机器人学的新型机器人,已经逐渐应用到许多领域,如环境监测、病毒检测等。
本文着重介绍智能循迹小车的设计和实现,以期为相关研究提供参考。
二、智能循迹小车的需求分析智能循迹小车主要用于环境监测和物品巡检。
为了保证循迹小车的运转效果,需要进行以下需求分析:1.循迹精度高:循迹小车的自主导航是基于视觉和控制系统完成的,因此需要保证循迹精度高,以便更准确地定位目标位置。
2.交通状况适应性强:循迹小车需适用于不同的路况和环境,如转向直接性、弯道安全性、山地路段行驶性等。
3.控制系统稳定性高:为了确保循迹小车的运转稳定,控制系统需稳定、耐用。
4.多功能性:循迹小车需具备多种传感器和设备,以实现环境监测和物品巡检等多项功能。
三、智能循迹小车的设计方案1.硬件设计智能循迹小车由四个电动轮驱动,需要具备以下硬件配置:1) 微型处理器:采用单片机实现控制、通信等功能。
2) 直流电机:用于驱动小车前进和后退。
3) 舵机:控制小车方向。
4) 金属质量传感器:检测循迹目标的位置,并对小车进行控制。
5) 视觉传感器:采集路面图像,并进行图像处理。
6) 电源模块:提供小车稳定的电力来源。
2.软件设计1) 系统设计:采用嵌入式系统,将设备的物理特性和功能与程序环境相结合,实现对小车的控制和行为规划。
2) 控制算法设计:采用视觉处理和运动控制算法实现对小车的控制,并对其交通状况和循迹精度进行优化。
3) 通信协议设计:采用串口通信协议实现与上位机的数据传输。
四、智能循迹小车的实现演示智能循迹小车的实现演示中,需要注意以下几点:1. 使用电源模块为小车提供稳定的电力来源。
2. 通过视觉传感器采集并处理路面的图像信息。
3. 通过金属质量传感器检测循迹目标的位置。
智能循迹小车毕业论文

智能循迹小车毕业论文本篇论文主要研究了基于Arduino控制器的智能循迹小车设计与实现。
智能循迹小车是一种常见的机器人应用,其主要应用于物流和仓库管理、生产工艺控制等领域。
本文利用Arduino Uno作为核心控制器,通过电机控制模块和红外避障模块等外部组件,实现了小车的轨迹匹配和避障功能。
同时,通过DHT11湿度传感器和MQ-2烟雾传感器,实现了小车的环境检测功能。
论文最后进行了实际测试,验证了智能循迹小车的正确性和实用性。
关键词:智能小车;Arduino;循迹;避障;环境检测1.引言随着科技的不断进步,人工智能、机器人等技术的发展越来越快速。
智能小车作为机器人领域的典型应用,主要应用于物流和仓库管理、生产工艺控制等领域。
因此,设计和制作一种高效、准确的智能小车成为当今热门的研究方向。
2.设计方案2.1硬件设计(1)Arduino UnoArduino Uno是一个基于ATmega328P微控制器的开源电子原型平台,其支持无需编程或者其他硬件电路就可以快速轻松地开发嵌入式系统。
(2)红外避障模块红外避障模块是一种基于红外线探测距离的传感器模块,通过测量物体与小车之间的距离,判断小车前方是否有障碍物。
(3)电机控制模块电机控制模块是小车的驱动部分,其主要作用是控制小车的行进方向和速度。
(4)DHT11湿度传感器DHT11湿度传感器是一种能够测量环境温度和湿度的传感器,通过该传感器可以实现小车的环境检测功能。
(5)MQ-2烟雾传感器MQ-2烟雾传感器是一种能够检测空气中是否含有有害的烟雾气体的传感器,可以实现小车的环境检测功能。
2.2软件设计设计程序采用C++编写,主程序根据小车周围环境的变化情况,不断地调用各部分模块,实现小车的循迹、避障、环境检测等功能。
3.实现方法和结果3.1循迹实现在小车轮下安装两个红外传感器,实现对黑线的检测和识别。
根据黑线的信号变化情况,调整小车行进的方向和速度。
3.2避障实现在小车前端安装红外避障模块,通过判断距离来实现小车遇到障碍物时自动停车,避免发生碰撞。
智能循迹小车设计论文

摘要:循迹小车采用传感器来识别白色路面中央的黑色引导线,通过C8051F310单片机实现对转向舵机和驱动电机的PWM控制,利用检测器检测道路上的标志,使小车实现快速稳定地循线行驶。
分模块阐述了循迹小车的原理、软硬件设计及制作过程.针对路径特点对循迹小车的方向控制和速度控制提出了舵机分级转向、速度分段控制的解决方案。
实验表明,循迹小车能够较快速、平稳地完成对各种曲率引导线的循迹行驶任务。
关键词:单片机、电机、传感器、循迹。
Summary:Tracing car photoelectric sensor to identify the white road to guide the central black line through the C8051F310 microcontroller and drive to achieve the steering servo motor PWM control, the use of detector on the road signs to make the car look fast and stable line-line, down. Sub-module describes the principles of tracing the car, hardware and software design and production process.Path tracing for the characteristics of the car’s direction and speed control servo proposed classification steering, speed control sub-solutions. Experiments show that, tracing the car can be more rapid and smooth completion of the guide line of curvature of the driving task of tracing. Keywords:Microcontroller, motors, sensors, tracing.目录第一章引言一、设计目的 (4)二、设计方案 (4)三、报告内容安排 (4)四、技术方案概要 (5)第二章硬件部分一、单片机最小系统 (6)二、电源电路 (7)三、H桥电机驱动电路 (7)四、传感器输入电路 (8)五、硬件电路原理图 (9)第三章软件部分一、软件设计框架 (10)二、端口初始化 (10)三、PWM初始化 (11)四、功能函数 (12)第四章程序清单 (14)第五章总结 (19)参考文献 (20)附录 (21)第一章引言随着微电子技术的不断发展,微处理器芯片的集成度越来越高,单片机已可以在一块芯片上同时集成CPU、存储器、定时器/计数器、并行和串行接口、看门狗、前置放大器、A/D转换器、D/A转换器等多种电路,这就很容易将计算机技术与测量控制技术结合,组成智能化测量控制系统,这种技术促进机器人技术也有了突飞猛进的发展。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
B题自动追光自动避障电动小车参赛队号:2010168自动追光自动避障电动小车摘要:该小车以STC12C5A60S2单片机为控制核心,利用了灵敏度较高的OPT101光照传感器检测光源,采用红外反射性传感器检测道路上的障碍,采用集成H桥芯片L298和PWM方式驱动电机,实现了电动小车的自动追光和自动避障等功能。
借助于STC12C5A单片机的强大的运算能力,无需外接电路提供A/D转换,PWM调速信号。
使用OPT101检光能精确判别光源方向,使得小车可以轻易找到光源。
采用L298芯片结合PWM方式驱动小车,使得控制和电路结构都较简单。
整个系统的电路结构简单明了,可靠性能高,多次实验测试结果满足基本要求和大部分发挥部分要求。
关键词:STC12C5A单片机;光电检测器;PWM调速;电动小车;寻光;避障一、题目分析1、目标设计制作一套自动追光带太阳能充电系统的小车,并能在遇到障碍物时自动绕行追光!2、任务(1)进行寻光行进,没有白炽光源时,可以寻自然光前进。
(2)避障,且障碍物摆设是随机的。
(3)小车到达离光源一定位置后停止前进。
(4)太阳能板始终对准光源!(5)太阳能板为蓄电池供电,并指示供电状态。
3、指标(1)寻找到不大于100W的白炽灯,场地2m*2m。
(2)顺利避障,不应碰撞障碍物,尽可能不刮擦障碍物。
(3)小车寻光避障行进到终点总时间不大于1分钟,到离障碍物不大于30cm的距离时停止。
(4)在避开障碍物时,太阳能板始终对准光源。
(5)太阳能板能指示为电池的供电状态。
二、方案设计总体思路:小车驱动部分采用L298芯片驱动,利用OPT101光敏传感器检测光源方向,利用红外传感器检测并避开障碍,配合OPT传感器找到光源,同时用舵机控制太阳能板的转动,使其一直对着光源,根据题目要求给供电电池充电!为保证太阳能板一直对着光源,小车在行进中不断微调修正使其对准光源!1、寻找光源(1)利用光敏电阻和运放电路构成检测光源方向的电路。
这种方案的缺点在于灵敏度不高,受外界影响较大。
一旦外界干扰影响很容易造成误判和漏判。
另外这种方式的电路复杂,方向性、稳定性较差。
(2)利用OPT101传感器寻光,传感器精度高,方向性经加上圆筒后满足要求!同时其尺寸小,质量轻,且电路简单,安装方便。
相比之下,OPT101灵敏度高,判断准确率高,且能够胜任小车的应用,采用一些辅助电路,能达到很好的寻光效果。
综合考虑,选择OPT101传感器寻光检测方案。
2、障碍物检测障碍物检测可以使用超声波,也可以使用红外光,甚至还可以使用机械接触的方法,这些方法各有各自的优缺点。
但是使用超声波和红外的方法,检测灵敏度高可靠性强。
由于超声波控制浪费单片机资源,容易造成小车死机,综合考虑采用红外进行障碍检测方案。
3、驱动方式检测选择(1)小车驱动的电机使用步进电机。
步进电机可以实现精确控制,其缺点在于电流大,控制程序复杂。
(2)小型直流电机驱动小车。
用H桥芯片L298和PWM结合驱动,方便简单,电路和程序控制都较简单。
相比之下,直流电机已经可以满足设计要求,且直流电机的方案实现简单,容易达到设计要求。
综合考虑,选择直流电机驱动方案。
4、控制太阳能板对光方式的选择(1)步进电机可以实现精确控制,并转动任意角度,其缺点在于电流大,控制和电路较为复杂。
(2)使用小型的舵机控制,这样节省电能的消耗,控制简单只需要电源和一根信号线,采用PWM方式,控制简单方便快捷!综合考虑,选择舵机驱动控制方案。
三、设计实现:1 硬件设计(1)光源检测光源检测选用OPT101,其灵敏度较高,前方各个角度的光源都可以检测到,对于确定光源方向很不利。
我们采用了将其放在圆笔筒内检测的方式,这样一来,方向性明显增强。
(2)障碍检测电路障碍检测选用红外检测的方式,由于要检测前方4—8cm的障碍物,因此使用可调节的红外传感器,在一般的室内光照条件下可以正常工作。
电路如图2-1所示:其中的可变电阻可以调节红外测距距离和灵敏精度!图2-1 避障用红外对管(3)电机驱动电机驱动采用集成H桥芯片。
L298中有两套H桥电路,这里采用两路控制,为达到较好的控制效果,可以采用PWM方式调速。
由于电路总体上并不复杂,驱动电路的控制输入端可以不经光耦合隔离,直接和单片机引脚相连!(4)主控电路小车控制由单片机完成。
单片机要完成寻光控制、避障控制、近光停车控制等工作。
由于红外和opt101检测需要A/D 转换,小车控制需要PWM调节,而AT89S52单片机本身不带A/D和PWM功能,需要外加电路实现,应用稍有不便,因此,选用了一款自带A/D转换的单片机——STC12C5A60S2。
STC12C5A60S2是单时钟/机器周期(1T)的单片机,是高速、低功耗、超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度比51单片机快8-12倍。
内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S)。
因此这个单片机很适合作智能小车的控制核心!2 软件设计(1)总体设计流程图:如图2-3(2)主要算法介绍:寻光算法:从舵机最左边可以转到的位置开始扫描光源,经A/D转化为光照强度,记为value,同时记下舵机角度a。
每次舵机转动个小角度重新测试光照,转换记为new和b,如果value和a值小于new对应的b,则更新。
当new开始减小时,停止扫描,舵机转回a,找到光源;太阳能板开始对准光源,小车小角度转向a,舵机反方向转动保证一直对准光源。
避障算法:当小车前方的红外检测到有障碍物时,判断是哪边的障碍物,对应的小车轮子后转,另一轮子前转,车子转动90度。
同时舵机反方向转动,保证太阳能板始终对光,然后判断前方是否有障碍物。
若无,前进10厘米左右,反方向转动,对准光源前进!若有,继续转动则后退20厘米左右向前转动!其他情况同理!(3)设计中出现的问题及解决方法在设计实现过程中,我们也遇到了很多问题,我们的方案也在为解决这些问题时,作了一些调整。
下面我们主要介绍一下对我们方案影响较大的问题:(I)控制核心单片机的选择。
竞赛之初,我们的控制核心采用了89S52单片机。
由于我们需要多路A/D转换,于是更换为有内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S)的STC12C5A60S2单片机。
由于邮寄的单片机迟迟不到,我们就用外接的A/D芯片TLC1549在51单片机上试验。
经过一天试验实现了准确寻找光源,但是当更换为STC12C5A单片机时,小车出现了明显的找不准光源的现象!于是我们认真研读了单片机的datasheet,搞清楚了STC单片机的速度是51单片机速度的8-12倍,程序的参数需要调整,同时单片机自带的A/D寄存器的设置和PWM的输出控制寄存器的设置也成了问题!经过一个晚上的努力,我们完成了控制核心的更换!(II)寻光用几个传感器和什么算法合理?寻找光源时,在用几个传感器的问题上,我们组成员的意见出现了分歧,我们用一个传感器最先实现了准确寻找光源。
但是一组员提出了实现过程中太阳能板在小车行进过程中摆动太大的问题,坚持通过使用多个传感器来微调寻光,但是再后来的试验中,由于光电传感器是我们手工制作的,各种参数不一致,会出现同等状况下,测试出来的结果偏差很大的现象,且其不是线性的数据,故实现效果不理想。
我们恢复了一个传感器寻光的方式,对于太阳能板摆动的问题,我们用改善软件参数的方式基本解决啦!(III)由于超声波测距的程序容易出现长时间的等待,使小车容易出现“死机”现象。
这个现象的出现出乎我们的意料,以至于我们在软硬件中来回排查,浪费了大量的时间,于是我们放弃了用超声波测距来判断障碍物的方式!改用光电检测的方式,用开关量判断障碍物,使程序简洁高效!四、测试结果与结果分析最后的测试显示,本小车达到了较好的性能。
小车的电源连续测试可以测试10次左右。
小车的完成所有动作平均耗时55秒,最少用时40秒,其中的障碍物随机放置。
在15次测试中,有一次避障时发生车体轻擦障碍,其余情况均良好。
小车总体性能稳定较好!五、结论:(一)使用了运算能力强大的STC12C5A60S2单片机,使得小车在判断光源方向,避开障碍物时快速精确。
(二)OPT101高精度微光传感的应用,使得小车在判断光源方向和寻找微光时,精确无误。
(三)红外反射型光电传感器的使用,使得小车在检测障碍的时候不会出现误判漏判的现象!(四)经过几天的整机调试,小车整体性能已经稳定可靠。
附录:附录清单:(1)硬件接线PCB图(2)硬件接线原理图(3)关键程序代码(I)对光算法void duiguang(){uint new=0;uint temp=pos;a=1500;delayms(800);if(temp>1500){motor(0,1);while(1){new=read_adc(7);if((new>value-50)&&(new<value+50))break;}}else{motor(1,0);while(1){new=read_adc(7);if((new>value-50)&&(new<value+50))break;}}motor(0,0);}(II)避障算法void bizhang(){uchar i=0,flag1=0,flag2=0;if(trig1==1&&echo1==1)return;if(trig1==0){motor(-1,-1);delayms(200);motor(0,0);while(a>700){a=a-100;delayms(200);motor(-1,1);delayms(200);motor(0,0);}flag1=0;for(i=0;i<10;i++){if(trig1==1&&echo1==1){motor(1,1);delayms(70);}else{flag1=1;motor(-1,-1);delayms(200);motor(0,0);break;}}while(a<1500){a=a+90;delayms(200);motor(1,-1);delayms(200);motor(0,0);}for(i=0;i<10;i++){if(trig1==1&&echo1==1){motor(1,1);delayms(70);}else{flag2=1;motor(-1,-1);delayms(200);motor(0,0);break;}}}else{motor(-1,-1);delayms(200);motor(0,0);while(a<2200){a=a+100;delayms(200);motor(1,-1);delayms(200);motor(0,0);}flag1=0;for(i=0;i<10;i++){if(trig1==1&&echo1==1){motor(1,1);delayms(70);}else{flag1=1;motor(-1,-1);delayms(200);motor(0,0);break;}}while(a>1500){a=a-100;delayms(200);motor(-1,1);delayms(200);motor(0,0);}for(i=0;i<10;i++){if(trig1==1&&echo1==1){motor(1,1);delayms(70);}else{flag2=1;motor(-1,-1);delayms(200);motor(0,0);break;}}}motor(0,0);}(III)逆光行驶算法void bizhang_back(){uchar i=0,flag1=0,flag2=0;if(trig2==1&&echo2==1)return;if(echo2==0){motor(1,1);delayms(200);motor(0,0);while(a>700){a=a-100;delayms(200);motor(-1,1);delayms(200);motor(0,0);}flag1=0;for(i=0;i<10;i++){if(trig2==1&&echo2==1){motor(-1,-1);delayms(70);}else{flag1=1;motor(1,1);delayms(200);motor(0,0);break;}}while(a<1500){a=a+90;delayms(200);motor(1,-1);delayms(200);motor(0,0);}for(i=0;i<10;i++){if(trig2==1&&echo2==1){motor(-1,-1);delayms(70);}else{flag2=1;motor(1,1);delayms(200);motor(0,0);break;}}}else{motor(1,1);delayms(200);motor(0,0);while(a<2200){a=a+100;delayms(200);motor(1,-1);delayms(200);motor(0,0);}flag1=0;for(i=0;i<10;i++){if(trig2==1&&echo2==1){motor(-1,-1);delayms(70);}else{flag1=1;motor(1,1);delayms(200);motor(0,0);break;}}while(a>1500){a=a-100;delayms(200);motor(-1,1);delayms(200);motor(0,0);}for(i=0;i<10;i++){if(trig2==1&&echo2==1){motor(-1,-1);delayms(70);}else{flag2=1;motor(1,1);delayms(200);motor(0,0);break;}}}motor(0,0);value=0;xunguang_back();duiguang();}。