0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用Arduino制作电感LC表

科技观察员 来源:circuitdigest 作者:萨达姆 2022-11-07 16:31 次阅读

所有嵌入式爱好者都熟悉万用表,它是测量电压、电流电阻等的绝佳工具。万用表可以轻松测量它们。但有时我们需要测量电感和电容,这是普通万用表无法做到的。有一些特殊的万用表可以测量电感和电容,但它们很昂贵。所以今天我们将使用Arduino制作电感LC表。在本项目中,我们将显示电感和电容值以及16x2 LCD显示器的频率。电路中有一个按钮,用于在电容和电感显示之间切换。

所需组件

Arduino Uno

741运算放大器IC

3V电池

100欧姆电阻器

电容器

电感

1N4007 二极管

10k 电阻器

10k锅

电源

按钮

面包板或印刷电路板

连接线

poYBAGNowk2AZXy3AABi17J1dJA664.jpg

计算频率和电感

在本项目中,我们将通过使用并联的LC电路来测量电感和电容。这个电路就像一个铃声或铃铛,以一定的频率开始共振。每当我们施加脉冲时,该LC电路将开始谐振,并且该谐振频率以模拟(正弦波)的形式出现,因此我们需要将其转换为流绅波。为此,我们将这个模拟谐振频率应用于运算放大器(在我们的例子中为741),运算放大器将在占空比的50%将其转换为流绅波(频率)。现在我们使用Arduino测量频率,并通过一些数学计算,我们可以找到电感或电容。我们使用了给定的LC电路频率响应公式。

f=1/(2*time)

其中 pulseIn() 函数输出时间

现在我们有LC电路频率:

f=1/2*Pi* square root of (LC)

我们可以解决它以获得电感:

f2 = 1/ (4Pi2LC)

L= 1/ (4Pi2 f2C)

L = 1/(4* Pi * Pi * f * f * C)

正如我们已经提到的,我们的波是正弦波,因此它在正负振幅上具有相同的时间段。这意味着比较器将其转换为占空比为50%的方波。这样我们就可以使用 Arduino 的 pulseIn() 函数来测量它。这个函数会给我们一个时间段,可以通过反转时间段轻松转换为频率。由于 pulseIn 函数只测量一个脉冲,所以现在要获得正确的频率,我们必须将其乘以 2。现在我们有一个频率,可以使用上述公式将其转换为电感。

注意:测量电感(L1)时,电容器(C1)值应为0.1uF,测量电容(C1)时,电感(L1)值应为10mH。

电路图及说明

在此LC仪表电路图中,我们使用Arduino来控制项目操作。在此,我们使用了LC电路。该LC电路由电感器和电容器组成。为了将正弦谐振频率转换为数字或方波,我们使用了运算放大器,即741。这里我们需要对运算放大器施加负电源以获得准确的输出频率。所以我们用一个反极性的3v电池连接,意味着741负极连接到电池负极,电池的正极连接到剩余电路的接地。有关更多说明,请参见下面的电路图。

pYYBAGNowk-AddnPAACFHDt4g7g205.png

在这里,我们有一个按钮来更改工作模式,无论我们是测量电感还是电容。16x2 LCD用于显示电感或电容与LC电路的频率。10k电位器用于控制LCD的亮度。电路在Arduino 5v电源的帮助下供电,我们可以使用USB或12v适配器为Arduino供电5v。

poYBAGNowleAeJA7AADgDY-VROE403.jpg

pYYBAGNowluAXJ63AAD0AIkNxnw463.jpg

编程说明

该液相色谱仪项目的编程部分非常简单。本文末尾给出了完整的Arduino代码。

首先,我们必须包含LCD库并声明一些引脚和宏。

#include

LiquidCrystal lcd(A5, A4, A3, A2, A1, A0);

#define serial

#define charge 3

#define freqIn 2

#define mode 10

#define Delay 15

double frequency, capacitance, inductance;

typedef struct

{

int flag: 1;

}Flag;

Flag Bit;

之后,在设置功能中,我们初始化了LCD和串行通信,以在LCD和串行监视器上显示测量值。

void setup()

{

#ifdef serial

Serial.begin(9600);

#endif

lcd.begin(16, 2);

pinMode(freqIn, INPUT);

pinMode(charge, OUTPUT);

pinMode(mode, INPUT_PULLUP);

lcd.print(" LC Meter Using ");

lcd.setCursor(0, 1);

lcd.print(" Arduino ");

delay(2000);

lcd.clear();

lcd.print("Circuit Digest");

delay(2000);

}

然后在环路功能中,将固定时间段的脉冲施加到LC电路,该脉冲将为LC电路充电。去除脉冲后,LC电路开始谐振。然后,我们使用pulseIn()函数读取来自运算放大器的方波转换,并通过乘以2进行转换。在这里,我们也对此进行了一些采样。这就是频率的计算方式:

void loop()

{

for(int i=0;i

{

digitalWrite(charge, HIGH);

delayMicroseconds(100);

digitalWrite(charge, LOW);

delayMicroseconds(50);

double Pulse = pulseIn(freqIn, HIGH, 10000);

if (Pulse > 0.1)

frequency+= 1.E6 / (2 * Pulse);

delay(20);

}

frequency/=Delay;

#ifdef serial

Serial.print("frequency:");

Serial.print( frequency );

Serial.print(" Hz ");

#endif

lcd.setCursor(0, 0);

lcd.print("freq:");

lcd.print( frequency );

lcd.print(" Hz ");

获得频率值后,我们使用给定的代码段将它们转换为电感

capacitance = 0.1E-6;

inductance = (1. / (capacitance * frequency * frequency * 4.*3.14159 * 3.14159)) * 1.E6;

#ifdef serial

Serial.print("Ind:");

if(inductance>=1000)

{

Serial.print( inductance/1000 );

Serial.println(" mH");

}

else

{

Serial.print( inductance );

Serial.println(" uH");

}

#endif

lcd.setCursor(0, 1);

lcd.print("Ind:");

if(inductance>=1000)

{

lcd.print( inductance/1000 );

lcd.print(" mH ");

}

else

{

lcd.print( inductance );

lcd.print(" uH ");

}

}

And by using given code we calculatedcapacitance.

if (Bit.flag)

{

inductance = 1.E-3;

capacitance = ((1. / (inductance * frequency * frequency * 4.*3.14159 * 3.14159)) * 1.E9);

if((int)capacitance < 0)

capacitance=0;

#ifdef serial

Serial.print("Capacitance:");

Serial.print( capacitance,6);

Serial.println(" uF ");

#endif

lcd.setCursor(0, 1);

lcd.print("Cap: ");

if(capacitance > 47)

{

lcd.print( (capacitance/1000));

lcd.print(" uF ");

}

else

{

lcd.print(capacitance);

lcd.print(" nF ");

}

}

这就是我们使用Arduino计算频率,电容和电感并将其显示在16x2 LCD上的方式。

#include

LiquidCrystal lcd(A5, A4, A3, A2, A1, A0);


#define serial


#define charge 3

#define freqIn 2

#define mode 10


#define Delay 15


double frequency, capacitance, inductance;


typedef struct

{

int flag: 1;

}Flag;


Flag Bit;


void setup()

{

#ifdef serial

Serial.begin(9600);

#endif

lcd.begin(16, 2);

pinMode(freqIn, INPUT);

pinMode(charge, OUTPUT);

pinMode(mode, INPUT_PULLUP);

lcd.print(" LC Meter Using ");

lcd.setCursor(0, 1);

lcd.print(" Arduino ");

delay(2000);

lcd.clear();

lcd.print("Circuit Digest");

delay(2000);

}


void loop()

{

for(int i=0;i


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 电感
    +关注

    关注

    54

    文章

    6110

    浏览量

    102140
  • Arduino
    +关注

    关注

    187

    文章

    6462

    浏览量

    186613
收藏 人收藏

    评论

    相关推荐

    简单的电感/电容制作

    电子爱好者在制作均衡电容、音箱分频电感时,稍有误差就会令音质受到损害。这里向广大爱好者介绍一款制作简单的电感/电容,电路数字显示,直观、方
    发表于 09-29 14:14 4819次阅读
    简单的<b class='flag-5'>电感</b>/电容<b class='flag-5'>表</b><b class='flag-5'>制作</b>

    怎么制作数字显示电感/电容

    怎么制作数字显示电感/电容
    发表于 05-12 06:00

    LC滤波器设计与制作

    衰减器设计方法和电感线圈的设计、制作和测试方法。  《LC滤波器设计与制作》可作为信号处理、信息通信等相关领域的工程技术人员的参考书,也可供大专院校的师生参考使用。作者简介· · ·
    发表于 08-06 16:29

    制作基于Arduino的多功能电能

    描述在本教程中,我将向您展示如何制作基于 Arduino 的多功能电能。这个小仪表是一个非常有用的设备,可以显示有关电气参数的重要信息。该设备可以测量 6 个有用的电气参数:电压、电流、功率、能量
    发表于 08-10 06:33

    LC滤波器设计与制作

    LC滤波器设计与制作本书是“图解实用电子技术丛书”之一。本书作为一本介绍LC滤波器设计和制作方法的实用性图书,内容包括了经典设计方法和现代设计方法,如定K型、m推演型
    发表于 03-19 08:26 0次下载

    精确的数位式LC(电感/电容) (based on PIC

    精确的数位式LC(电感/电容) (based on PIC16F84A)电感、电容是基本的发震组件,其与频率的关系可以以下列的公式来表示,为了能确定一些未知的
    发表于 10-06 10:58 122次下载

    数字万用能测量LC(电感/电容)的附加电路

    数字万用能测量LC(电感/电容)的附加电路 袖珍型数字万用没有LC测量功能,即使便携式数万用
    发表于 11-22 00:38 3419次阅读

    基于Arduino的触摸变色台灯制作

    arduino制作LED灯
    发表于 01-22 13:20 15次下载

    几个Arduino创意制作分享

    手上有一块闲置的Arduino开发板,某天,空闲的我碰上了闲置的它,准备利用它开发某物玩玩,就在比较熟知的电子电路网和与非网论坛上搜索Arduino制作实例,搜索的结果有上百个,从中挑选了七个
    发表于 10-16 16:09 6次下载

    LC VCO片上电感设计

    本文档内容介绍了基于LC VCO片上电感设计,供参考
    发表于 04-10 16:58 12次下载

    Arduino电压制作

    首先,我们必须搜索Internet上的LC Display-数据。在这种情况下,我在这里使用了此Display:
    的头像 发表于 10-29 09:14 9565次阅读

    Arduino制作VU

    电子发烧友网站提供《用Arduino制作VU.zip》资料免费下载
    发表于 02-06 14:14 0次下载
    用<b class='flag-5'>Arduino</b><b class='flag-5'>制作</b>VU<b class='flag-5'>表</b>

    arduino uno制作暗/亮电平

    电子发烧友网站提供《用arduino uno制作暗/亮电平.zip》资料免费下载
    发表于 07-04 09:35 0次下载
    用<b class='flag-5'>arduino</b> uno<b class='flag-5'>制作</b>暗/亮电平<b class='flag-5'>表</b>

    LC滤波器的设计与制作

    电子发烧友网站提供《LC滤波器的设计与制作.zip》资料免费下载
    发表于 11-21 10:17 37次下载
    <b class='flag-5'>LC</b>滤波器的设计与<b class='flag-5'>制作</b>

    Arduino制作循迹小车教程

    Arduino制作循迹小车完全教程
    发表于 01-05 11:09 7次下载