精密机床控制系统的设计与实现.pdf
2015 年 11 月 第 43 卷 第 22 期 机床与液压 MACHINE TOOL & HYDRAULICS Nov 2015 Vol 43 No 22 DOI10.3969/ j issn 1001-3881 2015 22 049 收稿日期 2014-10-17 作者简介 赵勇 (1990), 男, 硕士研究生, 从事嵌入式系统研究。 E-mail zhaoyong9572@ 163 com。 精密机床控制系统的设计与实现 赵勇, 张天开, 齐秀娟 (青岛理工大学自动化工程学院, 山东青岛 266033) 摘要 设计一种以 STM32 为硬件基础、 LabVIEW 为编程语言的精密机床控制系统, 重点论述了硬件的组成和软件的设 计方法。 音圈电机直接为平台提供驱动力, 以光学编码器 Mercury3000 作为测量装置, 将编码器输出的正交信号换算成实 际位移作为反馈信号构成闭环控制系统。 以用 LabVIEW 开发的上位机作为人机界面, 主要实现数据采集、 保存、 回放和下 传参数功能, 界面友好, 易于操作。 整体设计方案具有良好的推广价值。 关键字 精密机床控制系统; 音圈电机; 闭环控制 中图分类号 TP273 文献标志码 B 文章编号 1001-3881 (2015) 22-145-5 Design and Implementation of Control System for Precision Machine Tool ZHAO Yong, ZHANG Tiankai, QI Xiujuan (School of Automation Engineering, Qingdao Technological University, Qingdao Shandong 266033, China) Abstract A control system of precision machine tool was designed with STM32 as its hardware foundation and LabVIEW as its programming language. Hardware composition and design of software were mainly discussed. The voice coil motor provided power to the platform. Optical encoder Mercury3000 was the measuring device. The quadrature signal of the encoder was converted into actual displacement as feedback signal for closed loop control system. The man⁃machine interface developed by LabVIEW had the functions of data acquisition, storage, playback and downloading control parameters. The interface was friendly and easy to operate. The overall design scheme had good promotional value. Keywords Control system of precision machine tool; Voice coil motor; Closed loop control 精密技术是现代机械加工技术发展的重要方向之 一, 发展尖端技术、 发展国防工业、 发展微电子工业 等都需要精密加工制造出来的仪器设备。 当代的精密 加工工程是现代制造技术的前沿, 也是明天技术的基 础[1]。 精密加工的发展依赖于精密机床, 因而精密机 床的关键部分 精密控制系统始终为研究人员所 重视。 音圈电机 (Voice Coil Motor) 是基于安培力原理 制造的一种新型直接驱动电机, 具有高频响、 高精度 的特点, 有利于精密机床控制系统的实现[2]。 基于 此, 提出一种以音圈电机提供驱动力, 以 STM32 和 LabVIEW 作为上下位机构成控制系统的精密机床控 制系统的设计方案。 1 控制技术的总体方案 机床的机械结构示意图如图 1 所示。 图 1 机械示意图 机床由直线型音圈电机驱动, 通过固定轴传动, 驱动由气浮装置支撑的平台运动[3]。 音圈电机是一种 将电能转换成机械能的装置, 通过 PWM 输出控制驱 动器输出不同电流控制音圈电机直线运动。 当前机床的控制系统主要由主控制系统、 运动控 制系统、 位置控制系统、 测量系统和上位机等组 成[4]。 该机床的控制方式采用闭环控制方式, 使用主 流的 PID 控制。 闭环控制中的反馈信号由测量系统 获得。 上位机采用 LabVIEW 编写, LabVIEW 编制功 能清晰, 对采集来的实时位移数据进行处理, 并执行 相关的控制[5]。 其控制原理框图如图 2 所示。 图 2 控制系统原理框图 2 硬件组成和结构 机床控制系统的硬件结构图如图 3 所示。 图 3 硬件结构图 主要包括 PC、 STM32F103RBT6、 位移传感器 Mercury3000、 音圈电机、 信号处理电路、 驱动器、 载物平台等。 其中, Mercury3000 是 MicroE 公司生产 的光学编码器, 可提供 5~0 020 μm 的线性分辨率, 选用钠钙玻璃的光栅尺, 安装长度是 25 mm, 可使用 长度是 20 mm。 用 SmartPrecision 电子器件模块对安 装好的光栅尺进行调整、 校验, 调节测量的分辨率, 平台中采用的是 2 μm 的分辨率。 Mercury3000 输出两路正交信号, 由于正交信号 的输入阻抗较小, 所以在微处理器采集的前端增加一 个由 LM358 构成的跟随器[6], 增加 Mercury3000 输出 正交信号的驱动能力。 LM358 内部有两个独立的、 高增益双运算放大器, 使用 5 V 单电源供电。 最小 系统由 AMS117 转化成 3 3 V 供电。 同时, 整个系 统通过 LM2940 提供 5 V 电压, 具体电路原理图如 图 4 所示。 图 4 硬件电路原理图 3 软件设计 此方案软件设计主要包括 3 个方面 上位机、 下 位机及通信协议制定。 微处理器采集到位移数据通过 RS232 上传到上位机, 由 LabVIEW 进行接收、 处理、 显示和保存。 同时, 上位机可以在线修改参数, 下传 给微处理器达到控制目的。 3 1 上位机软件 上位机软件设计主要包括 LabVIEW 前面板和后 台程序框图两部分。 前面板即为用户界面, 用来定义 各种控件。 后台程序框图采用数据流的方式处理数 据。 首先在计算机上安装 VISA 驱动程序, 然后进 行各个功能模块的开发, 具体功能模块可分为数据 采集、 保存数据、 数据回放、 实时显示、 参数设置 等。 LabVIEW 是一种图形化编程语言, 易于理解和 操作, 提高了编程效率[7]。 主要设计流程图如图 5 所示。 641机床与液压第 43 卷 图 5 上位机软件流程 主要功能模块介绍如下 (1) 上位机主界面如图 6 所示, 分为串口设 置、 实时显示、 参数设置等。 主界面中有开始运 行、 保存数据、 正弦输入、 数据回放及退出程序等 按钮, 点击开始运行按钮后, 串口打开, 保存数 据、 正弦输入、 数据回放按钮使能, 退出程序按钮 失能。 关闭串口后, 点击退出按钮就会退出整个主 界面。 图 6 上位机主界面 (2) 数据存储与回放。 数据采集过程中, 运动 轨迹与时间实时写入列表框中, 在采集结束时, 打开 数据保存按钮, 弹出选择待写入文件对话框, 设定保 存路径和文件名, 数据保存到 Excel 表格中。 如果要 查询某一过程中的数据, 找到相应 Excel 文件, 点击 数据回放按钮, 运动轨迹曲线就会在历史位移回放图 表中显示出来。 部分程序框图如图 7 所示。 图 7 数据存储与回放部分程序框图 (3) 位移设定。 在此机床中, 位移设定有 2 种 方式 固定位移和正弦曲线位移。 设定位移按照固定 频率和幅值的正弦曲线变化, 验证平台的跟随特性, 跟随特性测试将在下文介绍。 2 种方式都是利用 PID 闭环调节来实现精确、 高速定位。 3 2 下位机部分软件设计 下位机软件采用 C 语言编写, 主要实现数据采 集、 PWM 输出及与上位机通信等功能。 STM32F103RBT6 单片机具有丰富的外设资源, 其中高级定时器 TIM1 的编码器接口可以采集位移传 感器产生的正交信号, 正交信号经过处理转换成实际 位移量; 滴答时钟 Systick 提供精确的定时器中断; TIM2 配置成 PWM 输出模式, 有 3 路 USART 串口通 信可供选择。 系统上电复位后, 首先初始化 TIM1、 Systick、 TIM2 和 USART1, 将采集的实时位移数据与 设定位移做差, 将此偏差作为 PID 控制器的输入量, PID 的采集周期为 10 ms, PID 输出结果通过 PWM 输 出。 同时, 实时位移数据经过处理后, 通过 USART1 741第 22 期赵勇 等 精密机床控制系统的设计与实现 上传给上位机[8], 流程图如图 8 所示。 图 8 下位机流程图 STM32 都是 16 位定时器, 由于光栅尺计数会超 过 65535, 通过直接读取的方法已不能准确读取数 据, 下面是解决定时器溢出的源码 s16 Enc_GetCount(void) { static u16 lastCount = 0; u16 curCount = ENCODER_TIME->CNT; s32 dAngle = curCount - lastCount; if(dAngle >= MAX_COUNT) { dAngle -= ENCODER_TIM_PERIOD; }else if(dAngle < -MAX_COUNT) { dAngle += ENCODER_TIM_PERIOD; } lastCount = curCount; return (s16)dAngle; } 经过实际测试, 光栅尺在 50 ms 内都不会溢出, 所以设定 10 ms 的中断采集一次数据。 上述代码中 MAX_COUNT 是比 10 ms 内出现的计数器最大值大的 值, ENCODER _ TIM _ PERIOD 是 TIM1 周 期, EN⁃ CODER_TIM_PERIOD 要比 MAX_COUNT 大。 最后定 义一个 32 位的有符号变量 currentCount, 每 10 ms 执 行一次 currentCount+=Enc_GetCount (), 只需要读取 currentCount 就会获得位移信息。 PID 控制器由比例单元 (P)、 积分单元 (I)、 微分单元 (D) 组成, 是一种非常广泛的自动控制 器。 PID 算法主要有增量式和位置式两种, 在此平台 中使用增量式 PID 算法[9]。 3 3 通信设计 通信设计的主要任务是对数据进行分割与转化, 从而得到需要的数据。 在下位机与上位机通信过程 中, 数据是按照一定的通信协议进行封装和传输的。 下位机 STM32 把数据以 16 进制数组上传, 同理上位 机也以 16 进制数组下传数据。 通信协议的使用一般 有两种方式 通用的工业通信协议和个人定制协 议[10]。 在此设计中, 使用了自己定制的通信协议。 下位机接收上位机下传数据和下位机发送上位机 接收数据两个过程使用了相同的数据封装方式, 其对 数据的解析方法也一样, 所以在这一章中, 只从下位 机这一方面分析数据的传输过程。 数据帧的封装格式 根据指令的不同分为读数据帧和写数据帧两种, 两种 数据帧的字节长度都是固定的。 根据设计需要, 读数 据帧和写数据帧分别由 18 个和 6 个字节构成。 读数 据帧起始符是 0xE0, 数据部分的 16 个字节平均分成 4 块, 每一块分别表示的是 P、 I、 D 参数值和设定位 移量; 写数据帧起始符是 0xF0, 数据部分 4 个字节 表示实际位移量, 两者的结束符都为 0x0D。 其封装 格式分别如图 9 和 10 所示。 图 9 读数据帧 图 10 写数据帧 数据接收过程如图 11 所示。 当有数据接收就会 触发 USART1 接收中断, USART1_DR 寄存器接收上 位机下传数据, 如果数据中出现 0xE0, 依次读取 0xE0 后 17 个字节的数据并存入数组, 判断数组中第 17 个元素是 0x0D, 计数器清零, 将中间 16 个字节分 别还原成 P、 I、 D、 设定位移参数值。 图 11 数据接收流程图 4 测试机床的跟随特性 测试机床在 PID 控制下的动态特性, 调节 PID 控制参数, 在同一组参数下, 改变输入正弦信号频 率, 验证运动平台的跟随效果。 图 12 和图 13 分别为 0 5 Hz 和 1 0 Hz 下的跟随曲线。 曲线 1 是输入正弦 信号, 曲线 2 是运动平台的跟随曲线。 841机床与液压第 43 卷 图 12 0 5 Hz 正弦曲线 图 13 1 0 Hz 正弦曲线 从图 12 和图 13 可以看出 曲线 1 和曲线 2 的重 合度较高, 控制系统的跟随效果较好。 同时, 图 12 中曲线 1 和曲线 2 重合程度要比图 13 的高, 并且曲 线 2 要光滑得多。 所以可以看出 随着正弦曲线频率 的增大, 平台跟随特性变差。 5 结论 基于 LabVIEW 和 STM32 的精密机床控制系统, 达到了控制精度, 具有较高的响应速度。 LabVIEW 集成生成可执行文件的程序, 最后的可执行文件可以 在没有安装 LabVIEW 的计算机上使用, 系统设计方 案可以推广到精密机床加工行业。 参考文献 [1] 袁哲俊,王先逵.精密和超精密加工技术[M].北京机 械工业出版社,199910-102. [2] 冯晓梅,张大卫,赵兴玉.基于音圈电机的新型高速精密 定位系统设计方法[J].中国机械工程,2005,16(16) 1415-1416. [3] 何学明,陈学东,曾理湛.超精密气浮平台的定位精度分 析[J].华中科技大学学报自然科学版,2008,36(3)8 -11. [4] 陈学东. 超精密气浮定位工作台技术气浮系统动力学 与控制[M]. 武汉华中科技大学出社,200810-102. [5] 母亚敏,李治,柏荷.基于 LabVIEW 和 FPGA 的 LCR 测 试仪设计[J].电子技术应用,2013,39(11)92-95. [6] 童诗白,华成英.模拟电子技术基础[M].北京高等教 育出版社,200110-26. [7] 耿朝,崔建昆.基于 LabVIEW 的齿轮泵振动采集分析系 统设计[J].制造业自动化,2013,36(1)26-29. [8] 蒙博宇.STM32 自学笔记[M].北京北京航空航天出版 社,201252-76. [9] 胡寿松.自动控制原理[M].5 版.北京科学出版社, 200732-53. [10] 王丽,雷秀,余建国.基于 PC 机与单片机 AT89C52 的 串行通信协议设计[J].机电工程技术,2006,35(2) 19-22. (上接第 155 页) 加热器电源通断。 此系统设置了高温系统温度调节 器, 分别用于显示高温系统的实时温度、 目标温度以 及温度的调节和设置。 此系统的具体工作过程如下 首先, 将需要进行 测试的被试水泵安装到第三阀门与第四阀门之间, 再 根据测试要求, 通过控制柜对加热水箱进行温度设 置。 通过进水管路向加热水箱中注入水, 加热器进行 加热获得所需温度的循环热水, 循环热水流过膨胀水 箱, 抑制循环热水沸腾; 循环热水继续依次流过温度 表、 压力开关、 第三阀门、 被试水泵、 第四阀门、 第 二压力表、 流量调节阀组、 安全阀、 流量计和排气 阀, 在此过程中监测第二压力表、 流量计上的数值, 并通过流量调节阀组进行流量的调节, 使得流经被试 水泵的流量以及压力满足其额定值的要求, 使得被试 水泵在额定条件下运行, 从而进行各类试验。 其中排 气阀起到对整个循环回路排汽、 泄压的作用, 从排气 阀流出的循环水再次流回加热水箱内进行加热, 从而 形成一整套试验循环回路。 3 总结 此水泵高温测试系统的设计科学、 合理, 研制方 案和过程基于计算机控制技术、 流体力学控制技术、 温度控制技术等一体化综合技术, 以系统测试集成 化、 检测设备节约化为研究方向, 以解决检测实践中 的具体问题为研究目的, 同时考虑到现有检测资源的 整合和优化。 此系统可测试项目和功能覆盖范围广, 具备水泵 安全、 性能等多方面测试功能。 因此此水泵高温测试 系统的完成, 不仅能提升对于相关产品的能效、 安 全、 性能检测能力, 同时也能提升在国内外相关产品 测试方面的影响力。 整套系统在试验过程中运行可靠、 性能稳定, 充 分体现了该系统的先进水平, 具有良好的应用和推广 价值。 941第 22 期赵勇 等 精密机床控制系统的设计与实现