6自由度机械臂控制系统设计软件本科本科毕业论文.docx
《6自由度机械臂控制系统设计软件本科本科毕业论文.docx》由会员分享,可在线阅读,更多相关《6自由度机械臂控制系统设计软件本科本科毕业论文.docx(50页珍藏版)》请在冰豆网上搜索。
6自由度机械臂控制系统设计软件本科本科毕业论文
学号:
1208211028
本科毕业论文(设计)
(2014届)
6自由度机械臂控制系统设计(软件)
院系电子信息工程学院
专业电子信息工程
姓名许克伟
指导教师范程华讲师
2014年4月
摘要
本文设计了一种以STC89C52单片机为主控元件的六自由度机械臂抓取系统。
文中给出了系统的硬件设计方案以及各个功能原理图,同时给出了软件系统设计方法。
系统实现了自动寻找目标并自动实施抓取目标且可通过PC上位机实时显示和控制机械手臂的功能,并能实现自动探测手臂与目标之间距离。
在设计时,由于需要测量的距离范围从几厘米到几十厘米,针对超声波在传播时振幅呈指数衰减的特性,为了最大限度地提高驱动能力,采用对回波进行多级放大,以达到了设计要求,由于各个模块供电要求不同,电源电路模块通过稳压芯片输出7.2V、5V和3.3V电压。
软件主要分为超声波距离测量模块和无线通信模块、数据处理模块这三大模块。
软件的这种“自顶向下”的模块化软件编程方法,能使软件的结构更清晰,并有利于软件的调试和修改。
经过调试,达到能够实现自动抓取目标和手动控制抓取目标功能。
关键词:
超声波;VB上位机;六自由度机械手臂;STC89C52
Abstract
ThispaperdesignsamechanicalarmwhosemaincontrolcomponentisSTC89C52single-chipmicrocomputerandbasedonthesixdegreesoffreedomtocontrolscrapingsystem.Hardwaredesignschemeofthesystemandeachfunctionalmachineschematicdiagramarealsogiveninthispaper,softwareprogramdesignmethodisgivenatthesametime,thesystemrealizestheautomaticsearchingtargetandtheimplementationofautomaticgrabandreal-timedisplaybyPC,andrealizesthefunctionofcontrollingmechanicalarm,andcanrealizetoautomaticallydetectthedistancebetweenthearmandtarget,thenimplementreal-timedisplayontheuppermachine..Whendesigning,duetothedistanceneedtomeasurerangesfromseveralcentimeterstotensofcentimeters,aimingatthecharacteristicsofultrasonicwaveamplitudedecayexponentiallyintransmission,inordertodevelopthedriveabilitymaximally,theechomultistageamplifierisbeadopted.Duetothedifferentrequirementsforeachmodulepowersupply,inordertoachievethedesignrequirements,powersupplycircuitmoduleoutputvoltage7.2V,5Vand3.3Vthroughthevoltageregulatorchip.Thesoftwareismainlydividedintothreemodules:
theultrasonicdistancemeasuringmoduleandwirelesscommunicationmodule,dataprocessingmodule.The"top-down"modularsoftwareprogrammingmethodofsoftwarecanmakethesoftwarestructuremoreclearly,andbenefitinthedebuggingandmodificationofsoftware.Afterdebugging,itcanrealizethefunctionofgrabbingthetargetthoughautomaticallyaddmanuallycontrol.
Keywords:
Ultrasonicwave;VB;Sixdegreesoffreedomroboticarm;STC89C52
1引言
1.1选题的背景及意义
机器人技术是二十世纪人类最伟大的发明,人类对机器人的探索与研究具有的悠久历史。
早在20世纪70年代,计算机技术、控制技术、传感器技术和人工智能技术的飞速发展,机器人技术也进入了快速发展阶段,机器人是具有控制、信息和传感技术、人工智能、仿生学的综合计算机。
其本质是感知、决策、行动、互动四个集成技术。
当代对机器人的研究十分活跃,并在日益广泛领域中得到应用。
机器人应用水平是一个国家工业自动化水平的重要标志[1]。
自1990年以来,欧盟、法国国家科学研究中心也将虚拟机器人手术协助和手术模拟系统作为一个重点项目开发。
在发达国家中,一直存在,医疗手术机器人市场,和临床研究。
目前,中国的机器人技术与应用工程和国外的水平相比仍然存在一定的距离,产业化规模和水平的应用低。
机器人的研究和开发,直接影响到我们的自动化生产的医疗水平和改进,从经济角度出发,技术上的考虑是必要的。
因此,研究机械手臂是非常有意义的。
1.2国内外发展状况
(1)国际发展研究方向:
机器人主要分为工业机器人以及其他特种机器人两类,自1962年美国推出世界上第一台Unimate型和Versatra型工业机器人以来,机器人在工业发达国家得到了迅速发展。
根据国际工业机器人联合会(IFR)前几年的统计:
自从2000年以来全球机器人产业迅速发展,在技术和数量上各国各有春秋,例如尽管美国所拥有的机器人数量上不如日本。
但其技术水平上一般都高于日本。
在亚洲,韩国的机器人产业发展也很迅速,现排名世界前列。
然而日本,韩国和新加坡的机器人密度(即制造业中每万名雇员占有的工业机器人数量)居世界第1-3位。
西欧的法国、英国、意大利和东欧的波兰、匈牙利等,在机器人制造业及应用机器人上的都有很大发展。
如今国外的机器人各个方面技术发展相当迅速。
主要现状如:
①智能机器人的应用中配备有视觉传感器中的传感器的数量呈上升趋势,越来越多的机器人配备有两个以上传感器,一些机器人留了多种机器人接口。
②网络通讯方式大部分机器人采用了Ether网络通讯方式,占总量的41.3%,其他采用RS-232、RS-485等通讯接口。
③高精度、高速、多功能化,目前装配机器人最快速度达到16.5m/s,另外大直角坐标搬运机器人,其最大合成速度可达到80m/s,而另一种并联结构的NC机器人,其位置重复精度竟达1um。
90年代末的机器人一般都具有两、三种功能向多功能化方向发展。
④另一特点是机器人的应用从之前的单机,单元画向系统化、集成化与系统化发展。
百台以上的机器人群与微机及周边设备和操作人员形成一个大群体。
跨国大集团的垄断和全球化的生产将世界众多厂家的产品联接在一起实现了标准化、开放化、网络化的“虚拟制造”,为工业机器人系统化的发展推波助澜[2]。
(2)国内发展研究方向:
近年来,我国工业机器人及含工业机器人的自动化生产线相关产品的年产销额已突破十亿元。
我国发展机器人技术的战略目标是:
根据2l世纪国家经济对先进制造与自动化技术的需要,瞄准国际前沿高技术发展方向创新性地研究和开发工业机器人技术领域的基础技术,产品技术和系统技术。
未来发展工业机器人技术的重点是:
第一,在恶劣环境下操作的机器人:
主要有防暴、油漆管道、星球扫描等机器人;二,医用机器人:
主要有脑外科手术辅助机器人,遥控操作辅助正骨等;第三,仿生机器人:
主要有移动机器人遥控。
其总体发展趋势是智能化、可靠性、低成本和易于集成。
我国的机器人研发和应用技术已经取得了一些成绩,但总体来说,我国的机器人技术及其工程应用的水平和国外的相比还有一定的距离,无论从机器人的数量上还是技术上,我们都有一定的差距[3]。
进入21新世纪后,国际上竞争日趋激烈,对机器人的需求也不断增加。
中国的机器人产业将迎来一个新的机遇同时需要接受来自国外机器人产业带来的挑战,所以我们更加需要自主开发的高科技机器人来解决关键的产业化技术,积极推进我国的机器人产业的进程[4]。
1.3课题研究的主要内容
(1)研究目标
利用STC89C52单片机和PC机之间的无线通信设计一个以小车为移动平台的机械手臂控制系统。
1、具有双向通信功能:
STC89C52芯片能够接受来自PC机的指令,同时可以将指令反馈PC机,并在PC机上显示控制指令;
2、具有无线遥控功能:
PC机能够采集键盘值,VB界面通过NRF905无线模块发送至下位机STC89C52单片机,STC89C52将接收到的键盘值翻译为机械指令并发送至舵机控制模块,执行指令;
3、具有自动搜索目标并抓取目标的功能:
通过安装在舵机上的超声波模块测得机械手臂与目标的距离,只需要目标在一定的抓取范围之内,即可施行抓取动作。
(2)研究内容
1、超声波发射与接收;
2、提高精度的处理;
3、与PC机的通信;
4、蓝牙模块收发数据;
5、VB界面的设计;
6、机械手臂动作的控制。
26自由度机械手臂控制系统的硬件设计
2.1硬件系统总体方案设计
超声波液位探测系统是根据“回波测距”的原理设计的。
由超声波的发射器发射超声波,当超声波遇到障碍物时反射回来,再由超声波接收系统接收。
测出从超声波发射该脉冲束至接收到回波信号的传输时间,即渡越时间,由于超声波在同一种介质中的传输速度是不变的(设所处的介质的密度和温度等相关因素不变的情况下)。
那么由渡越时间和声速,就可算出要测的距离。
下位机通过算法计算出周围目标中距离手臂最近的目标实施抓取,并通过NRF905无线模块将实时距离反馈至上位机界面上显示。
图2-1六自由度机械手臂控制系统总体框架图
根据本次毕业设计的设计要求,不光需要检测部分,还需要加入运算部分。
以确定该时刻下手臂距离障碍物最近距离的位置。
主要的设计部分的总体框架图如图2-1所示。
六自由度机械手臂控制系统是由硬件和软件两部分组成:
硬件主要包括STC89C52单片机系统、超声波发射电路、超声波接收电路、舵机控制电路、无线NRF905电路和电源电路等几部分。
1、单片机控制模块(核心模块):
由STC公司生产的STC89C52八位单片机和必要的外围芯片构成。
该单片机工作性能稳定,是大多数设计者的不二之选。
2、超声波收发模块:
采用us-100超声波收发模块,该模块性能稳定,测量距离精确,精度高,盲区(2cm)超近。
利用定时器来定时,定时器的时间即为超声波从发射到接收的时间t,然后再根据计算得出距离。
3、舵机控制模块:
采用32位ARM内核的处理器芯片,USB和UART通讯接口,可以同时同步控制32个舵机(24路舵机控制板可以同时同步控制24个,16路舵机控制板可以同时同步控制16个舵机)。
4、NRF905无线收发模块:
NRF905由接收解调器、频率合成器、晶体振荡器、功率放大器和调制器组成,不需外加声表滤波器,ShockBurstTM工作模式,自动处理CRC(循环冗余码校验)和字头,使用SPI接口与微控制器通信,配置非常方便。
此外,以-10dBm的输出功率发射时电流只有11mA,其功耗非常低,工作于接收模式时的电流为12.5mA,内建关机模式与空闲模式,易于实现节能。
5、电源模块:
稳压芯片,在它所要求的输入电压范围内,它的输出电压是恒定的
本设计中利用LM7941、LM7805、LM1117等稳压芯片输出7.1V、5V、3.3V电压,分别为舵机、舵机控制器和微控制器、NRF905供电。
2.2单片机最小系统电路设计
2.2.1复位电路设计
复位电路;确定单片机工作的起始状态,完成单片机的启动过程。
为了初始化单片机内部的某些特殊功能寄存器,必须采用复位的方式,复位操作有两种情况,即上电复位和手动(开关)复位一种有效的办法是手动复位电路,RESET引脚立即自动产生高电平复位信号,并一直保持到电源电压恢复正常;当系统上电或掉电时,RESET引脚也自动产生一个高电平复位信号;当系统发生故障时,RESET引脚将产生一个持续200ms的高电平复位信号。
这样,单片机发生故障时,按下复位键,就可有效地防止死机、跑飞等故障的发生。
本设计复位电路如图2-2所示。
图2-2复位电路
2.2.2时钟振荡器
晶体振荡器,以下简称晶振,是基于晶体的压电效应原理制造而成的。
当在晶片的两面上加交变电压时,晶片因反复的机械变形产生振动,而这种机械振动又会反过来产生交变电压。
当外加交变电压的频率为某一特定值时,振幅明显加大,比其它频率下的振幅大得多,并且产生共振,这种现象称为压电谐振.晶振发生振荡必须附加外部时钟电路,一
图2-3晶振电路
般是一个放大反馈电路,只有一片晶振是不能实现震荡的,于是就有了时钟振荡器。
将外部时钟电路跟晶振放在同一个封装里面,一般都有4个引脚,两条电源线为里面的时钟电路提供电源,又叫做有源晶振,时钟振荡器,或简称钟振.好多钟振一般还要做一些温度补偿电路在里面,让振荡频率能更准确。
设计中使用11.0592MHz的晶振,通过单片机内部6分频,发生2MHz的ALE信号,经过超声波发射电路,获得探头所需的40kHz的频率。
振荡器电路如图2-3所示。
2.3超声波模块
一般来说是指声音超过了20000Hz以上的声波称之为超声波,简单来说,超声波就是超过人耳能听到的物体振动的声音的频率范围的声波就叫超声波。
超声波有以下特点:
1、在不同介质界面上大部分能量反射。
2、振幅小加速度大能量集中功率高强度大;3、频率高波长短定向好,所以超声波特别适合应用于距离测量。
超声波可以在气体、液体及固体媒质中传播,并有各自的传播速度。
超生波在空气中的传播速度主要与空气的压力和温度有关;正常条件下,由于大气压力变化很小,因此其传播速度主要考虑温度的影响,在空气中传播速度为
(m/s)(2-1)
其中C为超声波的声速,T为传播媒质温度;在已知的温度的情况下的超声波的速度可以由上式来计算的,此时,只要记录从发射到接收超声波的时间就可以计算被测的距离。
超声波的另一个特性是超声波频率越高,超声波与光波的某些特性(如反射、折射定律)就越相似。
(2-2)
其中
为波长、f为频率与、C为超声波速度。
在传播的过程中,衰减系数与声波介质以及频率的关系为衰减系数与声波所在介质及频率的关系为:
(2-3)
其中,
为衰减系数,b为介质常数,f为振动频率。
在介质中声波的传播衰减程度随声波的频率的变化而变化,频率越高,声波衰减越大,因此,超声波传播时衰减比其他波更明显[5]。
2.4舵机控制模块
2.4.1舵机内部结构
舵机内部包括了一组变速齿轮组、一个小型直流马达、一个反馈可调电位器、一块电子控制板。
其中,直流电机的高速转动提供了原始动力,带动变速(减速)齿轮组,使之产生高扭力的输出,齿轮组的变速比越大,舵机的输出扭力也越大,舵机所能承受的重量越大,其转动的速度越低。
图2-4舵机内部结构图
2.4.2舵机的工作原理
舵机是一个典型闭环反馈系统,其原理可由下图表示:
图2-5舵机工作原理
减速齿轮组由电机驱动,其输出端带动一个电位器,该定位器输出电压值与所处位置呈线性的比例关系。
该电位器把转角坐标转换为一比例电压反馈给控制线路板,控制线路板将其与输入的控制脉冲信号比较,产生纠正脉冲,并驱动电机反向或正向地转动,使齿轮组的输出位置与期望值相符,令纠正脉冲趋于为0,从而达到使舵机精确定位的目的。
2.4.3舵机控制原理
标准的微型舵机有三条控制线,分别为:
控制、电源及地线。
电源线和地线用于提供内部直流电机及控制线路所需能源,电压通常介于4V—6V之间,该电源应该和处理系统的电源隔离(因为舵机会产生噪音)。
因为小舵机在重负载时也会有可能拉低放大器的电压值,因此整个系统的电源供应的比例必须合理。
输入一个周期性的正向脉冲信号,该周期性脉冲信号的高电平时间一般在1ms—2ms之间,而低电平时间应在5ms到20ms之间,并不很严格[6]。
2.5NRF905无线收发模块
2.5.1NRF905芯片结构
nRF905片内集成了电源管理、低噪声放大器、晶体振荡器、频率合成器功率放大器等模块,曼彻斯特编码/解码由片内硬件完成,无需用户对数据进行曼彻斯特编码,因此使用非常方便。
nRF905的详细结构如下图所示。
图2-6NRF905芯片结构
2.5.2NRF905工作模式
NRF905有两种工作模式和两种节能模式。
两种工作模式分别是接收模式与发送模式,另外两种节能模式分别是空闲模式和关机模式。
NRF905的工作模式由TRX_CE、TX_EN和PWR_UP引脚决定。
表2-7NRF905工作模式
2.5.2.1发送流程
典型的nRF905发送流程分以下几步:
A.当微控制器需要发送数据时,通过SPI接口,按时序把接收机的地址和要发送的数据送传给nRF905,SPI接口的速率在通信协议和器件配置时确定;
B.微控制器置高TRX_CE和TX_EN,激发nRF905的ShockBurstTM发送模式;
C.nRF905的ShockBurstTM发送:
a射频寄存器自动开启;
b数据打包(加字头和CRC校验码);
c发送数据包;当数据发送完成,数据准备好引脚被置高;
d.AUTO_RETRAN被置高时,nRF905将不断重发,直到TRX_CE被置低为止;
e.当TRX_CE被置低后,nRF905数据发送完成,自动进入空闲模式。
ShockBurstTM工作模式保证了数据一旦发送开始,无论是TX_EN引脚或是TRX_EN引脚是高或低,发送过程都会被处理完。
只有在前一个数据包被发送完毕,nRF905才能接受下一个发送数据包。
2.5.2.2接收流程
A.当TRX_CE引脚为高、TX_EN引脚为低时,nRF905便进入ShockBurstTM接收模式;
B.650us之后,nRF905不断地监测,等待接收数据;
C.当nRF905检测到同一频段载波时,载波检测的引脚被置高;
D.当接收到一个与其相匹配的地址时,地址匹配的引脚便被置高;
E.当一个正确数据包接收完毕时,nRF905自动移去字头、地址和CRC校验位,然后便把数据准备好引脚置高
F.微控制器把TRX_CE引脚置低,nRF905便进入空闲模式;
G.微控制器通过SPI口,以一定速率把接受的数据移到微控制器内;
H.当所有数据接收完毕,nRF905把数据准备好的引脚和地址匹配的引脚置低;
I.nRF905便可以进入ShockBurstTM发送模式、ShockBurstTM接收模式或关机模式。
当正在接收一个数据包时,TRX_CE引脚或TX_EN引脚状态发生改变,nRF905立刻改变其工作模式,数据包便丢失。
当微处理器接到地址匹配引脚的信号之后,便可以判断为nRF905正在接收数据包,其可以决定是让nRF905继续接收该数据包还是进入另一个工作模式。
2.5.2.3节能模式
nRF905的节能模式包括节能模式与关机模式。
当处于关机模式情形下,nRF905工作电流降低至2.5uA。
当进入关机模式后,nRF905保持配置字中的内容,但不会接收或发送任何数据。
空闲模式下有利于减小功耗电流,其从空闲模式到接收模式或发送模式的启动所需耗时比较短。
在空闲模式下,nRF905内部的部分晶体振荡器处于工作状态。
nRF905在空闲模式下的工作电流跟外部晶体振荡器的频率有关[7]。
2.6电源电路模块
机械手臂控制系统各个模块所需电源电压各不相同。
如舵机驱动电压需要7V,单片机控制芯片电源电压需要5V电压而NRF905电源电压仅需3.3V电压。
如果不采取相应的措施将电压值稳定在各个模块所能承受电压值范围之内,很可能导致各个模块不能正常工作,甚至烧毁模块。
所以电源电路设计是十分有必要的[8]。
图2-8电源电路原理图
电源电路模块主要是将电池输入的8.2V电压通过稳压芯片LM2941和稳压芯片LM7805将电压稳定在7.2V和5V。
再利用定位器的分压原理获得3.3V电压。
电源电路原理图如2-8所示。
图2-8中,电池8.2v电压经过开关S1后并联一个LED电源指示灯,为了防止输入电压过大LED串联一个1K电阻分压限流很好的起到保护指示灯的作用。
LED之后继续并联一个1000uF大电容。
该电容主要作用用于防止舵机开机瞬间电压值跳变起到滤波的作用。
经过滤波后的电压经过LM2941和LM7805的典型应用电路将电压稳定在7.1V和5V左右,分别为舵机驱动和舵机控制板和MCU提供原动力。
另外一个LM7805为超声波模块提供电源并经过定位器分压获得3.3V电压为NRF905提供原动力。
2.7VB上位机界面
本界面是基于VisualBasic6.0开发软件开发,该界面主要分为指令区和舵机控制界面。
其中指令区包括数据发送框和数据接受框以及数据发送按钮和数据清除按钮。
在舵机控制界面中包括车体移动方向按钮和单个舵机控制滚动条。
如下图2-9:
图2-9VB上位机控制界面
3系统软件设计
3.1软件设计流程图
单片机机械手臂的软件功能是控制超声波的发射和接收,对超声波的传输时间进行测量,结合超声波的传播速度,计算出距离,并把数字滤波后发送至上位机显示。
同时,经过数据处理后判断出距离手臂最近的障碍物,并在一定的条件下实施抓取动作。
要实现上述功能,软件包含初始化、参数读入、超声波发射、超声波传输计时、超声波传输距离计算、数字滤波、计算结果,数据反馈上位机等功能模块。
软件总体流程图,如图3-1所示。
图3-1软件总体流程图
目前单片机的主流编程语言有汇编语言和C语言两种。
汇编语言的优点是程序效率高、代码短,但存在可读性可移植性差的缺点。
C语言的优点是可读性好、可移植性好的优点,但存在代码效率较低、代码较长的缺点。
本系统采用C语言编写。
3.2主程序结构流程图
主程序是单片机程序的主体,它负责调用系统的子程序,中断程序等各个功能转换。
如图所示为系统的主程序流程,程序首先完成初始化过程,然后是一个重复的检测是否有来自NRF905新的指令,如果存在则分析处理指令,并控制舵机执行指令。
主程序结构流程图如图3-2。
图3-2主程序结构流程图
4调试
4.1软硬件调试及性能调试过程
制作完成后,将程序编译好下载到单片机试运行。
根据实际情况修改超声波发生子程序每次发送的脉冲宽度和两次测量的间隔时间,以适应不同距离的测量需要,已达到准确抓取目标。
根据所设