首页 单轴运动控制器的设计

单轴运动控制器的设计

举报
开通vip

单轴运动控制器的设计单轴运动控制器的设计 华 中 科 技 大 学 硕 士 学 位 论 文 摘 要 近年来随着交流伺服技术的不断发展,使交流伺服系统在诸多领域得到了广泛的 应用。针对工业自动化中需要单轴运动控制的应用场合,本文设计了一种基于伺服 驱动器的单轴运动控制器,节省了系统成本、方便了操作使用。 论文首先分析了交流伺服系统在自动化行业中的应用、介绍了国内外伺服驱动器 独立运动控制的发展现状,在此基础上提出了系统的总体设计方案。阐述了轨迹规 划在系统中的作用和实现思想,介绍了梯形曲线和 S 形曲线路径规划的原理,并对...

单轴运动控制器的设计
单轴运动控制器的 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 华 中 科 技 大 学 硕 士 学 位 论 文 摘 要 近年来随着交流伺服技术的不断发展,使交流伺服系统在诸多领域得到了广泛的 应用。针对工业自动化中需要单轴运动控制的应用场合,本文设计了一种基于伺服 驱动器的单轴运动控制器,节省了系统成本、方便了操作使用。 论文首先分析了交流伺服系统在自动化行业中的应用、介绍了国内外伺服驱动器 独立运动控制的发展现状,在此基础上提出了系统的总体 设计方案 关于薪酬设计方案通用技术作品设计方案停车场设计方案多媒体教室设计方案农贸市场设计方案 。阐述了轨迹规 划在系统中的作用和实现思想,介绍了梯形曲线和 S 形曲线路径规划的原理,并对 算法实现中的一些关键性问题作了具体分析。 然后对单轴运动控制器的硬件平台、中断驱动和周期调度的伺服软件设计思想进 行了介绍,并对轨迹规划的模块化封装设计进行了详细的介绍。为适应不同的应用 场合,论文采用了 CAN 总线通讯和 SPI 通讯作为系统的通讯接口,分别给出了这两 种 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 的通讯接口电路和软件设计,并对运动控制指令的帧格式作了相应定义。最 后,分别对 CAN 通讯分布式控制和伺服驱动器内置 E2PROM 存储独立运行控制进 行了实验,验证了上述两个设计方案的可行性。同时,论文给出了不同运动参数下 梯形曲线和 S 形曲线路径规划的实验结果,结果分析也验证了算法的正确性。 关键词:交流伺服系统 单轴运动控制器 轨迹规划 梯形曲线 S 形曲线 I 华 中 科 技 大 学 硕 士 学 位 论 文 Abstract In recent years, with the development of AC servo technology, AC servo system has been widely used in many fields. Targeted at the single-axis motion control applications in industrial automation, a kind of single-axis motion controller which is cost-effective and easy to operate, is designed in this thesis based on a stand-alone servo driver. Firstly, this thsis analysed the applications of AC servo system in the industrial automation, introduced the function requirement of stand alone motion control application on servo drives at home and abroad. Based on pratice condition, the overall design scheme of the system is proposed. Then, the theory and implementation of trajectory planning are illuminated. The path planning principle of Trapezoidal-Curve and S-Curve are introduced, especially several key issues of the algorithm realization are specified. Afterwards, this thsis presented system hardware architecture and the servo software design method based on interrpt-driven and scheduling cycle. Meantime the modular package of trajectory planning is described detailly. In order to meet different applications, CAN-Bus used in the distributed control and Serial Peripheral Interface(SPI) used in stand alone running mode are adopted as communication interface of the system, interface circuit and software design are given respectively in this thesis. The frame formats of motion control instructions are also simply defined. Finally, the experiment results are achieved in both distributed control with CAN-Bus and stand alone control with instructions saved in E2PROM inside the servo drives. The validity of two design schemes given above is verified. In the same time, the planning experiment results of Trapezoidal-Curve and S-Curve under different motion parameters are showed in this thesis, the analysis of results also verified the planning algorithm. Key words:AC Servo System Single-axis Motion Controller Trajectory Planning Trapezoidal-Curve S-Curve II 独创性声明 本人声明所呈交的学位论文是我个人在导师的指导下进行的研究工作及取得的 研究成果。尽我所知,除文中已标明引用的内容外,本论文不包含任何其他人或集 体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已在文 中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。 学位论文作者签名: 日期: 年 月 日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的 规定 关于下班后关闭电源的规定党章中关于入党时间的规定公务员考核规定下载规定办法文件下载宁波关于闷顶的规定 ,即:学校有权 保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。 本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据库进行检 索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 保密?,在______年解密后适用本授权数。 本论文属于 不保密. (请在以上方框内打“?”) 学位论文作者签名: 指导教师签名: 日期: 年 月 日 日期: 年 月 日 华 中 科 技 大 学 硕 士 学 位 论 文 1 绪 论 1.1 课题的应用背景和意义 交流伺服系统的特点与现状 1.1.1 在自动控制系统中,把输出量能够以一定准确度跟随输入量的系统称为伺服系 统。自上世纪 80 年代以来,随着微电子技术、电力电子技术、电机制造技术、传感 器技术以及先进控制理论的不断进步,使交流伺服系统得到了迅速的发展,并逐渐 取代了直流伺服系统。作为融合了电子电气技术、自动控制、电机学、机械力学的 机电一体化系统,交流伺服系统的基本结构如图 1-1 所示: 运动控制器 伺服驱动器 伺服电机 机构 伺服检测装置 图 1-1 交流伺服系统的基本结构 在工业生产中,使用交流伺服系统能够完成各种复杂的生产加工工艺:如机器人 轨迹控制、数控机床进给控制等,它在数控加工、机器人、自动化组装线、半导体 加工、医疗机械、纺织机械和武器装备等行业中得到了广泛的应用,并表现出越来 越强的生命力。据统计资料显示:2006 年国内交流伺服市场规模大约在 20 亿人民币 左右,随着世界制造业加速向中国转移、国家政策对国产数控装备的扶持,交流伺 服市场会继续保持快速增长的势头,其应用范围也必将越来越广[1]~[4]。 近十年来,随着国内外专家学者和工程师们的不断努力,交流伺服技术已日趋成 熟,并不断向新的方向发展,总结起来呈现出四大特点[5]: (1) 全数字化 专用数字信号处理器 DSP、高性能 RISC 微处理器或电机控制专用 ASIC 芯片成 为了伺服驱动器的核心控制单元,全面代替以模拟电子器件和分立元器件为主的模 1 华 中 科 技 大 学 硕 士 学 位 论 文 拟控制单元,实现了全数字化交流伺服控制。其突出优点是使控制系统软件化,由 于具有极好的柔性,在硬件不作任何改动的情况下,通过改变软件即可以实现各种 不同的控制功能。 (2) 集成化 新的伺服系统改变了以往将伺服系统划分为速度伺服单元与位置伺服单元两个 模块的做法,代之以单一的、高度集成化、多功能的控制单元。同一个控制单元, 只要通过软件设置系统参数,就可以改变其结构,既可使系统构成半闭环位置伺服 系统,也可以构成高精度的全闭环位置伺服系统。另外新型电子器件的不断涌现, 也促进了伺服单元的集成化,例如智能功率模块(Intelligent Power Modules)在伺服系 统中的使用,不仅使主电路更加紧凑,而且大大简化了伺服系统的驱动、保护环节 的设计,提高了可靠性,同时也使得控制系统的体积得以缩小。 (3) 智能化 目前国外的伺服驱动器大都具有一定的智能化特点,其主要体现在两个方面。一 方面是驱动器具备一些强大的辅助功能,如故障自诊断、惯量的自动辨识和参数自 整定功能(即系统能够自动地将控制参数整定出来),方便了用户的操作使用;另 一方面系统采用先进的控制策略和智能化控制算法,使系统具有较高动态性能,改 善了系统的鲁棒性。 (4) 网络总线化 近十几年来,以工业局域网为基础的 FA 技术取得了长足的发展,为适应这一发 展趋势,目前伺服驱动器都配置了标准的串行通讯接口(如 RS-232/RS-485 等)和 专用的局域网接口。这些接口的设置,增强了伺服单元与其他设备间的互联能力。 近年来现场总线通讯方式(如 CAN、PROFIBUS、SERCOS 总线等)也已出现在交 流伺服系统中,这些总线接口不仅加快了设备之间的通讯速率,也提高了通讯的可 靠性。 伺服系统的行业应用分析 1.1.2 在交流伺服系统的众多应用领域中,轻工自动化是其中最大的一个门类,食品包 2 华 中 科 技 大 学 硕 士 学 位 论 文 装就是一个典型应用。 随着中国经济的高速发展以及人民生活质量的不断提高,消 费者对各种方便食品的需求量将不断增长,直接推动了食品包装业的发展,在客观 上促使食品包装业提供先进的技术装备,以满足不断增长的市场需求。下面就以食 品包装行业为例,分析应用交流伺服系统所带来的优点[4]: (1) 生产效率的提高。交流伺服系统凭借其高速高精度的特点,在电气和机械 的协调配合下,可完成制盒、灭菌、灌装、封口等功能。相比传统的食品包装控制 设备,它可以显著地提高生产效率、增加产品数量、故障率小、可靠性高、且大大 方便了生产操作,提高了工厂自动化程度。 (2) 机械结构的简化。传统的包装机械控制系统多采用继电器、接触器控制电 路,其复杂程度随着执行机构的增多而加大,给制造、调整、使用和维修均带来诸 多不便。而交流伺服系统的应用,可使数字伺服技术(如电子齿轮、电子凸轮)、计 算机技术取代笨重的电气控制柜和驱动装置,使零部件数量剧减,结构大为简化, 体积也随之缩小。 在类似食品包装这类应用中,需要做单轴的重复、高速、高精度的定位运动,若 无加减速控制,在伺服驱动器的指令脉冲输入频率产生较大突变的情况下,电机将 会产生抖动或者振荡,结果将会出现较大定位偏差或导致损坏定位机构等问题。因 此希望定位过程是可控的,按设定的加减速规律进行控制,对运动路径进行轨迹规 划。欲实现这样的功能通常采用伺服驱动器,运动控制器的系统方案,由伺服驱动 器完成电流环、速度环、位置环的控制,驱动执行结构——伺服电机的运动;运动 控制器根据实际的应用工艺向伺服驱动器发送运动控制命令,并且由它完成轨迹规 划的功能。运动控制器有多种选择:例如 PLC 模块、独立型的单轴控制器、运动控 制卡、或者与伺服驱动器配套的单轴定位模块等,采用这样的方案具有较好的通用 性。 倘若伺服驱动器本身就具备轨迹规划的功能,那么可使上述方案得到很大的简 化。首先上位的运动控制器就可以省却,一方面节省了系统的成本,方便了实际使 用操作;其次简化了对指令信号的传递和处理,以脉冲列或者模拟量的形式在运动 控制器与伺服驱动器之间传递的增量位置或速度指令,变成了以数字量的形式给出 3 华 中 科 技 大 学 硕 士 学 位 论 文 的运动指令,通过简单的串行通讯即可完成运动指令的传递。 课题最主要的目的就是在伺服驱动器内添加轨迹规划的功能模块,以此提升伺服 驱动器独立运动控制的能力,对于在轻工自动化这类行业中的应用具有一定的现实 意义。 1.2 伺服驱动器独立运动控制发展现状 从伺服驱动器的主流厂商来看,欧美品牌的功能最完善、最强大;日本和国产的 大多数伺服驱动器是执行一个放大器的功能,即称作“Servo Amplifier”,作运动控 制时需要接收上位运动控制器发送的脉冲列或者模拟量信号。而欧美伺服驱动器的 位置控制接口一般可以由网络通讯给定,具有强大的独立运动控制的能力,并且具 有完备的逻辑控制功能,所以它们往往能够脱离上位运动控制器而独立驱动,这也 是造成欧美伺服驱动器价格比日系、国产昂贵的一个原因[6]~[10]。 美国 Rockwell-AB 公司提供了著名的 Kinetix 解决方案,使用了 Ultra3000 伺服驱 动器和 Logix5000 软件组成运动控制系统,通过使用基于向导的对话框,编程人员 可以很容易地组态和添加驱动器。简单和复杂的运动曲线可以在梯形图、结构文本 或顺序功能图应用程序内设置,RSLogix5000 软件还可提供图形化在线趋势显示,用 于驱动器的故障诊断。Ultra3000i 型号的伺服驱动器带内置指令索引功能,支持增量 型、绝对型、点动型和定位型四种不同类型的运动,允许驱动器执行多达 64 个不同 的梯形位置运动,对于每个运动控制曲线可定义运动类型、位置、速度、加速度、 减速度、定位距离、停留时间、完成时动作、下一索引号等参数。正因为具备如上 功能,上位运动控制器或 PLC 对于单轴运动控制并不再是不可或缺的[8]。 国内的一些伺服驱动器也提供单轴运动控制的功能,例如广州数控的 DA98B 驱 动器,它可以让用户自行编辑单轴运动程序,并按照程序做单轴循环运行及输入、 输出信号的处理。伺服驱动器通过解释程序段中用户编辑的运动指令,将其转换为 相应的位置指令、速度指令和相应的 IO 点处理[10]。但实际上伺服驱动器只实现了类 似 PLC 顺序控制的逻辑功能,并不带有轨迹规划的性质,因而其应用范围也受到很 4 华 中 科 技 大 学 硕 士 学 位 论 文 大的限制,与国外的产品存在一定的差距。 1.3 课题的总体设计方案 通过上述分析介绍可知,在通用伺服驱动器的基础上,附加一些简易 PLC 和运 动控制功能,利用本身具备的网络通讯功能,可以形成一个独立的单轴运动控制器, 使伺服驱动器独立完成一些运动控制的功能。本文的系统总体框架如图 1-2 所示: 运动指 轨迹 底层 ,,,输出 令输 入 规划 通讯 伺服 ,,,,, 功能 接口 驱动 模块 图 1-2 单轴伺服系统总体框架 作为伺服驱动器的核心控制单元,一方面 DSP 具有强大的运算处理能力,因此 由 DSP 来完成轨迹规划功能是完全可行的;另一方面 DSP 具有丰富的外设通讯模块, 以 TI 公司 TMS320LF2407A DSP 为例:具有同步串行外设模块 SPI、异步串行通讯 模块 SCI 以及控制器局域网外设模块 CAN。只需扩展简单的外围电路就可实现各种 类型的通讯功能,为单轴运动控制器的实现提供了必要的条件。 对于单轴的点位运动,目前最常用的轨迹规划形式是梯形曲线和 S 形曲线两种 方法,本文将重点研究在 DSP 控制平台上梯形和 S 形曲线的原理和算法实现。 目前伺服驱动器一般都带有 RS-232/485、CAN 等标准通讯接口,一些高档的伺 服驱动器还带有高速现场总线接口(如 Profibus、Sercos 等)或者工业以太网接口。 CAN 总线采用差动方式进行数据传输,相比一般的串行通信总线,具有突出的灵活 性、可靠性和实时性[11][12]: (1) 相比 RS-232 点对点主从通讯,CAN 为多主方式工作,网络上任一个节 点均可在任意时刻主动地向网络上其他节点发送信息,而不分主从,很容易构建分 布式控制系统,灵活性比较好; 5 华 中 科 技 大 学 硕 士 学 位 论 文 (2) 报文采用短帧结构,传输时间短,数据出错率极低,CAN 的每帧信息都 有 CRC 校验及其它检错措施,具有极好的检错效果,可靠性比较高; (3) CAN 通讯速率相比 RS-232 要快很多,通常情况下波特率可达数百 K, 最高通讯速率可达 1Mb/s,实时性比较高。 相比其它高速的现场总线,CAN 总线的系统实施成本比较低,比较适合多轴分 布式控制、且并不要求多轴同步控制的场合,本文所设计系统中对各个轴采用独立 控制,因此选用 CAN 总线通讯接口。 另一方面,针对某一具体产品的生产加工,其生产工艺通常是固定不变的,如 果将一系列运动控制指令存入伺服驱动器内置的 E2PROM 中,那么每次上电,选择 合适的工作模式后,便能驱动电机完成预先设定的一系列动作,且可重复执行, E2PROM 内的运动指令掉电后并不会丢失,如此大大方便了生产操作,也提高了生 产效率。 基于以上考虑,本文采用了 CAN 总线通讯和 E2PROM 的 SPI 通讯两种方式作为 系统的通讯接口。前者适合系统的前期调试、实时监控和分布式控制、且便于系统 的日后扩展;后者更适合固定生产工艺运动控制指令的保存。 1.4 论文的主要研究内容 论文共分五个部分对单轴运动控制器的实现进行了较为详细的介绍,具体安排如 下: (1) 介绍课题的应用背景和意义、国内外发展现状,明确了设计任务,从而得 到一个总体的系统设计方案。 (2) 介绍轨迹规划的原理,重点分析梯形和 S 形曲线的原理和算法实现。 (3) 分别对硬件平台的总体结构、DSP 片上资源的利用、伺服系统的软件设计 作相应介绍。 (4)介绍单轴运动控制器的两种通讯方案——CAN 总线通讯和 E2PROM 的 SPI 通讯的软件设计。 6 华 中 科 技 大 学 硕 士 学 位 论 文 (5) 对梯形曲线和 S 形曲线的轨迹规划效果作详尽分析,对全文进行总结,同 时指出了系统存在的部分问题,以及进一步改善的地方。 1.5 本章小结 本章介绍了交流伺服系统的特点和现状,通过对伺服系统在自动化行业的应用分 析,以及国内外伺服驱动器独立运动控制功能的介绍,提出课题的总体设计方案, 并对论文的大致结构作了介绍。 7 华 中 科 技 大 学 硕 士 学 位 论 文 2 梯形和 S 形曲线的算法研究 轨迹规划对于运动控制系统的加工精度和系统性能有着十分重要的意义,作为系 统的两个重要功能模块,本章将详细介绍梯形和 S 形两种曲线的基本原理和算法实 现。 2.1 轨迹规划原理 轨迹规划的设计目的 2.1.1 在单轴的运动控制中,需要作频繁的点位运动,倘若不作任何轨迹规划处理,在 很多场合是不理想的,达不到工艺加工的要求,其应用将受到很大的限制。图 2-1 为位置阶跃给定的响应曲线: ,,,,, ,,,, ,,,,, ,,,, ,,,,, ,,,, ,,,,, 位置,,, ,,, ,,,,, ,,,, ,,,,, ,,, ,,,, , , , ,,, ,,, ,,, ,,, ,,, ,,, ,,, 时间,每格,,,, 图 2-1 给定为 30000 个脉冲的位置阶跃响应曲线 如图所示,在电机刚启动时,由于位置给定和位置反馈的偏差很大,位置调节器输 出饱和,即以控制器限幅值作为速度环的给定输入,近似于一个速度阶跃响应,电 机以最大转矩产生的加速度提升到最大速度,之后以此速度高速旋转,直到位置误 8 速度,, ,, 华 中 科 技 大 学 硕 士 学 位 论 文 差进入可调范围,位置调节器退出饱和,电机开始降速,当定位完成时,位置调节 器输出为零,电机停止运动。 在上述运动过程中,由于电机以最大加速度启动,在很多场合下这种工作方式是 不合适的,一方面考虑到对传动机构的冲击,会对机械部件带来损害,缩短使用寿 命;另一方面在以点位运动为主体的系统中,电机在起动和停止时容易产生冲击, 超程或振荡,因此必须设计专门的加减速控制规律,使电机在作点位运动时具有加 速——匀速——减速的变化过程,从而实现快速、准确、平稳的定位。本文所讨论的 “轨迹规划”就是指对点位运动中的位置进行规划,从而实现电机定位过程中的加 减速控制[14]。 从工程学角度来看,任何运动状态的变化,曲线形式的过渡特性要优于阶跃突变, 即平缓变化优于突变、曲线优于拐点,在运动控制系统中也同样如此,欲使电机以 高速运转、且定位精确、平稳可靠,那么电机在启动和停止时就必须是平稳的,而 不是猛然加速和骤然减速。目前轨迹规划广泛采用的是梯形和 S 形两种曲线形式[15]。 轨迹规划的实现思想 2.1.2 伺服驱动器在位置控制模式下的输入,通常是以脉冲列或通讯的方式给定,在脉 冲列给定的情形下,脉冲信号的频率、个数只与脉冲发生单元有关,伺服驱动器只 负责脉冲信号的接收计数,此时轨迹规划的工作通常由上位的运动控制器完成,不 属于本文的讨论范围。本文研究以通讯方式给定运动参数,由伺服驱动器的核心控 制单元 DSP 完成轨迹规划的工作,其工作流程如图 2-2 所示: 9 华 中 科 技 大 学 硕 士 学 位 论 文 定时器下溢中 断中断 位 轨 置 计算位置增量 迹 环 并刷新当前的 规 中 位置给定 划 断 处 理 底层三环控制算 程 法、,,,产生、 序 驱动电机运动 中断返回 图 2-2 轨迹规划的实现思想 在位置环控制周期到来时,根据加减速规律计算出当前周期内的位置增量,加上 前一时刻的位置给定即是当前周期的位置给定,即 PK , PK _1 , PK ,通过周期性地刷 新位置给定来驱动电机运动。通过这种递推的方式,可以规划出整个运动过程中的 位置给定,且位置给定随时间依次递增,最终的位置给定即是目标位置,定位完成 时电机的速度理论上也应为零速。 由于要在位置控制中断周期内完成轨迹规划的任务,所以轨迹规划算法的执行时 间不能过长,但同时也要保证算法的精度和性能,即需要在算法的性能和复杂程度 之间做出取舍、折中考虑,这一矛盾在 S 形曲线中表现尤为明显。 10 华 中 科 技 大 学 硕 士 学 位 论 文 2.2 梯形曲线的算法研究 梯形曲线原理 2.2.1 , , ,,,,,,, ,,,,,,, ,,,, , , , , 规则的梯形曲线 图 2-3 梯形曲线给定三个运动参数:位置给定 P _ ref 、最大速度Vmax 以及加速度 A;如 图 2-3 所示,规则的梯形曲线分为三个阶段:第一阶段——匀加速段,速度按照设定 的加速度值 A 从零加速到最大速度 Vmax ;第二阶段——匀速段,加速度值为零,速 度保持已达到的最大速度运行;第三阶段——匀减速段,按设定的加速度减速到零, 同时到达目标位置。 梯形速度曲线的实质在于限制了加速度的大小,实际上也就限制了电机的起动电 流和起动转矩,减少了对机械部件的冲击力度,但是由于在起动和加减速结束时存 在加速度突变,因此仍会产生一定的冲击。可以证明,梯形曲线是在给定位置、最 大速度和加速度的条件下,各种运动轨迹中时间最优的曲线[16][17]。 梯形曲线位置增量的计算 2.2.2 由于通过递推的方式刷新各位置环周期内的位置给定,因此轨迹规划算法实现的 关键点就在于准确计算出各个周期内的位置增量。 位置增量的计算方法有多种,可由曲线的运动方程推导其相应的计算公式,在匀 11 华 中 科 技 大 学 硕 士 学 位 论 文 1 A(k * t) 2 ,其中 t 为位置环中断周期时间,每 加速段内,VK , VK _1 , A * t , PK , 2 个周期内的位置增量可按(2-1)式计算: 1 A*(2k 1)* t 2 (2-1) PK , 2 在匀速段内,VK , VK _1 , Vmax , PK , Vmax * t ; 在匀减速段内,VK , VK _1 A * t , PK 可按(2-2)式计算: 1 A *(2k 1)* t 2 (2-2) PK , Vmax * t 2 在上述公式中含有复杂的高次多项式,运算量大,不适宜算法的实现。 本文采用一种简单直观的方法,即利用面积进行计算,在图 2-3 阴影部分所对应 的某个周期内,阴影部分的面积(速度的积分)就是当前周期内的位置增量。由于 梯形曲线在整个运动过程中加速度恒定,其速度是线性变化的,因此各个周期内的 VK _1 , VK * t 计算,其物理意义就是平均速度*时间 t , 位置增量均可用公式 PK , 2 位置增量的计算问题实际也就转化成了VK 的刷新问题。 梯形曲线切换点信息的选择 2.2.3 由于在梯形曲线的三个阶段中, VK 相对 VK _1 的变化规律是不同的,在计算位置 增量之前,首先判断当前的运动状态处于哪个阶段,那么须预知各个阶段的切换点 信息。切换点信息准确与否直接影响着曲线规划的正确性和完整性。 通常切换点上的判断信息可分为位置、速度、加速度三大类,很多情况下切换点 的判断信息并不是唯一的,因此需要从中选择一个合适的判断信息,选择的依据在 于简单可靠,尽量使用原始给定的运动参数,减少二次运算。 如图 2-3 所示规则的梯形曲线中,匀加速段和匀速段的切换依据既可选择速度信 息Vmax ,也可选择位置信息 P _1_ ref , Vmax2 / 2 * A ,但明显选择速度信息更为合理; 匀速段和匀减速段的切换依据只可能是位置信息,即确定减速点的位置 P _ 2 _ ref , 12 华 中 科 技 大 学 硕 士 学 位 论 文 根据对称性可知 P _ 2 _ ref , P _ ref P _1_ ref ,实际上 P _1_ ref 的值不必通过计算 Vmax 2 / 2 * A 来获得,当到达最大速度时,当前的位置给定即为 P _1_ ref ,从而可间 接计算出减速点 P _ 2 _ ref 的值;匀减速段结束的判断依据选择速度信息VK , 0。 如果要完成规则的梯形曲线,位置和最大速度、加速度之间须满足如下的数学条 件: P _ ref , Vmax 2 / A,亦即匀速段存在的数学条件。当不满足此条件时,倘若仍按 照规则梯形曲线的切换点信息进行判断,那么规划出来的曲线将是不正确的,无法 保证曲线的完整性和对称性。对于这种情况,通常使匀速段缺失,即在尚未到达最 大速度Vmax 之前就要提前减速,减速点的位置为 P _ ref / 2 ,这样可保证加速段和减 速段的对称性。综合这两种情况:梯形曲线的切换点判断依据如下表所示: 表 2-1 梯形曲线的切换点判断依据 运动状态 切换点判断信息 匀加速段 P_ref/2 & Vmax 匀速段 P_2_ref 匀减速段 VK=0 变化规律 加速度 速度 运动状态 梯形曲线量化误差分析 2.2.4 加加速段 AK , Jerk * k * t VK , AK * t 对于任何一个数字控制系统,由采样周期所带来的量化误差是不可避免的。由本 匀加速段 AK , Amax VK , Amax * t 章 2.1.2 可知,轨迹规划的采样周期实际上就是位置环中断周期,对于梯形曲线而言, 量化误差体现在如下两个方面。一不能保证以加速度 A 加速,经整数个位置环周期 减加速段 AK , Amax Jerk * k * t VK , AK * t 后正好到达最大速度Vmax ,即不满足 K* t *A , Vmax ,算法判断当满足VK ,, Vmax 时, 匀速段 AK , 0 VK , 0 结束匀加速段运动;二不能保证以最大速度Vmax 行进时,经整数个位置环周期后正好 加减速段 AK , Jerk *k * t VK , AK * t 到达减速点,对于这种情形需要作具体分析,因为这直接影响着最终的定位效果。 匀减速段 AK , Amax VK , Amax * t 把由公式 P _ 2 _ ref , P _ ref P _1_ ref 确定的减速点称为理论减速点,由于量 减减速段 AK , Amax , Jerk * k * t VK , AK * t 13 华 中 科 技 大 学 硕 士 学 位 论 文 化误差的存在,会导致实际减速点和理论减速点不重合,即要么提前,要么滞后。 若实际减速点提前,由于减速点偏差的存在,则按预期的减速规律到零速时尚未到 达目标位置,这时通常需要以伺服系统的最小行进速度运行一段时间才能到达定位 点;若实际减速点滞后,则按预期减速规律运行到目标位置时仍有很高速度,若强 行停止,势必造成冲击,影响定位精度和平稳性。相比而言,在实际应用中一般采 用前者,即减速点提前,但同时也造成了定位时间拖沓的问题[18]。 采用如下方法解决这一问题:因为由实际减速点提前所引起的位置误差 Err 肯定 比由最大速度决定的位置增量小,那么在减速段内势必可以找到一个合适的周期将 此 偏 差 补 偿 , 即 当 满 足 条 件 PK , Err , PK _1 时, 令 当 前 周 期 内 的 位 置 增 量 PK , Err ,之后各个周期内的位置增量依次顺延一个周期。这个方法实际上是以一 个较高的速度对偏差进行补偿,从而提高了运行效率,同时也最大程度地使得速度 的变化保持了一致性。 2.3 S 形曲线的算法研究 S 形曲线原理 2.3.1 V P_1_ref P_2_ref 4 5 3 V_2 Amax 6 2 V_1 Jerk 7 1 t 图 2-4 规则的 S 形曲线 如前所述由于梯形曲线在启动和加减速结束时存在加速度突变,加速度不具有连 续性,仍会产生一定的冲击,不能完全满足高速高精度的使用场合,故工程上又设 14 华 中 科 技 大 学 硕 士 学 位 论 文 计出了 S 形曲线路径规划形式。S 形曲线给定四个运动参数:位置给定 P _ ref 、最 大速度Vmax 、最大加速度 Amax以及加加速度 Jerk;如图 2-4 所示:规则的 S 形曲线分 为七个阶段:前三个阶段为加速段,后三个阶段为减速段,加速段和减速段相互对 称,第四个阶段为匀速段。 在第一阶段——加加速段,加速度从零开始,以设定的最大加速度 Amax为目标, 以加加速度 Jerk 为增量递增,直到达到最大加速度为止;在第二阶段——匀加速段, 加加速度为零,以最大加速度加速到第三段;在第三阶段——减加速段,按负的加 加速度使加速度减为零值,同时使速度达到最大值Vmax ,至此完成加速段过程;在第 四阶段匀速运行,加速度和加加速度都为零,以最大值Vmax 运行;第五、六、七阶段 依次为加减速段、匀减速段和减减速段,降速过程与之前的加速过程完全对称。 S 形曲线的优点在于达到恒加速度前有个缓慢变化的过程,故它在各拐点处的位 -5 所示。但 置、速度和加速度皆具有连续性,较梯形曲线具有更佳的平滑性,如图 2规划同样长度的路径时,用的时间要比梯形曲线长[19]~[21]。 , ,,,, 加速度曲线 , ,,,, ,,,,, ,,,, 加加速度曲线 , ,,,,, 图 2-5 规则 S 形曲线的加速度和加加速度变化曲线 15 华 中 科 技 大 学 硕 士 学 位 论 文 S 形曲线位置增量的计算 2.3.2 在 2.2.2 中讨论了梯形曲线位置增量的计算方法,由于梯形曲线在整个运动过程 VK _1 , VK * t 在整个区间都适用。但对于 中的速度都是线性变化的,所以公式 PK , 2 S 形曲线而言,存在四个变加速度区间,即在第一、第三、第五和第七阶段中,其速 度并不是线性变化的,从数学上讲是呈二次抛物线变化,例如在加加速段内, t t t 1 ( Jerk *t 2 。 0 0 0 Vt , , Adt , , , Jerk * dt) ,dt 2 但对于一个数字控制系统,由于采样周期取得很小(此处位置环控制周期为 250µs),在一个周期内可认为加速度保持恒定,即在每个周期内速度均线性变化, 二次抛物线可看作是无数微直线段的无限逼近,各个阶段内加速度、速度的变化规 VK _1 , VK * t 依然适 律如表 2-2 所示。故对于 S 形曲线,位置增量的计算公式 PK , 2 用。 表 2-2 S 形曲线的加速度、速度变化规律 运动状态 切换点判断信息 匀加速段 P_ref/2 & Vmax 匀速段 P_2_ref 匀减速段 VK=0 变化规律 加速度 速度 运动状态 加加速段 AK , Jerk * k * t VK , AK * t 匀加速段 AK , Amax VK , Amax * t 减加速段 AK , Amax Jerk * k * t VK , AK * t 匀速段 AK , 0 VK , 0 加减速段 AK , Jerk *k * t VK , AK * t 匀减速段 16 AK , Amax VK , Amax * t 减减速段 AK , Amax , Jerk * k * t VK , AK * t 华 中 科 技 大 学 硕 士 学 位 论 文 S 形曲线切换点信息的选择 2.3.3 同梯形曲线一样,S 形曲线也需要为各个切换点选择合理的判断信息,选择的原 则与梯形曲线一样。但相比梯形曲线,S 形曲线的切换点信息更加丰富。对于规则的 7 段 S 形曲线,按如下方法选择的切换点判断依据最为简单、最容易算法的实现: 第一阶段和第二阶段切换点的判断信息选择最大加速度 Amax; 第二阶段和第三阶段切换点的判断信息选择速度V_2 ,V_2 ,Vmax V_1,V _1 为达到 最大加速度 Amax时的速度值; 第三阶段和第四阶段切换点的判断信息选择加速度 AK , 0 ; 第四阶段和第五阶段切换点的判断信息只能选择减速点位置 P _ 2 _ ref ,其值的计算 与梯形曲线中的处理类似,设第三阶段结束时的位置给定为 P _1_ ref ,那么理论减 速点 P _ 2 _ ref , P _ ref P _1_ ref ; 第五阶段和第六阶段切换点的判断信息选择最大加速度 Amax; 第六阶段和第七阶段切换点的判断信息选择速度V _1 ; 第七阶段结束的判断依据选择加速度信息 AK , 0 。 欲完成规则的七段 S 形曲线,位置和最大速度、最大加速度、加加速度之间也必须 满足严格的数学条件,推导过程如下:首先应保证匀加速段和匀减速段的存在,加 加速段的运动时间为 t1 , Amax / Jerk ,V _1 , Jerk * t12 / 2 , Amax 2 / 2 * Jerk ,根据加加速 段和减加速段的对称性,应满足Vmax , 2 *V _1 , Amax2 / Jerk ;其次应保证匀速段的存 在,可以计算出匀加速段的运动时间 t2 ,(Vmax 2 *V _1)/ Amax ,因此加速区间的运动 时间为 t1 , t2 , t3 , 2*t1 , t2 , Vmax / Amax , A max / Jerk ,根据 S 形曲线的对称性可知: P _1_ ref , Vmax *( 1 , t2 , t3 ) / 2 , Vmax 2 / 2 * Amax , Vmax * Amax / 2 * Jerk ,即矩形面积的一 t 17 华 中 科 技 大 学 硕 士 学 位 论 文 半,若使得匀速段存在则必须满足 P _ ref , 2 * P _1_ ref ,即要满足数学条件: P _ ref , Vmax 2 / A max ,Vmax * Amax / Jerk 。综上所述:欲实现规则的七段 S 形曲线,各 运动参数之间须满足(2-3)式的数学条件: , Vmax , Amax 2 / Jerk (2-3) , 2 , P _ ref , Vmax / A max ,V max *A max / Jerk 当由于运动参数设置不合理,出现不满足上述公式的情形时,倘 若仍按规则情形 下的切换点信息进行判断,那么规划的曲线将会是不完整、不对称的,根本达不到 轨迹规划的效果和目的。对于这种情况,通常有两种处理方法: (1) 修改运动参数,通过修改参数重新规划出一条 S 形曲线,从规划效果上来 讲,这种方法是最为理想的,但是运算量比较大。首先需要判断当前的运动参数是 否满足(2-3)式的数学条件;其次是如何修改的问题,即修改何种参数,修改后的 值是否合适,实际上对于一个机电系统来说,最大加速度和加加速度的变化范围不 大,基本上不作修改,通常修改的运动参数是最大速度Vmax ,通过修改参数可能使得 匀加速、匀减速段或者匀速段缺失,但能保证其它各段的完整性和运动过程中加速 度的连续性。但是上述两个过程需要花费一定的运算时间,与此同时引申出另一个 问题,即这部分运算量放在整个伺服控制程序的何处进行。由于要在位置环中断周 期内完成轨迹规划的任务,所以这种方法在此处并不适合,本文因此采用了第二种 方法。 (2) 不修改任何运动参数,在算法上通过一些简单的数学条件判断,只保证运 动轨迹在加速段和减速段的对称性,算法比较简单;但必然会导致某些运动阶段的 缺失或者不完整,自然也无法保证运动过程中加速度的连续性。 具体实现如下:在加速区间始终优先判断当前的位置给定是否超过了一半的目标 位置,若超过,则进入减速阶段处理,若未超过,则继续判断其它的切换点信息, 由此判断是否存在匀速段,使得加速段和减速段保持对称;另外,如图 2-5 所示 S 形曲线的加速度有个梯形变化的过程,类似地需要在加加速段判断当前速度是否超 过一半的最大速度,若超过,则进入减加速段处理,若未超过,则继续判断加速度 18 华 中 科 技 大 学 硕 士 学 位 论 文 是否达到最大值,由此判断是否存在匀加速、匀减速段,尽量使得加加速段和减加 速段也保持对称。综合这些考虑和各种不规则的 S 形曲线,各切换点的判断依据如 表 2-3 所示: 表 2-3 S 形曲线的切换点判断依据 运动状态 切换点判断信息 加加速段 P_ref/2 & Vmax/2 & Amax 匀加速段 P_ref/2 & V_2 减加速段 P_ref/2 & AK=0 匀速段 P_2_ref 加减速段 Vmax/2 & Amax 匀减速段 V_1 减减速段 AK=0 2.3.4 S 形曲线量化误差分析 同梯形曲线规划方式一样,S 形曲线也存在量化误差的问题,主要体现在如下三 个方面。一是不能保证以加加速度 Jerk 加速,经整数个位置环周期后正好到达最大 加速度 Amax,即不满足 K* t *Jerk , A max ,算法判断当满足 AK ,, Amax 时,结束加加 速段过程,导致的结果是实际的最大加速度比给定的略大;二是不能保证正好到达 V _ 2 和Vmax / 2,采取同样的判断方法,使当满足VK ,, Vmax / 2或VK ,, V _ 2时,结束 相应的运动过程,导致的结果是实际的最大速度比给定的略大。但由于位置环周期 取得很小,上述两个方面引起的加速度和速度的偏差,进而引起的位置增量计算的 偏差几乎可以忽略。三是由于量化误差引起的实际减速点和理论减速点不重合的问 题,其处理方法与梯形曲线规划方法完全一样。 19 华 中 科 技 大 学 硕 士 学 位 论 文 2.4 本章小结 本章从轨迹规划的原理出发,对梯形和 S 形曲线路径规划方法的原理加以阐述, 并对算法实现中一些关键性问题作了具体的分析。作为单轴运动控制器的一个组成 部分,轨迹规划模块对于系统具有重要的意义。 20 华 中 科 技 大 学 硕 士 学 位 论 文 3 单轴运动控制器的软硬件平台 作为单轴运动控制器的主体和底层驱动单元,伺服驱动器的调节能力直接影响着 系统的效果和性能,本章从硬件和软件两个部分对伺服驱动器的总体结构进行介绍。 3.1 硬件平台总体结构 伺服驱动器的硬件总体结构如图 3-1 所示:硬件电路分为功率电路(包括控制电 源)和控制电路两个部分。功率主回路的输入电源为三相交流 220V(-15,+10%, 50/60HZ),控制电源为单相交流 220V(-50,+20%,50/60Hz)。 直流母线 三, , 相 软启动 ,, , ,,,, 整 泵升制 逆变器 ,,,, , ,, , 流 动电路 , 桥 , 功率主回路 ,, ,, ,, 开关电源 门极驱动电 ,,,, ,, 母线电 光电编码器 路 , 压检测 控制电源 ,,,, ,,, ,,,,,,, ,,,,,,,,,,,,, 编码器 脉冲列 故障信号 ,,,,,, 信号 输入 检测 模拟量 键盘显示 ,,, ,,, 输入 接口 接口 串行通 控制回路 讯接口 图 3-1 伺服驱动器硬件总体结构图 21 华 中 科 技 大 学 硕 士 学 位 论 文 功率主回路部分 3.1.1 主回路部分采用交,直,交电压型逆变器形式。主要由三相全波整流桥、软启动 电路、泵升制动电路、滤波电容、智能功率模块 IPM 等几个部分组成。系统使用两 个磁平衡式霍尔电流传感器 CSNE151-100 对电机两相定子电流进行实时采样。 三相主电源经安规电路后送入整流桥,经过电容器滤波平滑后提供给逆变器作为 其直流母线电压;主回路初始上电时,若无软启动电路,则在滤波电容上产生大电 流冲击,系统设计了软启动电路来减少强电对主回路的冲击,通过对直流母线欠压 信号的检测,在软启动完成后通过继电器切断软启动电阻。 电动机在制动运行时处于发电状态,通过逆变器的反并联续流二极管对直流母线 的电容进行充电,会导致母线电压不断升高,倘若不加以限制的话,将会对功率器 件带来危害,因此设计了泵升制动回路,当母线电压超过一定值时,导通开关器件, 通过制动电阻释放能量。 逆变器采用三菱公司第三代智能功率模块 PM30CSJ060,集成了 6 个 600V、30A 的 IGBT 功率管,开关频率最高可达 20KHz,模块内部集成了门极驱动电路、且带 有短路、欠压、过流、过热检测保护电路,简化了系统设计且提高了可靠性。模块 在工作时,需要提供四路独立的 15V 驱动电源,其中下桥臂 3 个 IGBT 管共用一路 驱动电源。DSP 产生的 6 路 PWM 经缓冲驱动、光电隔离后作为 IPM 的基极驱动信 号。 开关电源部分 3.1.2 系统的控制电源采用开关电源供电,包括为控制电路提供一组 5V 和两组?12V 的控制电源,前者用于数字集成电路的供电,后者用于模拟电路的供电;另外给 IPM 提供 4 组+15V 的驱动电源。 开关电源以 Power 公司的 TOPSwitch-?系列单片开关电源芯片 TOP223Y 为核 心,外围电路简单,效率高,不仅在体积、重量、抗干扰能力方面比线性电源更好, 而且输入电压的适应范围大。 22 华 中 科 技 大 学 硕 士 学 位 论 文 控制电路部分 3.1.3 为了更好地实现伺服系统实时控制的任务,且使系统具有较好的开放性和可扩展 性,采用 DSP,CPLD 的体系结构,DSP 使用 TI 公司面向电机控制的芯片—— TMS320LF2407A,作为伺服系统的核心控制单元它主要完成实时性要求高的电机控 制算法;CPLD 使用 Lattice 公司 ispMACH4000 系列芯片——LC4032V 主要完成实 时性要求不高的任务:包括故障信号处理、脉冲列信号的处理、编码器信号的电平 转换等任务。 3.2 DSP 片上资源的利用 TMS320LF2407A DSP 芯片集成了电机控制系统所需的大部分数字接口电路[26], 系统外围电路只需要设计模拟信号的处理电路,通讯接口电路,保护电路等,因而 大大简化了系统的设计,降低了成本,提高了可靠性。本节介绍 DSP 的外设模块在 系统中的应用。 模数转换模块 ADC 3.2.1 TMS320LF2407A 具有一个带内置采样/保持的 10 位精度,16 个模拟通道输入的 ADC,在本伺服系统中 ADC 外设模块完成如下功能:电机两相定子电流的采样,速 度控制模式和转矩控制模式下?10V 模拟量指令的输入。 为提高 AD 采样精度,软件上采用了分时采样和“过采样”技术,可以提高采样 的分辨率,进而提高控制精度。 事件管理器模块 EV 3.2.2 利用 EVA 的 QEP 电路自动完成增量式编码器 AB 相信号的 4 倍频和鉴向处理, 捕获单元用于 Z 相脉冲的捕获,全比较单元产生 6 路带死区的 PWM 驱动信号,通 用定时器的 PWM 输出用作速度反馈监视和电流监视的模拟量输出。 利用 EVB 的外部输入 TDIRB、TCLKINB 对位置控制模式下 PULSE,DIR 脉冲 23 华 中 科 技 大 学 硕 士 学 位 论 文 列信号作可逆计数。 3.2.3 CAN 控制器模块 伺服驱动器通过 DSP 的片上 CAN 控制器模块构建一个总线节点,当使用 DSP 的 CAN 控制器外设时,在硬件上需要扩展总线收发器的外围电路,此处采用 3.3V 供电的总线收发器芯片 VP230,它与 DSP 电平完全兼容。如图 3-2 所示,VP230 负 责信号的电平和形式的转换,实现总线的差动发送和接收功能,总线两端的电阻 R3 为终端匹配电阻,通常取为 120Ω,引脚 Rs 与地之间的电阻 R4 称为斜率电阻,其 取值决定了系统处于高速控制方式还是斜率控制方式,这里采用斜率控制方式,以 降低射频干扰(RFI)。 VP230 R410K R2 72 1 5 D Rs CANTX 70 2 6 CANRX GND CANH R3 120 3 7 VCC CANL 3.3V 2407 R1 4 8 DSP R VREF 图 3-2 CAN 通讯接口电路 上位 PC 机通过凌华公司 PCI-7841 CAN 通讯适配卡与总线相连。PCI-7841 通讯 卡是 PCI 总线型设备;卡上含有两个独立 CAN 控制器 SJA1000 和总线收发器 82c250, 它们既可独立使用,也可桥接使用;完整支持 CAN2.0A 和 CAN2.0B 协议 离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载 ;提供 DOS 下的函数库以及 Windows 下的动态链接库,方便用户根据实际应用进行二次开发[28]。 串行外设接口模块 SPI 3.2.4 伺服驱动器使用 E2PROM 对运动参数和控制参数进行保存,系统使用了 XICOR 公司的 X5043 芯片[27]。它集复位、欠压复位、看门狗定时器、SPI 总线 E2PROM 于 E一体。芯片内含 4K bits 的2PROM 存储单元,除了进行参数的保存,还有剩余空间 用于运动控制指令的存储。 24 华 中 科 技 大 学 硕 士 学 位 论 文 DSP 含有一个串行外设接口模块 SPI,是一个高速、同步串行 I/O 口,允许长度 可编程串行位流(1,16 位)以可编程的位传输速度移入或移出器件,输出和接收均采 用双缓冲结构,最大传输速率在主从模式下可以达到 SYSCLK/4。通过 SPI 外设模块 可实现 DSP 主控制器和 E2PROM、数码管显示电路之间的串行通讯。 由于显示电路和 E2PROM 在硬件上复用 DSP 的 SPI 控制及数据端口,因此通过 CPLD 编程实现分时管理的功能。如图 3-3 所示,SPICTRL 为控制端,当它为“低” 时,屏蔽了 SPI 与 E2PROM 的通信,选通了显示电路;当它为“高”时,屏蔽了 SPI 与显示电路的通信,选通了 E2PROM。 串行外设模块的 SPISIMO、SPISOMI、SPICLK 引脚用作基本功能,SPISTE 用 作通用 I/O,用于对 X5043 的片选,引脚 IOPD0(SPICTRL)用于 E2PROM 和显示 电路的选通。 SPICLK DISP_CLK EE_CLK SPI_DATAOUT DISP_DATA EE_DATAIN SPICTRL SPI_STE EE_CS EE_DATAOUT SPI_DATAIN 图 3-3 显示电路和 E2PROM 的分时管理电路 3.3 伺服系统的软件设计 作为全数字交流伺服系统的核心,伺服软件在系统硬件的基础上,需要实现实时 高效的控制算法和丰富的系统功能,体现了数字控制系统的优越性,因此软件结构 设计合理与否,直接影响到系统的扩展性、移植性和易维护性。本文采用模块化设 计思想,通过对系统功能的划分,任务分解,在实现高实时性伺服控制算法的同时, 25 华 中 科 技 大 学 硕 士 学 位 论 文 完成伺服驱动器的各种辅助功能。 伺服软件的任务和结构 3.3.1 伺服程序分为实时性控制任务和非实时性控制任务两大类,实时性任务主要包 括:运动轨迹规划、反馈信号的采样、矢量控制的坐标变换、三环控制算法、PWM 信号的产生、功率回路故障处理等,这类前台任务在中断处理程序内完成;非实时 性任务包括:参数管理、I/O 信号处理、故障查询处理、键盘显示等,这类后台周期 调度程序在背景循环内完成[28]。伺服软件的主程序流程图如图 3-4 所示: 禁止中断 ,,,资源配置 控制器参数初始化 系统初始化 外部硬件资源配置 事件驱动管理 转子初始定位 硬件系统自检 开总中断 , 背景循环 功 ,, 脉 ,,, 率 下 冲 接 保 溢 捕 收 中断到来, 护 中 中 获 中 , 断 断 中 , 断 断 图 3-4 伺服软件主程序流程图 中断处理程序介绍 3.3.2 IPM 故障和直流母线过压会对系统的功率器件造成损害,需要进行功率保护。通 过设计 PDPINT 功率保护中断,当出现功率故障信号时,硬件上自动置 PWM 信号 为高阻态,封锁 PWM 输出;软件上将上、下桥臂的 PWM 输出方式分别置成强制高 和强制低模式,占空比固定设为 50,。 26 华 中 科 技 大 学 硕 士 学 位 论 文 由于复合式光电编码器的初始相位检测存在?30?的机械角度误差,加上电气角 度运算中所带来的累积误差,通过对光电编码器 Z 脉冲的捕获,对电机转子位置进 行修正,以避免累积误差。 伺服系统的 PWM 调制频率一般都在 10KHz 以上,对应的 PWM 中断周期在 100 μs 以内,得益于 DSP 高速、强大的运算能力,改变了以往电流环模拟控制的方式, 实现了交流伺服系统的全数字化控制。在本系统中开关频率为 20K,对应的 T1 定时 器下溢中断周期(即电流环控制周期)为 50μs,速度和位置控制周期为 250μs,PWM 信号调制采用空间电压矢量 PWM 方法(SVPWM),在此中断处理程序中实现对永 磁同步电机的电流反馈近似解耦控制[29],中断处理程序的流程图如图 3-5 所示。 现场保护 计算电机速度 和转子电气角度 ,,,,,,变换 , 位置控制到, 查正弦表 , 轨迹规划 ,,,,变换 位置调节 ,,,轴电流调节 逆,,,,变换 速度控制到, , , ,,,,,产生 速度调节 系统软故障判 电流采样及定标 断与处理 , 现场返回 过流判断, 开中断 , 切断电机电源 过流故障标识 图 3-5 T1 下溢中断处理程序的流程图 轨迹规划的 DSP 程序设计 3.3.3 用 DSP 实现梯形和 S 形曲线的轨迹规划算法时,考虑到程序的通用性、算法的 27 华 中 科 技 大 学 硕 士 学 位 论 文 精度以及执行效率等问题,在程序设计中应注意如下要点: (1) 程序的模块化设计 将功能独立的程序单独作为一个文件,仅仅开放输入、输出的变量供其它程序 调用、访问。程序模块化设计的优点在于:结构清晰,可移植性好,方便程序的调 试和维护。 分别将梯形和 S 形曲线两个轨迹规划程序进行模块化封装,如图 3-6 所示: ,,,,,,,,,,,, ,, ,,,,,,, ,,,, ,,,,,,,,, ,, ,, ,;; ,, ,,,,,,,,,,,, ,, ,,,, , , ,,,,,,, ,,,,,,,,, ,, ,,,, ,, ,,,, ,,, 图 3-6 梯形和 S 形曲线的模块化封装 以梯形曲线为例,其三个入口参数分别为位置给定 Position_ref,最大速度给定 Vmax 以及加速度给定 Acc,出口参数为当前周期的位置增量 Delta_P_K。通过汇编伪指 令.def 和.ref 对这四个变量的参考引用进行声明,调用程序时只需关心这四个参数, 至于模块内部的实现机理和运算过程,对外而言是不透明的,如此设计程序,也极 大地方便了功能模块的移植。调用梯形曲线模块的程序如下: **************T_Curve.asm***************** .def Position_ref,Vmax,Acc ,Delta_P_K .def T_Curve_Handle ………………………………………… *************Motion_Control.asm*********** 28 华 中 科 技 大 学 硕 士 学 位 论 文 .ref Position_ref,Vmax,Acc, Delta_P_K .ref T_Curve_Handle Position_ref_ .usect ”Motion_control”,1 Vmax_ .usect ”Motion_control”,1 Acc_ .usect ”Motion_control”,1 Delta_P_K _ .usect ”Motion_control”,1 ………………………………………… ldp # Position_ref bldd # Position_ref_, Position_ref bldd #Vmax_,Vmax bldd #Acc_,Acc ;parameters transfer call T_Curve_Handle ;function call ldp # Delta_P_K _ bldd # Delta_P_K, Delta_P_K_ ;value return ………………………………………… (2) 程序的通用性 当在一个位置环周期内有多轴调用轨迹规划模块时,要保证各个轴参与轨迹规 划运算变量的独立性和一致性,防止被其它轴交叉引用。因此需要为各个运动轴单 独分配一片地址空间用于存放参与运算的变量,在调用轨迹规划模块时将变量依次 读入、在模块调用完毕后再将变量依次保存,即有出栈和入栈的操作。 (3) 位置增量运算的精度 各个周期的位置给定是以脉冲为单位的,但是规划出的位置增量通常是带有小 数部分的,在每次规划过程中,整数部分为实际的控制输出,小数部分保留,等到 下次规划时再累加进去,这样可以提高运算精度,避免累积误差。 (4) 数据格式的合理选取 对于梯形和 S 形曲线的各种运动参数需要用合理的格式进行描述,既能满足参 29 华 中 科 技 大 学 硕 士 学 位 论 文 数的表示范围、又能保证一定的控制精度,其数据格式如表 3-1 所示: 表 3-1:梯形/S 形曲线运动参数的数据描述 参数 数据格式 数字范围 单 位 目标位置 32.0 -2,147,483,648,2,147,483,647 Pulse 最大速度 12.4 0~2047+16/16 Pulse/ms 2 加速度/最大加速度 10.6 0~511+64/64 Pulse/ms 3 加加速度 0.15 0~16,383/32768 Pulse/ms 其中速度、加速度、加加速度三类参数均是绝对值给定,运动方向由目标位置的正 负决定。 ) 程序的执行效率 (5 由于轨迹规划功能模块是在位置环中断周期内完成的,因此需要尽量缩短代码 执行时间,提高算法的执行效率。针对 16 位的定点 DSP,程序中采取一些措施来提 高效率: 1:采用计算增量的方式对速度和位置进行规划,大大减少了运算量; :合理组织程序的结构,充分利用曲线的对称性来简化繁琐复杂的运算; 2 3:化乘、除为加、减、移位运算,充分利用 DSP 的单周期乘法器、乘积移位器、 输入、输出定标移位器,精简指令、提高代码执行效率。 3.4 本章小结 本章对伺服驱动器主回路的基本结构和原理、DSP 的片上资源利用进行了介绍; 同时对伺服系统的软件设计也作了简要的说明,最后对轨迹规划 DSP 程序设计中一 些要点加以说明。 30 华 中 科 技 大 学 硕 士 学 位 论 文 4 单轴运动控制器的通讯接口设计 作为单轴运动控制器的通讯手段,课题设计了 CAN 总线通讯和 E2PROM 的 SPI 通讯两种接口。在论文 3.2.3 和 3.2.4 中已对相应的硬件接口电路作了介绍,本章将 介绍这两种方案的软件设计。 4.1 CAN 总线通讯的软件设计 为保证运动控制系统网络控制的实时性和可靠性,下位伺服单元使用 CAN 通讯 接收中断来接收运动控制指令和控制参数,配置邮箱 2(MBOX2)为接收邮箱,采 用了低优先级模式的 CAN 邮箱中断,即 INT5-CANMBINT。在中断处理程序中完成 对指令的分解和解释,以及相应的参数传递。 作为非实时性任务,系统状态信息向上位机的返送以周期调度的方式进行,配置 邮箱 3(MBOX3)为发送邮箱,采用标志位查询的方式进行发送。系统的状态信息 包括两大类:伺服电机的运动信息和伺服驱动器的状态信息,每 5ms 周期性地向上 位机返送,以此实现上位机对伺服单元的监控功能。 CAN 技术规范介绍 4.1.1 Bosch 公司于 1991 年制定并发布了 CAN 技术规范(Version 2.0)[11],该技术规 范包括 A 和 B 两部分。目前半导体公司生产的 CAN 控制器件几乎都支持 CAN 2.0B 规范,2.0B 向下兼容 2.0A 规范。技术规范定义了 OSI 七层模型中的最下面两层:物 理层和数据链路层,物理层规定了通讯介质的物理特性,例如电气特性和信号交换 的解释;数据链路层规定了介质上传输的数据位的排列和组织,例如帧结构和数据 校验等。 CAN 总线通讯使用差动电压信号进行传输,两条信号线称为 CAN_H 和 CAN_L, 静态时均是 2.5V 左右,此时状态表示为逻辑“ 1”,称为隐性( Recessive);用 CAN_H 31 华 中 科 技 大 学 硕 士 学 位 论 文 比 CAN_L 高表示逻辑“0”,称为显性(Dominant),通常电压值为 CAN_H=3.5V, CAN_L=1.5V。 CAN 报文传输有四种不同类型的帧:数据帧、远程帧、错误帧和过载帧,下面 对最常用的数据帧结构进行介绍。数据帧有两种不同的帧格式:标准帧和扩展帧, 不同之处主要在于标识符长度的不同,标准帧含有 11 位标识符,而扩展帧含有 29 位标识符。报文的数据帧结构如图 4-1 所示: 帧起始:标志数据帧的起始,仅由一个显性位组成; 仲裁域:由 11 位或 29 位的标识符、远程发送请求位、标识符扩展位等组成; 控制域:由 6 个位组成,指示了数据域里面的字节长度; 数据域:它可以为 0,8 个字节,每个字节包含 8 个位,首先发送 MSB; CRC 域:由 CRC 序列和 CRC 界定符(一个隐性位)组成; 应答域:包含应答间隙和应答界定符 2 个位; 帧结尾:由 7 个隐性位组成。 帧间空间 帧间空间 数据帧 或过载帧 帧起始 仲裁域 控制域 数据域 ,,,域 应答域 帧结尾 图 4-1 报文的数据帧结构 CAN 控制器模块的操作 4.1.2 在邮箱进行正常的发送和接收操作之前,需要完成对位定时器和邮箱的初始化配 置。位定时器由 BCR1 和 BCR2 两个寄存器组成,对位定时器配置的具体步骤如下[26]: (1)置位寄存器 MCR?CCR,使 CAN 控制器处于复位工作模式; (2)判断寄存器 GSR?CCE 位是否为 1,若为 1 则允许对位定时器进行配置, 若为 0 则继续等待,直到 CCE=1; 32 华 中 科 技 大 学 硕 士 学 位 论 文 (3)设置 BCR1 和 BCR2 寄存器,即配置正确的波特率、同步跳转宽度、采样 次数和重同步方式; (4)清寄存器 MCR?CCR 为 0,使 CAN 控制器处于正常工作方式,恢复总线; (5)判断寄存器 GSR?CCE 位是否为 0,若为 0 则位定时器配置成功,若为 1 则继续等待,直到 CCE=0。 对邮箱的初始化操作包括设置邮箱的标识符,帧类型,数据长度,以及对数据区 赋值,具体步骤如下: (1)置寄存器 MDER 中相应邮箱的使能位为 0,禁止邮箱; (2)置位寄存器 MCR?CDR,CAN 控制器允许对数据域进行更改; ( 3) 配置邮箱标识符寄存器 MSGIDnH、 MSGIDnL;邮箱控制寄存器 MSGCTRLn 以及邮箱的数据区 MBXnA、MBXnB、MBXnC、MBXnD; (4)清寄存器 MCR?CDR 位为 0,进入正常工作模式; (5)置位寄存器 MDER 中相应邮箱的使能位,使能邮箱,邮箱初始化完成。 信息的接收采用通讯中断的方式,在完成 CAN 控制器的初始化操作后,只要接 收信息的标识符与相应接收邮箱的标识符一致时,信息就会被接收,否则该信息会 被滤除,在中断处理程序中复位接收悬挂位和中断标志位,并从相应邮箱中读取信 息。 信息的发送采用查询的方式,在发送信息之前,先将信息写入发送邮箱,提交发 送请求后,通过查询相应邮箱的发送应答位或中断标志位判断发送是否成功,在发 送成功后复位发送应答位和中断标志位。 运动控制指令的通讯接收和执行 4.1.3 根据 CAN 总线通讯协议,数据区的最大长度为 8 个字节,对于梯形和 S 形曲线 的运动参数,仅用 8 个字节描述是不够的,因此发送一条完整的运动指令需要由上 位机分两次进行。现对梯形和 S 形曲线运动指令的格式作如下规定,如表 4-1、4-2 所示: 33 华 中 科 技 大 学 硕 士 学 位 论 文 表 4-1 梯形曲线的帧格式定义 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 编码 编码 速 电 制 母 母 电 IPM 器 器 熔 机 动 线 线 机 保留 故 UVW ABZ 故 过 故 过 欠 过 断线 断线 障 障 热 障 压 压 流 表 4-2 S 形曲线的帧格式定义 故障 故障 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 字节号 1 2 3 4 5 6 7 8 指令编号 编码 编码 速 电 制 母 母 电 ×××××××0 指令编号 曲线模式 保留 位置给定IPM 器 器 熔 机 动 线 线 机 保留 ×××××××1 指令编号 曲线模式 最大速度 加速度故 保留 UVW ABZ 故 过 故 过 欠 过 字节号 断线 断线 障 1 2 3 4 5 6 7 8 障 热 障 压 压 流 指令编号 其中第一字节代表指令编号,其高 7 位(Bit7,Bit1)代表指令序号,最低位(Bit0) 故障 故障 指令编号 曲线模式 保留 位置给定 ×××××××0 为 0,表示该帧为当前指令的前半部分;为 1,表示该帧为当前指令的后半部分。 字节号 1 2 3 4 5 6 7 8 指令编号 曲线模式 最大速度 最大加速度 加加速度 ×××××××1 指令编号 同样也对上位机监控信息的帧格式以及相应的位定义作如下规定,如表 4-3、4-4 所示: 函数名 功能 表 4-3 监控信息的帧格式定义 ×××××××0 指令编号 曲线模式 保留 位置给定 CanOpenDriver(int card, int port) 打开 CAN 通讯驱动 ×××××××1 指令编号 曲线模式 最大速度 加速度 保留 1 2 3 4 5 6 7 8 CanCloseDriver(int handle) 关闭 CAN 通讯驱动 配置通讯端口的参数 CanConfigPort(int handle, PORT_STRUCT *ptrStruct) 字节号 位置反馈 速度反馈 驱动器状态信息 1 2 3 4 5 6 7 8 发送报文 CanSendMsg(int handle, CAN_PACKET *packet ) 指令编号 接收报文 CanRcvMsg(int handle, CAN_PACKET *packet) 指令编号 曲线模式 保留 位置给定 ×××××××0 CanGetRcvCnt(int handle) 获取 FIFO 中的报文数目 表 4-4 驱动器状态信息的位定义 获取接收事件的句柄 CanGetReceiveEvent(int handle, HANDLE *hevent) 指令编号 曲线模式 最大速度 最大加速度 加加速度 ×××××××1 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 函数名 功能 CanOpenDriver(int card, int port) 打开 CAN 通讯驱动 编码 编码 CanCloseDriver(int handle) 速 电 制 关闭 CAN母 通讯驱动 母 电 IPM 器 器 配置通讯端口的参数 CanConfigPort(int handle, PORT_STRUCT *ptrStruct) 熔 机 动 线 线 机 保留 发送报文 CanSendMsg(int handle, CAN_PACKET *packet ) 故 UVW ABZ 故 过 故 接收报文过 欠 过 CanRcvMsg(int handle, CAN_PACKET *packet) 断线 断线 障 CanGetRcvCnt(int handle) 获取 FIFO 中的报文数目 障 热 障 压 压 流 获取接收事件的句柄 CanGetReceiveEvent(int handle, HANDLE *hevent) 故障 故障 字节号 1 2 3 4 5 6 7 8 指令编号 34 ×××××××0 指令编号 曲线模式 保留 位置给定 ×××××××1 指令编号 曲线模式 最大速度 加速度 保留 字节号 1 2 3 4 5 6 7 8 华 中 科 技 大 学 硕 士 学 位 论 文 由于一条完整的运动指令需要分两次发送,根据表 4-1、表 4-2 帧格式的定义, 同一条运动指令的两个指令编号只有最后一位不同,相异或的结果该为 0000,0001; 当某帧数据由于通讯故障未能正常发送、或者 DSP 硬件上未能正常产生 CAN 接收 中断时,会使得依次接收到的两帧数据不属于同一条运动指令、导致提取的运动参 数不完整、不匹配。如图 4-2 所示:程序中对前后两个指令编号进行异或运算,若满 足条件,则将提取的一组运动参数存入 DSP 的内存中。 ,,,接收中断 位置环控制周期 按帧格式进行指令分 查询定位完成标志 解、提取运动参数 当前指令编号,,, , 当前定位 前一个指令编号 完成, , 异或结果为 , ,,,,,,,,,, 清相关程序变量 , 从,,,内存中读取 将一组完整的运动参 下一组运动参数 数存入,,,的内存中 运动参数传递 中断返回 调用轨迹规划模块 图 4-2 运动指令的通讯接收 图 4-3 运动指令的刷新和执行 如图 4-3 所示:在位置环控制周期到来时,首先查询定位完成标志位,判断当前 定位是否完成,若定位完成,则清相关程序变量、从 DSP 的内存中读取下一组运动 参数,执行新的运动指令;若定位未完成,则不刷新运动参数,继续执行当前的运 动指令。 CAN 通讯上位机程序设计 4.1.4 利用 PCI-7841 通讯卡自带的库函数,可屏蔽对底层硬件单元的操作,这给通讯 程序的设计提供了方便。上位机通讯程序在 Windows 环境下完成,主要使用了如下 函数,如表 4-5 所示[30]。 35 华 中 科 技 大 学 硕 士 学 位 论 文 上位机通讯程序分为两个部分:运动控制指令的的发送和伺服单元返送信息的接 收。在进行报文的发送和接收之前需要完成对通讯端口参数的配置,指令的发送在 Main()函数的主循环内完成,伺服单元返送信息的接收采用线程的方式进行处理[34]。 伺服单元周期性地向上位机返送状态信息,程序利用线程对接收事件进行监听。 实现过程如下:在主程序的初始化中通过函数 CanGetReceiveEvent()获取相应通讯 端口接收事件的句柄 rcvEvent,并创建一个线程函数 ReceiverThread()。该线程函 数的代码如下: if(WaitForSingleObject(rcvEvent, INFINITE) == WAIT_OBJECT_0) { cout1 = CanGetRcvCnt(handle[1]); for(index=0;index
本文档为【单轴运动控制器的设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_682974
暂无简介~
格式:doc
大小:403KB
软件:Word
页数:79
分类:工学
上传时间:2017-09-19
浏览量:29