专业综合实验设计报告
项 | 目:自动寻迹避障轮式机器人 |
班 | 级: | 电133 |
姓 | 名: | |
学 | 号: | 1312021067 |
同组同学:
学 | 期: | 2016-2017-1 |
一、实验目的和要求
1.1实验目的
自动循迹、智能避障机器人是一个与电气工程专业有着密切关系的实际工程装备,本
综合实验以此为依托,把轮式机器人能够沿设置的道路路线运动作为控制目标,完成从模
型建立、控制方案确定、控制参数仿真分析、硬件线路设计到实物机械安装、硬件安装调
试、控制程序编写集成、系统调试等步骤过程的训练。
本实验涉及到《电路分析》、《电子技术》、《电力电子技术》、《电机学》、《电力拖动》、
《自动控制原理》、《传感器与检测技术》、《电机控制技术》等课程的理论和实验知识。是
学生接触实际电气工程专业复杂工程问题的重要及关键途径。通过实验培养学生实践动手
能力,运用现代工程工具和信息技术工具的能力,分析和解决实际工程问题的能力。从而
使学生初步能够解决主要涉及电气工程专业知识的复杂工程问题。
1.2实验要求
要求同学综合运用课程的理论和实验知识,以轮式机器人能够以一定的速度沿设置的
道路路线运动作为控制目标(技术指标为:机器人行走速度≥1m/s,行走偏离导航线程度
≤2/3车身宽度),要求完成从模型建立、控制方案确定、控制参数仿真分析、硬件线路设
计到实物机械安装、硬件安装调试、控制程序编写集成、系统调试等实验步骤。具体要求
为:
1)检索资料,对轮式机器人的发展状况,当前的研究热点,技术发展的现状,发展
趋势有所了解,查阅工程规范文件、产品样本、使用说明,了解实际系统运行时必须遵守
的工程规范和系统实现时所受到的商用产品的实际限制。
2)理解轮式机器人的机械结构,用CAD软件绘制机械零部件的加工图纸,安装轮式
机器人。
3)综合运用物理特性分析法和实验参数测定法建立轮式机器人的数学模型,必要时
在工作点附近近似线性化,以获得线性数学模型。
4)设计轮式机器人控制系统的硬件系统,包括控制芯片的选型,外围电路的设计,
传感器类型型号的选择、功率驱动电路的选择、人机交互部件的选择,掌握所选择元器件、
部件的性能、用法。用电子线路设计软件绘制硬件原理图,设计相应的PCB设计图,安装
1
硬件并调试。
5)根据控制要求,设计控制系统的控制结构,选择合适的控制算法,结合具体数学模型,计算系统所能达到性能指标,利用MATLAB软件进行必要的系统仿真,通过仿真掌握控制参数的整定方法,使轮式机器人系统满足性能指标。
6)掌握系统联调的步骤方法,调试参数的记录方法,动态曲线的测定记录方法。记录实验数据,采用数值处理方法和相关软件对实验数据进行处理并加以分析,记录实验曲线,与理论分析结果对比,得出有意义的结论。
二、实验仪器设备与器件
表1
器件名称 | 数量 |
双12V 变压器 | 1 |
红外避障传感器直流电机 | 1 |
声音传感器 | 1 |
有源蜂鸣器 | 1 |
红外循迹传感器 | 1 |
稳压芯片7805/7812 | 5 |
继电器 | 1 |
红外避障传感器 | 1 |
LM298 电机驱动 | 1 |
STC15W4K58S4 单片机 | 1 |
四轮车模型 | 1 |
PC 机 | 1 |
烙铁 | 1 |
焊锡 | 1 |
起子 | 1 |
按键 | 若干 |
电阻 | 若干 |
电容 | 若干 |
杜邦线 | 若干 |
2
三、实验原理分析
本次实验设计的主要内容是一种基于单片机控制的自动寻迹避障智能循迹机器人的设计,该车以单片机为控制核心,利用传感器对前方障碍物信息及路面信息进行采集,并将障碍物检测信号和路面检测信号反馈给单片机。单片机对采集到的信号予以分析判断,及时控制驱动电机以调整智能循迹机器人转向,从而使智能循迹机器人能够避开障碍物,沿着预定轨道自动行驶,实现智能循迹机器人自动寻迹避障的目的。
3.1建立数学模型
就是当需要从的角度和一个实际问题时,需要在深入、了解对象、作出简化、内在规律等工作的基础上,用数学的和做表述来建立数学模型。
3.1.1模型建立原理
建立数学模型的主要过程在于建立系统输入和输出之间的关系,主要方法有: (1)物理建模法(白盒法):根据物理原理建立输入和输出模型;
(2)基于输入输出数据(黑盒法):通过实验测量大量输入和输出之间的关系,采用曲线拟合近似输入和输出的函数关系;
(3)混合法:结合物理原理基础和实验测量数据拟合共同建立输入和输出模型。 本次实验采用混合法来进行建立系统输入和输出之间的关系。
轮式机器人的传统导航方式有很多,包括惯性导航、视觉导航、传感器导航等。不同导航方式所适用的环境也有所不同,包括简单环境和复杂环境,室内环境和室外环境。
环境信息包括待覆盖区域的地形、障碍物的形状、位置、大小甚至属性或者类别。
1)惯性导航是一种最基本的导航方式。它利用机器人装配的光电编码器和陀螺仪,计算机器人航程,从而推知机器人当前的位置和下一步目的地。这种导航方式的优点是硬件结构实现起来比较简单,缺点是导航系统存在常值漂移和随机漂移,导致导航信息精度随时间推移而降低,控制的精度很难提高。
2)视觉导航是利用机器人自身装配的摄像机拍摄周围环境的局部图像,然后将所得的信息存储起来,以后机器人移动时拍摄的信息与之进行比对,来确定机器人所在的位置,3
从而实现智能移动机器人全局航。这种导航方式的优点是路径规划起来比较简单,柔性化程度高,然而其难以适应复杂的环境,以及硬件结构比较复杂。
3)传感器导航是一种利用非视觉传感器,如,超声波传感器、红外传感器、接触传感器等来实现智能移动机器人导航。这种导航方式的优点是精度高,能安全的避开障碍物,但这种方式所需的传感器多,硬件结构较复杂。
由于传统的导航方式存在着种种局限性,靠单一的导航方式难以优化智能移动机器人的软硬件结构,也不可能很大的提高导航精度,因此本文综合了惯性导航与传感器导航的部分优点,提出了一种新的导航方式。这种导航方式通过光电编码器进行实时定位,利用红外传感器进行实时避障,从而引导智能移动机器人按照事先规划好的路径进行遍历。
3.1.2智能循迹机器人运动的数学模型建立
采用的四轮结构,驱动系统采用两轮差速驱动方式,后两个为从动轮,只起到支撑平衡作用。假定左右两个驱动轮与地面之间没有滑动,也没有侧移,只是做纯粹的滚动,则机器人满足钢体运动规律。图1所示{XW,YW,O}为世界坐标系,{X,Y,O}为移动坐标系,PX为机器人前进方向。
YW
Y X
y P
θ
O | x | XW |
图1小坐标系图
移动机器人运动学主要处理控制参数和系统在状态空间的运动两者之间的关系,它包括正运动学和逆运动学两个方面。正运动学解决如何根据移动机器人的速度来计算它的位
姿或运动轨迹,当机器人的位姿( | x | , | y | ,)时,差动轮式机器人的正运动学就是利用这连 | |||||||||||
个差动轮的速度( | v | r | , | v l | )来计算其位置,通用公式计算如下 | ||||||||||
x t ( ) | | 1 | t0 | [ | v t ( ) | | v t ( )]cos[ ( )] t dt | () | |||||||
2 |
| r | | l | 1 |
4
| | | | | y t ( ) | | 1 | t0 | [ | v t r ( ) | | v t l ( )]sin[ ( )] t dt | () | ||||||
| | | | | | | 2 | | 2 | ||||||||||
( ) | | 1 | t | | v t r ( ) | | v t dt | (3) | |||||||||||
其中, | v | r | 和 | v l | l | 0 | | | l | ||||||||||
分别为左右轮的驱动速度,是两个驱动轮之间的距离,为移动机器l r |
人的驱动轮半径;移动机器人逆运动学解决如何控制轮子的速度以达到移动机器人所需的
运动轨迹或位姿,即在已知位置(x,y,)时,如果根据以上公式,求出两轮差动速度
(vr,vl)。由于差动轮式驱动属于非完整性约束问题,故移动机器人逆运动学只有在特殊
条件下求解,其解往往不唯一,根据系统的需求,本文对移动机器人的运动学分析按两种
情况分别进行。
直线运动
当差动轮式移动机器人左右两轮的速度大小相等且方向相同时,机器人的运动轨迹为
直线,所图2所示。
YW
Y0 | P0 | X0 | Yt | Pt | Xt |
O |
图2直线运动原理图
设t=0时,机器人移动坐标系{X0,Y0,P0}与世界坐标系{XW,YW,O}重合,经过
时间t 后机器人运动到新的移动坐标系{Xt,Yt,Pt},当机器人左右两轮的速度大小相等 | |||||||||||||||
且方向相同(即 | v | r | = | v l | )时由公式(3)有: | ||||||||||
( ) | | 1 | t | [ | v t ( ) | | v t dt | | 0 | (4) | |||||
| l | 0 | | r | | l | | | |||||||
将其代入公式(1)、(2)得: |
5
由 | q | | 0 | x | ( t | ) | | v | r | t | (5) | ||
y | ( t | ) | | 0 | (6) | ||||||||
和公式(4)、(5)式可知:机器人左右两轮的速度大小相等而方向相同时机器 |
人的运动轨迹为直线。
圆弧运动
当差动轮式机器人左右两轮的运动方向相同速度大小保持不变且差速度固定不变时,机器人的运动轨迹为圆弧。
设t=0时,机器人移动坐标系{X0,Y0,P0}与世界坐标系{XW,YW,O}重合,经过时间t后机器人运动到新的移动坐标系{Xt,Yt,Pt},如图:
Xt
YW Yt
Pt
Y0
O | P0 | X0 | XW |
图3圆弧运动原理图
当机器人左右两轮的速度差恒定,且方向保持不变时,由公式(3)有:
| | | |
| | | | | ( ) | | 1 | t0 | [ V t r ( ) | | V t dt l | | v | | t | () | ||||
将( ) | | v | | t | 和 | v | | v | l | | l | | | 7 | ||||||||||
| 代入公式(1) 有: | |||||||||||||||||||||||
| | l | |
| | r | | l | | | t dt | | (8) | |||||||||||
x t ( ) | | 1 | t0 | (2 v l | t | )cos( | v | |||||||||||||||||
| | | |
| | | | | | 2 | l | | | |
求定积分得:
| | | |
| | | | | | x t ( ) | | 2 ( ) l | v | | l | | sin( | v | | t | ) | () |
将( ) | | v | | t | 和 | v | | v | v | | | 2 | | | v | | | l | |
| | 9 |
代入公式(2) 有: | ||||||||||||||||||||||
| | l | |
| | r | | l | | | | | | |
| | |
6
y t ( ) | | 2 ( ) l | v | | l | | [1 sin( | v | | t | )] | () |
| | 2 | | | v | | | l | |
| | 10 |
由公式(9)有:
sin( | v | | t | ) | | 2 | | | v | | x t ( ) | |
| l | |
| | | 2 ( ) l | t | | l | | | (11) |
由公式(10)有:
| | cos( | v | | t | ) | | 2 | t | | v | | y t ( ) | | | | | ||||||||||||||
| | l | 2 ( ) l | l | | | | | (12) | ||||||||||||||||||||||
cos ( 2 | v | | t | ) | | sin ( 2 | v | | t | ) | | 1 | |||||||||||||||||||
[ | 2 | | l | l | | | | | v | | y t ( )] 2 | | 1 | | |||||||||||||||||
| | v | | x t ( )] 2 | | [1 | | 2 | t | ||||||||||||||||||||||
| 2 ( ) l | v | l | 2 ( ) l | | l | | | | | (13) |
由上可知,机器人的运动轨迹为一圆弧,将上式转化为圆的标准方程:
x t 2 ( ) | | [ ( ) | | 2 ( ) l | v | | 1 | ] 2 | | [ | 2 ( ) l | | l | ] 2 |
| | | | 2 | | | v | | | | 2 | | v | |
由式(2-11)、(2-12)可知,当机器人左右两轮的运动方向相同、速度大小保持不变且 |
速度固定不变时,机器人的运动轨迹为圆弧。圆心在世界坐标系YW的轴上。其圆心坐标
为:
| (2 ( ) l | v l | 圆弧半径为: | (2 ( ) l | v l | ||
(0, | 2 | v | ), | 2 | v |
当机器人右轮速度大于左轮速度时,机器人的运动轨迹在世界坐标系的一、二象限;
当机器人右轮速度小于左轮速度时,机器人的运动轨迹在世界坐标系的三、四象限。运动
轨迹如图:
YW
Y0 | P0 | X0 | YW | Yt | Pt | Xt |
O |
Y0
Pt | Yt | O | P0 | X0 | XW |
Xt |
7
a : | | v r | | v l | | 0 | b : | | v r | | v l | | 0 |
图4圆弧运动图
3.1.3电机模型建立
智能循迹机器人运动过程中,轮子受到的力包括电机牵引力,摩擦力、转弯引起的滚
转阻力改变,智能循迹机器人加速度为dvdt,根据力矩平衡原理可得:
T2fmgfmdvdt r (14)
智能循迹机器人动力为直流电动机,机械特性为:
n | | U | | | R a | | R | j | | T 2 | | T 0 | | (15) | |||
| | C | E | | | | v | C C E T | | 2 | | | | | |||
| 2nr | (16) | |||||||||||||||
| | |
| | | | | | 60 | | | | |
假设电池电压为U0,控制满肚为Xumax,电压为:
UUu 0 pwmXumax (17)
对等式(8)、(9)、(10)、(11)进行联立方程组,可解得:
kv 3&vku 1 pwmk2k (18)
其中:U为电枢端的输入电压;Ra为电枢绕组电阻;Rj为串入电枢回路的调节电阻;CE
为电动势常数;CT为转矩常数;T2为机械输出转矩,T0为空载转矩, | | 为每极磁通量。 | |||||||||||||||||||||||||||||||||
k 1 | | r U | 0 | | (19) | ||||||||||||||||||||||||||||||
30 C X E | u | max | |||||||||||||||||||||||||||||||||
k | | | r | R a | | R | j | | fmgr | | T 0 | | (20) | ||||||||||||||||||||||
2 | | 30 C C E T | | 2 | |||||||||||||||||||||||||||||||
k | | | | R a | | R | j | r m | (21) | ||||||||||||||||||||||||||
3 | 30 C C E T | | 2 | ||||||||||||||||||||||||||||||||
k | | | | R a | | R | j | r | 2 | f | | (22) | |||||||||||||||||||||||
30 C C E T | | 2 | |||||||||||||||||||||||||||||||||
其中,可见: | k | 3 | , | k 1 | , | k | 2 | 与电机本身,电池电压,智能循迹机器人质量、匀速行驶的 |
8
阻力等有关,可通过实验获得; | k | 是智能循迹机器人转向的影响,与因转弯而增加的滚 |
动摩擦阻力呈正比,因此,假设可表示为:
kk4||k5 (23)
实验大致过程为:先假设偏转角为0,将k3,k1,k2看作待定系数,理论上来说,如果
有三组占空比与智能循迹机器人速度v、速度变化率的对应关系,就可以求出k3,k1,k2,
实际上考虑实验误差和可靠性,应进行多次实验,采用最小二乘法估计k3,k1,k2。
然后将k3,k1,k2带入,通过多次实验,得到大量与v的对应关系,确定k4,k5。
3.1.4控制系统结构图
经过上述过程的模型建立,可观察出轮式机器人的控制结构为两个闭环结构组合叠加
而成,具体控制系统结构图如下所示:
图5智能循迹机器人控制系统结构图
3.2机械结构
本次实验要求智能循迹机器人的机械系统稳定、简单,而四轮运动系统具备以上特点。
驱动部分:由于玩具汽车的直流电机功率较小,而智能循迹机器人上装有电池、电机、
电子器件等,使得电机负担较重。为使智能循迹机器人能够顺利启动,且运动平稳,在直
流电机和轮车轴之间加装了三级减速齿轮。
显示部分:将显示模块放置智能循迹机器人前部上方,利于观察。
9
电池的安装:将电池放置在车体的正下方,降低车体重心,提高稳定性,同时可增加驱动轮的抓地力,减小轮子空转所引起的误差。
机械结构在设计时,必须遵循重量适当、降低重心、加固安装这三个原则。
1)重量适当。智能循迹机器人的车身过重,会影响到智能循迹机器人在运动时的动能;车身过轻,则会影响到智能循迹机器人在爬斜坡的抓地力,直接导致智能循迹机器人的车轮会打滑。2)降低重心。这不仅能更好地增加智能循迹机器人的抓地力,而且更能保证检测的稳定性能。
3)加固安装。这直接决定了智能循迹机器人的质量高低,所以在安装时,必须加固安装。
以下通过机械零部件的加工图纸来进一步了解智能车的机械结构:
图6智能循迹机器人底板背面机械结构图
10
图7智能循迹机器人底板正面机械结构图
3.3总体方案设计
本设计采用由单片机最小系统、电机驱动电路模块、避障模块、寻迹模块、液晶显示模块和电源模块、声音启动模块组成。单片机实时检测寻迹模块在黑线跑道上的状态,并自主调整智能循迹机器人的方向。在寻迹的跑道上检测前方的距离,当前方距离小于20厘米时,智能循迹机器人避开障碍物往回继续寻迹。智能循迹机器人把前方障碍物的距离显示在LCD1602液晶上,智能循迹机器人的驱动是采用驱动芯片驱动寻迹避障智能循迹机器人行走。
系统总体框图如图3-1所示:
声音启动模块
避障模块 电机驱动 单片机
寻迹模块 | 主控制模 | 减速电机 |
块
电源模块 液晶显示
图8系统总体结构框图
11
3.4系统方案比较、设计与论证
该系统主要由单片机主控模块、声控模块、寻迹模块、避障模块电路,液晶显示模块、电机驱动模块和电源模块电路组成,下面介绍实现此系统功能的方案。
3.4.1主控制器模块选择
方案1:
采用可编程逻辑器件CPLD作为控制器。CPLD可以实现各种复杂的逻辑功能、规模大、密度高、体积小、稳定性高、IO资源丰富、易于进行功能扩展。采用并行的输入输出方式,提高了系统的处理速度,适合作为大规模控制系统的控制核心。但本系统不需要复杂的逻辑功能,对数据的处理速度的要求也不是非常高。且从使用及经济的角度考虑我们放弃了此方案。
方案2:
采用STC15W4K58S4单片机作为整个系统的核心,控制简单、方便、快捷。单片机就 有较为强大的控制功能及可位寻址操作功能、价格低廉等优点。可以充分发挥其资源丰富、
STC15W4K58S4单片机具有功能强大的位操作指令,I/O口均可按位寻址,程序RAM空间多达4K,对于本设计也绰绰有余。
综上考虑,选择方案2。
3.4.2电机驱动芯片的选择
方案1:
采用功率三极管作为功率放大器的输出控制直流电机。线性型驱动的电路结构和原理简单,加速能力强,采用由达林顿管组成的H型桥式电路。用单片机控制达林顿管使之工作在占空比可调的开关状态下,精确调整电动机转速。这种电路由于工作在管子的饱和截止模式下,效率非常高,H型桥式电路保证了简单的实现转速和方向的控制,电子管的开关速度很快,稳定性也极强,是一种广泛采用的PWM调速技术。
现市面上有很多此种芯片,本次设计采用L298N,L298N是一个具有高电压大电流的全桥驱动芯片,它相应频率高,一片L298N可以分别控制两个直流电机,而且还带有控制使能端。用该芯片作为电机驱动,操作方便,稳定性好,性能优良。
方案2:
采用电阻网络或数字电位器调节电动机的分压,从而达到分压的目的。但电阻网络只12
能实现有级调速,而数字电阻的元器件价格比较昂贵。更主要的问题在于一般的电动机电阻很小,但电流很大,分压不仅会降低效率,而且实现很困难。
方案3:
采用SM6135W电机遥控驱动模块控制直流电机,SW6135W是专为遥控车设计的大规模集成电路,能实现前进、后退、向右、向左、加速五个功能,但是其采用的是编码输入控制,而不是电平控制,这样在程序中实现比较麻烦,而且该电机模块价格比较高。综上考虑,选择方案1。
3.4.3避障传感器的选择
方案1:
用超声波传感器进行避障。超声波传感器的原理是:超声波由压电陶瓷超声波传感器发出后,遇到障碍物便反射回来,再被超声波传感器接收。然后将这信号放大后送入单片机。超声波传感器在避障的设计中被广泛应用。
方案2:
用红外光电开关进行避障。光电开关的工作原理是根据投光器发出的光束,被物体阻断或部分反射,受光器最终据此作出判断反应,是利用被检测物体对红外光束的遮光或反射,由同步回路选通而检测物体的有无,其物体不限于金属,对所有能反射光线的物体均能检测。光电开关E3F-DS10C4操作简单,使用方便。当有光线反射回来时,输出低电平。当没有光线反射回来时,输出高电平。但是如果有太阳光线干扰,红外光电开关会受干扰 综上考虑,选择方案1。
3.4.4显示模块的选择
方案1:
用数码管进行显示。数码管由于显示速度快,使用简单,显示效果简洁明了而得到了广泛应用。但是由于要显示温度。及设置菜单,用数码管无法显示如此丰富的内容,因此我们放弃了此方案。
方案2:
用LCD液晶进行显示。LCD由于其显示清晰,显示内容丰富、清晰,显示信息量大,使用方便,显示快速而得到了广泛的应用。对于此系统我们选用1602液晶能够很好的满足显示要求。
13
综上考虑,选择方案2。
3.4.5寻迹传感器的选择
方案1:
用光敏电阻组成光敏探测器。光敏电阻的阻值可以跟随周围环境光线的变化而变化。当光线照射到白线上面时,光线发射强烈,光线照射到黑线上面时,光线发射较弱。因此光敏电阻在白线和黑线上方时,阻值会发生明显的变化。将阻值的变化值经过比较器就可以输出高低电平。
但是这种方案受光照影响很大,不能够稳定的工作。因此我们考虑其他更加稳定的方案。
方案2:
用红外发射管和接收管自己制作光电对管寻迹传感器。红外发射管发出红外线,当发出的红外线照射到白色的平面后反射,若红外接收管能接收到反射回的光线则检测出白线继而输出低电平,若接收不到发射管发出的光线则检测出黑线继而输出高电平。这样自己制作组装的寻迹传感器基本能够满足要求,但是工作不够稳定,且容易受外界光线的影响,因此我们放弃了这个方案。
方案3:
用RPR220型光电对管。RPR220是一种一体化反射型光电探测器,其发射器是一个砷化镓红外发光二极管,而接收器是一个高灵敏度,硅平面光电三极管。RPR220采用DIP4封装,其具有如下特点:
1.塑料透镜可以提高灵敏度;
2.内置可见光过滤器能减小离散光的影响;
3.体积小,结构紧凑。
当发光二极管发出的光反射回来时,三极管导通输出低电平。此光电对管调理电路简单,工作性能稳定。因此,选择了方案3。
3.4.6供电方式选择
由于本系统采用电池供电,我们考虑了如下几种方案为系统供电。
方案1:
采用12V蓄电池为系统供电。蓄电池具有较强的电流驱动能力以及稳定的电压输出性
14
能。但是蓄电池的体积过于庞大,在小型电动车上使用极为不方便。因此我们放弃了此方
案。
方案2:
采用6节1.5V 干电池共9V做电源,经过7805的电压变换后为单片机,传感器供电。
经过实验验证智能循迹机器人工作时,单片机、传感器的工作电压稳定能够满足系统的要
求,而且电池更换方便。
综上所述,采用方案2
3.5芯片资料简介
3.5.1L298 电机驱动模块
L298是ST公司生产的一种高电压、大电流电机驱动芯片。
该芯片的主要特点是:工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电
流可达3A,持续工作电流为2A;内含两个H桥的高电压大电流全桥式驱动器,可以用来
驱动直流电动机和步进电动机、继电器、线圈等感性负载;采用标准TTL逻辑电平信号控
制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作;有一个逻
辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈
给控制电路。
3.5.2LCD 显示模块
HJ1602A是一种工业字符型液晶,能够同时显示16x02即32个字符。(16列2行)。在
日常生活中,我们对液晶显示器并不陌生。液晶显示模块已作为很多电子产品的通过器件,
如在计算器、万用表、电子表及很多家用电子产品中都可以看到,显示的主要是数字、专用
符号和图形。在单片机系统中应用晶液显示器作为输出器件有以下几个优点:
由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不
像阴极射线管显示器(CRT)那样需要不断刷新新亮点。因此,液晶显示器画质高且不会
闪烁。
液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的,在重量上比相
同显示面积的传统显示器要轻得多。
相对而言,液晶显示器的功耗主要消耗在其内部的电极和驱动IC上,因而耗电量比
其它显示器要少得多。
15
3.5.3主控制器模块
STC15W4K58S4(既能仿真又能USB直接下载程序),是目前STC最先进的芯片之一,内部资源十分丰富,具有58K字节程序存储器,4096字节数据存储器,5个定时器,4个独立串口,8通道10位高速ADC转换器,1个SPI接口支持主机与从机模式、2路CCP/PCA/PWM、6路带死区控制的专用PWM、1个比较器等,支持USB直接下载程序和串口下载程序。
内部集成有高精度R/C时钟与高可靠复位电路,支持2.5~5.5V宽工作电压范围,只需提供电源就是单片机最小系统,只需加上一个RS232电平转换芯片或USB转串口芯片后连上电脑就成为一个功能完美的仿真系统,程序仿真调试非常方便
3.5.4声音启动模块
本系统采用通过声音传感器检测当前是否有语音命令,来控制智能循迹机器人的行驶与停止,从而达到声控的效果。声音传感器的阈值,我们可以通过人工设置,来调节阈值的大小,从而降低外界的干扰,保证系统的正常检测。
3.5.5寻迹模块
路径识别模块是智能智能循迹机器人控制系统的关键部分,它是智能智能循迹机器人的“眼睛”,其准确识别出路径信息,为路径跟踪提供准确的参数依据,完成智能循迹机器人高质量的自循迹功能。在本次设计中,智能循迹机器人行驶的道路环境是黑色路径和白色的地面背景,只要智能循迹机器人的“眼睛”能判别黑白两种颜色,就能正确识别出黑色路径。
所以在实验中使用红外寻迹系统,依据的是红外线的反射特性,能够准确的辨别出色彩,实现比较容易,而得到的结果也比较准确。就像上文中提到的那样,在放出红外线的过程中,由于轮式机器人是在带有黑线的白纸上前行的,如果打在白纸上,就会发生漫反射,这样就能够收到信号;如果打在黑线上就不一样了,由于黑色可以吸收红外线,那么就不存在反射,此时就得到了区分,这两种结果的对比是通过LM339来实现的,这样就完成了判断。
3.5.6避障模块
超声传感器的种类很多,目前使用最多、最广泛的就是压电式超声波传感器。本文所选用的是深圳市捷深科技有限公司生产的压电式收发分体超声波传感器
HC-SR04,其工作原理如下所释。
(1)采用I/O口TRIG触发测距,给最少10us的高电平信呈。
16
(2)模块自动发送8个40khz的方波,自动检测是否有信号返回;
(3)有信号返回,通过I/O口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间·声速(340M/S))/2;
HC-SR04超声波测距模块可提供2cm-400cm的非接触式距离感测功能,测距精度可达高到3mm;模块包括超声波发射器、接收器与控制电路。
3.6硬件设计原理图
3.6.1寻迹模块
方案1:使用简易光电传感器结合外围电路探测。
由于所采用光电传感器实际效果并不理想,对行驶过程中的稳定性要求很高,且误测几率较大、易受光线环境和路面介质影响。在使用过程极易出现问题,而且容易因为该部件造成整个系统的不稳定,故最终未采用该方案。
方案2:利用两只光电开关。
分别置于轨道的两侧,根据其接受到白线的先后来控制小车转向来调整车向,但是如果两只光电开关之间的距离很小,则约束了速度,如果着重于小车速度的提升,则随着车速的提升,则势必要求两只光电开关之间的距离加大,从而使得小车的行驶路线脱离轨道幅度较大,小车将无法快速完成准确的导向从而有可能导致寻迹失败。
方案3:用三只光电开关。
一只置于轨道中间,两只置于轨道外侧,当小车脱离轨道时,即当置于中间的一只光电开关脱离轨道时,等待外面任一只检测到黑线后,做出相应的转向调整,直到中间的光电开关重新检测到黑线(即回到轨道)再恢复正向行驶。虽然小车在寻迹过程中可能会有一定的左右摇摆(因为小车的内部结构决定了光电开光之间的距离到达不了精确计算值1厘米),但只要控制好行驶速度就可保证车身基本上接近于沿靠轨道行驶。
综上所述,选择精确度较高的三只光电开关。
3.6.2显示模块
方案1:使用LED数码管进行显示。数码管价格便宜,显示亮度好,能耗低,但是显示的内容少。
方案2:使用LCD液晶进行显示。液晶显示相对价格比较贵,驱动比较麻烦,但是其
17
显示内容多,能耗小,连接电路简单,体积较小。
考虑到本设计的具体要求,选择方案1,选用7SEG-4-CC液晶显示器。
图9数码管原理图
3.6.3距离检测模块
方案1:通过测试得出小车平均速度v,在行驶过程中将行驶时间与其乘积t•v作为驶过的距离。但该方案受电池电量、路面介质等因素的影响,在大多数情况下均暴露出误差较大的缺点,故不予采用。
方案2:在后轮内侧匀距贴上m个磁钢,车厢内装上霍尔开关。对轮子转速进行测量,由于低速下轮子与地面接触良好,设轮周长为c,可以用霍尔开关输出脉冲数n乘以c/m得出行驶距离。只要磁钢在后轮上的位置足够精确,霍尔开关固定牢靠,就可以获得较好的测试效果。但车子颠簸时,稳定性较差。
方案3:在齿轮箱中安装透射式光电开关,测出变速齿轮的每秒转速,用变速比和车轮周长计算出线速度,积分求行驶距离。但在齿轮箱中使用光电开关,要求有足够的安装位置,不能影响传动机构的机械动作。其优点是工作稳定。
综合以上方案优劣和小车的结构特点,我们采用方案2。
3.6.4电源模块
方案1:采用实验室有线电源通过稳压芯片供电,其优点是可稳定的提供5V电压,但占用资源过大。
方案2:采用8支1.5V电池双电源分别给单片机与电机供电可解决能同时给单片机与与电机供电的问题且能让小车完成其功能。
所以选择方案1来实现供电。电源驱动电路原理图如下:18
图10电源驱动电路原理图
3.6.5电机驱动及PWM调制模块
方案1:使用分立元件搭建电机驱动电路。
使用分立元件搭建电机驱动电路造价低廉,在大规模生产中使用广泛。但分立元件H桥电路工作性能不够稳定,较易出现硬件上的故障,故放弃了这一方案。
方案2:使用MC33886芯片驱动电机。
MC33886是一个具有高电压大电流的全桥驱动芯片,输出电压最高可达50V,可以直接通过电源来调节输出电压;直接用单片机的I/O口提供信号,而且带有使能端,方便PWM调速,电路简单,性能稳定,使用方便。MC33886芯片可以用来驱动2个直流电动机或步进电动机等感性负载,正好符合小车两个二相电机的驱动要求。
综合以上考虑,采用MC33886芯片驱动小车电机。电机驱动电路原理图如下:
19
图11电机驱动电路原理图
3.6.6光敏器件的选择
方案1:光敏电阻
光敏电阻(也称光导管)是一种价格低廉,光谱范围广,灵敏度高(暗电阻1~100M、亮电阻1K以下)且使用方便的光敏器件。在简易机器人中常用于亮度变化检测器件,由于阻值与光强是非线性的,一般不作为光强检测器件。
优点:封装,可靠性好,体积小,灵敏度高,反应速度快,光谱特性好。
受温度影响较大。
缺点:不快,在ms到s之间,受入射光的影响是耗材。
方案2:光电池
光电池也称太阳能电池,它直接将光能转变成电能,也是一个光敏器件。它的短路电
流与光照度在一定范围内成线性,常用于测量照度(光强)。
优点:无污染,是绿色能源,平均使用寿命是25年。
缺点:价格比较高,现在电池平均在3.3元/瓦。
方案3:灰度传感器
灰度传感器利用不同颜色的检测面对光的反射程度不同的原理进行颜色深浅检测。
优点:1.性能稳定,正常使用情况下不易损坏。
2.型号多,应用范围广。
缺点:1.测量的准确性和传感器到检测面的距离是有直接关系。在机器人运动时机体的震荡同样会影响其测量精度。
2.外界光线的强弱对其影响大,会直接影响到检测效果。
3.检测面的材质不同也会引起其返回值的差异。
方案4:CCD图像传感器
优点:体积小、重量轻、分辨率高、灵敏度高、宽、光敏元的几何精度高、
范围宽、工作电压低、功耗小、寿命长、抗震性和好、不受电磁场干扰
和可靠性高等。
缺点:1.生产成本高、耗电、读取速度较慢。
2.CCD传感器需要另外配合的ADC、放大器、以及其他支持模块才能使用。这样一
20
来,一是增加了开发和制造成本;二是芯片外过多的模拟电路会引进噪声,进而影响
图像质量;三是降低了相机的可靠性。
3.CCD传感器固有的blooming现象。即当光能比较强的时候,电荷会“溢出”而散布到附近的像素上。
4.CCD电荷衰减问题。由于CCD中获取的电荷是以耦合移位的方式一行一行输出的,因此在输出过程中,电荷会衰减。进而造成图像噪声。
综上所述,本设计采用性能稳定,价格较便宜的光电传感器。
光电传感器电路原理图如下:
图12光电传感器电路原理图
3.6.7位置传感器
方案1:电位器式位置传感器
优点:1.性能稳定、结构简单、精度较高。
2.具有断电保持功能。
缺点:1.属于接触式,触点易磨损,寿命有限。
2.分辨力受限较低;高频特性较差,一定程度上影响产品使用。
方案2:光电式编码器
优点:1.是数字信号输出,接口方便;非接触式寿命长;不需限位可以无限次旋转。 2.体积小,精密度高。同一品种即可检测角度位移,又可在机械转换装置下检测直线位移。
3.价格合理,技术成熟,应用广泛。
21
缺点:1.精密度高但对于在户外及恶劣环境下使用有较高要求。2.量测直线位移需依赖机械装置转换,难以克服滑差。
综上所述,选择光电式编码器。
3.6.6控制芯片的选型
方案1:8051单片机
优点:1.从内部的硬件到软件有一套完整的按位操作系统,不但能进行位的逻辑运算,其功能十分完备,使用起来得心应手。
2.乘法和除法指令,这给编程带来了便利。
缺点:1.AD、EEPROM等功能需要靠扩展,增加了硬件和软件负担。2.运行速度慢,特别是双数据指针。
3.保护能力差,很容易烧坏芯片。
方案2:MSP430单片机
优点:1.处理能力强大,具有丰富的寻址方式,能编制出高效率的源程序。2.运行速度快,有超低功耗。
方案4:STC15w4k58S4单片机
优点:调试方便,价格便宜。
1.下载烧录程序用串口方便好用,容易上手。
缺点:.功能不如AVR、STM32强大,价格不及51便宜。
本设计选择STC15w4k58S4单片机
STC15w4k58S4单片机原理图如下:
22
图13STC15w4k58S4 单片机原理图
3.6.7硬件看门狗电路
MCU监控电路,即看门狗电路,时刻监视着单片机的运行状态,当单片机进入死寻环或死机后,复位单片机,使系统重启,从而保证系统的正常运行。它实际上是一个定时器,这个定时器只要上电就开始运行,当外界给它一个跳变的脉冲时,定时器就清零。如果外界超过一定时间没有跳变脉冲输入,则该定时器一直运行到溢出,这时就会输出复位信号。在实际的系统中,单片机的一个引脚接到看门狗电路的输入端,并每隔一段时间改变该引脚的输出电平,使看门狗定时器清零,这叫做运行喂狗指令。当单片机进入死寻环或死机而无法再持续执行喂狗指令时,看门狗就复位单片机。
3.7PCB 设计图
采用DXP2004绘制原理图与PCB板,布线的过程中必须注意焊盘的大小与铜线的宽度。采用螺丝将循迹板安装在车头,主板与电机驱动安装在车尾。
图16自动循迹避障机器人PCB板原理图
23
3.7CAD 小车结构设计图
11组
图17侧视图
11组
图18正视图
24
11组
图19俯视图
3.8软件设计
智能循迹机器人的软件设计采用模块化的设计思想,这样就把一个复杂的软件设计分成几个相对简单的部分分别予以解决。
本设计完成的功能是自动寻迹避障智能循迹机器人,单片机实时检测5路寻迹模块在黑线跑道上的状态,当前方距离小25厘米时,智能循迹机器人避开障碍物往回继续寻迹,并在液晶上显示距离。
先初始化超声波和液晶,读取超声波检测的距离并在液晶上把距离显示出来。利用红外传感器检测智能循迹机器人寻迹的位置,判断是否调整智能循迹机器人的位置。在寻迹的路上检测前方的距离,判断前方障碍物是否小于25cm,如果小于则智能循迹机器人避开障碍物原路返回继续寻迹。流程图如下图所示:
25
开始
液晶、超声波初始化
读出前方的距离
显示当前检测的距离
循迹是否调整 | 是 | 智能循迹机器人调整相应 |
角度回到跑道上
否 | 是否有障碍物 | 是 | 智能循迹机器人后退避开 |
障碍物
结束
图20软件流程框图
3.9软件调试介绍
整个实验调试过程主要分为四步:
第一步为目测,单片机应用系统电路全部手工焊接在洞洞板上,因此对每一个焊点都要进行仔细的检查。检查它是否有虚焊、是否有毛剌等。
第二步为万用表测试,先用万用表复核目测中认为可疑的连线或接点,查看通断状态是否与设计规定相符,再检查各种电源线与地线之间是否有短路现象。
第三步为加电检查。当系统加电时,首先检查所有插座或引脚的电源端是否符合要求电压值,接地端电压值是否接近零,接固定电平的引脚端是否电平正确。
第四步是联机检查。
Keilfor C51是美国KeilSoftware公司出品的C语言软件开发系统。在功能上、结构性、可读性、可维护性上,相比与汇编,C语言都具有明显的优势,故易学易用,在国内外得到广泛使用。Keil提供了一个完整的开发环境,其中包括C编译器、宏汇编器、链接器、 26
库管理和一个功能强大的仿真调试器,通过一个集成开发环境将这些部分组合在一起。
一般,我们通过机器汇编,把我们写的源程序变为C51可以执行的机器码。此外还有
一种较为繁琐的方法,那就是手工汇编。伴随着C51开发技术的不断提升,现在已不再使
用汇编语言来开发,而是开始使用高级语言来开发。目前,针对最流行C51开发项目,研
发Keilfor 51软件平台和支持在线调试的串口烧写。
Keil编译步骤如下:
1)在Keil系统中,每做个独立的程序,都视为工程(或者叫项目)。首先从菜但的“工
程”中“新建工程...”,建立我们将要做的工程项目。
2)Keil环境要求我们为Test工程选择一个单片机型号;我们选择Atmel公司的
89C51。“确定”后工程项目就算建立了。
3)立了工程项目,肯定要实施这个工程,现在就为工程添加程序。点击“文件”中
的“新建”,新建一个空白文档;这个空白文档就是让我们编写单片机程序的场所。在这
里你可以进行编辑、修改等操作。
4)根据题意,在文档中写入下列代码;最后编译调试,生产HEX文件,如图4.3。
5)通过51单片机的下载软件下载生成的HEX文件,就可以运行了。
3.9.1Proteus 软件仿真结果
利用Proteus软件仿真设计。通过仿真试验程序和器件是否能完成设计的要求。软件仿
真可以随意修改源程序。利用Proteus软件绘制仿真图,利用Keil软件将全部程序装换成HEX
类型,载入后 仿真。
+6V
P2.0 | 5 | 9 | GND | 4 | OUT1 | U2 | 左轮 | |
2 | ||||||||
IN1 | VCC | VS | ||||||
P2.1 | 7 | |||||||
IN2 | ||||||||
P2.2 | 10 | |||||||
IN3 | ||||||||
P2.3 | 12 | OUT2 | 3 | |||||
IN4 | ||||||||
P2.4 | 6 | |||||||
ENA | ||||||||
P2.5 | 11 | OUT3 | 13 | |||||
ENB | ||||||||
1 | SENSA | OUT4 | 14 | |||||
15 | ||||||||
SENSB |
右轮
8L298
27
图20电机运行结果仿真图
5v
SW6 | 1 | R11 | R7 | R15 | 3 | 4 | U3:A | P0.0 | P0.0 | SW5 | 1 | R12 | R8 | 41% | RV4 | 5 | 4 | U3:B | P0.1 |
220 | 220 | ||||||||||||||||||
U4 | 10K | U5 | 10K | ||||||||||||||||
1k | |||||||||||||||||||
1 | 7 | ||||||||||||||||||
6 | |||||||||||||||||||
6 | R16 | 2 | 11 | LM324 | 2 | 5 | 6 | 11 | LM324 | ||||||||||
5 | |||||||||||||||||||
2 | SW-SPST | ||||||||||||||||||
SW-SPST | R4 | 4 | R2 | ||||||||||||||||
4 | |||||||||||||||||||
10k | 6.6k | OPTOCOUPLER-NPN | 10k | ||||||||||||||||
OPTOCOUPLER-NPN |
10k
左1左2
R14
SW7 | 1 | R13 | R9 | 87% | 1k | 10 | 4 | U3:C | P0.2 | SW8 | 1 | 220 | R10 | 58% | RV3 | 右2 | 12 | 4 | U3:D | P0.3 |
220 | ||||||||||||||||||||
U6 | U7 | 10K | ||||||||||||||||||
10K | ||||||||||||||||||||
14 | ||||||||||||||||||||
8 | 6 | 13 | ||||||||||||||||||
6 | ||||||||||||||||||||
RV2 | 9 | 11 | 2 | 5 | 11 | LM324 | ||||||||||||||
5 | LM324 | |||||||||||||||||||
2 | SW-SPST | |||||||||||||||||||
4 | ||||||||||||||||||||
SW-SPST | 4 | R3 | 1k | R5 | ||||||||||||||||
OPTOCOUPLER-NPN | ||||||||||||||||||||
OPTOCOUPLER-NPN | 10k | |||||||||||||||||||
10k |
右1
图21四路光电传感器输入仿真图
小车直走(未偏离黑色引导线),左右轮按相同速度转动,即左右轮的PWM波占空比
相同。仿真结果如图22。(黄色波形为左轮PWM波形,蓝色为右轮PWM波形)
图22 小车直行时的PWM波形
当左右两级传感器均未检测到黑线时,小车两轮的PWM波形占空比相同均为30%,即
左右轮以30:30的转速匀速前行。小车转向(偏离预设轨道),若左转则右轮相对于左轮转
速增大,此时右轮的PWM波占空比较左轮宽,其仿真图如图23。
28
图23小车转向时的PWM波形
当右边第一级传感器检测到黑线时,小车左轮的PWM波形占空比提高到50%,右轮的PWM波形占空比下降到5%,即左右轮以50:5的转速实现右转。
测试方法与仪器:
测试仪器
测试仪器包括数字万用表、信号发生器、示波器、MCS51仿真机、直流稳压电源等。
测试方法
①数字万用表主要用来测试分立元件的电阻、压降、漏电流、截止/导通状态等参数; ②信号发生器与示波器用于测试各光电传感器信号的接收与传输;
③MCS51仿真机用于测试软件;
④直流稳压电源在测试期间为各待测系统供电;
3.9.2仿真结果分析
再通过Proteus进行电路仿真,由仿真结果可知当传感器检测电利用Kiel进行程序调试,
路检测到轨迹时,即仿真中对应开关闭合,单片机通过定时器中断函数控制P2.4和P2.5输出相应PWM波形,由此控制电机转速,仿真中各功能模块均能正常工作。
该设计在理想条件下仿真无误,即能够实现寻迹功能。在制作实物时须考虑元器件所产生的误差,如温漂、电磁干扰、元器件自身与理论值的偏差,在选用电阻时尽量选取可调电阻,以方便调试。
四、实验步骤设计
1、查阅书籍、检索资料:
对获得既有良好性能的轮式机器人的方法途径加以理解,学习设计、调试机器人必须
29
补充的知识;查阅工程规范文件、产品样本、使用说明,了解实际系统运行时必须遵守的工程规范和系统实现时所受到的商用产品的实际限制。
2、建立轮式机器人得数学模型:
综合运用物理特性分析法和实验参数测定法建立轮式机器人的数学模型,必要时在工作点附近近似线性化,以获得线性数学模型。
测定轮式机器人的机械结构数据,实验测定系统的动态参数。对测定的数据处理,获得建立数学模型的所有参数,完成数学建模。完成轮式机器人仿真控制实验,对控制结构进行调整,掌握控制参数的整定方法。
3、绘制轮式机器人的机械加工部件图纸,并对相应元件进行选型、检查等操作: 按电路图买好元件后首先检查买回元件的好坏,按各元件的检测方法分别进行检测,一定要仔细认真。而且要认真核对原理图是否一致,在检查好后才可上件、焊件,防止出现错误焊件后不便改正。
4、设计电气原理图并进行焊接机器人:
按原理图的位置放置各元件,在放置过程中要先放置、焊接较低的元件,后焊较高的和要求较高的元件。
特别是容易损坏的元件要后焊,在焊集成芯片时连续焊接时间不要超过10s,注意芯片的安装方向。
5、软件设计与调试:
第一步为目测,单片机应用系统电路全部手工焊接在洞洞板上,因此对每一个焊点都要进行仔细的检查。检查它是否有虚焊、是否有毛剌等。
第二步为万用表测试,先用万用表复核目测中认为可疑的连线或接点,查看通断状态是否与设计规定相符,再检查各种电源线与地线之间是否有短路现象。
第三步为加电检查。当系统加电时,首先检查所有插座或引脚的电源端是否符合要求电压值,接地端电压值是否接近零,接固定电平的引脚端是否电平正确。
30
因篇幅问题不能全部显示,请点此查看更多更全内容