其中动量轮轮体是一套包括电磁铁、同步电机和转子的机械装置(如图2所示)。转子是被控对象,在电机带动下旋转,它的5个自由度(上下各两个径向,还有一个轴向)的位移信号通过电涡流传感器变成电压信号,传给控制系统;控制系统执行控制算法,得出控制信号;MPW型功率放大器负责将控制系统传来的十路电压控制信号转化为电流,流入电磁铁的线圈,驱动电磁铁产生电磁力,将转子悬浮于空中(其中每一对磁铁控制一个自由度)。监测系统用于监测及在线显示系统的位移和电流信号、电机驱动电流以及动量轮转速等信息,并可进行频域分析[1]。本文研究的重点是控制系统,它是整个设备的核心,在很大程度上决定着设备的性能。
2 控制系统的硬件设计
2.1 硬件框图及工作原理
本文设计了基于TMS320C6713(以下简称6713)的便于实现集中控制算法的硬件平台,在高性能CPU的基础上扩展了集成度和可编程能力更高的AD、DA等芯片,其结构框图如图3所示。
TMS320C6713是目前TI公司推出的主流浮点型高端DSP,其浮点特性很好地满足了磁轴承控制系统对数据计算精度和动态范围的要求,同时简化了算法中存在的大量浮点运算代码并提高了算法执行速度。该CPU为32 位,内置八个功能单元,最高300MHZ的时钟主频,2400MIPS、1800MFLOPS的运算能力,可以进行16/32/40位的整数运算和32/64位的浮点运算。具备超长指令字功能,含多级硬件流水线,数据处理能力强大。具备两级缓存,程序和数据缓存各为4KB,有192KB的映射内存和64KB的可配置内存。大量的片内存储可以很好地满足复杂算法对存储空间的要求,简化了外围电路,提高了存取速度和可靠性。其片内的EMIF并口可以方便地与目前出现的所有存储实现无缝连接,EDMA的存在方便了数据的存取并减小了CPU的负荷,此外具有2个32位TIMER,2个MCBSP串口,两个MCASP,两个I2C,一个HPI接口和可配置的IO,可方便地与外围器件进行通讯。
在硬件系统中,传感器传来的信号经过抗混叠滤波后由AD进行转换,然后由DSP读出;DA负责将DSP计算后写入的数据转换为控制信号,经过放大滤波后,传给功放;同时两路转速信号(将两个红外探头置于转子的90度角上得到两路信号)经过脉冲处理电路后会形成一系列脉冲,产生中断,通过对这两个中断信号分别计数,可以计算得出转子的转速和转向;SDRAM负责存储数据和结果,FLASH用于加载程序以使系统脱离仿真环境而独立工作;串口负责DSP与PC之间的通讯。
2.2 DSP外围器件特性及其接口设计
2.2.1 最小系统
DSP本身:需要注意的是DSP的大小端工作模式、复用引脚的选择、启动方式等都取决于特定引脚的电平,可以通过跳线来配置;某些引脚必须按规定接为上拉或下拉,否则可能导致DSP不能正常工作,具体参考文献[2];由于6713的外部总线工作在100MHz的时钟频率下,属于高速电路,如果使用不当,会导致不能正常读写,所以需要在所有信号线的发射端接匹配电阻,以抵消信号的二次反射,从而避免过冲、振铃等信号完整性的问题;300MHz的6713采用的是BGA封装,虽然该封装具有很多优点,但是不利于调试,最好将关键引脚引出(注意包地),以便于调试和纠错。
电源复位模块:6713需要1.4V的内核电压和3.3V的IO电压,系统总输入电源为5V,所以可通过TPS54310将5V电压转化为1.4V电压,用TPS75733将5V电压转化为3.3V电压,同时用TPS3823作为电源监视模块,用以监视电源是否工作正常,并且该片内有硬件看门狗和手动复位功能,这样就可以在适当的时候产生复位信号,使DSP处于RESET状态。
时钟模块:DSP内部有PLL模块,能够方便地通过软件配置来进行倍频和分频,这样就简化了外部时钟电路,提高了系统的可靠性。系统主要需要产生300MHz的内核工作时钟和100MHz的外围总线工作时钟,这样只需简单地在外部接一个25MHz的有源晶振即可。需要注意的是DSP的PLL模块电源应该接EMI滤波器,另外在配置内部时钟时应该遵循一定的时序,详见参考文献[3]。
扩展内存:系统需要扩展内存来存储大量数据以节省片内内存,综合考虑速度、成本和容量等因素,决定采用SDRAM(同步动态RAM),器件选择MICRON公司的MT48LC4M32B2(1M×32×4Banks),具有32位的数据总线,对应16MB的寻址空间。DSP内的EMIF模块可与SDRAM直接进行无缝连接,采用小端模式,并将SDRAM映射到EMIF的CE0空间。
FLASH:配置FLASH实现系统的自加载功能使系统脱离调试环境而独立运行,采用的是AMD公司的AM29LV400B(256K×16-Bit),有16位的数据总线,工作于半字模式,对应256KB的寻址空间,映射到EMIF的CE1空间。
JTAG接口:DSP具有遵循IEEE 1149.1协议的JTAG接口,可以通过仿真器与PC机相连,在TI公司提供的集成开发环境CCS下进行仿真和调试。将JTAG模块的TMS、 TDI、TDO和TCK这四个引脚直接引出到标准的JTAG插座上,与仿真器插头的引脚一一对应;另外EMU0和EMU1要外接上拉电阻,使DSP工作在仿真模式下,TRST引脚接下拉电阻,PD接5V电压。需要注意的是,JTAG座为标准的14针插座,其中没用的第6针应拔掉以便电缆插头插入,这样可以防止插反。
2.2.2 AD和DA
AD采用了12位的MAX115,每个芯片具有2Banks×4Channels的采样通道,各通道都有跟踪保持放大器,它可以将四通道的信号同时保持住,这样可以保证各通道用于转换的信号在时间上的同步,实现了数据的同时采样。系统中采用两片AD,每片转换两路,采样率最高可以达到218ksps,将两片AD映射到EMIF的CE3空间,通过地址线和片选线译码产生每个AD的片选信号。由于AD是5V器件,而DSP是3.3V的IO电压,所以中间需要接总线开关,用于5V到3.3V的电压转换。转换启动引脚与DSP的定时器输出引脚相连,每个AD芯片转换完成后都会产生一个中断信号,将这两个信号相与之后作为DSP的中断输入。AD的12位数据线与EMIF的对应数据总线相连,用于数据和指令的传输。
DA采用了13位8通道的MAX547,可以同时输出8通道D/A转换信号,它与处理器的接口并行,输出建立时间为5μs。由于系统需要10路输出,所以需要采用两片DA,这样一共可以同时提供16路输出信号,使用时可以分配每一片转换5路信号。将两片DA也映射到EMIF的CE3空间,同时通过地址线和片选线译码产生每个DA的片选信号。输出经过一级放大电路后,可以将电压扩大两倍,同时保证输出电流的带负载能力。采用DSP的低13位数据线进行数据的传输,同时采用低三位地址线进行通道的选择。DSP的D0数据线经过脉冲扩展后形成转换启动信号连接到DA的对应引脚。
2.2.3 其他电路
串口电路:系统可以通过RS232串口与PC机进行通讯,这可以利用DSP内部的MCBSP模块以软件模拟的方式来实现,硬件上把帧同步输入和数据接收端接在一起形成UART的输入端,把数据发送端作为UART的输出端,然后将UART接至MAX3232,形成了RS232串口。需要注意的是,根据MCBSP的工作特点,需要将实际数据扩展为16位(0用0x0000表示,1 用0xFFFF表示)。
测速电路:红外测速信号需要经过一定的脉冲整形电路来产生DSP的中断输入,主要是让测速信号经过微分电路、比较电路和与门产生沿陡峭的脉冲信号,再经过单稳触发电路调整脉冲宽度就形成了符合要求的中断信号。
CPLD:在系统中所需要实现的很多逻辑功能可以通过CPLD实现,这样可以避免去寻找专用的简单逻辑器件,并且CPLD编程方便、功能强大、节省空间,可以提高系统的性能。在本系统中,CPLD采用的是5V/3.3V兼容的CY37064,主要用来实现如下功能:AD和DA的译码;复位信号的与运算;AD中断信号的与运算;DA启动信号的脉宽扩展;扩展IO等。
3 硬件平台的应用与实验结果
3.1 控制算法的选取
控制算法主要采用PID、交叉反馈和数字滤波。PID是控制的基础,实现基本的悬浮,交叉反馈用来克制转子旋转时的进动和章动,同时设计一个切比雪夫二型4阶带阻滤波器来克服结构模态的影响,该滤波器中心频率为910Hz,陷波宽度为40Hz,陷波深度为20分贝。将连续域的传递函数经过双线性变换可得到如下公式:
y(k)中的各项依次为比例输出部分、积分输出部分、微分输出部分和交叉反馈输出部分。要确定上面公式中的系数,需要首先确定偏置电流和系统的刚度、阻尼,从而得出负刚度和电流比例系数,进而得出各参数,先通过仿真选定初值,然后通过实验反复调整参数,直至得到满意的效果为止[4]。
3.2 软件开发与实验结果
在硬件平台建立好之后,便可以通过仿真器将PC机和目标系统连接起来,在CCS集成开发环境下进行软件的开发,它支持C和汇编。经过优化的可执行代码可以下载到系统当中,利用单步执行和设置断点等方法进行功能上的调试。
磁悬浮动量轮控制系统的软件结构流程如图4所示。系统复位后程序首先进行系统初始化,包括 配置PLL得到所需要的系统时钟,初始化EMIF以保证SDRAM、AD和DA正常工作,初始化TIMER、IO、中断和EDMA;然后启动TIMER开始工作,按一定的频率触发AD采样,当AD中断到来时,DSP就读出数据并按一定的控制算法计算得出控制输出,然后写入DA缓存当中,最后触发DA转换。当下一个AD中断到来时再重复上面的过程。同时转速信号通过脉冲处理电路生成中断信号,触发DSP用于转速处理的中断程序,可实现转子转速和转向的在线测量。当PC机发出指令时,则进入相应的中断程序作出响应。看门狗电路在程序运行不正常时,可以触发RESET信号,重新加载程序代码,恢复程序的正常运行。
实验表明,该硬件平台使得程序执行的时间大大缩短,从而可以将采样率提高到以前(以TMS320C32为核心)的10倍以上,大大提高了系统的性能,目前动量轮转子可以达到12 000r/min,在工作转速下,轴承处转子的振动小于10μm。
本文构建了基于TMS320C6713的磁悬浮动量轮控制系统的硬件平台,并借助该平台进行了控制软件的开发,通过硬件系统优良的性能很好地实现了外转子动量轮原理样机在高速旋转下的稳定悬浮,基本满足了各种性能指标,为下一步集中精力进行控制算法的研究改进和提高系统的性能提供了有力保证。
参考文献
[1] 张剀.磁悬浮动量轮系统研究[博士学位论文].清华大学工程物理系,2004.
[2] TMS320C6713B Floating-point Digital Signal Processor.Texas Instrument,2005.
[3] TMS320C6000 DSP 32-Bit Timer Reference Guide.Texas Instrument,2005.
[4] G.施韦策,H.布鲁勒,A.特拉克斯勒著,虞烈,袁崇军译.主动磁轴承基础、性能及应用.北京:新时代出版社,1997.