原文:https://circuitdigest.com/microcontroller-projects/arduino-capacitance-meter-circuit

使用Arduino的电容表

ARDUINO的

经过**迪利普·拉贾(Dilip Raja)** 2016年4月2日8

Arduino电容表

当我们遇到先前设计的电路板时,或者我们从旧电视或计算机中取出一块电路板进行维修时。有时我们需要知道板上特定电容器的电容以消除故障。然后,我们面临着从板上获取电容器的准确值的问题,特别是如果它是表面贴装器件。我们可以购买用于测量电容的设备,但是所有这些设备都很昂贵,并不适合所有人。考虑到这一点,我们将设计一个简单的Arduino电容表 来测量未知电容器的电容

该仪表可以容易地制造并且还具有成本效益。我们将使用Arduino Uno,施密特触发门和555 IC计时器制造电容表

所需组件:

  • 555定时器IC
  • IC 74HC14施密特触发门或非门。
  • 1KΩ电阻器(2个),10KΩ电阻器
  • 100nF电容器,1000µF电容器
  • 16 * 2液晶屏
  • 面包板和一些连接器。

电路说明:

下图显示了使用Arduino电容表的电路图。电路很简单,LCD与Arduino相连以显示测得的电容器电容。方波发生器电路(在稳定模式下为555)连接到Arduino,在这里我们已经连接了需要测量其电容的电容器。施密特触发器门(Schmitt Trigger Gate)(IC 74LS14)用于确保仅将矩形波馈送到Arduino。为了滤除噪声,我们在电源两端增加了两个电容器。

该电路可以准确地测量10nF至10uF范围内的电容。

基于555定时器IC的方波发生器:

首先,我们将讨论基于555 Timer IC的方波发生器,或者我应该说555 Astable Multivibrator。我们知道,电容器的电容不能在数字电路中直接测量,换句话说,UNO处理数字信号,因此不能直接测量电容。因此,我们使用555方波发生器电路将电容器连接到数字世界。

简而言之,计时器提供方波输出,其频率直接影响与其相连的电容。因此,首先我们获得方波信号,该信号的频率代表未知电容器的电容,然后将该信号馈送到UNO以获取适当的值。

不稳定模式下的常规配置555,如下图所示:

输出信号频率取决于RA,RB电阻和电容器C。

频率(F)= 1 /(时间段)= 1.44 /((RA + RB * 2)* C)。

在此,RA和RB是电阻值,C是电容值。通过将电阻和电容值放在上述公式中,我们可以得出输出方波的频率。

我们将连接1KΩ作为RA和10KΩ作为RB。所以公式变成

频率(F)= 1 /(时间段)= 1.44 /(21000 * C)。

通过重新排列我们拥有的条款,

电容C = 1.44 /(21000 * F)

在我们的程序代码(请参阅下文)中,为了准确获取电容值,我们通过将获得的结果(以法拉为单位)乘以“ 1000000000”来计算以nF为单位的结果。另外,由于RA和RB的精确电阻分别为0.98K和9.88K,因此我们使用了“ 20800”而不是21000。

因此,如果我们知道方波的频率,就可以得到电容值。

施密特触发器门(Schmitt Trigger Gate):

由计时器电路生成的信号并不完全安全,无法直接提供给Arduino Uno。考虑到UNO的敏感性,我们使用施密特触发器门(Schmitt Trigger Gate)。施密特触发器门(Schmitt Trigger Gate)是数字逻辑门。

该门根据输入电压电平提供输出。施密特触发器具有THERSHOLD电压电平,当施加到栅极的INPUT信号的电压电平高于逻辑门的THRESHOLD时,OUTPUT变为高电平。如果INPUT电压信号电平低于THRESHOLD,则门的OUTPUT将为LOW。因此,我们通常不会单独获得施密特触发器,因此在施密特触发器之后总是有一个非门。施密特触发器的工作原理在这里进行了说明:施密特触发器门(Schmitt Trigger Gate)

我们将使用74HC14芯片,该芯片中有6个施密特触发器门(Schmitt Trigger Gate)。这些六个门在内部进行了连接,如下图所示。

倒立施密特触发器门(Schmitt Trigger Gate)的真值表是在下面的图显示,与此我们必须为在其端子反相的正和负的时间段的UNO编程。

将定时器电路产生的信号连接到ST门,在输出端会有倒相时间的矩形波,可以安全地给UNO。

Arduino测量电容:

Uno有一个特殊的函数***pulseIn****,*它使我们能够确定特定矩形波的正态持续时间或负态持续时间:

Htime = pulseIn(8,HIGH);
Ltime = pulseIn(8,LOW);

所述pulseIn功能措施,其高或低电平存在于乌诺的PIN8的时间。pulseIn功能以微秒为单位测量此高时间(Htime)和低时间(Ltime)。当我们将Htime和Ltime加在一起时,我们将得到Cycle Duration(周期持续时间),通过反转它,我们将得到Frequency。

一旦有了频率,就可以使用前面讨论的公式来获得电容。

摘要和测试:

因此,总而言之,我们将未知电容器连接到555定时器电路,后者会生成一个方波输出,该输出的频率与电容器的电容直接相关。该信号通过ST门提供给UNO。UNO测量频率。在已知频率的情况下,我们对UNO进行编程,以使用前面讨论的公式来计算电容。

让我们看看我得到的一些结果,

当我连接1uF电解电容器时,结果为1091.84 nF〜1uF。用0.1uF的聚酯电容器得到的结果为107.70 nF〜0.1uF

然后我连接了0.1uF的陶瓷电容器,结果为100.25 nF〜0.1uF。此外,使用4.7uF电解电容器的结果为4842.83 nF〜4.8uF

这样便可以简单地测量任何电容器的电容。

代码

#include <LiquidCrystal.h>LiquidCrystal lcd(2, 3, 4, 5, 6, 7);int32_t Htime;
int32_t Ltime;
float Ttime;
float frequency;
float capacitance;void setup()
{pinMode(8,INPUT);            //pin 8 as signal inputlcd.begin(16, 2);lcd.setCursor(0,0);lcd.print("capacitance =");
}
void loop()
{for (int i=0;i<5;i++)        //measure time duration five times{Ltime=(pulseIn(8,HIGH)+Ltime)/2;        //get average for each cycleHtime=(pulseIn(8,LOW)+Htime)/2;}Ttime = Htime+Ltime;frequency=1000000/Ttime;capacitance = (1.44*1000000000)/(20800*frequency);   //calculating the Capacitance in nFlcd.setCursor(0,1);lcd.print(capacitance);lcd.print(" nF   ");delay(500);
}

使用Arduino的电容表相关推荐

  1. 中国台式电容表市场趋势报告、技术动态创新及市场预测

    台式电容表市场的企业竞争态势 该报告涉及的主要国际市场参与者有Hioki.Chroma.Keysight Technologies.Fluke等.这些参与者的市场份额.收入.公司概况和SWOT分析都包 ...

  2. at89c2051 定时器用法 c语言编程资料,用AT89C2051单片机制作的数字电容表.doc

    用AT89C2051单片机制作的数字电容表 用AT89C2051单片机制作的数字电容表 吴汉清 AT89C2051作为AT89C51的简化版虽然去掉了P0.P2等端口,使I/O口减少了,但是却增加了一 ...

  3. LC100-A全功能型电感电容表,电感表,电容表,LC meter

    ➤ 01测量模块   为了能够自动测量相关的电感.电容.电阻,从淘宝购买到一块LCR测量模块.现在初步测量它的相关性能. ▲ 收到的LC100-A电感电容表的配件 ▲ 测量模块# ▲ LCR100-A ...

  4. LC100-A 全功能电感电容表串口接口

    电感电容测量模块LC100-A 01 串口接口 一.背景介绍 在 博文 LC100-A全功能型电感电容表 给出了通过单片机连接Zigbee的接口模块. 现在准备直接制作一个TTL至RS232转换接口, ...

  5. LC100-A全功能型电感电容表,电感表,电容表,LC meter串口数据

    ➤ 01电感.电容测量模块 1.基本信息   LC100-A全功能型电感电容表,电感表,电容表,LC meter 是在 TB(¥50)购买的模块 ,如何能够直接将结果连入电脑,从而可以达到自动测量呢? ...

  6. 玩转 ESP32 + Arduino (四) 电容按键 霍尔传感器 外部中断 延时 脉冲检测

    一. 电容输入 touchRead(pin) 及电容输入中断touchAttachInterrupt(pin, TSR , threshold) ESP32专门提供了电容触摸传感器的功能, 共有T0, ...

  7. esp32外部中断_玩转 ESP32 + Arduino (四) 电容按键 霍尔传感器 外部中断 延时 脉冲检测...

    一. 电容输入 touchRead(pin) 及电容输入中断touchAttachInterrupt(pin, TSR , threshold) ESP32专门提供了电容触摸传感器的功能, 共有T0, ...

  8. 电阻 电容表 电感表 频率表 测量套件 51单片机 STC89C52 程序 万用表

    测量1000欧姆的电阻: 测量1000UF的电解电容: 测量33UH的电感: 测量22PF的电容:

  9. 胜利6013电容表说明书与如何校正零点

    查零或调零主要在量程低的档位(200pf,2nf,20nf这3个档位需要调零)里头进行查零. 而且调零并不需要短接2个测量线

最新文章

  1. 2018 re:Invent回顾篇:前线开发者眼中AWS的创新版图
  2. LayerDate渲染多个class出现闪现问题的解决
  3. Excel表中分类汇总数据如何只复制结果
  4. 【项目管理】ITTO-风险管理
  5. VTK:Matlab之MatlabEngineFilter
  6. facebook 分享页面_Facebook个人资料,页面和组之间有什么区别?
  7. linux系统中-E,-S,-c的区别和作用(怎么讲代码转化为机器识别的语言)
  8. 软件测试c s系统和b s,对C/S与B/S架构的产品进行系统测试,有哪些不同点与相同点?...
  9. 目标检测性能评价指标mAP、Precision、Recall、IoU
  10. 读张满胜之《英语语法新思维初级教程》
  11. border缩写属性
  12. 江苏高中考计算机,【江苏985录取率】_各省高考985录取率排名,江苏最让人“心疼”,倒数第二...
  13. 眨眼信号分离及MATLAB实现
  14. 用计算机打字打错了怎么办,电脑键盘打字错乱,怎么快速解决?
  15. 【字源大挪移—读书笔记】 第一部分:字首
  16. 1262: 魔法宝石 (“玲珑杯”河南工业大学ACM程序设计大赛)
  17. 定义Mat类型显示未定义
  18. Ubuntu使用gym保存视频报错“Unknown encoder ‘libx264‘”
  19. Uboot sandbox
  20. 国外优秀软件测试网站介绍及测试资料

热门文章

  1. c语言编程小技巧-if空语句用法
  2. flex vue 垂直居中居上_flex 垂直居中、两列对齐、自适应宽
  3. 密友手稿显示牛顿被苹果砸头纯属后人杜撰
  4. 2023最新信息管理毕业设计题目汇总
  5. 美女------聚会
  6. 计算机无法启动怎么重装系统,图文详解电脑开不了机怎么重装系统
  7. 第57章 SQL LCASE() 函数教程
  8. wifi设备名称android,android – 如何更改WiFi直接p2p中的设备名称?
  9. 关于避免审查元素时,修改数据和提交数据,造成恶意审查修改的方法总结
  10. 秒懂集成商,分销商和代理商的区别