登录
|
立即注册
网站首页
网站论坛
BBS
积分充值
每日签到
搜索
MCU智学网
»
网站论坛
›
开源项目论坛
›
开源项目分享
›
帖子
自己动手使用PIC16F628制作一个高精度的电容测试仪
[复制链接]
3069
0
发表于 2019-11-15 22:49:16
|
查看全部
|
阅读模式
本文包含源代码、原理图、PCB、封装库、中英文PDF等资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
1、作品简介
贴片电容,不像贴片电阻那样上面还有数字标识,所以如果多个贴片电容不小心混在一起,是很难区分开来的,原因主要是一般的万用表没那么高分辨率的电容测试功能,为此本期,我们编辑组特意给大家介绍一款来自老外的电子制作,该制作属于开源,具有硬件简洁,但又不失高精度测量的特点,作者也提供了HEX源码,烧录完成后即可工作!该老外的大名是:Roman Black,他的网站是:
http://www.romanblack.com
, 顺此声明,该文章的版权归属:Roman Black, 我们这里只是转载和翻译,如翻译有所偏差,请以作者原文为准)。
2、作品亮点
① 具有很高的分辨率:达6~7位!(一般的仪器或制作,只有有3或4位)
② 测量范围较宽:0pF到50uF。
③ 硬件简洁,性价比高,使用到一个低成本的PIC单片机16F628。
④ 不需要校准!(其他需要校准的一个特殊的测试帽)
⑤ 类似电子秤的去皮功能,可自动归零,或相对值设置为零
此外,亮点还包括:
该电容测量仪,有三种显示格式,根据测量值大小有所差异,具体如下:
0pF to about 18000 pF, format; "PPPPP.DD pF"
18nF to 999nF, format; "NNN.DDD nF"
1uF to 50uF, format; "UU.DDDD uF"
显示精度:
在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-error 1 second Timer 零误差产生1HZ 的定时器,该高精度电容测量电路的算法核心就是用这个方法来设计的。)
本电路中,单片机PIC16F628使用内置的CCP1硬件单元来捕获RC振荡器的频率,PIC定时器的运行时钟为4MHZ(16MHz/4=4 )。单片机累加连续捕获到的周期数(值),直到累加到的周期数超过两百万次(即>0.5 second),仅仅误差只是最初和最后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.87 pF
类似地,再比如:
"100pF" osc PIC单片机测量到的振荡数是 43500 Hz
累计值首次超过2百万次,即实际达到2000091时,对应的振荡周期数是:21751
从而有: 2000091000/21751 = 91953
比例格式化: 91953000/919 = 100057
最终, 100057 被处理和显示在LCD屏上的值是100.05 pF
5、材料清单(BOM列表)
以下是这个电子制作的BOM列表,
器件名称
器件类型
备注
10KΩ ±1%
金属膜电阻
PIC16F628
PIC单片机
商城暂无
7805
7805
类似型号很多
16MHZ
晶振
类似型号很多
LCD显示屏 (3选1)
16x2 LCD屏
黑底白字效果
16x2 LCD屏
蓝底白字效果
16x2 LCD屏
黄绿底色效果
6、PCB实物图
7、调试过程和应用实例
测试是很简单的,PCBA焊接和组装无误后,上电会显示320pF左右(此时假设是没有接上待测电容CT的),此时该RC振荡器的频率大概是220KHZ左右。接着,轻触按键对该电容测量仪进行归零,LCD显示屏显示"Zero Cal",随后该装置即可进行待测状态!在测量极小电容的时候,由于精度很高,同时温度影响,出现一些跳过,比如+-0.05的变动,是正常的。另外,如果这个RC振荡器停止震荡,或者待测电容的2端短路,或者超过50uF的电容被插入来测量,那么LCD将会显示"Error" ,并交替性出现"Error" 和 "Large cap"的提示。
8、总结
Roman Black是个大牛,在他的个人网站上有很多他开源的作品,特别是他提出的“Zero-error 1 second Timer 零误差产生1HZ 的定时器”,这个算法在MCU中有很多应用,它可以让单片机即使使用特殊或有误差的晶振,也能产生精确的周期性、频率信号。这个算法,值得大家去学习和参考。另外这个电容测量仪的电路中,如果采用更高速的比较器,可以得到更准确的测量值,特别是在测量pF级微小容量的电容时,也欢迎大家去改进~ 。
附件:
官方原文:
http://www.romanblack.com/onesec/CapMeter.htm
烧录文件(HEX):
CapMeter.rar
(3.72 KB, 下载次数: 0)
2019-11-15 22:48 上传
点击文件名下载附件
举报
回复
返回列表
*
滑块验证:
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
admin
管理员
293
主题
21
回帖
3995
积分
Ta的主页
发信息
签到
连续天
6人
签到看排名
更多
精彩推荐
RV1126 RV1109硬件设计全套参考资料包
1、介绍 RV1126和RV1109是专用于视觉处理的高性能处理器SoC,可广泛应用于智能门锁、
瑞芯微 RK3326 RK3326S 硬件参考设计分享
RK3326是为个人平板电脑和智能音频设备设计的高性能四核应用程序处理器。提供了许多嵌
更新自动建库工具PCB Footprint Expert 202
已更新至目前最新版本Footprint Expert 2024.04 自动建库工具Footprint Expert 2023.
RK1808全套资料 包含芯片手册 参考设计 硬
一、简介 随着物联网和人工智能的兴起,AIoT(AI+IoT)芯片也随之兴起,RK1808是瑞芯
瑞芯微 RK3568 硬件参考设计分享 原理图 PC
RK3568芯片介绍简介瑞芯微RK3568芯片是一款定位中高端的通用型SOC,是一款高性能低功
更多
热点动态
1.
量程自动切换数字电压表proteus仿真 程序资
2.
自制FM收音机
3.
Cadence Allegro 17.4 电子设计速成实战宝
4.
RTL8309N方案-8口Switch原理图PCB规格书
5.
思特威SC4336_数据手册 SC4336_设计应用指
6.
思特威SC3338_数据手册 SC3338_设计应用指
7.
思特威SC3336_数据手册 SC3336_设计应用指
8.
思特威SC3335_数据手册 SC3335_设计应用指
更多
随手拍
1.
量程自动切换数字电压表proteus仿真 程序资
2.
自制FM收音机
3.
免费分享 全开源全协议245W桌面充电站-无线
4.
Cadence Allegro 17.4 电子设计速成实战宝
5.
VL817-Q7 USB3.0 HUB方案 包含规格书 参考
更多
客服中心
微信扫描二维码
服务时间:周一至周日 8:30-22:00
在线客服
客服微博
产品咨询
售后中心
快速回复
返回顶部
返回列表