六自由度机器人报告书

上传人:细水****9 文档编号:64686209 上传时间:2022-03-22 格式:DOC 页数:24 大小:3.22MB
收藏 版权申诉 举报 下载
六自由度机器人报告书_第1页
第1页 / 共24页
六自由度机器人报告书_第2页
第2页 / 共24页
六自由度机器人报告书_第3页
第3页 / 共24页
资源描述:

《六自由度机器人报告书》由会员分享,可在线阅读,更多相关《六自由度机器人报告书(24页珍藏版)》请在装配图网上搜索。

1、六自由度机械手设计课程名称: 机电系统设计 学 院: 机械工程学院 专 业:机械设计制造及其自动化姓 名: 学 号: 年 级: 任课教师: 2013年 1 月 5 日目 录第一章 绪论.31.1 工业机械手的介绍31.2 工业机械手应用前景. 3第二章 六自由度机械手系统简介52.1、机械手系统简介.52.2、机械手系统的组成及其控制过程.52.3 六自由度机械手总体方案框图设计.6第三章 机器手的机械系统.73.1、机械系统结构简图.73.2、关节布置和结构特点.9第四章 机械手的控制系统.104.1 控制系统.104.1.1 控制系统的基本组成框图104.1.2 晶振电路 114.1.3

2、AT89S52单片机124.2 驱动系统134.2.1 L298N芯片134.3 控制系统整体接线图.16第五章 总结.17第六章 程序.18参考文献 24 第一章 绪论1.1 工业机械手的介绍随着现代科技和现代工业的发展,工业的自动化程度越来越高。工业的自动化中机械手发挥了相当大的作用,小到机床的自动换刀机械手,大到整个的全自动无人值守工厂,无一不能看到机械手的身影。机械手在工业中的应用可以确保运转周期的连贯,提高品质。另外,由于机械手的控制精确,还可以提高零件的精度。机械手在工业中的应用十分广泛,如: 1、以提高生产过程中的自动化程度 应用机械手有利于实现材料的传送、工件的装卸、刀具的更换

3、以及机器的装配等的自动化的程度,从而可以提高劳动生产率和降低生产成本。 2、以改善劳动条件,避免人身事故在高温、高压、低温、低压、有灰尘、噪声、臭味、有放射性或有其他毒性污染以及工作空间狭窄的场合中,用人手直接操作是有危险或根本不可能的,而应用机械手即可部分或全部代替人安全的完成作业,使劳动条件得以改善。 在一些简单、重复,特别是较笨重的操作中,以机械手代替人进行工作,可以避免由于操作疲劳或疏忽而造成的人身事故。 3、可以减轻人力,并便于有节奏的生产 应用机械手代替人进行工作,这是直接减少人力的一个侧面,同时由于应用机械手可以连续的工作,这是减少人力的另一个侧面。因此,在自动化机床的综合加工自

4、动线上,目前几乎都设有机械手,以减少人力和更准确的控制生产的节拍,便于有节奏的进行工作生产。 1.2 工业机械手应用前景 工业机械手是近几十年发展起来的一种高科技自动化生产设备。工业机械手的是工业机器人的一个重要分支。它的特点是可通过编程来完成各种预期的作业任务,在构造和性能上兼有人和机器各自的优点,尤其体现了人的智能和适应性。机械手作业的准确性和各种环境中完成作业的能力,在国民经济各领域有着广阔的发展前景。 机械手是在机械化,自动化生产过程中发展起来的一种新型装置。在现代生产过程中,机械手被广泛的运用于自动生产线中,机械人的研制和生产已成为高技术邻域内,迅速发殿起来的一门新兴的技术,它更加促

5、进了机械手的发展,使得机械手能更好地实现与机械化和自动化的有机结合。机械手虽然目前还不如人手那样灵活,但它具有能不断重复工作和劳动,不知疲劳,不怕危险,抓举重物的力量比人手力大的特点,因此,机械手已受到许多部门的重视,并越来越广泛地得到了应用第二章 六自由度机械手系统简介2.1、机械手系统简介机械手是一种具有高度的能动性和高度灵活性的自动化机器,是一种复杂的机电一体化设备。本实验采用AT89S52单片机直接控制,但单片机的输出电流太小,不能直接与步进电机相连,需要增加驱动电路,通过驱动电路形成控制系统,通过控制电机的转动角度,以实现机械手的不同功能。该机器手采用串联式开链结构,机器手各连杆由旋

6、转关节关节串联连接,各关节轴线相互平行或垂直。关节的作用是使相互联接的两个连杆产生相对运动。机器手各关节采用步进电机驱动,并通过软件编程和单片机实现对机器人的控制,使机器手能够在工作空间内任意位置精确定位。2.2、机械手系统的组成及其控制过程实验机械手由6个步进电机组成,实现机械手六自由度运动。以AT89S52单片机作为系统控制核心,基于软件模拟串行通信程序,实现AT89S52串行通信,使其与电机驱动系统进行串行通信,同步的、连续的、精确的控制步进电机的转动,以实现精确定位、连续动作。该机械手主要由三大部分组成:(1)执行系统:底座、铝质手臂、末端夹取装置等组成。(2)驱动系统:光电耦合器,功

7、率放大器,脉冲发生器等组成。(3)控制系统:AT89S52单片机,晶振电路等组成。机械手系统具体的操作过程:在计算机上编号程序,利用keil软件编译生成hex文件,通过转串口下载线将计算机USB端口与机械人的控制主单元AT89S52单片机的下载端口连接,使用转串口烧程序软件将编好的程序下载烧录到单片机中,AT89S52单片机产生PWM脉冲控制驱动系统,通过驱动系统在各个端口产生PWM信号,利用占空比的不同驱动六个关节的电机到指定的位置,实现机械手到不同位置,不同姿态的控制。2.3 六自由度机械手总体方案框图设计 根据系统要求画出基于AT89S52单片机控制的总体方案框图如图2-1所示:图2-1

8、第三章 机器手的机械系统3.1、机械系统结构简图该机器手的机械部分主要由三大部分构成:机座、手臂(包括手腕)、手部(末端操作器)。如图3-1所示:图3-1三维机械结构简图(1)、机座:机座是机械手的基础部分,机械手执行机构的各部件和驱动系统均安装于机座上,故起支撑和连接的作用。该实验中所用机器手机座用于实现回转运动,有一个自由度,如图3-2所示。图3-2(2)、手部:即与物件接触的部件。由于与物件接触的形式不同,可分为夹持式和吸附式手在本课题中我们采用夹持式手部结构。夹持式手部由手指(或手爪)和传力机构所构成。手指是与物件直接接触的构件,常用的手指运动形式有回转型和平移型。回转型手指结构简单,

9、制造容易,故应用较广泛。平移型应用较少,其原因是结构比较复杂,但平移型手指夹持圆形零件时,工件直径变化不影响其轴心的位置,因此适宜夹持直径变化范围大的工件。手指结构取决于被抓取物件的表面形状、被抓部位(是外廓或是内孔) 和物件的重量及尺寸。常用的指形有平面的、V形面的和曲面的:手指有外夹式和内撑式;指数有双指式、多指式和双手双指式等。而传力机构则通过手指产生夹紧力来完成夹放物件的任务。传力机构型式较多时常用的有:滑槽杠杆式、连杆杠杆式、斜面杠杆式、齿轮齿条式、丝杠螺母弹簧式和重力式等。该实验中的手爪为外夹钳爪式手部的夹取方式的平行连杆式钳爪。如图3-3所示。图3-3(3)、手臂:手臂是支承被抓

10、物件、手部、手腕的重要部件。手臂的作用是带动手指去抓取物件,并按预定要求将其搬运到指定的位置.工业机械手的手臂通常由驱动手臂运动的部件(如油缸、气缸、齿轮齿条机构、连杆机构、螺旋机构和凸轮机构等)与驱动源(如液压、气压或电机等)相配合,以实现手臂的各种运动。手腕是连接手部和手臂的部件,并可用来调整被抓取物件的方位(即姿势)。该实验中机器手有上臂和前臂实现两个俯仰运动两自由度如图3-4所示。图3-43.2、关节布置和结构特点关节布置如图3-5所示。图3-5该机械手的关节都是转动副,只有一个自由度。前三个关节为机械手臂的定位关节,决定了机械手腕在空间的位置和作业范围;手腕两个关节为机械手臂的定向机

11、构,决定了机械手腕在空间的方向和姿态;机械手臂关节用于控制机械手抓握工件。第四章 机械手的控制系统4.1 控制系统机器人控制器系统是用来收集和处理各路信号,并根据各种信号发出相应控制指令,根据指令以及传感信息控制机器人完成一定动作或作业任务的装置。控制器是机器人的核心部分,它的智能化发展也必将标志着智能机器人的发展。4.1.1 控制系统的基本组成框图基于AT89S52单片机的控制步进电机的控制框图如图4-1所示。图4-11、其系统实物组成图如图4-2、图4-3所示:图4-2图4-32、控制系统硬件结构组成如图4-4所示:图4-4串行接口,用于连接到计算机下载程序;ISP接口;电源接口;三位开关

12、;绿色LED电源指示灯;AT89C52单片机;“Reset”复位按钮;面包板;专用电机控制接口插座,用来连接到电机控制器上从而控制电机的运动;4.1.2 晶振电路 晶振是晶体振荡器的简称。它是一种能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,精确的单频振荡,通过基准频率来控制电路中的频率的准确性。AT89S52单片机有一个用于构成内部振荡器的反相放大器,XTAL1 和XTAL2 分别是放大器的输入、输出端。石英晶体和陶瓷谐振器都可以用来一起构成自激振荡器。 晶振模块自带振荡器、提供低阻方波输出,并且能够在一定条件下保证运行。最常用的两种类型是晶振模块和集成RC振荡器(硅振荡器)

13、。晶振模块提供与分立晶振相同的精度。硅振荡器的精度要比分立RC振荡器高,多数情况下能够提供与陶瓷谐振槽路相当的精度。 图4-5为晶振电路。图4-54.1.3 AT89S52单片机AT89S52单片机,是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、有效的解决方案。AT89S52引脚结构图如图4-5所示:图

14、4-64.2 驱动系统驱动系统的作用是控制步进电机的旋转角度和运转速度,以此来实现对占空比的控制,达到对怠速的控制。其中包括光电耦合器,功率放大器,脉冲发生器等。4.2.1 L298N芯片L298N芯片内部包含4通道逻辑驱动电路。是一种二相和四相电机的专用驱动器即内含二个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,可驱动46V、2A以下的电机。本实验中L298N起到功率放大作用。其外部管脚见图4-7、图4-8所示。图4-7图4-8功率放大电路如图4-9所示。图4-94.3 控制系统整体接线图1、整个系统的信息流动方向如图4-11所示:图4-112、系统接线图如图4-12所示图

15、4-12第五章 总结有了前面对该实验的分析了解,这次做起来就容易多了,先对它的机械结构进行分析并且绘出了它的结构简图,其次从动作设计、软件调试、动作调试,最终经过长时间的调试改进、动作测试,确定了最终的控制程序。其间需要考虑很多问题,比如:各连杆之间是否会发生干涉,每个连杆的转动或移动的范围。最后,我们把程序烧录到单片机上,是机械手运动了起来。这次实验同时涉及单片机及舵机控制的运用,需要我们对单片机的通信和舵机控制性能有一定的了解,还涉及到的是编写程序,需要我们对编程语言有所掌握,以及各个关节间的相互协调动作,所以这次实验对我们来说是一个比较综合的实验。通过这次试验,我发现自己所掌握的知识远远

16、不够,而且不能把理论很好的运用到实践中去,而且实验设备也出现很多的问题。虽然现在还是有很多东西不清楚,但是对于类似的机械设备的运动控制不再陌生了。总体来讲,通过本次实验,我的收获还还蛮多的。第六章 程序使用该机械手时,应先用电机调试程序调试各个电机,若正常。可进行下一步实验。所以,有2个程序:电机调试程序、抓取物体程序或者任意动作程序。本次实验编写的任意动作程序为:肘部电机运动,其余电机不动程序。电机调试程序如下:#include#include#define uchar unsigned char#define RXD P1_2#define TXD P1_2#define WRDYN 44

17、 /写延时#define RDDYN 43 /读延时/延时程序*void Delay2cp(unsigned char i) while(-i); /刚好两个指令周期。/往串口写一个字节void WByte(uchar in ) uchar i=8; TXD=(bit)0; /发送启始位 Delay2cp(183); /发送8位数据位 while(i-) TXD=(bit)(in &0x01); /先传低位 Delay2cp(176); in =in 1; /发送校验位(无) TXD=(bit)1; /发送结束位 Delay2cp(190);/从串口读一个字节uchar RByte(void)

18、 uchar Out =0; uchar i=8; uchar temp=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; /收到结束位便退出 return Out ; int motormove(char channel, cha

19、r ramp, int position) unsigned char i; uchar cmd8 =!SC; cmd3 = channel; cmd4 = ramp; cmd5 = position; cmd6 = position8; cmd7 = 0x0D; for(i=0; i8; i+) WByte(cmdi); / Bse Bcpt elbw wrst wrstR grppr int code armdata= 800, 800, 800, 540, 750, 1000,/5号电机 800, 800, 800, 540, 750, 900, 800, 800, 800, 540,

20、750, 950,/4号电机 800, 800, 800, 540, 800, 950, 800, 800, 800, 540, 700, 950, 800, 800, 800, 540, 750, 950,/3号电机 800, 800, 800, 590, 750, 950, 800, 800, 800, 490, 750, 950, 800, 800, 800, 540, 750, 950,/2号电机 800, 800, 850, 540, 750, 950, 800, 800, 750, 540, 750, 950, 800, 800, 800, 540, 750, 950,/1号电机

21、800, 850, 800, 540, 750, 950, 800, 750, 800, 540, 750, 950, 800, 800, 800, 540, 750, 950,0xff;/0号电机不动int code delay = 20,20,15,20,30,10,10,10,30,20,10,30,10,10,20;int robotmove(int i, int* movedata) uchar j; while(*movedata!=0xff) for(j=0; ji; j+=6) motormove(0x00,15,*movedata+); delay_nms(delayj/6)

22、; motormove(0x01,15,*movedata+); delay_nms(delayj/6); motormove(0x02,15,*movedata+); delay_nms(delayj/6); motormove(0x03,12,*movedata+); delay_nms(delayj/6); motormove(0x04,15,*movedata+); delay_nms(delayj/6); motormove(0x05,15,*movedata+); delay_nms(delayj/6); delay_nms(2000); /让所有动作执行完 int main(vo

23、id) uart_Init();robotmove(90,armdata); delay_nms(100);肘部电机运动程序:#include#include#define uchar unsigned char#define RXD P1_2#define TXD P1_2#define WRDYN 44 /写延时#define RDDYN 43 /读延时/延时程序*void Delay2cp(unsigned char i) while(-i); /刚好两个指令周期。/往串口写一个字节void WByte(uchar in ) uchar i=8; TXD=(bit)0; /发送启始位 D

24、elay2cp(183); /发送8位数据位 while(i-) TXD=(bit)(in &0x01); /先传低位 Delay2cp(176); in =in 1; /发送校验位(无) TXD=(bit)1; /发送结束位 Delay2cp(190);/从串口读一个字节uchar RByte(void) uchar Out =0; uchar i=8; uchar temp=RDDYN; /发送8位数据位while ( RXD ); Delay2cp(187); /此处注意,等过起始位Delay2cp(94); while(i-) Out =1; if(RXD) Out |=0x80; /

25、先收低位 Delay2cp(179); /(96-26)/2,循环共占用26个指令周期 while(-temp) /在指定的时间内搜寻结束位。 Delay2cp(1); if(RXD) break; /收到结束位便退出 return Out ; int motormove(char channel, char ramp, int position) unsigned char i; uchar cmd8 =!SC; cmd3 = channel; cmd4 = ramp; cmd5 = position; cmd6 = position8; cmd7 = 0x0D; for(i=0; i8;

26、i+) WByte(cmdi); / Bse Bcpt elbw wrst wrstR grppr int code armdata = 450, 800, 800, 540, 750, 1250,/不动 450, 800, 800, 540, 750, 1250,/不动 450, 800, 650, 540, 750, 1250,/逆时针转动 450, 800, 650, 540, 750, 1250,/不动 450, 800, 800, 540, 750, 1250,/顺时针转动 450, 800, 650, 540, 750, 1250,/逆时针转动 450, 800, 650, 540

27、, 750, 1250,/不动 450, 800, 800, 540, 750, 1250,/顺时针转动 450, 800, 630, 540, 750, 1250,/逆时针转动 450, 800, 640, 540, 750, 1250,/顺时针只是 450, 800, 800, 540, 750, 1250,/顺时针转动 450, 800, 800, 540, 750, 1250,/不动 450, 800, 640, 540, 750, 1250,/逆时针转动 450, 800, 640, 540, 750, 1250,/不动 450, 800, 800, 540, 750, 1250,0

28、xff;/顺时针转动int code delay = 20,20,15,20,30,10,10,10,30,20,10,30,10,10,10;int robotmove(int i, int* movedata) uchar j; while(*movedata!=0xff) for(j=0; ji; j+=6) motormove(0x00,15,*movedata+); delay_nms(delayj/6); motormove(0x01,15,*movedata+); delay_nms(delayj/6); motormove(0x02,15,*movedata+); delay_

29、nms(delayj/6); motormove(0x03,12,*movedata+); delay_nms(delayj/6); motormove(0x04,15,*movedata+); delay_nms(delayj/6); motormove(0x05,15,*movedata+); delay_nms(delayj/6); delay_nms(2000); /让所有动作执行完 int main(void) uart_Init();robotmove(90,armdata); delay_nms(100);参考文献1、2、 韩建海 工业机器人第二版 华中科技大学出版社 2012年6月3、 张建民 机电一体化系统设计修订版 北京理工大学出版社 2012年5月4、 六自由度机械手用户手册 AT89S52_cn (试验自带的手册)5、

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!