找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1346|回复: 2
打印 上一主题 下一主题
收起左侧

有哪个大佬知道用单片机求电容的方法,感谢!

[复制链接]
跳转到指定楼层
楼主
ID:598901 发表于 2019-8-12 08:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
急求!!!!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:492679 发表于 2019-8-14 11:05 | 只看该作者
(学生党一枚,有错勿喷,一起学习)
      先来说一下电容的测量方式吧,电容测量方式有很多,其中一种是基于对RC 电路的时间常数的计算,电容的充电速度与R 和C 的大小有关,R 与C 的乘积越大,充电时间就越长。这个RC 的乘积就叫做RC电路的时间常数τ, 即T=R∙C。若R的单位用欧姆,C 的单位用法拉,则T的单位为秒。
       要知道电容大小,只要知道充电时间T和充电电阻R的值就行了。
       那么怎么用51求出充电时间T和充电电阻R的值呢?不要急,慢慢来。
       先说求充电时间T的方法吧(方法很多,这里介绍一下最简单的),先介绍一下电容充电时电压的一般规律:在两端电压Uc随t的变化曲线中,Uc 是按指数规律上升的,Uc 开始变化较快,以后逐渐减慢,并缓慢地趋近其最终值。假设当t=τ时,Uc到达能达到的最大值U,那么我们便可以计算出电容两端电压从0到U所花的时间。这个计算过程可以用51单片机的外部中断来实现,可以将51单片机的外部中断设定为下降沿触发。当第一次下降沿来临时,在中断程序中,启动定时器的计时;在第二次下降沿来临时,再停止定时器。这样一来,计时器所统计的数值,就代表了脉冲的周期。定时器在计时方式下,是针对机器周期计数,在晶振为 12MHz 时,计时的结果将在 0~65536us 范围内。以 ms 为单位,就是:00.000 ~ 65.535ms。这样就可以得到充电时间T了。
        充电电阻的话,由于你这个问题的重点是用单片机测电容,那么电阻就直接用电表测吧,默认测出结果为R。
       注意:T=R*C计算公式T的单位是s。
      用单片机进行计算时可以先直接用计数值*脉冲周期得到us为单位的时间,用us单位的时间进行计算,C=T/R,只要在往数码管上显示数字的时候在前5位弄个小数点就行。
       最后,大功告成!!!

       还有个问题,就是测的电容可能很大,那么依据公式,我们也可以知道只要改变T或R的值就行了。
       一种方法是换较低频率的晶振,单片机计数器的最大值是确定了的,通过减小晶振频率来增大脉冲周期,就能增大T的范围,就可以测比较大容量的电容了,但这种方法,不建议使用,因为改变晶振对单片机的整个内部运行会造成很大问题,里面的reg51.h文件里面的内容可能得改些。
       第二种方法简单了,直接换个小点的充电电阻就完事。。。
回复

使用道具 举报

板凳
ID:501535 发表于 2019-8-15 19:01 | 只看该作者
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表