自动寻线机器人

自动寻线轮式机器人的设计
目录
摘要 ………………………I
Abstract ………………………II
第一章前言 ………………………1
1.1 研究目的和意义 ………………………1
1.2 国内外发展现状 ………………………1
1.3 本文研究的主要内容 ………………………1
第二章系统硬件电路的设计 ………………………2
2.1 系统总体方案设计 ………………………2
2.2 系统相关器件的介绍 ………………………2
2.3 系统硬件方案的设计 ………………………8
第三章系统软件方案的设计 ………………………13
3.1 主程序设计及其流程图 ………………………13
3.2 轮式机器人寻迹算法 ………………………14
3.3 超声波测距的计算 ………………………15
3.4 程序的主要算法 ………………………15
第四章系统误差分析及解决方案 ………………………19
4.1 影响红外寻线探测的因素 ………………………19

4.2 影响超声波探测的因素 ………………………19
4.3 超声波测距的误差分析 ………………………20
4.4 误差解决方案 ………………………20
第五章系统调试 ………………………23
5.1 红外探测系统的调试 ………………………23
5.2 超声波模块的调试 ………………………23
结论 ………………………24
致谢 ………………………25
参考文献 ………………………26
摘要
本设计主要以 STC89C52 型单片机为控制核心的自动寻线轮式机器人,该设计主要是采用红外光电 传感器检测路面上预先设置好的黑色轨迹,检测到的路面信号会反馈给单片机,单片机处理好采集到的信号 后产生 8 位的 PWM 波, 轮机驱动电路 L298N 利用从单片机处接收到的反馈信号对机器人的方向和速度进 行调整,这样一来轮式机器人就能够自动地沿着黑线进行行驶,实现轮式机器人的自动寻迹。在此次的设计 中,我还在机器人上加装了超声波避障模块,使其能够在行进的过程中检测到前方的障碍物,实现避障功 能。本次的设计对于智能轮式机器人的控制模块、避障模块、寻迹模块、红外接收模块、电机驱动模块进 行了详细的介绍。给出各功能实现的程序设计流程图,并进行寻迹、避障实验,通过实验发现基于 STC89 C52 单片机的智能轮式机器人系统结构简单,性价比高,易于推广和移植,具有广阔的应用前景。
关键字:自动寻线,轮机驱动,超声波传感器,单片机,报警
Abstract

The design mainly based on STC89C52 microcontroller to control the core, using infrared ph otoelectric sensor to detect pavement set in advance good black track and detect the road signal will feedback to the microcontroller, microcontroller to handle the collected signal generation 8-bit PWM wave, the turbine driven circuit L298N from MCU receives the feedback signal direction a nd speed of the robot is adjusted using, thus the car can automatically along the black line of tr avel, the wheeled robot automatic tracing. In this design, I also installed on the robot ultrasonic o bstacle avoidance module, so that it can be in the process of moving to detect obstacles in front, to achieve the function of obstacle avoidance. The design of the intelligent wheeled robot contro l module, obstacle avoidance module, tracking module, infrared receiving module, motor drive mo dule are introduced in detail. Gives the function is implemented in the program design flow chart and tracing, obstacle avoidance experiment, through the experiment found based on STC89C52 MCU intelligent wheeled robot system has the advantages of simple structure, high price, easy p opularization and transplantation, with broad application prospects.
Key words:automatic routing,engine driven,ultrasonic sensors, single chip microcomputer , call the police
指 标 剽窃文字表述 1. 采用红外光电传感器检测路面上预先设置好的黑色轨迹,检测到的路面信号会反馈给单片机,单片机处理好采集 到的信号 2. 第一章前言 相似文献列表 原文内容 第一章前言 文字复制比:0%(0) 剽窃观点(0) 总字数: 1013
1.1 研究目的和意义

人类是善于发明和创造的种族,无数的发明和新发现经过人们不断的创新和改造日趋完善;近年来, 自机器人诞生开始,经过数年时间的研究,具备一定智能的机器人越来越普及到人们的日常生产和生活之 中。基于各种类型的单片机的日益普及化以及人们对更加智能化产品的需求,本设计使用 STC89C52 型单 片机使智能轮式机器人实现自动寻迹行驶,并且增加的避障模块也使轮式机器人具备了检测并且躲避障碍 物功能,这样人性化的设计也更加符合当今人们的需求。通过调查发现在人们的日常生活中、生产劳动中 以及工程建设等方面,智能轮式机器人的开发和研究有着相当重要的意义。这项设计可以用于工厂中代替 人力劳动,以实现无人工厂,室内智能除尘机器人,以及无人驾驶的校园观光车等方面。
1.2 国内外发展现状
机器人诞生至今已有 50 多年的时间, 随着相关技术的不断发展和进步, 智能的概念也随之更加丰富, 同时其内涵也越来越宽泛。
目前,国际上所应用的机器人中所占比重最大的是工业机器人,同时其它行业中的机器人也随着研究 的深入应用的范围也更加广泛。美国和日本在机器人领域的研究和开发方面一直处于世界领先的位置,除 了工业机器人外,还一直研究和开发其它产业的机器人。比如,日本的服务机器人和特种机器人以及一些 相关中间件的研制都要领先于其它国家,并且在日常生活中的应用程度也很好;而美国则对军用机器人和 太空机器人方面有着深入的研究。另外,美国特斯拉公司已经正式投产无人驾驶的智能化清洁能源车。
从机器人的诞生开始, 我国对于这方面的研究始终处于比较低的水平, 其应用范围也有一定的局限性。 目前我国的机器人研究已经跨过起步阶段,逐步和国际先进水平接轨。其中比较有代表性的是:工业生产 中的机器人、水下探测机器人、空间操作机器人以及在核领域方面的机器人。在工业应用方面,我国的机 器人技术已经具备了大型机器人工程设计和实施能力。工厂中用于生产、装配、喷涂以及焊装的生产线, 以及自动运输车。
1.3 本文研究的主要内容
此次课程设计所研究的主要内容是:以 STC89C52 型单片机为控制核心,采用 4 路红外线探测系统 对场地中设置好的黑线进行寻迹,从而实现轮式机器人的自动寻线功能;因为在此次的设计过程中,我给

轮式机器人加装了避障模块,是利用超声波避障系在轮式机器人的前进过程中统检测并躲避障碍物,所以 此次我所设计的轮式机器人具有自动寻线以及避障的功能。
3. 第二章系统硬件电路的设计 相似文献列表 1 文字复制比:35.1%(1927) 剽窃观点(0) 32.2%(1766) 是否引证:否 11.7%(641) 是否引证:否 11.4%(627) 是否引证:否 11.4%(627) 是否引证:否 11.4%(627) 是否引证:是 11.4%(627) 是否引证:否 11.2%(615) 是否引证:否 11.2%(615) 是否引证:否 10.7%(589) 是否引证:否 10.7%(589) 是否引证:否 10.6%(585) 是否引证:否 10.5%(578) 是否引证:否 10.4%(573) 是否引证:否 10.4%(571) 是否引证:否 10.2%(562) 是否引证:否 10.2%(562) 是否引证:否 10.2%(562) 是否引证:否 9.4%(515) 是否引证:否
总字数: 5493
王彤_1005110126_基于单片机的汽车倒车系统设计 王彤 - 《大学生论文联合比对库》- 2015-05-29 谐振式压电传感器的检测系统 聂琦 - 《大学生论文联合比对库》- 2015-05-05 电气 11C3 班 12 号侯松论文(新) - 《大学生论文联合比对库》- 2014-04-15 基于单片机的烟雾监测系统 毛文军 - 《大学生论文联合比对库》- 2014-05-10
2
3
4
5
2 1 - 《大学生论文联合比对库》- 2014-05-20 基于单片机的智能充电器的设计 王超 - 《大学生论文联合比对库》- 2015-05-05 基于单片机的数字时钟设计 陈昶旭 - 《大学生论文联合比对库》- 2015-05-06 基于单片机数码录音与播放 方桂雯 - 《大学生论文联合比对库》- 2014-05-11 0922107003 孙梦可 孙梦可 - 《大学生论文联合比对库》- 2013-05-24 基于单片机的超声波测距仪设计与制作 明晓熠 - 《大学生论文联合比对库》- 2014-05-28 基于 MCU 的超声波测距仪设计与制作 赵国刚 - 《大学生论文联合比对库》- 2013-12-25 基于单片机的数控直流稳压电源 余露 - 《大学生论文联合比对库》- 2013-06-05 10030709 高志文论文 - 《大学生论文联合比对库》- 2013-06-05 201006060114_汪曼 汪曼 - 《大学生论文联合比对库》- 2014-05-30 09283420+沈佳辉+李春芝 - 《大学生论文联合比对库》- 2013-04-26 201006060109_汪维 汪维 - 《大学生论文联合比对库》- 2014-05-30 1002040115-丁超-基于单片机的智能充电器设计 丁超 - 《大学生论文联合比对库》- 2015-05-05 BX090423 董安宇 - 《大学生论文联合比对库》- 2013-05-30
6
7
8
9
10
11
12
13
14
15
16
17
18

19
200906060119_曾鹏 曾鹏 - 《大学生论文联合比对库》- 2014-05-30 基于单片机的数控直流稳压电源 余露 - 《大学生论文联合比对库》- 2013-06-07 马路宽_P091812960_电信_基于 51 单片机的温度控制系统的设计 马路宽 - 《大学生论文联合比对库》- 2013-05-13 10030333 吴昊毕业论文 - 《大学生论文联合比对库》- 2013-06-05 基于单片机的智能电表 张国颖 - 《大学生论文联合比对库》- 2014-05-05 12009095009 公交车报站系统设计 陆凤娟 - 《大学生论文联合比对库》- 2013-07-14 09283420+沈佳辉+李春芝 - 《大学生论文联合比对库》- 2013-05-05 基于单片机的光电报警系统 刘媛媛;赵冬娥;游栋; - 《电子世界》- 2013-07-30 汽车数显仪表盘硬件设计 覃仕明;李朝光; - 《中小企业管理与科技(上旬刊)》- 2013-11-05
9.4%(515) 是否引证:否 9.2%(506) 是否引证:否 9.0%(494) 是否引证:否 8.5%(468) 是否引证:否 7.4%(406) 是否引证:否 6.6%(362) 是否引证:否 6.0%(331) 是否引证:否 0.9%(51) 是否引证:否 0.6%(33) 是否引证:否
20
21
22
23
24
25
26
27
原文内容 第二章系统硬件电路的设计
2.1 系统总体方案设计
在此次的设计过程中,以 STC89C52 型的单片机作为主控制系统、使用 L298N 电机作为电路驱动系 统、使用 4 路红外(光电)探测器循迹作为寻迹系统、使用 US-100 超声波测距模块作为避障系统、使用 7 段数码管作为显示系统以及电源系统。系统运行时,4 路红外探测器能够实时监测路面上黑线的状态,将 信号反馈到单片机中,单片机就能够对接收到的信号进行分析处理,驱动电机调整轮式机器人前进的方向, 从而实现自动寻迹功能。超声波是通过探头发射出来,当它在碰到物体时就会产生反射,然后接收探头就 会接收到回的超声波,并且依照脉冲对这一过程中的时间差进行计算,再利用 STC89C52 单片机中的处理 器把轮式机器人和物体之间的距离计算出来, 当轮式机器人与障碍物之间的距离小鱼预先输出的最小距离, 轮式机器人就会自动发声警报。在循线的跑道上行进时,超声探测器会测出与前方障碍物的距离,在与前 方的距离少于预先输出的最小距离的时候,轮式机器人就会避开障碍物掉头之后再继续循线。本次的设计 还使用了 L298 型号的驱动芯片来驱动轮式机器人的行进。
系统的总体框图如图 2-1 所示:

电源部分减速电机超声波检测 MCUL298 驱动数码管显示循迹模块
图 2-1 总体结构框图
2.2 系统相关器件的介绍
2.2.1 STC89C52 单片机
在此次设计的系统中占有最重要位置的是 STC89C52 单片机。单片机 STC89C52 是由 STC 公司生 产出来的,它是一种性能相当高的 CMOS 8 位微控制器,具有功耗较低、性能较好等优势,并且在 Flash 存储器中可编程系统有 8k 之大。它的内核所使用是 MCS-51 型号内核,而后又在这一基础上改善了一些 功能,令其具备了一些传统的 51 单片机所不能够实现的功能。单芯片中包含的 CPU 为 8 位以及可编程 Fl ash,这样使得 STC89C52 就能将更多灵活度较高以及效果显著的方法提供给许多的嵌入式的控制使用体 系。
它具有如下的性能:512 字节的 RAM,8k 字节的 Flash,看门狗式的定时器,32 位的 I/O 口线,4K BEEPROM,3 个 16 位的定时器/计数器,复位电路采用的是 MAX810 式,包含 4 个外部中断,1 个 7 向 量 4 级中断结构(兼容传统 51 单片机的 5 向量 2 级中断结构),串行口为全双工式的。
并且 STC89X52 的静态逻辑操作可以实现到 0Hz 之低,在省电的模式下可以兼容软件的使用。非工 作形式下,CPU 就会处在非工作状态,但是中断、定时器/计数器、串口和 RAM 则可以继续进行;如果是 在掉电保护状态下,RAM 中的内容就可以保留,振荡器会被冻结,所有单片机中结构的工作都会停止,直 到硬件复位或是出现下一个中断才会解除这种状态。
STC89C52 型单片机的基本构成框图如图 2-2 所示:
图 2-2 STC89C52 单片机结构图
STC89C52 型单片机的引脚如图 2-3 所示:
图 2-3 STC89C52 单片机引脚图
STC89C52 型单片机的部分引脚介绍:

2.控制信号引脚:
控制信号引脚包括 RST,ALE,PSEN 和 EA, 其中 RST/VPD(9 脚)的 RST 是高电平有效的复位信号输 入端,输入端保持备用电源的输入端,如果主电源(VCC)出现故障,达到低电平规定值,想要完成复位
操作,就需要把+5V 电源自动高电平两个机器周期(24 个时钟振荡周期)。VPD 作为 RST 引脚的第二功 能,需要接入 RST 端,作为备用电源供给 RAM ,这样一来 RAM 中存储的信息就不会丢失,合复位之后 也能够继续正常运行。
程序存储允许输出信号端是 PSEN(29 脚)。 此端在访问片外程序存储器时, 作为读片外存储器选通信
号的是定时输出的负脉冲。通常将 EPROM 的 OE 端与此引脚相连接。若要允许读出 EPROM/ROM 中
的指令码则需要 PSEN 端有效。PSEN 端同也能够驱动 8 个 LS 型 TTL 负载。可以通过使用示波器查看
PSEN 端有无脉冲输出检查出一个 8051/8031 小系统供电后 CPU 是否能够正常从 EPROM/ROM 中读
取指令码。如果有脉冲输出有则说明其工作基本上正常。
3.输入/输出端口 P0/P1/P2/P3:
P0 口是一个三态的双向接口,可以作为地址/数据的分时复用,还可以用作通用的 I/O 接口。用作漏
极开路的输出端口时, 每位能够驱动 8 个 LS 型 TTL 负载。 作为输入口使用的 P0 口, 只有当锁存器是“1”
状态下才能正确的输入,这时候 P0 口的全部引脚浮空, 当做高阻抗输入。 用作输入口使用的话需要先写 1,
这就是准双向口的含义。片外存储器被 CPU 所访问时,P0 口会分时提供低 8 位的地址以及 8 位数据的 复用总线。在这期间,P0 口的内部上拉电阻是有效的。
P3 口带有内部上拉电阻,它的每位都能够驱动 4 个 LS 型 TTL 负载。P3 口与其它的几个 I/O 端口有
比较大的区别,除了作为通用的准双向 I/O 接口之外,还拥有第二功能。它的各个引脚的第二功能为:P3.
0:(RXD)串行输入口;P3.1:(RXD)串行输出口;P3.2:(INT0#)外部中断 0 输入口;P3.3:(INT1#)外部
中断 1 输入口; P3.4: (T0)定时/计数器 0 的外部计数输入端; P3.5: (T1)定时/计数器 1 的外部计数输入端;
P3.6:(WR#)外部数据存储器写入脉冲;P3.7:(RD#)外部数据存储器读取脉冲。
2.2.2 4 路红外线探测模块

为了使轮式机器人完成自动寻线功能,这里我使用 4 路红外线探测模块来实现。该模块的功能是对路 面上的黑线进行检测,并把检测到路面信息的信号反馈给单片机,通过单片机处理后驱动轮机对轮式机器 人前行的方向和速度进行调整,达到自动寻线的目的。该模块的探头是由红外线发射管和接收管两个部分 构成,它的中控电路为了避免临界输出抖动,以 LM339 电压比较器作为核心器件,安装起来方便快捷,使 用起来也比较简单容易。其主要参数如图 2-4 所示:
图 2-4 4 路红外探测器参数
4 路红外探测器如图 2-5 所示:
图 2-5 4 路红外探测
2.2.3 US-100 超声波测距模块
因为此次的设计中我给轮式机器人增加了避障功能, 所以我使用具有非接触测距功能的 US-100 型超 声波测距模块,它的测距范围是 0~4.5m,宽电压输入范围是 2.4~5.5V ,静态的功耗通常低于 2mA;该 模块中有温度传感器,其作用是能够对测距的结果进行再次矫正;另外,为了使该模块的运行稳定,其通 信方式包括了 GPIO 和串口等。
2.2.4 L298N 电机驱动芯片
此次的设计选用了 L298N 型电机驱动芯片。ST 公司生产的 L298N 芯片,它的驱动电机具有的电压 较高以及电流较大的特点。此芯片具有以下的特征:(1)工作时需要较高的电压,所能达到的最高电压为 46V。(2)工作时会输出比较大的电流,通常持续工作时的电流是 2A,某一时刻的最大电流为 3A。(3)双 H 桥直流电机驱动芯片(两片),能够驱动电路中的步进机、直流的电动机、感性负载和继电器等。(4)控制 电平信号时应用的逻辑是标准 TTL。(5)包含的使能控制端为 2 个,禁止或者准许设备工作不会受到输入信 号的干扰。(6)包含的一个输入端为逻辑电源,在低压的状况下就可以实现内在逻辑电路的工作。(7)能够将 检测电路进行外置,控制电路对反馈的变化量进行接收。
图 2-6 L298N

2.2.5 七段数码管
如图 2-7 所示为 8 个发光二极管组成构成的 7 段数码管。其中,数字显示部分由 7 个细长的发光二极 管组成,小数点则用另外一个圆形的发光二极管显示。若要数码管中的点或者笔画发光,则必须导通相应 的发光二极管。各种字符的显示就是通过控制与其相对应的二极管,因为所用的数码管结构比较简单,所 显示的字符数量就比较有限,并且形状会有一定程度的失真,但其控制起来比较简单,使用也很方便。
图 2-8 七段数码管
2.3 系统硬件方案的设计
2.3.1 主控制系统设计
图 2-9 单片主控电路
如图 2-9 所示为主控制系统电路,单片机、复位电路、时钟电路共同构成了单片机主控制系统。由于 STC89C52 型单片机工作电压的范围是 4V-5.5V,所以通外接 5V 的直流电源作为单片机电源,其连接方式 是将单片机中的 40 脚 VCC 接 +5V,而电源地端链接 20 脚 VSS。
复位电路是利用将电路恢复到起始的时候,单片机开始时的工作设定就能够知道,单片机的启动也就 能够完成了。电源接通之后,复位信号就会在单片机中产生。若外界环境影响比较严重时,运行中的单片 机会出现程序上的错误,想要进行纠正的话需要通过复位按钮,重新开始执行程序,这一过程是自动的。 自动复位以及外部按键手动复位一般的设备上都具备,在时钟电路中进行单片机的复位过程,提供 2 个机 器周期的高电平并由 RESET 端供给。一个是在给电路通电的过程中立刻进行复位操作;或者是在必要时 进行手动操作;再就是按照程序或是电路运行过程中的需要自动地进行。复位电路通常简单一些,仅仅是 电阻和电容两者的组合,更复杂的就是三极等配合程序的进行。此次的设计使用的是外部手动按键复位电 路。
时钟电路的作用的控制单片机的工作节奏。时钟电路是振荡电路,它会输出一个正弦波的信号给单片 机。作为基准,一个正弦波信号由它提供给单片机,而单片机的执行速度由此决定。作为片内振荡器的反

向放大器具有 XTAL1 和 XTAL2。在时钟电路中, 12 个振荡周期组成了一个机器周期,若频率为 12MHz 的石英晶体振荡器接在外电路中时,振荡周期就是 1/12us。
2.3.2 循迹系统电路设计
图 2-10 循迹原理图
如图 2-10 所示,对于实验设计依据的理论进行了详细的讲解,主要依据的是循迹的理论,轮式机器 人在前行的过程中,在试验场地中设置好跑道,通常是在白色地面上设置黑线,因为黑色和白色对于光的 反射条件不同,能够让轮式机器人在行进时准确判别“路线”。所以在实验中使用红外寻迹系统,依据的是 红外线的反射特性,能够准确的辨别出色彩,实现比较容易,而得到的结果也比较准确。就像上文中提到 的那样,在放出红外线的过程中,由于轮式机器人是在带有黑线的白纸上前行的,如果打在白纸上,就会 发生漫反射,这样就能够收到信号;如果打在黑线上就不一样了,由于黑色可以吸收红外线,那么就不存 在反射,此时就得到了区分,这两种结果的对比是通过 LM339 来实现的,这样就完成了判断。
2.3.3 超声波测距系统设计
图 2-11 超声波模块实物
如图 2-11 所示,超声波测距系统所采用的是技术比较成熟的 HC-SR04,这种技术能够进行近距离的 感应,而且不需要触及就能实现,最短距离为 2cm,最长可以到 40cm,准确度为 3mm。这个模块主要包 含了三个方面,分别为接收装置,发射装置以及控制系统。
这一系统主要的依据是:根据 IO 口 TRIG 的工作来进行距离的测量,把高电平的时间最低保持在 10 us,这时,该模块就会主动的传出 8 个在 40kHz 的方形波,来确定有没有数据的传送。当存在数据时,E CHO 开始工作,产生高电平,此时电平所用的时间就是超声波往返一个来回的记录。因此我们就能达到远 近的计算,间隔为高电平耗费时间与声音传播速度乘积的二分之一。在此过程中,VCC 供给 5V 电源,G ND 作为接地线,TRIG 触发来控制信号的输入,以及 ECHO 回响信号的输出等四支线。STC89C52 型 单片机传送出 40kHz 的信号,通过放大处理随后进行反射,然后作为输入信号传送到芯片,锁相环对其进

行锁定, 这时芯片的中断发挥作用, 得到经历的时间,通过一系列的过程之后, 将在数码显示器上得到结果, 如图 2-12 所示:
图 2-12 超声波测距系统框图
对检测到的超声波系统最大可测量距离的影响主要有以下几点,分别为:信号的变化,障碍物的自身 特性,障碍物表面的光滑程度以及接收装置的灵敏度。最小可测量距离的大小受接收装置的能力影响。
2.3.4 电机驱动系统的设计
电机主要是靠电路实现驱动的,通常情况下都会利用 H 桥式,L298N 自身就可以完成这种电路的设 计,不必外界电路辅助,因此采用了 L298N,从系统接收对于轮式机器人的转动情况的信号来实现。通过 单片机编程能够实现两个直流电机的正反转,从而使轮式机器人完成变向,需要在单片机上接入 L298N 的 12,、10、7、5 这四个引脚。驱动电路的原理图如图 2-13 所示:
图 2-13 电机驱动电路
2.3.5 电源部分的设计
7805 芯片是此次设计所使用的电源系统。 因为 78 系列不需要过多外部元器件的辅助就能够形成稳压 电源,而且其本身对于电流也有一定的检测和维护,在散热方面,也存在一定的系统,因此安全问题有了 最大的保障,同时所需资金较低,易于接受,也完全能够满足轮式机器人 L298N 芯片的逻辑供电和单片机 控制系统的供电需求,因此我使用 7805 芯片作为此次设计的电源系统。其中,IN 输入端、OUT 输出端和 GND 接地端为 7805 芯片的 3 个引脚,正常情况下供给的电流值为 1.5A,若要提供大于 1.5A 的电流必须 在散热足够的情况下才可以。7805 芯片可以以 9V、12V、15V 作为输入电压,而输出电压要稳定在 5V, 并且误差也不超过正负 0.2V。在这种条件下,以及结合电机的工作电压,就使用了 6 节 9V 干电池当做 7 805 芯片的输入电源,其电源部分电路图如图 2-14 所示:
图 2-14 电源部分电路图

指 标 剽窃文字表述 1. 设计还使用了 L298 型号的驱动芯片来驱动轮式机器人的行进。系统的总体框图如图 2-1 所示: 电源部分减速电 机超声波检测 MCUL298 驱动数码管显示循迹模块图 2-1 总体结构框图 2.2 系统相关器件的介绍 2.2.1 STC89C52 单片机在此次设计 2. CPU 就会处在非工作状态,但是中断、定时器/计数器、串口和 RAM 则可以继续进行;如果是在掉电保护状态 下,RAM 中的内容就可以保留,振荡器会被冻结,所有单片机中结构的工作都会停止,直到硬件复位或是出现 下一个中断才会解除这种状态。 3. 构成的 7 段数码管。其中,数字显示部分由 7 个细长的发光二极管组成,小数点则用另外一个圆形的发光二极 管显示。 4. 3 系统硬件方案的设计 2.3.1 主控制系统设计图 2-9 单片主控电路如图 2-9 所示为主控制系统电路,单片机、 复位电路、时钟电路共同构成了单片机主控制系统。由于 STC89C52 型单片机工作电压的范围是 4V-5.5V,所以 通外接 5V 的直流电源作为单片机电源,其连接方式是将单片机中的 40 脚 VCC 接 +5V, 而电源地端链接 20 脚 VSS。复位电路是利用将电路恢复到起始的时候,单片机开始时的工作设定就能够知道,单片机的启动也就能 够完成了。电源接通之后,复位信号就会在单片机中产生。 5. 一个是在给电路通电的过程中立刻进行复位操作;或者是在必要时进行手动操作;再就是按照程序或是电路运 行过程中的需要自动地进行。复位电路通常简单一些,仅仅是电阻和电容两者的组合,更复杂的就是三极等配 合程序的进行。此次的设计使用的是外部手动按键复位电路。 6. 控制单片机的工作节奏。时钟电路是振荡电路,它会输出一个正弦波的信号给单片机。作为基准, 超声波测距系统所采用的是技术比较成熟的 7. 2.3.3 超声波测距系统设计图 2-11 超声波模块实物如图 2-11 所示, HC-SR04, GND 作为接地线, TRIG 触发来控制信号的输入, 以及 ECHO 回响信号的输出等四支线。 8. VCC 供给 5V 电源, STC89C 9. 可以以 9V、12V、15V 作为输入电压,而输出电压要稳定在 5V,并且误差也不超过正负 0.2V。在这种条件下, 以及结合电机的工作电压,就使用了 6 节 9V 干电池当做 7805 芯片的输入电源,其电源部分电路图如图 2-14 所示:图 2-14 电源

4. 第三章系统软件方案的设计 相似文献列表 1 文字复制比:72.3%(3215) 剽窃观点(0) 56.0%(2491) 是否引证:否 50.8%(2260) 是否引证:否 46.6%(2072) 是否引证:否 45.2%(2008) 是否引证:否 43.7%(1942) 是否引证:否 41.6%(1847) 是否引证:否 18.8%(834) 是否引证:否 18.3%(812) 是否引证:否 16.4%(728) 是否引证:否 8.3%(367) 是否引证:否 8.3%(367) 是否引证:否 8.0%(357) 是否引证:否 7.5%(333) 是否引证:否 7.5%(333) 是否引证:否 7.5%(333) 是否引证:否 7.5%(333) 是否引证:否 7.4%(331) 是否引证:否 5.8%(260) 是否引证:否 3.9%(173) 是否引证:否 3.8%(171) 是否引证:否
总字数: 4445
20097747_何斌旭_基于 AGV 小车的建模与行走设计 何斌旭 - 《大学生论文联合比对库》- 2013-06-24 基于舵机转向的循迹小车控制系统设计 孟兵兵 - 《大学生论文联合比对库》- 2013-05-17 计算机工程学院_202100626_邵先锋 计算机工程学院 - 《大学生论文联合比对库》- 2014-06-11 计算机-黄坚-邵先锋 邵先锋 - 《大学生论文联合比对库》- 2014-09-23 10804050206-方佳佳-循迹智能车总体设计 方佳佳 - 《大学生论文联合比对库》- 2012-05-28 无人驾驶汽车的环境感知系统设计 刘皓杰 - 《大学生论文联合比对库》- 2015-05-09 肖晨_10908010113_基于 Android 的智能运动装置的设计与实现 肖晨 - 《大学生论文联合比对库》- 2013-06-14 张孟乾机电学院电气工程及其自动化 张孟乾 - 《大学生论文联合比对库》- 2015-05-19 王彤_1005110126_基于单片机的汽车倒车系统设计 王彤 - 《大学生论文联合比对库》- 2015-05-29 基于 52 单片机的倒车雷达系统 完颜绍澎 - 《大学生论文联合比对库》- 2013-05-16 基于 52 单片机的倒车雷达系统 完颜绍澎 - 《大学生论文联合比对库》- 2013-05-22 0922107003 孙梦可 孙梦可 - 《大学生论文联合比对库》- 2013-05-24
2
3
4
5
6
7
8
9
10
11
12
13
09045419 倪飞祥 - 《大学生论文联合比对库》- 2013-07-10 基于 proteus 的单片机超声波测距仿真 臧维 - 《大学生论文联合比对库》- 2013-08-27 基于 AT89S51 单片机的超声波测距系统 鞠芝牡 - 《大学生论文联合比对库》- 2015-05-14 基于超声波传感器的测距系统 李正军 - 《大学生论文联合比对库》- 2014-03-05 油井深度的测量系统设计 姚俊 - 《大学生论文联合比对库》- 2013-05-17 08-2009081416-刘志超 刘志超 - 《大学生论文联合比对库》- 2013-06-25 智能小车的开发与应用 陈荣华 - 《大学生论文联合比对库》- 2015-05-09 基于超声波的距离测量系统设计 李骋 - 《大学生论文联合比对库》- 2012-07-06
14
15
16
17
18
19
20
原文内容

第三章系统软件方案的设计
3.1 主程序设计及其流程图
循迹流程图如图 3-1 所示:
图 3-1 循迹流程图
此次课程设计采用 C 语言来实现各个功能。用主程序来初始化系统环境,定时器 0 作为计数,定时器 1 作为定时,EA 作为置位的总中断允许位。在主程序运行后,进行定时的测量距离判断,当程序中 cl==1, 轮式机器人完成一次测量,在程序的设计中,所使用超声波测量距离的频度为 2 次/秒。在全部的程序中, 系统会进行循环显示测量的结果。调用超声波测距的子程,会在单片机中产生六个到八个频率为 38.46kHz 的超声波脉冲,并且释放在超声波的发射头上,超声波从超声波发射头发送完成后,则会启动内部计时器 T0 并开始计时。有时会造成直射波触发,主要是因为超声波直接从发射头传送到接收头上。我们通常让单 片机延时 1.5 -2ms(这个值通常被称为盲区值,使超声波测距仪存在一个最小可测距离的原因)来了避免 这一现象,而后对单片机 P3.7 脚的电平判断程序就会运行。当 P3.7 脚的电平由高电平转为低电平被检测 到时,T0 计时立即停止。因为此次设计使用的是晶振为 12 MHz 的单片机,所以 1us 就是计时器每计一 个数所用的时间。当超声波测距的子程序检测到接收成功的标志位时,计数器 T0 中的数(超声波来回所 用的时间)就会计算出来,也就是说测距仪和障碍物之间的距离就会被计算出来。
判断是否存在阻碍根据的是超声波传感器传出的信号。如果存在阻碍,那么信号碰到障碍物就会反射 回去,但是在实际过程中我们需要提前设定一个时间,若超过了这个时间范围,反射信号不会被系统检测 到,然后在此处系统又将会重新发送一个超声波信号;若在这个时间内,反射信号被系统检测到了,把信 号在空气中的传播速度和接收与发射之间的时间差相乘,就能得到障碍物与轮式机器人之间的距离。
3.2 轮式机器人寻迹算法
轮式机器人在有黑线的路面前进,通过 4 路红外探测器检测路面信息,把信号反馈到单片机中,单片 机进行分析处理之后驱动电机运转,使轮式机器人沿着正确的方向行驶,实现轮式机器人的自动寻迹功能。

3.3 超声波测距的计算
这种理论的依据是根据超声波传感器发出的超声波,在遇到阻碍时所反射回的信号,再根据在这段时 间内所经历的时间差值,得到这个障碍物与超声波传感器的远近,这种远近所依据的公式为:l=s/2=ct/2。
在上面的公式中,障碍物与传感器的间距用 l 来表示,信号在传送和接收这两段时间内走的路程为 s, 在温度为 20℃时声音的传播速度为 c, 在这个过程中完成的时间为 t。 在发送出超声波的同时还要将时间设 定装置进行计时,发射超声波的时间和收到反射波的时间所具有的时间差可以利用定时器的计数功能进行 记录。在超声波反射信号被接收到时,一个负跳变会产生在接收电路的输出端,并且一个中断请求信号会 在 INT0 或 INT1 端,即外部中断请求会响应在单片机中,外部中断服务子程序执行,再读取时间差,障碍 物与轮式机器人之间的距离就会计算出来。
3.4 程序的主要算法
/****************************************************************************
简单寻迹程序:接法
EN1 EN2 PWM 输入端,本程序不输入 PWM,直接使插上跳线帽,使能输出,这样就能全速运行
Port1_0 Port1_1 接 IN1 IN2 当 Port1_0=1,Port1_1=0; 时 left up motor 正转 left up motor 接驱 动板子输出端(蓝色端子 OUT1 OUT2)
Port1_0 Port1_1 接 IN1 IN2 当 Port1_0=0,Port1_1=1; 时 left up motor 反转
Port1_0 Port1_1 接 IN1 IN2 当 Port1_0=0,Port1_1=0; 时 left up motor 停转
Port1_2 Port1_3 接 IN3 IN4 当 Port1_2=1,Port1_3=0; 时 left down motor 正转 left down motor 接驱动板子输出端(蓝色端子 OUT3 OUT4)
Port1_2 Port1_3 接 IN3 IN4 当 Port1_2=0,Port1_3=1; 时 left down motor 反转
Port1_2 Port1_3 接 IN3 IN4 当 Port1_2=0,Port1_3=0; 时 left down motor 停转

Port1_4 Port1_5 接 IN5 IN6 当 Port1_4=1,Port1_5=0; 时 right up motor 正转 right up motor 接 驱动板子输出端(蓝色端子 OUT5 OUT6)
Port1_4 Port1_5 接 IN5 IN6 当 Port1_4=0,Port1_5=1; 时 right up motor 反转
Port1_4 Port1_5 接 IN5 IN6 当 Port1_4=0,Port1_5=0; 时 right up motor 停转
Port1_6 Port1_7 接 IN7 IN8 当 Port1_6=1,Port1_7=0; 时 right downp motor 正转 right downp motor 接驱动板子输出端(蓝色端子 OUT7 OUT8)
Port1_6 Port1_7 接 IN7 IN8 当 Port1_6=0,Port1_7=1; 时 right downp motor 反转
Port1_6 Port1_7 接 IN7 IN8 当 Port1_6=0,Port1_7=0; 时 right downp motor 停转
Port3_2 接四路寻迹模块接口第一路输出信号即中控板上面标记为 OUT1
Port3_3 接四路寻迹模块接口第二路输出信号即中控板上面标记为 OUT2
Port3_4 接四路寻迹模块接口第三路输出信号即中控板上面标记为 OUT3
Port3_5 接四路寻迹模块接口第四路输出信号即中控板上面标记为 OUT4
四路寻迹传感器有信号(白线)为 0 没有信号(黑线)为 1
四路寻迹传感器电源+5V GND 取自于单片机板靠近液晶调节对比度的电源输出接口
关于单片机电源:本店驱动模块内带 LDO 稳压芯片,当电池输入 6V 时时候可以输出稳定的 5V
分别在针脚标+5 与 GND 。这个输出电源可以作为单片机系统的供电电源。
****************************************************************************/
#include
#define Left_one_led P3_4 //P3_4 接四路寻迹模块接口第一路输出信号即中控板上面标记为 OUT1
#define Left_two_led P3_5 //P3_5 接四路寻迹模块接口第二路输出信号即中控板上面标记为 OUT2

#define Right_one_led P3_6 //P3_6 接四路寻迹模块接口第三路输出信号即中控板上面标记为 OU T3
#define Right_two_led P3_7 //P3_7 接四路寻迹模块接口第四路输出信号即中控板上面标记为 OUT 4
#define Left_moto_go {P1_0=1,P1_1=0,P1_2=1,P1_3=0;} // 左边两个 motor 向前走
#define Left_moto_back {P1_0=0,P1_1=1,P1_2=0,P1_3=1;} // 左边两个 motor 向后转
#define Left_moto_Stop {P1_0=0,P1_1=0,P1_2=0,P1_3=0;} //左边两个 motor 停转
#define Right_moto_go {P1_4=1,P1_5=0,P1_6=1,P1_7=0;} // 右边两个 motor 向前走
#define Right_moto_back {P1_4=0,P1_5=1,P1_6=0,P1_7=1;} // 右边两个 motor 向前走
#define Right_moto_Stop {P1_4=0,P1_5=0,P1_6=0,P1_7=0;} // 右边两个 motor 停转
unsigned char pwm_val_left =0;
unsigned char push_val_left =1;// 左 motorPWM10/40
unsigned char pwm_val_right =0;
unsigned char push_val_right=1;// 右 motorPWM10/40
bit Right_moto_stop=1;
bit Left_moto_stop =1;
/***************************延时函数*********************************************/
void delay(unsigned int k)
{
unsigned int x,y;

for(x=0;xfor(y=0;y<2000;y++);
}
/************************前速前进************************************************/
void run(void)
{
Left_moto_go ;
Right_moto_go ;
}
/*********************************************************************/
/*--主函数--*/
void main(void)
{
delay(100); //延时一段时间
run();
for(;;) /*无限循环*/
{
//有信号为 0 没有信号为 1
if((Left_two_led==0)&&(Right_one_led==0))
{

run();
}
else
{
if(Right_one_led==1&&Left_two_led==0) //右边检测到黑线
{
Left_moto_go; //左边两个 motor 正转
Right_moto_back; //右边两个 motor 反转
}
else if(Left_two_led==1&&Right_one_led==0) //左边检测到黑线
{
Right_moto_go; //右边两个 motor 正转
Left_moto_back; //左边两个 motor 反式开始转
}
}
}
}
指 标 剽窃文字表述

相关文档
最新文档