Boost 电路仿真
理想臣服实践,勤恳铸就巅峰。
别问我为啥不用简单的 Z 变换,答曰忘了怎么算了。。。。。
使用 LTspice 进行 boost 开环仿真,没什么好说的。原理和操作都过于简单,并不值得写博客。
这篇博客用来记述一些理论和实践的偏差。
使用理想器件搭建电路,发现输出电压曲线如下

基本上就是 1V 的电压,很奇怪。

测量 SW 节点,发现 NMOS 根本不开管。随机选择一个器件模型。仿真正常。

电路建模
模态建模
模态一
当 MOS 关断时,电路的微分方程为
{uin=LdtdiL+uoutiL=Cdtuout+Rloaduout
整理得
{dtdiL=L1uin−L1uoutdtduout=C1iL−C1Rloaduout
模态二
当 MOS 导通时,电路的微分方程为
{dtdiL=L1uindtduout=−C1Rloaduout
统一形式
引入开关函数 q(t)
q(t)={1 ,t∈Ton0 ,t∈Toff
故不同模态可表示为
{dtdiL=L1[uin−(1−q(t))uout)]dtduout=C1[−R1uout+(1−q(t))iL]
在数学上我们不喜欢不可导函数,它会使得很多手段失效。但很倒霉的是开关函数 q(t) 就是一个不可导函数。
平均模型
由伏秒平衡我们可以得到输入输出得传递关系 G=f(D) ,显然 D∈(0,1] 。如果将这个关系应用到控制系统中,我们潜意识中会认为 D=g(t) ,而且会希望 G=f(g(t)) 是一阶连续可导的。
但这个条件并不成立。PWM 控制天然具有离散性质,对于任意一个周期内的占空比总是"恒定的"。对于理想化的连续可导函数 G=f(g(t))=Δd(t) 在实际上转换为输出量时必然会被离散化为 G=f(g[n])=Δd[n] ,在这个过程中也必然会引入误差。只有周期 T 足够小时,这个误差才可以被近似忽略。
对统一形式的数学模型求平均,得
{dtdiL=L1[uin−(1−d(t))uout)]dtduout=C1[−R1uout+(1−d(t))iL]
注意,q(t) 不是初等函数,不光滑不可导。但是平均后的占空比函数 d(t) 是连续可导的。
小信号模型
电路在稳态时,其电学量可以被视为稳态 X 加一个微小量 Δx ,即 x=X+Δx。
易知,对于其直流成分对时间的偏导应为 0 ,即
{dtdIL=L1[Uin−(1−D)Uout)]=0dtdUout=C1[−R1Uout+(1−D)IL]=0
剩余的扰动信号为
{dtdΔiL=L1[UoutΔd−(1−D)Δuout]dtdΔuout=C1[−R1Δuout−ILΔd+(1−D)ΔiL]
输入侧电压一般认为是恒定值,不存在小信号扰动,即 Δuin=0 。
电流环整定
输入量占空比 D,被控量电感电流 iL 。由上述模型变形得到
Δuout=Cs+R1(1−D)ΔiL−ILΔd
带入,化简。给出传递函数:
ΔdΔiL=LCs2+RLs+(1−D)2UoutCs+RUout+IL(1−D)
易知 IL=(1−D)RUout ,带入后有
ΔdΔiL=LCs2+RLs+(1−D)2UoutCs+R2Uout=ΔGi
选择 PI 控制器,其传递函数为
Gctrl=skps+ki
嗯哼
出太阳了,要困死了,先就这样吧。

