|
事情的起因是我打算自己设计一个接收商丘BPC低频时码的接收器,这部分等成熟的时候我再另开帖子
然后在研究放大电路的时候,发现三极管的直流工作点怎么定大部分书都是语焉不详的滑过去了,讲的最有操作性的是通过三极管的输入输出曲线来定,看起来很靠谱,但是找了n个datasheet,貌似没有厂家提供三极管的输入输出曲线。。。没人提供那就自己测吧
最理想的方案是安捷伦4156, 我查了一下二手的也要6000, 不现实。还是自己DIY个简易装置吧,其实只要测试IB/VB/IC/VC就可以了,弄4个万用表就ok,再搞一个信号发生器,输出恒流和恒压,比安捷伦4156便宜多了,但这个信号发生器貌似没有卖的,自己做也比较复杂,我只要看个曲线,还是能简化就简化。那弄个555振荡电路输出锯齿波就行了,相当于电压扫描了,还能测试一下频率特性。正打算干的时候,忽然想起不用那么麻烦,直接用电位器分压就好了,拧一圈就相当于扫描了,也不用搞那么多万用表,直接串上电阻,然后用arduino ADC功能,2个针脚分别测试电阻两端的电压,除一下就是电流,如果三极管直接接在电阻上的话,那三极管的电压也直接读出来了,也就是说2个针脚就可以测出一条线路上的电压电流来。问题是arduino ADC功能有足够的分辨率吗?
从电压上来看,5v/1024=4.9mV, 对于三极管来说足够精细了。
如果用1欧的取样电阻 ,那电流的分辨率就是4.9mA, 这个有点粗。换成10k的取样电阻,分辨率达到0.49uA, 对于IB来说也绝对够了,但5v条件下可能限制了最大电流,起码有可行性,可以测测看,不行再换小一点的电阻。
这样只需要1个arduino, 有8根ADC pin, 可以做4条线路的电流电压测试。再加上2个取样电阻,1个扫IB的电位器就可以搞定了,arduino直接输出到电脑,还免了抄数据的麻烦。
这个程序和电路图都很简单,主要想跟大家分享一下测得的曲线,应该很少能见到。
这是IB/IC曲线,大家都知道三极管是通过小电流控制大电流的,就是从这个曲线得出的结论
这是输入特性曲线,很多估算都是按照VBE=0.6v来估算的,我测得管子是2N4401, 从他的曲线来看,放在0.72左右应该更加合适,这样对应的IB大概是0.07mA, 相当于基极和5v之间串了(5-0.72)/0.00007=61k的电阻
其实从IB/IC曲线来看,无论IB有多小,IC都是线性增加的,有必要放到VBE=0.6v IB=0.07mA的地方吗?我现在的理解是因为输入的是 电压信号,不是电流信号,所以要放在IB随VB明显变化的地方,存疑吧。
这是输出VC随IB变化的曲线,IC与IB是线性关系,那VC与IB显然也是线性关系。从这个曲线可以看出,如果输入是电流的话,输出都是成比例的,没必要设定工作点。
这是VC随VB的变化,如果是电压信号的话,那确实在VB=0.72附近变化明显
这是IC随VB的变化,跟上图其实一个意思
Arduino的程序非常简单,我是用了测3次取平均值的方法,值得注意的是Serial.print对float只输出2位小数,如果直接输出电压那就相当于10mv级别,浪费了ADC的精度。我是乘了1000输出mV为单位的电压。当然输出ADC的值后面再处理也行,但能偷懒还是偷个懒吧,这样直观一些。
int aa[8];
int i, counter;
void setup() {
Serial.begin(9600);
Serial.println("A0-pin(mV) A1-pin(mV) A2-pin(mV) A3-pin(mV) A4-pin(mV) A5-pin(mV) A6-pin(mV) A7-pin(mV)");
}
void loop() {
for (i = 0; i <= 7; i++) {
aa = 0;
}
for (counter = 0; counter <= 2; counter++) {
aa[0] = aa[0] + analogRead(A0);
aa[1] = aa[1] + analogRead(A1);
aa[2] = aa[2] + analogRead(A2);
aa[3] = aa[3] + analogRead(A3);
aa[4] = aa[4] + analogRead(A4);
aa[5] = aa[5] + analogRead(A5);
aa[6] = aa[6] + analogRead(A6);
aa[7] = aa[7] + analogRead(A7);
}
for (i = 0; i <= 7; i++) {
Serial.print(float(aa) * 5 / 1023 / 3 * 1000);
Serial.print(' ');
}
Serial.println();
delay(100);
}
这是电路图,R1可以设定基极的最高电压,免得有些电压比较低的管子击穿了
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
打赏
-
查看全部打赏
|