ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

抛载检测 → 重复控制 RPT 清窗逻辑 → RPT 缓投使能 → 二阶滤波处理

抛载检测 → 重复控制 RPT 清窗逻辑 → RPT 缓投使能 → 二阶滤波处理 可以专门 提供 储能一体机ARM通信管理单元,从ARM单元代码,主DSP代码、方案、硬件软件全部开源;一体化解决方案提供西门子200全套解决方案,软硬件解决方案,全部源代码。抛载检测 → 重复控制 RPT 清窗逻辑 → RPT 缓投使能 → 二阶滤波处理 前置背景: 你的逆变器是50Hz,20kHz PWM,PWM 周期 50μs。 50Hz 工频周期 = 20ms;20ms ÷ 50μs =400 个 PWM 拍。重复控制 RPT 核心思想:当前工频周期的误差波形,在下一个工频周期同一时刻拿来补偿。 RPT 内部保存一整周期(400 点)的误差缓存数组,记住上一轮 50Hz 波形的畸变,下一个周期提前抵消谐波。类比理解: 你投篮,第一球投偏了,记住出手时刻的偏差;下一次同一出手时机,提前反向修正。 每一轮投篮周期(对应 50Hz 工频),复用上个周期的误差。 问题:如果中途突然抛载(突卸负载),电压瞬间冲高,缓存数组里存了大量错误的 “偏大误差”;下一个周期拿这个错误值补偿,会越补越震荡,甚至炸机。 所以必须:抛载触发 → 清空 RPT 历史缓存(清窗),等波形平稳后再慢慢投入 RPT。模块输入输出清单输入(来自中断,本拍采样,只读)ADValue.f32INV_PHASE_VOLT_1:当前采样输出相电压 (V)f32InvErr:瞬时电压环路误差(本次拍计算出来的电压误差)RPT 结构体StOffGridVoltLoop_RPT:包含误差缓存数组、索引、输出值二阶滤波器结构体StOffGridVoltLoop_2rdFilter:滤波器历史状态输出RPT 输出值,送入二阶滤波器二阶滤波输出,叠加到电压环 PI 输出,作为电流给定一部分标志位:清窗启动标志、清窗进行标志、RPT 投入系数s_f32RPT_K一、函数完整代码/** * @brief 重复控制RPT处理函数:抛载判断、清窗、RPT缓投、二阶滤波 * @param pStInvL1Ctrl 控制寄存器结构体指针 * @param pADValue AD采样结构体指针,本拍采样值 * @param f32InvErr 本拍电压误差,来自电压环 * @retval none * @note 调用位置:PWM中断内,电压误差计算完成之后,电压PI之前 */ void INV_L1_RptCtrlProcess(ST_INV_L1_CTRL_REGS *pStInvL1Ctrl, ST_AD_VALUE *pADValue, float32 f32InvErr) { //===== 1. 抛载判断:输出电压超过 ±210V,判定抛载冲击 ===== if((pADValue-f32INV_PHASE_VOLT_1 210.0f) || (pADValue-f32INV_PHASE_VOLT_1 -210.0f)) { //置清窗启动标志,下一拍开始逐个清空RPT缓存
返回列表