毕
业
设计
题 目 循迹小车设计
英文题目 The design of car tracking
学生姓名: 申请学位级别 工学学士 学 号:
专 业: 机械电子工程 系 别: 机械与电子工程系 指导教师: 职称:
二零一三年六月 三 日
摘 要
该设计是为一个简易的循迹小车软硬件系统,该小车是基于8位的51单片机进行用操纵的,循迹小车的研究意义涵盖了勘探、工业、生活和探月工程。循迹是基于自动引导机械人系统,用以实现小车自动识别线路,和选择正确的线路。从设计的功能要求动身,设计包括了小车操纵系统的软件设计和硬件设计。小车采纳了简易的三轮构架势,用由前两轮驱动并操纵转向的操纵模式。操纵系统以STC89C52为操纵核心, 由STC89C52产生PWM波,操纵小车速度。利用红外光电传感器探头对路面黑色轨迹进行检测,并确信小车当前的位置状态,再将路面检测信号反馈给STC89C52。STC89C52对搜集到的信号予以分析判定,及时操纵并驱动电机以调整小车转向,从而使小车能够沿着黑色轨迹自动行驶,实现小车自动寻迹的目的。
关键词:循迹小车,STC89C52,红外光电传感器
ABSTRACT
The design is a simple automatically tracing the car system, and its significance covers the industry, life, exploration, and human concern lunar exploration. The design aims to design a can of independent walking in accordance with the trajectory of human default (or completely autonomous walking) and to complete the tasks assigned to the car. The design includes control system hardware and software design. Relatively high stability of the four trusses in order to adapt to the complex terrain, before the rotation of the rear-wheel drive control mode. Control system to control the core to STC89C52 microcontroller PWM wave to control the car speed. Using infrared photoelectric sensor to detect the black track on the road and to determine the current status of the car, and then the road detection signal is fed to the microcontroller. Microcontroller to be collected signal analysis and judgment, and timely control of the drive motor to adjust the steering of the car, so that the car is traveling along the black track to achieve the purpose of the car automatically tracing.
Keywords: car tracking;STC89C52;Infrared sensors
目 录
目 录 ................................................................................................................................. 4 1. 绪论 ................................................................................................................................ 4
1.1 循迹小车概述..................................................................................................... 4
1.1.1 循迹小车的进展历程 ............................................................................. 5 1.1.2 循迹小车的应用 ..................................................................................... 5 1.2 智能循迹小车的关键技术................................................................................. 6 2. 方案的设计与论证 ........................................................................................................ 8
2.1 主控系统............................................................................................................. 8 2.2 驱动模块............................................................................................................. 8 2.3 循迹模块............................................................................................................. 9 2.4 机械系统............................................................................................................. 9 3. 要紧器件介绍 .............................................................................................................. 10
3.1 单片机STC89C52的介绍............................................................................... 10 3.2 电机介绍........................................................................................................... 12 3.3 电机驱动模块L298N的介绍 ......................................................................... 12
3.3.1 L298N的引脚功能 ............................................................................... 13 3.3.2 L298N的工作参数 ............................................................................... 14 3.3.3 L298N的逻辑操纵 ............................................................................... 14 3.4 TCRT5000的介绍............................................................................................ 15 3.5 LM324的介绍.................................................................................................. 15 4. 硬件系统设计 .............................................................................................................. 17
4.1 整体设计........................................................................................................... 17 4.2 主控电路........................................................................................................... 17
4.2.1 外部时钟电路 ....................................................................................... 18 4.2.2 复位电路 ............................................................................................... 18 4.2.3 P0口外接上拉电阻 .............................................................................. 19 4.3 轨迹识别电路................................................................................................... 19 4.4 电压比较电路................................................................................................... 20 4.5 直流电机驱动电路........................................................................................... 21 5. 程序设计 ...................................................................................................................... 22
5.1 程序整体框架................................................................................................... 22 5.2 主程序模块....................................................................................................... 24 附 录 ............................................................................................................................... 26
1. 绪论
1.1 循迹小车概述
循迹小车是一种能够依照人们预定的线路行走的小车,其应用范围极为普遍。早在二十世纪五十年代就研究出一种智能的搬运机械人,其要紧功能是依照预定的线路进行物品搬运。
循迹小车装备了一些能够识别线路的传感器,其传感器种类有电磁传感器、光学传感器。智能小车依照传感器识别的途径行进。工业中利用的智能循迹小车主若是以蓄电池为动力来源,能够通过电脑利用程序操纵其行走途径和动作,其具有不需要驾驶员操作就能够自动的把指定物品从起始点送到目的地。
循迹小车还有另一个很鲜明的特点,那确实是智能化和自动化,工业利用的智能循迹小车能够依照仓库存储货位情形和生产流程的一些情形灵活的改变行走途径,而且与传统的运输带和输送线相较改变途径的费用要明显低很多,降低了企业的本钱。另外工业利用的智能循迹小车一样都装备有装卸机构,其能实现的功能更多,能与其它的物流设备自动的对接,实现全自动化的物品装卸和搬运。另外由于工业利用的智能小车的动力是由蓄电池提供的,其利用的能源是无污染的电能,且小车行进进程中大体没有噪音,能够在环境清洁的场地工作。 1.1.1 循迹小车的进展历程
随着社会的进展,科技水平在不断的提高,人们迫切希望制造出一种能代替人做一些十分危险或者精度要求超级高等一些不适合有人来完成的情形的机械,在如此的环境下诞生了机械人技术这门学科。1959年制作避世界上第一台机械人,至今已五十连年了,在五十连年中,机械人技术一直在飞速进展和进步中,此刻的机械人技术已是一门包括了电子、机械、运算机、信号处置、自动操纵、传感器等多学科高端技术。众观循迹小车的进展历史,能够将循迹小车的进展分为三个时期:
第一时期的循迹小车是没有传感器,只采纳了简单的开关来操纵,能够通过编程设置小车的运动参数和途径,可是这时期的小车在工作进程中,不能够依照工作场地的转变而改变自身的行进轨迹。
第二时期的循迹小车支持离线编程而且具有检测并适应场地的能力,这种的循迹小车装备了一些简单的传感器,能够通过传感器明白自身所处的位置、速度等一些物理量。其电路系统闭环操纵系统,能够较好的适应场地的转变。
第三时期的循迹小车是多功能的、智能的,但该类循迹小车目前正在研究和进展的时期。其具有由各种传感器组成的感官系统,通过感官系统搜集外部环境的信息,能准确的感知环境的转变。智能的循迹小车能够独立的完成任务,有智能的信息处置系统,在一些结构化和半结构化的工作场地中,能跟据场地的不同而自动的对自身功能进行调整,有简单的决策能力和必然的适应能力,和学习能力。 1.1.2 循迹小车的应用
循迹小车的要紧应用处所如下: ① 危险的场所与特种行业
在军事上的战场侦查和扫雷排雷等,在核电厂内核材料的输送等,或在黑暗的环境中输送物料等,像这些工作都是十分不适合有人去完成的,在这种情形下循迹小车就能够够超卓的完成任务。
② 邮局、图书馆、口岸码头和机场
这些场所都是一些人口密集的场所,其需要输送的物品量大,而且充满了不确定性和动态性,搬运的进程也比较单一。智能循迹小车就有智能化、自动化等优势能够专门好的完成运输任务。此刻愈来愈多的这种场所开始利用循迹小车了。
③ 烟草、医药、化工、食物
这些场所都是一些具有平安、清洁、无排放污染等其他一些特殊环境要求的场所。在这种场所下,利用蓄电池的循迹小车正好能知足这些要求,因此在这些场所的货物的搬运工作大多数都是有循迹小车完成的。
④ 制造业
在制造行业的生产线上,智能循迹小车能够大显身手,其能准确的、灵活的、快速的完成物料输送任务。智能循迹小车比人力搬运系统加倍灵活,其输送途径能够依照生产要求及时调整,能够大大提高生产灵活性,提升了企业竞争力。目前,世界上要紧的汽车生存厂,如公共、丰田、克莱斯勒、通用等,智能循迹小车已经取得了普遍运用。
⑤ 仓储业
活着界上有超过2100个厂家在利用智能循迹小车,这些智能循迹小车的数量大约有两万台。利用智能循迹小车的数据库处置系统,能够轻松的完成大量的贮存和装卸物品的任务。
1.2 智能循迹小车的关键技术
此刻世界各国都在研究着多功能、智能化的汽车自动导航系统,并以实现能够不需要有人类驾驶就能够自动的抵达乘客所指定的目的地为目标。汽车自动导航系统是一种超级复杂的系统,它不仅需要具有一般汽车的运动机构,还需要能够识别指令,依照识别出来的指令来进行途径计划,和对其他事物的感知,能够做出正确的决策等一些拟人的智能行为。
人类就有听觉、嗅觉、味觉、视觉、触觉,能够通过这些感官去感知外部环境,然后通过大脑对感官感知到的信息进行处置、判定和分析,从而能够全面的认知事务。如此一个认知、分析、处置的进程,咱们称之为信息融合。机械的多传感器信息融合技术的大体原理确实是在仿照大脑的这系列进程。多传感器信息融合是一种将散布在不同位置不同功能不同种类的传感器所测得的数据进行综合,然后排除存在的矛盾和冗余,以减小不确信性,从而得出对环境或物体的一致性描述的进程。
多传感器信息融合有许多的优势: ① 增加了系统的生存能力; ② 减少了信息的模糊性; ③ 扩展了搜集数据覆盖范围;
④ 增加了可信度; ⑤ 改善了探测性能; ⑥ 提高了空间的分辨力; ⑦ 改善了系统的靠得住性 ⑧ 信息的低本钱性[1]。
2. 方案的设计与论证
2.1 主控系统
依照设计要求,我选择以单片机为整个系统的核心,由单片机操纵行进中的小车,以实现指定功能。认真分析小车要实现的功能,其关键是在于实现小车能够依照一些条件进行自动操纵,而单片机正好能够知足这一要求,而且单片机还具有必然的优势,其价钱较为低廉,操纵简单,编程方便,有比较壮大的操纵功能和能够位寻址功能等,因此,选用单片机比较适合,且单片机丰硕的资源也能取得充分的发挥,故以单片机为系统核心是较为适合的方案。
由于该设计具有多个输入量,因此就需要能够处置多个输入量的标准单片机,像那些被精简了I/O和贮存器的小体积单片机就不可选用。被设计的输入量都是一些简单的开关量,因此就不需选用数模转换器和模数转换器,若是选用模数转化器和数模转换器不仅会增加设计本钱,而且还会增加设计复杂度,增加系统的不稳固性。依照以上分析,我从众多单片机中最终选用了STC89C52系列单片机为本设计的操纵核心。STC的51系列单片机不仅价钱低廉,而且其功能也十分壮大,其输入输出口均能按位寻址,且具有壮大的位操作寻址功能,而且还能进行各类位逻辑运算,从而能够很方便的对输入输出口进行操纵。
综合了对传感器、电机驱动等诸多因素考虑后,我决定选用一片单片机,充分利用了STC89C52单片机的资源。
2.2 驱动模块
对电机进行操纵的方式超级的多,第一能够通过继电器对电机进行操纵,通过操纵继电器的通与断来操纵电机电路的接通与断开,从而来调整小车的方向。此方式的优势是电路比较简单,但此方式有较多缺点,如继电器的响应时刻较慢,容易损坏,且继电器的靠得住度不高,故继电器方案不适合本设计的要求。
第二,咱们能够采纳数字电位器对电动机进行分压,从而达到对电动机进行调速。可是数字电位器的价钱十分昂贵,更重要的问题是电动机的内阻一样都是十分小的,通过电动机的电流却专门大,对电动机进行分压不仅降低了电机的效率,而且实现起来也十分的困难。
另外,咱们能够采纳功率放大器对电机进行操纵,线性型的驱动电路结构简单,加速能力强,通过采纳达林顿管组成的 H型桥式电路对电机进行驱动。利用单片机操纵达林顿管,使达林顿管工作在占空比可调的状态下,精准地调整电机转速。该电路由于工作在管子的饱和和截止状态下,效率很高,而且H型桥式电路能够保证简单的实现转速和方向的操纵,电子管的开关速度超级快,稳固性也很强,因此这是一种被普遍采纳的 PWM技术。现市面上有很多此种芯片,我选用了L298N。
2.3 循迹模块
循迹模块是用来确信循迹小车确信自身位置的,若是循迹模块的选择不妥将阻碍整个系统的稳固性。循迹模块能够采纳简易的光电传感器并结合外围电路进行探测,此方案尽管看上去简单可行,可是在实际的测试结果中却并非是很理想,对小车的稳固性要求很高,而且容易引发误测,也容易受环境中光线和路面材料阻碍。在小车测试进程中很容易显现问题,而且会致使小车因循迹模块的不稳固致使整个循迹小车的不稳固,故循迹模块不适合选用该方案。除此之外,
循迹模块采纳三只红别传感器,平均的散布在车头上,相邻两传感器的间距小于或黑色轨迹的宽度,依照三只红别传感器检查黑线来操纵小车能够循着黑线前进,测试说明,只要比较合理的安装好三只红别传感器的位置就能够够较好的实现循迹功能。
2.4 机械系统
此题目要求小车的机械系统稳固、灵活、简单,可选用三轮和四轮式,考虑到简化设计,我选用了三轮式,驱动和转向方式都较灵活。
驱动部份:采纳玩具小车原有的驱动电机,由L298N双通道马达驱动模块驱动左右两个马达,其力矩完全能够达到模拟成效。
电池的安装:将电池放置在车体的下面,降低车体重心,提高稳固性,同时可增加驱动轮的抓地力,减小轮子空转所引发的误差。
3. 要紧器件介绍
3.1 单片机STC89C52的介绍
该STC89C52单片机是由宏晶公司生产的种高性能、低功耗的8位微处置器,其有8K的系统可编程Flash、可擦除寿命可达1000次程序存储器。该产品利用的是经典的MCS-51内核,能够与8051系列能够专门好的兼容,可是较传统51单片机功能跟壮大,而且还可支持两种能够软件设置的省电模式。使实时处置、实时操纵的功能加倍完善,简化了硬件的配置。STC89C52具有8k字节Flash存储器,512字节内存, 32 个I/O端口 ,,内置了4KB 大小的EEPROM,16 位/计数器 3个,外部中断 4个,能全双工工作的。STC89C52实物如图1。
图1 STC89C52引脚图
STC89C52各引脚都有相应的功能:
P0口:P0口是漏极开路的8位双向输入输出口,即能够作为8位输入口,也能够作为8位输出口。当作为输出口,每位都能驱动8 个TTL逻辑电平。当对P0口写高电平时,引脚将被用作高阻抗输入。
当利用P0口访问外部的程序或数据贮存器时,P0口会被作为低8位地址/数据复用总线。在这种模式下, P0要加上一组上拉电阻。
在进行Flash烧录程序时,P0口也被用来接收一些指令字节;在进行程序校验时,
输出一些指令字节。程序校验时,需要在外部加上一组上拉电阻。
① P1 口: P1 口是一个由8个引脚组成的8位数据输入输出口,且每一名引脚已经具有内部的上拉电阻的,P1 的输出缓存器能直接驱动4 个 TTL 逻辑电平。当对P1 端口写高电平时,内部的上拉电阻会把端口电平拉高,现在P1就能够作为输入I/O口利用了。当P1作为输入口利历时,将会输出电流。
另外,P1口的个别引脚还有一些其他功能:
:T2(芯片内的第二个按时器/计数器)的外部计数的输入或时钟的输出引脚(T2); :T2的捕捉或重载的触发信号和方向的操纵信号引脚(T2EX); :在线系统编程利用的MOSI信号引脚; :在线系统编程利用的MISO信号引脚; :在线系统编程利用的SCK信号引脚;
② P2 口:P2 口也是一个由8个引脚组成的8位数据输入输出口,且每一名引脚已经具有内部的上拉电阻的,P2 的输出缓存器能直接驱动4 个 TTL 逻辑电平。当对P2 端口写高电平时,内部的上拉电阻会把端口电平拉高,现在P2就能够作为输入I/O口利用了。当P2作为输入口利历时,将会输出电流。
在访问一些外部的ROM或用16位地址寻址访问外部的RAM(例如执行指令MOVX @DPTR) 时,P2口会传送高八位的地址。像在这种的应用中,P2 口会利用比较强的内部上拉来发送高电平。在利用 8位地址寻址(如指令MOVX @RI)访问外部的ROM或RAM时,P2口会输出P2锁存器内的内容。在进行Flash烧录程序和校验时,会由P2口来接收高8位地址的字节和一些特殊的操纵信号。
③ P3 口:P3 口也是一个由8个引脚组成的8位数据输入输出口,且每一名引脚已经具有内部的上拉电阻,利用输出缓存器能直接驱动4 个 TTL 逻辑电平。当对P3 端口写高电平时,内部的上拉电阻会把端口电平拉高,现在P3就能够作为输入I/O口利用了。当P3作为输入口利历时,将会输出电流。在进行Flash烧录程序和校验时,P3口也接收一些特殊的操纵信号。
P3口的许多引脚独有第二功能,主若是STC89C52特殊功能的输入输出口,如下所示:
:串行输入口(RXD) :串行输出口(TXD) :外部中断0(INTO) :外部中断1(INT1) :按时/计数器0(T0) :按时/计数器1(T1)
:外部ROM或RAM写选通(WR) :外部ROM或RAM读选通(RD)
④ ALE/PROG:当要访问外部的ROM或RAM时,该引脚为ALE(锁存许诺)功能,该引脚会输出特定的脉冲用来操纵锁存低8位地址的锁存器。在一样的情形下,ALE仍会以6晶振频率输出一个固定的脉冲信号,因此它还能够向外输出脉冲信号或者用于按时的目的。但是需要注意:每当访问一次外部的ROM或RAM时都将直接跳过一个ALE的脉冲。
对ROM进行编程期间,该引脚还常用于输入ROM编程脉冲(PROG)信号。 如果有必要,也可以通过对特殊功能寄放器区中的8EH单元中的D0位置位,可禁止ALE引脚的输出。当该位置位后,只有MOVX或MOVC指令才能将ALE引脚从头激活。另外,该引脚还会被微弱的拉高,当单片机需要执行外部的程序时,就应设置ALE的禁止位为无效。
⑤ RST:复位信号的输入口。当晶振工作时,RST引脚若是显现两个机械周期以上高电平将会使单片机复位。
⑥ PSEN:程序贮存许诺信号,输出的是对外部的ROM的读选通信号,当STC89C52向外部的ROM取指令或数据时,会输出两个脉冲。
⑦ EA/VPP:外部访问的许诺信号,欲使STC89C52只访问外部的程序存储器,EA端就必需维持低电平。如果EA端为高电平,STC89C52那么执行内部的程序存储器内的指令。
1
3.2 电机介绍
本小车的电机采纳了强磁电机,该电机运行稳固,无抖动,扭力大。以下图为电机的参数。
图2 电机参数
3.3 电机驱动模块L298N的介绍
L298N是由ST公司生产的,是一种大电流、高电压电机驱动芯片。该芯片采纳的是15脚封装。L298N的要紧特点是:工作电压高,最高的工作电压能够达到46V;输出电流大,刹时的峰值电流能够达到3A,持续工作的电流为2A;额定的功率为25W。其内部含两个H桥的大电流高电压的全桥式驱动器,既能够驱动直流电动机也能够驱动步进电动机、继电器线圈等;L298N采纳的是由标准逻辑电平信号来操纵;具有使能操纵端两个,还可之外接检测电阻,将转变量直接反馈给操纵电路。利用L298N芯片来驱动电机,该芯片能够驱动直接一台两相的步进电机或四相的步进电机,也能够直接驱动两台直流电机。
3.3.1 L298N的引脚功能
以下图即为L298N芯片的外观图。
图3 L298N芯片图
以下图即为L298N的各引脚功能。
图4 L298N引脚功能图
3.3.2 L298N的工作参数
以下图即为L298N的工作参数。
图5 L298N的工作参数
3.3.3 L298N的逻辑操纵
L298的逻辑操纵见如以下图5。图中Ven代表ENA或ENB的输入电平,C、D代表为IN一、IN2或IN3、IN4;L代表低电平,H代表高电平。
图6 L298N逻辑操纵
3.4 TCRT5000的介绍
TCRT5000结构紧凑,发光光源与探测器排列在同一方向上,通过反射红外线光束感知对象的存在。TCRT5000的工作波长为950毫米。该探测器有光电晶体管组成,工作时由蓝色发射管来发射红外线,红外线被遮挡物反射回来后被接收管接收。接收到反射光线后的接收管就会呈导通状态,与一电阻串联即可组成一个由发射管来操纵的分压电路,由此可实现对遮挡物反射光线强度进行检测。咱们常常利用那个特性去实现颜色识别。其实物外观图及引脚图如下。
图7 TCRT5000外观图
图8 TCRT5000引脚概念
3.5 LM324的介绍
M324是具有4个运放的集成电路,它采纳封装方式是14脚两列直插式塑料封装。它内部包括有四个参数、功能完全相同的集成运算放大器,除电源是共用的外,四组运放是彼此独立的。每一个运算放大器能够用图中的符号表示,其有5个引脚,其中“Vi+”、“Vi-”为信号的两个输入端,“V+”、“V-”为正、负电源输入端,“Vo”为输
出端。
图10为LM324的引脚图。
图9 单个运放符号
图10 LM324引脚
4. 硬件系统设计
4.1 整体设计
依照设计要求和初步确信的方案能够确信出整体的框架。以下图即为整个系统的框架图。
图11 系统框架
由TCRT5000对黑线轨迹进行检测,TCRT5000搜集到的信息传给LM324电压比较器,通过LM324处置后,TCRC5000搜集到的信息就变成了能够由单片机识别的高低电平,单片机对高低电平进行分析,然后发送相应的操纵信息给L298N,由L298N操纵电机做出响应的动作。
循迹红外发射管与接收管别离装在车头的左中右位置。当车头下左侧的TCRT5000传感器检测到黑线时,小车右转,当车头下右边TCRT5000传感器检测到黑线时,小车左转。直到小车完全回到黑线。
4.2 主控电路
单片机操纵电路是由单片机最小系统组成的,要紧作用是处置电压比较器LM324传来的高低电平信号,再通过设定的程序逻辑算法确信并发出电机驱动电路的指令。单片机的最小系统包括MCU,外部的时钟电路,按键复位电路和电源组成。本设计采纳图11所示的单片机最小系统。
图12 STC89C52操纵电路
4.2.1 外部时钟电路
XTAL1和XTAL2是独立的输入和输出反相放大器,其能够直接由外部的时钟信号驱动,或利用石英晶振组成片内振荡器。在XTAL一、XTAL2 的引脚上接上按时元件,其内部振荡器就能够直接自激振荡。一样单片机的晶振频率在 ~ 12MHz 之间,乃至有些单片机的晶振频率可达到24MHz 或更高,可是若是晶振频率越高其功耗就会越大。在本设计中所采纳是 的石英晶振。和晶振相连的两个电容,其大小对晶振的振荡频率有轻微的阻碍,能够起到微调频率作用。当采纳的晶振是石英晶振时,则电容能够在20 ~ 40pF 之间选择;当采纳陶瓷谐振器时,电容就应适本地增大一些,在30 ~ 50pF 之间。通常都是选取33pF左右的陶瓷电容就能够够了。另外值得一提的是若是在设计单片机系统的印刷电路板(PCB) 时,晶振和电容应尽可能的与单片机芯片靠近,以减少由于引线而寄生的电容,保证振荡器靠得住工作。用示波器检测晶振是不是起振,能够观看到XTAL2 输出了十分漂亮的正弦波,利用万用表测量检测时( 把挡位打到直流挡,那个时候测得的是有效值)XTAL2 和地之间的电压时,能够看到万用表示数为2V 左右一点。 4.2.2 复位电路
在单片机中,复位电路是很关键的,当程序运行不正常或死机(停止运行)时,就需要进行复位。5l系列单片机的复位引脚RST若是显现两个机械周期以上的高电
平,单片机就会执行复位操作。若是RST引脚一直为高电平,单片机就会处于循环复位状态。复位操作一样有两种大体形式:手动复位和上电自动复位。图中所示的复位电路中,这两种复位方式都包括在内。在上电的一刹时,电容两头的电压不能发生突变,由于电容的负极是和RST引脚相连的,电源电压会全数的加在电容下面的电阻上,RST引脚的电平为高,芯片就会被复位。电路稳固后,电源会给电容充电,电阻上的电压就会慢慢减小,最后约为0V,芯片便能开始正常的工作。并联在该电容两头的按钮为复位按钮,当没有按下复位按钮的时候,电路能够实现上电自动复位,在芯片进入正常的工作后,通过按下复位按钮使RST引脚为高电平从而达得手动去复位的成效。就一样情形来讲,只要RST 引脚上维持有大约10ms以上高电平,就能够够使单片机有效的进行复位。电路图中复位所用电阻的大小和电容的大小为经典值,实际制作时能够使用同一数量级的电阻和电容来代替,也可以通过自行计算RC 的充电时刻或在工作环境实际测量而取得,以确保单片机的复位电路能靠得住运行。 4.2.3 P0口外接上拉电阻
STC89C51的P0口内部并无上拉电阻。因此当P0口仅作为一般输入输出口要实现输出数据时,由于V1 截止,输出级的电路是漏极开路的电路,要使正常输出高电平,就必需外接一个上拉电阻。
图13 P0口其中1位的电路结构
另外,为了幸免输入时读取数据出现错误,也需要外接上拉电阻。
4.3 轨迹识别电路
循迹的原理是小车在画有黑线的白纸上行驶,由于黑线和白纸对光线的反射程度不同,能够依照接收到的反射光线的强弱来判定是不是是黑线。本设计规定正常行驶时三个红外探头只有中探头在黑线的范围之内,左右探头别离位于黑线的左右,若是
中探头检测不到黑线说明小车已经偏离了轨道,需要进行校正,现在,系统会读取左右探头的状态,若是左探头检测到黑线,说明小车向左侧偏了,现在小车就应该向右转。假设果右探头检测到黑线,说明小车向右偏了,现在小车应该向左转。
此电路模块是用于检测小车是不是偏离轨道并以特定信号给传下一级电路。这一方式确实是红外探测。红外探测,即利用由于红外线在颜色不同的物体表面具有的反射性质不同的特点。在小车行进进程中,红发发射管会不断地向轨迹所在的地面上发射红外线,当红外线碰到了白色的地面时发生漫发射,反射光线会被反射到装在小车上的红外接收管,并接收;若是碰到的是黑线,那么红外光会被吸收,那么小车上的红外接收管就会接收不到足够的信号。
4.4 电压比较电路
电压比较器是在集成运算放大器的基础上去掉反馈电阻从而使放大倍数趋于无穷大。这时运算放大器就形成了一个电压比较器。当同相端的电压大于反相端的电压时比较器就会输出高电平,当反相端的电压高于同相端的电压时输出端就会输出低电平。如以下图所示。
图14 单红外探头黑线识别电路及LM324电压比较电路
用了LM324内部的3个单独的运算放大器外接一个可调电阻来输入基准电压。
基准电压输入在反相输入端上,黑先识别电路反馈过来的电压从电压比较器的同相端输入。当TCRT5000反馈的电压比基准电压高时,比较器输出高电平。当TCRT5000反馈的电压比基准电压低时,比较器输出低电平。如此就能够够使红外探头把地面反射光线的程度变成了能够被单片机识别的开关量。由于考虑到地面粗超程度不同,咱们通过可调电位器去调剂基准电压,通过实际测量后确信基准电压的值。
4.5 直流电机驱动电路
电机驱动一样都是采纳H桥式驱动电路,L298N内部就集成了H桥式驱动电路,从而能够采纳L298N电路来直接驱动电机。通过STC89C52给予L298N电路PWM信号来操纵直接小车的速度、起停。为了设计上的方便我采纳了市面上已有的L298N电机驱动模块,其不仅廉价而且稳固性高。其原理图如下图所示。
图15 L298N模块电路图
5. 程序设计
本程序设计采纳了模块化程序编程思路。许多程序太长或太复杂,很难写在单一单元中。若是把代码分为较小的功能单元,将大大简化编程进程。模块化程序一样比单块程序容易编写、调试和修改。模块化编程方式类似于包括大量电路的硬件设计。器件或程序在逻辑上被分为多个“黑箱子”,这些黑箱子都有指定的输入和输出。只要把各个单元之间的接口概念好,各个单元的详细设计就能够够独立进行了。
模块化编程的优势如下:
有效率的程序开发:利用模块化方式能够更快地开发程序,因为较小的子程序比大程序更易明白得、设计和测试。概念好模块的输入和输出以后,程序员能够给模块提供需要的输入,通过检测输出来判定模块的正确性。然后由连接器把分立的模块连接、定位,生成一个单一的绝对地址的可执行的程序模块。最后,测试整个模块。
子程序能够重用:为一个程序编写的代码常常能够用于其它的程序。在模块化编程中,能够把这些部份保留起来,以备以后利用。因为代码能够被重定位,因此保留的模块能够连接到知足其输入和输出要求的任意程序中。而在单块程序编程中,如此的部份深埋在整个程序中,不易被其它的程序利用。
便于调试和修改:模块化程序一样比单块程序易于调试。因为精心概念了程序的模块接口,很容易把问题定位到特定的模块。一旦找到了有问题的模块,更正问题就相当容易了。模块化编程能够简化程序修改的工作。咱们能够很有信心地把新的或调试过的模块连接到一个已有的程序,而不用更改程序的其余部份。
5.1 程序整体框架
程序整体流程图如下图所示。
图16 程序整体流程图
程序读取循迹模块的信息后确信的小车位置状态与对应输出的驱动指令对应关系如图16,其中黑色代表探头检测到黑色轨迹。
其他情况 小车停止 小车向右转 右探头检测到黑线 左探头没有检测到黑线 读取左探头信号和右探头信号并判断是否为黑线 左探头检测到黑线 右探头没有检测到黑线 小车向左转 否 读取中探头信号并判断是否为黑线 是 定时器初始化并启动 程序初始化 开始 小车向前走
图17 循迹模块的状态与小车位置的对应关系
5.2 主程序模块
主程序模块要实现的功能主若是先对单片机进行初始化,然后再进入循迹模块的循迹程序。 源文件: #include<> #include<>
#include\"\" #include\"\" #include\"\"
void main() {
while(1) {
XunJi(); 片机C语言程序设计完全自学手册[M].电子工业出版社,:1-200. EA = 1;
DingShiQi_QiDong(1); DianJi_QiDong();
[2]王东锋,王会良,董冠强. 单片机C语言应用100例[M]. 电子工业出版社,:145-300.
[3]韩毅,杨天. 基于HCS12单片机的智能寻迹模型车的设计与实现[J].学术期刊,2020,29(18):1535-1955. [4] 王晓明. 电动机的单片机操纵[J]. 学术期刊,2002,13(15):1322-1755.
[5]Yamato I , et al 1 New conversion system for UPS using high fre2 quency link[J]1 EEE PESC ,1988 :210-320. [6]Yamato I , et al 1 High frequency link DC/ AC converter for UPS with a new voltage clamper[J]1IEEE PESC ,1990 :52-105.
附 录
附图1 循迹小车仿真电路图
因篇幅问题不能全部显示,请点此查看更多更全内容