|
| | | | | | | 谢谢提供的资料,资料中好像只是对小信号进行了讲解。
|
|
|
|
| | | | | 有无试过用小信号闭环输出电阻Zo(s)和阶跃输出电流算出的时域动态,和真正的比较一下?
|
|
|
| | | | | | | 改天试一下,在闭环的几个传函中这个应该是最符合上电情况了,之前用的其它两个传函算时域应该不太合适。
|
|
|
|
| | | | | | | | | | | 我用Saber也做了下验证结果非常准确。
您的这种解题方法超级赞,受教了。
|
|
|
|
| | | | | | | | | | | | | | | Saber的仿真误差找到了,一是续流二极管的电阻Rd=0.1没有设置,二是选用的三角波发生器起始电压是从3V-5V,下个周期后才为正常的1V-5V。
|
|
|
| | | | | | | | | | | | | | | | | 我给补偿部分加了比例环节P,参照您的公式加了一小段,不知对否?
仿真对比如下:
如果依次整理出Type Ⅱ、Type Ⅲ以及其它拓扑的表达式,用来验证环路补偿应当是极其方便了……
|
|
|
| | | | | | | | | | | | | | | | | | | 这个应该没问题,你用Vr2,我之前是用R2和C2间的node voltage ,可以不知什么原因,Mathcad 总是报错,改用Vr2,依然报错,怪了。可否上传您的 file 给我试试 ?
|
|
|
|
| | | | | | | | | | | | | | | | | | | | | | | 谢谢了,您的可以,没问题,怪哉,要check check。您仍用我给你的 Portable version 么?
|
|
|
| | | | | | | | | | | | | | | | | | | | | | | | | 找到问题了,忘了给 Vr20赋值。也说明用 node voltage 方法有点问题,用Vr2就可以。呵呵。
|
|
|
| | | | | | | | | | | | | | | | | | | | | | | | | 我个人电脑上还在用这个版本,跟普通的15版也兼容。请教一下这种解题方法学名或书面名叫什么?
|
|
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | 把Differential Eqn. 化为 Difference Eqn. (Discrete Eqn.)的方法,叫 离散化 ?
之前用node voltage (vn) 的方法是可以的,原先 matrix 左手边的vn的index是j,改为j+1便可以了。
例如11楼的红圈内的,把vr2j+1改为vr2j,就会报错了。
这里有个疑问,Vr和vo是j-th step的值时,vr2也应该是j-th step的值,为什么要把它移後一步呢?
|
|
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 这个我也没想通,下标j行不通后就尝试了j+1,所以对之前得出的结果不是很确定。
|
|
|
|
| | | | | | | | | | | | | 看到这里不得不佩服,对过程理解的很透测,一直以来想用数学复现电源动态过程,现在终于找到这种方法了。谢谢!
|
|
|
|
|
| | | | | | | | | | | | | | | 现在有了 Buck PowerStage 的时域描述,应该有方法找出它的Gvc(s) 的大概 fcross 和 phase margin,进而计算补偿器的RC 。
|
|
|
| | | | | | | | | | | | | | | | | 在重新设置buck功率级参数后发现了一个问题:
整个计算过程中默认运放一直工作在线性区既Vr+=Vr-(公式中的Vr j),刚巧您列举的参数符号这一条所以计算和仿真很吻合。
当换一组Buck电路参数后出现运放饱和的情况如上右图,所以方程可能还需再增加一两个。
|
|
|
| | | | | | | | | | | | | | | | | | | 运放处于闭环时,一定是 Vr+=Vr- ,当运放输出饱和时,运放不再闭环,两个Vr就会分离。现在不知哪个是因,哪个是果,可否上传您的 New Buck 文件?
|
|
|
| | | | | | | | | | | | | | | | | | | | | 把Buck系统设置的更高效(小阻尼系统)就会出现这种情况(运放饱和),这种情况我把它当作大信号来看待。
环路补偿频域-时域.rar
(211.87 KB, 下载次数: 18)
|
|
|
| | | | | | | | | | | | | | | | | | | | | | | 設 Ro = 恒定 2欧,用回原来的方式,即不带入Vrn ,Mathcad 和 PSIM 的比较如下,有点差别。
主要是两个Vr 分离后,缺乏对Vrn的描述。
|
|
|
| | | | | | | | | | | | | | | | | | | | | | | | |
当Ve=0时 Vrp和Vrn分离开了,仿真时尝试让Vrp=Vrn不过和Mathcad的计算结果没能完全重合。
|
|
|
| | | | | | | | | | | | | | | | | | | | | 低阻尼应该就是LC谐振频率处有较高的增益,那么时域会否体现为输出电容上的电压过冲,进而导致Vr-大幅变化最终使运放输出饱和?
|
|
|
|
| | | | | | | | | | | | | | | | | | | 那就请LZ完善之。
还有25楼的Type 3是不是有点问题?C1 这么大,Psim 时域仿真,输出是带 (8Vpp,1.7Khz) 震荡的。
|
|
|
| | | | | | | | | | | | | | | | | | | | | 25楼的补偿参数是随便设置的并不合理(只是想看重复性),如果将前面计算好的补偿参数带进去后对比如下:
LZ水平有限,完善这个计算还是有难度的。
|
|
|
| | | | | | | | | | | | | | | | | | | | | | | 先尝试了比较简单的PI补偿(7楼参数),Vrn的表达式和波形如下
Vrn波形趋势是对的只是发生了震荡,原因还未分析出来。
|
|
|
| | | | | | | | | | | | | | | | | | | | | | | | |
在ve公式中再增加一个Vrn>Vrp的或判定可以消除Vrn>Vrp时的震荡,Vrn<Vrp时的震荡还没能消除(运放的供电设置为Vcc=4V)。
|
|
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | Type3的实现方法跟上面的相似,Type3的计算文件和仿真对比图如下:
环路补偿频域-时域(待改进).rar
(219.31 KB, 下载次数: 9)
Vrn<Vrp时的震荡问题还没有解决。
|
|
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 这里采用的方法不是很好,不过好像是可以解决震荡问题了
Buck环路补偿-频域&时域Ver01.rar
(172.83 KB, 下载次数: 11)
根据时域波形对补偿参数做了优化仿真和计算对比如下:
相对于Saber仿真,Mathcad的计算瞬间就完成了…… 后续准备更改各个参数尝试寻找规律。
|
|
|
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ve信号放大会发现其有轻微的震荡(机理不详)
我开始写的语句是以Vcc>=12V做判据的,所以微小的震荡就产生了剧烈的震荡。在Saber仿真中没有这个震荡会不会是Mathcad的某个语句写的不理想?
|
|
|
|
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 有没有发现,改变 vej 式子里的 0.05,会使vo波形左右移动一点,步长 δt 改变,也会。
|
|
|
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 是的,δt越小,0.05 可以越小,似乎维持 "0.05"/δt = 2/T 就比较准确 。
|
|
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 我试了一下,好像 "0.05"/δt = 2.5/T是临界值公式
|
|
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 这里的2.5恰巧同参考电压Vref一样,“0.05”似乎可以用Vref*δt/T来替代,下面做了两组测试
左图δt=0.01T,Vref=2.5V,右图δt=0.005T,Vref=1.25V,代入公式后刚好都处于临界状态。
|
|
|
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 解决了就好,100% 完善。 (最后这个问题能不能归咎 MathCAD ?)
|
|
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 如果再把boost、反激甚至LLC的方程导入进去就更完美了 。对Mathcad只是略知皮毛最后这个问题不好评价……
|
|
|
|
|
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 尝试用这种方法模拟LLC电路,在fs<fr阶段就出现了问题,输出是发散的不知哪里出了问题?
附上Mathcad文件:
LLC-fs小于fr.rar
(141.05 KB, 下载次数: 16)
|
|
|
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | iLr 等也一直增大。把Voj 恒等于276后,它们依然。
|
|
|
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 怀疑是判断语句条件if(iLmj<iLrj)的问题,把初始参数都设置为零上电时到了这个地方就不对了。
|
|
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 公式雏形出来了,波形大致是对的,可以兼容全频率范围(60kHz~160kHz):
附件:
LLC-离散微积分法.rar
(155.75 KB, 下载次数: 22)
(这种算法能将Ts作为形参传递下来吗?)
|
|
|
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 有办法能将开关频率fs传递下来吗?或者for语句之类的多次调用?下面是手动算的增益结果(300Ω负载)。
|
|
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 貌似 For loop 是少不了 。最好连dGdc/df 都弄出来。
|
|
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 模拟压控振荡器VCO在控制电压Vcont处加了个小的扰动实现频率扰动,再对比输出电压Vo可以算出增益和相位,可惜Mathcad绘图中不能超过5*10 5个点,增大步进时间后当总时间超过0.1S计算会很慢(或者算不出来),不知有没有办法解决?还有就是15版的Max和Min函数您是如何解决的?
|
|
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 绘图现在是...t99,t100,t101... 这样的? 弄成 ...t100,t105,t120... 能么?
Max和Min 我也用不多,有什么问题?
|
|
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | t这样改可能跟改步进σt一样的效果,估计是Mathcad自身的问题,高版本的不知是不是有改进(或者是修改Mathcad参数的高级操作?)。
在求LLC电路Max-Q的帖子中,有一种微分法和另一种Max法,您上传的Max法在15版里用不了(Max函数从来没成功过)后来看到您说你解决了15版的Max问题?
|
|
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 我意思,如果只是绘图点数限制的话,可不可以像下面这样,省点点数,当然插值的直线算不算点数,可不知道了。
Max 的问题解决了,本来应该没问题的。
|
|
|
|
| | | | | 这个小玩意好像又有点问题,看看file里最后的波形:(file 去掉 .txt 便是)
Buck .xmcd.txt
(380.79 KB, 下载次数: 7)
|
|
|
| | | | | | | 怀疑是由电感方程中δt引起的误差
如上图在ve电压小跳变的前后,电感电流iL似乎是不变,正常应该是跟ve电压相似的规律。
减小δt后做了个对比如下:
继续减小δt会提示点数太多无法显示……
(顺便请教个问题,利用反三角函数acos获得的是周期性函数,能否直接得出连续函数?不使用微、积分)
|
|
|
| | | | | | | | | 理论上δt越小越准确,如果是accumulated error,不同的δt,为什么那个bump出现在同一时间。把δt给为0.015T或0.02T,Vcj+1 算式会变红,error。
意思是 f(t) = acos (Φ(t)) ,不用微积分,得出 f(t) ?
|
|
|
| | | | | | | | | | | 问题找到了,跟δt没关系跟周期T有关,bump大约出现在444个周期处。跟周期T有关的只有锯齿波swj函数,经验证这个函数最大值4.96不是5存在一定偏差,重新修正锯齿波函数后bump就没有了。
|
|
|
| | | | | | | | | | | 锯齿波修改后的公式如下:
反三角函数求相位的问题绘图如下:
图中f(t)是已知量目标是求解相位φ(t),用反三角求出的φ(t)是图中蓝色周期信号而原始相位信号是连续的绿色信号,如何快速获得这个连续相位信号?(用微积分可以实现但运算速度太慢)
|
|
|
| | | | | | | | | | | | | 1. 谢谢,用您的这个和我原来的saw(t),bump都是没有了,但启动初期的波形却依然。
2. f(t) 的周期T容易得到吗? 假设φ(t)=m*t,m=2π/T 。
|
|
|
| | | | | | | | | | | | | | |
启动初期的波形是这上图红圈处吗?这个波形是因锯齿波定义区间定义在1~5V(您最开始这么定义的后面的一直也没改过),当ve小于1V时就产生了这种类似随机波。
T周期是未知的变换的T(t)函数,好像可以将三角函数的微积分方程转换成普通方程来求解,还在尝试中。
|
|
|
| | | | | | | | | | | | | | | | | 1. 这些毛刺不应该存在,saw=0~4V,一样有。虽然bump不见了,但Vo有点低频起伏,另δt加长,同样会出error,总是感觉这玩意有暗病。
2. 这是实时地,一边输入f(t),一边输出φ(t) ,像FM解调 ? 用微积分如何解决?
|
|
|
| | | | | | | | | | | | | | | | | | | ve确实有缺陷,唯独它的表达式不是与前一状态相关。
等同于FM解调,微积分法求连续相位是下面的表达式
|
|
|
| | | | | | | | | | | | | | | | | | | | | 1. 这个暂时放下,有空再研究。
2. 有点迂回啊,好弄吗? 怎么觉得f(t)和φ(t)都不是周期性函数。
|
|
|
| | | | | | | | | | | | | | | | | | | | | | | 上面的可能有点问题,另外一种方法是对信号微分后取包络得出FM解调信号,不过如果能利用反三角函数应该可以将噪声也解调出来,我的应用中是期望能完全还原出调制信号包括噪声。
|
|
|
| | | | | | | | | | | | | | | | | | | | | | | | | 全软件实现? 信号包括噪声的 bandwidth 几何?
|
|
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | 先从软件的角度,信号噪声比较关心的是低频噪声,经反三角——微分——取绝对值后结果不错,下面是反三角和包络法的对比
右图红色曲线是原始曲线,绿色的是包络法(包络未取)蓝色曲线是反三角微分法。
如果频率是线性变化或是三角波之类就方便了,可惜应用中的频率是非线性的,微分方程恐怕是避免不了了。
|
|
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 这个PM例子的好处是,f2(t) 的幅值是bounded 的,φ(t) 是differentiable 的 。
|
|
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 向您请教个问题,已知一组曲线如何绘制出其包络线?
比如图中红色曲线原为啁啾波经处理后获得的每周期最大值,最终想得到是蓝色虚线,在Mathcad中要如何处理?可以线性拟合吗?RCD包络检波或是有其它什么方法?
|
|
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Mathcad 有 Regression 和 CurveFitting 功能,不知可否先试试?
|
|
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 这两个功能不知道怎么用help文档也不会看 ,后来又试了一下包络检波电路,之前就试过用的是时间t函数一直算不出了,后来参照您给的这种带下标的方式可以解出来了。
|
|
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 还特地加了-0.0002啊,数值模拟放电过程,挺有意思
|
|
|
|
|