简 介: 在很多交流电应用场合采用整流负载,即交流电通过整流之后带动实际的直流负载。那么此时从整流桥输入端来看,负载的阻抗是多少呢?由于整流过程总是伴随着非线性过程,所以推导求解整流阻抗具有一定的复杂性。本文通过一定的条件简化,研究了全波整流对应的等效阻抗的变化。
关键词
: 整流,阻抗,全波整流
▌01 整流负载阻抗
前几天,为了进行无线电能传输实验,对于整流电路对应的负载阻抗进行了实验研究。具体结果参见: 整流电路对应的阻抗是多少? 。应用全桥电路对无线电能接收线圈输出的高频交流电进行整流,驱动后级的直流负载是大多数接受电路的结构,因此研究全桥整流负载电阻阻抗具有很大的理论和实际意义。
▲ 对应桥整流电路的负载阻抗
根据F. Pellitteri 等人在论文 Experimental test on a Contactless Power Transfer system 给出的公式(4)指出对于全桥负载电阻为时,从桥电路输入端口来看对应的等效电阻为:
在整流电路对应的阻抗是多少?通过对于负载R1=100Ω时,全桥整流电路等效电阻测量为:93Ω左右,这与:
计算出来的理论值相比,实测的电阻偏大。这部分的电阻有可能来自于整流桥电路本身的等效阻抗。那么,问题来了:上面的公式是如何推到出来的呢?
下面尝试一下这个等效的阻抗公式的推导过程。
▌02 全桥整流负载阻抗
1.推导方法
(1)计算原理
求解全桥整流等效电阻采用在整流电路对应的阻抗是多少?测量相同的方式,假设一个带有内阻的正弦高频信号源发送电压。当连接到整流负载之后,测量输出电压,那么整流负载等效电阻为:
▲ 使用带有内阻信号源来测量负载阻抗
都使用信号的有效值。
C_1$,实测整流桥上的电压波形呈现被限钳位的电压波形。
▲ 整流桥中波形
(2)条件简化
为了方便理论推导,做如下的简化假设:
- 假设桥电路中的二极管是理想二极管:正向导通电阻、电压都为0;反向电阻为无穷大;
- 信号的周期远远小于整流之后的负载对应的时间周期;
在上述简化假设条件下,桥电路上的电压波形为梯形正弦波。
▲ 桥电路施加电压波形
。假设在稳态时,整流滤波电容上的电压为。因此,等电压幅值超过时,就被电容上的电压钳位了。
推导出对应的桥电路的等效电阻。
2.推导过程
它对应的有效值为:。
(1)求解E1
的数值。根据前面的假设,根据电容上充电和放电相平衡的原理,确定。
过程进行分析。信号源在时间段,通过对于滤波电容进行充电,充电电荷为:
过程中,滤波电容通过放电,释放电荷:
,以及。可以得到关于的方程:
那么方程变为:
的数值。
相关的数值求解可以参照第三部分的:数值求解E1。
(2)求解正弦梯形波的有效值
已知,。求对应的正弦梯形波的有效值。根据对于周期波形,有效值的定义:
即可。
▲ 求解有效过程
,对应的正弦梯形波的有效值为:
下面给出了不同的E1下对应的波形的有效值。
▲ 对于不同的E1对应波形的有效值
3.归一化计算
为了方便讨论,做以下归一化的假设:
- 信号源的波形为:,因此,信号源的有效值:
- 信号的电阻欧姆,所以负载为时,对应的。
,可以得到等效的电阻为:
到此为止,由于求取E1无法写出具体的解析公式,因此后面针对不同的R1,R0,通过数值求解来分析等效电阻与R1的关系。
▌03 数值求解
1.求解E1
,求解滤波电容上的电压。
根据2.2.1中推导出的E1的方程,方程的积分值为:
▲ 方程左边求解
这是一个随着E1单调低阶的函数,取值范围(0,2)。
,便可以通过二分方法求解出对应的E1的数值解。
时,对应的方程左右分别对应E1的曲线,它们之间的交点就是方程的唯一的解:E1的取值。
▲ 方程左右函数曲线
二分方法求取的E1的程序:
f1 = lambda x: 2*(1-x**2)**0.5 - x*(pi-2*arcsin(x))
def e1func(gama):
leftv = 0
rightv = 1
for i in range(100):
midv = (leftv+rightv)/2
e1 = f1(midv)
e2 = pi * midv / gama
if e1 == e2:
return midv
elif e1 < e2:
rightv = midv
else: leftv = midv
return (leftv+rightv)/2
取值(0,10)范围内,求取的E1的取值为:
▲ 不同的Gama对应的E1的取值
2.归一化条件下计算等效电阻
取值下,所得到的等效电阻。下面给出了R1从0 变化到10范围内,对应的等效电阻取值。
▲ 不同R1取值下对应的等效电阻
从上面曲线可以看出,在很大的范围之内,整流负载的阻抗与实际负载R1之间近似呈现为线性。
由于存在着一定的非线性,所以整理负载阻抗与R1之间的比例与R1的取值有关系。下面给出了对应不同的R1,等效阻抗与R1比值的变化。
▲ 不同R1下对应的等效电阻与R1的比值
由此可见,在 整流电路对应的阻抗是多少? 给出的
应该只是对应某一个特定R1时对应的等效负载与R1的比值。
▌结论
1.渐进关系
通过理论分析,全桥整流电路加上滤波电容以及负载电阻情况下,求解对外的等效电阻。这个等效电阻与实际直流负载电阻R1之间的关系呈现了大体线性的关系。
当负载电阻远远大于信号源的内阻,比如大于10倍以上,等效电阻与R1之间的线性比例大约在0.65左右。
如果负载电阻相对于信号源的内阻比较接近,此时等效电阻与R1之间存在着比较明显的非线性关系。
当负载电阻区趋于无穷大,等效电阻与R1之间的比值趋于1:2。
▲ R1取值非常大时,等效电阻与R1之间的比值曲线
2.当R1趋近于0
有趣的是当R1趋近0, 等效电阻与R1的比值似乎趋近0.9的数值。具体计算的结果大约是0.900314。
,将比值开方:
▲ 当R1趋近于0时,对应的等效电阻与R1的比值
终于出现了。不过这个比值与本文推导过程之间关系细节是什么呢?
好吧,就留下这个开放的问题吧。
▲ 100W 20Ω功率电阻
※ 附录
1.主要求解函数
#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# TEST2.PY -- by Dr. ZhuoQing 2021-02-10
#
# Note:
#============================================================
from headm import *
#------------------------------------------------------------
f1 = lambda x: 2*(1-x**2)**0.5 - x*(pi-2*arcsin(x))
def e1func(gama):
leftv = 0
rightv = 1
for i in range(100):
midv = (leftv+rightv)/2
e1 = f1(midv)
e2 = pi * midv / gama
if e1 == e2:
return midv
elif e1 < e2:
rightv = midv
else: leftv = midv
return (leftv+rightv)/2
#------------------------------------------------------------
def e0func(e):
t1 = arcsin(e)
v1 = (t1-e*(1-e**2)**0.5)/pi
v2 = 2*e**2*(pi/2-t1)/pi
return sqrt(v1+v2)
#------------------------------------------------------------
def reqfunc(e):
return e/(sqrt(2)/2-e)
#------------------------------------------------------------
r1 = linspace(0.01, 10, 100)
e1 = [e1func(g) for g in r1]
e0 = [e0func(e) for e in e1]
req = [reqfunc(e) for e in e0]
ratio = [v1/v2 for v1,v2 in zip(req, r1)]
printf(req)
plt.plot(r1, ratio)
plt.xlabel("R1")
plt.ylabel("Ratio")
plt.grid(True)
plt.tight_layout()
plt.show()
#------------------------------------------------------------
# END OF FILE : TEST2.PY
#============================================================
2.求解E1方程的动图
E1 = linspace(0, 1, 100)
e1left =[f1(v) for v in E1]
pltgif = PlotGIF()
plt.clf()
plt.draw()
plt.pause(.5)
for g in linspace(0.01, 10, 100):
e1right = [pi/g * v for v in E1]
x = e1func(g)
y = f1(x)
data = array([[x, y],[x, -0.05]])
plt.clf()
plt.plot(E1, e1left, label='EQ. Left')
plt.plot(E1, e1right, label='EQ. Right')
plt.xlabel("E1")
plt.ylabel("EQ")
plt.grid(True)
plt.legend(loc="upper right")
plt.axis([0, 1, -0.05, 2.1])
plt.title("Gama:%5.2f"%g)
plt.scatter(data[:,0], data[:,1], s=35, c='red')
plt.plot(data[:,0], data[:,1], 'y--', linewidth=1)
plt.text(x, y, '(%3.2f,%3.2f)'%(x,y))
plt.tight_layout()
plt.draw()
plt.pause(.001)
pltgif.append(plt)
pltgif.save(r'd:\temp\1.gif')
printf('\a')