在本文中,我们将使用Arduino构造数字频率计,其读数将在16x2 LCD显示器上展示读数,并且将从35 Hz至1MHz的测量范围。
介绍
作为电子爱好者,我们都会遇到我们需要在我们的项目中测量频率的观点。
此时我们本来已经意识到示波器是一种用于测量频率的有用工具。但是,我们都知道示波器是一个昂贵的工具,并非所有的爱好者都能负担得起,并且示波器可能是初学者的矫枉过正的工具。
为了克服测量频率的问题,Hobbyist不需要昂贵的示波器,我们只需要一个可以使用合理精度测量频率的频率计。
在本文中,我们将制作一个频率计,易于构建和初学者友好,甚至在Arduino中的Noob可以轻松完成。
在进行建设细节之前,让我们探索频率以及如何测量它。
什么是频率?(对于noobs)
我们熟悉术语频率,但它真的意味着什么?
嗯,频率定义为每秒振荡或周期数。这个定义是什么意思?
这意味着“某些东西”的次数在一秒钟内上下上下。例如,我们居住的AC电源的频率:“电压”的幅度('电压'被“电压”取代)上升(+)和下降( - ),在一秒钟内,在大多数国家是50倍。
一个周期或一个振荡包括上下。因此,一个循环/振荡是幅度从零到正峰值,并回到零并变为负峰值并返回到零。
“时间段”也是在处理频率的同时使用的术语。时间段是完成“一个循环”所需的时间。它也是频率的倒数值。例如,50 Hz有20毫秒的时间段。
1/50 = 0.02秒或20毫秒
到现在,您将对频率及其相关术语有一些想法。
如何测量频率?
我们知道一个循环是高信号的组合。为了测量高信号的持续时间,我们在Arduino中使用“Planein”。脉冲素(引脚,高)测量高信号的持续时间和脉冲素(引脚,低)测量低信号的持续时间。添加了两者的脉冲持续时间,其提供一个循环的时间段。
然后计算确定的时间段一秒钟。这是通过以下公式完成的:
freq = microSeconds中的1000000 /时间段
从Arduino的时间段以微秒为单位。Arduino不会为整个第二秒对输入频率进行样本,但通过分析一个周期的时间段,它可以准确地预测频率。
现在您知道Arduino如何测量并计算频率。
电路:
该电路由Arduino组成,该Arduino是项目的大脑,16x2 LCD显示器,IC 7404逆变器和一个电位计用于调整对比度液晶显示器。
所提出的设置可以测量35Hz到1 MHz。
Arduino显示连接:
上图是不言自明的,Arduino和Display之间的接线连接是标准的,我们可以在其他Arduino和基于LCD的项目上找到类似的连接。
The above diagram consists of inverter IC 7404. The role of IC 7404 is to eliminate noise from the input, so that the noise won’t propagate to arduino which might give false readings and IC 7404 can tolerate short spike voltage which will not pass to arduino pins. IC 7404 only outputs rectangular waves where arduino can measure easily compare to analogue waves.
注意:峰值输入的最大峰值不应超过5V。
程序:
// -----由r.girish开发的程序----- //
#include
液晶LCD(12,11,5,4,3,2);
X;
int y;
浮动时间;
浮动频率;
const int输入= a0;
const int test = 9;
void setup()
{
PINMODE(输入,输入);
Pinmode(测试,输出);
LCD.BEGIN(16,2);
Amplwwrite(测试,127);
}
void循环()
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print(“频率计”);
x =脉冲(输入,高);
Y =脉冲(输入,低);
时间= x + y;
频率= 1000000 /时间;
if(频率<= 0)
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print(“频率计”);
lcd.setCursor(0,1);
lcd.print(“0.00 Hz”);
}
别的
{
lcd.setCursor(0,1);
lcd.print(频率);
lcd.print(“Hz”);
}
延迟(1000);
}
// -----由r.girish开发的程序----- //
测试频率计:
一旦您成功构建了该项目,有必要检查一切是否正常工作。我们必须使用已知的频率来确认读数。为了完成此目的,我们正在使用Arduino的内置PWM功能,该功能具有490Hz的频率。
在程序引脚#9中启用了50%占空比的490Hz,用户可以抓取频率计的输入线并插入Arduino的PIN#9,如图所示,我们可以在LCD显示屏上看到490 Hz(具有一些宽容),如果提到的程序是成功的,您的频率计已准备好为您提供实验。
作者的原型:
用户还可以使用外部频率发生器测试此Arduino频率计电路原型,该电路原型在上面图像中示出。
我们可以使用这款姜素Cheq主板32MHz水晶频率吗?
GR先生很快就会回答你的问题......
嗨rajesh,
如果要将晶体端子直接连接到频率计数器的输入,则为否。
此频率计数器也只能在1 MHz下读取,即我的假设。
问候
*不仅仅是假设,而且,电路的最大限制。