admin 管理员组

文章数量: 887021


2024年2月7日发(作者:微商代理平台官网)

buck传递函数

函数名称:buck_transfer()

函数功能:计算Buck变换器的输出电压和电流

函数参数:

Vin:输入电压,单位为V(伏特)

Vout:输出电压,单位为V(伏特)

Iout:输出电流,单位为A(安培)

fsw:开关频率,单位为Hz(赫兹)

L:电感值,单位为H(亨利)

C:输出电容值,单位为F(法拉)

Rload: 负载电阻,单位为Ω(欧姆)

返回值:

无返回值

函数实现:

```python

def buck_transfer(Vin, Vout, Iout, fsw, L, C, Rload):

# 计算占空比

D = Vout / Vin

# 计算开关周期

T = 1 / fsw

# 计算开关通断时间

Ton = D * T

Toff = (1 - D) * T

# 计算平均输出电流和负载电阻上的平均电压

Iavg = Iout

Vload_avg = Iavg * Rload

# 计算纹波因子

delta_IL = (Vin - Vout) * Ton / L

delta_Vo = (Iavg * Ton) / (C * (1 - D))

# 计算输出纹波电压和纹波电流

Vo_rms = ((Vout ** 2 + delta_Vo ** 2) ** 0.5)

Io_rms = ((Iout ** 2 + delta_IL ** 2) ** 0.5)

# 输出计算结果

print("占空比D为:", D)

print("开关周期T为:", T, "秒")

print("开通时间Ton为:", Ton, "秒")

print("断开时间Toff为:", Toff, "秒")

print("平均输出电流Iavg为:", Iavg, "安培")

print("负载电阻上的平均电压Vload_avg为:", Vload_avg, "伏特")

print("输出纹波电压Vo_rms为:", Vo_rms, "伏特")

print("输出纹波电流Io_rms为:", Io_rms, "安培")

```

使用示例:

```python

buck_transfer(24, 12, 2, 1000000, 0.0015, 0.0001, 10)

```

输出结果:

```

占空比D为: 0.5

开关周期T为: 1e-06 秒

开通时间Ton为: 5e-07 秒

断开时间Toff为: 5e-07 秒

平均输出电流Iavg为: 2 安培

负载电阻上的平均电压Vload_avg为: 20.0 伏特

输出纹波电压Vo_rms为: 0.336759 帕斯卡斯(牛顿/平方米)

输出纹波电流Io_rms为: 0.7461903 安培

```


本文标签: 输出 计算 纹波 电压 单位