MazeRobot教程.docx
- 文档编号:23329889
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:27
- 大小:981.44KB
MazeRobot教程.docx
《MazeRobot教程.docx》由会员分享,可在线阅读,更多相关《MazeRobot教程.docx(27页珍藏版)》请在冰豆网上搜索。
MazeRobot教程
主编:
胡文杰、王元伟
指导老师:
黄贤英、杨宏雨
重庆理工大学嵌入式实验室
2014年5月
目录
OUTLINE2
一、电脑鼠案例整体架构2
1.1硬件部分结构图2
1.2硬件部分电路图3
二、硬件模型的搭建4
2.1准备工作4
2.2焊接元器件6
2.3电机的制作8
2.4电机的固定及轮子的制作9
2.5模型的完成10
三、电机的驱动原理及控制应用10
3.1电机的驱动原理10
3.1.1驱动电路芯片L911011
3.2电机的控制及应用12
四、传感器的原理及应用12
4.174HC138译码器12
4.1.1译码器的工作原理12
4.1.2译码器在传感器电路中的应用14
4.2载波发生器14
4.4传感器组15
4.4.1传感器组的原理及应用15
4.4.2传感器组的硬件调试说明16
五、编译环境及下载工具的安装及使用17
5.1编译软件的安装及使用17
5.1.1编译软件的安装17
5.1.2编译软件的使用17
5.2下载软件的使用17
六、上位机算法设计18
6.1迷宫形状的设计18
6.2算法流程19
6.2.1主程序流程图19
6.2.2达到终点子程序流程图20
6.2.3返回起点子程序流程图21
6.2.4冲刺子程序流程图22
OUTLINE
ThistutorialontheprinciplesofIEEEComputerMouseMazeexplorationandproductionbasedon51single-chipdesign,infraredsensors,servomotorsMazerobot(mazecomputermouse).Wereanalyzedforthe8×8maze,mazecomputermouseontheentireprocessfromhardwaredesignandprogramdesignprinciplesarebrieflydescribed.Mazerobotcombinesintelligentcomputers,electronics,machinery,andothermulti-disciplinarytechnicalwalkingrobots.Theoverallstructureoftherobotmazeusuallyincludeembeddedmicrocontrollers,sensors,electromechanicalmovingparts,itsfunctionisinarandomlayoutofthemazemazefromthestartingpointtosearchandfindthebestpathtoapathtoend.Inordertoallowthemazetofindthebestpathtotheendoftherobotinthemaze,therobotmusthavearandomwalkthroughthemaze,memorymaze,mazesearching,routingcapabilities,thewholerobotbymechanicalparts,hardwarecircuit,partoftheprogramalgorithmcomponents.Dothemazerobothasthreemainsteps:
applicationofstructures,sensorsandelectromechanicalhardwaremodeldebugging,developmentanddownloadingtools.
概述
本教程就IEEE走迷宫电脑鼠原理进行探索,并设计制作基于51单片机、红外传感器、伺服电机的Mazerobot(迷宫电脑鼠)。
针对8×8迷宫进行分析,对走迷宫电脑鼠从硬件设计到程序设计的整个过程和原理进行简要的阐述。
Mazerobot结合了计算机、电子、机械等多学科技术的智能行走机器人。
通常迷宫机器人整体结构包括嵌入式微控制器、传感器、机电运动部件,它的功能是在一个可随意布局的迷宫中从起点开始搜索迷宫,并找出一条通往终点的最佳路径。
为了能让迷宫机器人在迷宫中找到通往终点的最佳路径,机器人必须具备在迷宫随意穿行、记忆迷宫、搜索迷宫、路径选择等能力,整个机器人应由机械部分、硬件电路部分、程序算法部分组成。
做该迷宫机器人主要有三个步骤:
硬件模型的搭建、传感器及机电的调试、开发及下载工具的应用。
1、电脑鼠案例整体架构
1.1硬件部分结构图
硬件电路部分主要由单片机最小系统电路、传感器电路、电机驱动电路构成。
如图1-1所示,是硬件电路部分结构框图。
图1-1
1、微控制器
微控制器是电脑鼠的核心,可以选择单片机,若RAM需求量大或者算法复杂或者性能要求高时,需要使用ARM等高性能的微处理器。
2、传感器
传感器的作用是用来感知环境,探测电脑鼠的左、前、右是否有路可走。
本设计中采用的是红外线方式,发射和接收分别受微控制器控制。
由硬件电路部分结构框图可知,在电脑鼠的前、左、右、左前、右前方共有5组,其中左、右、前三组传感器是用于探测电脑鼠在当前迷宫格左、右、前三个方向上是否有支路的,左前、右前两组传感器呈45度安装,用于电脑鼠行进过程中进行姿态矫正,防止电脑鼠走偏而撞到迷宫墙。
3、显示器
显示器是用来显示当前位置等相关信息的,是电脑鼠的可选部分。
4、电源
电源用来为单片机供电,选择哪种电池,这也将影响电路的设计。
5、蜂鸣器
当电脑鼠到底终点、或是返回到起点,可以用蜂鸣器来提示,是电脑鼠的可选部分。
1.2硬件部分电路图
整体硬件电路图如图1-2所示,其中包括程序下载、充电、单片机最小系统、传感器驱动、电机驱动主要5大部分电路图,具体见附件1(pcb板详细电路图)。
图1-2
二、硬件模型的搭建
2.1准备工作
对照下面“Maze_Robot元器件对应表”熟悉相应的元器件并了解其功能。
表1Maze_Robot元器件对应表
序号
元器件名称
PCB板上对应位置
个数
备注
1
1uF
C17
1
贴片电容
没有正负极
2
10uF
C16
1
3
20pF
C4C5C20C21
4
4
102
C8
1
5
103
C19
1
6
104
C2C6C7C9C10C11C12C13C14C15C18
11
7
0.47uF
C3
1
8
2k
R1R4R5R6R7R8R9R10R11R12R13R14R15RR17R18R19R20R21R22R23R24R25R26R27R28
25
贴片电阻
没有正负极
9
10K
R2
1
10
13K
R16
1
11
100K
RP1RP2RP3RP4RP5
5
可调电阻,可调端对应pcb凸端
12
8050
Q3Q5
2
贴片三极管
13
8550
Q1Q2Q4
3
14
STC89S52
MCU
1
芯片
芯片上黑色圆点对应pcb白色圆点或凹槽的左上角
15
CH340G
U1
1
16
74HC138
U2
1
17
74HC00
U3
1
18
L9110
U4U5
2
19
0.5A(保险丝)
F
1
无
20
12M
X1X2
2
晶振
21
LED(贴片)
D1D2D3D4D5D6D7D8D9D10
10
白色一面有绿色小点的一端为负,对着pcb上箭头指的方向,白色面朝上
22
TP4054
U6
1
无
23
irLED
irT1irT2irT3irT4irT5
5
红外发射管短的一端为负极,对应pcb板上相应位置非圆弧端
24
HSOO38
irR1irR2irR3irR4irR5
5
红外接收管脚朝下黑色面朝自己,从左至右依次为接收极、负极、正极,在pcb板上ir为接收极
25
1000uF
C1
1
有灰色表面的一端为负极
26
SW-PB
RSTS1S2
3
按键
27
SWSPDT
SW
1
拨动开关
28
BUZZER
SPEAK
1
蜂鸣器
29
DW
DWLDWR
2
主动轮
30
UW
UWBUWF
2
万向轮
31
MOTOR
MOTORLMOTORR
2
电机
32
DC3.7V
POWER
1
电源
33
MinUSB
USB
1
无
34
SIP4
UART
1
插针
35
SIP6
ISPMLMR
3
36
SIP8
EXPAND
1
37
SIP10
P0
1
38
0
R3
1
不接
2.2焊接元器件
1、对照PCB板焊接相应的元器件,焊接基本规则:
按照表上的顺序焊接(先低后高)。
2、具体注意事项如下:
①在焊主控芯片STC89C52时,芯片上的凹点对应pcb板上的MCU白色点,如图2-2-3所示。
②在焊接其它芯片(U)时,芯片上的凹点对应pcb板上凹槽的左上角,如图2-2-3所示。
③在焊接LED(0805红色)灯时,LED灯上的绿色端(负极)朝着pcb板上相应位置箭头指向的方向,如图2-2-1和2-2-3所示。
④在焊接C1(1000uf)电容时,电解电容的正负极如图2-2-2所示。
图2-2-1
图2-2-2
图2-2-3
⑤电解电容C1,脚长的一端为正极,其它的都是瓷片电容,无方向。
⑥在焊接红外对管时,发射管(irLED)的脚短的一端为负极,对应pcb板上相应位置一段非圆弧端;对于接收管(HS0038),判别方法:
脚朝下黑色面朝自己,从左至右依次为接收极、负极、正极,在pcb板上1r为接收极。
还有发射管和接收管的位置应基本对齐。
如图1-2-4和1-2-5所示。
图2-2-4
⑦对于可变电阻,调节端对应pcb板上的凸起端,如图1-2-5所示。
图2-2-5
⑧电阻R0对于AT系列的直接短接,对于STC则不接。
2.3电机的制作
该案例用的电机为控制为6线2相伺服电机,6跟线分别为电机的正负极、编码器的正负极以及A相B相,将6个脚分别引出,然后用胶枪固定。
电机的连线如图2-3-1,注意不要烧坏编码器。
电机的插线如图2-3-2所示,分别对应电机的6跟线。
图2-3-1
图2-3-2
2.4电机的固定及轮子的制作
先用螺丝把电机座子固定在PCB板上,然后把电机卡在电机座子上,如2-4-1;轮子的制作及万向轮的固定如图2-4-2所示。
图2-4-1
2-4-2
2.5模型的完成
在做好上述的四个步骤以后,我们就基本上完成了模型的搭建,如图2-5所示。
图2-5
三、电机的驱动原理及控制应用
3.1电机的驱动原理
如图4-1-1所示,是用来驱动电脑鼠伺服电机的驱动电路。
由于单片机I/O口电流输出能力有限,不能直接驱动电机转动。
为了能让单片机控制电机运转,需要使用电机驱动电路,将单片机I/O口弱电流放大到足以驱动电机的电流。
图4-1-1
3.1.1驱动电路芯片L9110
1、器件的管脚图如图4-1-1-1所示。
图4-1-1-1
2、管脚定义如下:
3、L9110的逻辑关系表如表3所示:
表3L9110逻辑关系
IA
IB
OA
OB
H
L
H
L
正转
L
H
L
H
反转
L
L
L
L
停止
H
H
L
L
停止
3.2电机的控制及应用
如图4-1-1所示,是左电机驱动电路,右电机驱动电路和这个也是一样的。
ML为左电机,1、2脚是电机组绕,与驱动芯片L9110输出相连。
3脚是电机光电码盘A相脉冲输出,连接到T1定时/计数器1外部计数引脚,通过脉冲计数,计算电机角位移和速度。
电路图中引脚与驱动电路中的引脚编号一一对应。
通过L9110驱动芯片IA、IB输入的逻辑值的组合,控制电机正转、反转、停转。
四、传感器的原理及应用
本电脑鼠设计有5组传感器。
这5组传感器分别安装于电脑鼠的左、左前、前、右前、右5个不同的方向,其中左、右、前三组传感器是用于探测电脑鼠在当前迷宫格左右前三个方向上是否有支路的,左前、右前两组传感器呈45度安装,用于电脑鼠行进过程中进行姿态矫正,防止走偏而撞到迷宫墙。
4.174HC138译码器
由于单片机引脚有限,为了节约引脚接口,采用74HC138译码器将单片机的三位二进制编码译码为8位控制线,使用其中的5位控制线分别控制5个传感器组的分时工作(采用分时检测传感器,主要为了防止多组传感器之间的相互干扰)。
4.1.1译码器的工作原理
74HC138译码器可接受3位二进制加权地址输入(A0,A1和A2),并当使能时,提供8个互斥的低有效输出(Y0至Y7)。
74HC138特有3个使能输入端:
两个低有效(E1和E2)和一个高有效(E3)。
除非E1和E2置低且E3置高,否则74HC138将保持所有输出为高。
1、74HC138的引脚如图3-1-1-1所示:
图3-1-1-1
2、74HC138的译码/真值表如表2所示:
表2译码/真值表
4.1.2译码器在传感器电路中的应用
例如A0A1A2地址为000时,74HC138输出Y0有效,从而使第一组传感器工作,而其他组传感器处于没有工作的状态。
这样就可以实现单片机的3个引脚控制5个或者更多的传感器组。
如图3-1-2所示,是硬件电路部分3-8译码选择器电路。
图3-1-2
4.2载波发生器
传感器组是由38KHz的红外一体化接收头和红外发射管构成的障碍感测器。
为了能够让传感器组正常工作,红外发射管需要一个38KHz的方波来驱动,使红外发射管发射出调制频率与接收头接收频率匹配的红外光。
如图3-2所示,是产生38KHz方波的载波发生器电路。
图3-2
4.3传感器组
4.3.1传感器组的原理及应用
由硬件电路部分结构框图可知,电脑鼠共有5组传感器。
这5组传感器分别安装于左、左前、前、右前、右5个不同的方向,其中左、右、前三组传感器是用于探测电脑鼠在当前迷宫格左右前三个方向上是否有支路的,左前、右前两组传感器呈45度安装,用于电脑鼠行进过程中进行姿态矫正,防止电脑鼠走偏而撞到迷宫墙。
如图3-4所示,是用于电脑鼠环境感知的传感器组电路。
传感器组电路由红外发射LED和红外一体化接收头HS0038构成,红外LED由前面载波发生器产生的CLOCK信号驱动产生38KHz红外调制光。
RP1为可调电阻,通过调节RP1来调节红外LED发光强度,从而调整传感器组检测迷宫墙障碍物的距离,RP1电阻越大,检测距离越近,电阻越小,检测距离越远。
irT1用于控制该组传感器是否工作,连接到3-8译码选择电路。
红外调制光经障碍物反射由HS0038红外一体化接收头接收,进行放大滤波、解调等处理后由irR1输出,单片机通过识别irR1位的高低电平来判断传感器前面是否有障碍物。
这里只给出了一组传感器,另外四组传感器也与该组传感器相同的。
电脑鼠通过对这五组传感器信息的融合,实现环境感知功能。
图3-4
4.4.2传感器组的硬件调试说明
1、左右两边的传感器检测是否有墙壁。
2、左前和右前45°角的两组传感器用于电脑鼠在行走过程中的微调。
3、传感器上标的1、2、3、4、5对应led的1、2、3、4、5(里面往前数)。
4、传感器的测距是通过条对应的可调电阻来实现的,可调电阻顺时针转动调近,逆时针调远传感器的测试距离。
五、编译环境及下载工具的安装及使用
5.1编译软件的安装及使用
5.1.1编译软件的安装
打开文件夹Maze_robot教程\Maze_robot相关软件\编译环境Keil2\setup,双击setup.exe安装,选择FULLVersion安装即可,序列号在文件夹目录下。
5.1.2编译软件的使用
安装完成后打开软件,首先打开一个工程,然后设置产生.hex文件,编译运行通过后就会产生.hex文件。
如图5-1-2所示:
图5-1-2
5.2下载软件的使用
1、打开文件夹目录,Maze_robot教程\Maze_robot相关软件,双击下载工具.exe即可打开。
首先选择单片型号为STC89C51RC->STC89C51/LE52RC,打开程序文件,即keil2编译后产生的.hex文件,最后设置使能6T(双倍)模式。
如图5-2所示:
图5-2
2、如果下载软件检测不出USB驱动,那么用户得重新更新USB下载驱动。
具体步骤如下:
①打开我的电脑,点进设备管理器,找到端口(COM)。
②点击该端口,右击选择“更新驱动程序软件”。
③选“浏览计算机上的驱动程序软件”。
④选中附件2中的“CH341SER”,更新驱动。
6、上位机算法设计
6.1迷宫形状的设计
图6-1是8*8迷宫布局图,迷宫4角中的任意一个角作为电脑鼠运行的起点(坐标为0,0),起点的对角是电脑鼠要寻找的终点(坐标为7,7)。
对于有支路的情况,电脑鼠通过比较当前坐标与终点坐标来确定选择走那一条路。
从起点到终点的路是不唯一的,要想找到最近的路,就需要尽可能多的对迷宫进行搜索,探明迷宫布局情况,选择一条最佳路径。
图6-1
6.2算法流程
6.2.1主程序流程图
如图6-2所示,是电脑鼠主程序流程图。
启动按键按下后,电脑鼠启动,然后根据设定
的终点坐标,探索迷宫,通过到达终点子程序找到终点后,蜂鸣器发出提示音,说明找到终点。
之后电脑鼠根据记忆通过返回起点子程序按原路返回起点,不再去走走不通的路。
电脑鼠到达起点后,调用冲刺子程序立即掉头,根据先前探索阶段记忆下的路径冲刺到终点后停止,完成电脑鼠走迷宫。
图6-2-1主程序流程图
6.2.2达到终点子程序流程图
如图6-2-2所示,是电脑鼠到达终点子程序流程图。
电脑鼠到达终点子程序就是根据设定的终点坐标,采用一定的规则不断的去搜索迷宫,直到找到一条通往终点的路为止。
如下流程图所示,电脑鼠每走一格就将当前坐标与终点坐标进行比对,如果比对相同说明找到终点子程序退出返回,不相同则继续探索迷宫,判断当前坐标格是否走过,对于没有走过的迷宫格采用向心法则选路。
对于走过的迷宫格,选一个未走过的方向进行探索或返回上一个路口探索。
如果所有路都走不通,使电脑鼠返回到了起点,则电脑鼠蜂鸣器提示目的坐标不可到达。
图6-6-2到达终点子程序流程图
6.2.3返回起点子程序流程图
如图6-2-3所示,是电脑鼠到达终点后,返回起点的子程序流程图。
电脑鼠根据当前迷宫格所在的坐标查找探索迷宫时记忆下的当前坐标第一次的进入方向,用电脑鼠的当前方向和进入方向进行方向运算,得到转向进入方向的动作,电脑鼠执行这个动作就可以转向第一次进入该坐标格的方向,再走一格后就返回了一步,依据电脑鼠移动方向每走一格更新一次坐标,一步一步的返回,直到回到坐标原点,子程序返回退出。
图6-2-3返回起点子程序流程图
6.2.4冲刺子程序流程图
如图6-2-4所示,是电脑鼠回到起点后,从起点到终点的冲刺子程序流程图。
其流程与返回到起点子程序流程差不多,只不过在冲刺时是根据当前坐标最后一次出去方向来进行转向的。
首先电脑鼠根据当前迷宫格坐标在迷宫搜索阶段记忆下的最后一次出去方向来确定通往终点的路怎么走,然后向前走一格并更新坐标,反复的执行查询方向、转向、走一格、更新坐标、直到电脑鼠冲刺到终点为止。
对于最后一次出去方向,如果电脑鼠探索路口某一个方向走不通,返回走另外一条路时,则会将最后一次出去方向更新为另外这条路的方向。
因此只要电脑鼠找到终点,则最后一次出去方向就是通往终点的方向。
这样电脑鼠按最后一次出去方向走,在冲刺的时候就不会再去走那些走不通的死胡同了,自己走通往终点的路,到达终点,完成冲刺。
图6-2-3冲刺点子程序流程图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MazeRobot 教程