Example Code

使用NI Multisim和LabVIEW进行三相逆变器的完整系统仿真

Overview

使用NI LabVIEW软件,你可以在原型化你的整个模拟和数字电路系统之前对系统进行桌面的仿真。本教程将介绍如果使用Multisim和LabVIEW的联合仿真功能来实现闭环的晶体管级电子电子仿真,以及实现FPGA数字逻辑控制。

本文同时检查了三相逆变器的系统仿真。因为高功率模拟电路是由Multisim开发的,得益于Multisim 12.0中新的基于SPICE的电力电子模型例如MOSFET开关器件和非理想RLC等。Multisim设计中的数字逻辑控制则是由LabVIEW开发的。

本文完成了一个包括所有模拟电路与基于FPGA的数字控制系统动态的同时的点对点仿真。在这个仿真中,两个仿真引擎以可变步长的形式完成了处理数据源的协调和交互。现在,在系统设计流程的前期阶段就可能完成准确和完整的桌面系统仿真。

Hardware and Software Requirements

  • Multisim 12.0
  • LabVIEW 2011
  • LabVIEW 2011 控制设计与仿真模块
  • LabVIEW 2011 FPGA 模块

Steps to Implement or Execute Code

1. 介绍

什么是基于Multisim和LabVIEW的完整系统仿真

在传统的控制逻辑设计中,工程师开发出与模拟电路分享的嵌入式的代码,但是逐渐地他们需要在系统级进行交互,这个通常很难实现同时的仿真。这种仿真能力的缺乏有可能导致开发出来的嵌入式逻辑并不能很好地支持模拟电路(例如,功率电路系统),造成系统效率低于预期/设计指标。这将迫使开发者对算法进行调整并重编译。

Multisim和LabVIEW允许在系统层面上进行联合设计,通过仿真,保证了LabVIEW中开发的现场可编程逻辑门阵列(FPGA)的算法和代码可以提供模拟电路所需的运行结果以后,就可以直接用硬件进行实现,改变达到最小化。这种设计方式是Multisim 12.0新引入的概念,叫做LabVIEW联合仿真(cosimulation)

联合仿真允许在每个时间步长中两个仿真引擎进行交互,这样就构建了一个对整个系统的闭环仿真。仿真的结果就是对整个模拟电路和数字模块的验证,包括了所有的系统的动态特性。Multisim,作为专为准备的模拟和混合信号电路仿真的环境,内置了大量顶尖半导体厂商(如Analog Devices, NXP, ON Semiconductor, Texas Instruments, 等)提供的SPICE模型。LabVIEW仿真引擎则以图形化,数据流的形式有效地设计和实现控制逻辑。该引擎可以为机械和电力电子系统的嵌入式数字代码提供高级的仿真解决方案。

这样的结果是减小了原型化过程中的迭代次数(至多可以节省三次PCB制造次数),并可以用更少的编译时间来实现更准确的嵌入式代码(每次编译可以节省大约四小时)。

 

图1. Multisim 12.0 提供了 Multisim 和 LabVIEW 联合仿真. 

了解更多关于MultisimLabVIEW 联合仿真的基础。

什么是三相逆变器

逆变器是一种能量转换电路,它可以将接收到的直流电压输出转换为交流输出。决定逆变器质量的最重要的参数是转换效率以及电路设计中电力电子器件的开关速度。通常高压逆变器是应用于光伏(PV)电池和风机发电机的并网集成中。

了解更多关于NI绿色能源应用

Wikipedia上查找更多逆变器的相关信息 

逆变器的工作原理是将直流电源连接到MOSFET的偏压侧,MOSFET的门极由高频率的脉宽调制(PWM)信号控制。MOSFET的输出侧连接到一个低通滤波器上,可以滤除输出信号中的高频成分。闭环的反馈由逆变器输出采样通过比例积分微分(PID)控制逻辑输给PWM发生器来实现,可以保证输出满足幅值要求,并且相位符合系统相位(通常是电网的相位)。

其它资料

 

2. 设计流程

硬件设计的第一步是在Multisim和LabVIEW中设计桌面仿真,这也是本文的重点。不同的系统框图和系统信号流在下图2中展示。

 

图 2. 系统框图和信号流

 

3. Multisim模拟电路

Multisim中的模拟电路由三个部分组成。

  1. 一个3相单级逆变器部分,MOSFET在控制端PWM信号的作用下将直流输入进行转换。
  2. 一个滤波器部分,通过该部分可以得到的单频输出信号(50或60Hz)
  3. 一个3相负载输出部分,输出电压和电流通过Multisim中的传感器进行采样,提供给LabVIEW中的控制模块

电路图如图3所示。方便地将下面的片段拖放到你的Multisim 12.0环境中即可。

 

 

图 3. 在Multisim中设计三相逆变器电路

该Multisim设计的输入是6个门极开关信号(s1到s6),其它所有连接到输出端口的信号是作反馈控制和采样用。

下面的表格是从Multisim LabVIEW接口列表中导出的,列出了所有接口的类型

 

LabVIEW 接口

正接口

负接口

模式

类型

Input

 

 

 

 

s1

s1

0

Input

Voltage

s2

s2

0

Input

Voltage

s3

s3

0

Input

Voltage

s4

s4

0

Input

Voltage

s5

s5

0

Input

Voltage

s6

s6

0

Input

Voltage

Output

 

 

 

 

Va

Va

0

Output

Voltage

Vb

Vb

0

Output

Voltage

Vc

Vc

0

Output

Voltage

Va_l

Va_l

0

Output

Voltage

Vb_l

Vb_l

0

Output

Voltage

Vc_l

Vc_l

0

Output

Voltage

I_Lf1

I_Lf1

0

Output

Voltage

I_Rload1

I_Rload1

0

Output

Voltage

Vdc_link

Vdc_link

0

Output

Voltage

Vneutral

Vneutral

0

Output

Voltage

Unused

 

 

 

 

 

4. LabVIEW控制模块

LabVIEW控制虚拟仪器(VI)包括了几个子模块,都放置在以500kHz频率运行的控制设计与仿真循环中。每一个模块都可以实现展示在设计流程框图中的一项操作。

RMS模块

RMS IP核控制系统采集负载电压并计算线电压的RMS值(50或60Hz).RMS的计算值在第一个循环的计算中无效。

图 4. RMS VI 和程序框图

PID控制模块

PID控制模块的任务是根据用户输入的目标值和PID控制参数Kp, Ki, and Kd来调整三相输出的线电压幅值。

图 5. PID 控制VI 和程序框图

锁相环(PLL)模块

模拟电路设计中的输出滤波器会在输出线电压中造成相位延迟。PLL模块可以获取电网的相位信息并锁定生成的PWM控制信号的相位,这样,输出的线电压就可以与电网配合上,实现并网。电网在这里使用了一个主框图中的虚拟函数模块来表示,本教程之后会展示其框图。

图 6. PLL 快速VI

三角波发生器和PWM操作

图7中的FPGA IP核可以生成一个10 kHz的三角波用于脉宽调制。通过基于PID控制器产生的幅值信息和从电网处取得的相位信息可以生成目标正弦波,将该正弦波与角三角波进行比较可以完成PWM操作。生成的PWM信号反馈给Multisim来控制开关器件的工作模式。

图7. 三角波生成 VI 程序框图

 

5. 控制系统仿真

系统仿真图形化界面包括了用户定义参数控件,例如PID控制参数,可变的RMS输出设定值,输出滤波器相位偏置和锁相环增益等。输出线电压和电网电压会实时地显示在控件中。

图 8. LabVIEW中的完整的系统框图

图 9. VI展示的系统在0.02秒以后的仿真结果

图10. VI 展示的系统在0.12秒以后的仿真结果

仿真结果展示系统运行0.02秒以后,三相逆变器的输出电压并没有与电网电压吻合,因为反馈系统还没有稳定,仍然处理初始化阶段。仿真结果显示系统大概需要0.1秒的时间来将输出线电压吻合到电网线电压。

这个非平行的系统仿真解决方案包括所有模拟电路和FPGA控制逻辑的动态特性。可以作为设计前期对系统性能的评估,同时可以节省仿真时间和原型化成本。

 

6. 硬件实现

下一个开发环节是将模拟电路原型化为硬件电路,并且编译FPGA IP,再将编译后的代码装载到目标硬件中,创建一个基于FPGA的实时硬件在环和RCP仿真。

查看该系统的完整的仿真设计参考以及快速原型化指南获取带RLC滤波器和负载的三相单级逆变器的实时仿真演示。实时的硬件在环仿真是执行于FPGA硬件上,使用LabVIEW编译,工作于1MHz。基本的500kHz正弦PWM控制系统也是由FPGA实现,配合NI 9401 C系统数字输入/输出模块完成HIL和RCP循环的通讯。

使用NI Ultiboard你可以实现快速和简便的PCB原型设计。 

 

Example code from the Example Code Exchange in the NI Community is licensed with the MIT license.

Contributors