摘要:嵌入式技术突飞猛进的发展,为运动控制系统的研究和应用注入了新的活力,并且使得开发成本和周期都大为缩减。本论文将多电机驱动、电机控制器、多电机串联控制器、在线调试等功能在ZedBoard开发平台中实现,突出了Zynq-7000 AP SoC系列处理器资源丰富、配置灵活的特点。系统使用集成半桥驱动器BTS7960实现了高效电机驱动板设计。在设计方法上使用软硬件协同设计方法,在大大扩展系统功能的基础上,有效地缩短了开发时间。
引言
运动控制系统广泛应用于工业自动化领域。系统需求日渐复杂,系统的响应速度、精度要求越来越高。多轴串联控制技术已在工业界得到广泛的应用,主要用于消除传动间隙,驱动大惯量、高负载对象等。使用多轴串联控制技术既可以改善系统传动间隙的影响,又能够提升系统的响应性能和鲁棒性。
由于各个轴之间的驱动电机性能存在差异,使用传统速度控制方案或者主从结构方案都难以达到理想的控制效果。Y. Koren教授于1980年提出了交叉耦合控制方案,并逐步应用于多轴串联控制系统中。但是要实现这种方案,需要复杂的硬件设计、强大的实时计算能力、昂贵的系统配置和较高的系统功耗。
Zynq-7000 All Programmable SoC(Zynq-7000 AP SoC)是Xilinx公司推出的新型All Programmable解决方案,是用来应对高级运动控制、实时工业网络、机器视觉以及新一代工业自动化应用的挑战。Zynq-7000 AP SoC集成了双核Cortex-A9 MPCore处理器系统,支持Xilinx 28nm可编程逻辑的ARM TrustZone安全技术。同时Zynq-7000内部集成了丰富的逻辑资源,其Programmable Logic(PL)部分包含约1.3M等效逻辑门和220个DSP Slices。这些逻辑资源提供了完善的高级运动控制解决方案。本设计通过ZedBoard开发系统实现了从底层驱动至上位机人机交互等一整套完整的系统功能。
多轴串联控制系统
本系统设计借助于ZedBoard开发系统强大的性能和美信公司完善的硬件支持,实现了快速、高效的系统开发。前期系统模型和分析利用Matlab完成。通过Matlab与Xilinx产品的相互支持,设计者可以快速确定控制器方案和具体实施细节。本设计将电机驱动、交叉补偿单元、电机标准接口均在ZedBoard开发系统中应用实现。系统外部同时连接两台直流电机。各电机的实时状态也通过接口反馈到上位机,并可以传递给Matlab进行数据分析和参数调试。
系统的电机驱动PI控制器和补偿PI控制器均利用PL实现。由于使用了Xilinx的DSP开发套件System Generator(XSG),使得开发周期缩短、开发难度降低。在Matlab/Simulink仿真环境下,设计相关PID模块。通过XSG,系统可以直接生成PL可执行模块。该模块可以利用Matlab与其他模块仿真,通过这项功能进行参数调整将大大节约开发的时间。
在此基础上,本设计采用交叉补偿方案完成电机串联控制。在单电机驱动结构之外,系统增加张力扭矩PI补偿,控制两台电机保持协同消隙所需要的扭矩关系。所设计的系统结构框图如图1所示。张力扭矩轨迹表示两台电机力矩的关系。其指令意义表示两台电机驱动的电流指令之差,物理意义表示两台电机输出力矩之差。