RTLinux构建的磁悬浮轴承控制器实验平台
RTLinux构建的磁悬浮轴承控制器实验平台摘要:介绍了一种全新的基于PC机与RTLinux构建的磁悬浮控制器实验平台。与基于DSP构建的控制平台进行比较,证明此平台在成本、开发效率、性能等方面具有优越性。最后介绍了新平台的实际应用情况。 关键词:RTLinux 磁悬浮轴承 飞轮 控制平台
磁轴承(Magnetic Bearing,简称MB),又称为磁悬浮轴承,是利用磁力作用将转子悬浮于空中,使转子与定子之间没有机械接触的一种新型、高性能轴承。与传统的滚珠轴承、滑动轴承以及油膜轴承相比,磁轴承不存在机械接触,转子可以运行到很高的转速,具有机械磨损小、能耗低、噪声小、寿命长、无需润滑、无油污染等优点,特别适用于高速、真空、超净等特殊环境中。
随着控制理论的发展以及对磁悬浮轴承系统性能要求的不断提高,磁悬浮系统控制器需要实现的控制算法的复杂程度日渐加大。传统的模拟控制器虽然具有成本低、速度快、性能稳定、对PID控制算法适应良好等优点,但却难以满足用户日益增高的需求。于是数字控制成为磁轴系统控制的主流趋势。
在磁轴承系统控制中,普遍采用了基于DSP构建的数控平台。此平台难以克服其硬件成本高、开发周期长、延续性差、对用户软硬件能力要求高等缺点。开发一种低成本、高效率、易开发、易维护的控制器实验平台便成为迫切的需要。
基于PC机与RTLinux构建的控制平台恰恰能满足这一需求,其强大的数值运算与实时处理功能,为磁悬浮系统性能的提高提供了可靠的保障。事实上,国外已有将基于PC机一RTLinux构建的控制平台应用于高阶磁轴承控制器的成功实例。
1 数字控制系统的硬件结构简介
一个典型的磁轴承数字控制系统结构如图1所示。图中的电磁转子与转子属机械装置。传感器采用清华大学机电与控制实验室自行研制的高精度、高稳定度电涡流传感器。功放采用大功率电流控制开关功放。系统工作时,由传感器检测转子各自由度位移信号,并由数字系统对此信号进行采样。位移信号与转速信号作为控制器的输入,控制算法对输入信号进行解算,得出控制信号;输出的控制信号通过D/A转换器输出,控制功放输出电流,此电流流过电磁铁线圈使电磁铁产生电磁力,实现转子的悬浮。
2 DSP数控平台
前一代实验室数控平台为DSP平台,采用TI的第三代浮点DSP即TMS320C32构建。在采用DSP平台进行磁悬浮系统控制的过程中,笔者发现此平台具有一些难以克服的缺点:
(1) 资源有限影响性能。此DSP芯片为40MHz时钟驱动,总线速度只有20MHz,且由于其提供的内部存储空间太小(仅有512字节),必须使用外部扩展内存,于是控制算法需要对外部存储器频繁地进行访问。在访问外部存储器时,会频繁地遇到流水线冲突,此时的运算速度实际上会降为原先的1/4。这样,有限的DSP运算资源无法提供足够的处理速度。实际使用时发现,即使仅采用PID算法进行控制,在控制通道中加上二阶陷波器算法后,数据处理周期(包括完成一次A/D采样、控制数据生成、D/A模拟输出)也不得不降低。由此带来的直接影响是控制器时间延迟的上升。若要实现更复杂的算法,则系统延迟会继续增加。另外,512字节的片内RAM也对程序的长度限制很大,虽然可以采用仅将中断处理程序加载到片内RAM,而其余程序放到扩展RAM的方法来缓解。但是一旦程序长度进一步增加,这种权宜的办法也难以满足需求,系统性能会进步下降。总之,DSP有限的运算资源与有限的存储器资源对控制算法的实现造成了很大的影响。
(2) 不菲的软硬件成本、人力成本、时间成本。虽然DSP技术也在快速发展,但DSP软件要求有很强的汇编语言编程能力(DSP的C编译器效率一直不高),硬件开发需要较高的硬件设计与调试水平,且由选型到最终实现控制平台的功能,要经历一个比较长的周期。另外其更新换代具备的向下兼容性并不强,当新版的DSP推出后,又要求一个与之适应的全新的开发平台的支持。一般而言,这样的开发系统价格是非常昂贵的。而且,这样的新开发平台与前一代的软硬件差异不小,再开发的人力成本与时间成本也很高。本实验室的DSP平台由选型到成功应用,杨作兴博士在上边的工作持续了两年的时间。
(3) 基于DSP的软件资源稀缺。DSP平台上缺乏好的C编译器(造成代码的开发效率很低、代码的可重用性并),没有通用的操作系统(开发时必须自己编写任务调度程序,难于实现多任务能力)。虽然国外有研究人员曾经实现了DSP上的多任务调度磁悬浮轴承控制,但其针对的是某一型号的DSP硬件,并且代码及相关资料难于获取,难以形成标准、广泛推广。
3 PC机作为控制器实验平台的优越性
选择PC机作为控制器实验平台是考虑到它有如下的优势:
(1) 可以使用C语言进行开发,不必担心效率问题(PC机平台下优秀的C编译器可以达到汇编语言效率的90%以上)。程序具有移植性,不依赖于硬件。软件的可重用性好,后续的开发工作不必从头开始。
(2) 软件资源丰富,尤其在RTLinux下,所需开发软件均为免费软件,不存在软件开发成本问题。能在图形界面下进行开发,充分利用PC机平台的开发优势。有强大的实时操作系统支持,可轻松实现多任务调度。通过多任务编程,能实时改变控制参数和控制算法,实时监控控制器的输入、输出及内部变量。
(3) A/D、D/A板卡可从专业厂商处获取,价格不高,不需自行开发,硬件平台可以很快构建完毕。且这一部分投资不会因PC机的升级而作废。
(4) 易于实现网络编程,必要时可通过局域网进行远程监控。
(5) 运算速度以及实时性能随PC机的升级而自然升级,升级成本低,性能提升迅速。
当然,PC机平台在体积、抗环境干扰的稳定性上,相对DSP平台有其劣势。但是,就研究阶段作为控制器实验平台而言,它无疑是比DSP平台更好的选择。
4 软件平台选择
软件平台的选取,应对DOS、Windows及RTLinux进行比较评估,最后确定选择何种平台。
图5 采用PC机与RTLinux开发的控制平台的基本结构
由于磁悬浮轴承的控制要求很高的实时性,因而软件平台必须是实时平台。这里先对实时系统进行简单的介绍。实时性是一个相对的概念,其标准常用“系统响应时间”来衡量。对实时平台的评估主要用到两个指标,即“任务切换时间”、“中断响应时间”。
事实上,DOS在“中断响应时间”上无可挑剔,便考虑到其不具备任务调度能力(除非另行开发任务调度代码),并且没有图形开发环境,将来软件开发成本会很高,故不予考虑。
Windows为一多任务操作系统,其多任务的特性不可避免地对其实时性造成不利影响。有相关资料表明,Winodws的中断响应时间会在几百微秒到几百毫秒的范围内波动。Windows下,系统在“任务切换时间”、“中断响应时间”方面,表现均很差。
RTLinux是一硬实时系统,作为一新兴的实时平台,可从网上免费获取,并且基源码是完全公开的。它是由美国新黑西哥理工学院开发的基于标准Linux的嵌入式操作系统。到目前为止,RTLinux已成功应用于从航天飞机的空间数据采集、科学仪器测控到电影特技图像处理等广泛的应用领域。
RTLinux提供了一个精巧的实时内核,并把标准的Linux核心作为实时核心的一个进程,同用户的实时进程一起调度。这样做的好处是好Linux的改动量最小,充分利用了Linux平台现有的丰富的软件资源。其系统结构如图2所示。
这样的结构,一方面保证了它的稳定性,另一方面由于它将实时进程的优先级设为高于标准的Linux进程,从而保证了系统的实时性。并且RTLinux的实时特性与硬件密切相关,只要硬件速度得到提升,它的实时特性将相应提升。这就能保证充分发挥微机平台硬件速度上的优势及硬件升级的便利性。
下面介绍如何对RTLinux的中断响应时间进行测试。测试前将打印机并口的脚2与脚10(中断脚)短接,测试程序每隔100μs在地址0X378上输出0X03,用以在打印机并口脚2、3上获得周期性的+5V触发信号;脚2由低电平变为高电平时会触发中断,编制中断处理程序,在程序中将2、3脚上电平拉低,通过示波器观察脚3上的周期信号即可知系统的中断响应时间。测试原理如图3所示。在CPU为PIII800的PC机平台上的实测表明,系统中断响应时间平均为5μs,最坏响应时间小于10μs,完全能够满足磁轴承控制系统的实时要求。
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所示。
硬件选择完毕之后,需进行相应的软件编制以实现完整的控制谷仓中。文献中,美国维吉尼亚大学的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机与RTLinux构建的新一代磁悬浮系统数控平台相对于DSP控制平台的优越性,并详细说明了构建此系统的情况。此平台的成功构建及实际投入使用,有力地推动了磁悬浮系统研究的深入开展,最终使力矩陀螺转速超20000rpm的目标得以顺利实现。 谢谢分享!:D
页:
[1]