历史上的今天
今天是:2025年04月10日(星期四)
2018年04月10日 | DIY集电容、电感和频率测量为一体的仪器
2018-04-10 来源:eefocus
在平时的工作中,有时候我们需要测试一下电感、电容还有小信号的频率,为了方便,今天我给大家介绍一个利用单片机STC89C52/AT89S52为主控的,集合以上三种功能的神器。以下是详细制作过程。
我初步给这个产品划定的测量范围是:
电感测量范围: 0.1μH--------1H
小电容测量范围: 1pF-------2.2μF(非电解电容)
频率测量范围: 50Hz------400KHz(可测小信号)
电解电容测量范围: 0.5μF--12000μF(电解电容、非电解电容均可)
在开始制作之前,先给大家讲解一下测量原理:
1、小电容、电感测量原理:
电路是一个由LM393(U3A)组成的LC振荡器。由单片机测量LC震荡回路的频率F1,然后根据标准电容C1【原理图中的Cref】出电感L1的值。
这里电容器C1的容量的精确程度,基本上决定了整个测量过程的精度。应该选用稳定性好精度高的电容器,网上一般推荐使用云母电容器,买不到的话,独石或CBB的也都可以将就用。
电容Cx、电感Lx的值,分别用下列式子计算:
其中,F1是固有频率,F2是接入测试电容、电感后的频率。
2、电解电容测量原理:
电解电容的测量是基于对RC电路的时间常数的计算,电容的充电速度与R和C的大小有关,R与C的乘积越大,充电时间就越长。这个RC的乘积就叫做RC电路的时间常数τ,即τ=R?C。若R的单位用欧姆,C的单位用法拉,则τ的单位为秒。

图示曲线可以得到充电过程的一般规律:Uc是按指数规律上升的,Uc开始变化较快,以后逐渐减慢,并缓慢地趋近其最终值,当t=τ时,Uc=0.632E (E为电源电压);本测量仪就是利用单片机测量Uc=0到0.632E这段时间,用下列式子计算计算被测电容值:
电路由比较器U1B,放电晶体管Q1、Q2等组成。设定比较器正输入端为Uc,(Uc=0.632E,调节Rref获得),反向输入端接被测电容CEx,当单片机P15引脚为低电平时,电容放电。注意51单片机引脚的拉电流很小,不能直接驱动Q1,否则放电时间会很长。当单片机P15引脚为高电平时,电容充电,当充电到Uc时,比较器翻转,触发单片机外部中断0,通过测得的充电时间和充电电阻的大小可以计算出电容大小。
原理图如下图所示:

上图中,Btn1是单片机复位按钮;Btn2是校准按钮,在测量小电容时候可以随时按下清零显示;Btn3是功能切换按钮,用来在测量LCF(频率、小电容、电感)和测量电解电容之间切换。
图中的三个双刀双掷开关用来切换测量,S1在L、C(小电容)之间切换,S2在频率与LC之间切换,S3在大电解和小电解之间切换;单片机能够根据开关的状态和按钮Btn3自动判断测量的类型。
另外,Fx、Cx、Lx共用了一个GND端子,电路板上四个端子紧挨在一起,也可以多加GND端子,不共用,布线时可以根据实际情况灵活处理。
[page]
制作所需的元器件如下图所示:

焊接完工
正面飞线主要是数字电源和数字地线,因为数字电源与模拟电源做了严格隔离,所以飞线比较乱。不隔离很多地方可以直接连一起,板子可以做的比较漂亮。

背面的飞线主要是按键线、信号检测线、ISP串口下载线等,模拟部分尽量避免了飞线,或者使用了短飞线。

3、装芯片及1602

[page]
4、装有机玻璃板

以下是成品展示图:
比较器周边元器件比较多,布线可能不太方便,给大家提供一个LM393周边元器件位置的参考,这样的布局飞线不会太多。我电路板上的飞线多是因为模拟电源和数字电源进行了比较严格的隔离,实际上并没有太大必要,但是LC振荡电路附近的电源和地一定要注意隔离,否则可能小电容读数很不稳定!
标准电容Cref最好使用2200pF云母电容,该电容的精确程度直接决定了小电容和电感的测量精度!(不过不会影响频率和电解电容测量精度。)

Rref调试方法,上文原理中已经讲到,比较器同相输入端电压Uc=0.632E(电源电压)。
[page]
使用方法
测小电容、电感、频率是一组功能,具体测哪个由S1/S2的状态决定,单片机能根据S1/S2的状态自动识别测量哪一种。测大电解电容和小电解电容是一组,具体测大电解还是小电解由S3状态决定,单片机能根据S3的状态自动识别测量大电解还是小电解。在这两组功能之间需要功能切换按钮(原理图中Btn3)来切换。
1、上电开机界面
显示网站网址和大道必成会员号。

2、开机小电容和电感档未校准前
此时S1/S2/S3均处在弹起状态,S1/S2处在其它状态时则自动显示其它测量界面(频率Fx或者电感Lx的测量界面)。
图中的3.7pF是未经校准的误差,一般这个值会比较大,必须校准后才能测小电容和电感。频率档和电解电容测量档不需要校准,校准仅仅针对小电容和电感测量。

3、小电容、电感档校准
校准只需在小电容档(图中界面),不接入测量电容时,按一下校准(清零)按钮(原理图中Btn2)即可,Cx会自动清零(下图所示)。
在电感档校准需要将测电感的端子Lx与GND短接,然后按一下校准按钮,因为不方便,所以不提倡在电感档校准。在小电容档和电感档校准是等效的,在小电容档校准后,按下S1测电感即可,不需要重复校准。

4、测小电容
S1/S2均在弹起状态,单片机会自动显示测小电容界面,除非按下功能切换按钮(原理图Btn3)切换到电解电容档。
校准后,直接将小电容接在Cx与GND之间即可,下图所示。第一行显示测得的电容值,第二行显示的是当前LC振荡电路的频率。

[page]
小电容实际测试:
1000pF

150nF

5、测电感
S1按下、S2弹起状态,单片机会自动显示测电感界面,除非按下功能切换按钮(原理图Btn3)切换到电解电容档。
将电感接在Lx与GND之间即可,下图所示。第一行显示测得的电感值,第二行显示的是当前LC振荡电路的频率。
所测电感与电路板上焊的是同一种,标称100uH的电感。

电感实际测试
标称220uH

[page]
6、测频率
按下S2(S1何种状态无关), 单片机会自动显示测频率界面,除非按下功能切换按钮(原理图Btn3)切换到电解电容档。
本测量仪可以测幅值比较小的信号,频率测量范围50Hz到400KHz,测量精度在0.2%以内。
这是测20KHz信号的界面。

7、测小电解电容
在测小电容、电感、频率的任何一个状态,按一次功能切换按钮(原理图中Btn3)都会切换到测电解电容的状态,然后根据S3弹起还是按下的状态自动识别测大电解还是测小电解电容。再次按下功能切换按钮(原理图中Btn3)会返回到测小电容、电感、频率的状态。这就是功能切换按钮的作用。除此之外,其它测量档位单片机能根据S1、S2、S3按下还是弹起自动识别,无需人为干预。
S3弹起时为测小电解档,第一行显示测量范围,第二行显示测得的电容值。拍完照片后程序又略有改动,显示的测量范围会略有差异。

8、测大电解电容
功能切换在测电解电容状态,S3按下时,自动进入大电容测量界面。
拍完照片后程序又略有改动,测量范围已经增大到12000uF。

电解电容实际测试
0.47uF,虽然叫电解档,其实电解非电解电容都可以测:
470uF

1000uF

至此,整个DIY已经完成了,是不是很强大?赶紧自己动手吧!
史海拾趣
|
请问如何在带有TCP/IP的CDMA模块上实现MMS的收发呢?谢谢。 假如模块带有TCP/IP,那如何在它之上实现MMS的收发呢?调用打开TCP/IP连接的AT命令时,需要提供一个服务器IP,请问这个IP怎么获取呢?还有,这个IP是指WAP网关还是mms-relay服务器?请大概说明一下,谢谢。 … 查看全部问答> |
|
无线网卡:wl-167g ARM板:S3C2410 内核版本:2.4.18 gcc版本:2.95.3 驱动版本RT73_Linux_STA_Drv1.0.4.0 编译驱动通过,并生成rt73.o,使用insmod rt73.o可以将模块加载到系统中,显示: rtusb init ====> usb.c: registered new driver rt73 但 ...… 查看全部问答> |
|
我在程序中做了一些属性页对话框,编译运行都可以通过。但是每次通过菜单或是按钮调用的时候,会弹出一个警告对话框:该对话框的标题栏是“Assertion failed!”,下面的内容是“工程名:File propdlg.cpp Line602”,然后就是三个按钮:“放弃”“重 ...… 查看全部问答> |
|
首次跑通Keil自带STM32的OS例程,发贴自贺并交作业(已修改) 由于俺用的是英培特的EMSTM32V1开发板,内带的例程没RTX的例程. 只好用keil自带的例程BLINKY.C,但是LED的管脚不太兼容. 刚好也学学GPIO~~~哈哈~~~OS和裸奔的BLINKY都算是跑通了~~~ 郁闷的是串口和ADC没跑通~~~不过串口座(公头)有些小,估计是新的 ...… 查看全部问答> |
|
一套或者光主板也行 自带价格 ... tt383@qq.com [ 本帖最后由 tt383 于 2011-3-18 18:03 编辑 ]… 查看全部问答> |
|
作者:中祥科技王经理 QQ:1044478274 2011中国西南(昆明)国际汽车博览会,英文简称(IAS Kun Ming)11月11日-15日(星期五-星期二)在昆明国际会展中心隆重开幕。本届车展以“展开,生活之翼”为主题,由中国国际 ...… 查看全部问答> |
|
spi外接了flash,想完成对flash的读写,用官方自带的例程spi_loopback 调试通过,仔细看了下代码,这个历程前面是对spi的初始化,然后是下面几句代码: for(;;) { SpiaRegs.SPI ...… 查看全部问答> |
|
我接触DSP较8051系列和arm系列晚,原因无它,资源少(相对8051和arm铺天盖地的资料和例程来说),价格贵,一般应用也用不上。再加上DSP的一般应用项目都是高端的数字处理和数码设备,久而久之,在我脑海里DSP就好像微处理器里面的贵族一样,带着神 ...… 查看全部问答> |




