new检测电路传递函数分析修正错误版本.docx
《new检测电路传递函数分析修正错误版本.docx》由会员分享,可在线阅读,更多相关《new检测电路传递函数分析修正错误版本.docx(10页珍藏版)》请在冰豆网上搜索。
new检测电路传递函数分析修正错误版本
一、采样电路原理图1
二、电路的传递函数分析1
三、伯德图分析3
四、改变放大倍数传递函数的零极点5
五、使用伯德图分析常数项
7
六、RC滤波部分8
一、采样电路原理图
二、电路的传递函数分析
利用叠加原理,3端的电压为:
注:
是因为H桥驱动、续流时期采样,电流为负。
见采样电路
1端电压:
12端电压等于1端电压,14端电压(在不考虑后续RC滤波的前提下)
三、伯德图分析
使用伯德图分析
3.1首先是
2*3.14*2500=10^4.2
2*3.14*10000=10^4.8
num=[0-1.27-360000];
den=[0.0000046530.940000];
w=logspace(-2,4.2,1000)
bode(num,den,w);
2*3.14*2500=10^4.2
18.8/20=0.9410^0.94=8.71
19.1/20=0.95510^0.955=9.01
相位滞后为-180°,因此为-9
3.2其次是
num=[-0.000014*3.753.75*4];
den=[0.0000564];
w=logspace(-2,4.2,1000)
bode(num,den,w);
11.48/20=0.57410^0.574=3.753.75-2.5=1.25
11.28/20=0.56410^0.564=3.663.66-2.5=1.16
因而,Uout=-9Uin+1.25在低速范围内成立,高速时候Uout=-8.7Uin+1.16
四、改变放大倍数传递函数的零极点
求
的根
b=[0.0000046530.940000];
r=roots(b);
disp(r);
可求出极点为-1.24*10^5-6.9*10^4
主导极点-6.9*10^4
将-6.9*10^4极点移至-2*10^5,将-1.24*10^5极点移至-2.5*10^5。
整理得新的传递函数为:
2*3.14*2500=10^4.2
num=[0-1.27-360000];
den=[0.000001250.3640000];
w=logspace(-2,4.2,1000)
bode(num,den,w);
19.078/20=0.95310^0.953=8.993
可以得出结论,因为右移极点,理论上可以得到更好的高频响应曲线。
同理左移零点,理论上也可以得到更好的高频响应曲线。
对照
与
已知
因为电容C41的变化引起
的变化,相对于
可以忽略不计。
因此右移极点可以通过减小C41实现
取电容C41为150P,其他参数不变。
整理传递函数得:
重新画伯德图:
num=[0-0.4053-360000];
den=[0.000000040.5140000];
w=logspace(-2,4.2,1000)
bode(num,den,w);
可以见,在低速至2.5KHz范围内,放大倍数有改善。
19.1/20=0.95510^0.955=9.01
18.9/20=0.94510^0.945=8.81
相位情况也比较理想。
进一步调整
再次对照
与
已知
取C41为47P
取电容C41为47P,其他参数不变。
整理传递函数得:
num=[0-0.4053-360000];
den=[4/1000000000.3340000];
w=logspace(-2,4.2,1000)
bode(num,den,w);
19.1/20=0.95510^0.955=9.01
19.01/20=0.950510^0.9505=8.93
改善明显
对于10KHz的信号,
num=[0-0.4053-360000];
den=[4/1000000000.3340000];
w=logspace(-2,4.8,1000)
bode(num,den,w);
18.2/20=0.9110^0.91=8.1
效果仍不理想。
改进途径,可进一步减小电容C41的值。
五、使用伯德图分析常数项
num=[0.000016815];
den=[0.0000184];
w=logspace(-2,4.2,1000)
bode(num,den,w);
11.48/20=0.57310^0.573=3.74近似为3.75
六、RC滤波部分
R104应为50欧姆,C65应为20p参照TI文档spraas1bHardwareDesignGuidelinesforTMS320F28xxandTMS320F28xx
传递函数为
num=[01];
den=[0.0000000011];
w=logspace(-2,5,1000)
bode(num,den,w);