六自由度机械手课程设计.docx
《六自由度机械手课程设计.docx》由会员分享,可在线阅读,更多相关《六自由度机械手课程设计.docx(12页珍藏版)》请在冰豆网上搜索。
![六自由度机械手课程设计.docx](https://file1.bdocx.com/fileroot1/2023-1/23/d08d002f-e5a5-4c91-8eb1-507d69b122a1/d08d002f-e5a5-4c91-8eb1-507d69b122a11.gif)
六自由度机械手课程设计
六自由度机械手设计
课程名称:
机电系统设计
学院:
机械学院专业:
机械设计制造及其自动化
姓名:
学号:
年级:
任课教师:
2012年12月20日
六自由度机械手设计
第一章前言
1.1机器人技术概述
机器人技术是现代机电一体化技术的最高成果,涉及诸多学科,是当代科学技术发展最为活跃的领域之一。
作为应用最为广泛的机器人技术产物,机械手在工业生产中的应用非常普遍。
近年来,由于劳动力成本上升等因素,我国许多企业已经开始将部分生产交给工业机器人处理,特别是在条件较为恶劣的环境,工业机器人发挥了稳定、高效、适应能力强的特点。
机器人技术是二十世纪的一项重要明,它的问世和应用在减轻劳动强度,提高生产率,把人从危险、恶劣环境下劳动替换出来等方面显示出极大的优越性;并且在宇宙、海洋开发及军事技术上具有重要的应用价值,对各类相关学科的发展也有很大的促进作用。
1.2国外机器人技术发展情况
国外机器人领域发展近几年有如下几个趋势:
1.工业机器人性能不断提高(高速度、高精度、高可靠性、便于操做和维修),而单机价格不断下降。
2.机械结构向模块化、可重构化发展。
例如关节模块中的伺服电机、减速机检测系统三位一体化,由关节模块、连杆模块用重组方式构造机器人整机,国外已有模块化装配机器人产品问世。
3.工业机器人控制系统向基于PC机的开放型控制器方向发展,便于标准化、网络化;器件集成度提高,控制柜日渐小巧,且采用模块化结构;大大提高了系统的可靠性、易操作性和可维修性。
4.机器人中的传感器作用日益重要,除采用传统的位置、速度、加速度等传感器外,装配、焊接机器人还应用了视觉、力觉等传感器,而遥控机器人则采用视觉、声觉、力觉、触觉等多传感器的融合技术来进行环境建模及决策控制;多传感器融合配置技术在产品化系统中已有成熟应用。
5.虚拟现实技术在机器人中的作用已从仿真、预演发展到用于过程控制,如使遥控机器人操作者产生置身于远端作业环境中的感觉来操纵机器人。
6.当代遥控机器人系统的发展特点不是追求全自治系统,而是致力于操作者与机器人的人机交互控制,即遥控加局部自主系统构成完整的监控、遥控操作系统,使智能机器人走出实验室进入使用化阶段。
1.3设计任务
本次课程设计实验对象为深圳德普施公司制造的六自由度机械手,该机械手采用电机驱动实现了伸缩、旋转、夹物等动作,共有六个自由度,我们主要对六自由度机械手的物理结构,关节安排,运动分析,驱动电路及程序控制进行研究。
第二章总体设计
2.1整体分析
六自由度机械手由舵机、铝合金支架、单片机、控制板等部分组成,六个舵机分别控制六个转动关节,每个关节设计最大转动角度,以此来控制机械臂的运动范围,机械手应有装夹功能,因此设计一个机械式手钳机构;机械手采用AT89S52微控制器控制舵机的工作,其与80C51产品指令和引脚完全兼容。
用PC机编写好程序后,烧入控制器中,可以实现机械手的旋转、伸缩、装夹等功能。
六自由度机械手实物图如下:
2.2各部分分析
六自由度机械手分为两个部分:
机械部分和电气部分。
机械部分主要是机械手的结构,关节安排,材料选择等;而电气部分主要是机械手的控制选择,运动分析,程序指令,电路布置。
电气部分控制机械部分实现规定的各项运动。
2.2.1机械部分
机械部分由机身、臂部、腕部和手部四个部分组成,共有6个自由度,每个关节都由一个独立的舵机控制,其中J1能够实现机身360°的旋转,臂部J2和J3用来控制机械手在空间的位置,腕部的J4、J5用来控制手部的的姿态,而J6则用来控制机械手手部的开合。
各个关节中,J1和J5为360°转动关节,其余都为受限关节,只能在一定角度内转动。
六自由度机械手的关节布置简图如下,该机械手臂有6个关节,每一个关节的运动控制都是用舵机来实现的,只有一个自由度。
2.2.2电气部分
六自由度机械手电气部分由控制器模块,舵机,串行总线,驱动模块和通讯模块组成。
首先用keil软件编辑程序,调试正确无误后输出.hex格式文件,再用下载好的progisp下载软件将.hex格式文件烧到控制器上,然后运行程序,控制器产生的控制信号传输到舵机控制芯片,由P8X32A-M44分析信号后,发出6个舵机控制信号,通过YE08芯片将其电压放大,传输进舵机控制口,舵机带动各个关节运动,使机械手按照预定的动作运动。
第三章机械结构设计
机械结构是六自由度机械手的本体,其设计应该遵循灵活、简洁的原则。
三维模型简图如下:
3.1底部设计
六自由度机械手底部做成圆盘状,和臂部相连接,对臂部起支撑作用。
底部只做旋转运动,结构虽然简单,但是它能带动机械手臂部做360°旋转,并且圆盘机构比较稳定,承载能力较强,适合于360°运转。
机身设计的要求:
①机身要有足够的刚度、强度和稳定性;②运动要灵活,用于实现升级运动的导向套长度不宜过短,以避免发生卡死现象;③驱动方式要适宜;④结构布置要合理。
3.2臂部设计
六自由度机械手臂部由大臂和小臂组成,具备伸缩功能,共有2个自由度,在运动时,直接承受腕部、手部和工件的载荷,但由于本机械载荷较小,在设计时不用过多考虑此因素,但在进行一般机械设计时,臂部载荷能力的计算非常重要。
臂部是工业机器人的主要执行部件,除支承作用外,它还负责改变手部的空间位置。
臂部设计的基本要求:
①手臂应具有足够的承载能力和刚度;②导向性要好;③重量和转动惯量要小;④运动要平稳、定位精度要高。
3.3腕部设计
工业机器人的腕部是连接手部与臂部的部件,起支承手部的作用。
六自由度机械手的腕部按自由度数目分类,为一个二自由度手腕,由一个B关节和一个R关节组成的BR手腕,这也是最为常见的二自由度手腕;按驱动方式分类,为直接驱动手腕,是将驱动元件直接装在手腕上,这样结构十分紧凑。
3.4手部设计
手部是机械手用来抓握物品的机构,具有一定的人手功能。
在设计手部时,需要充分考虑抓取物品的性质,以此来确定手部结构的样式。
一般手部有以下特点:
①手部与腕部相连处可拆卸;②手部是工业机器人的末端操作器;③手部的通用性较差;④手部是一个独立的部件。
工业机器人的手部有机械钳爪式和吸附式之分。
本次设计采用齿轮传动的机械钳爪式手部,其结构简单,造价低廉,适用于一般场合下的物品夹紧与放松。
第四章电气结构设计
电气部分主要由计算机、AT89S52控制器、舵机驱动模块组成。
在计算机上编写好程序后输出.hex文件格式源程序,将其通过RS-232串行总线载入AT89S52单片机,打开电源开关后由AT69S52产生六路占空比可调的PWM信号,PWM信号输出到舵机,控制舵机按程序规定的步骤运动,从而带动机械手各关节的转动,由此来使机械手完成规定的动作。
由于单片机系统是一个数字系统,其控制信号的变化完全依靠硬件计数,所以受外界干扰较小,整个系统工作可靠。
4.1计算机与AT89S52通信
计算机与AT89S52之间通过串行总线RS-232来联系,它是计算机与单片机之间信息传递的枢纽,一切数据的传输必需由它完成。
本实验只需将用计算机编好的程序通过RS-232串行总线烧入单片机,然后由单片机控制舵机运行即可。
AT89S52为ATMEL所生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器,它与80C51产品指令和引脚完全兼容,因此在嵌入式控制应用系统中应用广泛。
RS232接口是1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。
单片机和RS232的电平标准是不一样的,单片机与电脑串口通信应该遵循下面的连接方式:
在单片机与上位机给出的RS232口之间通过电平转换电路实现TTL电平与RS232电平之间的转换。
AT89S52引脚图
4.2AT89S52控制舵机
单片机控制舵机具有简单、精度高、成本低、体积小的特点,并可根据不同的舵机数量加以灵活应用。
本次实验中AT89S52产生的占空比可调的PWM信号经由驱动模块的接收通道进入信号解调电路进行解调,获得一个直流偏置电压。
该直流偏置电压与电位器的电压比较,获得电压差送入电机驱动集成电路,以驱动电机正反转。
直到电压差为0,电机停止转动。
舵机主要由外壳、减速齿轮组、电机、电位器、控制电路组成。
减速齿轮组由马达驱动,其终端、输出端带动一个线性的比例电位器作位置检测该电位器把转角坐标转换为一比例电压反馈给控制线路板,控制线路板将其与输入的控制脉冲信号比较。
产生纠正脉冲并驱动马达正向或反向地转动,使齿轮组的输出位置与期望值相符,令纠正脉冲趋于为0,从而达到舵机精确定位的目的。
本次实验舵机驱动模块采用的是parallax公司生产的16路舵机控制模块,其包括16路舵机控制线接口、单片机通信接口、舵机驱动电源接口、开关、复位键、控制芯片等部分组成。
AT89S52控制模块与舵机驱动模块
第五章程序分析
六自由度机械手控制程序如下,改变codearmdata[]数组中的数据即可调整各转动副的转动角度。
程序主函数只有最后很小的一部分,主程序通过调用各个子函数完成程序的运行。
这样做可有效的较少主程序的大小,提高程序的运行速度。
首先运行子函数uart_Init(),它主要负责单片机串口中断驱动程序、发送和接收中断信号、初始化串行口和UART波特率函数。
下一个子程序robotmove()主要用于舵机的转角控制。
数组armdata[]中的数据为占空比数,子程序robotmove()通过读取其中的数据改变脉冲宽度而控制舵机。
子程序delay_nms()为各个舵机动作延迟时间控制。
#include
#include
#defineucharunsignedchar
#defineRXDP12
#defineTXDP12
#defineWRDYN44//写延时
#defineRDDYN43//读延时
//延时程序*
voidDelay2cp(unsignedchari)
{
while(--i);//刚好两个指令周期。
}
//往串口写一个字节
voidWByte(ucharin)
{
uchari=8;
TXD=(bit)0;//发送启始位
Delay2cp(183);//发送8位数据位
while(i--)
{
TXD=(bit)(in&0x01);//先传低位
Delay2cp(176);
in=in>>1;
}
//发送校验位(无)
TXD=(bit)1;//发送结束位
Delay2cp(190);
}
//从串口读一个字节
ucharRByte(void)
{
ucharOut=0;
uchari=8;
uchartemp=RDDYN;//发送8位数据位
while(RXD);
Delay2cp(187);//此处注意,等过起始位
Delay2cp(94);
while(i--)
{
Out>>=1;
if(RXD)
Out|=0x80;//先收低位
Delay2cp(179);//(96-26)/2,循环共占用26个指令周期
}
while(--temp)//在指定的时间内搜寻结束位。
{
Delay2cp
(1);
if(RXD)
break;//收到结束位便退出
}
returnOut;
}
intmotormove(charchannel,charramp,intposition)
{
unsignedchari;
ucharcmd[8]="!
SC";
cmd[3]=channel;
cmd[4]=ramp;
cmd[5]=position;
cmd[6]=position>>8;
cmd[7]=0x0D;
for(i=0;i<8;i++)
{
WByte(cmd[i]);
}
}
//BseBcptelbwwrstwrstRgrppr
intcodearmdata[]={750,800,800,540,750,650,
550,800,800,540,750,650,
550,800,700,540,750,550,
550,800,700,540,750,550,
900,800,700,540,750,550,
900,800,600,540,750,1200,
900,800,600,540,750,1200,
900,800,600,540,750,1200,
750,800,900,540,750,1200,
750,800,900,540,750,1200,
750,800,900,540,750,550,
450,800,900,540,750,550,
450,800,900,540,750,650,
450,800,900,540,750,650,
750,800,800,540,750,650,0xff};
intcodedelay[]={20,20,15,20,30,10,10,10,30,20,10,30,10,10,10};
introbotmove(inti,int*movedata)
{
ucharj;
while(*movedata!
=0xff)
{
for(j=0;j
{
motormove(0x00,15,*movedata++);
delay_nms(delay[j/6]);
motormove(0x01,15,*movedata++);
delay_nms(delay[j/6]);
motormove(0x02,15,*movedata++);
delay_nms(delay[j/6]);
motormove(0x03,12,*movedata++);
delay_nms(delay[j/6]);
motormove(0x04,15,*movedata++);
delay_nms(delay[j/6]);
motormove(0x05,15,*movedata++);
delay_nms(delay[j/6]);
delay_nms(2000);//让所有动作执行完
}
}
}
intmain(void)
{
uart_Init();
robotmove(90,armdata);
delay_nms(100);
}
机电系统设计任务书
学生信息
学号
学院
机械工程
班级
姓名
专业
机械设计制造及其自动化
任务书发出时间
2012年10月8日
论文(设计)题目
六自由度机械手设计
主要内容:
1.以某XY工作台或6自由度机械手为设计对象,提出其传动机构及其传动控制系统的总体方案;
2.提出传动机构及其控制系统的具体实施方案;
3.画出所选方案的结构简图;
4.根据所选方案,设计其控制与驱动系统的电气原理图;
5.设计XY工作台的一到两个插补运动或6自由度机械手的部分控制驱动程序,用所设计的控制驱动程序实现指定轨迹的运动,并调试程序设计结果。
主要要求:
1.结构与传动链的方案设计合理可行;
2.驱动控制系统方案合理;
3.驱动程序能实现预定轨迹的运动。
4.借助各种简图结合文字说明设计成果,符合逻辑,文理通顺,思路明确。
预期目标:
1.培养学生运用机电系统专业知识分析问题与解决问题的能力;
2.培养学生对机电系统的分析与初步设计能力;
3.培养学生独立思维和独立研究的能力;
4.培养学生具备机电系统设计与操控的基本实践技能;
5.形成较有价值的设计成果。