2、逆变器核心状态:待机状态、软启动状态、并网运行状态、故障保护状态、停机状态

好,咱们接着聊。上一章我们把状态机的基本骨架搭起来了,这一章就要往里面填肉了。说白了,逆变器软件最核心的五个状态,就是我今天要跟你聊的:待机、软启动、并网运行、故障保护、停机。

这五个状态,我做了十几年逆变器,几乎每个项目都绕不开它们。你想想看,不管你是做光伏逆变器,还是储能逆变器,甚至UPS,底层逻辑都是这一套。嗯,这里要注意,状态划分的粒度可以不同,但这五个是“原子状态”,缺一不可。

2.1 待机状态(Standby)

待机状态,说白了就是“啥也不干,但随时准备干”。

我个人习惯,把待机状态设计成系统上电后的默认入口。这时候,主继电器是断开的,IGBT是关断的,PWM脉冲是封锁的。但MCU在跑,采样电路在工作,通信模块在监听。

为什么要这样?因为你要等条件成熟。比如:

  • 母线电压是否建立起来了?
  • 电网电压和频率是否在正常范围内?
  • 有没有收到启动指令?

我在项目中遇到过一个问题:有一次,客户反映机器上电后偶尔会“砰”一声炸掉。查了很久,发现是待机状态下,母线电容的预充电回路没有完全断开,导致继电器带载闭合。从那以后,我强制在待机状态里加了一个“预充电完成标志位”的检查,不满足条件绝不往下走。

核心要点:待机状态不是“死机”,而是“蓄势待发”。所有安全条件的检查,都应该在这里完成。

2.2 软启动状态(Soft Start)

软启动,这个名字很形象。就是慢慢来,别一下子冲上去。

为什么要软启动?你想想看,母线电容从0V到几百伏,如果直接闭合继电器,那冲击电流能把保险丝熔断。同样,并网时如果直接满功率输出,电网会被你“踹”一脚。

我建议的软启动流程是这样的:

  1. 先闭合预充电继电器,通过限流电阻给母线电容充电。
  2. 检测母线电压达到额定值的90%以上,再闭合主继电器。
  3. 断开预充电继电器,避免电阻长期发热。
  4. PWM占空比从0开始,按斜坡函数缓慢增加到目标值。

这里有个坑,我曾经踩过:软启动的斜坡时间不能太短,也不能太长。太短了,冲击电流还是大;太长了,用户会觉得“这机器怎么反应这么慢”。我一般取200ms到500ms,具体看母线电容容量和电网阻抗。

小技巧:软启动过程中,可以同时做绝缘检测。如果发现绝缘阻抗偏低,立刻退回待机状态并报故障。这样既不耽误时间,又保证了安全。

2.3 并网运行状态(Grid-tied Operation)

这是逆变器真正“干活”的状态。软启动完成后,系统进入并网运行状态。

在这个状态下,核心任务就两个:

  • 锁相环(PLL)跟踪电网相位——你得跟电网同步,不然就是短路。
  • 功率控制——根据指令输出有功和无功功率。

我记得有一次做并网测试,发现电流波形总是有畸变。查了半天,发现是锁相环在电网电压过零点附近抖动,导致电流指令出现了毛刺。后来我改用了基于双二阶广义积分器(DSOGI)的锁相环,问题就解决了。

并网运行状态下的状态转移条件,我整理了一个表格:

触发条件 目标状态 说明
收到停机指令 停机状态 正常停机流程
电网异常(过压/欠压/频率超限) 故障保护状态 立即封锁脉冲
过流/过温 故障保护状态 硬件保护触发
功率降至0并维持一段时间 待机状态 节能模式
警告:从并网运行状态切换到故障保护状态时,必须立即封锁PWM脉冲,不能有任何延迟。我曾经见过一个案例,因为软件里加了一个打印日志的语句,导致脉冲封锁延迟了2ms,结果IGBT炸了。切记,保护路径上不要有任何阻塞操作。

2.4 故障保护状态(Fault Protection)

这个状态,我希望你永远不要用到,但你必须把它设计好。

故障保护状态,说白了就是“出事了,赶紧刹车”。

我个人习惯,把故障分为三个等级:

  • 一级故障(致命故障):比如过流、短路、IGBT直通。立即封锁脉冲,断开继电器,停机。
  • 二级故障(严重故障):比如过温、电网异常。封锁脉冲,但保留通信和采样,等待恢复。
  • 三级故障(轻微故障):比如通信丢包、采样值轻微超限。只记录日志,不切换状态。

嗯,这里要注意,故障保护状态不能自动恢复。必须等故障原因消除,并且收到“故障复位”指令后,才能回到待机状态。为什么?因为如果自动恢复,万一故障没消除,就会反复跳变,这叫“振荡”,对设备伤害很大。

核心原则:故障保护状态是“一次性”的。进去之后,要么人工复位,要么断电重启。不要搞自动恢复。

2.5 停机状态(Shutdown)

停机状态,是系统的“终点站”。

停机分为两种:

  • 正常停机:收到停机指令后,先降功率到0,再封锁脉冲,最后断开继电器。整个过程平滑,不会产生冲击。
  • 紧急停机:直接封锁脉冲,断开继电器,不管当前功率是多少。这种停机方式会带来电压尖峰,但为了安全,不得不这么做。

我建议,在停机状态里加一个“放电完成”的判断。因为停机后,母线电容上还有高压电,如果不放掉,维修人员一碰就触电。所以,停机后要主动开启放电电阻,直到母线电压降到安全电压(比如36V以下),才算真正完成停机。

避坑指南:我曾经遇到过一个问题:停机后,母线电压降得很慢,因为放电电阻的功率选小了。结果等了5分钟电压还没降下来。后来我改用了MOS管控制的放电回路,停机后主动开启,放电时间控制在10秒以内。

好了,这五个核心状态,咱们就聊完了。你发现没有,它们其实是一个闭环:待机→软启动→并网运行→故障保护→停机→待机。每个状态都有明确的进入条件和退出条件,这就是状态机的魅力所在。

下一章,我会跟你聊聊状态之间的转移条件怎么写,以及如何避免“状态跑飞”这种低级错误。嗯,那个坑我也踩过,到时候跟你细说。