學習了 《晶體管電路設計(上)》收益很大,分析靜態工作點是在學校裏面就學了,但是要自己設計還真的摸不着頭腦。
跟着書上的設計自己折騰,還發現這東西不怎麼簡單,最後摸清楚三極管的脾性,寫了個小軟件來輔助計算,速度快多了。
以下軟件我在 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();
}