学习了 《晶体管电路设计(上)》收益很大,分析静态工作点是在学校里面就学了,但是要自己设计还真的摸不着头脑。
跟着书上的设计自己折腾,还发现这东西不怎么简单,最后摸清楚三极管的脾性,写了个小软件来辅助计算,速度快多了。
以下软件我在 VS2005 的 win32 console application模式编译运行,很普通的C语言程序。
打算算出来后用multisim仿真,调整必要的参数,效果挺不错的。
#include
#include
#include
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();
}