毫无疑问,频率是任何电子设备的基本参数之一。频率是指振荡运动和振动的频率。在电气和电子学中,频率测量的是流过电路的电流振荡运动的速率。频率的国际单位是赫兹,等于每秒1周。想知道如何测量这些复杂的参数吗?本文介绍了一种频率计数器,一种测量频率的测试设备。在本文最后,您还将了解如何使用ARDUINO为自己制作一个。我们开始吧,好吗?

什么是频率?

用最简单的术语来说,频率就是某物重复自身的频率。当我们谈论电流时,它意味着正弦波重复或完成一个周期的速率。电力线频率通常为50hz或60hz,

什么是频率计数器?

频率计数器是一种精确测量频率的测试仪器。你可以在许多射频(RF)中找到它的应用,用来测量重复信号的频率。如今,数字频率计数器已经应用于各种电路中。

频率计数器的基本工作原理是计算在特定时间段内通过触发点(主要是电压触发点)的时间信号的次数。

可以将触发点设置为所需的值,如果不设置,它通常是一个过零点。例如,如果您想计算信号的数量,并且您将时间点设置为秒,那么计数器将计算信号越过触发点的次数。如果它跨越50次,你可以说信号的频率是50周/秒或50赫兹。

频率计数器的应用

频率计数器在不同的仪器中得到应用,这些仪器依赖于频率。然而,频率必须是稳定的,才能得到准确的结果。这些用于测量发射机载波、电路中的振荡器、模拟信号和数字信号等的频率。简而言之,只要需要测量重复信号的频率,就可以使用频率计数器。

频率计数器采用Arduino(高达40KHz)。

这个使用Arduino的频率计数器是基于UNO版本的,可以计数到40KHz。本项目所用部件如下:

的组件列表

  • 16×2液晶显示器
  • Arduino集成电路
  • 5 v电压源
  • 10K欧姆电阻1
  • 560欧姆电阻器-1
  • 领导

一个16×2 LCD显示器用于显示频率计数。该电路具有最小的外部元件和直接计数的频率。无论如何,输入频率的振幅不能大于5V。如果你想测量超过5V的信号,必须添加额外的限制电路,我将在其他时间展示它。现在就用5V信号。

要计数的频率连接Arduino的数字管脚12。这里使用pulseIn()函数来计算连接到引脚12的频率。函数的作用是:计算到达Arduino特定引脚的脉冲数(HIGH或LOW)。这个函数的一般语法是pulseIn(销、价值、时间)在哪里的销别针的名字是th吗e值是HIGH还是LOW时间是函数等待脉冲的时间。如果在指定的时间内没有有效的脉冲,则函数返回0。pulseIn()函数的作用是:对脉冲进行计数,时间范围为10 μS ~ 3分钟。使用Arduino的频率计数器电路图如下所示。

使用arduino的频率计数器

电位器R1用于调节LCD屏幕的对比度。电阻R2限制通过背光LED的电流。

在程序中,输入信号的高时间和低时间测量使用单独的脉冲sein()函数。然后将高次数和低次数相加得到信号的总时间周期。频率是1/时间周期,单位是秒。函数的作用是:以微秒为单位返回时间周期。总时间周期(以微秒为单位)先除以1000。然后1000除以结果得到以赫兹为单位的频率。使用Arduino的频率计数器程序如下图所示。

程序

#include  int input=12;int high_time;int low_time;浮动time_period;浮动频率;液晶显示(7,6,5,4,3,2);void setup() {pinMode(input, input);液晶显示器。开始(16日2);} void loop() {lcd.clear(); lcd.setCursor(0,0); lcd.print("Frequency Meter"); high_time=pulseIn(input,HIGH); low_time=pulseIn(input,LOW); time_period=high_time+low_time; time_period=time_period/1000; frequency=1000/time_period; lcd.setCursor(0,1); lcd.print(frequency); lcd.print(" Hz"); delay(500); }

电路的应用

电路可以通过Arduino的9V外部电源插孔供电,电路部分需要的5V DC可以从Arduino本身内置的5V调节器抽头。这其实是一个简单的Arduino计数器电路。我们可以对该电路进行修改,用于转速计、入侵计数器等其他应用。

结论

频率计数器是一种重要的测试仪器,有着广泛的应用。您可以很容易地创建一个使用Arduino的程序和电路,我们已经在这篇基于项目的文章中讨论过。您可以经常试验电路并构建自己的频率计数器。希望本文能够帮助您了解关于频率和频率计数器的基本知识。

18评论

  1. nandhini

    两个步进电机的输入速度
    输出数字频率脉冲,必须进一步给驱动电路

  2. nandhini

    嗨,请帮我编码

    输入应该是两个步进电机的速度,必须通过arduino转换成相应的数字频率脉冲。
    进一步给出了驱动器的输出频率脉冲。

  3. 萨钦

    你好,
    我在做一个发电机远程监控的项目。我在项目的某些部分遇到了一些困难。你能给我引路吗?我可以提供我的代码和电路仿真。

    谢谢你!

  4. 苦艾酒

    这是好的,但如何限制输入频率的峰值电压,也处理浮动输入-例如,摆动之间,说,-10v和+10v。我的倾向是使用一个运放缓冲器与3v9齐纳之间的输出和地(加上一个负载电阻,当然)。它也可以用来将正弦波和其他非方波塑成方波。

    计数器能起作用的下限是多少?

  5. neckos

    我试着测量音频。这个编码能够做到这一点吗?

  6. ANJANEY

    是否可以将正弦信号应用到输入引脚

  7. ANJANEY

    你好先生
    如果我同时改变输入信号的频率它是否显示出与输入相同的准确输出频率。

    给我这个程序在proteus模拟的屏幕截图。我没有得到输出

    • ANJANEY

      是否可以将正弦信号应用到输入引脚

    • 乔乔

      @champasit -请接通电路并使用我们给出的代码。我们已经在实验室里测试过了!

      • ANJANEY

        乔乔,你是怎么申请的

        脉冲输入?吗?

  8. Debashish Mohapatra

    你能告诉我你在用什么软件画电路吗?