六自由度机械手实验报告

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

六自由度机械手实验报告学院:机械工程学院专业:机械设计制造及其自动化班级:机自114学号:11080303学生姓名:郭2014年12月30日六自由度机械手实验报告一、机械手介绍六自由度机器手是由六个关节组成,每个关节上安装一个电动机,通过控制每个电动机旋转,就可以实现机械手臂的空间运动。本实验做的六自由度的机械手臂是能实现物品的抓取和移位的机械自动控制机构。该六自由度机械手臂的底座能进行大角度转动,实现机械抓取物体的移位;关节的俯仰和摆动能实现机械手臂不同位置的抓取物体;手部关节部分关节的变换,手腕的末端安装一机械手,机械手具有开闭能力,能实现物体的抓取和放下。每个关节自由度都是用电动机转动来实现机械手臂的转动、俯仰和摆动等运动。六自由度机械手臂每个关节处都有一个小型电机控制,分别能实现个关节的转动、俯仰等动作。各个电机用采用AT89S52单片机片控制,通过单片机输出程能实现六个电机按照规定角度运动,从而带动关节的运动。二、机械手的结构1、机械部分本实验中六自由度机械手的机械系统包括机身、臂部、手腕、手部。图1机械手臂的实物图图2机械手臂的结构简图系统共有6个自由度,分别是a.基座的回转、b.连杆一转动、c.连杆二转动、d..手腕转动、e.手腕旋转、f..手部开合。前面三个关节确定手部的空间位置,后面三个关节确定手部的姿态。图3自由度2、控制部分1、人机通信模块控制系统是机器人的大脑,它的性能优劣直接影响到机器人的先进程度和功能强弱。机械人控制涉及自动控制,计算机,传感器、人工智能、电子技术和机械等多学科的内容,是一项跨多个学科的综合性技术。本实验机器人控制系统的硬件由单片机AT89S52、运动控制模块、驱动模块和通讯模块组成。其单片机AT89S52模块如下图3.1所示,该模块由一块AT89S52单片机、串行口通信接口、转串口下载线连接接头、电源接口、开关、信号输出口Q等组成。图4单片机AT89S52模块图2、舵机驱动模块该舵机驱动模块采用的是parallax公司生产的16路舵机控制模块,其包括16路舵机控制线接口、单片机通信接口、舵机驱动电源接口、开关、复位键、控制芯片等部分组成。具体如图3.2所示:图5舵机控制模块3、工作方式为(1)在PC机上用keil软件编号程序,并调试正确输出.hex文件格式。这就得到了可供下载到单片机的源程序。(2)用转串口下载线将计算机USB口与单片机ISP下载接口连接,用progisp下载软件将编号的.hex格式文件下载到单片机上(ISP下载接口如图3.3)。图6ISP下载接口(3)运行程序,单片机产生控制信号,经P1.2口传输到舵机控制芯片的信号输入端口,经P8X32A-M44对信号的分析,然后产生6个舵机控制信号,通过个YE08芯片将其电压放大,进入各个舵机控制口,控制各个舵机的动作,从而实现机械手的动作控制,完成预定的动作。具体控制电路如图3.4所示:图7控制模块的类似原理图三、运动程序运动程序如下,要实现不同的运动,修改对应的黑体字参数即可。#includeBoeBot.h#includeuart.h#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=in1;}//发送校验位(无)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]=position8;cmd[7]=0x0D;for(i=0;i8;i++){WByte(cmd[i]);}}//BseBcptelbwwrstwrstRgrpprintcodearmdata[]={750,800,800,540,750,1250,750,800,800,540,750,1250,930,800,800,540,750,550,930,800,800,540,750,550,930,800,800,540,750,550,940,800,800,540,750,550,940,800,800,540,750,550,940,800,800,540,750,550,940,800,800,540,750,550,750,800,800,540,750,1250,750,800,800,540,750,1250,750,800,800,540,750,1250,800,800,800,540,750,1250,750,800,800,540,750,1250,750,800,800,540,750,1250,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;ji;j+=6){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);四.总结今年我们开了《工业机器人》这门课,所以这个实验也就加深了我们对工业机器人的了解和控制。无论是在关节布置上,还是在手部设计上,应该说对机械手臂有了一个比较具体的认识。这次设计性实验同时也涉及单片机的运用和控制,主要涉及到的是编程,需要我们对编程语言的了解和认识,还有对单片机的通信有一点的了解,这里面还涉及到了舵机控制,对舵机控制性能的了解,以及各个关节间的相互协调动作,所以这个设计实验对我们来说是一个比较综合的实验,同时锻炼了我们很多知识。

1 / 9
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功