首页 > 行业信息 > 使用PIC16F628制作一个高精度的电容测试仪
  • 使用PIC16F628制作一个高精度的电容测试仪

  • 2017-05-17 17:39:25 阅读量:15952 来源:立创商城

1、作品简介

贴片电容,不像贴片电阻那样上面还有数字标识,所以如果多个贴片电容不小心混在一起,是很难区分开来的,原因主要是一般的万用表没那么高分辨率的电容测试功能,为此小编特意给大家介绍一款来自老外的电子制作,该制作属于开源,具有硬件简洁,但又不失高精度测量的特点,作者也提供了HEX源码,烧录完成后即可工作!该老外的大名是:RomanBlack,他的网站是:http://www.romanblack.com,顺此声明,该文章的版权归属:RomanBlack,我们这里只是转载和翻译,如翻译有所偏差,请以作者原文为准)。

2、作品亮点

①具有很高的分辨率:达6~7位!(一般的仪器或制作,只有有3或4位)

②测量范围较宽:0pF到50uF。

③硬件简洁,性价比高,使用到一个低成本的PIC单片机16F628。

④不需要校准!(其他需要校准的一个特殊的测试帽)

⑤类似电子秤的去皮功能,可自动归零,或相对值设置为零

此外,亮点还包括:

该电容测量仪,有三种显示格式,根据测量值大小有所差异,具体如下:

0pFtoabout18000pF,format;"PPPPP.DDpF"

18nFto999nF,format;"NNN.DDDnF"

1uFto50uF,format;"UU.DDDDuF"

显示精度:

在pF级测量显示时,显示精度可达+/-0.02pF;

而在nF和uF级测量显示时,显示精度可达+/-最后1位数字

3、原理图

 

备注说明:以上电路中,最关键的是这个部分,这里特别提取出来分析一下:

 

该电路是一个RC震荡电路,其中比较器直接使用了PIC16F628内部自带的比较器。该电路的震荡输出频率Fout由RT和CT决定,基本不受供电电压影响,当RT固定时,这个电路可以作为一个高精度测量电容的电路(通过测量Fout的值,就可以计算出CT的值)。在这个电路中,R1和R2起的作用,是分压的作用,B点电压在1/3VDD或2/3VDD之间变换。

单片机PIC16F628通过定时器精确地测量到Fout值后,通过一个算法把待测电容器CT的值,显示在LCD显示屏上。需要指出的是,为了获得更好的精度效果,RT需要使用高精度的金属膜电阻,阻值为:10.00K。

4、软件部分的描述

软件部分,很可惜该作者没有给出源码,只是给出了最终可烧录的HEX文件。

下面,我们来看看该作者实现这个电容测量仪的一些构思。(在此之前,我们建议大家先看该作者的另外一个设计技巧和思路:Zero-error1secondTimer零误差产生1HZ的定时器,该高精度电容测量电路的算法核心就是用这个方法来设计的。)

本电路中,单片机PIC16F628使用内置的CCP1硬件单元来捕获RC振荡器的频率,PIC定时器的运行时钟为4MHZ(16MHz/4=4)。单片机累加连续捕获到的周期数(值),直到累加到的周期数超过两百万次(即>0.5second),仅仅误差只是最初和最后1次的捕获到的周期值,所以的误差值被限制在每次最后一次捕获的两百万次的多余部分,从而最终达到1PPM的精度。现在,通过总周期数除以捕获到的周期数,就可以得到一个精确的平均捕获值,接着把该平均值再放大1000倍,即可获得除数后包含了多个数字的最终值(分辨率)。

例如:

"10nF"的电容,测量到的振荡数是435Hz

218个连续的振荡值被累计,对应得到的总和值是:2004597

从而有:(2004597*1000)/218=2004597000/218=9195399

所以平均得到的周期数是:9195.399

接着,第二步的处理是:将平均得到的周期数转换为pF

(9195399*100)/scale=919539900/919=1000587

1000587最终被显示在LCD屏上的数字是:10005.87pF

类似地,再比如:

"100pF"oscPIC单片机测量到的振荡数是43500Hz

累计值首次超过2百万次,即实际达到2000091时,对应的振荡周期数是:21751

从而有:2000091000/21751=91953

比例格式化:91953000/919=100057

最终,100057被处理和显示在LCD屏上的值是100.05pF

5、材料清单(BOM列表)

以下是这个电子制作的BOM列表,大部分器件可采购自立创商城(WWW.SZLCSC.COM):

 

6、PCB实物图

 

 

7、调试过程和应用实例

测试是很简单的,PCBA焊接和组装无误后,上电会显示320pF左右(此时假设是没有接上待测电容CT的),此时该RC振荡器的频率大概是220KHZ左右。接着,轻触按键对该电容测量仪进行归零,LCD显示屏显示"ZeroCal",随后该装置即可进行待测状态!在测量极小电容的时候,由于精度很高,同时温度影响,出现一些跳过,比如+-0.05的变动,是正常的。另外,如果这个RC振荡器停止震荡,或者待测电容的2端短路,或者超过50uF的电容被插入来测量,那么LCD将会显示"Error",并交替性出现"Error"和"Largecap"的提示。

8、总结

RomanBlack是个大牛,在他的个人网站上有很多他开源的作品,特别是他提出的“Zero-error1secondTimer零误差产生1HZ的定时器”,这个算法在MCU中有很多应用,它可以让单片机即使使用特殊或有误差的晶振,也能产生精确的周期性、频率信号。这个算法,值得大家去学习和参考。另外这个电容测量仪的电路中,如果采用更高速的比较器,可以得到更准确的测量值,特别是在测量pF级微小容量的电容时,也欢迎大家去改进~。

官方原文:http://www.romanblack.com/onesec/CapMeter.htm

「关于」立创商城(WWW.SZLCSC.COM)成立于2011年,致力于为客户提供一站式电子元器件线上采购服务,成交量全国领先。自建6000多平米现代化元器件仓库,现货库存超40000种。本文由立创商城转载、翻译,版权归原创者RomanBlack所有。

热门物料
型号
价格
Sn99.3Cu0.7 0.8mm 250G/锡丝/锡线 77.2
FXL0630-470-M/功率电感 0.287448
LL4148/开关二极管 0.086
SM04B-SRSS-TB(LF)(SN)/线对板针座 0.5741
TM1640B(TA1902)/LED显示驱动 0.5314
TM1652/LED显示驱动 0.270957
APM32F030C8T6/单片机(MCU/MPU/SOC) 2.8
RVT2A470M1010/贴片型铝电解电容 0.256665
RVT1A221M0605/贴片型铝电解电容 0.076368
AFC01-S24FCA-00/FFC/FPC连接器 0.342967
您的浏览器版本过低(IE8及IE8以下的浏览器或者其他浏览器的兼容模式),存在严重安全漏洞,请切换浏览器为极速模式或者将IE浏览器升级到更高版本。 【查看详情】
推荐您下载并使用 立创商城APP 或者最新版 谷歌浏览器火狐浏览器360浏览器搜狗浏览器QQ浏览器 的极(高)速模式进行访问。
© 2022 深圳市立创电子商务有限公司 版权所有

提示

您确定删除此收货地址吗?

提示

您确定删除此收货地址吗?

成功提示

content

失败提示

content

微信咨询

关注公众号咨询客服

咨询客服
  • 在线客服热线

    0755-83865666

  • 服务时间

    工作日  8:30~20:30

    节假日  8:30~18:00

  • 服务投诉

QQ咨询
优惠券
芯媒体

立创商城旗下芯媒体

微信号:icsight

建议反馈
填问卷 立创用户体验问卷调查 立即参与
活动规则
活动规则
展开客服