原创 皮法电容表DIY(上)

2012-1-18 15:25 2735 19 24 分类: 模拟
 
之前要做个谐振电路需要测量几皮法的电容,但当时手头上只有个十几块钱的数字万用表,心里不由得想如果手头上有个电容表该多好啊。回过头再想想,自己都学了几年的模电,多少都有点实力了,于是立马开始找资料进行电路的设计。

方案的选择:

最初想要用恒流源(见http://blog.ednchina.com/jamiedame/2132989/message.aspx#)对电容进行充放电,通过单次的充电或放电时间来算出对应的电容的容量。通过实验发现每次的充电时间会有些许的波动,这需要采集多次数据并进行平均才能获得一个较好的值。但实验过程中发现一种莫名其妙的现象,就是某个时刻会突然有一个较稳定的值突然跳变到另一个值然后稳定一段时间后又跳回原来那个值。还有另一种现象就是接入一个大电容后每次采集到的充电时间会慢慢地变长。这有点诡异,难道某个器件需要多次振荡才能正常工作,有时候这种变化可持续5分钟。我不知道哪个器件导致了这种情况的发生。

后来我用一个电压比较器构成的振荡电路,通过振荡电路的振荡频率来推出电容的容量。通过这次实验,发现该电路可以较稳定地提供0.01pF的分辨率。

关于一开始遇到的测量电容的值慢慢变大的情况,我用万用表测量的时候发现也有同样地情况,google了一下,网上也有网友反映有类似的情况,对于该疑问的解释:

1.有可能是当用手拿瓷片电容的时候,手的温度传递到了瓷片电容,导致瓷片电容的温度发生变化,而当瓷片电容放到夹具上测量时,瓷片电容慢慢降温,容量慢慢恢复到原来的值;

2.由于我用的是瓷片电容,我推测可能充放电时里面的介质受热容量发生变化吧。我用涤纶电容测量值很稳定。

   


 2011118日更新

测量方案:

1、小电容(0-300pF)采用测量振荡频率的方法。

2、大电容(300pF-1uF)采用测量脉宽的方法。

这样根据电容容量的大小,在同一个振荡器上尽量获取4位有效数字的测量值。 

 振荡原理图.gif

图1  测量振荡原理图

 图1这个是经典的正反馈振荡电路,可生成方波或锯齿波,只是取决于你从哪里引信号出来。在这里放大器要选偏置较小的、传输时间较短的电压比较器,最好是输入输出都是轨对轨的,不能选运放,因为运放的饱和恢复时间可能有几百微秒。

关于振荡频率的计算,我稍微翻了下书,可近似的推出反馈系数

  公式1.jpg

振荡周期

    公式2.jpg

关于给50M有源晶振的分频电路。分频电路主要有两块16进制计数器级联构成,共256分频。但是从第二级计数器分频出来的脉冲,单片机用外部时钟法和外部中断法都无法稳定准确地进行计数,用万用表的频率档也测不出来。后来分析可能第二级出来的时钟信号的脉宽太窄,于是用由D触发器构成的二分频电路将第二级出来的信号展宽其脉宽,果然,单片机跟万用表都能准确测出末端的时钟信号频率。如图2所示。

50m分频电路.jpg

图2  分频电路原理图

为适应50M晶振的时钟速度,计数器选用了74F系列,另外启用计数器和关闭计数器的控制电路也应该是高速的,故计数器的开关不能直接由单片机控制。在这里,我设计了一个简单的硬开关电路,由单片机间接控制。如图3所示。

 计数器硬件开关.gif

图3  计数器硬开关原理图 

首先先在clr端给D触发器复位,是out输出”0”,out连接到16进制允许端,此时计数器停止计数。若ctrl置高电平,则下一时钟到来时将令out端输出”1”,计数器开始计数。要想禁止计数,则ctrl端置低电平,下一个时钟脉冲到来时,从out输出的必然为”0”,此时计数停止。

关于按键电路,由于手头上只有块Atmega8L,频率只能上8M,IO端口也比较少,可惜两个外部中断端口被占用了,按键电路接到了普通的IO端口,但如果不耍点手段,按键检测就会难以有较好的体验效果,故设计了个简单的电平保持电路。如图4所示。

轻触保持开关.gif

图4  轻触开关按键保持电路

 

原理很简单,基于电容的充放电原理,在这里我取R3=R4=4.3k,R1=R2=200,C1=C2=1uF。当有按键按下时,电容充电至高电平,按键松开,由于单片机IO端口设置成高阻态,故放电很慢。当下个周期单片机读取按键电平后,识别出相应的状态,然后输出低电平给电容放电。这样电容又可以继续检测按键是否曾被按下过了。

(由于博客字数的限制,本章下半部分见“皮法电容表DIY(下)”

文章评论5条评论)

登录后参与讨论

用户611911 2015-9-15 19:04

博主你好,附件下载不了,能发我一份吗?邮箱:13972448@qq.com,谢谢

dwwzl 2012-8-3 10:53

值得收藏

用户1611386 2011-12-16 20:46

很不错,值得借鉴,要是有程序就更好了。

用户356224 2011-11-17 13:25

确实不错的啊!值得借鉴。。。

用户1588142 2011-11-12 00:44

mark!!
相关推荐阅读
tsyctc2598_917119019 2014-08-08 22:17
几种由运放构成的恒流源的电路接法(转帖)
  图老是挂,传成附件了   这几种电路都可以在负载电阻RL上获得恒流输出 第一种由于RL浮地,一般很少用 第二种RL是虚地,也不大使用 第三种虽然RL浮地,但是RL一...
tsyctc2598_917119019 2014-02-23 12:40
cadence 16.3 16.5 16.6 hotfix 安装方法
**成功,共享方法:不少人遇到**之后安装HOTFIX不能使用、报错的问题,那是因为没有使用正确的安装方法。此方法只适合使用pubkey**的16.3、16.5和16.6用户。为何使用pubkey...
tsyctc2598_917119019 2013-05-07 23:36
2013-5-7更新cadence16.3学习笔记(下)
  44.  SI仿真时,提示can’t open xx/xx/xx/cycle.msm是怎么回事? 答:肯定是.brd文件的路径或文件名本身有空格。   45.  SI仿真时,提示“part wit...
tsyctc2598_917119019 2013-05-07 23:08
【新手学习Cadence16.3】自己的Allegro16.3的学习笔记,算是回报社会吧。
  2013-5-7更新 1.         Allegro中我设置了highlight的颜色为白色,但选中后颜色是白蓝相间的,很不方便查看。是什么地方...
tsyctc2598_917119019 2012-08-14 21:20
评论:@lihailin560's Blog 博客中提到的“给你们介绍一些毛骨悚然的骗人技术”
果然是惊悚系列的...
tsyctc2598_917119019 2012-08-12 22:50
【新手学习LPC1768】关于IO2IntEnR与EXTPOLAR、EXTMODE等的区别?
随便google了下,发现貌似没什么人关心这个问题,不过没关系,就让以后的初学者看到后不用再迷茫了。 其实两者是有很大不同的,前者只能通过软件不停查询LPC_GPIOINT->IO2IntS...
我要评论
5
19
关闭 站长推荐上一条 /2 下一条