问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

DCDC-LLC谐振电路Q值与系统增益变化相反的原因

创作时间:
作者:
@小白创作中心

DCDC-LLC谐振电路Q值与系统增益变化相反的原因

引用
CSDN
1.
https://blog.csdn.net/twicave/article/details/143615713

在电力电子领域,LLC谐振电路因其高效率和宽范围的工作特性而被广泛应用。然而,在实际应用中,工程师们可能会发现一个看似矛盾的现象:LLC谐振电路的Q值与系统增益之间存在反向变化的关系。本文将从理论和实践两个层面,深入探讨这一现象背后的原因,并通过电路模拟和Python代码实现,帮助读者更好地理解这一现象。

1.谐振电路的Q值定义

LLC电路的Q值定义:
它表述的是整个电路的能量存储与耗散的关系。损耗越小,Q值越大,损耗越大,Q值越小。

Q的另一种写法是:
这个公式来由,因为谐振频率:
所以:
所以:
所以:
所以:

2. 谐振电路Q值的物理意义

Q值实际表征了LC电路的频率选择范围,如果定义带宽 Δf 是指电流值下降到谐振频率处电流值的
时所对应的频率范围。Q值越高,带宽越窄:

一般我们看到的特定Q值随频率变化的曲线,其实就是整个电路的总体阻抗随频率的衰减情况,如果接入恒压源,那就是系统整个电流的电流随频率的变化。

3. LLC电路Q(LrCr)谐振参数的变化为什么是反的?

下图是LLC系统整体增益V_lm/Vin

如上图所示,Q值越大,系统的整体增益反而越小,这是怎么回事?这里不同的Q值的变化,其实是由负载电阻的变化,也就是连接不同的负载造成的。另外,这里的增益实际是Lm两端的电压与输入电压相比的比例。随着负载越来越重,LRC谐振电路中的Rac越来越小,谐振电路的Q值在增大。谐振电路的Q值相应增大。

4 电路模拟及粗略解释

下图中,我把谐振电容和谐振电感的增益曲线画出了。

最直观的解释就是在系统越过第一个谐振点(Lr, Cr),到达第二个谐振点前(Lr+Lm,Cr)前,系统的增益因为第二个低频谐振峰的存在,仍然在上升。因为Lm比Lr大得多,LLC能够在谐振频点,能够近乎稳住系统整体增益。

LLC在进行参数选择时,Lm主变压器的电感往往会选择比Lr大4倍以上,造成低频侧的原始增益峰值会比谐振频点高耸处四倍。始终记得LLC有两个峰。

附录A 相关的LLC电路整体增益曲线 - Python源码

from matplotlib.lines import lineStyles
import numpy as np
import matplotlib.pyplot as plt

def GetLRC_Gain(frequencies, L, R, C, V_in):
    omega = 2 * np.pi * frequencies  # 角频率
    # 计算阻抗
    Z_L = 1j * omega * L*2  # 电感的阻抗
    Z_C = 1 / (1j * omega * C/2)  # 电容的阻抗
    Z_total = R + Z_L + Z_C  # 总阻抗
    # 计算电流
    Gain = R/np.abs(Z_total)*GetLRC_Q(L,R,C)
    return Gain

# 计算增益
def GetLLC_TotalGain(frequencies, L_r, R_ac, C_r, V_in):
    gains = []
    L_m = 10*L_r
    for f in frequencies:
        omega = 2 * np.pi * f
    
        # 计算等效阻抗
        Z_Lm = 1j * omega * L_m
        Z_Lr = 1j * omega * L_r
        Z_C = -1j / (omega * C_r)
    
        Z_parallel = (Z_Lm * R_ac) / (Z_Lm + R_ac)
        Z_eq = (Z_Lr + Z_C) + Z_parallel
    
        # 计算增益
        V_out = V_in * np.abs(Z_parallel) / np.abs(Z_eq)
        gain = V_out / V_in
        gains.append(gain)
        # 转换为numpy数组
    gains = np.array(gains)
    return gains;

def GetLRC_Q(L, R, C):
    Q = 1/R*np.sqrt(L/C)
    return Q

def GetLC_Fr(L, C):
    Fr = 1/(2*np.pi*np.sqrt(L*C))
    return Fr

# 参数设置
L = 35e-6  # 电感 (H)
R = 12  # 电阻 (Ω)
C = 6.3e-9*10  # 电容 (F)
V_in = 660  # 输入电压 (V)

# 频率范围
frequencies = np.linspace(20e3, 200e3, 1000)  # 频率从100Hz到10000Hz

# 绘图
fig, ax1 = plt.subplots()
ax2 = ax1.twinx()
ax1.set_xlabel('Frequency (Hz)')
ax1.set_ylabel('LLC Total Gain')
ax2.set_ylabel('LC Gain')
lines1 = []
lines2 = []
labels = []
for i in range(1, 8, 2):
   R_now = R*i
   Gain_LC = GetLRC_Gain(frequencies, L, R_now, C, V_in)
   TotalGain = GetLLC_TotalGain(frequencies, L, R_now, C, V_in)
   Fr = GetLC_Fr(L,C) 
   Q = GetLRC_Q(L, R_now, C)
   line1, = ax1.plot(frequencies, np.abs(TotalGain), label=f'LLC Total_Gain Q={Q:.2f} R={R_now:.2f}ohm ')
   line2, = ax2.plot(frequencies, np.abs(Gain_LC), label=f'LC-Gain Q={Q:.2f} R={R_now:.2f}ohm', linestyle='dashed')
   lines1.append(line1)
   lines2.append(line2)
   labels = [line.get_label() for line in lines2]
plt.axvline(x=Fr, color='black', linestyle='dotted')
# 手动添加图例项
line_handler, = plt.plot([], [], color='black', linestyle='dotted', label=f"Freq_r = {Fr/1e3:.2f}kHz")
lines = lines1 + lines2 + [line_handler]
labels = [line.get_label() for line in lines]
plt.title('LLC Gain & LC Gain with different load.')
plt.grid(True)
plt.legend(lines, labels)
plt.show()  
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号