优秀毕业论文参考模板.doc_第1页
优秀毕业论文参考模板.doc_第2页
优秀毕业论文参考模板.doc_第3页
优秀毕业论文参考模板.doc_第4页
优秀毕业论文参考模板.doc_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

吉林大学珠海学院 毕业设计六自由度机械手臂控制系统设计The Control System Design of Manipulator with Six Dof系 别:电子信息系专 业:自动化姓 名:郑晓彬学 号:03101512指导教师姓名、职称:张贺东、副教授 完成日期 年 月 日 吉林大学珠海学院本科毕业设计开题报告选 题六自由度机械手臂控制系统设计院 系电子信息系专 业自动化学生姓名郑晓彬指导教师张贺东本选题的意义及国内外发展状况:随着工业生产效率的提高以及单片机在机械控制方面的广泛应用,机械手已逐步代替人工操作,在工厂车间得到了广泛的应用。在工业生产中,应用机械手的意义可以概括如下:1、提高了生产过程中的自动化程度2、改善了劳动条件,避免人身事故3、可以减轻人力,便于规模化生产我国机械手技术起步较晚,进入20世纪90年代后,机械手的研究步入正轨,在彩电、冰箱等家用电器产品的装配生产线上,在半导体芯片、印刷电路等各种电子产品的装配流水线上都得到了广泛应用。机械手作业的准确性和各种环境中完成作业的能力,在国民经济各领域有着广阔的发展前景。1958年美国联合控制公司研制出第一台机械手,接着德国机械制造业从1970年开始应用机械手,主要用于起重运输、焊接和设备的上下料等作业。日本是工业机械手发展最快、应用最多的国家。自1969年从美国引进两种机械手后,大力从事机械手的研究。研究内容: 1、机械手控制技术:重点研究模块化控制系统。2、多传感器系统:为进一步提高机械手的适应性和自由度,多传感器的应用是问题解决的关键,此外还需研究传感器系统的实用性。3、机械手遥控技术:自动和半自动技术,机械手与操作者之间的协调控制。4、模拟人手控制技术:通过手臂的动作直接控制机械手。研究方法、手段及步骤:首先查阅机械手臂的相关设计资料,包括书籍、期刊、论文。在此基础上,分析确定六自由度机械手臂的设计方案。机械手的整体设计形式,主要取决于机械手的工作要求、运动形式、作业环境等。再进行机械手硬件结构的设计和安装。用电位器组装一个相同自由度的关节控制器,用以控制六自由度机械手。分模块进行编程。这些模块有:舵机控制模块、电位器AD采样模块、无线传输模块。各模块调试完之后,再进行系统的整体调试。参考文献:1.宋伟刚.机器人学运动学、动力学与控制M.北京:科学出版社,20072.富巍、刘美俊排爆机器人的研究与开发M.北京:电子工业出版社,20103.丹尼斯克拉克、迈克尔欧文斯.机器人设计与控制M.宗光华、 张慧慧译北京:科学出版社,2004 4.迈克普瑞德科机器人控制器与程序设计M.宗光华、李大寨译北京:科学出版社,2004 5.郭天祥.新概念51单片机C语言教程M.北京:电子工业出版社,2009 6.H.Asada、J.-J. E. SlotineRobot Analysis and ControlMWiley-Interscience,1986摘 要机械手作为机器人领域的一个重要组成部分,它广泛的应用将有助于提高劳动生产效率和工作效率,节约人工成本,减轻劳动强度,改善工作条件,在未来将拥有非常广阔的应用前景。此次研究的机械手采用电位器作为传感器,由人手直接操作机械手的完成动作。机械手硬件由四个部分组成,分别是底座、手臂、手腕、夹持器,每一部分都由舵机单独控制,使用铝合金支架,并配套螺丝、螺母进行组装和固定。ATmega16单片机作为控制系统的核心,分为主机和从机两部分。主机对电位器模拟量进行采样,A/D转换的数字量结果发送给从机,从机把接收到的数字量转化为PWM信号控制舵机,使舵机转动相应的角度。本设计主要研究六自由度机械手遥控技术,即机械手与操作者之间的协调控制。模拟人手控制技术,即通过安装在手臂上的电位器感知人手的动作位置,从而直接控制机械手完成相应的动作。关键字:ATmega16;舵机;A/D采样The Control System Design of Manipulator with Six DofABSTRACTManipulator is an important part in the field of robot. Its wide application will contribute to increasing labor productivity and operating efficiency, saving labor cost, reducing labor intensity and improving the operation conditions. Manipulator would have limitless application in the future. In this study, manipulator adopts potentiometer as sensors, which completes the action of it directly by hand. The hardware of manipulator is constituted by four parts: base, arm, wrist, holder. Each part is controlled by servo separately, using aluminum alloy frame, assembled and fixed by screw and nut. ATmega16 MCU is the core of control system, which divided into two parts, host and slave. The host samples the potentiometer analog. The results of A/D conversion of digital quantity send to the slave. Then the slave converts the digital quantity into PWM signal to control servo to rotate corresponding angle.The design mainly studies the control system of manipulator with six dof. That is the coordination control between manipulator and operator. Its a control technology that manipulator following the movement of human hand. That is according to installing on the arm of the potentiometer perceiving the action position of human hands to control the manipulator to complete the corresponding action directly. Keywords: ATmega16, servo, A/D sample目 录1 绪 论11.1 机械手的现状11.2 机械手的发展前景11.3 研究意义21.4 研究的主要内容22 硬件系统的总体结构32.1 硬件系统的总体结构32.2 机械手的硬件结构组成33 方案设计53.1 控制处理器的论证与选择53.2 驱动电机的论证与选择63.3 无线模块的论证与选择64 硬件设计74.1 ATmega16单片机控制电路74.1.1 ATmega16单片机的组成74.1.2 ATmega16的引脚功能74.1.3 ATmega16单片机基本硬件电路104.2 XL105-232无线模块124.2.1 XL105-232模块简介124.2.2 XL105-232特点124.2.3 XL105-232模块的应用124.2.4 XL105-232管脚定义135 机械手驱动电机舵机145.1 舵机的组成145.2 舵机的工作原理145.3 舵机的控制166 软件设计176.1 软件设计概述176.2 A/D采样程序设计186.3 舵机控制程序设计196.4 无线模块程序设计207 系统调试218 结论22附录一23附录二24参考文献27致 谢285 1 绪 论自20世纪70年代开始,工业机械手得到了很大程度上的发展,已经成为在自动化生产中一种无法取代的设备。机械手综合了多学科的最新研究成果,作为工业机器人的一个重要组成部分。人们可通过编写相应的指令程序让机械手完成各种指定的动作,或者是让机械手有自主的适应和判别能力。1.1 机械手的现状在自动化生产过程中,人们会使用能够抓取和移动工件的自动化装置,我们把这种装置称之为机械手。在生产和应用的实际当中,并不是单纯的使用机械手来替代人工劳动,而是把机械手作为综合人和机器特长的一种电子机械装置。随着科技的进步,机器人技术取得了突破性的进展,这也更加促进了机械手的发展。在短短的几十年中,伴随着科学技术的进步和工业生产的需求,机械手已经发展了几个阶段:第一个阶段是机械手能够基于某种特定指令从而完成相应动作的过程;第二个阶段是机械手通过传感器有一定自主能力的过程;第三个阶段是机械手渐渐地向智能型方向发展的过程。在我国,机械手的研制较发达国家晚,并由于各方面的原因在技术的应用和发展上也较为缓慢。但是近些年,我国开始引进国外机械手技术,从仿制到改造,最后实现自主的创新。一些科研单位和高校也积极参与到机械手的研制中,现有在进行工业机器人研制开发或从事工业应用的单位达到200家以上,而且研究单位和从事的科研人员每年都在增加。1.2 机械手的发展前景在国内,机械手的应用越来越广泛,注重对热处理、铸造、焊接等方面机械手的手展。从而有利于降低劳动强度,改善作业条件。除了专用机械手外,通用机械手也得到了发展,下一步还将研制示教机械手、组合机械手等。在机械手指标上,要以提高速度、减少冲击、正确定位为目标,让机械手能够在应用中发挥更好的作用。在国外,目前主要是研究智能型机械手。通过大量传感器的应用,使机械手有感知能力,能根据外界条件的变化做相应的姿态调整。如果位置稍有偏差时,就可以自动进行检测和校正。重点是研究视觉和触觉功能,使机械手能够像人一样有感知和自我判断能力,这项研究目前已经取得了一定的成绩。世界高端工业机械手均有高精化、高速化、轻量化、多轴化的发展趋势。在定位精度上,不但满足微米级要求,甚至达到了亚微米级,运行速度能够达到3M/S,量产产品达到6轴。随着机械手的小型化和微型化,其应用领域将会突破传统的机械领域,而向着生物技术、生命科学、电子信息及航空航天等高端行业发展。可以预见,在未来机械手一定会在工业生产以及人们的日常生活中做出更大的贡献。1.3 研究意义机械手主要用于几个方面:恶劣的工作环境及危险的工作、极限作业和特殊作业场合、自动化生产领域。在应用的同时给人类带来了很多好处,比如:减少了劳动费用、提高了生产效率、改进了产品质量、减少了材料浪费等等。本次研究的机械手是需要人工操作的,根据人手的动作完成相应匹配的动作,这种类型的机械手广泛用于原子能和军事工业,还有一些医疗手术器械。1.4 研究的主要内容本设计主要研究六自由度机械手遥控技术,即机械手与操作者之间的协调控制。模拟人手控制技术,即通过人手臂上的电位器感知人手的动作位置,从而直接控制机械手完成相应的动作。2 硬件系统的总体结构本系统的六自由度机械手自行设计,由自主组装完成,下面介绍机械手的总体结构和硬件结构,为六自由度机械手控制系统提供设计的依据。2.1 硬件系统的总体结构模块化的设计理念有助于系统的设计,在本设计当中机械手采用的设计方法亦是如此。在设计的过程中,把机械手划分为底座、手臂、手腕、夹持器四个部分,每个部分都由舵机单独控制,采用铝合金支架、螺丝、螺母进行组装和固定。如图1所示为模块化的设计总图,可以从图中看出机械手的四个组成部分和驱动相应部分的舵机编号。六自由度机械手底座夹持器手腕手臂舵机0舵机4舵机3舵机2舵机1舵机5图1 硬件结构总体组成2.2 机械手的硬件结构组成本系统的机械手由舵机、铝合金支架和底座组成。运动结构是由底座的旋转部分、手臂的转动部分、手腕的转动部分和手部的夹持部分构成的。机械手由6个舵机驱动,每个舵机代表一个自由度,舵机的工作电压为6V、扭力13KG。图 2 机械手结构 3 方案设计本系统主要由控制器ATmega16单片机控制模块、驱动电机模块、无线模块组成,系统结构图如下图3。电位器ATmega16单片机主机 XL105-232 无线模块ATmega16单片机 从机机械手 图3 系统结构图在本系统中,采用电位器作为人手关节转动角度的传感器,测得的角度数据的模拟量传给ATmega16单片机,ATmega16单片机进行A/D采样,把模拟量转化为数字量。每个电位器的数字量转化结果对应的控制舵机,使舵机转动相同的角度值,达到机械手跟随人手动作的控制效果。下面对系统各模块的选择进行论证。 3.1 控制处理器的论证与选择方案一:采用STC89C52单片机。STC89C52单片机具有使用简便、价格便宜等诸多特点。可用软件实现简单的逻辑控制和算法。但是其运算能力低,执行指令时间长,因此速度较慢。加上比较功能单一,很难实现复杂的任务要求。如果要实现A/D采样功能,还需要在片外增加A/D采样模块。方案二:采用ATmega16单片机它具有精简指令集,拥有丰富的定时器,16KB的系统内可编程Flash,运算速度快,并带8路10位具有可选差分输入级可编程增益的A/D转换器(ADC)。数据的吞吐率高达1MIPS/MHz(MIPS表示M条指令/s),因此能够适应系统快速响应和应付复杂任务的要求。综合以上两种方案,选择方案二。3.2 驱动电机的论证与选择方案一:直流电机直流电机具有很高的速度、调节范围宽、调速平滑、控制方便等优点,但是在低速运行时,输出力矩很小,在一些要求比较高的拥有较重负载的场合,如果直接使用直流电机,容易导致电机烧毁。在本设计中,机械手重达3KG,所以很难用直流电机来直接驱动。另外直流电机在小角度转动的过程中是接近于短路状态的,使得直流电机在驱动机械手时很容易发生烧毁的现象。方案二:直流减速电机减速电机是在直流电机的基础上,带有减速齿轮机构的一种电机,在低速运行过程中,能实现较大的力矩输出。但是在应用于机械手的控制时,其控制程序比较复杂。在体积上也不适用于本设计的小型机械手。方案三:步进电机步进电机是一种将电脉冲信号转换成相应的线位移和角位移的控制电机。它的特点是具有快速启动和停止能力,输出力矩大、控制精度高,并且能实现正反转控制;但缺点是控制复杂、转速低、步进距离不够精细,时而会出现丢步的现象。方案四:舵机舵机也称为微型伺服电机,它的特点是结构紧凑、控制简单、高扭矩、成本较低、易于安装调试等。舵机能在航模和微机电系统中作为基本的输出执行机构,其简单的控制和输出使得单片机系统很容易与之对接。综上,本设计选择舵机作为机械手的驱动电机。3.3 无线模块的论证与选择方案一:采用24L01无线模块nRF24L01是一款工作在2.42.5GHz世界通用ISM频段的单片无线收发器芯片。频道选择、输出功率和协议的设置可以通过SPI接口进行。内置频率合成器、晶体振荡器、调制器、功率放大器等功能模块,其中通信频道和输出功率可以通过程序进行配置。缺点是配置繁琐,操作不便。方案二:采用XL105-232无线模块XL105-232无线模块是拥有串行数据总线接口的半双工无线传输模块,可以用于异步串行通信,工作频段为2.4G。具有传输距离远、传输速度快等特点。可以直接把有线连接转为无线,兼容各种有线通讯串口协议,使用简单,控制方便灵活。由于A/D采样和舵机控制程序本身也较为复杂,为了调试和控制的便捷性,选择方案二。4 硬件设计4.1 ATmega16单片机控制电路4.1.1 ATmega16单片机的组成ATmega16单片机是基于增强的AVR RISC结构的低功耗8位CMOS微控制器。由于其先进的指令集及单时钟周期指令执行时间,ATmega16的数据吞吐率高达1MIPS/MHz,从而减缓了系统在处理速度和功耗上的矛盾。ATmega16有如下特点:16KB系统内可编程Flash,1KB SRAM,512字节EEPROM,32个通用I/O口线,32个通用工作寄存器,用于边界扫描的JTAG接口,支持片内调试与编程,3个具有比较模式的灵活的定时/计数器(T/C),片内/外中断,可编程串行USART,通用两线串行接口,8路10位具有可选差分输入级可编程增益的A/D转换器(ADC),具有片内振荡器的可编程看门狗定时器,一个SPI串行端口及6个可以通过软件进行选择的省电模式。4.1.2 ATmega16的引脚功能ATmega16的引脚封装有几种形式,本设计采用的ATmega16单片机是40脚封装的结构,其引脚分布如图4所示。 图 4 ATmega16引脚图(1)Vcc:电源正。(2)GND:电源地。(3)端口A(PA0PA7):端口A为8位双向I/O口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,端口A处于高阻状态。端口B、端口C、端口D的特性都和端口A相同,区别只在于第二功能上,下面列出了各个端口的第二功能。表1 PA口引脚第二功能端口引脚第二功能PA0ADC0(ADC输入通道0)PA1ADC1(ADC输入通道1)PA2ADC2(ADC输入通道2)PA3ADC3(ADC输入通道3)PA4ADC4(ADC输入通道4)PA5ADC5(ADC输入通道5)PA6ADC6(ADC输入通道6)PA7ADC7(ADC输入通道7)(4)端口B(PB0PB7)表2 PB口引脚第二功能端口引脚第二功能PB0T0(T/C0外部计数器输入)XCK(USART外部时钟输入/输出)PB1T1(T/C1外部计数器输入)PB2AIN0(模拟比较正输入)INT2(外部中断2输入)PB3AIN1(模拟比较负输入)OCO(T/C0输出比较匹配输出)PB4(SPI从机选择引脚)PB5MOSI(SPI总线的主机输出/从机输入信号)PB6MOSO(SPI总线的主机输入/从机输出信号)PB7SCK(SPI总线的串行时钟)(5)端口C(PC0PC7)表3 PC口引脚第二功能端口引脚第二功能PC0SCL(两线串行总线时钟线)PC1SDA(两线串行总线数据输入/输出线)PC2TCK(JTAG测试时钟)PC3TMS(JTAG测试模式选择)PC4TD0(JTAG测试数据输出)PC5TD1(JTAG测试数据输入)PC6TOSC1(定时振荡器引脚1)PC7TOSC2(定时振荡器引脚2)(6)端口D(PD0PD7)表4 PD口引脚第二功能端口引脚第二功能PD0RXD(USART输入引脚)PD1TXD(USART输出引脚)PD2INT0(外部中断0的输入)PD3INT1(外部中断1的输入)PD4OC1B(T/C1输出比较B匹配输出)PD5OC1A(T/C1输出比较A匹配输出)PD6ICP1(T/C1输入捕捉引脚)PD7OC2(T/C2输出比较匹配输出)(7)RESET:复位输入引脚。持续时间超过最小阈值时间的低电平将引起系统复位。(8)XTAL1:反向振荡放大器与片内时钟操作电路的输入端。(9)XTAL2:方向振荡放大器的输出端。(10)AVCC:端口A与A/D转换器的电源,不使用A/D转换器时,该引脚直接与Vcc连接。使用A/D转换器时应通过一个低通滤波器与Vcc链接。(11)AREF:A/D转换器的模拟基准输入引脚。4.1.3 ATmega16单片机基本硬件电路ATmega16单片机基本硬件电路由电源、复位、晶振、A/D转换滤波、ISP下载接口五部分组成,如图5为ATmega16的基本硬件组成原理图。其中电源、复位和晶振电路称为最小系统电路。图5 ATmega16最小系统(1)电源ATmega16有5V直流电源供电。(2)复位电路51单片机采用的是高电平复位,而AVR单片机则是低电平复位。ATmega16已经内置了上电复位设计,故AVR外部的复位线路在上电时,可以设计的很简单:设计时只需要直接连接一个1K的电阻(R1)到Vcc即可。为了可靠,再加上一个100pF的电容器(C1)以消除杂波和干扰。电路中D1有两个作用:一是将复位输入的最高压钳在Vcc+0.5V左右;二是系统断电时,将R1电阻短路,让C1快速放电,在下一次来电时,能产生有效的复位。图6 复位电路(3)晶振电路ATmega16已经内置RC振荡线路,可以产生1MHz、2MHz、4MHz、8MHz的振荡频率。但是在一些要求较高的场合,需要用到外部的晶振电路。外部晶振电路由两个22pF的电容和一个8M频率的晶振组成,连接单片机的12脚(XTAL1)和13脚(XTAL2)。图7 晶振电路(4)A/D转换滤波电路官方芯片手册推荐在Vcc接上一个10uH的电感(L1),然后再接一直100pF(C6)到地,本次电路设计采用了这种连接方法。ATmega16内带2.56V标准参考电压,也可以从外面输入参考电压。习惯上在AREF脚接一直100pF的电容到地(C4)。需要说明的是如果想简化线路,电路设计时可以将AVcc直接接到Vcc,将单片机的32脚(AREF)悬空,即这部分不需要任何的外围零件。(5)ISP下载接口ISP下载接口使用双排25插座。由于也有外围零件,故PB5(MOSI)、PB6(MOSO)、PB7(SCK)、复位脚仍可以正常使用,不受ISP的干扰。图8 ISP下载电路4.2 XL105-232无线模块4.2.1 XL105-232模块简介XL105-232无线模块是UART 接口半双工无线传输模块,可以工作在2.4G公用频段。对于各种设备之间的无线通信,如计算机、单片机、及各种机器设备串口,可以应用本模块作为无线通信的工具。它能够把有线连接直接升级为无线链接,而没有附加的程序,完全兼容有线串行通信协议,操作简单、使用方便。4.2.2 XL105-232特点(1)拥有50米的开阔地传输距离(2)工作频率在2400M2483M,16个工作通道(默认1通道)(3)可设置ID:范围065535(4)串口速率1.2K115.2KBPS(默认9.6KBPS)(5)数据格式8N1(6)方便快捷的参数设置4.2.3 XL105-232模块的应用(1)智能家居、无线传感、安全系统(2)无线数据连接、遥测、小型的无线网络(3)车辆监控、防盗(4)机器人控制,飞思卡尔智能车控制(5)无线抄表、门禁系统、小区传呼(6)汽车四轮定位等4.2.4 XL105-232管脚定义图9 XL105-232管脚定义XL105-232各管脚定义见下表5所示:表5 XL105-232各管脚定义管脚定义说明电平1VCC电源+5V2GND地GND3TXD模块数据输出(接单片机RXD)TTL4RXD模块数据输入(接单片机TXD)TTL5SET设置时拉低,平时悬空6GND地GND5 机械手驱动电机舵机舵机最早出现于航模模型中,作为遥控模型用于控制动作的主要动力源。舵机可以看成一个封装了电机、控制机反馈系统的动力总成,它使用简单、动力强劲、能按照信号的要求精确地控制电机轴的唯一角度,通常被人们用于制作小型机器人、玩具并用于设备动作的动力源等。在一些角度需要不断变化并且能够保持的控制系统中,舵机非常适用。本设计采用的是模拟舵机。5.1 舵机的组成舵机是由外壳、电机、齿轮组、传感器、控制电路和控制线组成的伺服系统。舵机的电机有用普通小型直流电机的,也有用无刷直流电机的。常用无刷直流电机作为舵机驱动电机,这样的舵机稳定性强、寿命更长、精度更高、扭力更大。控制电路板主要有电机驱动电路和信号电路组成,驱动电路由晶体管或FET场效应管组成的放大电路构成,采用场效应管驱动可以获得更大的驱动能力。而在信号处理电路上,舵机通常采用专用的直流伺服电机控制芯片,所以只能接收频率为50Hz的PWM脉宽调制信号输入。图10 舵机组成5.2 舵机的工作原理标准的舵机有3条引线,分别是电源线Vcc、地线GND和控制信号线。舵机的供电电源需要单独提供,因为舵机在工作时会产生一定的噪声和干扰,如果出现超载的情况,舵机还会拉低电压,所以为了保证系统稳定运行,单片机和舵机分别有两组电源供电。输出转轴地线GND电源线Vcc控制信号线图11 舵机控制线舵机的控制实际上属于一个闭环的控制系统。当信号接口收到信号后,控制电路对信号作出计算和反应,驱动电机运转,电机带动舵机输出轴输出力矩,同时也会带动电位器。对于舵机来说,这个电位器就是位置传感器,它的当前阻值代表着电机轴所处的位置。电机转动导致电位器的阻值发生变化时,控制电路读取电位器的阻值,并与理论计算值进行比较,其阻值不是计算值时,电机继续转动。当转到信号要求位置时,电路控制电机停止转动,完成一个信号所要求的动作。当电机轴受到外力发生偏转时,舵机会通过电位器感知到位置偏移,启动电机进行校正。控制电路比较电位器直流电机齿轮组控制脉冲比较电压图12 舵机工作原理图在本系统中,控制信号由ATmega16单片机主机采样电位器的模拟量后发出,传送到从机,从机把信号输出给舵机的信号调制芯片,从而得到直流偏置电压。它内部有一个基准电路,产生周期为20ms、宽度为1.5ms的基准信号,并将获得的直流偏置电压和电位器的电压比较,获得电压差输出。最后,将电压差的正、负输出到电机驱动芯片决定电机的正反转。当电机转速一定时,通过级联减速齿轮带动电位器旋转,使电压差为0,电机停止转动。5.3 舵机的控制舵机的控制信号也是PWM信号,利用占空比的变化改变舵机的位置。标准舵机所要求的PWM信号波形,周期为20ms,高电平脉宽最小0.5ms、最大2.5ms。舵机的设计用途决定它的输出轴是否能连续转动,输出轴能转动的范围是有舵机设计是的结构所决定的,一般是1800,有些可以3600的旋转。本系统使用1800舵机,我们把0.52.5ms的脉宽划分到1800中,那么1.5ms脉宽时正好是中点,0.5ms脉宽时左转到极限位置,2.5ms脉宽是转到右极限位置,在这个范围内,脉宽的时长对应特定的角度。表6是脉宽与位置角度的对应关系。表6 脉宽与位置角度的对应关系PWM脉冲宽度(周期为20ms)舵机输出轴转角0.5ms001ms4501.5ms9002ms13502.5ms18006 软件设计6.1 软件设计概述软件设计是本设计的重中之重,在硬件设计完成并达到要求后,要想真正让机械手动起来,还需要软件设计和硬件电路的配合。AVR单片机的编程语言主要有两种类型:一是汇编语言;二是C语言。汇编语言的机器代码生成效率很高,但可读性并不强,复杂一点的程序就更是难读懂;而虽然C语言机器代码生成效率不如汇编语言,但可读性和可移植性却远远超过的汇编语言,并且还便于模块化的编程。因此,采用C语言为系统编程语言。开始初始化程序6路A/D采样发送采样结果给从机 采样完成? 发送完成?结束等待等待 图13 主机程序流程图开始初始化程序收到主机信号?控制舵机叫校正角度偏差为0?结束等待主机命令等待校正完成 N N 图14 从机程序流程图6.2 A/D采样程序设计A/D采样是把模拟量转化为数字量的过程,采集的模拟信号实际上为电压信号,由于电压在时间上连续,所以需要在连续的时间点上,按照某种既定的规则来截取电压信号,使之转化为数字信号。在程序设计时,需要首先选定一个参考电压,系统采用外部5V电压源作为参考电压,对输入的电位器模拟电压信号进行采样。在采样结束后,先进入保持时间,以便于将采样的电压量转化为数字量,通过人为规定的编码形式给出A/D转换结果,同时清除中断标志,然后再开始下一次采样。选择A/D参考电压设置时钟分频使能A/D转换及中断转化完成?清中断标志读取A/D转换结果等待转换完成 图15 A/D采样流程图6.3 舵机控制程序设计单片机系统实现对舵机输出转角的控制,必须首先完成两项任务:首先,产生基本的PWM周期信号,即产生20ms的周期信号;其次,调节脉冲宽度,即在单片机编程时调节PWM的占空比。在本系统中占空比是由安装在人手上的电位器来调节的。单片机控制单个舵机比较简单,利用一个定时器即可。其控制思路如下:利用单片机的一个定时器,定时时间为0.5ms;再定义一个变量,数值最大为40,这样周期即为20ms。此外,定义一个舵机角度的标志,每次进入定时中断,判断此时的标志,进行相应操作。如果要让舵机跟随电位器转动,就需要把角度标识作为一个变量来编程。而如果要控制6路舵机,只需要定义相应的6个变量就可以了。在本系统中,ATmega16从机接受主机发来的信号,作为舵机的控制信号,控制舵机转动相应的角度值。检测电位器A/D转换主机发送给从机数字信号根据数字信号设置高电平持续时间,从而控制输出脉冲的占空比来控制舵机角度图16 舵机控制程序流程图6.4 无线模块程序设计XL105-232无线模块的编程和串口通信编程方法一样,本系统涉及两个单片机之间的通讯,通过无线模块实现对接。其流程图如图9所示。串口初始化中断使能发送/接收数据寄存器为空?等待清空 图17 无线模块程序流程图7 系统调试系统的调试标志的作品的设计进入了尾声,也是一个攻坚阶段。一般的单片机系统调试包括两个模块,一个是硬件调试,另一个是软件调试,两者息息相关,密不可分。软件故障是由硬件来体现的,在硬件调试时又可以发现软件设计的问题。硬件的故障主要是由几方面的原因引起的,列举如下。第一,在电路的逻辑设计上存在错误,比如短路、开路、制版过程中断线。第二,元器件失效,有可能是元件本身就损坏了,也有可能是元件极性安装错误导致烧坏。第三,电源的故障,可能是电源极性接反,电压不足等方面的原因。针对以上的这些原因,首先要求调试时先排查电路本身设计上的逻辑关系,确保电路本身设计无误。接着,在元件焊接安装中,应该先测试器件,对准极性位置再往上焊接。最后,在电路通电之前,认真核对所接导线的极性,避免接反。在进行软件调试时,要分模块进行。首先,对主机的调试,由一个电位器开始,先读出1个电位器的模拟量,接着再读出所有6个电位器的模拟量。然后,对从机的调试,也是由1个舵机开始,先控制1个舵机,再调试所有的6个舵机。最后,调试无线模块,把有线连接改为无线连接。系统调试的过程中,会遇到许多的问题,有的问题可能一时半会解决不了,找不到原因,此时就需要自我调节情绪,戒骄戒躁,耐心仔细的调试,直至找出原因。8 结论在做毕业设计的过程中,我充分的利用了大学四年学到的知识,理论结合实践,在实践中去发现自己的不足。在此过程中,我收获了课堂上学不到的东西。从选题开始我就反复斟酌,发现机械手控制在目前的研究当中还是比较少,而机械手作为机器人领域的一个重要分支,在将来的生产、生活应用中将越来越广泛。所以我在选题时,大胆的选择了这个研究领域。通过查阅资料,决定采用电位器作为传感器,由人手直接操作机械手的控制方案。在作品设计时,已经充分考虑到系统需要6路AD采样的情况,故采用ATmega16单片机自带的A/D采样功能,充分发挥AVR单片机处理速度快,接口功能和内部资源丰富的特点,对6路电位器的模拟量进行采集。此外,在焊接电路时,要做到仔细认真,焊完一个查一个,避免虚焊、漏焊现象的发生。系统联调时,一定要耐心,如果发现问题,一个一个点的排查,直到找出根本性的原因。本设计在总体上达到了预期效果,控制简单,几乎同步的跟随人手动作。随着智能型机械手研究的进一步深入,大量运用传感元件,拥有自主功能的智能型机械手将是接下来的研究方向。通过这次毕业设计,我认识到了自己的一些不足,比如对于模块数据手册的理解不是很透彻,对于功能的创新和程序的优化还有待加强。实践是检验我们学习成绩的最好试金石,通过这次的毕业设计,我认识到自身的知识体系还不够完善,这需要在今后的学习和工作中不断加强知识体系的建构,从而来提高自己。附录一附录二#include#includedingyi.h#include/里面包含很多数学运算函数#define uchar unsigned char#define uint unsigned int#define fosc 8000000/晶振频率uchar weixuan=0xe3,0xe7,0xeb,0xef,0xf3,0xf7,0xfb,0xff;uchar duan=0x3f,0x0

温馨提示

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

评论

0/150

提交评论