本帖最后由 LY_Bear 于 2024-11-21 09:26 编辑
背景:
在回忆整理之前做过的项目中有用到利用MCU的GPIO控制Buck电源管理芯片的输出用法,
整理了一下相关内容并使用Jupyter Notebook做了一个计算工具。开放给有需要的人使用。
原理:
代码:
由于论坛不能直接上传.ipynb文件,代码也不多,就直接粘到贴子里。
[Python] 纯文本查看 复制代码
# BUCK电路输出电压计算
Vfb = 1.0
R1 = 10.0
R2 = 100.0
R3 = 10.0
R4 = 47.0
# 计算系数
b = Vfb * (R1*R2+(R1+R2)*(R3+R4))/(R1*(R3+R4))
k = -(R2/(R3+R4))
# 计算DAC电压
def f(y: float)-> float:
return (y - b) / k
# 搜索电压
def search(Vamax: float, taget: list[float]) -> None:
for t in taget:
x = f(t)
if x > Vamax:
print("超出范围")
break
print("BUCK输出电压为:{:.4f}V, DAC模拟电压为:{: .4f}V".format(t,x))
print("搜索完成\n在Vamax = {:.4f}V时, Buck输出电压 = {:.4f}V".format(Vamax, (k*Vamax+b)))
#----------------------------------------
print("最大输出电压 = {:.4f}V\n理论曲线斜率 = {:.4f}V".format(b, k))
t_list = [12.0, 11.5, 11.0, 10.5, 10.0, 9.5, 9.0, 8.5, 8.0]
search(Vamax=3.0, taget=t_list)
示例:
最大输出电压 = 12.7544V
理论曲线斜率 = -1.7544V
BUCK输出电压为:12.0000V, DAC模拟电压为: 0.4300V
BUCK输出电压为:11.5000V, DAC模拟电压为: 0.7150V
BUCK输出电压为:11.0000V, DAC模拟电压为: 1.0000V
BUCK输出电压为:10.5000V, DAC模拟电压为: 1.2850V
BUCK输出电压为:10.0000V, DAC模拟电压为: 1.5700V
BUCK输出电压为:9.5000V, DAC模拟电压为: 1.8550V
BUCK输出电压为:9.0000V, DAC模拟电压为: 2.1400V
BUCK输出电压为:8.5000V, DAC模拟电压为: 2.4250V
BUCK输出电压为:8.0000V, DAC模拟电压为: 2.7100V
搜索完成
在Vamax = 3.0000V时, Buck输出电压 = 7.4912V
结语:
个人设计,如有错误,还望指出
|