版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于STM32的机械臂驱动系统设计摘 要由于机械瞎在各行各业中得到了愈来愈广泛的应用,机械臂控制的多样化、复杂 化的需要也随之日趋增多。作为当今科技领域研究的一个热点,提高机械臂的控制精 度、稳定性、操作灵活性对于提高其应用水平有着十分重要的意义。本课题主要对四自由度机械臂控制系统进行了研究与设计。作为运动控制系统的 一种,该控制系统主要面向底层,力争开发出一套稳定性高,可靠性强并且定位准确 的工业机械臂系统。首先根据机械臂系统的控制要求,整体上设计出单CPU的系统控制方案,即通 过控制主控制器输岀的PWM波的占空比实现对舵机转动的控制,进而实现各个关节 的位置控制。在硬件方面,主要论述了如何
2、以ARM微处理器STM32F103ZET6、MG995舵机、MG945舵机、超声波传感器和电源模块为主要器件, 通过搭建硬件平台和设计软件控制程序构建关节运动控制系统。然后按照结构化设计 的思想,依次对以上各部分的原理和设计方法进行了分析和探讨,给出了实际的原理 图和电路图。在软件设计方面,按照模块化的设计思想将控制程序分为初始化模块和 运行模块,并分别对各个模块的程序进行设计。实验表明,该机械臂控制系统不仅具有很好的控制精度,还具有很好的稳左性、 准确性,而且在很大程度上改善了定位精度。关键词:四自由度机械臂,STM32, Cortex-M3,脉冲宽度调制东北大学秦皇岛分校毕业设计(论文)第
3、IIthe Design of Manipulator Drive System Based on STM32Author: XXX Tutor: XXXAbstractIn recent years, robot arm is widely used in industry control, special robot, medical device and home service robots Research of robot arm control system is a focus in robot area It is meaningful to increase the per
4、formance in accuracy, stability and feasibilityThis paper is the research and design about a control system based on a four degrees freedom design. And, we strive to develop a high stability, reliability and accurate control syste m.Firstly, according to the control requirements of the robotic syste
5、m, the overall design of the system control program is based on a single CPU Turn the steering control to achieve the control of the duty cycle of the PWM wave output by the main controller, so as to realize the position control of each joint. In terms of hardware, the paper mainly discusses how to
6、use the ARM microprocessor STM32F103ZET6, MG995 Servo, MG945 servos, ultrasonic sensors and power supply module as the main components, build a joint motion control system by building hardware platforms and software control program Then follow the structured design ideas, principles and design metho
7、ds sequentially over each part is analyzed and discussed, and then give the actual schematic or circuit diagram. In software design, the control program is divided into the run modules and the initialization module and design program of each module separatelyControl system experiments show that the
8、system can significantly improve the precision of control, and improve system stability, accuracy, so that the positioning accuracy of the robot arm has been greatly improved and enhanced.Key Words: Four Degrees Freedom Robot, STM32, Cortex-M3, Pulse Width Modulation目 录1绪论1I.I机械臂概述11机械臂研究的意义11.1.2国内
9、外机械臂的研究现状及发展趋势11.13机械臂的分类21.2机械臂控制的研究内容4121机械臂的驱动方式41.2.2机械臂的机械结构41.23机械宵的控制器4124机械肾的控制算法513嵌入式系统简介51.4本文的主要工作62机械臂控制系统的总体方案设计72机械臂的机械结构设计72.1.1臂部结构设计原则72.1.2机械臂自由度的确定72.2工作对象简介72.3机械臂关节控制的总体方案823.1机械臂控制器类型的确定8232机械臂控制系统结构92.33关节控制系统的控制策略92.4本章小结93机械臂控制系统硬件设计113.1机械骨控制系统概述113.2微处理器选型113.3主控制模块设计133.
10、3.1电源电路13332复位电路14333时钟电路.15334 JTAG调试电路153.4驱动模块设计163.5电源模块设计17i东北大学秦皇岛分校毕业设计(论文)第III3.6传感器模块设计193.7本章小结194机械臂控制系统软件设计204.1初始化模块设计204.I.I系统时钟控制204.1.2 SysTick 定时器224.1.3 TIM 定时器234丄4通用输入输出接口 GPIO244丄5超声波传感器模块244.2运行模块设计254.3本章小结265系统的整机调试275硬件调试275.2软件调试285.3故障原因及解决方法315.4本章小结32结论33致谢34参考文献35附录37附录
11、A37附录B46附录C47i 东北大学秦皇岛分校毕业设计(论文)第31绪论1.1机械臂概述1.1机械臂研究的意义早在几千年前,人类就开始了机器人的制造,以解决人类繁重的劳动。例如,古 希腊诗人荷马在其长篇叙事诗伊利亚特中,描述了 “火和锻冶之神”赫菲斯托斯 用黄金锻造出一个侍女。一直以来,人们也一直致力于将这些美丽的神话变为现实。 1958年世界上的第一台机器人被发明以来,与工业机器人相关的技术得到了迅猛的发 展,并且己经愈来愈广泛的应用在机械、电子、汽车等行业。如今,机器人技术已成 为衡量一个国家科技水平的标志之一。作为近几十年来发展起来的一种自动设备,机械臂可以通过编写软件程序来完成 目标
12、任务,它不仅具有人和机器各自的很多优点,而且特别具有人的智能性和适应性。 在作业过程中,机械臂控制的准确性和对环境的适应性,已经使其在各个领域有着广 阔的发展前景。高级类型的机械臂,可以执行更复杂的操作同。将机器臂运用于工业生 产过程,除了可以提高生产率之外,还能够减弱工人的劳动强度,使生产过程实现自 动控制。因此机械臂在近几年得到了愈来愈广泛的应用。1.1.2国内外机械臂的研究现状及发展趋势机器人的研究始于二战后的美国 1958年第一台数控工业机器人诞生后,机器人 在工业上的应用不断增加,日本、徳国等国家也相继开始机器人的研制。中国对现代机器人的研制始于上世纪70年代后期,80年代进入到飞速
13、发展时期。 尤其在国家成立了 863计划后,机器人技术得到特别的重视,由此中国在机器人领域 取得了飞速发展,相继研制岀示教再现型的搬运、焊接、喷漆、装配等各种工业机器 人,以及水下作业、军事和特种机器人。机械臂发展状况概括如下:第一代机械臂,即示教再现方式的机械臂。目前这种机械臂仍广泛应用于各种场页.合。这种工作方式只能按照事先设置的位置进行重复的动作,但是不能感知周围环境, 其应用范围因此受到一定的限制。这类机械臂主要工作于原料搬运、喷漆、焊接等工 作场合。第二代机械臂,即具有视觉、触觉等外部感觉功能的机械臂。这类机械臂可以根 据周围环境的变化进行自适应,故可以完成较为复杂的工作。图1.1
14、一汽红旗轿车机器人焊接生产线第三代机械臂,这类机械臂不仅具有第二代机械臂的感觉功能,而且还具有规划 和决策的功能。从而在环境发生变化时进行自主的工作。但是目前这类机械臂依然处 于研究阶段,还需要一段时间才能得到实际应用。图1.2演奏机器人从机械臂几十年来的成长进程来看,高精度,多功能,集成化,系统化以及智能 化是机械臂在以后多年中的发展方向。1丄3机械臂的分类机械臂一般从运动坐标形式分为直角坐标式机械臂、圆柱坐标式机械臂、极坐标 式机械臂和多关节式机械骨。直角坐标式机械臂:由三个线性关节来确定手爪的位置,通常还带有附加的旋转 关节用来确宦末端执行器的姿势。这类机械臂虽然控制位置精度高、简单,但
15、结构繁 杂,占地面积大。圆柱坐标式机械宵:由两个滑动关节以及一个旋转关节来确定手爪的位置,也可 以再附加一个旋转关节来确定部件的位置。其位置精度仅次于直角坐标式机械臂,控 制简单,但结构庞大,移动轴的设计复杂。极坐标式机械臂:它由一个滑动关节以及两个旋转关节来确定手爪的位置,也可 以附加一个旋转关节来确怎部件的姿势。这类机械臂占地面积小,结构紧凑,但有平 衡问题,位置误差与臂长有关。多关节式机械臂:其关节都是旋转的,类似于人的手臂,是工业机械臂中最常见 的构型。该类机械臂结构紧凑,占地面积小,工作空间大,但是位置精度较差,控制 存在耦合,比较复杂。图1.31.6分别对应以上四种机械臂。图1.3
16、直角坐标式机械臂图1.4圆柱坐标式机械臂东北大学秦皇岛分校毕业设计(论文)第3图1.5极坐标式机械臂图1.6多关节式机械臂1.2机械臂控制的研究内容1.2.1机械臂的驱动方式作为驱动方式,通常采用液压驱动、气压驱动和电机驱动三种类型。液压式:液压驱动机械臂通常由液动机(各种汕缸、油马达)伺服阀、油泵、油 箱等组成驱动系统,由驱动机械臂的执行机构进行工作。气压式:其驱动系统通常由气缸、气阀、气罐和空压机组成。电动式:电力驱动的机械臂是目前应用垠广泛的一种类型。驱动电机一般采用步 进电机、直流伺服电机或交流伺服电机,其中交流伺服电机为目前主要的驱动形式。 由于电机速度高,通常还需要减速机构凶。12
17、2机械臂的机械结构传统的机械臂系统由于占地而积较大,所以在小空间的环境下不适用。在一些特 殊的环境下,我们需要一种占地面积小而且活动灵敏的机械臂。要实现机械手皆的控 制,首先要分析机械手臂的机械结构,其中动力源以及动力传递方法应被予以重视。 现在,电力传动的机械宵得到了广泛的应用,在动力传动方式上,有连杆式、齿轮式、 绳索式等。以关节型为主流,80年代发明的适用于装配作业的平面关节型机械臂约占 总量的1/2阿。鉴于汽车、建筑、桥梁等行业的需要,超大型机械臂应运而生。123机械臂的控制器选择一个性能较好的控制器对控制功能的实现来说是十分必要的。工业控制技术、 软件和硬件技术的发展,为机械臂控制器
18、的选择提供的充分的条件。i 东北大学秦皇岛分校毕业设计(论文)第9可编程控制器(PLC)由于抗干扰能力强,故障率较低,设备易于扩展、维护, 开发周期短等特点,被广泛应用于工业场合【。但是其成本很高。数字信号处理器(DSP)采用数据和程序分离的哈佛结构和改进的哈佛结构,执行指令速度更快,它 以处理能力强、内置较大的存储器、芯片功耗低及配置资源灵活等特点得到了广泛的 应用但是其成本较高,高频干扰很大,功率消耗也很大。FPGA (FieldProgrammable Gate Array)灵活,设计周期短的特点使其特别适合用于 小批量系统,提高系统的可靠性和集成度心】。但是FPGA的功耗非常大,而且跟
19、硬件 的的联系非常大,使用起来很有难度【囚。与上述各种微处理器相比,STM32F103ZET6处理器是意法半导体公司STM32系 列芯片的一种,STM32F103ZET6采用ARM最新的Cortex-M3内核,具有低成本、高 集成度、低功耗等优点ARM微处理器资源丰富,具有很好的通用性,在很多领 域都得到了广泛的应用。124机械臂的控制算法应用于机械痔系统控制方法多种多样,包括传统的P1D控制,现代控制的轨迹控 制、模糊控制、自适应控制等。PID控制的实用性很强。只要三个参数配合适当,便 可实现速敏捷、平稳准确的控制。工业生产上的机械臂经常采用示教再现的方式。模 糊控制和自适应控制精度高,是现
20、代控制领域中应用广泛的控制方法,尤其体现在军 工领域和航天领域中。机械臂的研究内容除以上主要内容外,智能化传感器的应用、机器人的编程语言 以及网络通讯等技术对于机器人系统也有非常重要的意义。1.3嵌入式系统简介在一般情况下,嵌入式系统是“执行特殊功能并受内部控制器控制的设备或系统” ,即“嵌入到对象体系内的特定计算机系统” “嵌入性”、“专用性”与“计算机 系统”是嵌入式系统的三个基本要素。它主要负责信号的控制,体积小,可作为一个 部件嵌入到所控制的装置中。它提供用户接口、有关管理信息的输入输出等,使设备 及应用系统有较高的智能和性价比。进入微型计算机机时代后,科技人员开始了嵌入 式系统的研究
21、,之后迅速进入到独立发展的单片机时代,随后又迅速进入到电子技术 领域中。嵌入式技术的发展不仅使机器人在微型化、智能化等方而具有更明显的优势,同 时又使机器人的价格大幅降低,实现了机器人在更多领域广泛的应用。1.4本文的主要工作该设计主要负责四自由度机械臂控制系统相应的软件、硬件的设计与开发。该设计以四自由度机械臂为控制基础,以STM32F103ZET6为主控芯片,设计的 机械臂控制系统,控制精度较高,稳宦性较强,具体的内容包括如下几个方面:1. 对机械臂系统的硬件设计进行分析,具体的电路以及芯片的选择进行了较为详细 的介绍,并对其可靠性进行了深入的分析。2对舵机的控制理论进行了深入的研究,分析
22、讨论了控制系统所涉及的主控芯片。3根据四自由度机械臂需要完成的工作任务,编写了系统的软件控制程序,对初始 化、运行等模块展开了较为详细的介绍,之后对整个系统进行了反复的调试,调试结 果表明,所设计的机械臂控制系统可以实现较为精确的控制。2机械臂控制系统的总体方案设计2机械臂的机械结构设计2.1.1臂部结构设计原则作为机械臂的一个重要组成部分,手臂不仅起到支撑被抓物体、手爪和其他关节 的作用,而且还可以驱动手爪抓取物体,并根据事先预定的位置将物体搬运到指怎地 点。机械臂的结构形式必须基于其运动形式、动作自由度、抓取质量、受力情况和其 他的因素来确定,整个系统的总质量比较大,受力也比较复杂,其运动
23、部件的质量直 接影响到机械臂的刚度和强度。所以,进行手臂的设计时,一般应注意下述要求:(1)刚度要大。为了避免机械臂在运动过程中发生较大的形变,要合理选择手臂 的截面形状。(2)导向性要好。为了避免机械臂在运动过程中发生不必要的相对运动,臂杆最 好设计成方形或是花键等形式。(3)偏重力矩要小。要尽可能减小机械臂运动部分的质量。该设计根据机械臂的功能及搬运工作的任务的特点以及类型,为了使其在一定程 度上具有操作的灵活性和运行性能的良好,经过多次的比较、讨论后,该设计选用多 关节型的机械臂,它不仅具有动作的角度大的优点,还可以使机械臂在更大的空间内 的运动。2.1.2机械臂自由度的确定机械臂的自由
24、度是一个非常重要的参数,取决于机械臂的类型及其结构,并且在 很大程度上直接决左到机械臂能否完成预定的任务。一般来说是根据机械臂的用途来设计机械臂的自由度。自由度越多的机械臂,具 有更大的运动的灵活性,通用性也越强,但结构较复杂,难以实现。所设计的搬运机械臂采用四个自由度就可以完成设左的搬运任务。其中机械宵的 手臂的旋转关节包括腰关节、肩关节、肘关节和腕关节四个关节以及末端手爪的开合。2.2工作对象简介在工业现场采用机械臂进行的工作对象中袋装物品和箱装物品较为是常见的。在 一般的情况下,箱装物品由于具有规则的外形,多使用吸附式的手爪;而袋装物品由 于具有极易产生形变的特点,多使用夹钳式或者插板式
25、的手爪。在该设计中,由于受机械臂硬件条件的限制,选择夹钳式的手爪搬运箱装物品。 模拟的箱装物品的长、宽、高分别是55mm、36mm和30mm。在进行工作对象的选择过程中,共有3种型号可供选择。其中长、宽、高分别是 40mm. 36mm、和30mm的工作对象由于超声波传感器的反射面较小,所以当其已经 运动到指定搬运位置时,传感器不能准确的检测到物体,所以控制精度不够离,放弃 采用。而长、宽、高分别是65mm、36mm和30mm的工作对象对于该手爪来说尺寸较 大,在抓取和搬运的过程中经常出现掉落的现象,所以没有采用。2.3机械臂关节控制的总体方案2.3.1机械臂控制器类型的确定作为机械臂的心脏,机
26、械臂控制器是根据程序指令和从传感器获得的传感信息来 控制机械臂完成事先预怎的动作或任务的装置,控制器的性能决立了机械臂控制性能 的好坏。从计算机结构、控制方式方面来划分,机械臂控制器大约可分为3种:单 CPU集中控制方式、多CPU分布式控制方式、二级CPU主从式控制方式。(1)单CPU集中控制方式:单CPU集中控制系统必须是一个强大的控制系统, 它的全部控制功能是用一台功能强大的计算机实现的。Hero- I、Robot- I等这些时代 较早的机器人采用的就是这种单CPU集中控制方式的结构,但由于在控制的过程中需 要进行大量的计算,因此这种控制方式的控制速度一般比较慢。(2)多CPU分布式控制方
27、式:多CPU分布式控制系统的最大特点就是一个CPU负责控制一个关节轴,同时在上位机与单轴控制的CPU之间设计了一个并行接 口,其主要负责上、下位机的通信,从而保证了数据的可靠传输。(3)二级主从式控制方式:该控制方式需要主从两个CPU,即上位机和下位的单片机两层结构。上位机负责运动轨迹的规划、运动学计算等任务,根据预定的位置, 计算出各个关节的运动量,以指令形式传送给下位的微处理器。下位的微处理器根据 指令对各关节进行运动控制。本课题所设计的机械臂系统基于STM32微处理器,利用STM32强大的运算和处 理能力,采用单CPU集中控制方式即可满足要求。232机械臂控制系统结构本课题研究的机械臂控
28、制系统采用单CPU集中控制方式,系统框图如下:计算机Link仿真器关节控制系统图2.1机械臂控制系统结构图计算机用于完成整个系统的管理、发送指令、运动轨迹规划等。计算机通过J-Link 仿真器将程序下载至STM32微处理器,向关节控制系统发出位置指令,STM32根据 指令输出PWM波,从而使机械臂的各个关节转过指定的角度,进而使其按照预定的 轨迹完成搬运任务。2.3.3关节控制系统的控制策略本课题设计的机械臂关节控制系统以STM32微处理器为核心,对直流伺服电机 (舵机)进行较为精确的运动控制。关节控制系统的工作原理是:STM32微处理器内部的PWM单元产生PWM信号, 驱动直流伺服电机旋转。
29、电机驱动舵机内部的齿轮组,其输出端带动一个线性的比例 电位器作为位置检测,该电位器把转角坐标转换为一比例电压反馈给控制线路板,控 制线路板将其与输入的控制脉冲信号比较,产生纠正脉冲,并驱动电机正向或者反向 的转动,使齿轮组的输出位置与期望值相符,令纠正脉冲最终趋于为0,从而达到使伺 服电机的精确宦位该关节控制系统的主要特点如下:(1)使用以Contex-M3为内核的STM32F103ZET6作为系统的微控制器,与传统 的51单片机相比起来,具有功耗小,运算能力大大增强的优点。(2)采用直流伺服电机驱动机械臂的各个关节,根据STM32微控制器输出的 PWM控制信号的占空比来确宦直流电动机的转速和
30、转向,控制起来简单,准确。2.4本章小结本章介绍了4自由度机械臂的结构形式,根据腰关节、肩关节、肘关节和腕关节4个旋转关节的运动特点,从整体上确宦了该机械臂控制系统的控制方案。首先确定了 该关节控制系统采用单CPU集中控制方式,然后说明了关节控制系统的工作原理,最 后介绍了本设计的关节控制系统的一些主要特点。i 东北大学秦皇岛分校毕业设计(论文)第113机械臂控制系统硬件设计3机械臂控制系统概述机械臂控制系统通常要满足如下几个基本的要求:(1)控制系统的微型化、轻型化和模块化。因为机械臂的控制系统是安装在机械 臂上的,所以为了安装的方便和减轻机械臂的负载,控制系统应尽可能实现微型化和 轻型化:
31、另外,为了达到系统的各单元之间有要求的独立性的目的,要尽量实现模块 化。(2)控制系统的实时性。为了满足机械臂的输入输出信息量大,并且计算量大, 同时要保证较高的控制精度的要求,机械臂控制系统必须具有较好的实时性。(3)系统的稳定性和开放性。稳立是保证系统正常运行的前提和保证,所以机械 臂控制系统必须具有一定的稳定性以保证系统的低故障率。此外,为了实现控制系统 以后的改进和可以方便的移植到其他的位置,这就要求控制系统具有好的开放性(。该机械皆控制系统由主控制模块、电机驱动模块和电源模块组成,每个子模块的 功能如下:主控制模块:作为该控制系统的核心,包括ARM Cortex-M3内核和有关外围电
32、 路,主要负责完成PWM波(控制信号)的输出。驱动模块:负责机械臂各个关节的驱动,由舵机组成。电源模块:机械臂控制系统采用双电源供电模式,STM32单片机经过AMS1117- 3.3V稳压芯片供电,舵机驱动模块采用7.2V可充电电池经LM2596 DC-DC可调降压 模块实现供电。3.2微处理器选型微控制器作为机械臂运动控制系统的核心,其性能对控制效果起着至关重要的作 用,因此高性能的CPU是必需的。微控制器的选择对机械臂系统的设计彩响很大,所 以要在具体分析了该控制系统的特点和要求后选择合适的微控制器,应基于整个系统 的控制速度及其智能水平两个方面,以如下几个方而为重点进行微控制器的选择:系
33、统时钟速度运算速度功能电机控制方式ROM及ROM的大小控制板的结构尺寸目前,应用于机械痔的微控制器有很多种,最广泛的有8/16位单片机和数字信号 处理器两种。选择8/16位单片机进行控制系统的设计简单,开发周期较短,但数据处 理能力弱,需要附加很多的外部设备如PID调节器和PWM发生器等才能完成较为复 杂的控制,而且系统的稳定性不强,开发板尺寸较大。相比于8/16位单片机,数字信 号处理器具有处理能力强、速度快、开发板体积小等特点,但在中断处理、位处理方 而,DSP不如单片机的资料多,而且芯片的价格以及其相应的开发软件也比较贵,针 对性性比较强,但是通用性一般比较差。具有同等性能的ARM微处理
34、器与DSP相比,资源更加的丰富,通用性明显增强, 它所具有的处理速度快、性价比高、功耗低等优点使其得到了广泛的应用。虽然作为 32位的微处理器,但是由于ARM内部具有16位的Thumb指令集,这使其能够作为 16位的单片机使用,却拥有了 32位单片机的处理速度。所以,用单片机和DSP实现 的系统,ARM都可以实现。在上述分析的基础上,经过反复比较,本设计采用意法半导体公司的STM32处理 器,如图3.1所示。STM32F103ZET6是基于32位ARM Cortex-M3内核的微处理器, 不但支持实时仿真,而且嵌入了 512KB的高速闪存。CPU的最高工作频率为 72MHz,支持 Thumb-
35、2。图3STM32STM32的主要特性如下【哄22:内核为 ARM32 位的 Cortex-M3 CPU:存储器:512KB的闪存程序存储器:64KB 的 SRAM:带4个片选的静态存储器控制器。支持CF卡、SRAM. PSRAM、NOR和NAND 存储器。时钟、复位和电源管理:低功耗:3个12位的模/数转换器:3倍采样和保持功能:温度传感器。2通道12位D/A转换器。12通道DMA控制器:调试模式:串行单线调试和JTAG接口:CottexM3内嵌跟踪模块。112个快速I/O端口。11个定时器。13个通信接口。CRC计算单元,96位的芯片唯一代码。i 东北大学秦皇岛分校毕业设计(论文)第】13
36、3.3主控制模块设计该设计的主控制模块的硬件系统包括电源电路、复位电路、系统时钟电路以及JTAG调试电路四大组成部分。3.3.1电源电路在硬件电路的设计中,电源模块的设计是非常重要的,如果不能妥善处理,不但 会使电路不能正常工作,严重的还可能烧毁电路。因此,在设计电源时务必要注意如 下几点:(1)交流输入和直流输岀尽可能保持更大的距离;(2)地线要足够粗,单点和多点相结合,同时分离模拟地和数字地;(3)散热要好,布局应合适:USB 5V5VP0V_5V图3.2电源电路图STM32开发板支持的供电方式主要有3种,分别是:USB接口供电,最大为500mA外部直流5V供电JLINK V8电源,包括两
37、种方式5V和3.3V如上图所示,当电源开关拨到下而时,开发板由外部接口供电。板上的电源转换 芯片将USB接口输入的5V电源转换成3.3V的电源,给处理器和相关外围电路供电。当电源开关拨到上面时,开发板由USB接口供电。板上的电源转换芯片将USB 接口输入的5V电源转换成3.3V的电源,给处理器和相关外围电路供电。33.2复位电路RESETi 东北大学秦皇岛分校毕业设计(论文)第2图3.3复位电路图如上图所示,B1为整个板的复位按钮,当按钮被按下时,STM32处理器、液晶、 以太网和音频解码芯片等都将复位。3.3.3时钟电路STM32的VBAT的供电是由CR1220纽扌【1电池以及外部电源混合完
38、成的,在有外 部电源(VCC3.3)的情况下,CR1220纽扣电池不给VBAT供电而由外部电源实现供 电。但是,当外部电源断开的情况下,CR1220纽扣电池负责给VBAT供电。这样, VBAT总是有电的,以保证RTC的走时以及后备寄存器的内容不丢失。相关电路如下:图3.4时钟电路图3.3.4 JTAG调试电路软件程序的编写通常是需要多次的修改才适用的,因此一些比较先进的调试手段 i 东北大学秦皇岛分校毕业设计(论文)第】17便应运而生。JTAG仿真调试手段作为其中的一种,是由ARM公司提出的。如下图 所示:图3.5 JTAG调试电路图通过JTAG接口,我们可以烧录和调试程序,开发板的JTAG接
39、口的硬件连接如 上图所示,可以与目前主流的JLINK V8仿真器配合使用。3.4驱动模块设计该机械臂控制系统包括四个旋转的腰关节、肩关节、肘关节和腕关节,以及末端 手爪的运动,相应的要五个动力源才能完成目标作业。如第一章所述,广泛使用的驱 动方式主要包括液压驱动、气压驱动和电机驱动。三者各有自己的优点和缺点,通常 对机械臂的驱动系统的要求有:(1)驱动系统的质量不应太重,效率也应较高:(2)响应速度快:(3)动作灵活,位移偏差以及速度偏差均较小:(4)安全可靠:(5)操作和维护方便:(6)经济合理,占地面积要尽可能的小。基于上述驱动系统的特点和该机械臂驱动系统的设计要求,该设计选用直流伺服 电
40、机负责机械臂各个关节的驱动。该设计选用的舵机型号为分别MG995、MG945,如图3.2、3.3,其参数如下:MG995:(1) 尺寸:40mmx20mmx36.5mm(2)重量:62g(3) 技术参数:无负载速度0.17秒/60度(4.8V)、0.13秒/60度(6.0V)(4) 扭矩:13KG(5)使用温度:-3060摄氏度(6)死区设定:4微秒(7)工作电压 3.0V-7.2V图3.6 MG995舵机MG945:(1)尺寸:40mmx20mmx36.5mm(2)重量:70g(3) 技术参数:无负载速度0.23秒/60度(4.8V八0.20秒/60度(6.0V)(4) 扭矩:13KG(5)
41、使用温度:-30+60摄氏度(6)死区设定:5微秒(7)工作电压:4.8V-7.2V图3.7 MG945舵机一般来说,舵机是由舵盘、减速齿轮组、位置反馈电位计、直流电机、控制电路 板等几个重要部分组成的。信号线把来自于微控制器的控制信号传输到舵机的控制电路板,控制电路板根据 相应的控制信号控制电机的转动,同时电机带动齿轮组随之转动,经减速机构减速后 传动到输出舵盘。由于舵机的输出轴和位置反馈电位计是连接在一起的,所以在舵盘 转动的时候会带动位置反馈电位计,电位计根据当前位置将一个电压信号反馈到控制 电路板,然后控制电路板根据电位计反馈回来的数据决定电机后续的转动方向和速度, 从而使舵机运动到指
42、定的位置后停止运动,可以实现对位置的精确控制。3.5电源模块设计机械臂控制系统采用双电源供电模式,STM32单片机经过AMS1117-3.3V稳压芯 片供电,舵机驱动模块采用7.2V可充电电池经LM2596 DC-DC可调降压模块实现供 电。AMS1117是正向低压降的稳压器,在1A电流下产生1.2V的压降。它的内部所集 成有过热保护和限流电路,因此是电池供电和便携式计算机的最佳选择。其特点是: 固定的3.3V输出电压,具有1 %的精度;低漏失电压;限流功能:过热切断;温度范 围-40C 125C经常被应用于笔记本电脑,掌上电脑,电池充电器,手机,电池供电 系统,便携式设备等。由AMS1117
43、-3.3V芯片构成的3.3V稳压电路如图3.8所示。东北大学秦皇岛分校毕业设计(论文)第19图3.8 3.3V稳压电路LM2596开关电压调节器是降压型电源管理单片集成电路,可以输出最高达3A的 驱动电流,同时也有良好的线性和负载调节特性。可调型的LM2596甚至可以输岀低 于37V的各种电压。LM2596的特性如下:输出电压可调,可调范围为1.2V37V, 误差范围4%:输出特性有良好的线性,并且负载可以调节:驱动能力较强,输出电流 可高达3A,输入电压可高达40V;采用150kHz的内部振荡频率,属于第二代开关电 压调节器;功耗小、效率高,具有过热保护和限流保护功能等。常用于高效率降压调
44、节器,单片开关电压调节器,正、负电压转换器等。由LM2596构成的5V稳压电路如图3.9所示。Feedback12VUnregulated DC Input2L133 “H D15 OVOutput3A Load1N58245ON/OFFGND丁Output680 “FLM2596 5.0012583013.6传感器模块设计本设计采用HC-SR04超声波测距模块,检测物体距离超声波传感器的距离。当物 体到达指定位置时,控制器发出指令,使机械臂完成动作。HC-SR04超声波测距模块由超声波发射器、超声波接收器与控制电路等三部分组 成。它的基本工作原理如下:首先,采用TRIG端口触发测距倍号,产生
45、至少10ys的 高电平信号:然后,超声波发射器自动发送8个40KHz的方波信号,接收器检测是否 有反射的信号返回:如果有信号返回,超声波模块通过ECHO端口输出一个高电平, 高电平的持续时间就是超声波从发射到返回的时间。其时序图如下。lOuS 的 TTL融发信号循环发出个40KHZ脉冲模块内部 发出信号输出回响回响电平输出 倍号与检测距画成比例图3.10超声波时序图3.7本章小结本章首先对机械臂的关节控制系统的硬件组成进行了说明,然后按照模块化的设 计思想,分别对以ARM微处理器STM32F103ZET6为核心的主控制模块、由直流伺 服电机组成的驱动模块和采用7.2V可充电电池、AMS1117
46、-3.3V稳压芯片和LM2596 DC-DC可调降压模块组成的电源模块和超声波传感器模块的工作原理和设计进行了仔 细的分析和讨论,并给出了相应模块的实际的电路图或原理图。i东北大学秦皇岛分校毕业设计(论文)第224机械臂控制系统软件设计如果将硬件比作是机械臂控制系统的身体,那么就可以把软件比作是是整个控制 系统的大脑,将连接人的思维与系统硬件连接在一起。软件系统的优劣关系到整个机 械手系统的正常运行、硕件功能的发挥以及控制性能的优劣等因此,在进行软件 程序的设计之前,必须要先了解整个机械臂控制系统的基本要求,主要有以下三点要 求:(1)实时性:电机控制一般都是实时控制,那么,软件就必须是实时控
47、制软件。 实时意味着计算机必须在一定的期限内,完成一系列的处理过程。(2)可靠性:可靠性是指在运行过程中,系统防止故障发生,以及故障发生后排 除解决故障的能力。因此,为了提髙软件的可靠性,在软件设计过程中必须充分考虑 电机在运行中岀现的不正常现象。(3)维护方便:好的控制软件不是一次设计、调试就可以应用的,往往是一边设 计一边调试,经过多次修改才能达到控制要求。所以在开始整体设计时,就必须有好 的结构,以提高软件调试的效率,并保证完成的软件具有结构简单、淸晰的优点。为了能够使系统调试更加顺利以及功能扩展更加方便,该机械臂控制系统的软件 采用模块化结构设计,包括系统时钟与Systick定时器模块
48、,串口通讯模块, PWM (TIM2)波输出模块,超声波传感器模块和计数(TIM4, NVIC)模块。主程序 分为初始化和运行两个模块,在程序上电后初始化模块运行一次,运行模块主要用于 电机的控制。4初始化模块设计初始化模块主要负责完成如下工作:系统时钟控制寄存器RCC的配置,SysTick 定时器,TIM定时器,通用输入输出接口 GPIO,嵌套向量中断控制器NVIC, PWM波输出,超声波传感器模块的初始化。采用库函数进行编程。STM32 CPU的时钟源可以来自内部高速振荡器(HSI)、外部高速振荡器(HSE)或者内部锁相环(PLL) o锁相环需要以HSI或HSE作为时钟来源,两者 的差别在
49、于内部高速震荡器HSI不能产生稳怎的8MHz的时钟频率。为了获得垠大的 工作频率,都会通过锁相环配置出最大的72MHz频率,供给Cortex-M3内核使用。在复位操作之后,首先开启HSE并等待其稳定,从而作为PLL的输入。其次, 确怎锁相环倍频数,使内核工作在垠大频率下。该设计以8MHz的HSE作为时钟源,PLL倍频数需要设置为6才能使PLL恰好输出48MHz的频率。在PLL设置好后,Cortex-M3内核就以72MHz的频率运行了,此时,还需要通 过改变总线控制寄存器设置AHB和APB总线频率。AHB和APB2的最高频率是 72MHZo APB1的最高允许频率是36MH乙8 MHz HSI
50、RCHSI48MHZUSBCLK to USB interface/2LSRC pumulSW4-16 MHz HSE OSCOSC32 IN|OS32 OUT,.x16.x3. x4PLLLSE OSC32.768 kHzLSI RC32 kHzHSIPLLCLKHSESYSCLK二 I卜maxAHBPrescaler/1.2.512PLLXTL_|LSERTCCLKRTCSEL1:0)RTCHCLKMHz max、to AHB bus. coce,Ciockmemory and DMAF咽艺 2 匪) to Cortex System timer i FCLK Cortexfree run
51、ning dock PCLK1 to APB 1 peripherals72 MHz maxAPB1Prescaler/1.2.4.8t16TIM2,3,4xlMultplierAPB2PrescalerH.2.4.8.16TIM1 Timerx1 2 Mulbpl 回ADCPrescaler2 4.6.8to Inctependent Watchdog (WDG)IWDGCLK36MH=maxClockEnat)le(l3W)to TIM2. 3、藏STiMXCLk Penpheral Clock EnaWe 3 tits).72 朋Hz maxEnable (11 tts)PCLtQ to
52、 AHC2 * peripheraltoTIM!jTIM 1CLKPGdpbecaicm Enable (1 M) to ADCADCCLKLegend:HSE = Hqh Speed External dock signal HSIsHighSpeed Intemaiclock signal LSI 二 Lew Speed Internal dock signal LSE = lew Speed External dock signal图4STM32时钟树本部分的程序流程图如下:i 东北大学秦皇岛分校毕业设计(论文)第“开始复位系统时钟设置开启外部振荡器HSE选择 AHB, APB1, AP
53、B2 频玄使能锁相环PLL等待PLL输出稳定,成为时钟结束图4.2系统时钟初始化流程图与该流程图相对应的程序设计见附录Co4.1.2 SysTick 定时器SysTick,即系统节拍时钟,它作为ARM Cortex-M3内核的一个内设,和STM32 微控制器之间并没有必然的联系。SysTick的存在既能够提供必要的系统节拍,为实时 操作系统的任务调度提供一个有节奏的“心跳”,进而提髙可靠性,又方便了程序在不 同器件间的移植。系统初始化时,RCC通过AHB时钟(HCLK)8分频后作为Cortex系统左时器 (SysTick)的外部时钟。通过对SysTick控制与状态寄存器的设置,可选择上述时钟或
54、 Cortex(HCLK)时钟作为SysTick时钟。系统嘀嗒校准值固定为9000,当系统嘀嗒时钟 设定为9MHz(HCLK/8的垠大值),产生1ms时间基准。本部分的程序流程图如下:图4.3 SysTick定时器初始化流程图与该流程图相对应的的程序设计见附录Co4.1.3 TIM定时器STM32微控制器具备高级宦时器TIM1和TIM8 2个,通用定时器TIM2. TIM3、TIM4和T1M5 4个以及基本定时器TIM6和TIM7 2个,再加上RTC 和Systick定时器,总数星达到了 10个。基本怎时器可以为用户提供准确的时间参考:通用定时器不仅具备时间参考功能, 还具有输入捕捉、输出比较
55、、单脉冲输出、PWM输出功能和正交编码器的特点;高 级定时器更是加入了可以产生带死区控制的互补PWM信号、紧急制动、定时器同步 i 东北大学秦皇岛分校毕业设计(论文)第27等高级特征,并最多可以输岀6路PWM信号,可谓是意法半导体赋予STM32的王 牌。本设计采用TIM2、TIM3的PWM输出功能和TIM4的计数功能。本部分的程序流程图如下:图4.4 TIM定时器初始化流程图与该流程图相对应的的程序设计见附录Co4.1.4通用输入输出接口 GPIOGPIO可以说是STM32最常用的外设。STM32F103ZET6提供多达112个双向GPIO ,分别分布在A73这7个端口中。每个端口又包括16个GPIO ,都可承受 5V的压降。GPIO可通过配置寄存器工作在如下8种模式:浮空输入、带上拉电阻的 输入、带下拉电阻的输入、模拟输入:开漏输出、推挽输出、复用推挽输出、复用开 漏输出。该设计中将PAO、PAI、PA2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年内科住院医师规范化培训临床技能试题含答案
- 人工智能与区块链:原理、技术与创新 课件 第9、10章 性能优化、新兴技术
- 《中级财务会计》-第三章 应收及预付款项
- 《C语言程序设计》-项目二
- 《鲜明的观点是议论文的灵魂》教案1
- 0应用开发培训大纲
- 风景名胜区建设与管理培训大纲
- 农村电商产业集群效应研究综述
- 2026河南洛阳商业职业学院招聘7人备考题库及参考答案详解一套
- 中建安装2026届春季校园招聘备考题库含答案详解(精练)
- 公司法务国际化发展策略规划
- 城市地下排水管网检测报告模板
- (完整版)波形护栏安装施工方案
- 有机合成实验室安全培训课件
- 炎症性肠病超声诊断
- DBJ-T 15-119-2023 预拌混凝土用机制砂应用技术规程
- 胃神经内分泌肿瘤课件
- GJB2351A-2021航空航天用铝合金锻件规范
- 焊接技术标准规范
- 基于SLP的公司仓库布局优化研究
- 2025年湖北水利电力工程技术职务水平能力测试(农业水利工程专业理论知识)历年参考题库含答案详解(5卷)
评论
0/150
提交评论