工业机器人实验报告Word格式文档下载.docx
- 文档编号:851659
- 上传时间:2023-04-29
- 格式:DOCX
- 页数:23
- 大小:2.02MB
工业机器人实验报告Word格式文档下载.docx
《工业机器人实验报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《工业机器人实验报告Word格式文档下载.docx(23页珍藏版)》请在冰点文库上搜索。
部的360度旋转,以便于机械手能夹取不同方向的物件;
同时电机6固定在手部上,用来控制手爪的伸张程度从而来夹取不同尺寸形状大小的物体。
此六自由度机械手臂的特点:
1.手部和手腕连接处可拆卸,手部和手腕连接处为机械结构。
b.手部是机械手臂的末端操作器,只能抓握一种工件或几种在形状、尺寸、质量等方面相近似的工件,只能执行一种作业任务。
c.手部是决定整个机械手臂作业完成好坏,作业柔性好坏的关键部件之一。
此机械手臂的手爪是机械钳爪式类别中的平行连杆式钳爪。
一个交流电动机驱动,一对齿轮啮合传动实现手爪的张开和闭合。
2重要零件的介绍:
图7
小弹簧是必须的,它可以抵消手臂前向的作用力使关节3的电机能够达到提起的最大位置。
三控制系统的分析
1教学版的介绍
在六自由度机械手臂中我们采用的开环控制系统,因为没有反馈线路和传感检测器;
主要是通过计算机编程,用AT89S52单片机根据所编制的程序来控制机械手臂的运动;
控制系统主要就是由单片机教学版和电机控制器组成,我们所用的六自由度机械手臂其电路图如下;
①—串行接口用来连接到计算机下载程序;
②—ISP接口,为程序下载器与1有区别;
③—电源接口;
④—三位开关,用来控制教学版的通断电;
⑤—绿色LED电源指示灯;
⑥—AT89S52单片机;
⑦—“Reset”按钮;
⑧—面包板;
⑨—专用电机控制接口插座,用来连接到电机控制器上从而控制电机的运动;
l连接单片机教学板ISP接口到计算机,以便程序下载;
l连接单片机教学板串行接口到计算机,以便调试和交互;
l连接机器人到电池或者是供电电源。
2AT89S52介绍
C51宝贝车机器人采用了AT89S52,不需要仿真机,编程机运用ISP(IN-systemprogrammable)的可反复擦写1000次以上,配置十分灵活,可扩展性特别强。
其上的AT89S52的引脚情况如图9所示。
图10 AT89S52引脚图
图9是51标准的40引脚双列直插式集成电路芯片:
P0.0~P0.7,P0口8为双向口线(在引脚的39~32号端子);
P1.0~P1.7,P1口8为准双向口线(在引脚的1~8号端子);
P2.0~P2.7,P2口8为准双向口线(在引脚的21~28号端子);
P3.0~P3.7,P3口8为多用途(在引脚的10~17号端子);
P0口有两个功能:
当外部扩展存储器时,当做低8位数据/地址总线来使用;
不扩展时,可做一般的I/O使用,但内部无上拉电阻,作为输入和输出时应在外部接上拉电阻。
P1口只做I/O口使用;
其内部有上拉电阻。
P2口有两个功能:
当扩展外部存储器使用时,当作地址总线高八位使用;
不扩展时做一般I/O口使用期内部有上拉电阻。
P3口有两个功能:
除了作为I/O口使用外(其内部有上拉电阻),还有一些特殊功能,由特殊寄存器来设置。
3教学板与电机控制器
教学板与电机控制器连接后好,开通电源就可以根据所编制的程序来控制机械手运动了,其简图如下:
教学板上的电机专用接口,WRB,三个接口分别与电机控制器上的WRB接口对应连接,电机控制器上的p0~p6口分别与6个电机相连来分别控制电机的运动。
单片机根据所编制的程序控制电机控制器,点击控制其根据要求来控制各个电机的运动;
然后将三位教学板的电池装上,将三位开关拔到1,将电机控制器的开关拔到ON,我们就可以看到六自由度机械手能根据要求运动。
教学板与电机控制器连接图
4运动程序
根据控制要求编制的程序如下:
intcodearmdata[]={750800,800,540,750,1250,
450,800,800,540,750,1250,
450,550,650,900,750,1250,
450,450,650,950,750,550,
450,800,800,540,750,550,
450,550,650,950,750,550,
450,450,650,990,750,1250,
450,550,630,1000,750,1250,
450,450,640,1000,750,550,
450,800,800,540,750,550,
450,
640,
1000,
750,
550,
950,
1250,
800,
540,
0xff};
五小结
在对工业机器人这门课程的学习后,学校教学计划开设该实验。
我们经过两个星期的实验和探索,并且在老师的讲解以及师兄和同学的帮助协作下,我们基本完成了实验的要求和目的;
通过这次实
验我们掌握了六自由度机械手的基本物理结构和运动原理,深入了解了单片机的编程,复习和编写、调试C语言程序;
同时掌握相关软件的操作使得程序能够烧入单片机(我们懂得怎样去操作头文件和文件的操作,了解和基本熟悉了keil软件,把C语言程序编译成.hex后缀的程序,然后再通过烧入软件烧入单片机)。
通过调整程序中的不同坐标值得到不同的运动,这次实验不仅让我们真实地去了解了六自由度机械手、单片机以及相关软件,更让我们在自己的实践和探索中学到了怎样去学习,怎样获取我们需要的材料等等,总的来说,这次试验的收获挺大的。
数控机床工作台实验报告
一数控机床十字工作台伺服系统结构的介绍
在本次实验中我们接触的是数控机床十字工作台也是X-Y工作台,数控十字工作台也主要包括两个部分,机械部分和控制部分,在机
械系统部分主要有滚珠丝杆副,导轨副,步进电机,工作台等组成;
其控制系统我们所用的机床是用的是开环伺服系统,主要包括驱动器
(缓行脉冲分配器和功率放大器),微机等组成该工作台结构简单通过微机技术的简单应用,实现对机床工作台的控制,实现了了X-Y工作台的自动化,大大的减轻了劳动强度,提高生产效率,其功能也远远高于普通的工作传统工作台.
二工作台机械系统的介绍
实验中我们用的工作台机械系统主要包括步进电动机X2,滚珠丝杆副X2,联轴器,导轨,支撑座,轴承,其机械结构简图如下图所示:
机械结构简图
图中为保证传动精度和平稳性以及结构的紧凑,我们用的是滚珠丝杠螺母传动副,而且滚珠丝杠副具有轴向刚度高能通过适当预紧可消除丝杠与螺母之间的轴向间隙,不易磨损等优点,运动平稳,是用寿命长等优点;
支承座采用的是固定支承式用的是深沟球轴承和向心轴承;
因为工作台作为实验用运动部件重量和工作载荷都很小载荷几
乎没有,实验台用的是直线滚动导轨副提高运动平稳性和减少工作台的摩擦系数;
在该工作台中分别用两个步进电机控制两个丝杠副运动,分别控制X方向和Y方向的运动,控制系统根据用户编制的程序的要求,发出脉冲型号控制两个步进电机,让两个工作台运动,从而实现了X-Y一体化的功能。
三控制系统的介绍
在实验中我们用的数控机床工作台伺服系统所用的是开环伺服系统;
全闭环控制系统,结构复杂技术难度大,成本高;
半闭环控制,调试比开环控制要困难,而其结构也相对复杂;
经综合考虑要求经济性,而且运动精度要求不高,为简化结构和降低成本,所以我们选用的开环伺服结构;
在实验中我们使用的工作台控制系统如下图:
丝杠Y
控制系统的实物简图
微机cpu
驱动器
光电隔离
功率放大电路
电机Y
电机x
丝杠X
开环控制的系统框图:
开环控制的框图
控制系统的电器图
控制系统电器简图
因为开环系统我们采用的是步进电机,步进电机的运行特性与配套使用的驱动电源(驱动器)有密切关系。
驱动电源由脉冲分配器,功率放大器等组成。
驱动电源是将变频信号源(微机)送来的脉冲信号及方向信号按要求的配电方式自动地循环供给电动机的各相绕组,以驱动电动机转子的正反向旋转。
环行脉冲分配器:
步进电机的各相绕组必须按一定的顺序通电才能正常工作,使电动机绕组的通电顺序按一定规律变化;
功率放大器:
从计算机输出口或从环行分配器输出的信号脉冲电流一般只有几个毫安,不能直接驱动步进电动机运转,功率放大器将脉冲电流进行放大,使其增大到几至十几安培,来驱动电机运转;
4程序
//*******设置默认初始速度为1000 *********
m_nStartvX
=
1000;
m_nStartvY
m_nStartvZ
m_nStartvA
//*********设置默认驱动速度为2000********
m_nSpeedX
2000;
m_nSpeedY
m_nSpeedZ
m_nSpeedA
//*********设置默认加速度为1500**********
m_nAddX
1500;
m_nAddY
m_nAddZ
m_nAddA
//********设置默认目标位置为100000******
m_nPulseX
100000;
m_nPulseY
m_nPulseZ
m_nPulseA
//***********设置加速时间***************
m_dTaccX
0.1;
m_dTaccY
m_dTaccZ
m_dTaccA
//*********设置延时时间为0************m_nDelayTime=0;
UpdateData(FALSE);
//***********启动定时器*************SetTimer(MAINTIMER,100,NULL);
returnTRUE;
//returnTRUE unlessyousetthefocustoacontrol
}
voidCDEMODlg:
:
OnSysCommand(UINTnID,LPARAMlParam)
{
if((nID&
0xFFF0)==IDM_ABOUTBOX)
CAboutDlgdlgAbout;
dlgAbout.DoModal();
else
CDialog:
OnSysCommand(nID,lParam);
//Ifyouaddaminimizebuttontoyourdialog,youwillneedthecodebelow
// todrawtheicon. ForMFCapplicationsusingthedocument/viewmodel,
// thisisautomaticallydoneforyoubytheframework.
OnPaint()
if(IsIconic())
CPaintDCdc(this);
//devicecontextforpainting
SendMessage(WM_ICONERASEBKGND,(WPARAM)dc.GetSafeHdc(),0);
//Centericoninclientrectangle
intcxIcon=GetSystemMetrics(SM_CXICON);
intcyIcon=GetSystemMetrics(SM_CYICON);
CRectrect;
GetClientRect(&
rect);
intx=(rect.Width()-cxIcon+1)/2;
inty=(rect.Height()-cyIcon+1)/2;
//Drawtheicondc.DrawIcon(x,y,m_hIcon);
OnPaint();
//Thesystemcallsthistoobtainthecursortodisplaywhiletheuserdrags
// theminimizedwindow.
HCURSORCDEMODlg:
OnQueryDragIcon()
return(HCURSOR)m_hIcon;
/*********************************
联动按钮动作
*******************************/voidCDEMODlg:
OnButtonPmove()
UpdateData(TRUE);
longStartv[]={m_nStartvX,m_nStartvY,m_nStartvZ,m_nStartvA};
//初始速度
longSpeed[]={m_nSpeedX,m_nSpeedY,m_nSpeedZ,m_nSpeedA};
//驱动速度
longAdd[] ={m_nAddX,m_nAddY,m_nAddZ,m_nAddA};
//加速度
if(m_bX)
//*************速度设定***************//g_CtrlCard.Setup_Speed(1,m_nStartvX,m_nSpeedX,m_nAddX);
//*************X轴驱动***************//
g_CtrlCard.Axis_Pmove(1,m_nPulseX);
if(m_bY)
//*************速度设定**************//g_CtrlCard.Setup_Speed(2,m_nStartvY,m_nSpeedY,m_nAddY);
//*************Y轴驱动****************//
g_CtrlCard.Axis_Pmove(2,m_nPulseY);
if(m_bZ)
//*************速度设定**************//g_CtrlCard.Setup_Speed(3,m_nStartvZ,m_nSpeedZ,m_nAddZ);
//*************Z轴驱动**************//
g_CtrlCard.Axis_Pmove(3,m_nPulseZ);
if(m_bA)
//*************速度设定**************//g_CtrlCard.Setup_Speed(4,m_nStartvA,m_nSpeedA,m_nAddA);
//*************A轴驱动***************//
g_CtrlCard.Axis_Pmove(4,m_nPulseA);
插补按钮动作
*********************************/voidCDEMODlg:
OnButtonInpmove()
UpdateData();
long
Startv[]={m_nStartvX,m_nStartvY,m_nStartvZ,m_nStartvA};
//初始速度
Speed[]={m_nSpeedX,m_nSpeedY,m_nSpeedZ,m_nSpeedA};
//驱动速度
Add[] ={m_nAddX,m_nAddY,m_nAddZ,m_nAddA};
//加速度
Pulse[]={m_nPulseX,m_nPulseY,m_nPulseZ,m_nPulseA};
//轴的驱动
脉冲数
// doubleTacc[]={m_dTaccX,m_dTaccY,m_dTaccZ,m_dTaccA};
//加速
时间
//************两轴插补***********//
if(m_bX&
&
m_bY&
!
m_bZ&
m_bA) //XY两轴插补
g_CtrlCard.Setup_Speed(1,Startv[0],Speed[0],Add[0]);
g_CtrlCard.Interp_Move2(1,2,Pulse[0],Pulse[1]);
elseif(m_bX&
m_bY&
m_bZ&
m_bA) //XZ两轴插补
g_CtrlCard.Interp_Move2(1,3,Pulse[0],Pulse[2]);
m_bA) //XW两轴插补
g_CtrlCard.Interp_Move2(1,4,Pulse[0],Pulse[3]);
elseif(!
m_bX&
m_bA) //YZ两轴插补
g_CtrlCard.Setup_Speed(2,Startv[1],Speed[1],Add[1]);
g_CtrlCard.Interp_Move2(2,3,Pulse[1],Pulse[2]);
m_bA) //YW两轴插补
g_CtrlCard.Interp_Move2(2,4,Pulse[1],Pulse[3]);
m_bA) //ZW两轴插补
g_CtrlCard.Setup_Speed(3,Startv[2],Speed[2],Add[2]);
g_CtrlCard.Interp_Move2(3,4,Pulse[2],Pulse[3]);
5小结
通过这次试验,我对数控机床的结构和原理有了更进一步的认识,更是对这十字工作台有更深的理解。
同时我们还对数控机床的编程有了一定的温习,也认识到对于现阶段的我们,数控机床的精髓在于程序的编辑和十字工作台的结构设计,这既是对我们课堂所学知识的更深认识,也是对实际生产的初步理解,对我们即将步入社会进入车间的学生是至关重要的。
实验教学的全过程包括认识、基础、综合3个阶段。
以往的实验与实际应用中的硬件电路相脱节,使学生缺乏硬件设计及调试分析能力,像这次这样的实验,对学生的要求比较高,同时考究学生的思考和动手能力,但同
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工业 机器人 实验 报告