并网逆变器V2

1099年

13

1.

介绍:并网逆变器V2

关于:本科时学过物理,非常喜欢建筑,尤其是电子项目

这个版本向无变形器迈进了一大步(看到1.0版本).成功地连续向电网注入50瓦,THD <5%,效率>90%。该微控制器与直流母线和电网完全隔离。

GTIs很吸引人,并且随着可再生微型发电的发展而变得越来越普遍。我还没有看到任何关于这个话题的“业余项目”,我相信一个记录良好的DIY电路提供了一个别处得不到的深刻见解。

这个版本2的主要变化是:

  1. 一个隔离H桥,能够在高达450伏的电压下工作,并结合一个与PWM输出串联的隔离电流传感器。
  2. 隔离电压传感模块,测量直流母线和交流线路电压。

GitHub上的Eagle文件和软件

第一步:让我们讨论构建GTI的策略:

  • 我们使用h桥和LC滤波器一起工作作为电压源。输出可以在直流母线电压的+/-之间变化,并与PWM占空比成比例。
  • 我们采样栅极电压(10ksps),并设置PWM占空比以产生与测量栅极电压相等的电压。这将导致网格波形的复制。如果我们把它连接到电网上,就没有电流流过,因为在任何一点上都没有电压差。准确的电网和母线电压传感是重要的,因此“前馈”控制器工作良好。
  • 为了将电流注入电网,我们需要一点过电压。
  • 传感器用于测量离开H桥的电流。PI控制器改变有关前馈值的电压,以实现电流输出设定点。因此,PI控制回路(以10 kHz的频率重复)应在前馈控制之外添加一个轻微的过压,以便在任何时刻将正确的电流驱动到电网中。
  • 我们要输出与电网电压同相的正弦电流。
  • 我们模拟了一个50Hz正弦本地振荡器(LO),并使用PLL将其相位同步到电网。该LO用于持续更新PI控制器的电流输出设定点。因此,我们要求正弦电流与电网电压同相输出。
  • 就是这样。我们还增加了一些安全机制,如果电网频率或电压不正常,或者直流母线电压过低或过高,我们就断开连接。

第二步:设计h桥

h桥电路是相当标准的,但我想要一些额外的功能:

  • 单片机侧与高压侧隔离
  • 精确隔离电流传感
  • 450 v的能力

我发现了一个看起来很棒的门驱动芯片UCC21520.它提供了隔离和巨大的开关规格以及布局建议和组件选择建议。

我还发现了一个超棒的电流感应芯片AMC1306.它还提供了隔离和布局示例。它被称为隔离分流调制器,因为它输出1和0的数字流,必须由微控制器进行数字滤波。正确设置它可以准确地获得16位ADC电流读数在20ksps!

我找到了一些幻想600 v场效电晶体了。他们有一个Rds_on = 60mOhms和一个67nC的Qg,这对600v的规格来说并不坏。我喜欢单独的门驱动器引脚的想法。相比之下,在DRV8301开发板上使用的60v mosfet的Rds_on = 4.7mOhms和Qg总数为29nC。

该电路只不过是一个h桥与一个在线电流分流传感器的输出。我使用Eagle将所有这些组件放到PCB上。我非常努力地尝试最小化电感的门驱动路径保持他们紧密和短。我还试图最小化直流总线电容和mosfet之间的电感。我对这个设计非常满意。

我从PCBway.该死的,他们真快!我想不到一周我就把板子拿回来了!我对它的质量印象深刻。把这些元件焊接到板子上并不困难。

第三步:测试h桥

我使用75v直流总线进行初步测试。PWM由STM32F407提供给门驱动器。我使用了一个3S LiPo提供一个隔离的12V电源的栅极开关。

起初,它似乎像预期的那样奏效。我得到了半桥输出的PWM。我注意到一个小的直流总线电流(20-30mA)被拉,尽管没有负载。我没有注意到,连接了450V直流电源,立刻闻到了烟味!

幸运的是,它似乎只是mosfet。几周后,我把它们换了下来,又回到了开始的地方。

就好像在每个半桥的输出接地25nF的区域有一个电容。增加PWM频率和直流母线电压都会增加病理电流。在75v和42KHz下,电流导致2瓦的散热,MOSFET温度达到50℃。我需要这些婴儿来处理450v的电压。到底发生了什么事?

我试了所有能想到的方法

  • 增加软件和硬件的死区时间
  • 将栅极驱动电阻器从4.7R更改为10R至22R
  • 增加栅极驱动电压

只有mosfet在散热,所有其他组件都正常工作。使用我的示波器,我可以确认没有交叉传导或令人讨厌的铃声。

我甚至求助于课件的帮助.有人建议尝试另一种MOSFET / IGBT。

我交换了一对花哨的mosfet,并尝试了一些100伏的mosfet。这一切都很完美!我不能解释为什么这解决了问题,但它确实解决了。我从Farnell订购了一些标准的600V mosfet (STF35N60DM2),尽我所能地交换了它们(这并不漂亮),最终我有了一个符合我要求规格的H桥。多么痛苦的经历啊!

第四步:滤波器设计和电感纹波

滤波器的工作是阻断40 kHz PWM载波频率,但通过我们的50 Hz信号。下图显示了模拟测试设置中的过滤器网络:

  • 我的感应器设置使用的组合1410524 c1mH电感创建上述滤波器。这些单位有60%的饱和在2.4 a。
  • 要看的第一个参数是共振频率。这算出达到4.3千赫,远离我们注入网络的任何频率。好。
  • 我们需要了解通过电感器的纹波电流。在模拟中,我发现了一个6ma的纹波,使用的是一个2v直流总线。因为它是一个线性电路,所有的数字都是比例的。因此,我们可以预期在50 V直流母线下的纹波为150毫安,或在100伏特下的纹波为300毫安。电容和负载电阻对纹波没有影响,只影响PWM电压波动和电感。
  • 当我们想要摆脱变压器,直接产生240伏交流电时,我们需要400伏的直流母线电压。如果我们将电感重新配置为串联,这将使我们的总电感增加四倍,达到4小时,并保持约300毫安的纹波。这样的串联配置将有2.4A 60%的饱和电流,因此我们必须将峰值电流保持在最多2 a以下。
  • 铁氧体磁芯在我们的频率下工作良好。

理解过滤器网络是我在这个项目中的关键。我知道LCL滤波器用于商业逆变器。但是选择组件值似乎涉及到我还不能理解的黑魔法。

在商业逆变器中也很难找到大量的电感。他们从哪来的?把一堆较小的电感串在一起是我能决定的唯一解决方案。

第五步:过滤电感芯材料和饱和度

在这个项目中,我不得不学习电感。它们不像电容器那样理想。有些芯材在高频时有不可接受的损耗。我们的PWM可能是41 kHz,但它的傅里叶级数是由谐波频率组成的,高得多。可能超过500千赫。

因此,滤波器受到非常高的频率和一些电感我尝试消散大量的热量。从磁滞损耗推测。我认为铁粉铁芯有这个问题,我认为铁氧体在更高的频率下表现更好。

另一个需要注意的领域是饱和电流。这类似于电容器的最大额定电压。同样,核心材料表现不同。

一些电感数据表引用饱和电流时,电感已失去其60%的电感。好吧,我不希望过滤器网络偏离它的名义这么多!

步骤6:测量电流

这个AMC1306本设计中使用的隔离分流调制器以5-21MHz的速率输出1&0。STM32F407需要接收、处理这些数据,并以20 kSPS的速率获得16位值。我必须承认,即使在我设计和组装了这个PCB之后,我对如何进行这种处理仍然一无所知。

分流电阻与B相串联,为100mR。我选择了AMC1306M25,这意味着满标度输出发生在+/-250mv。这意味着我们可以测量+/-2.5安培。

我读到,从AMC1306解码数据流的最佳方法是使用sinc3过滤器。TI的这篇文章是我理解这些过滤器如何工作以及如何实现它的关键。这是一个sinc3滤波器的框图。

我搜索了一个已经存在的实现,但没有找到。然后我意识到这个软件其实很简单!我们可以配置STM32F407的SPI以5.25Mbits/s读取并使用DMA将字节传输到循环缓冲区。我选择了256的下采样比率,结果是20.5KSP输出率。这种方法非常有效,因为在抽取的采样频率的几倍处,频率响应中有凹槽。在我们的情况下,这把一个缺口在我们的41KHz载波频率是一流的。我们滤波器的3dB点在5.4KHz。

我使用了一个双缓冲方法,所以前256位被处理,同时下256位被收集。由于比特进入5.25Mbits/s的算法必须是有效的。我估计,只要每个比特平均使用少于25个时钟进行处理,就应该有足够的CPU功率。

处理一批256位的代码在图像中。PDM_Raw_Data[]是一个32字节的缓冲区,通过SPI从电流分流调制器填充1和0。从最旧到最新的位被读取并插入到3个串行累加器的级联中。第一个累加器(也称为积分器)的输出被放入第二个累加器等的输入。您可以在代码中清楚地看到这一点。

在连续插入256位之后,我们对输出进行一次三阶差分。这给了我们一个24位的读数,我将其缩放和偏移,以获得16位有符号电流测量值。太时髦了!

本质上我们做的是对输入积分三次每次有新比特进来。一旦我们做了256次,我们做一个三阶微分(即。连续求导3次)。然后我们重复这个循环。我不会深入研究细节,但这个过程给我们一个24位数字每256个时钟,这比一串1和0有用得多。

第七步:测试电流感应

这些图像显示了我们在示波器上看到的,当产生50赫兹正弦波和方波时。红色的痕迹表示负载电阻器的电压差(x50)。与电流成比例)。蓝色的痕迹是STM32F407的DAC输出测量电流。这太神奇了,他们是彼此的复制品。在41KHz没有PWM载波噪声,所以滤波器显然工作得很好。我对此非常高兴。

你可能已经注意到方波上有一个小斜坡。原因让我很困惑…好吧。

步骤8:电流传感的测量延迟

您可能会注意到测量电流相对于实际电流有轻微延迟。这是意料之中的,因为我们正在进行数字滤波。为了更仔细地观察,我拍了这张快照。

我推测是180度的延误。On a 20 ms periodic signal this equates to a = 3.3 degree phase lag. The reason for the slow upslope of the actual current is due to our filter effectively suppressing high frequencies. All in all I think the control system will have adequate response times to work with.

步骤9:隔离电压传感

在GTI的第二次迭代中,我了解到可靠和准确的电压传感的重要性。你需要知道直流母线电压和相电压。为了实现一个良好的前馈滤波器,这些都是至关重要的。

我偶然发现了ISO224孤立的电压放大器。我们可以用2来测量每一个电压。这是原理图和电路板布局。这是相当简单的。

ISO224输出差分电压。但通过减去2个ADC读数,很容易在软件中实现单端。

步骤10:同步到网格和锁相环

锁相环以周期函数运行。它自动运行每13125时钟滴答,这在一个186mhz处理器相当于12800/秒,即256 x 50 Hz。我们存储了256个正弦值的样本查找表,通过以这个速率递增查找索引,我们获得了50 Hz正弦波的样本。这构成了我们的本振子(LO)。

锁相环的工作是对我们的LO频率做轻微的调整,以便它保持与电网电压的相位。我们需要这样做,因为我们的LO用于设置输出电流设定值。让我们通过代码图像来讨论:

第一行相位将我们的查找索引移动90度(64/256),因此我们有一个余弦LO。
第二行将LO余弦值乘以采样的线路电压(应该是正弦波)。我们将这个值存储为Signal_Multiple。

在第三行中,我们刷新了先前256个信号值的积分。其结果是过去1个周期内余弦LO x正弦线_电压波形的积分。这相当于:

积分[Cos(wt)*Sin(wt+phi)]->结果为Cos(phi)

表示这两种波形之间的任何相移。锁相环的全部意义在于测量,所以我们可以使用它来调整LO频率。调整LO频率很容易,只需在13125个时钟上增加查找表索引+/-少量即可。通过微调LO频率,我们可以使phi值为零。一旦等于0,我们就可以使LO频率保持在一个值,使保持在0。我们在这里使用PI控制回路,其设定值为零。例如,如果我们在相位上滞后于网格,我们的锁相环会给出= -100。然后,我们将确保在13025个时钟(而不是13125)上增加LO查找索引。这将增加LO频率,这将意味着相位赶上电网的。

总结一下,我们要调整LO频率使积分结果为0。我们使用PI控制算法来稍微改变13125滴答数。这就锁定了LO与线相的相位。这是一个锁相环路。如果你仔细想想,其实很简单。但是你需要知道cosx的积分sinx除以0 - 2等于0。

步骤11:PI控制回路

PI控制器负责根据测量的输出电流调整输出电压。它必须快速响应,因此控制回路以10 kHz的频率运行。我们的本地振荡器在任何时间(也称为设定点)的期望输出电流随电网电压呈正弦相位变化。

PI控制回路有2个调谐参数:

  1. 比例常数(P)
  2. 积分常数(我)

我从0开始,逐渐增加它们,直到控制回路开始振荡。然后为了稳定而降低了一些。我意识到有两件事会影响调优值:

  1. 负载电阻。更大的负载电阻将需要更大的“过电压”来实现给定的电流输出。
  2. 直流母线电压。在较高的母线电压下,给定的PWM占空比变化将导致过电压的较大变化。

通过更好地调整PI参数,我们可以获得更严格的控制。这导致:

  • 输出更接近我们要求的输出电流
  • 输出电流和电网电压之间的相位滞后较小。

我刚刚发现一些值似乎是工作的,但在未来,它将是很好的研究正常化的调优参数,以便我们补偿这些变化。我想尝试测量电网阻抗,看看什么“过电压”导致什么电流流等。

步骤12:连接和断开电网

当我们的h桥mosfet全部关闭时,我们仍然与电网断开连接。当这种情况发生时,我们的AMC1306电流传感器关闭,因为它依赖于通过PWM开关创建的启动电源。

断开连接时,我们仍在测量电网电压,我们的PLL保持LO同步。当我们启用H桥时,我们立即开始产生电压(与PWM占空比成比例)。非常重要的是,该电压应等于电网电压,否则会有潜在的破坏性电流流入或流出H桥。

要加入网格,我们需要等待交叉点为零(通过等待LO索引翻到零)。然后我们使h桥的PWM占空比为零,我们启动前馈控制器从那里跟踪电压。如图所示,效果非常好。

大约2毫秒后,AMC1306电流传感器上电并恢复工作。然后,软件启用PI控制和前馈控制。

步骤13:Anti-islanding

与上次GTI类似,我们不断测量:

  • 电网电压
  • 电网频率
  • 直流母线电压
  • 的输出电流
  • 请求的输出电流与实际输出电流之间的误差

如果这些参数中的任何一个出了问题,并留下了一个给定的阈值,我们就会断开与电网的连接。这可以在发生错误时保护电路,也可以在断电时保护在线路上工作的电工。请参阅显示红色栅极电压消失后蓝色输出关闭的图像。

步骤14:总结

我测量了51瓦的输出功率,没有任何东西变得特别温暖。产生的热量肯定不到5瓦,所以我粗略地得出了效率>90%的结论。

这里的波形用蓝色表示变压器缩放的电网电压。红色波形显示AMC1306测量到的流入电网的电流。这是一个轻微的相位延迟和少量纹波,但它小于5% THD。

步骤15:下一步是什么?

我非常接近尝试更高的直流总线电压,但认为我应该发布这个更新。接下来要做的事情:

  • 试着测量栅极阻抗。
  • 尝试正常化我们的PI调谐参数是独立于阻抗和总线电压
  • 尝试100 W输出功率。

我希望这次更新是有趣的或信息丰富的。我预计会有大量无法解释的概念,但GTI实际上是一个相当庞大的主题!请在评论部分发表评论或给我发电子邮件。

探索科学的挑战

参加了
探索科学的挑战

第一个分享

    建议

    • 地图挑战

      地图挑战
    • 金属竞赛

      金属竞赛
    • 飞行挑战

      飞行挑战

    评论

    0
    tytower

    2个月前

    以极大的兴趣关注你的工作。