【世说设计】从应用角度出发,助你释放Σ-Δ ADC的最佳性能!
扫描二维码
随时随地手机看文章
图1. 三相电机驱动的常见电流测量技术
本文重点讨论性能最高的方法——Σ-Δ转换。通常,Σ-Δ ADC针对的是需要高信号质量和电流隔离度的变频电机驱动和伺服应用。随ADC而来的还有解调和滤波,这些一般是由FIR滤波器(如三阶sinc滤波器sinc3)处理。
Σ-Δ ADC具有最低的分辨率(1位),但通过过采样、噪声整形、数字滤波和抽取,可以实现非常高的信号质量。Σ-Δ ADC和sinc滤波器的原理已广为人知且有据可查,本文不予讨论。本文关注的是如何在电机驱动中实现最佳性能,以及如何在控制算法中利用该性能。
利用Σ-Δ ADC测量相电流
当三相电机由开关电压源逆变器供电时,相电流可以看作由两个分量组成:平均分量和开关分量,如图2所示。最上面的信号为一个相电流,中间的信号为逆变器相位臂的高端PWM,最下面的信号为来自PWM定时器的样本同步信号PWM_SYNC。PWM_SYNC在PWM周期开始时和中心处置位,因此,它与电流和电压纹波波形的中点对齐。为简明起见,假设所有三相的占空比都是50%,意味着电流只有一个上升斜坡和一个下降斜坡。
图2. 相电流在PWM周期开始时和中心处等于平均值
为了控制目的,仅关注电流的平均分量。要提取平均分量,最常见的方法是对与PWM_SYNC同步的信号进行采样。在此情况下,电流为平均值,因此,如果能对采样时刻进行严格控制,就可以实现欠采样而不会发生混叠。
使用常规逐次逼近型(SAR) ADC时,采样由专用采样保持电路执行,用户得以严格控制采样时刻。然而,Σ-Δ转换是一个连续采样过程,需要通过其它方式来提取电流平均值。为了更好地了解这个问题,看一下Σ-Δ信号链的高级视图会有帮助,如图3所示。
图3. 使用Σ-Δ转换时的信号链
第一个元件是转换器本身。以数MHz的速率对模拟信号进行采样,将其转换为1位数据流。此外,转换器对量化噪声进行整形,将其推到更高频率。转换器之后是通过滤波和抽取方式执行的解调。滤波器将1位信号转换为多位信号,抽取过程将更新速率降低,使之与控制算法相匹配。滤波和抽取可以分两级完成,但极常见的方法是使用一个sinc滤波器,它能在一级中完成这两个任务。sinc滤波器可以在FPGA中实现,或者也可以是微处理器中的标准外设(这已是司空见惯)。无论sinc滤波器如何实现,三阶(sinc3)是最流行的形式。
从控制方面来说,可以将ADC视作理想器件,通常10MHz到20MHz的转换速率在数kHz带宽的控制环路中引入的延迟微不足道。然而,sinc3滤波器会引入一个延迟,使得我们无法谈论某个规定的采样时刻。为了更好地理解这一点,滤波器的复数频率域表示G(z)会有帮助:
DR为抽取率,N为阶数。滤波器为以采样频率更新的N个积分器 (1/(1 – z–1))和以抽取频率(采样频率/DR)更新的N个微分器(1 – z–DR)。该滤波器有存储器,这意味着电流输出不仅取决于电流输入,同时也取决于以前的输入和输出。通过绘制滤波器脉冲响应曲线可以很好地说明滤波器的这种特性:
其中,y为输出序列,x为输入序列,h为系统脉冲响应。sinc滤波器是一个线性且不随时间变化的系统,因此脉冲响应h[n]可用来确定任何时间对任何输入的响应。举个例子,图4显示了一个抽取率为5的三阶sinc滤波器的脉冲响应。
图4. 三阶sinc3滤波器(抽取率为5)的脉冲响应
可以看出,滤波器为加权和,中间的采样获得较大权重,而序列开始/结束时的采样权重较低。由于相电流的开关分量,这一点是必须考虑的,否则反馈会发生混叠。幸运的是,该脉冲响应是对称的,因此sinc滤波器会赋予中间轴之前和之后的采样以相同的权重。另外,相电流的开关分量也是对称的,中心点为平均电流。也就是说,如果在平均电流时刻之前采集了x个等距样本,并将其加到在平均电流时刻之后采集的x个等距样本之上,开关分量之和便是0。这可以通过对齐PWM_SYNC脉冲的脉冲响应中心轴来实现,如图5所示。
图5. 对齐sinc滤波器对PWM的脉冲响应
为了正确对齐PWM脉冲响应,必须知道脉冲响应的长度。三阶滤波器的脉冲响应中的轴数为:
利用此式可以算出以秒为单位的脉冲响应长度:
其中,tM为调制器时钟周期。该时间值很重要,因为它告诉我们一个样本完全通过滤波器需要多长时间。脉冲响应的中心轴恰好位于总滤波器长度的一半处,因此,一个样本走完一半路程所需的时间必定为:
所以,如果输入采样开始于PWM_SYNC之前的τd,并且在PWM_SYNC之后的τd读取滤波器数据,则对齐就会如图5所示。采样开始由调制器时钟的使能/禁用来控制。一旦使能,滤波器就会与PWM保持同步,无需再对齐。
控制时序
通过对齐PWM_SYNC脉冲响应,便可测量相电流而不会有混叠,但在读取滤波器数据时必须十分小心。sinc滤波器在PWM_SYNC之前的τd启动,但数据需要2 × τd的时间才能通过滤波器。换言之,必须在PWM_SYNC之后等待τd时间才能从滤波器读取数据。只有在此刻,电流的真实平均值才可用。与基于SAR的电流测量相比,这种方法在控制时序方面不相同,如图6所示。
图6. 控制算法时序,(a)使用SAR ADC,(b)使用Σ-Δ ADC
在SAR情形(a)中,PWM_SYNC脉冲触发ADC执行若干采样和转换。当数据对控制环路而言已就绪时,系统产生一个中断,控制环路便可开始执行。而在Σ-Δ情形中,不是等待ADC,而是要让数据完全通过sinc滤波器。当数据就绪时,系统产生一个中断,指示控制环路可以执行。如果进行类比的话,SAR ADC的转换时间相当于脉冲响应时间的一半。脉冲响应一半的具体长度取决于调制时钟和抽取率。对于fM = 20 MHz且DR = 100的典型配置,脉冲响应的一半为τd = 7.4 μs。虽然比快速SAR ADC略长,但数值差别不大。
应当注意,在典型控制系统中,PWM定时器的零阶保持效应远远超过脉冲响应的一半,因此sinc滤波器不会严重影响环路时序。
Σ-Δ ADC对控制性能的影响
采用Σ-Δ ADC,用户可以自由选择sinc滤波器延迟或输出数据保真度。抽取率较高时,延迟较长,但信号质量较高;抽取率较低时则相反。这种灵活性对于电机控制算法设计十分有利。通常,算法的某些部分对延迟敏感,而对反馈精度较不敏感。其它部分适合在较低动态特性和较高精度下工作,但对延迟较不敏感。举个例子,考虑图7(a)所示的常规比例积分控制器(PI)。P部分和I部分采用相同的反馈信号工作,意味着该信号的动态特性必须适合两种控制路径。不过,P路径和I路径可以分离,如图7(b)所示。由此还可以再前进一小步,图7 (c)显示P路径和I路径分离,并且采用具有不同动态特性的反馈信号工作。
图7. PI控制器方案。(a)常规方案,(b) P路径和I路径分离,(c) P路径和I路径分离且反馈分离
P部分的任务是抑制快速负载变化和快速速度变化,但精度不是主要考虑。换言之,低抽取率和短延迟的sinc滤波器对P部分有利。I部分的任务是确保稳态性能稳定且精确,它要求高精度。因此,高抽取率和较长延迟的sinc滤波器对I部分有利。这就产生了图8所示的实现方案。
图8. 双sinc滤波器和分离的电流控制器P路径和I路径
电机相电流由一个传感器(分流电阻)测量,并流经一个抗混叠滤波器,供应给Σ-Δ ADC。然后,1位数据流输入两个sinc滤波器,一个针对P控制器调谐,另一个针对I控制器调谐。为简明起见,图8省去了Clark和Park变换。然而,电流控制是在一个旋转dq框架中完成。
为了评估电流反馈分为两条路径的影响,我们对该闭环执行了稳定性分析。对于传统的Z域分析,sinc滤波器会带来问题。它会引入一个延迟,对于任何实际抽取率,该延迟小于一个采样周期。例如,若系统以fsw = 10 kHz的速率运行,滤波器延迟将短于100 μs。从控制环路方面看,sinc模块是一个小数延迟滤波器。为了模拟小数延迟,将sinc滤波器近似看作一个全通滤波器。在最高为奈奎斯特频率一半的较低频率时,该近似处理是精确的,但在更高的频率,其与理想滤波器有一些偏差。然而,这里的目的是了解双反馈如何影响环路稳定性,就此而言,该近似是合适的。
作为对比,图9(a)显示了反馈路径(无双反馈)中仅使用一个sinc滤波器时的闭环幅度响应。开关频率fsw为10kHz,奈奎斯特频率设置为5 kHz。在这些系统参数下,对于0 μs至80 μs的sinc滤波器群延迟,绘制闭环响应曲线。注意,群延迟与抽取率直接相关。同预期一样,低抽取率和群延迟对闭环稳定性的影响很小,但随着延迟增加,系统阻尼变得越来越小。
图9. 双反馈对电流控制性能的影响,(a) sinc滤波器为P控制器和I控制器共用,(b) P控制器和I控制器分别使用单独的sinc滤波器
现在将反馈分离,使P控制器和I控制器具有单独的路径,便可获得图9 (b)。这种情况下,用于P控制器的sinc滤波器抽取率是固定值,使得群延迟为10 μs。仅I控制器的抽取率发生变化。
从图9 (b)可看出,提高I控制器的延迟对闭环稳定性的影响非常小。如上所述,可利用这些特性来提高环路的动态和稳态性能。
本文中,使用分离反馈的算法为PI控制器。不过,这只是一个例子,大多数控制系统都有多个算法,根据动态和精度要求调谐反馈对这些算法是有利的。磁通观测器、前馈控制器和PID控制器的差分部分就是一些例子。
滤波技术
滤波器的衰减是有限的,逆变器IGBT开关产生的开关噪声会通过滤波器。本部分探讨帮助从电流反馈中消除开关噪声的技术。
如果电机由电压源逆变器利用标准空间矢量调制(SVPWM6)驱动,则相电流噪声频谱的特征将是边带以开关频率整数倍为中心分布。例如,若使用10 kHz开关频率,则在n × 10 kHz周围会有高噪声电平(n为整数)。典型频谱如图10中的绿色曲线所示。这些边带会在电流反馈中引入噪声,因此需要予以有效衰减。
图10. 相电流功率频谱(绿色)和sinc滤波器幅度响应(紫色)
sinc滤波器的极点和零点位置由抽取率和调制频率决定。这说明,用户可以自由地调谐滤波器频率响应以便最好地支持应用。三阶sinc滤波器的幅度响应如图10中紫色曲线所示。同预期一样,幅度在较高频率时缩小,但幅度也有特征陷波频率;在这些频率,衰减趋近无限大。陷波频率由调制器时钟和抽取率决定:
如果陷波频率与相电流频谱的边带相同,就能非常有效地衰减逆变器开关噪声。举个例子,考虑逆变器开关频率fsw为 10 kHz,ADC调制器时钟fM为8 MHz,抽取率DR为800。这样,陷波频率为n × 10 kHz,响应如图10所示。注意每个边带是如何被陷波衰减的。
sinc滤波器的某些硬件实现方案不支持高抽取率,因而无法将极点/零点置于PWM频率。另外,与高抽取率相关的滤波器群延迟可能也是无法接受的。在图10所示例子中,800的抽取率和 8 MHz的调制频率产生的延迟为150 μs。
另一种方法是让sinc滤波器以较低抽取率运行,然后在软件中对数据进行后期处理。仍然假设fsw = 10 kHz且fM = 8 MHz,一种可能的方法是让硬件sinc滤波器以200的抽取率运行,因此,数据速率为8 MHz/200 = 40 kHz。这一数据速率对电机控制算法而言太高,可以引入一个软件滤波器,将数据速率降至10 kHz。这种滤波器的一个例子就是抽取率为4(相当于4个样本的移动平均值)的一阶sinc滤波器。其配置如图11所示。
图11. 硬件和软件sinc滤波器组合
硬件滤波器以高于控制算法需要的速率输出数据,因此,软件滤波器给信号增加的延迟非常小,远小于直接使用硬件滤波器进行抽取以降低至控制算法更新速率这种情况下的延迟。此外,sinc1滤波器仍会在相电流频谱的所有边带处设置一个陷波频率。故而,对逆变器产生的开关噪声进行有效衰减的优势仍然存在。
滤波技术可以与分离反馈路径方法一起使用。由于硬件和软件sinc滤波器组合提供非常高的衰减,但会给电流反馈带来一定的延迟,因此滤波技术最适合于I路径。
实现和测试
本文所述的概念已在ADI公司的一个400 V电机控制平台上得到实现和验证,如图12所示。电源板提供110 VAC/230 VAC通用输入电压、boost功率系数校正以及5 AMPS额定连续电流的三相IGBT逆变器。电机为带递增编码器反馈的Kollmorgen AKM22三相PM伺服电机。用于电流反馈的Σ-Δ ADC为AD7403。Σ-Δ ADC与处理器ADSP-CM408直接接口,后者内置sinc滤波器,支持本文所述的技术。
图12. 用于评估的硬件平台
结论
尽管缺少明确定义的采样时刻,但Σ-Δ转换可用来测量电机电流而不会有混叠效应。本文所述技术可将sinc滤波器对PWM信号的脉冲响应正确对齐。以PI控制器为例,本文说明可以调谐两个并联sinc滤波器来满足控制算法的要求,从而改善带宽和稳态性能。
最后,本文讨论了如何精心定位sinc滤波器零点以帮助消除电流反馈中的开关噪声。所有这些概念都在一台驱动永磁电机的400 V逆变器上得到了实现和验证。
原文转自亚德诺半导体