机械臂的控制论文_第1页
机械臂的控制论文_第2页
机械臂的控制论文_第3页
机械臂的控制论文_第4页
机械臂的控制论文_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

学校代码学号本科学年论文〔设计〕机械臂机械臂的设计学院、系专业名称年级学生姓名指导教师20年9月日目录摘要4Abstract5第一章:绪论61.1机械臂的开展史61.2国内外开展状况61.3课题研究背景7第二章系统整体设计思路72.1整体设计概述72.2单片机简介72.3系统硬件系统设计8电路总框架图...........................................82.3.2硬件电路概括...........................................82.3.2.1单片机电路.....................................82.3.2.2稳压电路......................................92.3.2.3舵机驱动电路...................................9传感器电路....................................102.4系统软件系统设计10编程思想............................................10程序流程图..........................................112.4.3程序及注释..........................................12第三章PCB设计193.1PCB设计过程193.2零件布局203.3布线213.4放置敷铜193.5PCB电路图................................................21第四章:设计过程问题分析22第五章:总结23致谢23参考文献24基于C8051F310单片机的机械臂的设计摘要:随着时代的进步,机械臂技术的应用已越来越普及,已逐渐渗透到军事、航天、医疗、日常生活及教育娱乐等各个领域。慢慢取代了人类的劳动,尤其是代替人到不能或不适宜去的、有危险等的环境中。一个完整的机械臂系统主要包括机械、硬件和软件等局部。设计时需要考虑结构设计、控制系统设计、运动学分析等局部,对于整个研发工作,需要把各个局部紧密联系,互相协调设计。本文旨在介绍2010-2011学年论文—机械臂的设计方案。通过C8051F310单片机对五路舵机的分别控制,实现具有五个自由度的机械臂的功能,该机械臂具有灵活、稳定、反响快速、用途广等优点。关键词:机械臂,单片机,自由度BasedonC8051F310SCMdesignofmechanicalarmAuthor:Tutor:AbstractWiththeprogressofTheTimes,theapplicationofmechanicalarmtechnologyhasbecomemoreandmorepopular,alreadypermeatesgraduallytomilitaryandaerospace,medicaltreatment,thedailylifeandtheeducationentertainment,andotherfields.Slowlyreplacedhumanlabor,especiallyinsteadofpeopletobeornottogo,isdangerousfortheenvironment.Acompletemechanicalarmthesystemincludesmachinery,hardwareandsoftware,andotherparts.Thedesignconsiderationoftheneedwhenstructuredesign,controlsystemdesign,kinematicsanalysis,forthewholeofresearchanddevelopmentworkofeachpart,needtoclosecontacteachother,coordinatedesign.Thispaperaimstointroducethe20102011academicyearpaperdesignschemeofmechanicalarm.ThroughtheC8051F310microcontrollertofiveroadofsteeringgearcontroltorealizerespectivelywithfiveofthefreedomofthefunctionofthemechanicalarm,themechanicalarmwithflexible,stableandquickresponse,wideapplication,etc.Keywords:Mechanicalarm,SCM,degreesoffreedom第一章绪论1.1机械臂的开展史随着社会分工的细化,从事简单重复工作的人们强烈渴望有某种能代替自己工作的机械臂出现,1946年第一台数字电子计算机问世以来,计算机取得了惊人的进步,向高速度、大容量、低价格的方向开展。同时,大批量生产的迫切需求推动了自动化技术的进展,又为机械臂的开发奠定了根底。另一方面,核能技术的研究要求某些操作机械代替人处理放射性物质。在这一需求背景下,美国于1947年开发了遥控机械手,1948年又开发了机械式的主从机械手。机械臂首先是从美国开始研制的。1954年美国戴沃尔最早提出了工业机器人的概念,并申请了专利。该专利的要点是借助伺服技术控制机器人的关节,利用人手对机器人进行动作示教,机器人能实现动作的记录和再现。这就是所谓的再现机器人。现有的机器人差不多都采用这种控制方式。1958年美国联合控制公司研制出第一台机械臂铆接机器人。作为机器人产品最早的实用机型〔示教再现〕是1962年美国AMF公司推出的“VERSTRAN”和UNIMATION公司推出的“UNIMATE”。这些工业机器人主要由类似人的手和臂组成它可代替人的繁重劳动以实现生产的机械化和自动化,能在有害环境下操作以保护人身平安,因而广泛应用于机械制造、冶金、电子、轻工和原子能等部门。国外机器人领域开展近几年有如下几个趋势:1.2国内外开展状况(1)工业机器人性能不断提高(高速度、高精度、高可靠性、便于操作和维修),而单机价格不断下降。(2)机械结构向模块化、可重构化开展。例如关节模块中的伺服电机、减速机、检测系统三位一体化:由关节模块、连杆模块用重组方式构造机器人整机;国外已有模块化装配机器人产品问市。(3)工业机器人控制系统向基于PC机的开放型控制器方向开展,便于标准化、网络化;器件集成度提高,控制柜日见小巧,且采用模块化结构:大大提高了系统的可靠性、易操作性和可维修性。(4)虚拟现实技术在机器人中的作用已从仿真、预演开展到用于过程控制,如使遥控机器人操作者产生置身于远端作业环境中的感觉来操纵机器人。1.3课题研究背景随着工业自动化程度的提高,工业现场的很多易燃、易爆等高危及重体力劳动场合必将由机器人所代替。这一方面可以减轻工人的劳动强度,另一方面可以大大提高劳动生产率。例如,目前在我国的许多中小型汽车生产以及轻工业生产中,往往冲压成型这一工序还需要人工上下料,既费时费力,又影响效率。为此,我们把机械臂作为我们研究的课题。在工业自动化领域里,对机械手、机器人的实用性和前景毫无疑虑。第二章系统整体设计思路2.1整体设计概述整体来看,本次设计比拟简单。用单片机输出五路PWM脉冲分别控制机械臂的五个舵机,实现具有五个自由度的机械臂。本次设计所使用的C8051F310单片机性能较强大,完全可以满足设计需要。使用时对C8051F310单片机的目标引脚做初始化,完全可以根据需要将所选引脚用作输入输出口。C8051F310单片机有高精度可编程的25MHz内部振荡器,不需接外部晶振完全可以满足设计需要。本次设计要实现的目标是灵活控制五路舵机,稳定的实现五个自由度的机械臂运动。为了今后自由度的扩展特采用定时器0、1中断的方式来分别控制周期为20ms的五路舵机。但假设就控制五个舵机我们可以用单片机自身的PWM控制器来输出5个20ms的脉冲,更加简单、稳定。2.2单片机简介C8051F310器件是完全集成的混合信号片上系统型MCU芯片。下面列出了一些主要特性:高速、流水线结构的8051兼容的CIP-51内核〔可达25MIPS〕全速、非侵入式的在系统调试接口〔片内〕高精度可编程的25MHz内部振荡器4个通用的16位定时器具有5个捕捉/比拟模块和看门狗定时器功能的可编程计数器/定时器阵列〔PCA〕29/25个端口I/O〔容许5V输入〕2.3系统硬件结构设计2.3.硬件电路概括电路硬件系统包括:单片机电路、舵机控制电路、传感器输入电路、稳压电路等局部。2.3.2为了今后能更好扩展PWM的输出,我们选用单片机数字I/O口输出来模仿PWM脉冲,分别控制五路舵机,其电路原理图如下所示:2.3.2我们用AZ1084芯片把电源电压7.2V降压到5V输出为传感器及舵机信号输入端供电,用LM1117芯片把5V电压降压到3.3V为单片机供电。为了消除舵机工作对单片机的影响,采用光耦把VCC与5V隔开。2.3.2.3为了舵机的正常工作以及舵机工作对电路板其它电路不产生影响,特采用光耦P117把微机控制与舵机别离开。2.3.2 传感器输入端采用10K的上拉电阻,VCC对其供电。2.4系统软件设计 编程思想程序的编写重在原理的掌握。我们使用的舵机工作周期均为20ms,用单片机定时器产生的五路PWM波的周期也相同。使用单片机的内部定时器产生脉冲计数,一般来说,舵机工作正脉冲宽度小于周期的1/5,这样能够在1个周期内分时启动各路PWM波的上升沿,再利用定时器中断T0确定各路PWM波的输出宽度,定时器中断T1控制20ms的基准时间。第1次定时器中断T0按20ms的1/5配置初值,并配置输出I/O口,第1次T0定时中断响应后,将当前输出I/O口对应的引脚输出置高电平,配置该路输出正脉冲宽度,并启动第2次定时器中断,输出I/O口指向下一个输出口。第2次定时器定时时间结束后,将当前输出引脚置低电平,配置此中断周期为20ms的1/5减去正脉冲的时间,此路PWM信号在该周期中输出完毕,往复输出。在每次循环的第10次(2×5=10)中断实行关定时中断T0的操作,最后就能够实现5路舵机控制信号的输出。在使用前应仔细阅读单片机的使用手册,了解单片机的相关存放器设置方法。2.4.2 程序流程图主程序流程图1中断效劳程序流图2程序及注释#include<c8051f310.h>//C8051F31X系列头文件sbitIN0=P1^1;//传感器输入sbitIN1=P1^2;sbitPWM0=P0^0;//PWM信号传输接口sbitPWM1=P0^1;sbitPWM2=P0^6;sbitPWM3=P0^7;sbitPWM4=P1^0;unsignedintorder1=0,order2=0,bz0=0;unsignedintjd1,jd2,jd3,jd4,jd5;//角度变量unsignedintj1=1,j2=1,j3=1,j4,j5=0,j6=0,j7=0,j8=0,i=0;/********************************************************************子函数********************************************************************///函数名:voidPORT_Init(void)**************////功能描述:端口初始化**********************//voidPORT_Init(void){ P0MDIN=0xff;//P0口 P0MDOUT=0xff; P0SKIP=0x0C;P1MDIN=0xff;//P1口 P1MDOUT=0xff; P2MDIN=0xff;//P2口 P2MDOUT=0xff; P3MDIN=0Xff;//P3口 P3MDOUT=0xff;XBR0=0x00;XBR1=0xC0;}//函数名:voidPWM_Init(void)**************////功能描述:端口初始化**********************//voidPWM_Init(void){PCA0MD&=~0x40;PCA0MD=0x00;PCA0CPM0=0x42;//CCM0为8位PWM方式PCA0CPM1=0x42;//CCM1为8位PWM方式PCA0CPM2=0x42;//CCM2为8位PWM方式PCA0CPM3=0x42;//CCM3为8位PWM方式PCA0CPM4=0x42;//CCM4为8位PWM方式 PCA0CN=0x40;//允许PCA计数器0x00禁止PCA计数}//函数名:voidInternal_Crystal(void)*******////功能描述:设计内部时钟********************//voidInternal_Crystal(void){OSCICN=0x82;//2分频 CLKSEL=0x00;//内部振荡器24.5MHz}//****************延时函数******************//voiddelay1(inttime){ intx,y; for(x=0;x<1000;x++) { for(y=0;y<time;y++) ; }}voiddelay2(inttime){ intx,y; for(x=0;x<100;x++) { for(y=0;y<time;y++) ; }}voiddelay3(inttime){ intx,y; for(x=0;x<10;x++) { for(y=0;y<time;y++) ; }}//***************Timer函数********************//voidTime_Init(void)//定时器初始化{TMOD=0x11;//T1、T0工作在方式1EA=1;ET1=1;ET0=1;CKCON=0X01;//系统时钟4分频,即3.0625MHZTH0=0XFC;TL0=0X02;//24.5MHz,0.5ms}//******************定时器0中断函数************//voidTime0_Int()interrupt1{switch(order1){case1:PWM0=1;TR1=1;TH0=-jd1/256;//定时状态:X=M-定时时间/Tdelay3(1);TL0=-jd1%256;break;case2:PWM0=0; TH0=-(8140-jd1)/256;TL0=-(8140-jd1)%256;break;case3:PWM1=1;TH0=-jd2/256;TL0=-jd2%256;break;case4:PWM1=0;TH0=-(8140-jd2)/256;TL0=-(8140-jd2)%256;break;case5:PWM2=1;TH0=-jd3/256;TL0=-jd3%256;break;case6:PWM2=0;TH0=-(8140-jd3)/256;TL0=-(8140-jd3)%256;break;case7:PWM3=1;TH0=-jd4/256;TL0=-jd4%256;break;case8:PWM3=0;TH0=-(8140-jd4)/256;TL0=-(8140-jd4)%256;break;case9:PWM4=1;TH0=-jd5/256;TL0=-jd5%256;break;case10:PWM4=0;order1=0;TH0=-(8140-jd5)/256;TL0=-(8140-jd5)%256;TR0=0;break;default:delay3(1);}order1++;}voidTime1_Int()interrupt3{PWM0=1;TH1=0X0F;TL1=0X2D; TH0=0XFE; TL0=0XFE;TR1=0; TR0=1;}//**********功能描述:主函数****************//voidmain(void){Internal_Crystal();PORT_Init();PWM_Init();Time_Init();TH0=0XFF;TL0=0X02;TR0=1;TH1=0X10;TL1=0X7D;delay1(10);jd1=4956;//1.5ms jd2=6493;//2ms1.95ms jd3=6493;//2ms 1.95ms(示波器)jd4=4956;//1.5ms 1.45msjd5=3800;//1ms1.05msdelay1(200);TH1=0X10;TL1=0X7D;TH0=0XFF;TL0=0X02;for(;j1<=500;j1++){jd1=jd1-7;//0.5jd2=jd2-5; //1.5jd3=jd3-3; //1.5jd4=jd4+3; //2jd5=jd5+2; //kaidelay1(10);delay3(42);}jd5=4500; delay1(600);for(;j2<=500;j2++){jd1=jd1+7;jd2=jd2+5;jd3=jd3+3;jd4=jd4-3; delay1(10);delay3(43); }delay1(600);for(;j5<=500;j5++){jd2=jd2-6;jd3=jd3-6;delay1(10);delay3(43); }jd5=5600;delay1(600);for(;j6<=500;j6++){jd2=jd2+6;jd3=jd3+6;delay1(10);delay3(43); }Delay1(600);jd5=3500;for(;j3<=500;j3++){jd1=jd1+5; //2.5jd2=jd2-5; //1jd3=jd3-3; //1jd4=jd4+3; //2jd5=jd5+3; //kaidelay1(10);delay3(42);}delay1(600);jd5=5600;jd5=4600;for(;j4<=500;j4++){jd1=jd1-5;jd2=jd2+5;jd3=jd3+3;jd4=jd4-3; delay1(10);delay3(43); }delay1(600);for(;j7<=500;j7++){jd2=jd2-6;jd3=jd3-6;delay1(10);delay3(43); }jd5=5600;delay1(600);for(;j8<=500;j8++){jd2=jd2+6;jd3=jd3+6;delay1(10);delay3(43); }delay1(600);jd5=3500;jd1=4856;jd2=6493;jd3=6493;jd4=4956;jd5=3800;delay1(600);} 第三章PCB设计下面简单介绍一下PROTEL软件制作PCB的过程以及一些常见的封装名称。3.1PCB的制作过程在进行PCB设计之前,必须的工作就是加载零件封装库。在设计管理器中单击BrowsePCB标签切换到BrowsePCB标签页,然后单击Browse区域的下拉式选择编辑框右边的下拉按钮,从中选择Libraries项,单击Add/Remove按钮,系统弹出PCBLibraries对话框。从其对话框的第一个列表框中选中一个零件封装库,单击Add即可。一般情况下,加载Advpcb.ddb和Miscellaneous.ddb两个零件封装即可。对于一般的零件封装,我们读从零件库中直接调用,但在设计电路板图过程中偶尔会遇到比拟特殊的零件封装,在系统零件封装库中可能没有,这是需要自己制作零件封装。选择主菜单的菜单项File\New,翻开新建文件对话框,在对话框中双击“PCBLibraryDocument”图标,创立新零件封装库文件。零件封装创立有两种方法:手工创立和利用向导创立。手工创立就是利用绘图工具,按照实际的尺寸绘制出零件的封装。进入零件封装编辑器中,选择主菜单的菜单项Tools\NewComponent,即启动了零件封装向导,如果要手动制作封装那么点击Cancel按钮,即可在编辑窗口下绘制元件封装。在放置焊盘时要注意必须将第一个焊盘设为基准点〔坐标原点〕。利用向导创立零件封装,在启动了零件封装向导后,点击Next按钮,按照其提示创立即可。创立好封装后可以对其进行改名,在主菜单的菜单项Tools\RenameComponent中输入元件名称即可。如果在PCB设计中要使用自己建的封装,只须将此元件的封装名填入到元件属性的Footprint栏中,然后在加载零件封装库时,将自己的元件封装库参加即可。网络表在PCB设计中占据非常重要的位置,它是系统进行自动布线的依据。点击主菜单中的Design/LoadNets…,就会出现网络表管理对话框。3.2零件布局将网络表引入PCB系统后,零件封装一般都是重叠在一起的,调整零件封装在电路板上的布局有两种方式:一是手动布局,二是自动布局。此设计中采用手动布局。先将零件分开,然后用移动、旋转、对齐等方法将零件封装放在理想的位置。在放置封装时要注意:1〕每个集成元件的去耦电容必须尽可能的靠近元件。2〕与集成元件连接的小元件尽可能与其放在一起,这样有利于后面的布线。3〕放置封装时从机械结构、散热、电磁干扰、美观、将来布线的方便等方面综合考虑。布局好元件封装后,利用绘图工具画出电路板的边框。将所有元件圈起,并给固定孔留一定的空间。3.3布线零件封装布局好后,根据系统飞线的指示进行手动布线。手动布线其实是按照飞线的指示如何放置导线。在布线前,进行以下设置:在主菜单Design\Options选项下将编辑区网格间距改为25mil;在主菜单Design\Rules〔设计规那么〕中将导线的最大最小宽度分别改为10mil、100mil;其它设置均采用系统默认设置。在布线过程中,要使顶层导线横着走、底层导线竖着走,布线时尽可能不要布的太密;从键盘上按动“Shift+Space”键,可以在导线六种转角模式中来回切换;按动小键盘的“*”键,可以在顶层与底层间切换;当需在不同的板层间布线时,任何时候从小键盘上按“*”键,切换板层,此时会出现一个过孔跟着光标移动,移动鼠标,在适宜位置点击鼠标左键即可放置过孔;地线先不要布,最后将地线网络敷铜;走线时导线的拐角不要使用直角尽可能使用45度拐角;将电源线加粗。调整丝印层字符到适宜位置,注意尽量不要放在元件下面或过孔、焊盘上面,对于过大的字符可适当缩小。3.4放置敷铜敷铜就是将电路板中空白的地方铺满铜膜,主要目的是提高电路板的抗干扰能力,通常将铜膜接地,这样电路板中空白的地方就铺满了接地的铜膜,电路板的抗干扰能力就会显著地提高。此设计中将地网络接到铜膜上。在设计规那么中将平安间距改为25mil,此时PCB版中可能有些导线变为绿色,说明这些导线间的距离小于平安间距,仔细检查这些导线是否连在了一起,如果没连在一起,那么可不管它,其对设计结果没影响。但如果连在一起,那么需删除导线重新布线;在设计规那么中将PolygonConnectStyle中将ConductorWidth设为30mil。选择菜单项Place\PolygonPlane…命令或单击放置工具栏中的PolygonPlane…〔敷铜〕图标,即可启动敷铜命令。在弹出的如下图的属性对话框中,ConnecttoNet项选择GND〔地网络〕;GridSize〔敷铜是栅格大小〕改为20mil;TrackWidth〔敷铜导线的宽度〕设为8mil,点击OK按钮,即可放置敷铜。命令启动后,光标变成十字形状。按住鼠标左键,移动鼠标将整个电路板圈住,放开左键系统自动

温馨提示

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

评论

0/150

提交评论