摘要
本文主要对智能车整体设计思路、硬件与软件设计及车模的装配调试过程作简要的说明。该智能车能通过直线运动,车体回转,寻迹,避障,手抓张合及协同作业等功能,来实现对目标苹果的搜寻、抓取及采摘运动。
本系统以单片机为核心控制模块,充分利用了无线通信模块、液晶显示模块,黑白循迹模块、红外避障模块、电源模块、串口通信模块、A/D转换模块、电机驱动模块。通过实践操作与程序调试,实现自动往返小车设计。综合运用单片机技术、自动控制理论、检测技术等。使小车能在无人操作情况下,借助传感器识别路面及周围环境,由单片机控制行进,实现初步的无人控制。单片机具有体积小、重量轻、耗电少、功能强、控制灵活方便且价格低廉等优点。智能小车采用单片机为控制器核心,其集成度高、体积小、抗干扰能力强,具有独特的控制功能,单片机的应用正从根本上改变着传统的控制系统设计思想和设计方法。
本设计以单片机为核心,附以外围电路,采用光电检测器进行检测信号和循线运动。运用单片机的运算和处理能力来实现小车的自动前进、后退、左转、右转、机械手的张合及机械臂的运动。
在当今大规模制造业中,企业为提高生产效率,保障产品质量,普遍重视生产过程的自动化程度,工业机器人作为自动化生产线上的重要成员,逐渐被企业所认同并采用。工业机器人的技术水平和应用程度在一定程度上反映了一个国家工业自动化的水平。目前,工业机器人主要承担着焊接、喷涂、搬运以及堆垛等重复性并且劳动强度极大的工作,一般采取示教再现的工作方式。
在相关领域内,已有“基于单片机的AGV智能车的设计”“带摄像头的智能车硬件设计”“带有路径记忆的智能车”等方面的研究。综合并分析了其他类型智能车的设计理念中的优点,总结了上述设计的功能单一或设计过于复杂的缺点,我们选定了自己的设计方案。
针对用于给设备运送物料的物料搬运机器人的手部系统进行设计。通过对机器人的大臂、小臂和机械手的结构的设计,选择合适的传动方式、驱动方式以及搬运时的抓紧力、抓紧方式,从而实现物料的准确搬运。
由于舵机方便控制角度,成本较低,所以,本课程设计采用三个舵机控制机械臂的弯曲动作和机械手抓取动作。
关键词:智能车、采摘机器人、系统、寻迹、避障
前言
工业机器人由机械本体、控制器、驱动系统和检测装置构成,是一种仿人操作、自动控制、可重复编程、能在三维空间完成各种作业的机电一体化自动化生产设备。机器人应用情况是一个国家工业自动化水平的重要标志。近百年来发展起来的机器人,大致经历了三个成长阶段,也即三个时代。第一代为简单个体机器人, 第二代为群体劳动机器人,第三代为类似人类的智能机器人,它的未来发展方向是有知觉、有思维、能与人对话。第一代机器人属于示教再现型 , 第二代则具备了感觉能力 , 第三代机器人是智能机器人 , 它不仅具有感觉能力 , 而且还具有判断和行动的能力。 英格伯格和德沃尔制造的工业机器人是第一代机器人,属于示教再现型,即人手把着机械手,把应当完成的任务做一遍,或者人用“示教控制盒”发出指令,让机器人的机械手臂运动,一步步完成它应当完成的各个动作 。本次课程设计通过舵机控制机械臂和机械手的运动。
工业机械手是工业舍产发展中的必然产物。它模仿人体上肢的部分功能,按照预定要求输送工件或握持工具进行操作的自动化技术装备。工业机械手可以代替人手的繁重劳动,显著减轻公认的劳动强度、改善劳动条件和提高生产率。例如:它能在高温、低温、深水、宇宙、有放射性物质和污染的环境条件下进行操作,显示出其优越性和广泛的发展前途。为了抓取空间中任意位置和方位的物体,需有6个自由度。自由度是机 械手设计的关 键参数。自由 度越多,机械手的灵活性越大,通用性越广,其结构也越复杂。本次课程设计抓取一定高度的苹果,采用2个转动关节串联的机械臂上极限上下摆动,用1个转动关节控制机械手的张合。
机械臂底座与小车固接,小车是以S51单片机为核心控制系统制作而成的。小车可以实现自动寻迹、避障、变速等功能。近年来随着微电子技术的逐步发展,基于单片机的智能控制系统越来越多的应用于我们的日常生活之中。如何实现多器件同时控制,元件功能紧密结合,机械与电子控制同步种种难题都成为单片机研究发展的方向。
本次课程设计本着自主创新、自主设计智能机械人完成抓取苹果和智能小车完成黑白线循迹、迷宫避障,同时控制制作成本,通过方案论证设计出最优的机电一体化产品。我们设计的产品的特点
1.整体设计方案
本系统以单片机为核心控制模块,充分利用了无线通信模块、液晶显示模块,黑白循迹模块、红外避障模块、电源模块、串口通信模块、A/D转换模块、电机驱动模块。通过实践操作与程序调试,实现自动往返小车设计。综合运用单片机技术、自动控制理论、检测技术等。使小车能在无人操作情况下,借助传感器识别路面及周围环境,由单片机控制行进,实现初步的循迹、避障和机械臂和机械手的协调动作。
图1 总体功能图
图2 智能车路线图
根据模块划分将工作任务划分为几个小部分,接下来对各模块进行方案论证。
2.各模块方案论证
2.1电源模块
方案一:直流电机
直流电动机具有优良的调速特性,调速平滑、方便,调整范围广;过载能力强,能承受频繁的冲击负载,可实现频繁的无级快速启动、制动和反转;能满足各种不同的特殊运行要求。
方案二:步进电机
步进电机的一个显著特点就是具有快速启停能力,如果负荷不超过步进电机的动态转矩值,就能够立即驶步进电机启动或者反转。另一个显著特点就是转换精度高,正反转控制灵活。
方案三:伺服电机
因其闭环控制方式,精度是很其他电机不可比拟的。
下表是对上述三种电机的比较
表1 三种电机性能比较
电机名称 | 成本 | 起动转矩 | 精度 | 调速方式 | 编程任务量 |
直流电机 | 低 | 大 | 较高 | 改变电枢电压或者改变磁通 | 一般 |
步进电机 | 中 | 小 | 高 | 通过加入延时程序 | 任务较重 |
伺服电机 | 高 | 较大 | 高 | 通过改变脉冲频率 | 一般 |
2.2驱动电路
2.2.1方案论证:
智能车的驱动电路可以实现电机的正反转和脉宽调速以及原地旋转360°的功能。主要运用了L295电机驱动芯片。
2.2.2硬件设计
L298电机驱动:
1.工作电压:控制信号直流5V;电机电压直流5V36V
2.最大工作电流:2.5A
3.额定功率25W
图3 L298N驱动电路
图4 L298N实物图
2.2.3具体测试情况
测试要求:要求能实现电机的正反转和脉宽调速以及原地旋转的功能。
测试结果:能在避障及寻迹部件的辅助下顺利实现要求的功能。
2.3数码管显示模块
2.3.1方案论证
数码管显示是采用串入并出芯片HC595扩展来实现的,可以充分利用单片机内部资源来显示时钟、行驶距离、行驶速度、障碍物远近等功能,以便于系统调试指示和故障检测显示。
我们选用的是74HC595,它的主要优点是具有数据存储寄存器,在移位的过程中,输出端的数据可以保持不变。这在串行速度慢的场合很有用处,数码管没有闪烁感。
2.3.2硬件设计
74HC595是具有8位移位寄存器和一个存储器,三态输出功能。移位寄存器和存储器是分别的时钟。数据在SCK的上升沿输入,在RCK的上升沿进入的存储寄存器中去。如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。移位寄存器有一个串行移位输入(SI),和一个串行输出(Q7’),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能 OE时(为低电平),存储寄存器的数据输出到总线。
数据端:
QA--QH: 八位并行输出端,可以直接控制数码管的8个段。
QH': 级联输出端。我将它接下一个595的SI端。
SI: 串行数据输入端。
控制端:
/SCLR(10脚): 低点平时将移位寄存器的数据清零。通常我将它接Vcc。
SCK(11脚):上升沿时数据寄存器的数据移位。QA-->QB-->QC-->...-->QH;下降沿移位寄存器数据不变。(脉冲宽度:5V时,大于几十纳秒就行了。我通常都选微秒级)
RCK(12脚):上升沿时移位寄存器的数据进入数据存储寄存器,下降沿时存储寄存器数据不变。通常我将RCK置为低电平,当移位结束后,在RCK端产生一个正脉冲(5V时,大于几十纳秒就行了。我通常都选微秒级),更新显示数据。
/G(13脚): 高电平时禁止输出(高阻态)。如果单片机的引脚不紧张,用一个引脚控制它,可以方便地产生闪烁和熄灭效果。比通过数据端移位控制要省时省力。
2.3.3具体测试情况
测试要求:要求数码管能正确显示时钟、行驶距离、行驶速度、障碍物远近等信息。
测试结果:数码管能正常完成要求内容。
2.4黑白线寻迹模块
2.4.1方案论证
轨迹检测模块是利用色差来实现循迹功能的。智能车安装有光电式传感器ST188,能检测地面上的轨迹,来达到黑线寻迹、白面转弯的效果。黑白线检测传感器TK‐20有效探测距离5㎝,通过调节电位器最远可达到10㎝,受可见光干扰小,输出信号位开关量,信号处理简单,探测精度更高,价格15元左右。其实,普通的光电传感器也能解决,只要选择受可见光干扰小的,对颜色敏感的器件就可以。也可以做一些保护,比如在接受管上加黑色胶带,尽量减少可见光的干扰;其次距离地面的高度降低;再次信号输出端加LM358之类放大器,提高测量精度;最好还可以使用AD对信号精度采集,使用软件进行分析环境或场地的差异,然后有区别的处理。鉴于条件的,我们只选用了简单的光电式传感器ST188。
2.4.2硬件设计
光电传感器ST188如下图:
图5 ST188 表2 ST188极限参数
A、K为红外发射管,C、E为红外接收管
2.4.3具体测试情况
测试要求:要求能检测地面上的轨迹,来达到黑线寻迹、白面转弯的效果。
测试结果:能顺利实现要求的功能。
2.5避障模块
2.5.1方案论证
避障功能用来指引智能车穿越迷宫。红外避障传感器是一种集发射与接收于一体的光电传感器。本方案选取的传感器E18‐D80NK具有探测距离远、受可见光干扰小、价格便宜、易于装配、使用方便等特点。数字量输出,不需要进行AD转换,可直接接单片机的IO口,通过后面的可调电位器调整距离(3‐80有效)。红外探测是根据反射发出特定频率的红外线确定物体距离的,具体测量过程是这样的,在机器人运动过程中先调节距离旋钮使其探测距离达到所用超声波探测器的盲区最大值,用程序控制探头发射信号,然后捕捉反射信号,若无反射信号说明无障碍,如有反射信号说明有障碍,信号从上拉电阻的OC门取出。
2.5.2硬件设计
电气特性:
U工作电压:5VDC
I驱动电流:100mA
Sn感应距离:3-80CM
备注:不要将引线接错,将会烧掉传感器
尺寸:
直径:17MM
传感器长度:45MM
引线长度:45CM
应用案例:
1、生产线货物自动计数设备
2、多功能提醒器
3、走迷宫机器人
图6 避障传感器原理图
2.5.3具体测试情况
测试要求:要求能指引智能车穿越迷宫并检测目标苹果位置。
测试结果:能指引智能车穿越迷宫,尚未测试能否检测目标小球。
2.6通信模块
2.6.1方案论证
无线通信将目标苹果坐标传送给单片机,以此控制机械臂和机械手协调动作以此精确抓取目标苹果,CC1101‐232无线模块,串口通信方式,应用简单变成即可使用,提供多达256个信道,低功耗工作,传输距离可达200米以上,可广泛应用于无线抄表、无线遥控、LED屏幕图文更新等无线数传送领域。CC1101‐232无线模块有以下特点:低功耗模块、最大发射功率10mW、有免费载频频段433MHz、高抗干扰能力和低误码率、传输距离远和单芯片设计降低成本等,所以选择CC1101‐232
2.6.2硬件设计
电气特性:
U工作电压: 5VDC
最大发射功率:10mW
载频频段:433MHz
应用案例
无线抄表
无线遥控
LED屏幕图文更新
2.6.3具体测试情况
测试要求:发送目标苹果给单片机,控制机械手和机械臂协调动作,精确抓取目标苹果。
测试结果:单片机能接收无线模块发送的坐标,机械臂和机械手协调动作抓取目标苹果。
2.7机械臂模块
2.7.1方案论证
方案1: RR:两个转动副
图7 方案1机构原理图
方案2:RP:第一个为转动副、第二个为移动副
图8 方案2机构原理图
方案3:PR:第一个为移动副、第二个为转动副
图9 方案3机构原理图
方案的比较选择:移动副制作麻烦,角度不容易控制,转动副操作空间更大,而且由于驱动元件为舵机,输出的是转角,不用进行转化,所以选择方案1
5.1.2机械手的方案论证
方案1:夹持式手爪
图10 夹持式手爪
5.2机械手臂参数
机械臂长度分别为60㎝、200㎝、200㎝
图11 小车三维图
2.8舵机控制
图12 舵机同时控制方案一
图13 舵机同时控制方案一
方案二是利用定时器0中断,设置中断时基为0.05ms,开辟两个单元计数中断次数,34H用来与指定舵机角度值比较,DPTR用来与20ms的400次比较,当某个舵机的角度值对应次数到了,就将电平拉低,实现3个舵机的同时控制。
方案一是对P0口整体赋值,每个舵机的控制周期有一定的相位差,但是从各自的控制脉冲来看,是满足控制原理的。这种方案舍弃了部分初始控制,并不是严格的同时控制,但误差只是微妙级的,可以忽略。
经过组内讨论,决定采用方案二。
3.机械臂的软件设计
3.1基本参数
3.1.1初始位姿
图14 初始位姿图
3.1.2 过渡位姿
图15 过渡位姿图
3.1.3抓取位姿
图16 抓取位姿图
3.1.4机械臂连杆参数
运用D-H法建立连杆之间的运动关系
表3 机械臂连杆参数
连杆序号 | ai-1 | αi-1 | di | θi | 关节变量 | 初始值 |
1 | 0 | 0 | 0 | θ1 | θ1 | 150° |
2 | 260 | 0 | 0 | θ2 | θ2 | -60° |
3 | 0 | 90° | 260 | 0 | - | - |
3.2.1 各齐次变换矩阵
syms t1 t2
T10=[cos(t1) -sin(t1) 0 0;
sin(t1)*cos(0) cos(t1)*cos(0) -sin(0) 0;
sin(t1)*sin(0) cos(t1)*sin(0) cos(0) 0;
0 0 0 1];
T21=[cos(t2) -sin(t2) 0 260;
sin(t2)*cos(0) cos(t2)*cos(0) -sin(0) 0;
sin(t2)*sin(0) cos(t2)*sin(0) cos(0) 0;
0 0 0 1];
T32=[cos(t3) -sin(t3) 0 0;
sin(t3)*cos(pi/2) cos(t3)*cos(pi/2) -sin(pi/2) -260;
sin(t3)*sin(pi/2) cos(t3)*sin(pi/2) cos(pi/2)
260*cos(pi/2);
0 0 0 1];
T30 =T10*T21*T32;
3.2.2中间位姿到过渡位姿
x=260;
y=260;
f1=x-T30(1,4);
f2=y-T30(2,4);
[t1,t2]=solve(f1,f2,t1,t2)
t1=vpa(t1/pi*180,6)
t2=vpa(t2/pi*180,6)
运算结果为:
t1 = 90. 0.
t2 = 0. 180.
3.2.3过渡位姿到抓取位姿
x=300;
y=100;
f1=x-T30(1,4);
f2=y-T30(2,4);
[t1,t2]=solve(f1,f2,t1,t2)
t1=vpa(t1/pi*180,6)
t2=vpa(t2/pi*180,6)
运算结果为:
t1 = -34.1105 70.9803
t2 = -1.909 -15.0911
3.3雅可比矩阵及速度模型的建立
3.3.1我们利用矢量积法来构造雅可比矩阵。
syms t1 t2
T10=[cos(t1) -sin(t1) 0 0;
sin(t1)*cos(0) cos(t1)*cos(0) -sin(0) 0;
sin(t1)*sin(0) cos(t1)*sin(0) cos(0) 0;
0 0 0 1]
T21=[cos(t2) -sin(t2) 0 -170;
sin(t2)*cos(0) cos(t2)*cos(0) -sin(0) 0;
sin(t2)*sin(0) cos(t2)*sin(0) cos(0) 0;
0 0 0 1]
t3=0
T32=[cos(t3) -sin(t3) 0 0;
sin(t3)*cos(pi/2) cos(t3)*cos(pi/2) -sin(pi/2) -130;
sin(t3)*sin(pi/2) cos(t3)*sin(pi/2) cos(pi/2) 130*cos(pi/2);
0 0 0 1]
T31=T21*T32;
T30=T10*T21*T32;
T20=T10*T21;
z1 =T10(1:3,3);
z2 =T20(1:3,3);
p1=T31(1:3,4);
p2=T32(1:3,4);
r1=T10(1:3,1:3);
r2=T20(1:3,1:3);
p11=cross(z1,r1*p1);
p22=cross(z2,r2*p2);
j=[p11 p22 ;
z1 z2 ]
运算结果为:
j =
[ -sin(t1)*(-170+130*sin(t2))+130*cos(t1)*cos(t2), 130*cos(t1)*cos(t2)-130*sin(t1)*sin(t2)]
[ cos(t1)*(-170+130*sin(t2))+130*sin(t1)*cos(t2), 130*cos(t1)*sin(t2)+130*sin(t1)*cos(t2)]
[0, 0]
[0, 0]
[0, 0]
[1, 1]
3.3.2各位姿的雅可比矩阵
当t1=90,t2=0时,雅可比矩阵为
j =
-260.0000 0.0000
260.0000 260.0000
0 0
0 0
0 0
1.0000 1.0000
当t1=70.9803,t2=-15.0911
j = -43.3261 205.4828
-234.7604 -159.3010
0 0
0 0
0 0
1.0000 1.0000
3.3.3 操作速度模型
syms q1 q2 v1 v2
v=[v1;v2;0;0;0;0];
q=[q1;q2];
je=j*q;
f3=v(1,1)-je(1,1);
f4=v(2,1)-je(2,1);
[q1,q2]=solve(f3,f4,q1,q2)
q11=vpa(q1,3) ;设置精度
q22=vpa(q2,3)
运算结果为:
q11 = -.2e-2*v1-.373e-2*v2
q22 =-.786e-3*v2+.426e-2*v1
3.4各关节轨迹规划
我们可以采用任意平滑函数作为关节差值函数,但由于平面2R机械手只能确立四个约束方程,因此采用三次多项式插值法进行关节的轨迹规划。
3.4.1 中间位姿到过渡位姿的关节轨迹规划
关节角1:初值150终值90
a0 =150 a1 = 0 a2 =-20 a3 =4.4444
图17 过渡位姿关节1轨迹规划
关节角2:初值-60终值0
a0 =-60 a1 =0 a2 =20 a3 =-4.4444
图18 过渡位姿关节2轨迹规划
3.4.2过渡位姿到抓取位姿的关节轨迹规划
关节角1:初值90终值70.9803
a0 =90 a1 =0 a2 =-6.3399 a3 = 1.40
图19 过渡位姿关节1轨迹规划
关节角2:初值0终值-15.0911
a0 =0 a1 =0 a2 =-5.0304 a3=1.1179
图20 过渡位姿关节2轨迹规划
1.
2.
3.
4.系统软件设计
4.1软件流程图
4.1.1避障流程图
图21 避障流程图
4.1.2循迹流程图
图22 循迹流程图
4.1.3舵机控制流程图
图23 舵机控制流程图
4.2源程序代码
见附录
1.
2.
3.
4.
5.市场分析
经过本次项目,相信同学们都对智能车有了非常直观的了解。我们不妨对智能车做下市场预测。在进行市场前景预测之前,我们可以了解一下目前国际上机电一体化技术及单片机的发展历程及其趋势:
自电子技术一问世,电子技术与机械技术的结合就开始了,只是出现了半导体集成电路,尤其是出现了以微处理器为代表的大规模集成电路以后,"机电一体化"技术之后有了明显进展,引起了人们的广泛注意.
(一)机电一体化"的发展历程
1.数控机床的问世,写下了"机电一体化"历史的第一页;
2.微电子技术为"机电一体化''带来勃勃生机;
3.可编程序控制器、"电力电子"等的发展为"机电一体化"提供了坚强基础;
4.激光技术、模糊技术、信息技术等新技术使"机电一体化"跃上新台阶.
(二)机电一体化发展趋势
1.光机电一体化.一般的机电一体化系统是由传感系统、能源系统、信息处理系统、机械结构等部件组成的.因此,引进光学技术,实现光学技术的先天优点是能有效地改进机电一体化系统的传感系统、能源(动力)系统和信息处理系统.光机电一体化是机电产品发展的重要趋势.
2.自律分配系统化——柔性化.未来的机电一体化产品,控制和执行系统有足够的“冗余度”,有较强的“柔性”,能较好地应付突发事件,被设计成“自律分配系统”。在自律分配系统中,各个子系统是相互工作的,子系统为总系统服务,同时具有本身的“自律性”,可根据不同的环境条件作出不同反应。其特点是子系统可产生本身的信息并附加所给信息,在总的前提下,具体“行动”是可以改变的。这样,既明显地增加了系统的适应能力(柔性),又不因某一子系统的故障而影响整个系统。
3.全息系统化——智能化。今后的机电一体化产品“全息”特征越来越明显,智能化水平越来越高。这主要收益于模糊技术、信息技术(尤其是软件及芯片技术)的发展。除此之外,其系统的层次结构,也变简单的“从上到下”的形势而为复杂的、有较多冗余度的双向联系。
4.“生物一软件”化—仿生物系统化。今后的机电一体化装置对信息的依赖性很大,并且往往在结构上是处于“静态”时不稳定,但在动态(工作)时却是稳定的。这有点类似于活的生物:当控制系统(大脑)停止工作时,生物便“死亡”,而当控制系统(大脑)工作时,生物就很有活力。仿生学研究领域中已发现的一些生物体优良的机构可为机电一体化产品提供新型机体,但如何使这些新型机体具有活的“生命”还有待于深入研究。这一研究领域称为“生物——软件”或“生物——系统”,而生物的特点是硬件(肌体)——软件(大脑)一体,不可分割。看来,机电一体化产品虽然有向生物系统化发展趋,但有一段漫长的道路要走。
5.微型机电化——微型化。目前,利用半导体器件制造过程中的蚀刻技术,在实验室中已制造出亚微米级的机械元件。当将这一成果用于实际产品时,就没有必要区分机械部分和控制器了。届时机械和电子完全可以“融合”,机体、执行机构、传感器、CPU等可集成在一起,体积很小,并组成一种自律元件。这种微型机械学是机电一体化的重要发展方向。
二、典型的机电一体化产品
机电一体化产品分系统(整机)和基础元、部件两大类。典型的机电一体化系统有:数控机床、机器人、汽车电子化产品、智能化仪器仪表、电子排版印刷系统、CAD/CAM系统等。典型的机电一体化元、部件有:电力电子器件及装置、可编程序控制器、模糊控制器、微型电机、传感器、专用集成电路、伺服机构等。这些典型的机电一体化产品的技术现状、发展趋势、市场前景分析从略。
三、我国发展“机电一体化”面临的形势和任务
机电一体化工作主要包括两个层次:一是用微电子技术改造传统产业,其目的是节能、节材,提高工效,提高产品质量,把传统工业的技术进步提高一步;二是开发自动化、数字化、智能化机电产品,促进产品的更新换代。
(一)我国“机电一体化”工作面临的形势
1. 我国用微电子技术改造传统工业的工作量大而广,有难度
2. 我国用机电一体化技术加速产品更新换代,提高市场占有率的呼声高,有压力。
3. 我国用机电一体化产品取代技术含量和附加值低,耗能、耗水、耗材高,污染、扰民产品的责任重,有意义。在我国工业系统中,能耗、耗水大户,对环境污染严重的企业还占相当大的比重。近年来我国的工业结构、产品结构虽然几经调整,但由于多种原因,成效一直不够明显。这里面固然有上级领导部门的政出多门问题,有企业的“故土难离”“死守故业”问题,但不可否认也有优化不出理想的产业,优选不出中意的产品问题。上佳的答案早就摆在了这些企业的面前,这就是发展机电一体化,开发和生产有关的机电一体化产品。机电一体化产品功能强、性能好、质量高、成本低,且具有柔性,可根据市场需要和用户反映时产品结构和生产过程做必要的调整、改革,而无须改换设备。这是解决机电产品多品种、少批量生产的重要出路。同时,可为传统的机械工业注入新鲜血液,带来新的活力,把机械生产从繁重的体力劳动中解脱出来,实现文明生产。另外,从市场需求的角度看,由于我国研制、开发机电一体化产品的历史不长,差距较大,许多产品的品种、数量、档次、质量都不能满足需求,每年进口量都比较大,因此亟需发展。
(二) 我国“机电一体化”工作的任务
我国在机电一体化方面的任务可以概括为两句话:一句话是广泛深入地用机电一体化技术改造传统产业;另一句话是大张旗鼓地开发机电一体化产品,促进机电产品的更新换代。总的目的是促进机电一体产业的形成、为我国产业结构和产品结构调整作贡献。
总之,机电一体化技术既是振兴传统机电工业的新鲜血液和源动力,又是开启我国机电行业产品结构、产业结构调整大门的钥匙。
机电一体化产业复盖面非常广,而我们的财力、人力和物力是有限的,因此我们在抓机电一体化产业发展时不能面面俱到、平铺直叙,而应分清主次,大胆取舍,有所为,有所不为。要注意抓两个层次上的工作。第一个层次是“面上”的工作,即用电子信息技术对传统产业进行改造,在传统的机电设备上植入或嫁接上微电子(计算机)装置,使“机械”和“电子”技术在浅层次上结合。第二个层次是“提高”工作,即在新产品设计之初,就把“机械”与“电子”统一起来进行考虑,使“机械”与“电子”密不可分,深度结合,生产出来的新产品起码正做到机电一体化。
20世纪70年代末Intel公司推出了MCS-51单片机系列,自此电工电子技术领域便掀起了一股技术革新浪潮,因其品种齐全,兼容性强以及软件资源丰富等诸多优势,30几年以来单片机技术得以迅速发展和广泛应用。走过这30多年的发展历程,虽然曾出现过多种字长的单片机,但目前使用最多的仍是8位单片机。
机械手的发展历史同样不长,但在诸多行业领域已被广泛应用。1959年美国英格伯格和德沃尔制造出世界上第一台工业机器人,机器人的历史才真正开始。机械手的发明要稍早一些,在1954年德沃尔便获得可编程机械手专利,这种机械手臂按程序进行工作,可以根据不同的工作需要编制不同的程序,因此具有通用性和灵活性。目前机械手常作为机床或其他机器的附加装置应用于汽车零件加工和组装等机密制造领域,以及对人类来说工作环境相对恶劣的核工业等。
本次课程设计的产品以迅猛发展的汽车电子为背景,涵盖了控制、模式识别、传感技术、电子、电气、计算机、机械等多个学科;主要由路径识别、角度控制及车速控制等功能模块组成。一般而言,智能车系统要求小车在白色的场地上,通过控制小车的转向角和车速,使小车能自动地沿着一条任意给定的黑色带状引导线行驶。
本次课程设计所做的只是产品的雏形,真正作为商品时需进行一定的包装和改进,但是其原理并不涉及改变的范畴。
在目前国家大力发展智能交通的大形势下,智能小车的出现可谓众望所归。国家ITS研究中心承担一系列项目(包括国家科技攻关专题“智能公路技术跟踪”,国家863课题“智能道路系统信息结构及环境感知与重构技术研究”等)旨在扩大单片机智能控制技术在交通、车辆等领域的发展。而在中国北京和西安举行的智能交通大会和中国“智能车未来挑战”比赛进一步推动智能技术的应用和其市场影响力。
有了支持的有利形势,再看看市场对于以智能小车为代表的嵌入式智能工程系统的需求如何。
或许我们并不知道,让人感觉陌生的嵌入式智能系统已经深深地融入我们的日常生活当中。从数字闹钟到电动牙刷和电动剃须刀;从车内应用门锁、停车传感器、ABS,到行车途中交通控制、雷达测速以及交通流量监视器;从家庭和办公应用中的工厂自动化、照明控制(如荧光灯、镇流器控制、应急灯等),到家庭保健中的植入式心律转复除颤器、胃窥镜等,以及手机、火灾控制系统、烟雾报警器等应用,都有嵌入式智能系统发挥着重要作用。
对如消费、汽车、办公自动化、工业控制和电信等利用单片机驱动的嵌入式应用来说,每年潜在的市场需求量达48亿片,而每年实际的供应量只有3亿片。因此,未来的嵌入式单片机驱动产品市场大有可为。本次课程设计的产品是以嵌入式单片机系统控制小车循迹和机械手摆动抓取,这一种应用方式会不会借单片机市场的东风而抢手起来呢?再来看看机械手的市场如何。
近几年我国机械手的需求量大幅增加,很多企业最近四年在华的销售量超过了前十几年销售量的几倍。如德国CLOOS公司2000年以前在华销售焊接机械手47台,2000年以后的在华销售已经突破121台,销售量翻了近三倍。以前美国是日本机械手最大的进口国,现在中国已成为日本机械手最大的进口国。首钢莫托曼公司到目前为止已为国内用户提供了约一千台机械手。
我国焊接机械手的应用主要集中在汽车、摩托车、工程机械、铁路机车等几个主要行业。汽车是焊接机械手的最大用户,也是最早用户。由于我国基础设施建设的高速发展带动了工程机械行业的繁荣,工程机械行业也成为较早引用焊接机械手的行业之一。近年来由于我国经济的高速发展,能源的大量需求,与能源相关的制造行业也都开始寻求自动化焊接技术,焊接机械手逐渐崭露头角。铁路机车行业由于我国货运、客运、城市地铁等需求量的不断增加,以及列车提速的需求,机械手的需求一直处于稳步增长态势。
经过市场调查、数据统计以及多方讨论预测分析之后,我们可以看到作为嵌入式智能控制系统应用雏形的智能采摘小车,在经过选材和结构优化设计之后,其市场前景颇为乐观,尤以汽车,矿山,水下等恶劣环境,装配、封装等精度要求较高的行业应用需求最大。
1.
2.
3.
4.
5.
6.成本分析
序号 | 组件名称 | 单价(元/个) | 数量 | 价格(元) | 备注 |
1 | 车底盘 | 20 | 1 | 20 | |
2 | 电机支架 | 5 | 2 | 10 | |
3 | 车轮 | 13 | 2 | 26 | |
4 | 12V直流电机 | 45 | 2 | 90 | |
5 | 联轴器 | 6 | 2 | 12 | |
6 | 万向轮 | 2.2 | 1 | 2.2 | |
7 | 黑白线传感器 | 17 | 2 | 34 | |
8 | 控制板 | 200 | 1 | 200 | |
9 | 电机驱动板 | 50 | 1 | 50 | |
10 | 万用板 | 5 | 1 | 5 | |
11 | 避障传感器 | 25 | 2 | 50 | |
12 | 舵机 | 35 | 3 | 105 | |
13 | M3螺栓 | 0.1 | 37 | 3.7 | |
14 | M3螺母 | 0.05 | 48 | 2.4 | |
15 | 铝塑板 | 41.67元/米 | 0.06m | 2.5 | |
16 | 角铝 | 10元/米 | 0.5m | 5 | |
17 | 小型车钻铣床 | 10元/时 | 1时 | 10 | |
18 | 无齿锯 | 10元/时 | 0.5时 | 0.5 | |
19 | 虎钳 | 1元/时 | 0.2时 | 0.2 | |
合计(元) | 628.5元 |
2.
3.
4.
5.
6.
7.项目心得
在这次机械臂设计过程中我们都深刻体会到了团队合作的力量。或许是因为时间比较紧张的缘故吧,也或者是这次的项目是紧接着课程完成就开始了,使本来就对于机器人基础知识掌握的不是很好的我明显开始感觉吃力。但是还好有大家一起帮助,我们的项目顺利完成。在这次项目中,收获了很多,通过全程参与机械臂的制作,使我几乎不用复习便可以去完成几天后的机器人基础的考试;同时手臂设计过程中,如何选材,如何构造,让我们进一步熟悉了机械原理和大学物理的一些知识要点;三维仿真,坐标系建立,种种以前觉得太麻烦的事情在亲自动手之后也不会在觉得怵头了。这样刚刚好,将知识完全的融入到了现实当中,自己考虑成本,自己动手制作样品,自己完成位姿、速度控制,自己检查作品实现的可行性,完全的依靠自己,让自己的成就感油然而生。以后的参加设计工作的我们或许就是这样吧,有些东西其实可以按部就班的,因为自己曾经完成过,所以再去做起来便不再会感觉我所是从。谢谢老师们这几天的辛苦,或许这种感谢不是来的那么深刻,但是当你看到每一位老师总是在我们走之后才离开的话,就会有一些感动吧。总之这次项目,让我体会到了原来我所学习的东西是这样运用在现实当中的,如此具象的呈现在众人面前。
8.参考文献
1.张建民.工业机器人. 北京:理工大学出版社,2003.
2.Jorge Angels. 机器人机械系统原理、理论和算法. 北京:机械工业出版社,2004.
3.范印越. 机器人技术. 北京:电子工业出版社,2000.
4.天津大学编写组. 工业机械手设计基础. 天津:天津科学技术出版社,2005.
5.熊有伦. 机器人技术基础. 武汉:华中科技大学出版社,2002.
1.
2.
3.
4.
5.
6.
7.
8.
9.附录
ORG 0000H ;程序从0地址开始
JMP XUNJI ;跳过中断向量
ORG 000BH ;定时器0中断
JMP ZHD
ORG 0013H ;INT1中断向量
JMP BIZHANG ;执行INT1中断子程序
;====================初始化程序==========================
ORG 0200H
XUNJI: MOV IP,#00000010B ;设定中断优先级
MOV IE,#10001110B ;开EA,ET1,ET0,EX1允许中断
MOV SP,#40H ;设定堆栈地址
MOV SCON,#50H ;串口方式1,允许接受
MOV PCON,#00H ;波特不倍增
MOV R0,#35H ;数据存放地址
MOV TMOD,#22H ;定时器0工作方式2,定时器1方式2,做波特率发生器
MOV TH1,#0FDH ;波特率9600bps
MOV TL1,#0FDH
SETB IT1 ;外中断采用负缘触发
CLR TR1
;=========================循迹程序===============================
SETB P3.4 ;循迹端接口,右输入端
SETB p3.5 ;循迹端接口
SETB P2.5
SETB P2.6
START: CLR p2.2 ;直走
CLR p2.4
SETB p2.3
SETB p2.1
ACALL DELAY2
START1: CLR p2.2 ;直走
CLR p2.4
SETB p2.3
SETB p2.1
RIGHT1: JNB p3.5,TURNR ;寻白线右转
LEFT1: JNB p3.4,TURNL ;寻白线左转
AJMP START1
TURNR: JNB p3.4,STOP ;两个端口均为白线,停止
setb p2.1 ;电机1(左)正转
clr p2.2
clr p2.3 ;电机2(右)制动
clr p2.4
AJMP RIGHT1
TURNL: ;左转
clr P2.1 ;电机1(左)制动
clr P2.2
setb P2.3 ;电机2(右)正转
CLR P2.4
Ajmp RIGHT1
STOP: CLR P2.1
CLR P2.2
CLR P2.3
CLR P2.4
MOV TMOD,#22H ;定时器0工作方式2,定时器1方式2,做波特率发生器
MOV TH0,#0D1H ;定时0.05ms
MOV TL0,#0D1H
ACALL POSE1 ;初始位资舵机角度值
MOV 33H,#20H ;舵机3角度对应值
MOV 34H,#00H ;中断次数
MOV DPTR,#00H ;计20MS的中断次数
SETB TR0 ;开始定时0.05ms
ACALL DELAY ;停留一会儿开始串行查询
SETB TR1 ;开始产生波特率脉冲
ACALL CC ;串行查询
;==================INT1中断子程序//避障=======================
BIZHANG:SETB P3.3 ;避障端接口,输入端,左避障
SETB P1.4 ;避障端接口,输入端,右避障
START2: CLR p2.2 ;直走
CLR p2.4
SETB p2.3
SETB p2.1
C1: JB p3.4,C3 ;两个循迹寻到白线跳出中断
C2: JNB p3.5,RETU
C3: JNB p3.3,urnr ;左端有障碍,跳检测2
JMP urnl
URNr1: ;大概九十度右转
setb p2.1 ;电机1(左)正转
clr p2.2
clr p2.3 ;电机2(右)反转
setb p2.4
ACALL DELAY1
Ljmp C1
URNr: JNB P1.4,urnr1 ;右转
setb p2.1 ;电机1(左)正转
clr p2.2
clr p2.3 ;电机2(右)制动
SETB p2.4
Ljmp C1
URNl: JB P1.4,START2 ;右侧也没有障碍,则直走,否则左转
CLR p2.1 ;电机1(左)制动
CLR p2.2
SETB p2.3 ;电机2(右)正转
CLR p2.4
ACALL DELAY2
ljmp C1
RETU: CLR EX1 ;关中断
LJMP START
RETI
;==================INT1中断子程序//避障结束=======================
;======================定时中断0子程序=====================
ZHD: PUSH ACC
INC 34H
INC DPTR ;中断次数加1
MOV A,34H
CJNE A,31H,DUO1 ;判断舵机1
CLR P0.0
DUO1: CJNE A,32H,DUO2 ;判断舵机2
CLR P0.1
DUO2: CJNE A,33H,DUO3 ;判断舵机3
CLR P0.2
DUO3: MOV A,DPH
CJNE A,#01H,RTN ;比较是否到20MS
MOV A,DPL
CJNE A,#90H,RTN ;比较是否到20MS
MOV DPTR,#00H
MOV 34H,#00H ;中断次数清零
SETB P0.0
SETB P0.1
SETB P0.2
RTN: POP ACC
RETI
;====================定时中断0子程序结束=================
;==============POSE子程序===================
POSE1: ;初始位姿
MOV 31H,#21H ;计算值0AH-0d,1EH-90d,32H-180d,,实际值12-0d,21H-90d,30H-180d
MOV 32H,#22H ;计算值0AH-0d,1EH-90d,32H-180d,,实际值11-0d,22H-90d,40-180d
RET
POSE2: ;过渡位姿,并作为苹果360
MOV 31H,#20H ;舵机1
MOV 32H,#24H ;舵机2
RET
POSE3: ;苹果260
MOV 31H,#1EH ;舵机1
MOV 32H,#27H ;舵机2
RET
;==================POSE子程序结束=====================
;============抓取动作执行程序===============
ZHUAQU: PUSH ACC
PUSH PSW
MOV A,@R0 ;Z坐标保存在35H单元
CJNE A,#H,ZQ1 ;与100比较
ZQ1: JC ZX1 ;比100小,跳260
ACALL POSE2 ;比100大,跳360
AJMP RT
ZX1: ACALL POSE2 ;260转动较大,插入一个过渡
ACALL DELAY2
ACALL POSE3
AJMP RT
RT: POP PSW
POP ACC
RET
;============抓取动作执行程序结束========================
;============抓取过程子程序==============================
CATCH: setb p2.1 ;右转90度
clr p2.2
clr p2.3
setb p2.4
ACALL DELAY2
CLR p2.2 ;直走
CLR p2.4
SETB p2.3
SETB p2.1
MOV A,@R0 ;需根据Y坐标选择delay
CJNE A,#H,DE1 ;与100比较
DE1: JC DE2 ;比100小,跳260
ACALL DELAY
ACALL DELAY1 ;比100大,跳360
AJMP CATCH1
DE2: ACALL DELAY2
ACALL DELAY3
CATCH1: setb p2.2 ;左转90度
clr p2.1
clr p2.4
setb p2.3
ACALL DELAY2
CJNE A,#H,DE3 ;实验时高苹果转角不够
DE3: JC DE4
ACALL DELAY3
ACALL DELAY3
DE4: CLR p2.2 ;直走
CLR p2.4
SETB p2.3
SETB p2.1
MOV 33H,#18H ;手张开
ACALL DELAY2
ACALL DELAY
ACALL DELAY ;需根据700mm已调节
CLR P2.1 ;停车
CLR P2.2
CLR P2.3
CLR P2.4
ACALL DELAY2
MOV 33H,#18H
ACALL DELAY2 ;手张开
ACALL ZHUAQU ;确定苹果位置
ACALL DELAY2
MOV 33H,#20H ;手闭合
ACALL DELAY1
MOV 33H,#18H ;手张开
ACALL DELAY1
ACALL POSE2 ;归位
ACALL DELAY2
ACALL POSE1 ;归位
ACALL DELAY1
MOV 33H,#20H ;手闭合
CLR p2.1 ;后退
CLR p2.3
SETB p2.2
SETB p2.4
ACALL DELAY2
setb p2.2 ;左转90度
clr p2.1
clr p2.4
setb p2.3
ACALL DELAY2
CLR P2.1 ;停车
CLR P2.2
CLR P2.3
CLR P2.4
ACALL DELAY1
ACALL POSE3 ;鞠躬
ACALL DELAY1
ACALL POSE1
AJMP $ ;结束
RET
;============抓取过程子程序结束==============================
;====================延时子程序==========================
DELAY: MOV R2,#0FFH
S1: MOV R3,#0FFH
S2: DJNZ R3,S2
DJNZ R2,S1
RET
DELAY1: MOV R4,#6
A1: ACALL DELAY
DJNZ R4,A1
RET
DELAY2: MOV R5,#3
B1: ACALL DELAY
DJNZ R5,B1
ret
DELAY3: MOV R6,#20H
D1: MOV R7,#0F0H
D2: DJNZ R7,D2
DJNZ R6,D1
RET
;=================延时子程序=============================
;============CC串行查询===========================================
CC: JNB RI,$ ;接受
CLR RI
MOV A,SBUF
MOV @R0,A
MOV SBUF,A ;发送
JNB TI,$
CLR TI
ACALL DELAY
ACALL CATCH
RET
;==========================================================
END