作者:安森美(onsemi) Karol Rendek, Stefan Kosterec
在本系列文章的第一至第四部分中[1-4],我们从硬件角度分享并广泛介绍了25 kW电动汽车充电桩的开发。图1代表到目前为止所讨论的系统。
图1.25kW电动汽车直流充电桩的高级框图。
第五部分则将从另一个维度深入探讨充电桩设计,我们将针对此类系统的控制策略和算法实现进行探讨,并提供实用见解。
我们的目的不是讨论控制理论,而是提供第一手详细信息,介绍开发团队所采取的控制硬件和软件开发的有益方法,帮助加快固件开发和验证过程。这些信息既适用于ARM控制器上的状态机,也适用于FPGA上的主控制算法,我们稍后会详细介绍。
同时,此处描述的特定开发过程可确保最大限度地减少错误,并能及早发现错误,甚至可在提供或设计原型硬件之前。在以下章节中,我们将介绍实现这种方法的步骤和工具(MathWorks和Xilinx)、功率因数校正(PFC)的状态机和算法模块,以及DAB转换器的主算法模块。
控制策略的开发过程
PFC控制软件的总体架构如图2所示。该设计的核心是Xilinx的Zynq 7000 SoC,它包含ARM内核和FPGA内核。Zynq 7000安装在通用控制器板(UCB)上,该板还包含外设、ADC、多个存储器板以及SoC和其他元件所需的电源树。[5]
首先,ARM内核运行状态机(固件中的高级例程)以及其他辅助任务,包括通信协议、保护功能等。其次,FPGA充当主控制算法的提供者,运行驱动转换器的控制环路,根据需要处理电源,实现AC-DC转换、PFC并将电压升压至所需的直流链路电平。因此,FPGA上的“主算法”是状态机一个特定状态,可称之为稳态。DAB转换器在ARM内核和FPGA之间采用相同的任务分配方式。
图2.25 kW PFC转换器控制架构概览。任务在UCB上的XilinxZynq 7000的FPGA和ARM MCU之间的分配示意图。DAB转换器的控制架构概览与此相同。
利用基于模型的测试来揭示控制系统中的错误
图3说明了在整个项目开发链中出现错误和检测到错误的典型分布情况。可以看到,大多数错误是在初期的制定规格和设计阶段引入的;但是,它们大多直到测试后期才被发现。
图3.引入的错误与检测到的错误。(资料来源:CliveMaxfield和KuhooGoyal的著作,《EDA:电子学的起点》。)
为了解决图3中呈现的现象,我们采用了一个开发过程,其目的是在开发的早期阶段检测到大部分这些错误。如果实施得当,从项目资源和时间表的角度来看,这种方法会带来一些优势,包括:
最大限度地降低额外所需硬件迭代的风险。
在硬件准备就绪之前,可在很大程度上优化控制系统和转换器性能。
加速硬件评估阶段,最大限度地减少必需对硬件进行的调整。在原型板生产期间,已经执行了大量工作。
为此,安森美(onsemi)固件和控制工程师采取基于模型的测试方法,该方法充分利用了MATLAB工具和生态系统[6]。该方法的成功实施取决于四大关键支柱,开发人员需要解决以下问题:
代表性模型,需确保在可行仿真时间内,仿真系统响应与实际系统响应高度匹配。对于PFC电源仿真,在模型精度和仿真时间之间采取了如第三部分所述的类似折衷。
在我们的仿真过程和仿真模型中编译和验证我们的固件C代码(状态机)。因此,验证发生在仿真阶段,而不是硬件评估阶段。
FPGAIP内核可从经过验证的模型中自动合成生成。这消除了手动编码错误,并支持高级优化以最小化FPGA内核面积,同时满足时序约束。
为了加速这些特性的实现,我们充分利用了以下工具的优点(如表1所示)。
表1:安森美工程团队使用的开发和仿真工具,用于开发、
仿真、部署和测试25 kW快速直流电动汽车充电桩设计的固件。
一步一个脚印。如何开发仿真模型?
图4描绘了固件开发和执行过程的简化流程图,按表2中总结的三个主要阶段进行划分。在本文中,只深入讨论仿真模型开发,这是最重要的一个阶段。
图4.25 kW快速直流充电桩固件开发流程图。
表2:固件开发过程的各个阶段。
仿真模型开发阶段包括开发用于验证系统控制算法的仿真模型(或仿真模块)。本项目中包含的最重要的模块是:
• 将在ARM内核上运行的C代码(状态机),通过S函数块导入以用于仿真
• 转换器的控制算法(控制环路)
• 电源转换器,用于对硬件进行建模
• 硬件接口,用于对硬件中的ADC电路进行建模
• 设备模块、用于PFC的交流设备和用于DAB的直流设备。
在此开发阶段,我们使用“轻”模型(不含改进细节的代表性模型),这使我们能够在各种条件(电网阻抗、电流命令——取决于输出功率水平的变化——以及其他条件)下运行多种情况/场景,验证控制器对许多不同场景的响应。因此,在此阶段应避免使用开关模型,因为这些模型包含非常多的细节,运行模型需要花费大量时间——我们在本系列文章第三部分的电源仿真中对此已经有所了解。
我们使用平均开关等效模型[7]作为替代方案,该模型允许使用FPGAIP内核构建仿真模块。同时,我们保留了硬件的所有重要/有影响的特性,以确保仿真的完整性,例如转换器压降效应、噪声测量、PWM传输和模数延迟等。
使用MATLAB生成IP的步骤
本章节进入到详情部分,将介绍实现特定仿真模型的关键步骤以及如何充分利用MATLAB环境所提供的功能。图5显示了具有表1中介绍的元件的通用电能转换系统的简化表示。
图5.通用电能转换系统的简化表示(并非特指25 kW直流充电桩)。
“电源转换器”是模型的核心元件(我们的硬件代表),“控制器”是相关的主算法模块,也是我们正在开发和评估的算法模块。最终,通过使用MATLAB仿真生态系统提供的自动化工具,该算法模块将转换成FPGAIP内核本身。
我们的团队在模型开发阶段使用了一系列的六个步骤,贯穿至最终的IP生成。这些步骤的概览参见图6中的简化流程图,其简要说明如下文所示。
●-步骤1:我们采用双精度浮点开发模型,而电源转换器则使用平均模型。如上一章节所述,在此阶段,开发的模型起着重要作用,既要尽可能轻以允许合理的仿真运行时间,又要足够准确以反映系统的实际行为。●-步骤2:我们使用MATLAB提供的自动化工具来生成系统的定点等效模型。此任务采用的工具是MATLABFixedPointDesigner。
●-步骤3:将双精度变换为定点精度后,运行一次验证仿真,以确保定点转换不会影响系统的工作行为。
●-步骤4:验证后,加入要在UCB控制器的ARM内核中运行的状态机。允许在Simulink模型中模拟手写C代码的工具是S函数。此时,我们应该能够在合理的仿真运行时间内针对多种情况和各种条件测试控制器。在这个过程中,可能会发生各种重要的子任务。例如,比例积分控制器增益的验证、控制器负载阶跃响应的评估、状态机的过电流反应以及错误处理等。
●-步骤5:在生成FPGAIP内核之前,我们强烈建议针对选定的情况/场景运行一些仿真,将转换器的平均模型替换为开关模型。这个过程相当耗时,应对极少数的仿真情况进行重复。然而,重要的是要确保控制器免受转换器开关行为所引入的非线性的影响。
●-步骤6:对所开发的算法有足够的信心后,我们现在可以使用自动化工具生成FPGAIP内核。这个过程显著减少了编程错误,实现了面积优化的可合成式RTL,并且满足时序约束。
图6.仿真模型开发阶段的六步骤流程图。为了便于表示,该流程图中省略了图5中的“外设”模块。它所在的位置以及与其他模块的连接与图5中的相同。
PFC控制策略:状态机和控制环路
本章节将详细介绍PFC的控制策略,包括状态机以及控制算法(控制环路)。状态机在UCB的ARM内核上运行,控制算法在状态机的“直流总线VOLTAGE_CONTROL”状态下运行,并在FPGA芯片上实现。
在接下来的章节中,我们将提供有关状态机和算法功能的更多详细信息。图7提供了PFC状态机概览,其中“直流总线VOLTAGE_CONTROL”状态以绿色突出显示,在此状态下控制环路和FPGA将接管控制并运行主算法功能。
图7.PFC转换器状态机概览。
当向充电桩的输入连接器提供50 Hz的三相电压时,由于PFC拓扑的性质,输出总线电容电压会升高。由于每个MOSFET上都存在寄生续流二极管,带有MOSFET的无桥PFC保证了从输入到输出的电流路径。
当MOSFET全部关断时,电路板简化为三相二极管桥。整流后的输入交流电压将根据电源电压幅度和MOSFET体二极管的正向电压,被设置为定义的电平。然而,期望在输入端至少提供一个最小交流电压。因此,两个不同线路上的电阻用作浪涌电流限制器。
一旦总线电压达到230 V,主辅助电源开始工作。该电源与一系列DC-DC稳压器一起,生成为数字和模拟电路供电所需的其他电压电平。有关PFC功能的更多详细信息,请参阅安森美AND9957/D车载充电桩PFC转换器应用笔记[8],其中的实施策略与此25 kW直流充电桩项目相同。
ARM内核上的PFC状态机实现
如上所述,PFC的状态机在UCB的ARM内核上运行。其顺序从图7中所示的IDLE模块开始,然后进入ADC通道中的偏移电压验证和输入电压监控和检测。这些用于确定三个电压的频率和相位角。该相位角将作为系统实现功率因数校正的基准。
当直流总线电压达到平坦稳定状态时,PFC控制器向继电器发送指令,旁路浪涌电阻并允许输出总线电压进一步升高。但是,电压增量将低于整流后的输入电压幅度√6∙VPHrms。PFC控制器将等到总线电压再次平坦,以便开始控制总线电压,达到800 V的目标值。不会一步达到目标值,它跟随一个平滑的斜坡发生器,使总线电压值按照参数化的斜坡上升到最终的800 V。
PFC只实现了一种硬件保护,利用NCD57000DWR2G栅极驱动器的DESAT功能防止过电流事件。但是,DESAT硬件保护可以与软件保护相结合,生成到NAND门的单端输入,从而为PWM生成提供硬件停止。
只能通过GUI发送的复位命令或通过断电/上电序列来复位故障条件,这两种方式分别代表硬件/软件复位。有关PFC功能的更多详细信息,请参见参考文献8,它所描述的实施策略与此25 kW直流充电桩项目相同。
FPGA上的PFC主算法和控制环路
图8说明了作为完整仿真模型一部分的PFC控制模块。PFC算法使用七个输入和三个输出(概述参见表3)。作为本项目的一部分,我们将运行和测试不同的调制策略,以评估哪一种策略能在效率和谐波失真方面产生更好的结果。该控制策略与参考文献8中描述的策略相同。
图8.PFC控制算法的高级框图。
表3:PFC控制算法的输入和输出参数。
图9作为更深入的研究,详细显示了构成PFC算法的模块和关系。VLINE电压用于确定交流电压相量的实际位置。然后,使用角度θ将电流相位延迟调节到0°,这是PFC的主要目标。电压位置用于通过克拉克和帕克变换,从静止ABC系统参考转换到旋转DQ坐标系(对于PFC,D轴表示相电压相量的幅值)。
由于角度θ已知,所有电量都可以在DQ系统中表示;这种简化操作确保能够使用简单的比例积分(PI)调节器。PI的增益调整取决于待调节设备的传递函数。当可提供一个常数作为参考量时,PI调节器确实可以有效地将误差调节为零,但这些调节器不能调节交流参考量。
图9.PFC控制算法的详细框图。
在任何情况下,PI调节器都需要某种校准,以确保适当的系统稳定性。通常期望电流环路(内部)的响应较快,外部环路(电压)的响应较慢。此时值得注意的是,电流控制环路与PWM同步运行。同步程序确保ADC外设可在PWM载波的准确时间实例中被触发,以确保在测量的电流量中自然滤除开关纹波。
需补充说明的是,由于存在固有的ADC测量延迟,PWM频率并不完全独立于控制频率,该延迟应当足够小,以保证在开关周期内及时执行PFC算法。由于FPGAPFC控制器的延迟非常低,约为150纳秒,因此PWM频率的主要限制因素是ADC采样和转换时间。一旦有了ADC的数量,控制实现就很简单了。
已使用MATLAB对PFC的主要功能进行了广泛的测试,如“使用MATLAB生成IP的步骤”章节中所述。使用的Simulink主模型如图10所示(该模型中唯一缺少的部分是用于测试固件状态机的S函数)。图中对所使用的模块进行了解释。
请注意,这一级的模型主要由Simulink模块组成,包括三相电源转换器的平均模型。PFC的电网和互连滤波器利用
SimscapeElectrical库中的模型,而直流负载和电容(直流装置)的建模则是通过LaplaceSimulink模块的帮助。该模型很轻,可使用传统的笔记本电脑支持合理的仿真时间,实现0.1秒的仿真只需不到1分钟的时间。
图10.主PFC控制器Simulink模型。直流设备模块(简单的电阻和电容)用作测试PFC算法功能的负载,并不代表实际DAB转换器的模型。
DAB转换器控制策略和磁通平衡技术
DAB转换器控制策略的实施遵循与PFC类似的过程。在本章节中,我们将讨论转换器的控制算法以及磁通平衡技术。在撰写本文时,需要重新设计转换器的Simulik模型,以便为HDL编码器做好准备,并且DAB的平均模型尚未最终确定(我们尚处于图4的步骤6中)。
从控制算法开始,在可用控制技术中,最著名的技术可能是固定频率相移技术。图11显示了这些技术的分类,其中单相移(SPS)是最简单的一种。事实上,控制器的简单性正是该技术的主要优点,但其代价是转换器中电流循环的增加,以及在更严格的工作范围内才可能实现零电压开关(ZVS)。这两个缺点肯定会影响系统的效率。
基于SPS的两种替代方案是扩展相移(EPS)和双相移(DPS)技术,它们能够更有效地利用转换器,减少了循环电流并扩展了ZVS的工作范围。但这些改进的代价是系统需要添加额外控制,增加了复杂性。
最后,三重相移(TPS)技术是SPS、EPS和DPS的统一版本。从这个角度来看,SPS、EPS和DPS都可以从TPS派生得到,可以视为TPS的特例或子情况。图12-14分别说明了SPS、EPS和DPS的工作原理。
图11.不同相移技术的分类。三重相移(TPS)是其他技术的统一版本,其中的每一种技术都可以视为TPS的子情况。
图12.单相移(SPS)技术。(资料来源:“用于高频链路功率转换系统的双有源桥隔离型双向DC-DC转换器概述”[9])
图13.双相移(DPS)技术。(资料来源:“用于高频链路功率转换系统的双有源桥隔离型双向DC-DC转换器概述”[9])
图14.扩展相移(EPS)技术。(资料来源:“用于高频链路功率转换系统的双有源桥隔离型双向DC-DC转换器概述”[9])
在本系列文章的第四部分中,我们注意到,DAB转换器的电源仿真是使用SPS进行的。稍后,我们将在硬件原型上测试更先进的技术,并评估每种技术将带来的优势。
最重要的可能改进将是转换器效率提升。此外,还有可能降低变压器中的励磁峰值电流(IM),这将允许使用更紧凑的变压器和电感。
控制算法和通量平衡模型模块
DAB的控制原理如图15所示。控制器的目标是为电池生成所需的输出电压或电流。
图15.DAB控制算法的框图。变压器磁通平衡算法也包含在其中。
基本概念很简单:将测得的输出电压(或电流)和目标值都馈送至输入PI控制器。PI控制器的输出试图通过产生所需的Δφ(即DAB的初级交流电压和次级交流电压之间的角度相位差),消除它们之间的误差,以驱动初级侧和次级侧的PWM。由于输出电容的存在,控制环路很慢,但考虑到电池充电的缓慢动态行为,这不是问题。
需补充说明的是,自适应PI增益对补偿陡峭的Vout/ΔΦ斜率的重要性。可使用纯比例控制器(相对PI而言)作为替代方案。不过,工程团队需要对这方面进行进一步研究。
DAB控制算法中一个值得详细阐述的有趣部分是通量平衡功能。这项技术在第四部分中介绍过,它可以补偿换流变压器中的任何直流分量,防止励磁电流的累积和磁芯饱和。
图16显示了用于在25 kW DAB变压器中实现磁通补偿概念的Simulink模型。该模块具有三个输入和一个输出。初级和次级变压器电流和同步(sync.)脉冲是该模块的输入。该模块的输出用于调整变压器初级侧PWM的占空比。
图16.磁通补偿框图。
磁通平衡模块由变压器的次级PWM同步脉冲触发(在转换器的开关频率下),这意味着馈入模块的交流电流所需的采样频率应该(至少)是转换器开关频率的两倍。具体来说,同步脉冲是用于驱动次级侧第一个桥臂的高压侧开关的那些PWM的脉冲。然后借助采样的输入电流,通过简单的计算得到DAB变压器的励磁峰-峰值电流。
随后,由相同的同步脉冲触发采样保持(S&H)电路,计算要复制的励磁电流的开关平均值。最后,将估计的励磁平均电流馈送到比例(P)控制器,该控制器将生成调整初级侧PWM占空比的命令。图17显示了在仿真中实现的通量平衡算法的功能。
图17.当DAB的磁通补偿算法无效(左)和有效(右)时,仿真的变压器励磁电流(IM)。当没有运行磁通平衡技术时,剩余直流电流会在每个开关周期内累积,最终会使磁芯饱和。
有效实施磁通平衡技术的一个关键因素是所需的电流采集带宽。如上所述,待测和待作用电流的开关频率为100 kHz,因此系统至少应该能够在200 kHz下进行测量。所以值得运行仿真,以确保所选电流传感器不会引入明显的测量误差,从而破坏磁通补偿实施。
所选电流传感器(LEM)指定带宽为300 kHz。必须考虑到,当采样频率接近300 kHz时,会出现增益衰减,并且与任何采集系统一样,可能会出现相位滞后。因此,尽管300kHz乍看之下似乎提供了足够的空间,但还是建议运行仿真。使用/不使用有限LEM带宽的采样电流如图18和19所示。(请注意,在本例中,我们尚未激活磁通补偿,因此励磁电流增长非常大。)
在图19中,可以观察到幅度和相位存在非常小的误差,但几乎可以忽略不计。算法中包含的两次采样方法(每个开关周期测量两次电流)也会有助于减轻误差。无论是哪种情况,我们已经在图17中看到磁通平衡可正常工作。
下示仿真应该在图17中给出的结果之前运行或同时运行。因此,可以使用带宽约为300 kHz的传统LEM传感器。图20说明了估计的开关平均电流、实际励磁电流(IM)以及同步脉冲。
图18.带/不带LEM电流传感器效应的初级和次级电流测量。磁通平衡算法在此仿真中不工作。
图19.带/不带LEM电流传感器效应的初级和次级电流测量。
图20.估计的总励磁电流(带LEM电流传感器效应)、估计的开关平均值(带LEM传感器效应)和同步脉冲。磁通平衡算法在此仿真中不工作。
总结
正如在本讨论开始时所观察到的,我们在此采取了与本系列文章前几部分不同的角度,深入研究了控制策略的实现,以及如何对其优化和加速。本文介绍了安森美工程团队遵循的有益方法,该方法有助于在仿真阶段、硬件生产之前,及早调试和识别错误。
此外,此方法加快了将ARM内核和FPGA相结合的混合控制器的控制开发。最后,它通过在Simulink中创建的仿真模型自动生成FPGAIP,为不是FPGA开发专家的固件工程师使用FPGA提供了便利。毋庸置疑,当可以将固件部署到板上并验证实际完整系统时,则可以进行控制算法的实际验证。