现在,大多数有线电视电缆网的放大器都采用集中供电,那么,一个额定容量的供电器究竟可向多少级放大器供电呢? 设一个供电器输出电压、电流的额定值分别潍UE和IE,放大器与放大器间电缆的回路电阻潍R,每个放大器耗电功率潍P,电路图如图1所示。 图1集中供电电路图
图中,放大器AMP1为第一级,AMP1工作电压U1=U0,那么AMP1,AMP2,AMP3,……AMPn各级电压和电流应是: U1=U0 I1=I0 Im1=I0 U2=U1+Im1R=U0+I0R I2=PU2=PU0+I0R Im2=Im1+I2=I1+I2=I0+PU0+I0R U3=U2+Im2R=U2+(I1+I2)R =U0+I0R+(I0+PU0+I0R)R
I3=PU0+I0R+(I0+PU0+I0R)R
Im3=Im2+I3 =I0+PU0+I0R+PU0+I0R+(I0+PU0+I0R)R
…… 对于多级放大器电路,只要各级放大器的所需电压不超过UE,干线电流Imn不超过IE,放大器级数n就是合适的。这里n有一个最大值。
但当n的可取值较大时,上述列式是很复杂的,计算也是相当麻烦的,为此,笔者用VisualFOXPRO6.0编制了一个小程序,可在任何条件下算出n的最大值。 建立表单界面示意图如图2所示: 图2表单界面示意图 上述表单各控件的大小和位置可任意设置,几个控件的程序如下: 表单的load PUBL UE,IE,P,U(100),I(100),IM(100) &&定义内存变量和数组 UE=0.0 &&赋各变量初值 IE=0.0 P=0.0 U=0.0 &&赋各数组初值
I=0.0 IM=0.0 表单的init: &&置各输入框初值 thisform.text1.value=0.0 thisform.text2.value=0.0 thisform.text3.value=0.0 thisform.text4.value=0.0 thisform.text5.value=0.0 “确定”按钮的chick: UE=thisform.text1.value IE= thisform.text2.value P= thisform.text3.value R= thisform.text4.value U0= thisform.text5.value IF UE*IE*P*R*U0>0 &&只有数据输入齐全后,才能运行下面程序 U(1)=U0 I(1)=P/U0 IM(1)=I(1) N=1 FOR N=2 TO 100 &&循环 U(N)=U(N-1)+IM(N-1)*R I(N)=P/U(N) IM(N)=IM(N-1)+I(N) IF U(N)>UE OR IM(N)>IE &&电流或电压已过荷,跳出循环 EXIT ENDIF ENDFOR IF U(1)=UE &&放大器的输入电压等于供电器的输出电压时 N=1 ENDIF IF U(1)>UE &&放大器的输入电压大于供电器的输出电压,不能供电 N=0 ENDIF Thisform.lhs.caption=STR(N,2)+“级” &&显示最大级数N ENDIF
完成以上编程后,运行表单,只要在输入框内输入响应数据,用鼠标点击一下“确定”按钮,正确结果马上就显示在“最大级数”后面。 |