本帖最后由 imxuheng 于 2020-12-19 22:17 编辑
前不久看到一篇介绍用PIC 单片机制作的电容表,你们搜“使用PIC16F628制作一个高精度的电容 测试仪”就能搜到,文章介绍说测量精度相当不错,原理也简单,就是利用迟滞比较器和RC负反馈回路构成方波发生器,该方波发生器的输出频率与RC有关,利用方波频率就能反推电容容值,不过作者没有公布计算公式,更没有公布源码。 既然这个PIC电容表电路简单、精度还高,所以准备试一试,看能不能找到这个震荡电路频率值与电待测电容的关系式。文库里搜了个模电PPT课件,结合上面的分析方法和节点法,基本摸清公式建立流程。
1 原理简介 常见的迟滞比较器和RC负反馈回路构成方波发生器电路如下图所示 图1-1 电容充电时,电容两端电压Uc不断升高,当比较器正端电压U+小于负端电压U-(即电容两端电压Uc)时,比较器输出低电平(单电源供电时输出0,双电源供电时输出负电源电压),此时电容开始放电,电容两端电压不断降低,当比较器正端电压U+大于负端电压U-(即电容两端电压Uc)时,比较器输出高电平(正电源电压),就接下来电容用开始充电。这样电容不断充放电,比较器输出电平变化形成方波 本次使用的电路实际就是由上面的电路演变而来(如图1-2所示),但是方波产生的原理是一样的。
图1-2
2 参数计算 接下来一步一步推导电容与方波频率之间的关系式。 根据前面介绍我们知道,比较器正端输入电压U+和负端输入电压U-大小关系决定了输出高电平还是低电平 - U+>U-,比较器输出正电源电压
- U+<U-,比较器输出负电源电压
现在我们就来计算比较器正端输入电压和负端输入电压。
2.1 正端输入电压计算 我们把正端输入电压部分的电路摘出来分析,如图2-1所示
图2-1
利用节点分析法,可知I3=I2+I1
移项去分母化简得到U+表达式
从前面介绍可知,正端输入电压上限UH等于比较器输出正电源电压VCC时的U+;正端输入电压下限UL等于在比较器输出负电源电压时的U+, 故有
单电源供电时
如果R1=R2=R3,VCC=5V,单电源供电,那么,UH=3.3V,UL=1.7V,说明输出方波电压在1.7v~3.3v之间变化,和介绍PIC电容表时说的一样
2.2 负端输入电压计算 电容充放电曲线图2-2所示
图2-2 其中,充电时间T2=放电时间T1 0~T2这段时间为电容充电时间,电容上的电压满足
R为电容充电电阻,C为待测电容
UC0为0时刻的电容上的电压,等于下门限电压UL,方波出现上跳变,因此
当时间趋于无穷大时,Uc趋于最大输出电压VCC
当t=T2时,Uc等于上门限电压UH,方波出现下跳变,因此有
2.3 电容容值计算 将上式和电容充电方程联立可得
带入各变量表达式:
移项去分母等变换得到T2表达式
方波周期T=2*T2=2*R*C*ln(1+R1/R2)。 假设频率为f,那么频率f与电容C的关系式为
3 电路设计与制作 外地上班,所以手头没有什么元件,只是带了一个最小系统和少许元件,幸好这个电容表元件比较少,还好能够做出来,我使用的 电路图如下图所示
焊好电路后,编写程序,思路就是 1. 定时1s,记录外部中断次数 2. 定时完成1s后,等待触发外部中断,中断发生后中断次数+1,再关闭外部中断和定时器; 3. 1秒+之后定时器在最后一次外部中断前的记录时间,就是所有完整方波个数所用的时间 4. 计算电容值 5. 开启外部中断 6. 等待外部中断到来,外部中断到来后开启定时器,进行下一轮测量 大家有更好的思路,在评论区分享分享。
烧录程序开机测试!!!!! 测试100nF
测试10uF
测试22uF
手里只有这么几个电容,没法再测其他范围。
“使用PIC16F628制作一个高精度的电容 测试仪”里面提供了几个实测数据 - "10nF" 的电容,测量到的振荡数是 435Hz
- "100pF"的电容,测量到的振荡数是 43500Hz
- 上电会显示320pF左右(此时假设是没有接上待测电容CT的),此时该RC振荡器的频率大概是220KHZ左右。
前两条实测数据我不知道如何得来的,用前面的计算公式无法得到这个频率,而对于最后一条数据,当充电电阻R=10K欧姆,电容C=320pF时,利用前面的计算公式可得频率f=225kHz,基本符合。 电阻精度会影响测量精度,大家焊接之前测好那几个电阻的阻值,另外测试座估计也会影响结果,我测那个100nf的电容时,最后一位有跳动,估计是座子引脚太近和有焊渣的原因吧。 坛里有兴趣的朋友可以自己做个试试,应该也花不了多少时间. 就分享这么多,打字真是不易。。。。。
|