灌篮机器人设计说明书Word文档格式.docx
《灌篮机器人设计说明书Word文档格式.docx》由会员分享,可在线阅读,更多相关《灌篮机器人设计说明书Word文档格式.docx(30页珍藏版)》请在冰豆网上搜索。
(3)总体方案设计,所需天数2天(4)机械结构设计,所需天数2天
(5)绘制总装图和关键零件图,所需天数3天(6)运动控制系统的设计,所需天数3天
(7)绘制电路图所需天数2天(8)设计制作所需天数3天
(9)编制课程设计说明书所需天数2天(10)答辩考核、演示所需天数1天
参考
资料
通过校园网在我校订阅的电子资料库中可以搜索到大量的有关机电一体化以及电机和电力拖动的参考资料。
同学们也可到学校的图书馆查找纸质期刊资料。
机械学院的计算机中心上班时间免费对本院学生开放。
指导教师签字
基层教学单位主任签字
燕山大学课程设计评审意见表
指导教师评语:
成绩:
指导教师:
年月日
答辩小组评语:
评阅人:
课程设计总成绩:
答辩小组成员签字:
目录
1.摘要·
·
5
2.方案分析·
6
3.成本预算·
21
4.市场分析·
22
5.心得体会·
23
6.参考文献·
24
摘要
灌篮智能小车是一个集环境感知、轨迹规划、机械手应用等功能于一体的机电一体化系统。
它集中地运用了计算机、传感器、信息、通讯、导航、人工智能及自动控制等技术—是典型的高新技术综合体。
本次课程设计的灌篮智能小车就是这种综合体的一种尝试。
小车以单片机为核心,附以外围电路,采用光电检测器进行检测信号和循线运动。
运用单片机的运算和处理能力来实现小车的自动行驶、停止、转弯、寻迹检测、蔽障等功能的智能控制系统。
方案分析
1.智能小车的总体概述
单片机是智能小车的控制核心,系统有黑线检测模块,电机驱动模块,LED灯指示模块,数码管显示模块,红外检测避障模块等几部分组成。
总的电路图如下
2.智能小车的驱动系统
小车的驱动包括电机的选择、驱动方案的选择、供电电源的选择下面将依次介绍。
2.1电动机的选择及驱动
2.1.1电动机的选择
方案一:
采用步进电机,步进电机的一个显著特点就是具有快速起停能力,如果负荷不超过步进电机所能提供的动态转矩值,就能够立即使步进电机启动或者反转,另一个显著特点就是转换精度高,正反转控制灵活。
方案二:
采用普通直流电机,直流电动机具有优良的调速特性,调速平滑、方便,调整范围广;
过载能力强,能承受频繁的冲击负载,可实现频繁的无级快速启动、制动和反转;
能满足各种不同的特殊运行要求。
综合考虑小车的各种要求,因需要寻迹和避障的等功能,对快速起停,转换精度正反转控制要求较高。
2.1.2电动机的驱动方案的选择
电动机驱动方案有以下几种:
采用电阻网络或数字电位器调整电动机的分压,从而达到调速目的。
但是电阻网络只能实现有级调速,而数字电阻的元器件价格比较昂贵,而且可能存在干扰,更主要的问题在于一般电动机的电阻比较小,但电流很大,分压不仅会降低效率,而且实现很困难。
采用继电器对电动机的开或关进行控制,通过控制开关的切换速度实现对小车的速度进行调整,这个电路的优点是电路较为简单,缺点是继电器的响应时间长,易损坏,寿命较短,可靠性不高。
方案三:
采用四个大功率晶体管组成H桥电路,四个大功率晶体管分为两组,交替导通和截止,用单片机控制是指工作在开关状态,进而控制电动机的运行。
该控制电路由于四个大功率晶体管之工作在饱和和截止状态下,效率非常高,并且大功率晶体管开关的速度很快,稳定性也极强,是一种广泛采用的电路。
经过综合考虑选用方案三。
该方案使用单片机控制易于实现集成化,减少体积和重量。
而且晶体管效率极高,稳定性好,操作较为容易。
考虑到电压电流的等级及尺寸,外观等因素,可选用集成电机驱动芯片L298。
该芯片是双H桥高电压大电流集成电路,其输出脚(SENSEA和SENSEB)用来连接电流检测电阻。
Vss接逻辑控制部分的电源,常用+5V。
IN1~IN4输入引脚采用标准TTL逻辑电平信号,用来控制H桥的开与关,EnA,EnB,引脚则是是能控制端,其控制表如下:
输入
功能
V=H
C=H,D=L
正转
C=L,D=H
反转
C=D
制动
V=L
C=X
停止
D=X
2.2供电电源的方案选择
虽然整个机电系统都需要用到电源,但是为了叙述方便将此内容放到此处一起讨论。
采用两个电源供电。
将电动机驱动电源与单片机及其周围电路完全隔离,利用光电耦合器传输信号。
这样可以使电动机驱动所造成的干扰彻底消除,提高了系统的稳定性,但是多一组电池,增加了车身重量,增大了小车的惯性。
方案二:
采用单一电源供电。
电源直接给电动机供电,因电动机启动瞬间电流较大,会造成电源电压波动,因而控制与检测部分通过集成稳压块供电。
其供电电路比较简单。
经过综合的考虑,采用方案二。
这样既可以减轻小车的重量,减小惯性;
而且通过集成稳压块又可以是电压稳定,不受启动时的波动。
2.3驱动系统的电路和程序设计
驱动模块电路图
根据电路图连接单片机和此模块。
其中:
80c51的p2.5与p2.6分别和驱动芯片L298的两个使能控制口相连。
然后进行直走调试。
程序如下:
•SETBP2.5;
使能控制1
•SETBP2.6;
使能控制2
•SETBP2.1
•cplP2.2
•SETBP2.3
•cplP2.4
•jmp$
程序输入后,小车能够直走,则驱动系统完成。
3.智能小车寻迹功能的实现
3.1方案选择
探测路况黑线的基本原理:
光线照射到路面并反射,由于黑线和白纸对光线的反射系数不同,可根据接收到的反射光强弱来判断黑线,可实现的方案有以下方案:
采用普通发光二极管及光敏电阻组成的发射接收方案。
该方案在实际使用时,容易受到外界光源的干扰,有时甚至检测不到,主要是因为可见光的反射效果跟地表的平坦程度,地表材料的反射情况均对检测效果产生直接影响。
虽然可采取超高亮度的发光二极管降低一定的干扰,但这又增加额外的功率损耗。
脉冲调制的反射式红外发射接收器。
由于采用该有交流分量的调制信号,则可大幅度减少外界干扰。
另外红外发射接收管的最大工作电流取决于平均电流,如果采用占空比小的调制信号,在平均电流不变的情况下,瞬时电流很大(50~100mA),则大大提高了信噪比,并且其反映灵敏,外围电路也很简单。
比较以上两种方案,方案而有很大的优势。
市场上很多红外光电探头都是基于这个原理。
这样不但准确完成测量,而且能避免电路的复杂性。
3.2设计实现过程
路面黑线检测主要通过黑白线检测传感器实现,黑白线检测传感器,有效探测距离5cm,通过调节电位器,最远可以达到10cm(该距离下,探测黑白线的精度较低)。
本项目选用的黑白线传感器受可见光干扰小,输出量为开关量,信号处理简单。
输出的TTL电平可以直接和单片机连接,但需要在输出端加上拉电阻,以使电平输出稳定。
当检测黑线是红外光管就收到反射回来的红外光,其输出立即发生高低电平跳变,该信号经逻辑比较后送单片机处理。
为保证小车沿黑线行驶,采用了两个检测器并行排列。
在校车行走过程中,若向左方向偏离黑线,则右侧的探头就会检测到黑线,把信号传给单片机,单片机控制车头向右转。
相关程序见7.2.2
4.智能小车路程检测功能的实现
采用霍尔元件的集成片,该器件内部有三片霍尔元件组成,当磁铁正对金属板时,由于霍尔反应,可以产生电流的变化,对此加以判断,但需要在车轮上安装磁片,将霍尔元件集成片安装在固定轴上,通过对脉冲的计数进行车速的测量。
采用光电码盘进行检测。
旋轴转动,带动码盘转动,码盘上刻有许多狭缝,码盘转动时发射光透过狭缝接收元件接收。
用计数器对接收到的信号进行计数,用这种方案能很精确的算出小车已经走过的距离。
由于霍尔元件成本较光电码盘低很多,虽然精度也低些,但是对小车整体的精度已经足够了,所以选择方案一。
5.智能小车的避障功能实现
由于采取该有交流分量的调制信号,则可大幅度减少外界干扰;
另外红外发射接收管的最大工作电流取决于平均电流,如果采用占空比小的调制信号,在平均电流不变的情况下,瞬时电流(50~100mA),则可大大提高了信噪比并且其反应灵敏,外围电路也很简单。
采用超声波传感器,如果传感器接收到反射的超声波,则如果单片机前方有障碍物,否则通知单片机可以向前行驶。
脉冲调制的反射式红外发射接收器较超声波灵敏度高,符合此次要求,故选用方案一。
避障检测和处理采用集发射与接收于一体的光电传感器,该传感器具有探测距离远,受可见光干扰小,易于安装的有点。
避障原理统寻迹相似,通过A/D将模拟信号转换为数字信号传给单片机,再由单片机做出分析判断,发出信号,控制路子启停,从而完成避障。
6.智能小车的数码管显示功能实现
为实现小车速度的两位显示需要两个数码显示器。
但是显示器与单片机的连接如果采用并行连接,虽然连接简单,但出现单片机引脚不够的矛盾。
所以采用8位串行输入转并行输出移位寄存器74HC595。
只要三个引脚连接即可,而且相对简单。
其电路图如下图。
74HC595电路连接图
7机械手的选定及夹取动能实现
7.1设计方法和设计方案论证
设计方案有如下三种:
A方案如图2-1所示,该方案虽然灵活性好,但Z轴转动只能靠小车的转动来实现,耗能多,不符合“多动小关节、少动大关节”原则,而且需要控制车轮方能实现,车轮依靠步进电机控制,从而给编程和后期调试。
图2-1
B方案如图2-2所示,该方案改进了方案A的机械手不能Z0轴转动的缺点,但是由于电机数量有限,就限制了该机械手的灵活性,抓手方向不能保证垂直地面,抓球时容易把球碰离原来位置,从而难于实现功能。
图2-2
C方案如图2-3所示,该方案灵感源于IRB1410二关节和三关节处的设计。
此方案改进了方案B的缺点,通过平行四边形的特点,使抓手所在臂能够垂直地面,从而加持稳定。
图2-3
经过分析比较,最终决定选用方案才C
7.2任意位姿控制
i
ai-1
αi-1
di
θi
1
130
θ1
2
125
90
θ2
3
200
θ3
根据运动学公式,可知:
cosθ1–sinθ100
01T=sinθ1cosθ100
001130
0001
cosθ2–sinθ20125
00-10
12T=sinθ2cosθ200
0001
cosθ3sinθ30200
23T=sinθ3cosθ300
0010
0001
1000
34T=010-60
0010
0001
7.3速度控制
当初值如上表所示
应用MATLAB编程
symss1s2s3s4
s1=0*pi/180
s2=(0)*pi/180
s3=(0)*pi/180
s4=0
T10=[cos(s1)-sin(s1)00;
sin(s1)cos(s1)00;
001130;
0001];
T21=[cos(s2)-sin(s2)0125;
00-10;
sin(s2)cos(s2)00;
T32=[cos(s3)-sin(s3)0200;
sin(s3)cos(s3)00;
0010;
T43=[1000;
010-60;
T2=T10*T21;
T3=T2*T32;
T4=T3*T43
T42=T32*T43;
T41=T21*T32;
Z1=[T10(1,3);
T10(2,3);
T10(3,3)];
Z2=[T2(1,3);
T2(2,3);
T2(3,3)];
Z3=[T3(1,3);
T3(2,3);
T3(3,3)];
Z4=[T4(1,3);
T4(2,3);
T4(3,3)];
P44=[0;
0;
0];
P43=[T43(1,4);
T43(2,4);
T43(3,4)];
P42=[T42(1,4);
T42(2,4);
T42(3,4)];
P41=[T41(1,4);
T41(2,4);
T41(3,4)];
R10=[T10(1,1)T10(1,2)T10(1,3);
T10(2,1)T10(2,2)T10(2,3);
T10(3,1)T10(3,2)T10(3,3)];
R20=[T2(1,1)T2(1,2)T2(1,3);
T2(2,1)T2(2,2)T2(2,3);
T2(3,1)T2(3,2)T2(3,3)];
R30=[T3(1,1)T3(1,2)T3(1,3);
T3(2,1)T3(2,2)T3(2,3);
T3(3,1)T3(3,2)T3(3,3)];
R40=[T4(1,1)T4(1,2)T4(1,3);
T4(2,1)T4(2,2)T4(2,3);
T4(3,1)T4(3,2)T4(3,3)];
A1=CROSS(Z1,R10*P41);
A2=CROSS(Z2,R20*P42);
A3=CROSS(Z3,R30*P43);
A4=CROSS(Z4,R40*P44);
A=[A1A2A3A4];
Z=[Z1Z2Z3Z4];
J=[A;
Z]
算的结果:
060600
325000
J=020000
0000
0-1-1-1
1000
100325
00-10
T4=01070
8程序清单
SDATA_595EQUP1.3;
串行数据输入
SCLK_595EQUP1.1;
移位时钟脉冲
RCK_595EQUP1.2;
输出锁存器控制脉冲
codd:
db0c0h,0f9h,0a4h,0b0h,099h,92h,82h,0f8h,80h,90h,77h,7ch,39h,51h,79h,71h,00h
org0000h
ajmpstart
org0000bh
ajmptimer0
org001bh
ajmptimer1
start:
movtmod,#00010001b
movth0,#0b8h
movtl0,#0h
movth1,#0feh
movtl1,#34h
mov30h,th1
mov31h,tl1
mov33h,#0h
movr1,#0h;
电机2的初始化
movie,#10001010b
mov41h,#46d;
mov45h,#7h
mov46h,#18h
MOV44h,#128d;
44存放电机一要到的位置
mov34h,#0feh;
;
电机二要到的位置
mov35h,#34h
mov36h,#0f8h
mov37h,#0d0h
mov38h,#0feh
mov39h,#34h
mov3ah,#0fDh
mov3bh,#08h
mov40h,#0h
mov61h,#0
acalldelay2;
---------------------------------------------------初始化
SETBP2.5;
SETBP2.6;
setbp2.1
clrp2.2;
直行程序
jbp1.4,rights
panduan4:
jnbp3.5,next
jbp3.5,lefts
next:
setbp2.3
setbp2.4
setbp2.2
mova,61h
cjnea,#0h,finish
ajmpdisplay
acallshou
ajmpgo
leftp:
clrp2.2;
左转子程序
setbp2.3
clrp2.4
mov60h,#6h
ajmpdisplay
acalldelay8
ajmpgo
left:
clrp2.2;
right:
setbp2.4;
右转子程序
clrp2.3
clrp2.1
mov60h,#7h
ajmpdisplay
lefts:
clrp2.2
mov60h,#8
ajmpdisplay;
快速左转
rights:
clrp2.1
setbp2.4;
快速右转
mov60h,#9
finish:
mov40h,#3h
movr1,#0h
last:
cjner1,#0ffh,last
acalldelay2
mov40h,#2h
llll:
nop
ajmpllll
jmp$
display:
MOVSP,#60H
movr6,#02h
mova,60h;
a为要显示的数
send:
movdptr,#codd
movca,@a+dptr
MOVR0,a
MAIN1:
CALLOUT_595
CALLDELAY
mova,60h
djnzr6,send
shou:
setbp0.1
setbtr0
setbtr1
mov2ch,#50;
控制舵机1到初始位置
mov2dh,#200
mov41h,#114
acallmotor
mov40h,#1h
ggg:
cjner1,#0ffh,ggg
acallDELAY0
movr1,#0h
gg:
cjner1,#0h,mo
mov44h,#46d
ajmpgg
mo:
mov2ch,#114;
mov2dh,#130
mov41h,#48
acallmotor1
clrp2.2;
inc61h
ret
timer0:
mova,33h
cjnea,#0,equa
movth1,30h
movtl1,31h
setbp0.1
equa:
reti
timer1:
pushacc
clrp0.1
mova,40h
cjnea,#1h,one
mov34h,36h
mov35h,37h
ajmptimee
one:
jctimee
cjnea,#2h,two
mov34h,38h
mov35h,39h
two:
mov34h,3ah
mov35h,3bh
timee:
mova,31h;
比较实际位置和理想位
clrc
subba,35h
mova,30h
subba,34h
jcincc
jzequal
mova,31h
subba,#5h;
控制电机二的速度,460div
mov31h,a
subba,#0h
mov30h,a
popacc
equal:
movr1,#0ffh;
r7为到位标志
incc:
clrc
addca,#0Ah;
addca,#0h
movr1,