使用Arduino的电容表
原文:https://circuitdigest.com/microcontroller-projects/arduino-capacitance-meter-circuit
使用Arduino的电容表
经过**迪利普·拉贾(Dilip Raja)** 2016年4月2日8
该仪表可以容易地制造并且还具有成本效益。我们将使用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的电容表相关推荐
- 中国台式电容表市场趋势报告、技术动态创新及市场预测
台式电容表市场的企业竞争态势 该报告涉及的主要国际市场参与者有Hioki.Chroma.Keysight Technologies.Fluke等.这些参与者的市场份额.收入.公司概况和SWOT分析都包 ...
- at89c2051 定时器用法 c语言编程资料,用AT89C2051单片机制作的数字电容表.doc
用AT89C2051单片机制作的数字电容表 用AT89C2051单片机制作的数字电容表 吴汉清 AT89C2051作为AT89C51的简化版虽然去掉了P0.P2等端口,使I/O口减少了,但是却增加了一 ...
- LC100-A全功能型电感电容表,电感表,电容表,LC meter
➤ 01测量模块 为了能够自动测量相关的电感.电容.电阻,从淘宝购买到一块LCR测量模块.现在初步测量它的相关性能. ▲ 收到的LC100-A电感电容表的配件 ▲ 测量模块# ▲ LCR100-A ...
- LC100-A 全功能电感电容表串口接口
电感电容测量模块LC100-A 01 串口接口 一.背景介绍 在 博文 LC100-A全功能型电感电容表 给出了通过单片机连接Zigbee的接口模块. 现在准备直接制作一个TTL至RS232转换接口, ...
- LC100-A全功能型电感电容表,电感表,电容表,LC meter串口数据
➤ 01电感.电容测量模块 1.基本信息 LC100-A全功能型电感电容表,电感表,电容表,LC meter 是在 TB(¥50)购买的模块 ,如何能够直接将结果连入电脑,从而可以达到自动测量呢? ...
- 玩转 ESP32 + Arduino (四) 电容按键 霍尔传感器 外部中断 延时 脉冲检测
一. 电容输入 touchRead(pin) 及电容输入中断touchAttachInterrupt(pin, TSR , threshold) ESP32专门提供了电容触摸传感器的功能, 共有T0, ...
- esp32外部中断_玩转 ESP32 + Arduino (四) 电容按键 霍尔传感器 外部中断 延时 脉冲检测...
一. 电容输入 touchRead(pin) 及电容输入中断touchAttachInterrupt(pin, TSR , threshold) ESP32专门提供了电容触摸传感器的功能, 共有T0, ...
- 电阻 电容表 电感表 频率表 测量套件 51单片机 STC89C52 程序 万用表
测量1000欧姆的电阻: 测量1000UF的电解电容: 测量33UH的电感: 测量22PF的电容:
- 胜利6013电容表说明书与如何校正零点
查零或调零主要在量程低的档位(200pf,2nf,20nf这3个档位需要调零)里头进行查零. 而且调零并不需要短接2个测量线
最新文章
- 2018 re:Invent回顾篇:前线开发者眼中AWS的创新版图
- LayerDate渲染多个class出现闪现问题的解决
- Excel表中分类汇总数据如何只复制结果
- 【项目管理】ITTO-风险管理
- VTK:Matlab之MatlabEngineFilter
- facebook 分享页面_Facebook个人资料,页面和组之间有什么区别?
- linux系统中-E,-S,-c的区别和作用(怎么讲代码转化为机器识别的语言)
- 软件测试c s系统和b s,对C/S与B/S架构的产品进行系统测试,有哪些不同点与相同点?...
- 目标检测性能评价指标mAP、Precision、Recall、IoU
- 读张满胜之《英语语法新思维初级教程》
- border缩写属性
- 江苏高中考计算机,【江苏985录取率】_各省高考985录取率排名,江苏最让人“心疼”,倒数第二...
- 眨眼信号分离及MATLAB实现
- 用计算机打字打错了怎么办,电脑键盘打字错乱,怎么快速解决?
- 【字源大挪移—读书笔记】 第一部分:字首
- 1262: 魔法宝石 (“玲珑杯”河南工业大学ACM程序设计大赛)
- 定义Mat类型显示未定义
- Ubuntu使用gym保存视频报错“Unknown encoder ‘libx264‘”
- Uboot sandbox
- 国外优秀软件测试网站介绍及测试资料