基于算法配对的电子管特性图示仪
经过长时间,缓慢的准备,电子管图示仪终于初具眉目了。电子管图示仪,除了比较早期的纯模拟电路的设备外,采样数字化电路进行测量的设备也有不少。在业务爱好者领域,差不多10多年前,荷兰工程师Ronald制作的uTracer系列算非常经典了。他利用开关电路给电容充电,形成高压,再利用电容放电测量电子管特性曲线。电路设计非常新颖巧妙。后续也有不少仿制的版本。我从他的电路中学习了很多实际的经验,并将部分思路灵活应用到了我的电路中。这在我后面介绍硬件电路的时候会提到。
我之前也做过一台全手动的电子管图示仪。通过集成若干组电源,以手工调整电压,测量每个工作点,用Excel记录,也可以实现电子管特性曲线的测量,但是效率奇低。当我第一次购买Ronald的套件,制作完成uTracer V3图示仪, 看着特性曲线一条,一条自动地生成,内心无比激动。测量完成后,还可以分析特定工作点的参数。对于研究电子管特性,设计电子管电路都有极大的帮助。
在使用了一段时间后,感觉图示仪在使用操作方面,还是不够方便,特别是希望进行后期数据分析,进行多管比较,配对方面,目前这些图示仪还是不方便。于是就有了将测量结果存入数据库,通过算法进行特性分析,配对的想法。
一旦开始实施,发现是一个漫长的工程。几乎耗费了所有的业余时间。不过能按照自己的项目,实现期望的目标,还是乐在其中。
在制作电子管图示仪之前,其实是先做的不需要太高电压的《基于算法配对的晶体管特性图示仪》。是希望把基本电路搞好的基础上,把最核心的软件框架,算法思路梳理清楚,然后再考虑搞高压控制电路,实现电子管图示仪。
后续会先介绍硬件电路,然后再介绍软件设计思路,以及核心配对算法的思路。
1 硬件电路介绍
概述
目前制作的《基于算法配对的电子管特性图示仪》工程版,可以测量直热和旁热式的二极管,三极管和四极管。基本特性包括:
- 灯丝电源(VF):最大电流3A,电压1.2~13V可调
- 栅极电源(VG):正向电压:最大电流10mA, 电压0~10V可调;负向电压:0~-70V可调,电流小于1mA
- 阳极电源(VA):电压0~400V可调,最大电流0.5A
- 第二栅极电源(VG2):电压0~400V可调,最大电流0.5A
以下是测量主界面和部分管子的测量结果。
6N1的输出特性曲线IaVa和转移特性曲线IaVg。在特性曲线上可以查看某点的参数。
6J1的IaVa曲线和超线性接法的曲线。
6P6P的输出特性曲线和三极管接法的特性曲线
2A3的输出特性曲线和转移特性曲线
分单元硬件电路
硬件电路的核心就是针对灯丝电源,栅极电源,阳极电源,第二栅极电源,实现电压输出和电压控制,并测量输出电流。其中阳极电源(VA)和第二栅极电源(VG2)采用完全一样的电路架构。电流测量主要是针对阳极电源(VA)和第二栅极电源(VG2)。
灯丝电源(VF)
灯丝电源的主要特点是低电压,大电流。要实现电压从1.2V到12.6V可调,最大电流3A,如果使用传统的线性可调稳压电路,在测量低灯丝电压,大工作电流的管子时,对电压调整管是巨大的考验。
例如测量2A3,灯丝电压2.5V,电流2.5A。假设输入电压16V,那么调整管的功耗P=(16-2.5)*2.5=33.75W,调整管需要巨大的散热片,也是巨大的能源浪费。
因此考虑使用LM2596ADJ开关电源芯片,通过MCU控制输出电压,最大电流可以达到3A。通过MCU控制LM2596ADJ的基本电路如下图:
图
LM2596ADJ的输出电压公式是Vo=1.23*(1+R2/R1)。在R2,R1的节点上加入R3,通过控制作用的R3上的电压,就可以实现输出电压的控制。
计算过程如下:
根据要输出的电压$$V_{O U T}$$,可以计算出$$V_{p w m}$$,从而计算出MCU控制PWM输出的占空比。
令可以通过下表,计算出PWM输出0和4V
时,对应的输出电压为0.09~14.76V
由MCU生成PWM信号,经过RC滤波和运放隔离,生成R3的控制电压。MCU的PWM信号脉宽占比从0~100%,经过RC滤波后,得到0~5V的电压,由于生成PWM信号的寄存器只有8bit,所以电压分辨率为:$$5 \div 2^{8} \approx 2 0 m v$$。作为灯丝的电压控制,足够了。
电路中三极管T1的作用是控制LM2596ADJ的工作状态。当MCU的GPIO输出高电平,T1导通,LM2596ADJ将被关闭;当MCU输出低电平,T1截止,LM2596ADJ可以正常工作。
栅极电源(VG)
电子管栅极控制电压通常是负电压,电压范围从0V到负几十伏,甚至上百伏。当给栅极加负电压时,输入阻抗很高,几乎不用考虑栅极电流的影响。但有些三极管栅极也可以施加0伏到几伏的正向偏压。这是必须要为栅极提供mA级的偏置电流。
因此,对于栅极电压VG要求可以是:
- 需要一个可以提供负高压的电源,对输出电流没有要求,内阻可以比较高
- 需要一个正电源,可以是运放工作的正电压源,不用单独设计
- 需要一个控制电路,控制电压输出范围,例如从+10V到-60V
- 当提供正电压输出时,要有一定的电流输出能力
- 当提供负电压输出时,可以不用考虑电流输出能力
首先看负高压生成电路,可以考虑用PWM控制一个开关电路,输出负电压。这里参考了Ronald设计的图示仪中的负高压生成电路。Ronald比较了用BJT和MOS管做开关的特性,如下图:
从输出电流曲线可以看出用MOS管做开关管,性能要好于BJT晶体管。在不增加稳压电路的情况下,输出电压随输出电流增加,很快下降。好在电子管栅极负偏压时,几乎不消耗电流,可以不用考虑稳压。
在实际测试的时候,发现用BJT电路中的开关管温度很高,MOS虽然也比较热,但还可以接受。应该是和我的MCU输出PWM信号的频率,波形质量有关。当MOS管串接稳压管的时候,还比较容易自激。
最后选择了MOS管,并在栅极串接电阻的形式,如下图:
为了输出相对稳定的电压,还需要对输出的负压进行采样,计算偏差,并实时控制开关管的导通脉冲。在SMU中通过一个定时任务,检测输出的电压,根据偏差量,持续调整输出到开关管的导通脉冲,稳定输出。实际电路可以输出约80V的负电压。基本满足要求。
然后是栅极电压的输出控制电路。在Ronald设计的V3版电子管图示仪中,提供了一个非常有意思的方案。基本结构如下:
图中四个比例电阻(两个10R,两个R)和运放构成一个10倍比例放大器。T1和T2构成电流镜,将运放的输出和电路的输出进行了隔离。电阻R2接负高压,通过控制流过R2的电流,就可以控制Vout端的电压。
电阻R1决定了输出电流。当电流镜像到T2时,可以在电阻R2上产生负压。电阻R2的取值至少要大于最大负压/T2的最大输出电流,以确保输出足够的负压,另外,还要考虑满足功率要求。
按照上述电路参数,在输入0~5V电压时,可以输出19.5V~-30.5V的电压。
基于上述原理,在我的电路中,对电阻和工作电源进行了调整,可以输出+10V~-70V范围的栅极电压。电路如下图:
VG的控制电路包括上,下两部分。下半部分是生成VG负高压的电路,上半部分是控制VG电压输出的电路。
在VG负高压生成电路中,MCU产生的PWM信号控制T3的导通,从而控制T4的导通为电感L1充电。当T3截止,同时截止T4时,由于L1上电流不能突变,L1上的电流将继续通过C1,C2和D1形成回路,给C1C2充电,从而形成负压VGHT。
R12,R13组成的分压网络用来检测VGHT的电压。在MCU中运行电压检测定时程序,通过一路ADC检测VGHT,如果达到或超过预定值,就停止输出PWM_VG脉冲,如果电压低于预定值,则输出PWM脉冲。
VG电压输出控制部分,由运放U1和电阻R1,R2,R3,R4构成15倍的比例放大器,T1,T2组成电流镜,将运放的输出电流,通过电阻R6转换成输出电压。
VG控制电路的工作电压是+12V,比例电阻的比例是150k/10k=15倍,根据之前的分析,输出电压为:
VgOut = 12-15*Vin
输入电压Vin由DAC芯片U2产生。Vin的范围是0~5V,对应的输出电压范围是:+12V~-63V。
阳极电源(VA)和第二栅极电源(VG2)
阳极和第二栅极电源的需求基本一致。可以用同样的电路结构,阳极电流更大。下面主要介绍阳极电源VA的设计思路。
在开始设计VA电路的时候,也参考了Ronald的方案。Ronald电子管图示仪最有特色的就应该是VA高压生成和控制电路了。用非常简单的电容充放电结构,以较低的成本,就可以生成数百到上千伏的测量电压。虽然我有意没有使用这个方案,但研究一下,还是获益匪浅。下面只是定性地进行粗略分析。详细内容可以参考Ronald的网站。
其基本原理是通过控制脉冲给电容充电,生成从低到高的测量电压。完成每次充电,提升电压后,打开控制开关,让电容为电子管提供VA电压,并测量此时的电流。
高压生成和输出控制电路的基本原理如下图:
其中L1,T1和D1构成了脉冲开关电路。通过控制T1打开的时间和次数,可以控制给C1的充电量,从而控制C1上的电压。C1上的电压V=充电量/电容量。因此C1上的电压不仅和充电量有关,还和C1的容量有关。电解电容容量通常有10%~20%的误差,因此,如果要比较准确地控制C1上的电压,还需要通过MCU对C1电压进行采样,计算偏差,并进一步控制T1开关,形成一个电压控制回路。
当C1上的电压达到预设电压后,通过控制光耦OS1,打开T3和T4组成的开关,在Vout输出此时C1上的电压。
为了确保T3/T4可以导通并进入深度饱和状态,需要给T3/T4的发射极提供足够的电流。这个电流是通过C2提供的。而给C2充电的回路是由R1和T2提供的。当T2导通时,给C1充电的电流也同时给C2充电。稳压管D2确保了C2上的电压不会太高,只要可以确保打开T3/T4就足够了。电阻R3,R3组成的分压电路可以控制加载在T3和T4上的电流,并在OC1关断时,确保T3/T4的可靠截止。
T2, R1和D2除了给C2充电外,还有一个重要作用就是给C1放电。当T1截止时,打开T2,通过R1和D2,就可以释放C1上的电荷,让高压回零。
除了给电子管阳极提供测量高压外,我们还需要测量阳极电流。在Ronald的方案中,也采样了非常巧妙的设计。下图是包含电流检测电路的高压控制电路。
电路中,通过在C1的接地端串入一个电流采样电阻R14,再通过运放A1进行反向,就可以实现电流的低端采样,从而避免了高端采样的共模电压干扰问题。通过测量Vcur,除以R14,就可以计算阳极电流。
Ronald的高压控制电路需要对充电开关T1,放电开关T2,高压开关T3/T4进行精确的控制,实现高压输出和电流测量。因此对MCU的软件有比较高的要求。
这个方案虽然比较巧妙,但也有一些问题是值得讨论的。
-
通过电容放电提供测量用的阳极高压,存在一定的误差。虽然Ronald对这个问题有专门论述,认为测量时间很短,影响不大。但还是需要进行讨论的。电子管在不同的状态下,阳极电流不同,意味着测量期间,高压电容的放电电流是不确定的,电压下降的速度也是不确定的,这会带来不确定性。另外电容放电时,初始时间里电压变化是最快的,这也让人担心测量电压会不稳定。
-
测量速度的问题。通过一定频率的脉冲给高压电容充电,同时监测电容上的电压,并调整充电脉冲,这个过程是在MCU软件控制下进行的,需要一定的时间。这个调整时间会让整体测量速度比较慢。
-
高压电容上的电压只能通过一次一次的充电,逐步提高,意味这测量电压只能依次增大。如果要随意设置,速度会更慢。当然,这点对于测量曲线来说,不是什么大的问题。
我在设计阳极电压方案时,没有使用Ronald的电路架构,一方面是不想简单的重复,另一方面也有其他的一些考虑:
-
成品的直接输出数百伏高压的开关电源也可以比较容易获得,成本也是可以接受的。
-
电子管的阳极电流最大也就数百毫安,不会太大。这样使用线性稳压电源的思路,通过调整管控制输出几伏到数百伏的电压,也是可考虑的方案。同时还能提供稳定的测试电压
-
这个方案的难点在于如何安全可靠地控制调整管,以及方便地测量电流
高压控制电路的方案参考了经典的源测量单元(SMU)的输出控制电路。采用全浮地的电路架构。全浮地的恒压恒流电路在天时利公司的一篇专利里有详细描述。而且早期的天时利SMU提供了全套图纸,对研究电路和维修非常有价值。
我是在参考了SMU输出级电路后,考虑使用全浮地的方案,但对电路进行了大幅度的简化,只保留了单极性(只输出正电压)的恒压和电流测量部分。按照测量电子管的需要,对电路进行了重新设计。
全浮地高压控制电路的基本原理如下图所示:
虚框内的电路包括完整的电压/电流驱动,电压负反馈环路以及输出电流测量点。 这部分电路的参考地是Q1和Q2发射极的输出点。这样虚框内的电路就完全跟随输出电压的高低而升降:
1)电压放大:
运放U1.4和C1, R3组成一个积分电路,作为电压驱动部分。这个电路可以看成一个高增益的电压放大器。当A点电位向正向(相对于浮地FGND)偏移时,运放输出高电平,驱动Q1导通,Q2截至,输出电压向高压VHT+移动,此时输出电压VOUT相对于外部地(GND)升高,输出正电压。
当A点电位向负向(相对于浮低FGND)偏移时,运放输出低电平,驱动Q2导通,Q1截至,输出电压向VHT-移动,此时VOUT相对于外部地(GND)电压降低,输出负电压。
电路中A点电位是由输入电压VIN在R1上的压降,反馈环路电压B在R2上的压降叠加而成。通过反馈环路,确保B点电压和VIN方向相反,大小和R2,R1成反比比,即VB:VIN=R1:R2,就可以保证A电压为零,此时输出电压VOUT=V(FGND)。
2)反馈环路:
由运放U1.1, U1.2和U1.3,及外围电阻组成的反馈环路是输出电压控制的关键部分。反馈环路确定了输出电压VOUT相关对外部地(GND)高低,也是确保电路稳定性的关键部分。
运放U1.3对VOUT进行缓冲隔离。运放的输出电压加在电阻R5上。电阻R5连接R6,并连接的外部地GND上。当VOUT升高时,由于运放U1.3的输出电压跟随VOUT,因此会在R5+R6对地GND产生电流。电流在R5上产生的压降,被运放U1.2隔离后,和U1.3的输出一起进入U1.1组成的1倍反向差分放大器(R7=R8=R9=R10)。这样R5上的压降就被反向传递到B点。
电阻R5上的电流和R6是相同的。控制R5和R6的比例,就可以控制输出电压。
根据前面电压放大部分的说明,电阻R1和R2可以控制VIN和B点电压的比例。因此电路的整体增益可以用下式表示:
\[A = \frac{R 2}{R 1} \times \frac{R 6}{R 5} + 1 \]
3)功率输出和电流采样
功率输出部分简化成VHT+, VHT-,Q1和Q2了。当电压很高时,例如数百甚至上千伏时(天时利的SMU高压可以到1200V),Q1和Q2就需要通过堆叠的方式进行扩展了。
电子管图示仪的阳极电压,只需要正向电压。因此电路中只保留了VHT+和Q1部分。
电阻Rs是电流采样电阻。通过测量运放U1.3的输出电压MI,就可以测量输出电流。由于电路的地FGND就是Q1和Q2的输出点,电阻Rs一端接FGND,因此其上的电压没有共模干扰,可以比较容易测量其电压,并转换成输出电流。
通过测量Rs上的电压,还可以判断是否超过测量量程。
例如设定电流测量的ADC的最大输出电压是5V,那么Rs上的电压最大只能是5V。当
V(MI)大于5V时,说出当前测量量程溢出了,此时要控制将输入电压VIN强行拉低,以免Rs上的电压过高,损坏反馈环路。
4)关于电路稳定性
这个电路的反馈环路串接了三个运放,会带来时延,导致电路不稳定。需要仔细调整相位补偿,也需要增加必要的吸收网络。
实际的全浮地高压驱动电路比上面的示意图要复杂一些。在实际电路中,需要将将高压输出的DA电路,输出电压控制环路,电流采样电路,电流AD转换电路,以及运放和ADC的电源,全部进行隔离。同时还要考虑过量程的保护,相位补偿等。下图是电路的参考架构:
虚框内是完整的浮地电路部分。这部分电路的隔离包括电源隔离和信号隔离。电源隔离通过DCDC隔离电源U20实现,将12V电源,转换成正负12V,供隔离区的运放使用,再在隔离区内转换成5V电源,给ADC和信号隔离芯片供电。
信号隔离是U10实现。U10是I2C总线隔离芯片。通过隔离的I2C总线,MCU可以访问隔离区的AD(U9)和DA(U17)控制器。
上图中U1.1和外围电路组成过量程保护电路。当U35.4测量的电流采样电压超过5V时,会强行拉低U1.4的输出,确保输出电压不再升高,输出电流也不再增加。
整合好的工程机
整体电路板
将灯丝,栅压,阳极,第二栅极电源,以及MCU控制部分集成在一块电路板上。整体结构如下:
-
为外部电源输入和变换部分
外部输入两路电源。
一路16V是主电源。一方面经过变换生成正负12V电源,给主板上运放供电;12V电源又进一步生成5V电源,给MCU,DAC和数字芯片供电。另一方面,主电源也给灯丝电源,栅极电源供电
另一路是400V高压。分别给阳极电压和第二栅极电压控制电路供电。
-
灯丝电源和电压控制部分
灯丝电源通过LM2596ADJ,生成1V到14V的可调电压,最大输出电流3A。给灯丝供电。
电子管灯丝工作电流一般比较大。连接灯丝电源端到电子管的导线如果存在压降,会导致实际的输出电压降低。特别是需要电压,大电流供电的电子管。因此在灯丝电路输出端采用了四线连接方式,给灯丝增加了测量通路。MCU会实时监测加载在电子管上的灯丝电压,按照目标电压进行动态调整。如果出现当前值和目标值偏差过大,MCU会及时关闭灯丝电路。
灯丝电压的控制,是由MCU输出PWM,再通过简单的滤波得到的。虽然精度没那么高,但在控制灯丝电压方面,应该是够用了。
灯丝电路的输出端,安装了二极管和稳压管组成的保护电路,仿制高压误接入导致电路损坏。
-
栅极电源和电源控制部分
栅极电源由MCU产生定时脉冲,控制BOOST电路产生负电压。作为栅极电流镜的负电源。正12V作为电流镜的正电源。
由MCU控制外部DAC生成栅极电压控制信号,驱动电流镜电路输出栅极电压。
栅极驱动电路的输出端,安装了阻尼电阻,防止测量的时候电子管产生自激。输出端也安装了二极管和稳压管组成的保护电路,仿制高压误接入导致电路损坏。
-
阳极电压控制部分
红框内阳极电压部分是全浮地的隔离控制部分。
输入端有0.5A的保险丝,起到短路保护。在各个电流检测量程内,也有过量程保护电路。同时也是电路短路保护的一部分。例如:如果当前测量量程是5mA,如果输出端短路,那么电路最多输出5mA电流。
输出功率管由两个IGBT和一个功率晶体管堆叠组成,确保了输出的稳定可靠。
由于采用了浮地结构,可以有效的利用电源电压范围,实现轨到轨的输出。阳极供电电压是400V,实际输出的最高电压可以到399V。这是因为,输出功率管的驱动电路参考地是功率管发射极。驱动电路的工作电压是正负12伏。所以驱动信号最高是输出电压+12V,这个就可以很容易让功率管达到深度饱和。充分利用电源电压。
阳极电压的输出端增加了隔离二极管,仿制阳极和第二栅极电压误接触,损害电路。但是这个隔离二极管会造成输出电压约0.7V的降低,需要在软件中考虑。
-
第二栅极电压控制部分
第二栅极电压和阳极电压完全一样,就不再赘述。
-
MCU及串口控制部分
- MCU部分采用了通用的产品。主要是实现以下功能:
- 和电脑的串口通信
- 通过定时任务生成栅极伏高压
- 通过生成PWM,控制灯丝电压,并通过定时任务检测灯丝电压,进行动态调整
- 通过控制外部DAC,输出栅极电压
- 通过控制外部DAC和ADC,输出阳极和第二栅极电压,并测量电流
到目前为止的工程机
选用了现成的开关电源作为主电源。和厂家沟通,希望输出一路16V 3A, 一路500V 0.5A。但可惜厂家只能提供400V的。因此目前电路的最高电压只能到400V。
找厂家帮忙做了一个外壳,可以把电源和主电路板集成到一起。工程机的内部结构如下:
为了便于测量,工程机的面板,用PCB制作,可以安装不同的电子管座,通过导线连接管脚和图示仪的输出。如下图。
基于算法配对的电子管图示仪的硬件部分,暂时先介绍这些。感谢海版主和各位烧友给予的宝贵的建议。特别是扩展测量电压,栅极电压范围,提高栅极电压控制能力方面,在后续版本中,会进一步考虑优化。也希望和各位烧友,论坛前辈进行更多的交流和讨论。
就像我前面提到的,只用图示仪看曲线是不够的,重点是后续的应用。这部分需要靠电脑端的应用软件实现。应用软件不是仅仅实现测量控制和曲线展现。更需要管理电子管,管理测量结果,提供分析功能,配对功能等。应用软件复杂度,其实比硬件电路还要高。
后续将重点介绍应用软件部分的思路。
2 应用软件设计
概述
应用软件还是使用了传统的开发方式,独立运行在电脑侧。基本功能是用于和图示仪上的SMU通信,控制图示仪测量电子管特性曲线,显示测量结果,并可以对图示仪进行校准等操作。
在完成基本的测量后,应用软件将测量结果保存在数据库中,后续可以再调出来进行研究,分析和比较。
为了在电脑中管理测量结果,首先要建立电子管的数据库。为每个要测量的电子管建立唯一的编号,后续测量的结果都和这个编号关联。也可以通过这个编号,查询和修改电子管信息,并进行重复测量。
应用软件除了管理电子管信息和测量结果,还支持基本特性分析,失真度分析,配对筛选等操作。
基于测量结果,软件可以计算测量区域内某个工作点的参数,例如内阻,跨导等。这个工作点可以在已经测量的曲线上,也可以是测量区域内任意一点。
在软件中,建立了三极管和四极管的共阴放大电路的模型。基于实际测量的特性曲线,通过设定工作电压,工作点,负载,反馈,输入信号动态范围等参数,软件可以计算此时电路的转移特性,放大倍数,失真度THD等参数,辅助进行电路模拟分析。
此外,经常需要做电子管配对的操作。传统的配对方法,通常是看特定工作电压下,比较屏流的大小。只是单一点的测量。如果用图示仪,需要同时测量两个管,显示特性曲线后,靠人眼识别匹配程度。效率极低,匹配度也不能量化表示。在这个应用软件里,只需一次性测量一批电子管子,然后点击"配对"按钮,系统自动计算这批管中两两之间的相似度,并把满足相似度的管子筛选成不同的组。真正实现"一键配对"。
后面将分模块介绍应用软件的功能。
管理电子管信息
管理电子管信息就是要先在系统中创建要测量电子管的型号,然后在对要测量的电子管创建编号。通过下面的电子管信息数据模型,可以了解应用软件是如何存储电子管信息以及测量结果的。
2.2.1电子管信息数据模型
数据模型主要包括两部分。第一部分是电子管型号部分。第二部分是元件及曲线测量结果部分。基于这个模型,可以生成数据库表结构,存放型号,元件和测量结果。
1)电子管型号
系统可以保存的电子管包括二级管,三极管,四极管,以及双二极管,双三极管管,三/四极复合管。系统假设每个电子管有一组灯丝,包括两个灯丝引脚,一个灯丝电压参数。有些管的灯丝是带中间抽头的两段灯丝,可以并联和串联。在建立这种型号的管子时,尽量选择串联方式,记录灯丝两端的引脚和需要的灯丝电压。
对于复合管,将按照二极管,和三极管拆成两个元件。为了保持数据完整性,单三极管和四极管也都包含一个三极管或四极管子元件。系统可以测量的子元件类型包括二极管,三极管和四极管。
针对每个子元件,要定义阳极,栅极,阴极,第二栅极(仅对四极管)引脚,最大电压和最大耗散功率,便于测量的时候做参考。还可以定义每类管子不太特性曲线的缺省测量条件。这样就不用每此测量都要手工输入测量条件。
2)元件和特性曲线信息
元件记录了要测量的每个电子管编号。对于复合管,会自动按照子元件的类型在电子管编号后加序号,识别是第一个子元件,还是第二个子元件。
特性曲线和测量点记录了每次的测量结果。只要不删除,所有测量结果都保存在这两个数据结构中。
2.2.2创建电子管型号
创建电子型号的操作界面,在应用软件的管理元件信息模块中。操作界面如下:
首先输入电子管的型号,然后选择类型。目前支持的类型包括二极管,三极管,四极管,双二极管,双三极管,三/四极复合管。
然后输入灯丝电压和灯丝的引脚。有些管的灯丝是带中间抽头的两段灯丝,可以并联和串联。在建立这种型号的管子时,尽量选择串联方式,记录灯丝两端的引脚和需要的灯丝电压。
根据现在的电子管类型,需要进一步输入元件的引脚,功耗和最高电压等信息。对于双二极管,双三极管,三/四极复合管,要分别输入两个子元件的引脚和功耗,最大电压等信息。
为了简化测量过程上测量条件的输入。在创建型号的时候,可以针对可以测量的每类曲线,设置默认的测量条件。
在界面中先选择曲线,然后根据曲线的Vg,Va,Vg2等条件,输入测量默认测量条件。
输入完成后,点击确认,就可以创建好型号。
2.2.3 创建电子管
创建好型号后,就可以继续创建该型号下的电子管。创建界面非常简单,入下图:
创建电子管的关键是为每个要测量的电子管创建编号。编号记录了我们要测量的每个电子管。为了确保我们要测量的电子管和数据库里的电子管编号可以一一对应起来,需要对编号进行仔细的规划。可以先在被测的电子管上贴好标签,按顺序编号。然后再在系统里生成这些编号。以后测量的时候,严格遵守实际测量的电子编号和系统中当前管的编号一致。
测量特性曲线
在数据库里创建了电子管后,就可以开始测量了。测量的主界面如下:
测量过程遵循"把大象装入冰箱"的三个步骤:1)选择要测量的电子管;2)设置测量条件;3)测量;
2.3.1选择要测量的电子管
在主界面的左上部分是输入电子管编号,或者选择型号,然后查询电子管的界面。
可以选择型号,然后点击查询。将在元件列表中显示库中所有这种型号的元件。
也可以输入元件编号,可以只输入不完整的编号,然后点击查询,系统将按照模糊匹配的方式查询所有匹配的元件,显示在元件列表中。如果选择了精确匹配选项,将不支持模糊匹配查询。
在查询到的元件列表上,选择一个要测量的元件,此时元件引脚的基本信息,会显示在界面上方测量条件区域。可以根据引脚信息,链接元件引脚和测量端子。
同时该元件所对应的灯丝电压,也会显示在测量条件区域。在连接好元件引脚和测量端子后,可以点击启动灯丝按钮,点亮灯丝。
2.3.2设置测量条件
在选定好被测元件,点亮灯丝后,就可以选择要测量的曲线,并设置测量条件了。
通常在灯丝点亮后,最好等几分钟,等电子管充分热起来后再测量。
在界面上方测量条件区域,通过下拉框的方式选择要测量的曲线。如果我们在创建型号的时候,针对该曲线输入的默认测量条件,那么这些测量条件就会在右侧显示出来,可以手工调整,也可以不更改,直接测量。
需要说明的是,关于最大功率限制。该条件的默认值是根据创建电子管时设定的最大阳极功耗设定的。这个值是电子管可以长时间工作的最大值,但是短时间超过是没有关系的。为了更充分地测量曲线特性,可以将最大功耗设为大于手册值的50%~100%。
2.3.3测量并保存结果
设定好参数后,点击开始按钮,就可以测量了。
曲线测量完成后,系统默认自动保存到数据库。
下次查询该管的时候,就可以看到测量曲线了。
查询和操作特性曲线
查询和操作特性曲线主要包括从数据库中查询已经创建的电子管,及测量曲线,并在界面上控制显示曲线,及显示测量范围内某个工作点的参数。
2.4.1查询和导出测量结果
在测量主界面,左上角选择电子管型号,或者输出电子管编号,然后点击查询。在左侧列表中会显示数据库中匹配的电子管及之前的测量曲线。
左侧列表中,有导出按钮,可以将查询出的电子管及曲线的测量结果按csv格式导出。
2.4.2显示曲线
显示曲线包括两部分。一部分是在元件列表中选择要显示的曲线;另一部分是在曲线画布上控制显示的放大,缩小等。
在元件列表上,选中某条曲线,画布上就可以按照默认的方式显示曲线,可以通过参数控制是否要显示测量点标示,线型及颜色;
也可以选择显示相同测量条件的全部曲线。这样可以比较不同管在同样测量条件下的差异。
在画布中,有如下的一些小工具,可以控制显示的放大和缩小等
2.4.3显示特性参数
在显示出曲线后,可以在曲线测量范围内,显示任意一点的特性参数。如果下图,显示的是6P6P的输出特性曲线。可以将鼠标移动到区域内任意一点(不一定要在曲线上),点击鼠标右键,弹出菜单,可以选择显示参数,就可以显示出当前点的电压,电流,内阻和gm等参数。
显示特性参数是应用软件的主要优点之一。实现的思路如下图:
基本思路是通过拟合算法,求出任意点所在的输出特性曲线和转移特性曲线,然后输出特性曲线求导数,取倒数,就是内阻;对转移特性曲线就导数,就是gm。例如要求上图A中点P的参数,具体包括三个步骤:
-
规范化测量数据:
上图A是原始测量的曲线。虽然每条曲线都是在输出同样的Va条件下测量,只是Vg不同,但实际Va输出还是有些差异。
受最大测量功率限制,不同曲线实际测量的点数量也不完全相同。
所以需要按照每条曲线的实际测量数据,建立拟合函数;然后将每条曲线的边界扩展对齐,生成规范化的曲线族,如上图中的B。图中虚线部分是补充出来的部分。
-
生成P点的输出特性曲线和转移特性曲线:
在上图B中可以看,曲线族横向的点,构成了输出特性曲线族;曲线族的纵向点构成的曲线,其实就是转移特性曲线族;
利用横向点的数据进行拟合,就可以生成P点的输出特性曲线。
利用纵向点的数据进行拟合,就可以生成P点的转移特性曲线。
模拟生成的P点曲线如上图C
-
求P点的内阻rs和跨导gm
电子管的rs和gm都是动态特性,理论上,不同的工作点,参数都不同。
通过对经过P点的输出特性曲线,求P点的导数,然后再取导数,就可以到达P点的内阻rs
通过对经过P点的转移特性曲线,求P点的导数,就可以得到P点的跨导gm
参数显示结果如上图D
基于特性曲线的失真度分析
计算电路失真度,最权威的工具当然是电路仿真工具,Multisim,LTSpice等。但是这些工具中电子管的模型比较有限,往往不能满足要求。也有一些工具,可以对手册上电子管的曲线采样,生成Spice模型,然后在电路仿真工具中使用。这种方法,使用的是手册上的标准曲线,而实际的电子管特性曲线和手册上的曲线还是有一定的偏差,同一型号的电子管之间,差异也比较大。这些情况,导致用电路仿真工具的模拟计算结果还是不能很好地了解自己手头电子管的特性。
利用图示仪测量的实际曲线,结合典型的放大电路,通过数值计算的方式,模拟电路工作情况,计算在不同动态范围,负载,反馈系数的情况下,定量分析电路的失真度,对于了解电路工作情况,了解具体某个电子管的特性,还是有一定帮助的。
以下就是基于共阴放大电路,利用电子管实际测量结果,进行电路失真度分析的应用软件介绍。
-
构建共阴放大电路
以四极管6P6P为例,在软件中构建的共阴放大电路如下图:
电路采用自给偏压的方式。由阴极电流经电阻Rk1+Rk2转换为电压,为电子管提供静态工作偏压。电容Ck可以旁路Rk2上的交流信号,减少交流负反馈量。调整Rk1,Rk2的阻值,可以控制电子管的偏压和交流负反馈的量。
VHT是电路的实际工作电压,需要根据电路的实际情况设置。VG2由测量特性曲线是设置的VG2确定,不用再设置。
电阻Ra是静态负载电阻。Ra和Rk1, Rk2共同确定了电子管的静态工作点。在选定了工作点后,还需要设置Rk1,然后程序会根据工作点计算出Ra和Rk2。
电阻RL是电路的实际负载。RL//Ra构成了电路的动态负载。不同的RL会影响电路的动态放大系数和失真度。
- 选择工作点,计算电路参数
在失真度仿真计算界面,选中某个电子管后,就可以设置工作点及相关的必要参数。参数设置界面如下图:
首先设置电路的外围工作条件。外围工作条件包括电源电压VHT,负载电阻RL和输入信号峰值Ui。
然后是设置期望的工作点Iaq和Vaq。工作点可以是测量曲线的范围内的任意一点,不一定要在曲线上。如下图所示。
最后是设置电路的反馈系数。只需要设置Rk1, Rk2会根据工作点自动计算。勾选Ck,可以让Rk2交流短路。此时,在保持Rk1+Rk2的和不变的情况下,调整Rk1和Rk2的值,可以改变电路的交流反馈量。
- 计算转移特性曲线
通过计算电路的动态负载线,然后计算Vg沿动态负载线变化时,Ia的变化,就可以得到电路的转移特性。
从转移特性的线性度上,可以大致了解电路的线性化程度。线性化程度越高,失真度越小。
下图是基于某个工作点(Ia=50mA,Va=150V),负载电阻为10K时的动态负载线。以及基于动态负载线的电路IaVg转移特性。
- 模拟输入输出,计算失真度
有了转移特性后,就可以计算输入信号为Ui时的输出信号Uo,对Uo进行傅里叶变换(FFT),就可以分析基频信号和谐波信号的能量。进而画出输出信号的频域特性。倍频信号的能量越多,说明失真越大。在输出信号没有出现限幅的情况下,失真多以偶次谐波为主。如下图中上图是输入频率为1kHz的峰值1V的正弦波,输出峰值约5.2V的正弦波。下图是输出信号的频域特性。为了便于显示,以基频信号作为基准,其他倍频信号取基频的倍数,并换算成db。所有计算结果再加100db。因此基频信号为确定的100db, 其他信号的强度以此类推。若某次谐波小于100db,则不显示出来。此时计算出来的失真度为1.73%。
配对筛选
目前常用的图示仪,主要是测量,显示电子管的静态(低频)特性曲线,有些图示仪可以将多个管子的特性曲线叠加显示,通过观察,了解不同管子特性的相似性。如果要对电子管配对,需要将电子管进行两两测量,通过肉眼观察曲线的重叠程度,定性了解电子管的相似性。假如要从100只电子管中,找出两两配对的管子,差不多要进行100*99/2,约5000次的测量和肉眼观察,这是极大的工作量。如果要从这100只管子中找出配对组,也就是说将满足相对度要求的元件进行分组,每组中至少2个元件,那需要进行测量,观察的次数就会更多。
而通过将测量好的电子管数据保存到数据库,然后利用算法,技术相似度,并对满足相似度要求的元件进行自动分组,可以大大提高元件配对的效率。基于算法进行配对,也是我这台图示仪软件部分最主要的特色。
- 配对筛选满足相似度条件的元件
在应用软件中进行配对操作非常简单。可以实现"一键"完成配对和筛选。
首先在测量界面中,完成所有同型号的电子管的测量,设置相似度条件后,点击配对按钮。如下图:
在点击配对按钮后,会弹出下图所示的配对筛选界面。界面中已经按照相似度要求计算好了所有元件之间的相似度,然后将两两都满足相似度条件的元件归为一组。通常会筛选出若干组,每组中的元件至少为2个,组内元件两两的相似度都满足条件。
在界面中间筛选结果框中,点击筛选出的相似组,可以列出组内元件的两两相似度。选中相似对儿,或者整个相似组,点击"使用",将把选中的元件移到右侧已使用列表中。下次配对计算时,已使用的元件将不再参与配对计算。
- 配对筛选算法原理介绍
通过算法进行配对的过程包括将选择计算相似度的特性曲线,计算相似度,然后按相似度要求生成相似组。
1. 选择计算相似度的特性曲线
在对电子管进行配对之前,首先要了解什么是电子管的相似度,相似度是由哪些参数确定的。
电子管的相似度是指在相同工作条件下,给元件输入任意频率信号,其输出信号的相似程度。输出信号相似度越高,元件的相似度就越高。影响相似度的参数包括电子管的物理结构,输入电阻,输入电容,输出电阻,输出电容,跨导,各种分布电容等一系列静态和动态特性。尤其受输入电容,输出电容,分布电容的影响,电子管在低频和高频信号下的表现会有很大差异。通过图示仪测量的特性曲线,主要反映的是元件在低频信号时的特性,在音频功率放大器中,信号频率也不那么高。我们这里计算的相似度,主要反映的是元件的低频信号条件下电子管特性的相似度。
电子管低频条件下的特性参数包括输入电阻,输出电阻和跨导。由于电阻管的输入电阻通常都非常大,对输入信号的影响可以忽略不计,因此,只要测量输出电阻和跨导,就可以进行配对。对于四极管,有时还要关注第二栅极的内阻,甚至跨导。
由于元件的非线性特性,电子管的特性参数在不同的工作点其实是不同的。只比较曲线上某个点的参数,或者笼统的说电子的相似度都是不准确,不全面的。例如或某个电子管的跨导gm=5mA/V,另一个是4.9mA/V,就说两个管子匹配度高,是非常不严谨的。通过特性曲线配对,可以确保曲线整体的相似度,从而反映电子管在各个工作点上的综合相似度,可以全面反映元件的相似程度。
电子三极管参数可以通过输出特性曲线IaVa(Vg),或者转移特性曲线IaVg(Va)进行计算。两者其实是等价的。例如下图是6N6的输出特性和转移特性曲线。
假如在输出特性IaVa(Vg) 曲线族中,选择Vg=-8V,Va=200V的一点a, 此时对应的Ia大约是17mA。在转移特性IaVg(Va) 曲线族中,可以找到a点对应的a'点。a'点位于Va=200V,Vg=-8V的位置,此时Ia约为17mA。
在Vg=-8V的输出特性曲线上,a点位置,曲线切线的斜率就是输出电阻的倒数,a点的纵向变化率就是a点的跨导。
同样,在Va=200V的转移特性曲线上,a'点的位置,曲线的斜率就是该点的跨导,该点的纵向变化率就是该点输出电阻。
对应电子三极管,只需要比较输出特性曲线,或者转移特性曲线的相似度,就可以判断两个元件的相似度。
对应电子四极管,多出了第二栅Vg2,必要时可以增加第二栅的输出特性曲线Ig2Va(Vg),作为相似度的计算条件。
2. 计算相似度
第二步是要考虑计算相似度的方法
2.1 工作点法计算相似度
最简单的是可以选取几个典型的工作点,比较在工作点上管子之间的相似度。例如工作点可以是下图中的几个点:
BJT晶体管是电流驱动型元件,通常工作点的设置是确定Ib和Vce,然后测量Ic和Vbe。因此,在晶体管的的四个参数Ib, Vbe, Ic, Vce中,对不同的BTJ管子,给予同样一组Ib,Vce,比较测量到的Ic和Vbe,就可以判断工作点相似度。
FET是电压驱动型元件,通常工作点的设置是确定Vgs,Vds,然后测量Id。因此,对于不同的FET管子,给予同样一组Vgs, Vds,比较测量到的Id,就可以判断工作点相似度。
这种方法的好处是测量的点比较少,管子不容易发热,从而可以减小温漂对测量结果的影响。不足之处是显而易见的,就是不够全面,特别是对晶体管的一些参数,例如BJT的HFE,JFET的Vcutoff,IdssVcutoff,Idss,MOS管的VonVon等参数,不能全面兼顾。
不过这确实是一个值得考虑的方法,特别是针对大功率管,大电流工作点的配对测量。
2.2 拟合函数法计算相似度
理想一点的方法是对曲线建立数学模型。也就是用一个参数方程或者拟合函数来描述特性曲线,然后比较拟合函数中各参数的相似性,确定曲线特性的相似性。
我们常用的仿真软件用到的Spice器件模型就是这样一个参数方程。这个参数方程是建立在半导体物理特性基础上的,是比较准确的模型。但这个模型的参数太多,而且大多数很难通过简单的测量获得。
比较简单实用的的办法是用拟合函数来表示曲线。输入特性是一个拟合函数,输出特性是另一个拟合函数。拟合函数的参数作为曲线的特征向量。每条特性曲线对应特征向量的一个取值。不同的管子在同样的测量条件下,测得的曲线,通过拟合得到特征向量。计算特征向量间的距离就可以确定曲线的相似度。
2.2.1 BJT的拟合函数
BJT晶体管的典型输入特性如下图:
对于BJT输入特性,通常用以下拟合函数
ib=A×(eBube−1)|uceib=A×(eBube−1)|uce
这个函数表示,在一定的uceuce条件下,ibib是ubeube的函数。函数的参数是A, B。只要计算出A, B,一条特定条件下(即uceuce为某一固定值)的输入特性曲线就确定了。如果对这条曲线求导数,可以得到输入特性中某一点的动态电阻的倒数。
BJT晶体管典型的输出特性曲线如下图:
对于输出特性,通常用以下拟合函数:
ic=A−Ke−Buce|ibic=A−Ke−Buce|ib
这个函数表示,在一定的ibib条件下,icic是uceuce的函数。函数的参数是A,K,B。只要计算出A,K,B,一条特定条件下(即ibib为某一固定值)的输出特性曲线就确定了;
但仔细观察一下这个函数,其实是有问题的。可以想象一下如果uceuce很大,函数的第二项Ke−BuceKe−Buce趋向于0,那么此时ic=Aic=A,变成一条水平线了。而由于晶体管的Early效应,所有曲线都会反向交于一点。如下图所示:
但如果把Early电压考虑到拟合函数中,又无法直接测量其值。考虑到uceuce比较大时,曲线可以看成有一定斜率的直线,这样就需要对上述拟合函数进行简单的修订。
ic=A−Ke−Buce+K1uce|ibic=A−Ke−Buce+K1uce|ib
引入K1uceK1uce,其中K1K1代表直线斜率。这样BJT输出拟合函数就包括四个参数A, K, B, K1
再仔细观察一下这个函数,可以大致了解各参数和函数图像的关系。
参数AA基本就是曲线的"膝盖"位置对应的icic,即饱和区(非线性区域)和放大区(线性区域)的拐点。这无疑是非常重要的一个参数。
参数K,BK,B描述了非线性区域到线性区域,曲线的弯曲程度。在大多数情况下,这两个参数的影响性,不如参数A那么大。
参数K1K1描述了线性区域曲线的斜率。这也是决定曲线相似度的一个比较重要的参数。
由于这几个参数在确定曲线形状方面,影响程度是不同的。因此在比较不同曲线相似性的时候,也需要进行不同的考虑。
2.2.2 FET的拟合函数
典型的J-FET转移特性曲线如下图:
对于J-FET的转移特性曲线,通常可以用以下拟合函数:
id=B×(ugs−V)2|uds,ugs≥Vid=B×(ugs−V)2|uds,ugs≥V
这个函数中有两个参数B, V。通过这个函数,可以看出,在特定的udsuds条件下:
- 当ugs=Vugs=V时,id=0id=0, 说明参数V就是JFET的夹断电压VcutoffVcutoff
- 当ugs=0ugs=0时,id=B×V2id=B×V2, 此时的idid就是JFET的IDSS
如果两条曲线的B, V参数相似度高,不仅说明夹断电压和IDSS相似度高,而且曲线的弯曲程度也比较一致,即曲线上任一点的相似度都比较高。
对于MOS-FET,其典型的转移特性曲线如下图:
常用的拟合函数和JFET类似,只不过定义域是相反的。
id=B×(ugs−V)2|uds,ugs≤Vid=B×(ugs−V)2|uds,ugs≤V
这个函数中有两个参数B, V。在特定的udsuds条件下:
当ugs=Vugs=V时,id=0id=0, 说明参数V就是MOS-FET的开启电压VonVon
如果两条曲线的B, V参数相似度高,不仅说明开启电压相似度高,而且曲线的弯曲程度也比较一致,即曲线上任一点的相似度都比较高。
对于JFET和MOS-FET的输出特性曲线,其形状和BJT输出特性曲线类似。可以采用相同的拟合函数。
2.3 计算相似度
在确定好拟合函数后,就可以利用采集到的曲线数据,计算相似度了。计算的基本思路分以下三步:
第一步:计算曲线特征向量
将一条曲线上采集到的点坐标(x,y)(x,y),作为一个样本列表,输入对应的拟合函数,就可以求出这个拟合函数的相应参数。这些参数再加上曲线的测量条件,就可以作为当前曲线的特征向量。
对于BJT的IbVbe|VceIbVbe|Vce曲线,测量条件是VceVce,参数是A,B。经过拟合,可以得到曲线的特征向量 <A,B>|Vce<A,B>|Vce
对于BJT的IcVce|IbIcVce|Ib曲线,测量条件是IbIb,参数是A, K, B, K1。经过拟合,可以得到曲线的特征向量<A,K,B,K1>|Ib<A,K,B,K1>|Ib
对于FET的转移曲线,输出曲线,也可以分别建立特征向量。
通过这种方式对曲线建模,建模的对象是一条二维曲线。但实际上把测量条件作为第三个维度后,晶体管的特性可以看成是一个三维曲面。利用测量的实际值作为样本,可以对三维曲面进行拟合建模。这样描述晶体管的特性更加理想。而且可以实现即使不同晶体管的测量条件不同,也可以进行相似度比较。
但实际操作的时候,这个三维模型的拟合程度还不够理想。留待以后慢慢研究吧。
第二步:计算不同晶体管在同样条件下,特征向量的相似度
找到不同晶体管相同测量条件的特征向量,计算向量距离dd,把dd作为当前两条曲线的相似度。
正如前面分析BJT输出特性拟合函数时提到的,特征向量的不同参数对曲线形状的影响度不同。
例如参考A决定曲线的"膝盖"位置,也就是曲线的整体高度,K1决定了曲线线性区域的斜率。如果参数A差别比较大,那K1相似度再高,也不能说两条曲线相似。
因此简单的应用向量距离算法是不合适的。其实标准的向量距离算法要求各个参数(维度)是相互独立的。在实际计算相似度的时候,要考虑参数计算的优先级,以及不同参数的权重。
第三步:计算整体相似度
将各曲线的相似度按照输入曲线,输出曲线进行汇总,分别计算输入相似度和输入相似度,然后对输入相似度和输出相似度进行加权平均后,就可以得到两个晶体管之间最终的相似度。
3. 筛选配对组
配对筛选的过程,本质是对晶体管按照相似度进行分组的过程。
一个相似组的定义是这个组里的所有元件两两之间的相似度都满足最低相似度要求。例如设定最低相似度为0.96,一个相似度组里有5个元件,那么就意味着这5个元件中,任意两个的相似度都不小于0.96。
假设计算相似度的维度只有两个(x,y)(x,y),那么每个晶体管在这两个维度上的得分就可以在二维坐标中,以一个点的方式表示出来。两个管子的相似度可以用两个点之间的距离表示。距离越近,说明相似度越高;距离越远,相似度越低。
如下图所示。A和B的距离比A和C的距离近,也就是说A和B的相似度比A和C的相似度高。
如果用dd表示最低相似度,那么某元件和A(xa,ya)A(xa,ya) 满足相似度筛选条件,就意味着该元件位于以A(xa,ya)A(xa,ya) 为圆心,dd为半径的圆内,称dd为A(xa,ya)A(xa,ya)的相似半径。
上图中B在A的相似半径内。那么A和B就是要找的一个相似组。
假如上图的相似度情况如下图。把A,B,C相似半径的圆都画出来。
可以看出B,C都在A的相似半径内。但是B和C不在彼此的相似半径内。
这样A,B,C就不能在一个相似度组里。筛选结果应该是:
组一:A, B
组二:A, C
可以看出,在筛选结果中,一个元件可能出现在两个,甚至多个相似组里。
元件比较多时,情况就会更加复杂。这些是配对筛选算法处理的核心内容。