文献标识码: A
文章编号: 0258-7998(2012)03-0096-03
目前磁悬浮控制系统的硬件设备普遍采用DSP数字信号处理芯片结合高速的AD/DA转换器来构成。软件编写的上位机测控系统目前没有统一的整体发展趋势。传统的上位机编写软件是由VC++、VB等可视化软件来编写,这种开发形式过于偏重语言自身的学习,不利于测控工程师们根据实际需要灵活地改变上位机测控系统的功能,因此,本文采用DSP硬件电路结合图形化测控软件LabVIEW编写上位机测控系统实现高精度磁悬浮驱动器的定位控制。
1 磁悬浮驱动器结构
本论文使用的磁悬浮微驱动器结构如图1所示[1]。驱动器的底座由绝缘材料制成,纵横正交叠放160×160匝导线并用环氧树脂胶结形成导线阵列,用于产生同步跟随磁场[2]来驱动驱动器的运动部分,导线阵列上方四周的框体是水平驱动模块,由8个线圈绕组构成,用于水平驱动和定位。框内放置永磁阵列运动部分。运动部分由49块磁极方向各异的小磁块,按照Halbach阵列原理[3],由45°旋转角型二维矢量叠加的方式[4]排列组成。在运动体的四周安装有3个一组的简化Halbach阵列,对应于周围的线圈绕组构成水平驱动定位系统。运动部分的上方用来安放光学测量设备。
2 定位控制系统总体设计
结合理论分析与仿真研究[5]可知,微驱动器要求测控系统性能稳定,精度高,实时性好,编程调试和功能修改方便。因此,选择TI公司的TMS320F2812 DSP数字处理器作为控制芯片,采用16 bit 250 kS/s的AD7656和DAC7744实现数据采集和控制量输出的转换,电压范围±10 V,共同构成硬件控制核心。采用NI公司的LabVIEW专业测控软件以及数据采集卡制作实时的监测软件,对驱动器运动的数据进行同步采集和分析修正。采用高精度的电涡流传感器作为位移检测装置。定位控制系统的总体框图如图2所示,系统由上位机、DSP控制器、驱动电路、换向控制电路、传感器等几部分组成。
3 硬件控制板的软件设计
硬件控制板的主要作用是:采集由电涡流传感器传来的0~10 V电压信号;进行控制算法处理,并把处理的结果通过DA传输至导线阵列换向电路以及水平驱动电路。在DSP上面运行的程序是下位机控制算法程序,软件应用TI公司的CCS2集成开发环境编写,同时为了使程序易于编写、测试和维护,采用了功能模块化设计。软件采用C语言和汇编混合编程的方法,对整体程序框架和对实时性要求不高的模块采用了C语言编写,这样可读性强、编程简单、调试方便,易于扩展。而在算法处理,即运算量大的地方,采用汇编语言编写,从而提高了代码的执行效率。
软件流程图见图3。整个程序包括系统初始化模块(包括DSP系统初始化、片上外设的初始化、扩展外设初始化、控制参数初始化及中断方式的选取等)、A/D采样模块、控制算法模块、D/A输出模块四部分。
一个控制周期的循环过程:先由D/A依次输出编写好的控制信号序列,控制信号经过功放板驱动微驱动器运动,电涡流传感器采集位移信号,通过变送器滤波后直接送入A/D,在同一个循环周期内A/D采集模拟信号, 转换为对应的数字信号后在程序内部作为控制算法的误差来源,误差经过控制算法的计算后由D/A输出,完成一次控制循环。每一次的循环时间和采样率可以在文件初始化时对A/D的定时器进行设置,例如调整EvaRegs.T1PR=0x0200的参数就可以改变定时器的循环周期。
4 上位机软件设计
在微驱动器的运动过程中,传感器采集的数据经过数据采集卡进入上位机的数据保存与监测系统。设计这样一个上位机模块可以对运动过程中的数据进行及时的分析。为了减轻DSP运算负担,采用先进的虚拟仪器技术来完成这个功能。目前最合适的用于虚拟仪器开发的软件就是LabVIEW。
上位机的程序编写主要由几大模块组成:DAQ助手完成软件和硬件数据采集卡的通信。利用G语言图形化编程对数据进行绘图处理;对采集的数据进行保存;利用软件输出信号进行开环控制。各模块的关系如图4所示。
首先在LabVIEW的程序编辑区内设置一个循环,再从Express选项中把两个DAQ助手放置在循环区内,分别设置为输入输出功能。然后在前面板区域内放置数据显示模块、图形显示模块以及输出量的控制参数。最后,在程序编辑区内添加相关的数据处理关系,使前面板的数据显示区可以正确地显示位移、偏移量、设置量以及输出量的输出旋钮可以按精度要求手动调整。测控程序样图如图5所示。
图中的DAQ输入模块是对应硬件数据采集卡的上位机控制模块,采集的数据具有很高的精度,为了运算和编程显示方便,通过对数据进行10 000倍的放大,在图5(a)中就是乘以常数10 000。然后再通过取整运算,去掉小数点。再除以常数10 000,使数据具有小数点后四位精度。由于数据采集卡自身的零点漂移使得采集数据的零点不能回零,因此要对漂移的数据进行清零。经过处理后的数据就是驱动器位置对应的电压值,这个值由电涡流传感器测得。电涡流传感器的电压输出值和位移的关系已经经过多次的标定测试。传感器的标定至关重要,传感器把位移的变化转换为反馈的电压变化,上位机采集的电压信号将通过标定好的电压位移(U-D)关系计算出位移并显示在前面板上。在图5(a)中已经对这些公式进行了程序编写、显示、绘图、保存。图5(a)中的两个仿真信号模块就是把要求的XY轴定位参数输出给水平驱动模块。主要的参数有:控制信号的幅值、周期、偏移量。这些参数就是通过在前面板上的旋钮和输入控件来修改。
5 定位实验
定位精度和反复定位精度是评价驱动器性能的重要指标。因此,本论文对该驱动器进行了平面内的跟踪定位实验。利用FFPID控制算法对平面内的两个点进行了多次的定位实验,在平面内的坐标为(1.23,1.23)mm,(1.52,1.52)mm,如图6(a)、(b)所示。
从图中可以看出,DSP控制器使运动体在每一个位置信号来临后,能够实现对定位信号的快速定位。图中两个采样点的位置平均值为(1.231,1.227), (1.529,1.516)。X轴的误差为0.001 mm和0.09 mm,Y轴的误差为0.003 mm和0.004 mm。说明控制系统设计能够满足高精度定位的要求。
采用TMS320S2812数字处理芯片结合电涡流传感器,构建了一套数据采集运算和控制的硬件系统。利用LabVIEW虚拟仪器软件和数据采集卡结合的方法在上位机设计了数据采集、显示、分析、保存于一体的磁悬浮微驱动器定位测控系统,通过实验验证了该控制系统能够实现驱动器的高精度定位。
参考文献
[1] 陈本永,陈军,杨涛,等.同步跟随式电磁悬浮微驱动器的力学分析与测试[J]. 测试技术学报,2009(2):95-101.
[2] 姜伟光,杨涛,陈军,等.电磁悬浮式微驱动器的同步跟随驱动设计[J].浙江理工大学学报,2009,26(4):534-537.
[3] HAN Q, HAM C, PHILLIPS R. Four-and eight-piece halbach array analysis and geometry optimisation for maglev[C]. IEE Proc. Electr. Power Appl., United Kingdom: the Institution of Engineering and Technology, 2005,152(3):535-542.
[4] TRUMPER D L, KIM W J, WILLIAMS M E. Magnetic arrays: USA, 5631618[P].1997-05-20.
[5] 潘科荣.磁场同步跟随式电磁悬浮微驱动器理论分析与建模研究[D].杭州:浙江理工大学,2008.