RTLinux构建的磁悬浮轴承控制器实验平台

5 控制平台构建
磁轴承各种数字控制算法的实现从根本上看要依赖于所使用的硬件平台,因此要求其平台具备强大的运算能力与AD/DA吞吐能力。
PC机采用了PIII800 CPU,其强大的浮点运算能力、高速的系统总线能很好满足系统需求。A/D卡可以采用ISA总线,也可采用PCI总线与CPU交换数据。与ISA总线相比,PCI总线速度要高得多。所用PC机上的PCI总线为32位/33MHz,可提供每秒132M字节的突发(Burst)数据传输率。PCI2.1规范已定义了64位/66MHz的PCI总线标准,因此未来可提供每秒512M字节的突发(Burst)数据传输率
。而ISA总线的时钟频率率是8MHz,最多实现0.5M字节左右的数据传输率。另外,与ISA总线比较,PCI总线增加了奇偶校验(PERR)、系统错(SERR)、从设备结束(STOP)等控制信号以及超时处理等可靠性措施,使数据传输的可靠性大为增加。
考虑到系统要求很高的数据吞吐能力,以尽量减少A/D采样带来的数据延迟,最终选取了商用高速PCI数采卡。此PCI卡采用ADS7819作为数据采集芯片,最大数采率可达800kHz,支持32路单端或16路差动模拟输入,另配有16路开关量输入,16路开关量输出。磁悬浮控制系统要求5路传感器信号采集,另外需要监测转子速度,此卡提供的硬件完全能够满足需求。而且,它在板上设置了4K的高速FIFO,具有专门的逻辑控制电路,采样时可实现通道的自动切换。这样就为编程时尽可能减少CPU对采样的干预,从而为CPU计算能力的充分利用提供了基础。其结构简图如图4所示。
D/A部分选用了AD公司的高速D/A芯片AD7537,电流建立时间仅1.5μs。D/A板上共放置了5片AD7537,它们可同时进行10路控制信号的D/A转换输出,能达到系统的速度要求。
基于以上选取的硬件,采用了PC机与RTLinux开发的控制平台的基本结构如图5所示。
硬件选择完毕之后,需进行相应的软件编制以实现完整的控制谷仓中。文献[1]中,美国维吉尼亚大学的Hilton提供了一整套的基于RTLinux的软件解决方案——“RTiC”开发平台。但“R-TiC”平台的一些图形功能会影响系统的运行速度,同时考虑到系统的灵活性、高效性、安全性及对软件代码完全有效的控制,因而对软件平台进行了完全自主的开发。
软件在RTLinux下用C语言进行开发,主要完成以下几个功能:(1)数据采集,采样位移传感器信号;(2)转速监测,监测转子转速,向控制算法提供实时转数据;(3)算法实现,完成位移与转速数据到控制量的解算,实时生成控制量;(4)D/A输出,控制D/A卡输出电流控制量,驱动功放输出控制电磁力。与之相适应的软件结构如图6所示。
6 平台应用
平台搭建完成后,对系统性能进行了评测。采用的方式如下:
令系统工作周期为10kHz,每一周期,PC机完成A/D采样、数据处理、D/A输出等功能。A/D、D/A部分所用时间是固定的(与所采用的硬件水平有关),控制算法所能利用的时间(即数据处理部分)可达50μs以上。在评测时,数据处理代码段循环进行如下工作:计数器累加、浮点乘法运算、译码并存储结果到目的数,循环次数可达3000次以上。此评测虽然简单,却很好地反映了系统对磁悬浮数字控制(需要进行大量的译码与浮点乘法运算)的优越性能。
在随后的实验中,使用此平台对一力矩陀螺磁悬浮系统进行了有效控制。PIII800强大的处理能力使复杂的控制算法得以轻松实现,并最终使系统转速超过了20000rpm。
本文介绍了基于PC机与RT
《RTLinux构建的磁悬浮轴承控制器实验平台(第3页)》