交流伺服系统的冗余控制研究
2014-04-01陈飞侯远龙高强
陈飞,侯远龙,高强
(南京理工大学 机械工程学院,江苏 南京 210094)
0 引言
现代武器装备研制的重要技术之一就是保证武器系统具有较高的稳定性和可靠性,而采用冗余技术能有效地提高系统的稳定性。冗余技术就是通过配置多余的同等功能的部件,并通过一定的冗余控制逻辑使它们之间能够协调地同步运行,从而使系统应用功能的实现得到多重保证[1]。本文基于某型号远程火炮控制系统中交流伺服系统部分的研制,采用双CPU 方案实现冗余控制,通过增加冗余资源来换取系统可靠性,当主控制处理器出现故障时,备用控制处理器能够实时自动地接管整个控制系统,从而保证系统不受停机损失。
1 交流伺服系统原理
该交流伺服系统主要由控制计算机、交流伺服电机、测速装置、伺服放大器、模拟负载等设备组成。控制计算机根据火控系统给出的目标位置,计算出所需的控制电压数字信号,通过D/A 转换模块将数字信号转换成模拟信号后,输入到伺服放大器中进行信号调理,然后输入给交流调速系统,利用速度闭环环节调节电机的转速,通过减速器转化为合适的转矩带动模拟负载的运动。模拟负载的实际位置由旋转变压器测得,然后经RDC 模块将模拟信号转换成数字信号,传送回控制计算机中,构成完整的位置闭环控制系统,如图1 所示。
图1 交流伺服系统原理框图
2 双CPU 冗余技术
双CPU 冗余技术就是在系统中增加备用CPU 模块,一旦工作CPU 模块发生故障,控制系统可以快速切换到备用CPU 模块,从而保障系统的正常工作。根据冗余部件的备份状态可以分为冷备份冗余技术和热备份冗余控制技术。冷备份冗余技术就是在系统设计时,多配置CPU模块作为备份,一旦正在运行的CPU 模块发生故障时,能及时更换,减少系统修复时间[2]。这种冗余方案中备用的CPU 模块并没有安装在控制设备上,其弊端就是出现故障时候,需要系统停止工作,人工进行切换。本文采用热备份冗余技术,如图2 所示,热备份冗余就是两个CPU模块同时在线工作,一个主CPU 模块,一个从CPU 模块。主CPU 模块按照系统要求正常工作,从CPU 模块处于热备份状态,实时监控主CPU 模块状态,一旦检测到主CPU模块出现故障时,从CPU 模块便可自动接管主CPU 模块工作,系统不受停机影响。
图2 双CPU 热备份冗余技术原理图
3 基于TMS320F28335 的双CPU冗余控制的实现
主、从CPU均选用TI公司的浮点型 DSP,TMS320F28335,来可以实现系统的位置伺服控制,与上位机进行通信,接受上位机发出的指令和数据,同时将RDC模块的实时位置信号,经过控制算法的计算得到合适的控制电压,然后经过D/A 转换,将数字信号转化为模拟信号输出。
3.1 冗余硬件的构成
双CPU 冗余控制系统的硬件构成如图3 所示,DSP1、DSP2 接受到同一个实时位置信号,采用相同的控制算法,D/A 转换采用Maxim 公司的高精度D/A 芯片Max5134,输出的模拟电压,一方面通过多路模拟开关Max14763 切换主输出或是备用输出到负载,另一方面均通过Maxim公司的高精度A/D 芯片Max11049,将D/A 芯片输出的模拟电压转化为相对应的数字量,传回各自的DSP,DSP1、DSP2 之间,通过Cypress 公司的双口RAM 芯片Cy7c028实现实时通讯。DSP2 通过双口RAM 芯片实时监控DSP1的输出,当DSP1 正常工作时,多路模拟开关选通主输出连接到负载,当DSP2 判定DPS1 出现故障时,控制多路模拟开关选通备用输出连接到负载,从而实时接管DSP1 的工作,实现系统的连续工作。为了保证DSP1、DSP2 前段采样的完全同步,必须两个DSP 系统有相同的时钟源,故两个DSP 系统由同一个时钟源驱动,接受同一个输入信号,且两个DSP 系统采用相同的控制算法,运行相同的程序。
图3 双CPU 冗余控制系统硬件构成图
3.2 故障的判断与定位
在双CPU 冗余控制系统中,两个CPU 拥有系统的全部输入,对于任何一个输入信号而言,系统都会获得两组采集值。在正常情况下,两组采集值应该保持一致,当出现故障时,两组采集值会产生较大偏差[3]。因此,本文将解析冗余故障的检测方法引入到双CPU 故障检测中,提出了解析冗余的双CPU 故障检测算法,其实现原理如图4所示。
图4 基于解析冗余的双CPU 故障检测算法原理图
在解析冗余的双CPU 故障检测算法中,两个CPU 在当前时刻对同一个输入信号量进行采集,可以不建立数学模型获取参数估计值,并得到采集结果xn,yn,且xn为yn的观察特征值,yn同样xn的观察特征值,其故障检测步骤如下:
1)计算xn和yn的残差val(xnyn),如果val(xnyn)<θ,则判定两个CPU 采集的数据一致,系统无故障,可取xn作为采集值,其中θ 为相似度门限值,该值根据实际系统需求而定,如果val(xnyn)<θ 不满足,则判定系统出现故障,然后进行故障定位。
2)获取两CPU 前m 次采集结果,…….,…….,并计算CPU1 的历史残差:
val(xn,yn-1),val(xn-1,yn-2)……val(xn-1-m,xn-m)和CPU2 历史残差:
val(yn,yn-1),val(yn-1,yn-2)……val(yn-1-m,yn-m)
3)判断val(xn,xn|1)和CPU1 的历史残差平均值是否一致,判断val(yn,yn|1)和CPU2 的历史残差平均值是否一致。若:
则判定CPU1 故障,并选择yn作为当前时刻采集值,其中|为历史残差门限值,若:
则判定CPU2 故障,并选择xn作为当前时刻采集值。
4 故障仿真模拟
当系统正常工作或DSP1 正常而DSP2 出现故障时,多路模拟开关应一直选通主输出,即DSP1 的输出到负载,如图5 所示。
图5 系统正常工作时选通主输出到负载
对冗余系统性能和功能进行验证的一条重要途径就是进行故障仿真模拟,本文采用人为手段设置硬件故障,出于对硬件成本和硬件复杂性的考虑,通过短时间中断DSP1 的数据采集模块的工作,检验系统能否实时切换备用输出,即DSP2 的输出到负载。仿真结果如图6 所示,成功通过控制多路模拟开关选通备用输出到负载,保证了系统的连续工作。
图6 DSP1 出现故障时选通备用输出到负载
5 结语
本文设计了一套基于双DSP 的冗余控制系统,并进行了仿真模拟实验,实验结果表明,该系统通过较小的硬件配置成本,增加了整个交流伺服系统的稳定性和可靠性,系统出现故障时,不需要停机进行人工手动切换,从而保证了系统工作的连续性。
[1]闻新,周露.控制系统的故障诊断和容错控制[M].北京:机械工业出版社,1998:214.
[2]衡军山.基于双CPU 的冗余研究与实现[J].机床与液压,2008,36(7):8-10.
[3]陈子平.浅谈控制系统冗余控制的实现[J].自动化仪表,2005,26(9):2-4.