基于单片机控制的简易自动寻迹小车系统
基于单片机的智能循迹小车设计
本科毕业设计(论文)基于单片机的智能循迹小车设计学生学院信息工程学院专业测控技术与仪器(光机电一体化方向)年级班别20 级(1)班学号学生姓名指导教师20 年6月摘要自循迹智能小车也是智能行走机器人的一种,智能小车可以适应不同的环境,不受外界温度、湿度、空间以及重力等各种恶劣条件的影响,在人类无法进入或者生存的环境中完成人类无法完成的任务。
本课题是智能循迹小车系统的设计,智能小车的设计涉及传感器技术、电路涉及、程序设计、控制设计等多个方面的知识,是一项综合设计。
设计目标是小车能沿着规划好的黑线行走,不偏离道路。
智能循迹小车以木板车架为承载,包括单片机模块:STC89C52芯片;驱动模块:L298N驱动模块和两个直流电机;循迹模块:红外光电传感器和LM324运算放大器。
红外光电传感器判断是否寻找到黑线,并将产生的电平信号发送至LM324运算放大器,再返回到单片机,单片机根据程序设计的要求做出相应的判断送给电机驱动模块控制小车在黑线上实现前进后退左转右转。
关键词:智能小车,自动循迹,单片机,红外传感器AbstractSelf-tracing smart car is also a kind of intelligent walking robot, intelligent car can adapt to different environments, from outside temperature, humidity, space and gravity and other adverse conditions, in the human can not enter or survive the environment to complete the human Unable to complete the task. This topic is the design of intelligent tracking car system, intelligent car design involves sensor technology, circuit involved, programming, control design and other aspects of knowledge, is a comprehensive design. The design goal is that the car can walk along the planned black line without departing from the road. TheThe following steps: STC89C52 chip; drive module: L298N drive module and two DC motors; tracking module: infrared photoelectric sensor and LM324 operational amplifier. Infrared photoelectric sensor to determine whether to find the black line, and the resulting level signal sent to the LM324 operational amplifier, and then return to the microcontroller, the microcontroller according to the requirements of the program to make the appropriate judgment to the motor drive module control car on the black line Turn forward and turn right.Key words: intelligent car, automatic tracking, single chip, infrared sensor目录摘要 (2)Abstract (3)第1章绪论 (6)1.1 引言 (6)1.2 题目研究目的及意义 (6)1.3 国内外研究状况 (7)1.3.1 国外发展状况 (7)1.3.2 国内发展状况 (8)第2章系统硬件设计 (10)2.1 循迹小车整体方案设计 (10)2.2 STC89C52单片机介绍 (12)2.3 红外光电传感器TCRT5000及LM324运算放大器组成的循迹模块 (15)2.3.1 TCRT5000的介绍 (15)2.3.2 LM324的介绍 (16)2.3.3 循迹模块原理图 (18)2.4 电机驱动模块 (18)2.4.1 L298N驱动电路逻辑真值表 (19)2.4.2 L298N驱动模块电路原理图 (20)2.4.3 L298N集成H桥芯片,引脚图 (20)2.4.4 L298N引脚功能表 (21)2.4.5 L298N驱动电路运行参数 (22)2.5 电源模块 (22)第3章系统软件设计 (23)3.1主程序 (23)3.1.1 主程序流程图 (23)3.1.2 主程序程序设计 (24)3.2 循迹模块 (25)3.2.1循迹模块流程图 (25)3.2.2 循迹模块程序设计 (26)3.3 PWM调速原理 (27)3.3.1 PWM控速代码 (28)第4章系统测试 (30)第5章 (31)5.1 总结 (31)5.2展望 (31)参考文献 (32)致谢 (34)附录 (35)。
基于单片机的自动寻迹小车_毕业设计论文
基于单片机的自动寻迹小车摘要AT89S52单片机是一款八位单片机,他的易用性和多功能性受到了广大使用者的好评。
这里介绍的是如何用AT89S52单片机来实现电动小车的自动寻迹。
本系统以设计题目的要求为目的,采用AT89S52单片机为控制核心,利用电动小车前面的红外线传感器检测道路上的轨迹,将路面信息转送给AT89S52,AT89S52根据信息作出反应控制电动机转动,从而控制电动小汽车按照路上的轨迹行驶。
整个系统的电路结构简单,可靠性能高。
实验测试结果满足要求,本文着重介绍了该系统的硬件设计方法及测试结果分析。
本小车采用的技术主要有传感器的有效应用和AT89S52芯片的使用。
有很多功能可以继续扩展,值得就一步学习和研究。
关键词: AT89S52 红外线传感器直流电机AbstractAT89S52 SCM is a section 8 microcontroller, his usability and multi-functional received overwhelming support from user's praise. Here introduces AT89S52 SCM is how to use electric car to realize the automatic tracing. This system to design the topic request, the purpose for AT89S52 SCM as control core, using electric car in front of the infrared sensor detects the trajectory path, pavement message to someone AT89S52 devices, react AT89S52 according to the information which can control the rotation control motor electric car according to the road track road. The whole system circuit structure simple, reliable performance is high. The test results meet the requirements; the paper introduces the hardware design method and the analysis of the testing result.This car the technique to be used mainly sensor effective application and the use of AT89S52 chip. There are many function can continue to expand, worth just step for study and research.Keywords: AT89S52, light electricity detector,direct-current motor目录摘要 (I)Abstract (II)目录 (III)前言 (1)1 方案设计与论证 (2)1.1电动小车模块 (2)1.1.1转向和动力 (2)1.1.2电动机模块 (2)1.1.3调速系统 (3)1.1.4 电机驱动模块 (4)1.2 控制模块 (4)1.3 传感器模块 (4)1.4 电源模块 (5)2 硬件设计 (6)2.1 主要元器件的介绍 (6)2.1.1 电机驱动芯片L9110 (6)2.1.2 AT89S52 (8)2.1.3 红外线传感器 (14)2.2 模块介绍 (15)2.2.1车头传感器模块 (15)2.2.2 电动小车模块 (15)2.2.3 控制模块 (16)2.3 整体方案 (16)3 软件设计 (18)3.1 程序设计 (18)3.1.1 程序的模块化设计 (18)3.1.2 部分程序设计 (19)3.2 利用proteus 进行软件仿真 (22)3.3 制作电路图和PCB板图 (22)4总结 (26)致谢 (28)参考文献 (29)附录1 C语言程序 (30)附录2 电路图和PCB板图 (34)附录3小车实物图................................................. 错误!未定义书签。
基于单片机的电子寻迹小车设计
基于单片机的电子寻迹小车设计
于雯雯
(大连职业技术学院,辽宁 大连116037)
摘 要:设计了一款智能电子寻迹小车,以AT89C51单片机为主控芯片,以L293D作为电机驱动芯片,采用红外对管 构成小车寻迹电路,使用Altium Designer软件设计出电子寻迹小车的电路原理图,应用C51语言编写出小车寻迹的控 制程序。设计的小车能自动沿着铺设好的黑色轨迹运行,可广泛应用于仓储、物流、探测、消杀等领域。 关键词:寻迹小车;单片机;红外对管;电子产品设计与制作
Abstract:This paper designs an intelligent electronic tracking car, which uses AT89C51 as the main control chip,
L293D as the motor drive chip, uses infrared tube to form the tracking circuit, uses Altium designer software to design the circuit schematic diagram of the electronic tracking car, and uses C51 language to write the control program of the car tracking. The designed car can automatically run along the laid black track, and can be widely used in storage, logistics, detection, killing and other Helds. key words: tracking car; single chip microcomputer; inirared pair tube; electronics design and production
(完整word版)基于51单片机的循迹小车系统设计
基于51单片机的循迹小车系统设计摘要80C51单片机是一款八位单片机,他的易用性和多功能性受到了广大使用者的好评。
在生活中但凡涉及到自动控制的地方都会出现单片机的身影,单片机的应用有利于产品的小型化、智能化,并且能够提高生产效率.这里介绍的是如何用AT89C52单片机来实现小车的循迹功能,该设计是结合科研项目而确定的设计类课题。
本系统以设计题目的要求为目的,采用AT89C52单片机为控制核心,利用红外传感器检测道路上的黑线,控制电动小汽车的自动循迹,快慢速行驶,以及自动停车,并可以自动记录时间、里程和速度,和寻光功能。
整个系统的电路结构非常简单,可靠性能很高。
实验测试结果满足要求,本文着重介绍了该系统的硬件设计方法及测试结果分析。
关键词:80C51单片机;电动小车;pwm调速;光电检测;自动调速系统Car tracking system based on microcontrollerAbstract80C51 is a 8 bit single chip computer。
Its easily using and multi—function suffer large users。
In life,whenever it comes to automatic control of the local microcontroller will appear figure, microcontroller applications in favor of product miniaturization,intelligent,and can improve productivity. Here is how to use AT89C52 microcontroller to achieve the car tracking feature, which is designed to determine the combination of scientific research and design class topic.This system design requirements of the subject for the purpose of using AT89C52 microcontroller core,the use of infrared sensors to detect the black line on the road,the automatic tracking control of electric cars,fast low traffic speeds,as well as automatic parking, and can automatically record time ,mileage and speed, and look for the light function.The circuit structureof the entire system is very simple, very high reliability. The test results meet the requirements,the paper focuses on the hardware design and test results of the system analysis.Keywords:80C51 microcontroller;Electric car Pwm speed; A photodetector;Automatic Speed Control System。
基于单片机的自动寻迹避障小车设计
三、软件设计
电机控制函数根据预设算法输出控制信号,控制电机的动作。最后,我们在 主程序中调用这些函数,实现小车的自动循迹避障寻光功能。
四、测试与结论
四、测试与结论
为了验证系统的可行性和稳定性,我们对智能小车进行了多次测试。测试结 果显示,该系统能够准确地检测黑色引导线、前方障碍物和光源,并能够根据预 设算法自动调整小车的行驶方向和速度,实现了自动循迹避障寻光功能。因此, 基于单片机技术的自动循迹避障寻光智能小车系统具有广泛的应用前景和市场潜 力。
三、实验与测试
三、实验与测试
1、实验环境:在实验室内模拟实际环境进行测试,包括各种路面情况(如平 滑路面、颠簸路面)、各种障碍物类型等。
三、实验与测试
2、测试指标:测试指标包括小车的平均速度、稳定性、准确性等。通过这些 指标可以评估小车的性能并对其进行优化。
三、实验与测试
3、实验结果分析:根据实验结果分析小车的性能表现,针对不足之处进行改 进和优化。
5、执行器
5、执行器
执行器包括舵机和摄像头。舵机用于调节小车的行驶方向,摄像头用于拍摄 和传输图像数据。
三、软件设计
三、软件设计
软件设计是实现小车自动循迹避障寻光功能的关键。我们使用C语言编写程序, 通过调用单片机的外设接口接收传感器数据,根据预设算法处理数据并输出控制 信号,控制电机驱动模块和执行器的动作。
3、传感器:传感器部分包括寻迹传感器和避障传感器。寻迹传感器用于检测 小车行驶路径,避障传感器则用于检测前方障碍物。常见的传感器类型有红外线 传感器和超声波传感器。
一、硬件设计
4、电机:电机部分包括两个电机和相应的驱动器。电机驱动器用于接收控制 器的指令,控制电机的转动方向和速度。
基于单片机控制的简易自动寻迹小车设计
基于单片机控制的简易自动寻迹小车设计宁慧慧,余红英(中北大学信息与通信工程学院 山西省太原市 030051)摘 要:本文介绍了一种基于单片机控制的简易自动寻迹小车设计,包括小车系统构成软硬件设计方法。
该小车以A T89C51为控制核心,利用红外光电传感器对前方障碍物信息及路面信息进行采集,并将障碍物检测信号和路面检测信号反馈给单片机。
单片机对采集到的信号予以分析判断,及时控制驱动电机以调整小车转向,从而使小车能够沿着黑色导引带自动行驶,实现小车自动寻迹的目的。
该技术可以应用于无人驾驶机动车,无人工厂、仓库、服务机器人等领域。
关键词:红外光电传感器;单片机;自动寻迹中图分类号:TP2 文献标识码:ASimple design of a smart auto 2t racking vehicle based on MSC cont rolNing Huihui ,Yu Hongying(Information and Communication Engineering College North University of China Shanxi 030051,China )Abstract :A Simple Design of a smart auto 2t racking vehicle based on MSC cont rol is int roduced in t his paper.The const ruction of t he car ,and met hods of hardware and software design are in 2cluded.The car use A T89C51as t he heart of cent rol in t his system.By using infrared sensors to detect t he information of obstacles in front and t he t race ,t he smart vehicle acquires t he informa 2tion and sends t hem to t he MSC.Then t he MSC analyzes t he signals and cont rols t he move 2ment s of t he motors.Which make t he smart vehicle move along t he given black line antomatic 2ly.The technology can be applied to unmanned aerial vehicles ,unmanned factories ,warehou 2ses ,service robot s and ot her fields.K eyw ords :inf rared sensor ;MSC ;auto 2t racking0 引 言单片机技术作为自动控制技术的核心之一,被广泛应用于工业控制、智能仪器、机电产品、家用电器等领域。
基于单片机的自动循迹控制小车报告
自动循迹控制小车The Automatic Tracking Electromotion Vehicle制作人:曹泽浩张安丁盛伟班级:信息工程0903班摘要本系统通过采集光电传感器和驻极体的数据来实现电动小车的自动循迹和测速。
控制终端由STC89C52单片机最小系统构成,外围电路包括直流电机L298N驱动模块、光电传感器循迹模块、光电对管测速模块、LCD显示模块等。
运行中,系统通过采集光电传感器的数据并进行相应的比较计算来控制PWM波的输出,进而实现电机转速的实时调节;通过计数光电对管的输出脉冲来计算小车的行驶路程和实时速度;系统成本低,功耗低,小车调速平滑,过弯稳定,基本满足设计要求。
关键词:STC89C52,自动循迹,光电传感器, PWM调速,L289N驱动,LM2576,LCD1602目录一、系统设计要求...................................................................................................................... - 1 -1、组成部分........................................................................................................................ - 1 -2、说明............................................................................................................................... - 1 -二、系统方案选择和论证.......................................................................................................... - 2 -1、题目解析........................................................................................................................ - 2 -2、方案选择及论证............................................................................................................ - 2 - 2.1、控制终端的选择................................................................................................. - 2 -2.2、电机及其驱动方式的选择................................................................................. - 3 -2.3、循迹模块的选择................................................................................................. - 4 -2.4、测速模块的选择................................................................................................. - 4 -2.5、显示模块选择..................................................................................................... - 5 –2.6、电源稳压选择 (5)三、系统电路设计及原理分析.................................................................................................. - 6 -3.1、核心模块..................................................................................................................... - 7 - 3.2、电机驱动电路............................................................................................................. - 8 - 3.3、光电传感器循迹电路................................................................................................. - 9 - 3.4、光电对管测速电路................................................................................................... - 10 - 3.5、显示电路................................................................................................................... - 10 –3.6、5v的电源...................................................................................................................... - 10 –四、软件开发............................................................................................................................ - 11 -五、系统主程序流程图............................................................................................................ - 13 -六、最终作品 (14)七、设计总结............................................................................................................................ - 16 –一、系统设计智能循迹小车自动通过圆形封闭环道,环道上粘贴有黑色胶布。
基于单片机控制的智能寻迹小车
摘要:本文根据第二届飞思卡尔杯全国大学生智能车竞赛的比赛要求.设计出了一辆基于MC9S12DGl28单片机的智能寻迹
小车,介绍了系统设计思想,硬件结构及软件设计。单片机通过红外传感器采集路径信息,处理后产生PWM信号控制电机转
动,采用霍尔传感器做速度检测,从而实现闭环控制。
关键词:MC9S12DGl28单片机:传感器;控制系统
DSl8820:ACALL STDS; MOV A.OCCH: ACALL OUTBYTE: ACALL DELAY750; ‘ ACAI工READDS; RET
··}¥··读取温度子程序··料料
READDS:ACALL RSTDS: MOV A.静OCCH: ACALL OUTBYTE; ACALL OUTBYTE: MOV A.#OBEH: ACALL OUTBYTE; ACALL INPBYTE MOV LSB.A: ACAI上INPBYTE; MOV MSB.A;
由图3可知,传感器电压与黑线位置并不是严格的线性 关系,为了减小运算量.提高处理速度,我们认为二者近似成线 性关系,这样就可以计算出黑线的具体位置。
图3传感器电压与偏离距离关系示意图 数字量算法的精度低于模拟量算法,但是在数据的处理上 简单,比赛规则中黑线宽度是25ram,而光电管的I.HJ距是15mm。 因此,同时在黑线上的光电管个数不会超过2个。这样就可以 逐个分析}n有町能出现的各种情况了,并且针对每种情况采取 相应的控制措施。在实验中发现,虽然数字量信号的精度低,但 是由于其算法简单,避开了浮点运算,处理量小,检测速度快, 其控制效果不逊于模拟量算法。具体的控制策略是:根据接受 到的黑线位置信号来调整舵机,根据速度信号来控制直流电 机,考虑到赛道既包含小S道义包含大S道,在小S道,即黑线 偏离量较小时,使直流电机的速度基本不变,舵机的调整角度 也较小,实验中,小车看上去比较“懒惰”,这样就可以在小S 道、直道上减小晃动,提高速度。在大S道,应该降低直流电机 速度,黑线偏离较远时,舵机的调整角度变大。这样就町以基本 控制小车沿黑线行驶。同时还考虑到小车有可能因为速度过快 而偏离黑线较远而检测不到黑线,致使光电管全部显示低电 平,解决的方法是使用前一个状态的控制方案,因为小车的偏 离程度等所有物理量都是连续变化的,一般不会出现突变。同 样,由于跑道的90度交义使得光电管可能全部为高电平,行驶 过程中这种情况只会瞬间出现,可以使用前一状态的控制方案, 也可以将其剔除,不做处理。 小车行驶过程中一个很重要的环节就是速度的控制,如果 驱动力大于阻力,小车就会以一定的加速度不断的加速,这样 速度会加得很高,过弯道H寸容易冲出,同理,如果驱动力小于阻 力,小车就会不断的减速。所以必须让小车根据道路的情况来 维持相对应的速度。为了使小车具有更好的环境适应性.我们 针对可能出现的情况编制了各种不同的方案,并且硬件上做了 拨码开关,通过拨码开关就可以选择不同的控制方案。
基于单片机的智能小车避障循迹系统设计
基于单片机的智能小车避障循迹系统设计
随着技术的不断发展,智能小车成为人们生活中不可或缺的一部分。
本文主要介绍一款基于单片机的智能小车避障循迹系统设计。
一、系统的硬件设计
本智能小车的硬件设计包括控制模块、电源模块、驱动模块和传感器模块。
其中,控制模块采用C51单片机,电源模块采
用锂电池,驱动模块通过直流电机实现小车的前进、后退、左右转弯等各项动作,而传感器模块则包括超声波传感器、巡线传感器和红外线传感器。
二、系统的软件设计
本智能小车的软件设计包括控制程序和驱动程序。
控制程序主要实现通过巡线传感器和超声波传感器来检测路面情况,从而确定小车行驶方向和速度,同时通过红外线传感器来检测障碍物,从而进行避障。
驱动程序主要用于实现小车的前进、后退、左右转等动作。
三、系统的操作流程
小车启动时,控制程序首先检测巡线传感器和超声波传感器所处位置,从而确定小车行驶方向和速度。
接着,红外线传感器开始检测障碍物,并且在检测到障碍物时,自动转弯避免碰撞。
当小车行驶过程中检测到黑色线条时,巡线传感器将自动控制
小车前进或后退,从而使小车保持在线条上行驶。
四、系统的优点和应用
基于C51单片机的智能小车避障循迹系统具有高度自动化、低成本、易于维护等优点。
该系统可广泛应用于自动化物流、智能家居、机器人等领域。
总之,随着科技的不断发展,传感器技术和单片机技术等已经得到了广泛的应用和推广。
未来,智能小车必将在各个领域发挥更大的作用,创造更多的价值。
基于单片机循迹小车的设计
基于单片机循迹小车的设计
一、硬件结构设计
(1)外观设计
该循迹小车采用4轮驱动底盘,使小车有较强的稳定性,小车安装有
一个带调光功能的LED头灯,可以缩短小车行驶的距离,以及一个用于采
集道路信息的循迹模块。
四个车轮上安装有电机,以及一个用于驱动小车
的电源,主控器采用的是51单片机。
(2)基础硬件设计
1)电源:采用12V锂电池,通过一个5V调整稳压电路改变输出电压,并调整电流大小以供电源的可靠性;
2)车轮电机:采用马达,可提供足够的动力,能够拉动小车行驶,
同时通过电路来控制马达的速度;
3)主控器:采用51单片机,作为小车的主控单元,可实现小车的运
动控制、数据采集等功能;
4)循迹模块:采用模拟循迹模块,用于采集道路信息,根据采集的
信息以及灰度传感器的反馈信息,调整小车的运动方向;
5)头灯:采用LED头灯,可实现可调光的功能,使得车子在夜晚的
黑暗环境中也能保持安全的运行;
6)电路板:依据小车的硬件结构设计出合理的路径,实现电路图和
实际的车路径的一一匹配,以此实现对小车运行的控制。
二、软件程序设计
(1)程序流程设计。
单片机的智能循迹小车
调试方法
A
总之,基于 51单片机的 智能循迹小 车是一种简 单实用的智 能控制系统
B
通过合理的 硬件设计和 软件编程, 可以实现小 车的自动循
迹功能
C
在调试过程中, 需要逐步排查 问题,不断优 化程序,以提 高系统的性能
和稳定性
感/谢/聆/听
以及调试方法
1
原理
原理
1Байду номын сангаас
基于51单片机的智能循迹小车通过传感器检测小车与路径之间的距 离,将检测到的信号转换为电平信号,然后通过单片机进行处理
单片机根据接收到的信号控制电机驱动模块,从而控制小车的运动 方向和速度
2
3
通过不断调整小车的运动方向和速度,使得小车能够沿着指定的路 径进行运动
2
硬件组成
51单片机的智能 循迹小车
-
01
原理
02 硬件组成
03 软件设计 04 调试方法
51单片机的智能循迹小车
1
智能循迹小车是一种自动 控制系统,能够沿着指定
的路径进行运动
2
基于51单片机的智能循迹 小车是一种使用51单片机 作为主控制器的智能循迹
小车
3
下面将详细介绍基于51单 片机的智能循迹小车的原 理、硬件组成、软件设计
4
调试方法
调试方法
基于51单片机的智能循迹小车的调试方法主要包括以下几个步骤
硬件调试:检查硬件连接是否正确,确保电源、传感器、电机驱动模块等设备 能够正常工作
软件调试:通过调试器或仿真器对程序进行调试,检查程序是否存在语法错误 或逻辑错误
实际环境测试:将调试好的程序下载到单片机中,然后在实际环境中进行测试 。观察小车的运动情况,如果存在偏差或问题,需要对程序进行调整和优化
基于单片机控制的循迹小车设计设计
摘要本循迹小车采用现在较为流行的8位单片机作为系统大脑,以STC89C52单片机为控制核心。
用其控制行进中的小车,以实现其既定的性能指标。
充分分析我们的系统,其关键在于实现小车的自动控制,而在这一点上,单片机就显现出来它的优势控制简单、方便、快捷。
40脚的DIP封装使它拥有32个完全IO(GPIO-通用输入输出)端口,通过这些端口加以信号输入电路,将各传感器的信号传至单片机分析处理,从而控制L293D电机驱动,控制小车。
利用红外对管检测黑线,通过循迹模块里的红外对管是否寻到黑线产生的电平信号返回到单片机红外对管来实现循迹功能。
单片机根据程序设计的要求做出相应的判断送给电机驱动模块。
让小车来实现前进,左转,右转,停车等基本功能。
集成红外线传感器即光电开关进行避障。
整个系统的电路结构简单,可靠性能高。
根据小车各部分功能,分析硬件电路,并调试电路。
将调试成功的各个模块逐个地融合成整体,再进行软件编程调试,直至完成。
关键词:循迹小车STC89C52单片机红外对管 L293D电机驱动AbstractThis tracking car adopts the now popular 8-bit single chip microcomputer as the system of the brain, with the STC89C52 single-chip microcomputer as the core. To control the traveling car with it, in order to realize the given performance index. Full analysis of our system, the key is to achieve the automatic control cars, but at this point, single-chip microcomputer control will show its advantage is simple, convenient and fast. 40 feet DIP package makes it has 32 completely IO (GPIO - general input/output port, signal input circuit, through these ports will transmit the signals to single chip microcomputer analysis of each sensor to control L293D motor drive and control the car. The use of infrared for detecting tube black line, through infrared tracking module for tube whether find level signal produced by the black thread returns to the SCM infrared tube to realize tracking function. SCM according to the requirement of the program design make the corresponding judgment for motor driver module. Let the car to achieve forward, turn left, turn right, the basic function such as parking. Integrated infrared sensor photoelectric switch for obstacle avoidance. The circuit of the whole system structure is simple, reliable performance is high. According to the function of car parts, analyze the hardware circuit, and debug the circuit. Debugging success of each module individually merged into a whole, and then software programming and debugging, until completion.KEY WORDS: STC89C52 dc motor infrared sensors the pipe tracing cars L293D motor drive目录第一章绪论 (1)第二章方案设计与论证 (2)第一节主控系统 (2)第二节电机驱动模块 (3)第三节循迹模块 (5)第四节避障模块 (6)第五节机械系统和电源模块 (6)第六节电源模块 (6)第三章硬件设计 (8)第一节总体设计 (8)第二节信号检测模块 (11)第四章软件设计 (13)第一节小车运行主程序流程图 (13)第二节电机驱动程序 (14)第三节循迹模块 (15)第五章制作安装与调试 (18)结论 (19)致谢 (20)参考文献 (21)第一章绪论自第一台工业机器人诞生以来,机器人的发展已经遍及机械、电子、冶金、交通、宇航、国防等领域。
基于单片机的智能小车避障循迹系统设计
基于单片机的智能小车避障循迹系统设计一、本文概述随着科技的不断进步和智能化趋势的深入发展,单片机技术在现代电子系统中扮演着日益重要的角色。
特别是在智能机器人、自动化设备等领域,基于单片机的智能系统设计成为研究的热点。
其中,智能小车作为一种典型的移动机器人平台,具有广泛的应用前景。
智能小车能够在复杂环境中自主导航、避障和完成任务,这对于提高生产效率、降低人力成本以及实现智能化管理具有重要意义。
本文旨在设计一种基于单片机的智能小车避障循迹系统。
该系统利用单片机作为核心控制器,结合传感器技术、电机驱动技术和控制算法,实现小车的自主循迹和避障功能。
通过对小车硬件和软件的设计与优化,使其在复杂环境中能够稳定、高效地运行,并具备一定的智能化水平。
本文首先介绍了智能小车的研究背景和意义,阐述了基于单片机的智能小车避障循迹系统的研究现状和发展趋势。
然后,详细描述了系统的总体设计方案,包括硬件平台的搭建和软件程序的设计。
在硬件设计方面,重点介绍了单片机的选型、传感器的选择与配置、电机驱动电路的设计等关键部分。
在软件设计方面,详细阐述了避障算法和循迹算法的实现过程,以及程序的编写和调试方法。
本文还通过实验验证了所设计系统的可行性和有效性。
通过实验数据的分析和对比,证明了该系统在避障和循迹方面具有较高的准确性和稳定性。
本文也探讨了系统存在的不足之处和未来的改进方向,为相关领域的研究提供了一定的参考和借鉴。
本文设计的基于单片机的智能小车避障循迹系统具有较高的实用价值和广泛的应用前景。
通过不断优化和完善系统的设计,有望为智能机器人和自动化设备的发展做出积极的贡献。
二、系统硬件设计在智能小车避障循迹系统设计中,硬件设计是整个系统的基石。
我们选用了性价比较高、易于编程控制的单片机作为核心控制器,围绕它设计了整个硬件系统。
核心控制器:选用了一款高性能、低功耗的单片机作为核心控制器,负责处理传感器数据、执行避障和循迹算法,以及控制小车的运动。
基于51单片机控制的循迹小车
毕业设计(论文)课题名称:基于单片机控制的循迹小车指导教师:系别:专业:班级:姓名:摘要本文论述了基于单片机的智能循迹小车的控制过程。
智能循迹是基于自动引导机器人系统,用以实现小车自动识别路线,以及选择正确的路线。
智能循迹小车是一个运用传感器、单片机、电机驱动及自动控制等技术来实现按照预先设定的模式下,不受人为管理时能够自动实现循迹导航的高新科技。
该技术已经应用于无人驾驶机动车,无人工厂,仓库,服务机器人等多种领域。
本设计采用89C52单片机作为小车的控制核心;采用RPR220红外反射式开关传感器作为小车的循迹模块来识别白色路面中央的黑色引导线,采集信号并将信号转换为能被单片机识别的数字信号;采用驱动芯片L298N构成双H桥控制直流电机,其中软件系统采用C程序,本设计的电路结构简单,容易实现,可靠性高目录摘要 (1)目录 (1)第1章绪论 (2)1.1课题背景 (2)1.2课题研究的目的和意义 (3)1.3 本设计的意义 (4)第二章方案论证 (4)2.1 控制器方案论证 (4)2.2 供电单元方案论证 (5)2.3 智能循迹小车电源模块的选择 (5)2.4智能循迹小车电机驱动电路的选择 (5)2.5 检测循迹模块 (5)2.5 显示模块论证 (6)第三章智能循迹小车硬件部分 (6)3.1 系统总体方案 (6)3.2 单片机最小系统 (7)3.3 电源模块 (8)3.4 电机驱动模块 (9)3.5 循迹单元电路 (10)3.6测速模块电路 (13)3.7 显示模块电路 (13)第四章循迹小车项目软件流程图 (14)4.1 总体软件流程图 (14)4.2小车循迹流程图 (15)4.3中断程序流程图 (16)第五章总结 (17)第六章致谢 (18)第七章参考文献 (18)附图设计总体图 (19)封底.................................................................................................................... 错误!未定义书签。
基于单片机控制的循迹小车设计
基于单片机控制的循迹小车设计循迹小车是一种基于单片机控制的智能机器人,能够根据预设的轨迹路径进行移动。
它通过搭载在车身上的传感器感知地面颜色变化,从而实现自主循迹行驶。
循迹小车在教育、娱乐、科研等领域都有广泛的应用。
循迹小车的设计主要分为硬件设计和软件设计两个部分。
硬件设计方面,循迹小车需要搭载一台单片机作为控制核心。
常用的单片机有STC89C52、51、PIC16F877A等,我选用了51系列的单片机作为控制核心。
此外,还需要一个电机驱动模块,用于控制小车的左右轮电机。
电机驱动模块可以选择L298N等型号。
同时,为了感知地面的颜色变化,循迹小车还需要搭载红外线传感器模块或光敏传感器模块。
这些硬件模块需要通过引脚进行连接,并使用杜邦线将它们与单片机相连。
软件设计方面,循迹小车需要编写相应的程序代码。
首先,需要进行传感器模块的初始化,设置相应的引脚模式。
然后,通过一定的算法来判断传感器模块所感知到的颜色变化。
根据传感器模块的返回值,可以判断当前小车所处位置以及前进方向。
根据不同的情况,可以通过电机驱动模块控制小车的左右轮电机,从而实现小车的前进、后退、左转、右转等动作。
在循迹小车的设计中,还可以加入一些其他的功能模块。
例如,可以在小车上加入超声波传感器模块,用于感知前方的障碍物并进行避障。
还可以加入蓝牙模块,实现与手机或其他设备之间的通信。
通过蓝牙模块,可以通过手机APP控制小车的移动方向和速度,实现远程遥控功能。
循迹小车的设计不仅提高了学生对电子技术的理解和应用能力,同时也带来了乐趣和创新的空间。
学生可以在基础的循迹小车基础上,不断进行创新和改进。
例如,可以通过加入陀螺仪模块,实现小车的平衡能力,从而实现自动倒车等更复杂的动作。
还可以加入颜色传感器模块,实现对不同颜色的识别,从而实现按颜色循迹的功能。
总之,基于单片机控制的循迹小车设计是一项具有教育意义和实用价值的项目。
通过这个项目,学生可以锻炼自己的动手能力和创新思维,同时也可以提高对电子技术的理解和运用能力。
基于单片机控制的简易自动寻迹小车系统
1方案设计与论证 (1)1.1 主控系统 (1)1.2 电机驱动模块 (1)1.3 循迹模块 (2)1.4 机械系统 (3)2 主要器件介绍 (3)2.1 STC89C52的介绍 (3)2.2 L298N的介绍 (6)2.2.1 L298的引脚功能 (6)2.2.2 L298的运行参数 (7)2.2.3 L298的逻辑控制 (8)2.3 TCRT5000的介绍 (8)2.4 LM324的介绍 (9)3 硬件设计 (10)3.1总体设计 (10)3.2TCRT5000黑色轨迹识别电路 (11)3.3LM324电压比较电路 (12)3.4 STC89C52单片机控制电路 (12)3.4.1 时钟电路 (13)3.4.2 复位电路 (13)3.4.3 EA/VPP(31 脚)的功能和接法 (14)3.4.4 P0 口外接上拉电阻 (14)3.5 L298N马达驱动电路 (15)4程序设计 (16)参考文献 (20)摘要本设计是一种基于单片机控制的简易自动寻迹小车系统.设计旨在设计出一款可以自主按照人们预设的轨迹行走(或者完全自主行走)并完成指定任务的小车.从设计的功能要求出发,设计包括小车机械构成设计和控制系统的软硬件设计.为了适应复杂的地形我采用稳定性比较高的三轮构架式,用后轮驱动万向轮换向的控制模式.控制系统以STC89C52为控制核心, 用单片机产生PWM波,控制小车速度.利用红外光电传感器对路面黑色轨迹进行检测,并确定小车当前的位置状态,再将路面检测信号反馈给单片机.单片机对采集到的信号予以分析判断,及时控制驱动电机以调整小车转向,从而使小车能够沿着黑色轨迹自动行驶,实现小车自动寻迹的目的.关键词:循迹小车,单片机,红外传感器1方案设计与论证根据要求,确定如下方案:在现有玩具电动车的基础上,加装光电检测器,实现对电动车的位置、运行状况的实时测量,并将测量数据传送至单片机进行处理,然后由单片机根据所检测的各种数据实现对电动车的智能控制.这种方案能实现对电动车的运动状态进行实时控制,控制灵活、可靠,精度高,可满足对系统的各项要求.1.1 主控系统根据设计要求,我认为此设计属于多输入量的复杂程序控制问题.据此,拟定了以下两种方案并进行了综合的比较论证,具体如下:方案一:选用一片CPLD(如EPM7128LC84-15)作为系统的核心部件,实现控制与处理的功能.CPLD具有速度快、编程容易、资源丰富、开发周期短等优点,可利用VHDL语言进行编写开发.但CPLD在控制上较单片机有较大的劣势.同时,CPLD的处理速度非常快,而小车的行进速度不可能太高,那么对系统处理信息的要求也就不会太高,在这一点上,MCU就已经可以胜任了.若采用该方案,必将在控制上遇到许许多多不必要增加的难题.为此,我们不采用该种方案,进而提出了第二种设想.方案二:采用单片机作为整个系统的核心,用其控制行进中的小车,以实现其既定的性能指标.充分分析我们的系统,其关键在于实现小车的自动控制,而在这一点上,单片机就显现出来它的优势——控制简单、方便、快捷.这样一来,单片机就可以充分发挥其资源丰富、有较为强大的控制功能及可位寻址操作功能、价格低廉等优点.因此,这种方案是一种较为理想的方案.针对本设计特点——多开关量输入的复杂程序控制系统,需要擅长处理多开关量的标准单片机,而不能用精简I/O口和程序存储器的小体积单片机,D/A、A/D功能也不必选用.根据这些分析,我选定了STC89C52RA单片机作为本设计的主控装置,51单片机具有功能强大的位操作指令,I/O口均可按位寻址,程序空间多达8K,对于本设计也绰绰有余,更可贵的是51单片机价格非常低廉.在综合考虑了传感器、两部电机的驱动等诸多因素后,我们决定采用一片单片机,充分利用STC89C52单片机的资源.1.2 电机驱动模块方案一:采用继电器对电动机的开或关进行控制,通过开关的切换对小车的方向进行调整.此方案的优点是电路较为简单,缺点是继电器的响应时间慢,易损坏,寿命较短,可靠性不高. 方案二:采用电阻网络或数字电位器调节电动机的分压,从而达到分压的目的.但电阻网络只能实现有级调速,而数字电阻的元器件价格比较昂贵.更主要的问题在于一般的电动机电阻很小,但电流很大,分压不仅会降低效率,而且实现很困难.方案三:采用功率三极管作为功率放大器的输出控制直流电机.线性型驱动的电路结构和原理简单,加速能力强,采用由达林顿管组成的 H型桥式电路(如图3.1).用单片机控制达林顿管使之工作在占空比可调的开关状态下,精确调整电动机转速.这种电路由于工作在管子的饱和截止模式下,效率非常高,H型桥式电路保证了简单的实现转速和方向的控制,电子管的开关速度很快,稳定性也极强,是一种广泛采用的 PWM调速技术.现市面上有很多此种芯片,我选用了L298N.这种调速方式有调速特性优良、调整平滑、调速范围广、过载能力大,能承受频繁的负载冲击,还可以实现频繁的无级快速启动、制动和反转等优点.因此决定采用使用功率三极管作为功率放大器的输出控制直流电机.图1 H桥式电路1.3 循迹模块方案一:采用简易光电传感器结合外围电路探测,但实际效果并不理想,对行驶过程中的稳定性要求很高,且误测几率较大、易受光线环境和路面介质影响.在使用过程极易出现问题,而且容易因为该部件造成整个系统的不稳定.故最终未采用该方案.方案二:采用三只红外对管,平均置于小车车头前端,根据三只光电开关接受到白线与黑线的情况来控制小车转向来调整车向,测试表明,只要合理安装好三只光电开关的位置就可以很好的实现循迹的功能.(参考文献[3])通过比较,我选取第二种方案来实现循迹.1.4 机械系统本题目要求小车的机械系统稳定、灵活、简单,可选用三轮和四轮式,本计采用三轮式. 驱动部分:采用玩具小车原有的驱动电机,由L298N双通道马达驱动模块驱动前后两个马达,其力矩完全可以达到模拟效果.电池的安装:将电池放置在车体的下面,降低车体重心,提高稳定性,同时可增加驱动轮的抓地力,减小轮子空转所引起的误差.电源模块:采用6支1.5V电池给电机供电,再用稳压芯片对电池电压进行降压给单片机.采用一套电源可减少小车的负重.电压转换电路如图2所示.整体组装效果如图3所示.图2 5V稳压电路2 主要器件介绍2.1 STC89C52的介绍该单片机是宏晶公司生产的STC89C52,其片内带有8K字节闪速可编程、可擦除寿命1000次程序存储器.该产品与工业标准8051中单片机完全兼容,并且还可支持两种软件可选的省电模式,工作时钟最高可达到24MHz.使实时控制、实时处理的功能更加完善,简化了硬件配置.与MCS-51单片机产品兼容、8K字节在系统可编程Flash存储器、 1000次擦写周期、全静态操作:0Hz~33Hz 、三级加密程序存储器、 32个可编程I/O口线、三个16位定时器/计数器八个中断源、全双工UART串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符 .STC89C52实物如图4.图4 STC89C52引脚示意图STC89C52 是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器.使用高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容.片上Flash允许程序存储器在系统可编程,亦适于常规编程器.在单芯片上,拥有灵巧的8 位CPU 和在线系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案. STC89C52具有以下标准功能:8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路.另外,STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式.空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作.掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止.8 位微控制器8K字节在系统可编程Flash P0 口:P0口是一个8位漏极开路的双向I/O口.作为输出口,每位能驱动8个TTL 逻辑电平.对P0端口写“1”时,引脚用作高阻抗输入.当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用.在这种模式下,P0具有内部上拉电阻.在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节.程序校验时,需要外部上拉电阻.P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个TTL 逻辑电平.对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用.作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL).此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2 的触发输入(P1.1/T2EX),具体如下表所示. 在flash编程和校验时,P1口接收低8位地址字节.引脚号第二功能P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5 MOSI(在线系统编程用)P1.6 MISO(在线系统编程用)P1.7 SCK(在线系统编程用)P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个TTL 逻辑电平.对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用.作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL).在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX @DPTR)时,P2 口送出高八位地址.在这种应用中,P2 口使用很强的内部上拉发送1.在使用8位地址(如MOVX @RI)访问外部数据存储器时,P2口输出P2锁存器的内容.在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号.P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能驱动4 个TTL 逻辑电平.对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用.作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL). P3口亦作为STC89C52特殊功能(第二功能)使用,如下表所示.在flash编程和校验时,P3口也接收一些控制信号.端口引脚第二功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 INTO(外中断0)P3.3 INT1(外中断1)P3.4 TO(定时/计数器0)P3.5 T1(定时/计数器1)P3.6 WR(外部数据存储器写选通)P3.7 RD(外部数据存储器读选通)此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号.RST——复位输入.当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位.ALE/PROG——当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节.一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的.要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲.对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG).如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作.该位置位后,只有一条MOVX和MOVC指令才能将ALE激活.此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效.PSEN——程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当STC89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号.EA/VPP——外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地).需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态.如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令.FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp.2.2 L298N的介绍L298是ST公司生产的一种高电压、大电流电机驱动芯片.该芯片的主要特点是:工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器、线圈等感性负载;采用标准TTL逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作;有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路.2.2.1 L298的引脚功能L298芯片的引脚图如下图5,其引脚功能见表1.图5 L298引脚图表1 L298引脚功能表引脚 符号 功能 1SENSING A 与地连接电流检测电阻,并向驱动芯片反馈检测到的信号 15SENSING B 与地连接电流检测电阻,并向驱动芯片反馈检测到的信号 2OUT1 此脚是全桥式驱动器A 的两个输出端,用来连接负载 3OUT2 此脚是全桥式驱动器A 的两个输出端,用来连接负载 4Vs 电机驱动电源输入端 5IN1 输入标准的TTL 逻辑电平信号,控制全桥式驱动器A 的开关 7IN2 输入标准的TTL 逻辑电平信号,控制全桥式驱动器A 的开关 6118910121314 ENABLE A 使能控制端.输入标准TTL 逻辑电平信号;低电平时全桥式驱动器禁 工作. ENABLE B 使能控制端.输入标准TTL 逻辑电平信号;低电平时全桥式驱动器禁止工作. GND 接地端,芯片本身的散热片与8脚相通Vss 逻辑控制部分的电源输人端口 IN3 输入标准的TTL 逻辑电平信号,控制全桥式驱动器B 的开关 IN4 输入标准的TTL 逻辑电平信号,控制全桥式驱动器B 的开关 OUT3 此脚是全桥式驱动器B 的两个输出端,用来连接负载 OUT4 此脚是全桥式驱动器B 的两个输出端,用来连接负载 2.2.2 L298的运行参数L298的运行参数见如下表3表2 L198的运行参数参数测试环境最小值最大值驱动电源电压 Vs逻辑电源电压Vss输入低电平电压ViL输入高电平电压ViH使能端低电平电压Ven=L使能端高电平电压Ven=H全桥式驱动电压Vce(sat)持续工作时-----IL=1A IL=2A2.5V4.5V0.3V2.3V0.3V2.3V1.8V46V7V1.5VVss1.5VVss4.9V2.2.3 L298的逻辑控制L298的逻辑控制见如下表3.其中C、D分别为IN1、IN2或IN3、IN4;L为低电平,H 为高电平,※为不管是低电平还是高电平.表3 L298对直流电机控制的逻辑真值表输入输出Ven=H C=H;D=L 正转C=L;D=H 反转C=D 制动Ven=L C=※;D=※没有输出,电机不工作2.3 TCRT5000的介绍TCRT5000具有结构紧凑建设发光光源和探测器排列在同一方向,以感知对象的存在从对象使用反射红外线光束.工作波长为950毫米.该探测器光电晶体管组成.工作时由蓝色发射管发射红外线,红外线由遮挡物反射回来被接收管接收.接收反射光线后的接收管呈导通状态,与一电阻串联即可主城一个由发射管控制的分压电路,由此可实现对遮挡物反射光线强度的检测.我们经常利用这一特性去实现颜色识别.其实物图如图6,引脚图如图7所示.图6 TCRT5000实物图图7 TCRT5000引脚定义2.4 LM324的介绍M324是四运放集成电路,它采用14脚双列直插塑料封装.它的内部包含四组形式完全相同的运算放大器,除电源共用外,四组运放相互独立.每一组运算放大器可用图8所示的符号来表示,它有5个引出脚,其中“+”、“-”为两个信号输入端,“V+”、“V-”为正、负电源端,“Vo”为输出端.两个信号输入端中,Vi-(-)为反相输入端,表示运放输出端Vo的信号与该输入端的相位相反;Vi+(+)为同相输入端,表示运放输出端Vo的信号与该输入端的相位相同.LM324的引脚排列见图9.图8 单个运放符号图9LM324引脚图下面介绍LM324在电压比较电路中的应用.当去掉运放的反馈电阻时,或者说反馈电阻趋于无穷大时(即开环状态),理论上认为运放的开环放大倍数也为无穷大(实际上是很大,如LM324运放开环放大倍数为100dB,既10万倍).此时运放便形成一个电压比较器,其输出如不是高电平(V+),就是低电平(V-或接地).当正输入端电压高于负输入端电压时,运放输出低电平.图10 LM324电压比较电路如图10中使用两个运放组成一个电压上下限比较器,电阻R1、R1ˊ组成分压电路,为运放A1设定比较电平U1;电阻R2、R2ˊ组成分压电路,为运放A2设定比较电平U2.输入电压U1同时加到A1的正输入端和A2的负输入端之间,当Ui >U1时,运放A1输出高电平;当Ui <U2时,运放A2输出高电平.运放A1、A2只要有一个输出高电平,晶体管BG1就会导通,发光二极管LED就会点亮.若选择U1>U2,则当输入电压Ui越出[U2,U1]区间范围时,LED点亮,这便是一个电压双限指示器.若选择U2 > U1,则当输入电压在[U2,U1]区间范围时,LED点亮,这是一个“窗口”电压指示器.此电路与各类传感器配合使用,稍加变通,便可用于各种物理量的双限检测、短路、断路报警等.3 硬件设计3.1总体设计从智能循迹小车的设计要求出发,经过前面的方案论证我决定用原有的玩具小车作为设计模型.再在小车身上加上轨迹识别和马达驱动装置来完成整个功能.智能小车采用后轮驱动,前轮转换方向.循迹红外发射与接收管分别装在车头下的左中右.当车身下左边的传感器检测到超出黑线时,前轮右转,当车身下右边传感器检测到超出黑线时,车轮左转.直到小车完全回到黑线.如果转向过程中中间传感器也检测到超出黑线则说明小车以这个转向角度不能回到黑线,则改变前轮方向并后退.同样可以起到转向的作用,避免小车离线太远最终回不到黑线上.当小车完全回到黑线再继续向前,在检测到下一次出线后再进行同样的调整.信号流程如图11所示.图11 整体设计框图3.2TCRT5000黑色轨迹识别电路小车循迹原理是小车在画有黑线的白纸“路面”上行驶,由于黑线和白纸对光线的反射系数不同,可根据接收到的反射光的强弱来判断“道路”—黑线.本次设计规定正常行驶时三个红外探头都在黑色轨迹之内,如果有探头检测到车体开始偏离轨道则由控制系统做出相应响应使车体回到轨道上.此电路模块就是用于检测车体是否超出轨道并反馈给下一级电路.这一方法经常被叫做红外探测法.红外探测法,即利用红外线在不同颜色的物理表面具有不同的反射性质的特点.在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色地面时发生漫发射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,则小车上的接收管接收不到信号.如图12轨迹识别电路所示,发射管(1、2端)与阻值为330欧姆的电阻串联发射红外线.接收管(3、4)与阻值为47K欧姆的电阻串联.在没有接收到反射光线时接收管截止呈高阻态,TX输出高电平.当接收管接收到反射光线时,接收管被导通,并且电阻远小于47K,TX输出低电平.图12 黑色轨迹设别电路3.3LM324电压比较电路电压比较器式在运放的基础上去掉反馈电阻使放大倍数趋于无穷大.此时形成了一个电压比较器.当同相端电压大于反相端电压时比较器输出高电平,当反相端电压高于同相端电压时输出端输出度电平.如图13电压比较电路,用了LM324内部3个单独的运放外接一个可调电阻输入基准电压.基准电压加在反相输入端上,上一级电路反馈过来的电压从电压比较器的同相端输入.当TCRT5000反馈的电压高于基准电压时,比较器输出高电平.当TCRT5000反馈的电压低于基准电压时,比较器输出低电平.这样就使探头把地面的反射光线的程度只分成了两种情况,易于单片机识别.考虑到地面的粗超程度不一样我们可以用可调电位器去调节基准电压,经过轨道实际测量后确定基准电压的值.图13电压比较电路3.4 STC89C52单片机控制电路单片机控制电路由但单片机最小系统组成,主要作用是接受探头传来的电压信号,再通过程序设定的逻辑算法给出下一级马达驱动电路的指令.单片机最小系统包括主控IC,外部时钟电路,复位电路和电源组成.本设计采用如图14所示的单片机最先系统.在此就图14为参照解释一下51单片机最小系统各子电路的特点.图14单片机主控电路3.4.1 时钟电路XTAL1 和XTAL2 是独立的输入和输出反相放大器,它们可以被配置为使用石英晶振的片内振荡器,或者是器件直接由外部时钟驱动.图14 中采用的是内时钟模式,即采用利用芯片内部的振荡电路,在XTAL1、XTAL2 的引脚上外接定时元件(一个石英晶体和两个电容),内部振荡器便能产生自激振荡.一般来说晶振可以在1.2 ~ 12MHz 之间任选,甚至可以达到24MHz 或者更高,但是频率越高功耗也就越大.在本实验套件中采用的11.0592M 的石英晶振.和晶振并联的两个电容的大小对振荡频率有微小影响,可以起到频率微调作用.当采用石英晶振时,电容可以在20 ~ 40pF 之间选择(本实验套件使用30pF);当采用陶瓷谐振器件时,电容要适当地增大一些,在30 ~ 50pF 之间.通常选取33pF 的陶瓷电容就可以了.另外值得一提的是如果在设计单片机系统的印刷电路板(PCB)时,晶体和电容应尽可能与单片机芯片靠近,以减少引线的寄生电容,保证振荡器可靠工作.检测晶振是否起振的方法可以用示波器可以观察到XTAL2 输出的十分漂亮的正弦波,也可以使用万用表测量(把挡位打到直流挡,这个时候测得的是有效值)XTAL2 和地之间的电压时,可以看到2V 左右一点的电压.3.4.2 复位电路在单片机系统中,复位电路是非常关键的,当程序跑飞(运行不正常)或死机(停止运行)时,就需要进行复位.MCS-5l 系列单片机的复位引脚RST(第9 管脚)出现2个机器周期以上的高电平时,单片机就执行复位操作.如果RST 持续为高电平,单片机就处于循环复位状态.复位操作通常有两种基本形式:上电自动复位和开关复位.图14 中所示的复位电路就包括了这两种复位方式.上电瞬间,电容两端电压不能突变,此时电容的负极和RESET 相连,电压全部加在了电阻上,RESET 的输入为高,芯片被复位.随之+5V电源给电容充电,电阻上的电压逐渐减小,最后约等于0,芯片正常工作.并联在电容的两端为复位按键,当复位按键没有被按下的时候电路实现上电复位,在芯片正常工作后,通过按下按键使RST管脚出现高电平达到手动复位的效果.一般来说,只要RST 管脚上保持10ms 以上的高电平,就能使单片机有效的复位.图中所示的复位电阻和电容为经典值,实际制作是可以用同一数量级的电阻和电容代替,读者也可自行计算RC 充电时间或在工作环境实际测量,以确保单片机的复位电路可靠.3.4.3 EA/VPP(31 脚)的功能和接法51 单片机的EA/VPP(31 脚)是内部和外部程序存储器的选择管脚.当EA 保持高电平时,单片机访问内部程序存储器;当EA 保持低电平时,则不管是否有内部程序存储器,只访问外部存储器.对于现今的绝大部分单片机来说,其内部的程序存储器(一般为flash)容量都很大,因此基本上不需要外接程序存储器,而是直接使用内部的存储器.在本实验套件中,EA 管脚接到了VCC 上,只使用内部的程序存储器.3.4.4 P0 口外接上拉电阻51 单片机的P0 端口为开漏输出,内部无上拉电阻(见图15).所以在当做普通I/O 输出数据时,由于V2 截止,输出级是漏极开路电路,要使“1”信号(即高电平)正常输出,必须外接上拉电阻.图15 P0端口的1位结构。
基于STM32单片机的智能巡线小车的设计
基于STM32单片机的智能巡线小车的设计概述本文档介绍了一种基于STM32单片机的智能巡线小车的设计方案。
该方案旨在实现小车在固定轨道上自动巡线的功能,通过使用STM32单片机和传感器模块,实现对线路的检测和控制,进而实现小车的自主导航。
硬件设计智能巡线小车的硬件设计主要包括以下几个方面:1. STM32单片机:选择适合的STM32单片机作为主控芯片,具有足够的计算能力和IO口数量,用于控制小车的各种功能。
2. 电机驱动模块:使用电机驱动模块控制小车的电机,实现小车的前进、后退、转向等动作。
3. 巡线传感器模块:使用巡线传感器模块实时检测线路的位置,并将检测结果传输给STM32单片机。
4. 电源模块:使用适配器或者电池等电源模块为小车提供稳定的电源。
软件设计智能巡线小车的软件设计主要包括以下几个方面:1. 接口程序设计:编写STM32单片机的接口程序,用于与巡线传感器模块和电机驱动模块进行通信,实现数据的读取和控制信号的发送。
2. 算法设计:设计线路检测算法,通过巡线传感器模块检测到的数据进行分析和处理,确定小车应该采取的动作,如前进、后退、转向等。
3. 控制程序设计:编写控制程序,根据算法的结果控制电机驱动模块,实现小车的自主导航功能。
4. 用户界面设计:设计一个基本的用户界面,用于显示小车的状态信息和操作界面。
实施步骤基于STM32单片机的智能巡线小车的实施步骤如下:1. 进行硬件搭建:按照设计要求,将STM32单片机、电机驱动模块、巡线传感器模块和电源模块等连接起来,并进行必要的电路连接和固定。
2. 开发接口程序:编写STM32单片机的接口程序,实现与巡线传感器模块和电机驱动模块的通信。
3. 设计算法和控制程序:根据巡线传感器模块的输出数据,设计线路检测算法,确定小车的动作,编写相应的控制程序。
4. 实现用户界面:开发一个简单的用户界面,显示小车的状态信息和操作界面。
5. 调试和测试:对小车进行调试和测试,确保线路检测和控制功能的正常运行。
单片机课程设计-自动循迹小车
河北科技师范学院单片机原理及应用课程设计自动寻迹小车的设计学院名称:机电工程学院专业名称:电气工程及其自动化 ****:** 学生学号:********** 指导教师:马继伟刘盛韬2017年9月22日摘要本设计是一种基于单片机控制的简易自动寻迹小车系统,包括小车系统构成软硬件设计方法。
小车以AT89C52为控制核心为控制核心, , , 用单片机产生用单片机产生PWM 波,控制小车速度。
利用红外光电传感器对路面黑色轨迹进行检测红外光电传感器对路面黑色轨迹进行检测,,并将路面检测信号反馈给单片机。
单片机对采集到的信号予以分析判断采集到的信号予以分析判断,,及时控制驱动电机以调整小车转向及时控制驱动电机以调整小车转向,,从而使小车能够沿着黑色轨迹自动行驶黑色轨迹自动行驶,,实现小车自动寻迹的目的。
实现小车自动寻迹的目的。
关键词:单片机AT89C51 AT89C51 光电传感器光电传感器 直流电机直流电机 自动循迹小车1任务要求(1) 总体流程:总体流程:设计一个基于直流电机的自动寻迹小车,车能够自动检测地面黑色轨迹,并沿着黑色车轨迹行驶。
系统方案方框图如图1所示。
所示。
图1 系统方案方框图系统方案方框图(2)控制系统总体设计:)控制系统总体设计:自动循迹小车控制系统由主控制电路模块、稳压电源模块、红外检测模块、电机及驱动模块等部分组成,控制系统的结构框图如图2 所示。
图2控制系统的结构框图2系统工作原理这里的循迹是指小车在白色地板上循黑线行走,由于黑线和白色地板对光线的反射系数不同,可以根据接收到的反射光的强弱来判断“道路”。
通常采取的方法是红外探测法。
红外探测法,即利用红外线在不同颜色的物体表面具有不同的反射性质的特点,在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色纸质地板时发生漫反射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,小车上的接收管接收不到红外光。
单片机就是否收到反射回来的红外光为依据来确定黑线的位置和小车的行走路线。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1方案设计与论证 (1)1.1 主控系统 (1)1.2 电机驱动模块 (1)1.3 循迹模块 (2)1.4 机械系统 (3)2 主要器件介绍 (3)2.1 STC89C52的介绍 (3)2.2 L298N的介绍 (6)2.2.1 L298的引脚功能 (6)2.2.2 L298的运行参数 (7)2.2.3 L298的逻辑控制 (8)2.3 TCRT5000的介绍 (8)2.4 LM324的介绍 (9)3 硬件设计 (10)3.1总体设计 (10)3.2TCRT5000黑色轨迹识别电路 (11)3.3LM324电压比较电路 (12)3.4 STC89C52单片机控制电路 (12)3.4.1 时钟电路 (13)3.4.2 复位电路 (13)3.4.3 EA/VPP(31 脚)的功能和接法 (14)3.4.4 P0 口外接上拉电阻 (14)3.5 L298N马达驱动电路 (15)4程序设计 (16)参考文献 (20)摘要本设计是一种基于单片机控制的简易自动寻迹小车系统.设计旨在设计出一款可以自主按照人们预设的轨迹行走(或者完全自主行走)并完成指定任务的小车.从设计的功能要求出发,设计包括小车机械构成设计和控制系统的软硬件设计.为了适应复杂的地形我采用稳定性比较高的三轮构架式,用后轮驱动万向轮换向的控制模式.控制系统以STC89C52为控制核心, 用单片机产生PWM波,控制小车速度.利用红外光电传感器对路面黑色轨迹进行检测,并确定小车当前的位置状态,再将路面检测信号反馈给单片机.单片机对采集到的信号予以分析判断,及时控制驱动电机以调整小车转向,从而使小车能够沿着黑色轨迹自动行驶,实现小车自动寻迹的目的.关键词:循迹小车,单片机,红外传感器1方案设计与论证根据要求,确定如下方案:在现有玩具电动车的基础上,加装光电检测器,实现对电动车的位置、运行状况的实时测量,并将测量数据传送至单片机进行处理,然后由单片机根据所检测的各种数据实现对电动车的智能控制.这种方案能实现对电动车的运动状态进行实时控制,控制灵活、可靠,精度高,可满足对系统的各项要求.1.1 主控系统根据设计要求,我认为此设计属于多输入量的复杂程序控制问题.据此,拟定了以下两种方案并进行了综合的比较论证,具体如下:方案一:选用一片CPLD(如EPM7128LC84-15)作为系统的核心部件,实现控制与处理的功能.CPLD具有速度快、编程容易、资源丰富、开发周期短等优点,可利用VHDL语言进行编写开发.但CPLD在控制上较单片机有较大的劣势.同时,CPLD的处理速度非常快,而小车的行进速度不可能太高,那么对系统处理信息的要求也就不会太高,在这一点上,MCU就已经可以胜任了.若采用该方案,必将在控制上遇到许许多多不必要增加的难题.为此,我们不采用该种方案,进而提出了第二种设想.方案二:采用单片机作为整个系统的核心,用其控制行进中的小车,以实现其既定的性能指标.充分分析我们的系统,其关键在于实现小车的自动控制,而在这一点上,单片机就显现出来它的优势——控制简单、方便、快捷.这样一来,单片机就可以充分发挥其资源丰富、有较为强大的控制功能及可位寻址操作功能、价格低廉等优点.因此,这种方案是一种较为理想的方案.针对本设计特点——多开关量输入的复杂程序控制系统,需要擅长处理多开关量的标准单片机,而不能用精简I/O口和程序存储器的小体积单片机,D/A、A/D功能也不必选用.根据这些分析,我选定了STC89C52RA单片机作为本设计的主控装置,51单片机具有功能强大的位操作指令,I/O口均可按位寻址,程序空间多达8K,对于本设计也绰绰有余,更可贵的是51单片机价格非常低廉.在综合考虑了传感器、两部电机的驱动等诸多因素后,我们决定采用一片单片机,充分利用STC89C52单片机的资源.1.2 电机驱动模块方案一:采用继电器对电动机的开或关进行控制,通过开关的切换对小车的方向进行调整.此方案的优点是电路较为简单,缺点是继电器的响应时间慢,易损坏,寿命较短,可靠性不高. 方案二:采用电阻网络或数字电位器调节电动机的分压,从而达到分压的目的.但电阻网络只能实现有级调速,而数字电阻的元器件价格比较昂贵.更主要的问题在于一般的电动机电阻很小,但电流很大,分压不仅会降低效率,而且实现很困难.方案三:采用功率三极管作为功率放大器的输出控制直流电机.线性型驱动的电路结构和原理简单,加速能力强,采用由达林顿管组成的 H型桥式电路(如图3.1).用单片机控制达林顿管使之工作在占空比可调的开关状态下,精确调整电动机转速.这种电路由于工作在管子的饱和截止模式下,效率非常高,H型桥式电路保证了简单的实现转速和方向的控制,电子管的开关速度很快,稳定性也极强,是一种广泛采用的 PWM调速技术.现市面上有很多此种芯片,我选用了L298N.这种调速方式有调速特性优良、调整平滑、调速范围广、过载能力大,能承受频繁的负载冲击,还可以实现频繁的无级快速启动、制动和反转等优点.因此决定采用使用功率三极管作为功率放大器的输出控制直流电机.图1 H桥式电路1.3 循迹模块方案一:采用简易光电传感器结合外围电路探测,但实际效果并不理想,对行驶过程中的稳定性要求很高,且误测几率较大、易受光线环境和路面介质影响.在使用过程极易出现问题,而且容易因为该部件造成整个系统的不稳定.故最终未采用该方案.方案二:采用三只红外对管,平均置于小车车头前端,根据三只光电开关接受到白线与黑线的情况来控制小车转向来调整车向,测试表明,只要合理安装好三只光电开关的位置就可以很好的实现循迹的功能.(参考文献[3])通过比较,我选取第二种方案来实现循迹.1.4 机械系统本题目要求小车的机械系统稳定、灵活、简单,可选用三轮和四轮式,本计采用三轮式. 驱动部分:采用玩具小车原有的驱动电机,由L298N双通道马达驱动模块驱动前后两个马达,其力矩完全可以达到模拟效果.电池的安装:将电池放置在车体的下面,降低车体重心,提高稳定性,同时可增加驱动轮的抓地力,减小轮子空转所引起的误差.电源模块:采用6支1.5V电池给电机供电,再用稳压芯片对电池电压进行降压给单片机.采用一套电源可减少小车的负重.电压转换电路如图2所示.整体组装效果如图3所示.图2 5V稳压电路2 主要器件介绍2.1 STC89C52的介绍该单片机是宏晶公司生产的STC89C52,其片内带有8K字节闪速可编程、可擦除寿命1000次程序存储器.该产品与工业标准8051中单片机完全兼容,并且还可支持两种软件可选的省电模式,工作时钟最高可达到24MHz.使实时控制、实时处理的功能更加完善,简化了硬件配置.与MCS-51单片机产品兼容、8K字节在系统可编程Flash存储器、 1000次擦写周期、全静态操作:0Hz~33Hz 、三级加密程序存储器、 32个可编程I/O口线、三个16位定时器/计数器八个中断源、全双工UART串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符 .STC89C52实物如图4.图4 STC89C52引脚示意图STC89C52 是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器.使用高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容.片上Flash允许程序存储器在系统可编程,亦适于常规编程器.在单芯片上,拥有灵巧的8 位CPU 和在线系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案. STC89C52具有以下标准功能:8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路.另外,STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式.空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作.掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止.8 位微控制器8K字节在系统可编程Flash P0 口:P0口是一个8位漏极开路的双向I/O口.作为输出口,每位能驱动8个TTL 逻辑电平.对P0端口写“1”时,引脚用作高阻抗输入.当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用.在这种模式下,P0具有内部上拉电阻.在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节.程序校验时,需要外部上拉电阻.P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个TTL 逻辑电平.对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用.作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL).此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2 的触发输入(P1.1/T2EX),具体如下表所示. 在flash编程和校验时,P1口接收低8位地址字节.引脚号第二功能P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5 MOSI(在线系统编程用)P1.6 MISO(在线系统编程用)P1.7 SCK(在线系统编程用)P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个TTL 逻辑电平.对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用.作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL).在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX @DPTR)时,P2 口送出高八位地址.在这种应用中,P2 口使用很强的内部上拉发送1.在使用8位地址(如MOVX @RI)访问外部数据存储器时,P2口输出P2锁存器的内容.在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号.P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能驱动4 个TTL 逻辑电平.对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用.作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL). P3口亦作为STC89C52特殊功能(第二功能)使用,如下表所示.在flash编程和校验时,P3口也接收一些控制信号.端口引脚第二功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 INTO(外中断0)P3.3 INT1(外中断1)P3.4 TO(定时/计数器0)P3.5 T1(定时/计数器1)P3.6 WR(外部数据存储器写选通)P3.7 RD(外部数据存储器读选通)此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号.RST——复位输入.当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位.ALE/PROG——当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节.一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的.要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲.对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG).如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作.该位置位后,只有一条MOVX和MOVC指令才能将ALE激活.此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效.PSEN——程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当STC89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号.EA/VPP——外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地).需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态.如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令.FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp.2.2 L298N的介绍L298是ST公司生产的一种高电压、大电流电机驱动芯片.该芯片的主要特点是:工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器、线圈等感性负载;采用标准TTL逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作;有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路.2.2.1 L298的引脚功能L298芯片的引脚图如下图5,其引脚功能见表1.图5 L298引脚图表1 L298引脚功能表引脚 符号 功能1SENSING A 与地连接电流检测电阻,并向驱动芯片反馈检测到的信号 15SENSING B 与地连接电流检测电阻,并向驱动芯片反馈检测到的信号 2OUT1 此脚是全桥式驱动器A 的两个输出端,用来连接负载 3OUT2 此脚是全桥式驱动器A 的两个输出端,用来连接负载 4Vs 电机驱动电源输入端 5IN1 输入标准的TTL 逻辑电平信号,控制全桥式驱动器A 的开关 7IN2 输入标准的TTL 逻辑电平信号,控制全桥式驱动器A 的开关 6118910121314 ENABLE A 使能控制端.输入标准TTL 逻辑电平信号;低电平时全桥式驱动器禁 工作. ENABLE B 使能控制端.输入标准TTL 逻辑电平信号;低电平时全桥式驱动器禁止工作. GND 接地端,芯片本身的散热片与8脚相通Vss 逻辑控制部分的电源输人端口 IN3 输入标准的TTL 逻辑电平信号,控制全桥式驱动器B 的开关 IN4 输入标准的TTL 逻辑电平信号,控制全桥式驱动器B 的开关 OUT3 此脚是全桥式驱动器B 的两个输出端,用来连接负载 OUT4 此脚是全桥式驱动器B 的两个输出端,用来连接负载 2.2.2 L298的运行参数L298的运行参数见如下表3表2 L198的运行参数参数测试环境 最小值 最大值 驱动电源电压 Vs逻辑电源电压Vss输入低电平电压ViL 输入高电平电压 ViH 使能端低电平电压Ven=L 使能端高电平电压Ven=H 全桥式驱动电压Vce (sat ) 持续工作时 - - - - - IL=1A IL=2A2.5V 4.5V 0.3V 2.3V0.3V2.3V1.8V 46V 7V 1.5V Vss 1.5V Vss 4.9V2.2.3 L298的逻辑控制L298的逻辑控制见如下表3.其中C 、D 分别为IN1、IN2或IN3、IN4;L 为低电平,H 为高电平,※为不管是低电平还是高电平.表3 L298对直流电机控制的逻辑真值表 输入输出Ven=H C=H ;D=L正转 C=L ;D=H反转 C=D制动 Ven=L C=※;D=※ 没有输出,电机不工作2.3 TCRT5000的介绍TCRT5000具有结构紧凑建设发光光源和探测器排列在同一方向,以感知对象的存在从对象使用反射红外线光束.工作波长为950毫米.该探测器光电晶体管组成.工作时由蓝色发射管发射红外线,红外线由遮挡物反射回来被接收管接收.接收反射光线后的接收管呈导通状态,与一电阻串联即可主城一个由发射管控制的分压电路,由此可实现对遮挡物反射光线强度的检测.我们经常利用这一特性去实现颜色识别.其实物图如图6,引脚图如图7所示.图6 TCRT5000实物图 图7 TCRT5000引脚定义2.4 LM324的介绍M324是四运放集成电路,它采用14脚双列直插塑料封装.它的内部包含四组形式完全相同的运算放大器,除电源共用外,四组运放相互独立.每一组运算放大器可用图8所示的符号来表示,它有5个引出脚,其中“+”、“-”为两个信号输入端,“V+”、“V-”为正、负电源端,“Vo”为输出端.两个信号输入端中,Vi-(-)为反相输入端,表示运放输出端Vo的信号与该输入端的相位相反;Vi+(+)为同相输入端,表示运放输出端Vo的信号与该输入端的相位相同.LM324的引脚排列见图9.图8 单个运放符号图9LM324引脚图下面介绍LM324在电压比较电路中的应用.当去掉运放的反馈电阻时,或者说反馈电阻趋于无穷大时(即开环状态),理论上认为运放的开环放大倍数也为无穷大(实际上是很大,如LM324运放开环放大倍数为100dB,既10万倍).此时运放便形成一个电压比较器,其输出如不是高电平(V+),就是低电平(V-或接地).当正输入端电压高于负输入端电压时,运放输出低电平.图10 LM324电压比较电路如图10中使用两个运放组成一个电压上下限比较器,电阻R1、R1ˊ组成分压电路,为运放A1设定比较电平U1;电阻R2、R2ˊ组成分压电路,为运放A2设定比较电平U2.输入电压U1同时加到A1的正输入端和A2的负输入端之间,当Ui >U1时,运放A1输出高电平;当Ui <U2时,运放A2输出高电平.运放A1、A2只要有一个输出高电平,晶体管BG1就会导通,发光二极管LED 就会点亮.若选择U1>U2,则当输入电压Ui 越出[U2,U1]区间范围时,LED 点亮,这便是一个电压双限指示器.若选择U2 > U1,则当输入电压在[U2,U1]区间范围时,LED 点亮,这是一个“窗口”电压指示器.此电路与各类传感器配合使用,稍加变通,便可用于各种物理量的双限检测、短路、断路报警等.3 硬件设计3.1总体设计从智能循迹小车的设计要求出发,经过前面的方案论证我决定用原有的玩具小车作为设计模型.再在小车身上加上轨迹识别和马达驱动装置来完成整个功能.智能小车采用后轮驱动,前轮转换方向.循迹红外发射与接收管分别装在车头下的左中右.当车身下左边的传感器检测到超出黑线时,前轮右转,当车身下右边传感器检测到超出黑线时,车轮左转.直到小车完全回到黑线.如果转向过程中中间传感器也检测到超出黑线则说明小车以这个转向角度不能回到黑线,则改变前轮方向并后退.同样可以起到转向的作用,避免小车离线太远最终回不到黑线上.当小车完全回到黑线再继续向前,在检测到下一次出线后再进行同样的调整.信号流程如图11所示.图11 整体设计框图单片机控制系统 电压比较马达驱动模块红外轨迹识别3.2TCRT5000黑色轨迹识别电路小车循迹原理是小车在画有黑线的白纸“路面”上行驶,由于黑线和白纸对光线的反射系数不同,可根据接收到的反射光的强弱来判断“道路”—黑线.本次设计规定正常行驶时三个红外探头都在黑色轨迹之内,如果有探头检测到车体开始偏离轨道则由控制系统做出相应响应使车体回到轨道上.此电路模块就是用于检测车体是否超出轨道并反馈给下一级电路.这一方法经常被叫做红外探测法.红外探测法,即利用红外线在不同颜色的物理表面具有不同的反射性质的特点.在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色地面时发生漫发射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,则小车上的接收管接收不到信号.如图12轨迹识别电路所示,发射管(1、2端)与阻值为330欧姆的电阻串联发射红外线.接收管(3、4)与阻值为47K欧姆的电阻串联.在没有接收到反射光线时接收管截止呈高阻态,TX输出高电平.当接收管接收到反射光线时,接收管被导通,并且电阻远小于47K,TX输出低电平.图12 黑色轨迹设别电路3.3LM324电压比较电路电压比较器式在运放的基础上去掉反馈电阻使放大倍数趋于无穷大.此时形成了一个电压比较器.当同相端电压大于反相端电压时比较器输出高电平,当反相端电压高于同相端电压时输出端输出度电平.如图13电压比较电路,用了LM324内部3个单独的运放外接一个可调电阻输入基准电压.基准电压加在反相输入端上,上一级电路反馈过来的电压从电压比较器的同相端输入.当TCRT5000反馈的电压高于基准电压时,比较器输出高电平.当TCRT5000反馈的电压低于基准电压时,比较器输出低电平.这样就使探头把地面的反射光线的程度只分成了两种情况,易于单片机识别.考虑到地面的粗超程度不一样我们可以用可调电位器去调节基准电压,经过轨道实际测量后确定基准电压的值.图13电压比较电路3.4 STC89C52单片机控制电路单片机控制电路由但单片机最小系统组成,主要作用是接受探头传来的电压信号,再通过程序设定的逻辑算法给出下一级马达驱动电路的指令.单片机最小系统包括主控IC,外部时钟电路,复位电路和电源组成.本设计采用如图14所示的单片机最先系统.在此就图14为参照解释一下51单片机最小系统各子电路的特点.图14单片机主控电路3.4.1 时钟电路XTAL1 和XTAL2 是独立的输入和输出反相放大器,它们可以被配置为使用石英晶振的片内振荡器,或者是器件直接由外部时钟驱动.图14 中采用的是内时钟模式,即采用利用芯片内部的振荡电路,在XTAL1、XTAL2 的引脚上外接定时元件(一个石英晶体和两个电容),内部振荡器便能产生自激振荡.一般来说晶振可以在1.2 ~ 12MHz 之间任选,甚至可以达到24MHz 或者更高,但是频率越高功耗也就越大.在本实验套件中采用的11.0592M 的石英晶振.和晶振并联的两个电容的大小对振荡频率有微小影响,可以起到频率微调作用.当采用石英晶振时,电容可以在20 ~ 40pF 之间选择(本实验套件使用30pF);当采用陶瓷谐振器件时,电容要适当地增大一些,在30 ~ 50pF 之间.通常选取33pF 的陶瓷电容就可以了.另外值得一提的是如果在设计单片机系统的印刷电路板(PCB)时,晶体和电容应尽可能与单片机芯片靠近,以减少引线的寄生电容,保证振荡器可靠工作.检测晶振是否起振的方法可以用示波器可以观察到XTAL2 输出的十分漂亮的正弦波,也可以使用万用表测量(把挡位打到直流挡,这个时候测得的是有效值)XTAL2 和地之间的电压时,可以看到2V 左右一点的电压.3.4.2 复位电路在单片机系统中,复位电路是非常关键的,当程序跑飞(运行不正常)或死机(停止运行)时,就需要进行复位.MCS-5l 系列单片机的复位引脚RST(第9 管脚)出现2个机器周期以上的高电平时,单片机就执行复位操作.如果RST 持续为高电平,单片机就处于循环复位状态.复位操作通常有两种基本形式:上电自动复位和开关复位.图14 中所示的复位电路就包括了这两种复位方式.上电瞬间,电容两端电压不能突变,此时电容的负极和RESET 相连,电压全部加在了电阻上,RESET 的输入为高,芯片被复位.随之+5V电源给电容充电,电阻上的电压逐渐减小,最后约等于0,芯片正常工作.并联在电容的两端为复位按键,当复位按键没有被按下的时候电路实现上电复位,在芯片正常工作后,通过按下按键使RST管脚出现高电平达到手动复位的效果.一般来说,只要RST 管脚上保持10ms 以上的高电平,就能使单片机有效的复位.图中所示的复位电阻和电容为经典值,实际制作是可以用同一数量级的电阻和电容代替,读者也可自行计算RC 充电时间或在工作环境实际测量,以确保单片机的复位电路可靠.3.4.3 EA/VPP(31 脚)的功能和接法51 单片机的EA/VPP(31 脚)是内部和外部程序存储器的选择管脚.当EA 保持高电平时,单片机访问内部程序存储器;当EA 保持低电平时,则不管是否有内部程序存储器,只访问外部存储器.对于现今的绝大部分单片机来说,其内部的程序存储器(一般为flash)容量都很大,因此基本上不需要外接程序存储器,而是直接使用内部的存储器.在本实验套件中,EA 管脚接到了VCC 上,只使用内部的程序存储器.3.4.4 P0 口外接上拉电阻51 单片机的P0 端口为开漏输出,内部无上拉电阻(见图15).所以在当做普通I/O 输出数据时,由于V2 截止,输出级是漏极开路电路,要使“1”信号(即高电平)正常输出,必须外接上拉电阻.图15 P0端口的1位结构。