1、转弯子程序 193.9 返回子程序 194 机器人制作与改进 194.1 制作流程 194.1.1 核心主板 204.1.2 机器人框架 204.2 制作中出现的问题及改进结果 214.2.1 PCB 板 214.2.2 机器人框架 215 系统测试及数据记录 215.1 调试步骤 225.2 模块调试 225.2.1 驱动电路及动力系统 225.2.2 巡线系统 235.2.3 避障系统 235.3 整体调试 236 结论 24参考文献 25谢 辞 26附录 1 电路原理图 27附录 2 PCB 覆铜 3D 图 28附录 3 源程序 29摘要:本设计是制作了一种以单片机为核心控制单元,以红外
2、光电传感器为检测手段的自动巡线智能返回的机器人模型。本设计利用红外光电传感器组采集路径状态信息,采用单片机脉冲信号控制方法改变电机方向和转速,缩短智能机器人控制响应时间,最终实现巡线机器人在规定路径上自主识别路线、快速行驶、准确返回;在传感器信号及软件实现路径判别方面,实现了具有良好的路径识别性能。关键字:巡线机器人;单片机;控制系统 The design of the patrol robotsAbstract: This design is made a single-chip microcomputer as the core control unit, with infrared el
3、ectric sensor for automatic patrol intelligent detection means return model of the robot.This design using the infrared sensor and electrical group status information acquisition path, the pulse signal by single chip microcomputer control method change the direction of motor and speed, shorten the i
4、ntelligent robot control response time, finally realizes the patrol robot autonomous recognition within the prescribed path route, driving fast, accurate return;In the sensor signal and software realization path determination, achieved good recognition performance of the path.keywords: Inspection ro
5、bot;MCU;Control system1绪论1.1设计背景随着社会发展,人民生活水平的不断提高,信息化、智能化技术渗透于人们生活的各个领域,机器人慢慢进入了我们的生活中,各种各样的机器人应用于社会,帮助人们完成各种工作,可以提高工作效率、减少劳动力等。从应用环境出发,机器人分工业机器人和特种机器人。工业机器人就是面向工业领域的多关节机械手或多自由度机器人;而特种机器人则是除工业机器人之外的、用于非制造业并服务于人类的各种先进机器人,包括:服务机器人、水下机器人、娱乐机器人、军用机器人等等。本文设计的巡线机器人属于特种机器人,可以巡直线、曲线或多轨道运行,可用于工业生产中产品运送、智能导航
6、以及其他科学探索等领域。1.2设计现状现在巡线机器人发展很快,从智能玩具到其它各行业都有实质成果。其在循 迹、避障、检测贴片、寻光入库、避崖等方面基本可以实现,但我国综合性强的 机器人还停留在初级阶段。我此次的设计主要实现巡迹和避障这两个功能的综合。1.3设计内容本设计要求巡线机器人在白色的场地上,通过控制机器人的转向角度和车速, 使机器人能自动地沿着一条任意给定的黑色带状引导线行驶。在本设计中巡线机器人接收到红外遥控器或键盘给出的开始及目标位置信号后进入循迹模式,即开始不停地扫描与传感器连接的单片机 I/O 口,一旦检测到某个 I/O 口有信号,即进入判断处理程序,先确定所有传感器中的哪一个
7、探测到了黑线,如果左边第一级传感器或者左边第二级传感器探测到黑线,即机器人左半部分压到黑线,车身向右偏出,此时应使机器人向左转;如果是右边第一级传感器或右边第二级传感器探测到了黑线,即车身右半部压住黑线,机器人向左偏出了轨迹,则应使机器人向右转。在经过了方向调整后,机器人再继续向前行走,并继续探测黑线重复上述动作。当路径传感器的信号值 RLG_count=1 时,右转弯进入既定轨道,当路径传感器的信号值 LLG_count=1 时,右转弯进入既定轨道,RLG 检测 1、3、5号轨道,LLG 检测 2、4、6号轨道,实现既定轨道的精确判断。在机器人检测到停止线后,等待返回键的按键值,按下返回键后
8、, 巡线机器人根据 FH 值判断返回路径,从而实现寻线机器人的自主返回。以上所涉及的内容均采用模块化设计,系统总体逻辑结构框架图如图 1-1 所示。图 1-1 系统总体逻辑结构框架图2方案设计与论证根据要求,确定如下方案:在设计的机器人底板框架基础上,加装光电检测器,实现对机器人状况的实时检测,并将检测数据传送至单片机进行处理,然后由单片机根据所检测的各种数据实现对机器人的智能控制1。这种方案能实现对巡线机器人的运动状态进行实时控制,控制灵活、可靠,精度高,可满足对系统的各项要求。2.1核心系统根据设计要求,我认为此设计属于多输入量的复杂程序控制问题。据此,拟定了以下两种方案并进行了综合的比较
9、论证,具体如下:方案一采用各类数字电路来组成机器人的控制系统,对外围避障信号,自动寻迹信号,红外遥控信号进行处理。本方案电路复杂,灵活性不高,效率低,不利于机器人智能化的扩展,对各路信号处理比较困难2。方案二采用 STC89C52 单片机来做为整机的控制单元。红外线探头采用市面上通用的发射管与及接收头,经过比较芯片调制处理后由控制系统接收。路线寻找采用红外线管对路面信号采集,送到单片机系统处理,同样包括红外遥控信号。此系统比较灵活,采用软件方法来解决复杂的硬件电路部分,使系统硬件简洁化, 各类功能易于实现,能很好地满足题目的要求。比较以上两种方案的优缺点,方案二简洁、灵活、可扩展性好,更能达到
10、题目的设计要求,因此采用方案二来实现。2.2巡线系统对于巡线系统,我拟定了以下两种方案。方案一是采用发光二极管发光,用光敏二极管接收。由于光敏二极管受可见光的影响较大,故稳定性差。方案二是利用集成型红外对管 ST 系列反射式光电传感器作为寻迹单元的传感器,其中红外线发射管发射红外线,红外线二极管进行接收。采用红外线发射,外面可见光对接收信号的影响较小,再用射极输出器对信号进行隔离。本方案也易于实现, 比较可靠,因此采用方案二3。ST 系列反射式光电传感器是经常使用的传感器。这个系列的传感器种类齐全、价格便宜、体积小、使用方便、质量可靠、用途广泛。我们采用 ST188 作为红外检测传感器。在黑线
11、检测的测试中,若检测到黑色区域,发射管发射的红外线没有反射到接收管,接收管的电压为低电压,若检测到白色区域,接收管接受到发射管发射的红外线,电阻发生变化,所分得的电流也就随之发生变化,接收管的电压为高电压,测试基本满足要求。比较基准电压由 30K 的变阻器调节,各个接收管的参数都不一致,每个传感器的比较基准电压也不尽相同,为此在每个传感器配备了一个变阻器4。该探测地面黑线的原理是:光线照射到地面并反射,由于黑线和白纸的反射系数不同,黑线上方的电阻值发生变化,经过电压的改变将信号送给单片机处理。探测的示意图如图 2-1 所示。图 2-1 黑线探测示意图(黑色引导线上的两个白点为红外传感器)图 2
12、-2 黑线探测原理图本电路(如图 2-2)利用红外传感器在不同路面环境的条件下光线是否反射的原理,根据两侧的传感器检测到黑线来控制电机的转向。将红外传感器分为左和右两个方向,采用一组两个红外传感器,当红外传感器右检测到信号时,机器人左走,直到两个红外传感器同时不能检测到信号证明机器人已经回到黑线上才向前走,这样就可以保证机器人不会跑出黑线。在正常状态下每个红外传感器感光量相同,通过调节变阻器,使得电压输出为零,当红外传感器进入黑色引导带时,感光量大大改变,电压发生翻转。将电平变化送到单片机控制机器人的调整方向。只有红外传感器进入黑色引导线内才能使传感器检测不到信号,电平才会改变,这种方法抗干扰
13、能力强。2.3避障系统根据要求我对以下方案中进行了比较。方案一采用激光传感器测距。能非常准确地测出小车与障碍物的距离,但价格也高,处理复杂,不符合我们的要求。方案二采用超声波传感器进行避障。超声波传感器的原理是:超声波由压电陶瓷超声波传感器发出后,遇到障碍物便反射回来,再被超声波传感器接收。然后将这信号放大后送入单片机。超声波传感器在避障的设计中被广泛应用。但是超声波传感器测得信号的范围太广,巡线机器人需要的是左前、右前、正前方的信号, 故不选用此方案 5。方案三采用左右两个红外传感器。红外传感器,是目前使用比较普遍的一种避障传感器,其处理电路如图 2-3 所示,通过调节 R23、R24 两个
14、变阻器,可调节两个红外传感器的检测距离为 1080cm,开关量输出(TTL 电平),简单、可靠。我们采用这种电路,能可靠地检测左前方、右前方、前方的障碍情况,为成功避障提供了保证。图 2-3 红外发射及接收处理电路2.4显示系统目前市场上存在两种显示模块,我对两种显示模块进行了比较,具体如下: 方案一采用液晶显示屏,其能耗相对较低,又称 LCD,它是由一定数量的彩色或黑白像素组构成。LCD 功耗非常低,所以适用于低功耗节能的电子设备上。LCD 的工作原理是通过导通电流点亮整个 LCD 的液晶平面上的无数个点构成线, 在由无数条线构成面,再由 LCD 背面的发光灯组成一幅幅不同的画面。LCD 特
15、点是器件薄,有利用空间。LCD 属于低能耗的电子产品,还可以完全不发热,而传统的 CRT 显示屏会产生高温从而增大了能耗6。 其优点包括:(1)低辐射,益健康;(2)液晶显示屏的辐射级别小于传统的 CRT 显示屏;(3)画面柔和不伤眼;(4)液晶显示屏画面不会闪烁;LCD1602 可以显示 32 个字符(共两行)液晶模块。其管脚接口如图 2-4 所示。Lcd1602RAM 地址映射图如图 2-5 所示,其控制器内部带有 808 位(80 字节)的 RAM 缓冲区,对应关系如:图 2-5 所示。图 2-4 LCD1602 显示模块电路图LCD 基本操作时序:如表 2-1 所示。表 2-1 LCD
16、 基本操作时序读状态 输入:RS=L,RW=H,E=H 输出:D0-D7=状态字 写指令 RS=L,RW=L,D0-D7=指令 E=高脉冲 无 读数据 RS=H,RW=H,E=H D0-D7=数据 写数据 RS=H,RW=L,D0-D7=数据,E=高脉冲 图 2-5 LCD1602RAM 地址映射图方案二采用 LED 数码管进行显示。数码管由于显示速度快,使用简单,显示效果简洁明了而得到了广泛应用。但是由于本设计计划在显示台显示机器人前进的路线、路程以及当前的运动状态。用数码管无法显示如此丰富的内容,因此我们放弃了此方案。通过比较我选定了方案一,用 LCD 进行机器人的状态显示。2.5动力系统
17、2.5.1电机本设计为巡线机器人,对于机器人来说,其驱动轮的驱动电机的选择就显得十分重要。由于本设计要实现对路径的准确定位,综合考虑了以下两种方案。 方案一采用步进电机作为该系统的驱动电机。由于其转过的角度可以精确的定位,可以实现机器人前进路程和位置的精确定位。虽然采用步进电机有诸多优点,如步进电机的输出力矩较低,随转速的升高而下降,且在较高转速时会急剧下降,其转速较低,但不适用于机器人等有一定速度要求的系统。经综合比较考虑,我们放弃了此方案7。方案二采用直流减速电机。直流减速电机转动力矩大,体积小,重量轻,装配简单,使用方便。由于其内部由高速电动机提供原始动力,带动变速(减速) 齿轮组,可以
18、产生大扭力。我们所选用的直流电机减速比为 1:48,减速后电机的转速为 208r/min。我们的车轮直径为 6cm,因此我们的机器人的最大速度可以达到 V=2rv=2*3.14*0.033*208/60=0.7184m/s 能够较好的满足系统的要求,因此选择了此方案。2.5.2电机驱动系统根据本设计要求,我认为此设计需要足量的动力源。据此,拟定了以下两种方案并进行了综合的比较论证 方案一各种传感器信号经过单片机处理后,经过驱动芯片 L293D,驱动小车的两轮电机进行相应的动作。一片驱动芯片 L293D 可以驱动两个电机,利用 PWM 控制实现小车的加、减速,电路原理图如图 2-6。方案二直流电
19、机用分立元件构成驱动电路。由分立元件构成电机驱动电路, 结构简单,价格低廉,在实际应用中应用广泛。但是这种电路工作性能不够稳定。因此本设计选用了方案一。图 2-6 L293D 电路原理图2.6时钟电路89C52 单片机虽然有内部振荡电路,但要形成时钟,必须外部附加电路。89C52 单片机的时钟产生方法有两种。内部时钟方式和外部时钟方式8。本设计采用内部时钟方式,利用芯片内部的振荡电路,在 XTAL1、XTAL2 引脚上外接定时元件,内部的振荡电路便产生自激振荡。本设计采用最常用的内部时钟方式,即用外接晶体和电容组成的并联谐振回路。振荡晶体可在 1.2MHz 到12MHz 之间选择。电容值无严格
20、要求,但电容取值对振荡频率输出的稳定性、大小、振荡电路起振速度有少许影响,C1、C2 可在 20pF 到 100pF 之间取值。所以本设计中,振荡晶体选择 11.0592MHz,电容选择 22pF。在设计印刷电路板时,晶体和电容应尽可能靠近单片机芯片安装,以减少寄生电容,更好的保证振荡器稳定和可靠地工作。为了提高温度稳定性,应采用容量稳定,几乎不随温度、电压、时间的变化而变化的 NPO 电容。2.7复位电路89S52 的复位是由外部的复位电路来实现的。复位引脚 RST 通过一个施密特触发器用来抑制噪声,在每个机器周期的 S5P2,施密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操
21、作所需要的信号。复位电路通常采用上电自动复位和按钮复位两种方式9。最简单的上电自动复位电路中上电自动复位是通过外部复位电路的电容充电来实现的。只要 VCC 的上升时间不超过 1ms,就可以实现自动上电复位。时钟频率用 11.0592MHz 时 C9 取 0.1F,R7 取 10K。除了上电复位外,有时还需要按键手动复位。本设计即采用的按键手动复位。按键手动复位有电平方式和脉冲方式两种。其中电平复位是通过 RST 端经电阻与电源 VCC 接通而实现的。按键手动复位电路见图 2-7。时钟频率选用 11.0592MHz 时,C9 取 0.1F,R7 取 10K。图 2-7 89S52 单片机复位电路
22、2.8外界信息输入系统2.8.1独立键盘本设计中键盘模块的主要工功能是巡线机器人路径的选择,在键盘中输入按键 1,巡线机器人将按 1 号路径行驶,输入按键 2,巡线机器人将按 2 号路径行驶,具有准确路径选取功能。本设计采用独立的矩阵式键盘,矩阵式键盘也叫行列式键盘。与独立键盘相比,要节省较多的 I/O 口。它由行线和列线组成,一组为行线,一组为列线,按键位于行列的交叉点上。矩阵键盘中无按键按下时,行线位于高电平状态;当有键按下时,行线电平状态将由与此行线相连的列线的电平决定。列线的电平如果为低,则行线电平为低;列线电平如果为高,则行线的电平也为高,这一点是识别矩阵式键盘按键是否按下的关键所在
23、。由于矩阵式键盘中行、列线为多键共用,各按键彼此将相互影响,所以必须将行、列信号配合, 才能确定闭合键的位置,在核心控制器中对其编码,确定按键键值,传送到路径选取程序中10。2.8.2红外线遥控器红外遥控是目前使用最广的一种遥控手段。红外线遥控装置具有体积小、功耗低、功能强、成本低等特点。在家庭生活中,录音机、音响设备、空调、电视都采用了红外遥控系统。红外遥控的特点是不影响周边环境、不干扰其他电器设备。由于其无法穿透墙壁,故不同房间的家用电器可使用通用的遥控器而不会产生相互干扰;编解码容易,可进行多路遥控。其遥控范围为 46 米,接收灵敏可靠,抗干扰能力强。巡线机器人遥控系统由发射和接收两大部
24、分组成,系统采用编/解码专用集成电路和单片机芯片来进行控制操作。设计的电路由如下的几个基本模块组成:直流稳压电源,红外发射电路,红外接收电路及控制部分11。结构框图如图 2-8 所示。2.9语音系统本设计将采用蜂鸣器作为语音模块,提示机器人所处的状态,一声为启动机器人,连续响两声为前方有障碍,连续响三声为到达指定位置12。电路原理图如图 2-9 所示。A 遥控部分 B 接收部分图 2-8 红外遥控电路框图 (A)发射电路框图 (B)接收电路框图图 2-9 语音模块电路原理图2.10总体设计本设计由路径识别、路径修正、车速控制、行进中避障及实时显示等系统构成。图 2-10 主板电路总原理图巡线机
25、器人系统要求巡线机器人在白色的场地上,通过控制机器人的转向角度和车速,使机器人能自动地沿着一条任意给定的黑色带状引导线行驶并识别每一个节点信息,直至到达指定位置,待接收到返回信息后,180转弯并原路返回到起始位置。主板电路总原理图如图 2-10 所示,其中电源系统用于完成对整个系统的供电,巡线系统用于识别路径信息,避障系统用于机器人行进间的避障, 显示系统用于显示机器人的关键状态,单片机完成对信号的分析处理,电机驱动系统根据处理结果执行相应的动作,控制机器人完成姿态修正。3软件设计在进行巡线机器人系统设计时,除了系统硬件设计外,大量的工作就是如何实现巡线机器人在既定轨道上按一定规则行驶设计应用
26、程序。因此,软件设计在巡线机器人系统设计中占重要地位。在单片机控制系统中,大体上可分为数据处理、过程控制两个基本类型。数据处理包括:数据的采集、数据转换、定时器或中断的调用等。过程控制程序主要是使单片机按一定的方法进行计算,然后再输出,以便控制机器人巡线。为了完成上述任务,在进行程序设计时,将整个程序分成若干个小部分,每一个小部分叫做一个模块。所谓“模块”,实质上就是所完成一定功能,相对独立的程序段,这种程序设计方法叫模块程序设计法13。模块程序设计法的主要优点是:(1)单个模块比起一个完整的程序易编写及调试;(2)模块可以共存,一个模块可以被多个任务在不同条件下调用;(3)模块程序允许设计者
27、分割任务和利用已有程序,为设计者提供方便。本系统软件采用模块化结构,由主程序路径选取子程序、显示子程序、巡线子程序、PWM 调速子程序、避障子程序、路径识别子程序、90转弯子程序以及定时子程序、中断子程序构成。3.1主程序按遥控器电源键启动机器人显示系统,显示“Hello welcome”,按遥控键“1”进入 1 号路径,按“2”进入 2 号路径,按“3”进入 3 号路径,轨道左侧为单号路径,轨道右侧为双号路径。如果按键进入 1 号路径,那么机器人开始巡线行驶,到达左侧第一个轨道处,机器人开始向左转 75,开始巡线进入 1 号轨道,同时一直检测停止线,检测到停止线,机器人停止运动,显示“see
28、 my hands”等待返回键键值,当按下返回键后,机器人 180转弯继续巡线行驶, 在检测到主轨道时,右转 75,向前巡线行驶,进入主轨道,直到检测到起始位置,机器人 180 度转弯后停止运动。在机器人运动的全程中避障系统一直起作用,如检测到机器人前方有障碍物,调用显示系统和语音系统,显示“obstruction(障碍物,受阻)”同时蜂鸣器连续响两声14。简要程序流程如图 3-1 所示。右转进入双号左转进入单号轨道图 3-1 主程序简要逻辑流程图3.2路径选取子程序路径选取子程序程序存放在 JQR.H 文件中,路径选取主要靠两个红外传感器进行检测,利用定时器 T2 进行 1ms 定时,独立于
29、其他子程序,其规则是等待传感器状态改变,传感器检测到反射光为一个状态,检测不到反射光是另一个状态,当一个状态跳转到另外一个状态时 LG_COUNT+,这样就完成了路径的识别,左侧和右侧传感器分别计数,由主程序判断路径值,如路径 1 的判别为“LLG_COUNT !=1”,进入 1 号路径后,由主程序置 LLG_COUNT 值为 0,到弯道时向右拐 75, 然后再由主程序置 LLG_COUNT 值为 0,到达起始位置时 LLG_COUNT 值为 1,再由主程序置 LLG_COUNT 值为 0,停止此次任务15。简要逻辑流程图如图 3-2 所示。3.3显示子程序图 3-2 根据用户输入选取路径 显示子程序的逻辑流程图如图 3-3 所示。图 3-3 LCD1602 液晶显示流程图3.4巡线子程序巡线子程序的逻辑流程图如图 3-4 所示。图 3-4 巡线子程序逻辑流程图3.5PWM调速子程序PWM 的波形图如图 3-5 所示。图 3-5 PWM 波形PWM 调速子程序逻辑流程图如图 3-6 所示。图 3-6 PWM 调速子程序逻辑流程图3.6避障子程序避障子程序的逻辑流程图如图 3-7 所示。3.7路径识别子程序图 3-7避障子程序逻辑流程图路径识别子程序的逻辑流程图如图 3-8 所示。图 3-8 路径识别子程序逻辑流程图
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1