学习了 《晶体管电路设计(上)》收益很大,分析静态工作点是在学校里面就学了,但是要自己设计还真的摸不着头脑。
跟着书上的设计自己折腾,还发现这东西不怎么简单,最后摸清楚三极管的脾性,写了个小软件来辅助计算,速度快多了。
以下软件我在 VS2005 的 win32 console application模式编译运行,很普通的C语言程序。
打算算出来后用multisim仿真,调整必要的参数,效果挺不错的。
#include <stdio.h> #include <stdlib.h> #include <math.h> void main(void) { double av; // 电压增益 double rc,re,rb1, rb2; // 电阻 double vce,vb,ve,vc,vcc; // 电压 double ib,ic,ie,Ib; // 电流 double hfe; double p; // 电源的电压 vcc = 15.0; // 放大电路期待的增益 av = 5; // 管子的放大倍数 hfe = 200; // 本方法是先确定ie,然后确定 re,然后推算其他的办法,但是 vce 其实是不可控的 printf("Method 1\n"); ve = 2; ie = 2; re = ve / ie; rc = re * av; vb = ve + 0.6; ib = ie / 200; Ib = 0.3; rb1 = vb / Ib; rb2 = (vcc - vb) / Ib; vce = vcc - ie*(rc + re); p = vce * ie; printf("ie:%lf,ve:%lf,re:%lf,rc:%lf,rb1:%lf,rb2:%lf,p:%lf\n",ie,ve,re,rc,rb1,rb2, p); // 本方法是先确定 vc ,然后推算其他 printf("Method 2\n"); vc = 9; // vc 在 ve 和 VCC 的中点能得到最大的幅度 ie = 10; // 设定 1ma 电流 Ib = 1; // 偏置电流比基极电流至少大10倍,ie/200 * 10 rc = (vcc - vc) / ie; re = rc / av; ve = re * ie; vb = ve + 0.6; rb1 = vb / Ib; rb2 = (vcc - vb) / Ib; vce = vcc - ie*(rc + re); p = vce * ie; //mW printf("ie:%lf,ve:%lf,re:%lf,rc:%lf,rb1:%lf,rb2:%lf,p:%lf\n",ie,ve,re,rc,rb1,rb2, p); // 以上方法可以选其中一个使用,然后multisim仿真,然后微调。 getchar(); }