数字悬浮控制系统中的降噪方法及实现
摘要:为抑制电磁噪声对悬浮控制系统的影响,介绍了一种通过避开噪声持续时间进行A/D采样的方法,详细讨论了该方法的原理与实现。实践表明,它能有效地防止噪声引入控制系统,提高系统的性能
关键词:悬浮控制 降噪 A/D采样 FPGA
在磁浮列车的工程实践中,电磁噪声的存在明显降低了悬浮控制系统的性能,导致列车转向架振动,同时电磁铁因为电流变化迅速会产生很大的噪声,因而必须采取措施减小噪声的影响。但是,一般的滤波器设计并不能很好地解决问题。本文在分析传感器信号中噪声特性的基础上,提出了通过避开主要噪声持续时间进行A/D采样的方法。实验证明了该方法的有效性和实用性。
javascript:window.open(this.src);" style="cursor:pointer;"/>
1 系统组成
悬浮控制系统由DSP、FPGA、A/D转换器、传感器、功率斩波器和电磁铁等单元组成。控制的目的是保持电磁铁与轨道之间的距离恒定,为磁浮列车提供稳定的支撑。系统结构见图1。其中A/D转换器采用MAXIM公司的MAX125,它是一种带同步锁存的14位4输入A/D转换芯片,4路同时工作时最高采亲友速率为76ksps,用于采样传感器的输出信号。DSP采用ADI公司的ADSP2181,用于控制算法的计算。FPGA采用ALTERA公司的EPF6016,用于产生PWM波和实现一些辅助功能。传感器包括间隙传感器和电流传感器。功能驱动彩IGBT组成的半H桥网络,如图2所示。功率管T1、T2由PWM波形驱动。PWM波为高电平时导通,低电平时关断,功率管关断时通过功率二极管D1、D2续流。图中的A是吸引网络,防止反冲电压过高损坏器件。该电路的特点是:当一个周期内T1、T2导通时间小于50%时,电磁铁上电流为0。
2 降噪算法原理javascript:window.open(this.src);" style="cursor:pointer;"/>
在悬浮控制系统中,噪声具有其自身的显著特片。观察间隙、电流等传感器的输出信号可以看到,除了幅值不大的白噪声外,主要是与斩波器PWM频率相关的脉冲噪声。图3是试验中示波器测量到的波形,其中2通道显示的FPGA输出的PWM驱动波形,1通道显示的是间隙传感器的输出波形。从该图可以看出二者之间的对应关系:传感器输出信号上的噪声在每个PWM周期内出现两次,分别在PWM电平翻转(低-高,高-低)1μs之后开始出现,时间大约持续3μs.
该噪声是由功率管开关动作引起的,幅值很大是影响悬浮性能的主要噪声。它并不是白噪声,在时域上它是具有很大能量和一定宽度的脉冲,一旦被采样到,就会对控制性能产生较大影响,甚至会导致系统失控;在频域上,它的频谱分布在从低频到高频的较大范围内,一般的滤波方法对其无能为力。
通常采用多次采样取中间值的办法来消除强噪声的影响。这种方法在克服噪声方面是有效的,但存在两个缺点:(1)信号采集所需时间长,影响总的计算时间;(2)得出的信号序列不是等间隔的,无法对信号进行差分运算。这些缺点直接影响了控制器的设计,因而必须寻找新的解决途径。
如前所述,悬浮控制系统中强噪声出现的时刻与PWM波驱动信号密切相关。下面分析FPGA中PWM波的产生机理。FPGA中设置了两个计数器,计数器1(TM1)产生固定频率的脉冲,即PWM波的频率,系统中是20kHz;计数器2(TM2)的计数值由DSP写入,对应PWM波的高电平宽度,即控制量。参照图4,当TM1计满时会同时触发下列动作:(1)PWM波的输出翻转为高电平,驱动IGBT;(2)启动TM1从0开始计数;(3)启动TM2从0开始计数。而当TM2计满后,会触发PWM波的输出翻转为低电平,关断IGBT。
javascript:window.open(this.src);" style="cursor:pointer;"/>
从图4中可以看出两点:(2)对应TM1的计满脉冲P11、P12...的噪声是周期性的,且与PWM周期相同;(2)对应TM2的计满脉冲P21、P22...的噪声也是每个PWM周期出现一次,但由于TM2每次计数的值不同,噪声不是周期性的。
基于以上分析,本文提出了如下A/D要样算法:
(1)在每个PWM周期内对信号进行一次A/D采样。
(2)在FPGA内设置第三个计数器TM3。
(3)当TM1的计满脉冲到来时,启动TM3从0开始计数。
(4)TM3的计数值设为5μs,用它的计满脉冲去启动A/D转换。
(5)A/D芯片完成转换后,通过中断通知DSP读取数据。
该算法的优点是:
(1)每个PWM周期采样一次信号,则采样频率为20kHz。而磁悬浮控制系统的频带比较窄,ff system<< fsample成立,可见这样的采样频率充分满足控制的要求。
javascript:window.open(this.src);" style="cursor:pointer;"/>
(2)PWM波的上升是周期性的,因而A/D芯片启动转换的时间也是周期性的,采样到的数据是等间隔的。
(3)A/D芯片MAX125有锁存功能,锁存模拟信号大约需要1μs,在算法中,锁存动作在PWM上升沿后的第5μs开始,第6μs结束。从图3可以看出,这个时间段内模拟信号上的强噪声已经消失,不会被采样到。这就是算法的核心思想——避开强噪声再进行采样。
那么,会不会出现由于PWM的有效电平持续时间过短,导致A/D采样到IGBT关断动作产生的强噪声呢?存在这种可能。但这可以通过在控制算法中采取措施避免。当PWM波的高电平占空比小于50%的时候,电磁铁上没有电流。因此可以在控制算法中设定一个PWM波高电平占空比的下限,这里取30%。这样丝亮不会影响控制结果。PWM频率为20kHz,则每个PWM周期最少输出15μs的高电平。而A/D芯片在PWM波翻转成高电平后的第5μs到第6μs之间进行信号获取,完全避开了IGBT关断动作的影响。
3 算法实现
在FPGA中设置一个定时器,设置计数周期为5μs。当PWM电平由低到高翻转时,启动计数器开始计数。计满5μs以后启动A/D转换。A/D转换完成以后通过中断通知DSP读取A/D转换的结果。具体设计见图5。
图5