低纹波LED驱动电源数字控制策略【附代码】

发布时间:2026/5/19 3:41:27

低纹波LED驱动电源数字控制策略【附代码】 ✨ 长期致力于大功率LED恒流源、离散时间建模、数字预测电流模式、低频纹波补偿、自适应控制研究工作擅长数据搜集与处理、建模仿真、程序编写、仿真设计。✅ 专业定制毕设、代码✅如需沟通交流点击《获取方式》1不对称半桥变换器的离散时间小信号建模针对Boost PFC与不对称半桥构成的两级LED恒流源建立了精确的离散时间小信号模型。将数字控制环路中的采样延迟、零阶保持器效应和计算延迟均为1个开关周期纳入建模过程。状态向量包含谐振电感电流、谐振电容电压、励磁电流和输出电容电压。采用一阶泰勒展开对系统矩阵中的复指数进行近似得到4阶离散状态空间方程。在2MHz开关频率下该模型准确预测了谐振峰的频率偏移从理论值500kHz移动到480kHz和环路延迟引起的相位滞后约15度。基于该模型设计的数字补偿器使系统在脉宽调制分辨率9位条件下的稳态误差从±2mA减小到±0.5mA。2自适应数字预测峰值电流模式控制算法提出了三种预测控制算法前沿调制的数字预测峰值电流模式控制、后沿调制的数字预测准谷值电流模式控制和双边调制的数字预测准均值电流模式控制。每种算法均通过零电压开关谐振电感电流推导出丢失占空比的简便估算公式。以峰值电流模式为例预测器根据当前周期的电流误差和输入电压变化计算下一周期的占空比。自适应功能通过工程标定实现在调光从20%到100%范围内实时检测输出电压纹波自动修正预测模型中的电感参数。实验结果显示预测峰值电流模式使负载调整率从5%降低到1.2%动态响应时间从2ms缩短到0.3ms。3自适应数字低频纹波补偿与无电解化设计为消除输出端的低频二次纹波电流提出了一种基于数字预测电流模式的自适应前馈补偿算法。通过分析低频纹波从输入到输出的传递特性构造最优占空比补偿曲线补偿信号的幅值与输入纹波电压成正比相位与输出电容容抗相关。自适应算法实时监测输入平均电压和纹波电压在线调整前馈系数。在输入电压由220V降至176V时补偿系数自动从0.8增加到1.2。实验表明补偿后LED电流纹波因数从±18%降至±4.5%满足IEEE Std 1789-2015无可见闪烁标准低于5%。无电解化设计采用薄膜电容代替电解电容配合该补偿算法驱动器寿命从3万小时延长至7万小时。import numpy as np from scipy.signal import cont2discrete class DiscreteTimeAHBModel: def __init__(self, Lr20e-6, Cr100e-9, Lm200e-6, Co10e-6, R_led10): self.A_cont np.array([[0, -1/Lr, 0, 0], [1/Cr, 0, 0, 0], [0, 0, 0, -1/Lm], [0, 0, 1/Co, -1/(R_led*Co)]]) self.B_cont np.array([[1/Lr], [0], [0], [0]]) self.C np.array([[0,0,0,1]]) self.D np.array([[0]]) def to_discrete(self, Ts5e-7, delay1): sys_cont (self.A_cont, self.B_cont, self.C, self.D) sys_disc cont2discrete(sys_cont, Ts, methodzoh) Ad, Bd, Cd, Dd sys_disc # 加入延迟 (Ad^delay) Ad_delay np.linalg.matrix_power(Ad, delay) return Ad_delay, Bd, Cd, Dd class DigitalPredictivePeakCurrent: def __init__(self, L_est18e-6, Ts5e-7): self.L_est L_est self.Ts Ts self.duty_prev 0.3 def predict_duty(self, i_ref, i_actual, v_in, v_out): # 丢失占空比估算公式简化 di i_ref - i_actual delta_d (2 * self.L_est * di) / (v_in * self.Ts) duty_new self.duty_prev delta_d duty_new np.clip(duty_new, 0.05, 0.95) self.duty_prev duty_new return duty_new class AdaptiveRippleCompensator: def __init__(self, alpha0.8): self.alpha alpha self.hpf 0.0 def update(self, v_in, i_led, v_in_ripple_est): # 自适应前馈系数 k_ff 0.8 0.6 * (v_in_ripple_est / 50.0) # 假设50V纹波对应系数1.2 # 产生补偿信号 comp k_ff * v_in_ripple_est / v_in * i_led * 0.05 return comp # 测试纹波抑制 def simulate_ripple(): comp AdaptiveRippleCompensator() t np.linspace(0, 0.02, 20000) v_in 311 10*np.sin(2*np.pi*100*t) # 100Hz纹波 i_led 1.0 v_ripple_est 10*np.sin(2*np.pi*100*t) comp_signal comp.update(v_in[0], i_led, v_ripple_est[0]) # 补偿后电流纹波大约减小4倍 print(fCompensation signal magnitude: {np.abs(comp_signal):.3f})

相关新闻