怎样用把接收到脉冲信号转换成频率信号 点击:5466 | 回复:11



爱笑的一鸣惊人

    
  • 精华:0帖
  • 求助:8帖
  • 帖子:20帖 | 42回
  • 年度积分:0
  • 历史总积分:206
  • 注册:2012年8月18日
发表于:2012-12-23 14:56:07
楼主
我用的板卡能够计数接收到的脉冲的个数,有一个函数是设置计数器的初值,还有一个函数是读取计数器的数值。怎样能够能够计算出脉冲的频率



bibird

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 30回
  • 年度积分:0
  • 历史总积分:133
  • 注册:2002年9月20日
发表于:2012-12-23 16:58:38
1楼
取一个时间段,比如100毫秒,计量脉冲数,F=脉冲数/0.1秒。或者:计算一个脉冲的时间长度,取倒数就是频率。

wyb2866255---王者之师

  • 精华:57帖
  • 求助:0帖
  • 帖子:148帖 | 2872回
  • 年度积分:1
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2012-12-23 22:45:32
2楼

可以设计一个电路来实现测量技术脉冲的频率值,见下图:

     该电路是由4081(2输入4入门)、4013(双D触发器)二块集成块和电阻电容组成,U1A构成输出脉宽=1秒的单稳态电路,U1B构成输出脉宽=0.1秒的单稳态电路,当开关闭合时,使U2A输入2脚由0↑1,使其输出3脚输出一正跳脉冲,使U1A反转,U1A的2脚(Q\)由0↑1,这上跳沿通过U2A进入卡板的计数复位口(即容许设置计数器的初值的函数启动设初值=0),U1A的2脚输出脉宽=1秒的正脉冲去U2C的输入9脚,使计数脉冲可以通过U2C门进入卡板计数器的计数口计数。U1A的1脚(Q)输出脉宽=1秒的负脉冲,10后沿通过U2B进入卡板的读取数据口(即读取计数器的数值的函数启动读取这1秒内的计数值),这读取的计数值是计数器在在1秒内记得的脉冲个数,即为该脉冲的频率值。

wyb2866255---王者之师

  • 精华:57帖
  • 求助:0帖
  • 帖子:148帖 | 2872回
  • 年度积分:1
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2012-12-23 22:59:39
3楼
U1A1脚输出的脉宽=1秒的负脉冲的后沿(上跳沿)触发U1B的CLK端,使U1B的Q端输出脉宽=0.1秒的负脉冲,给U2A的输入1脚,使U1A的CLK=0,其脉冲的后沿正突跳触发U1A,使U1A的Q\输出宽度=1秒正脉冲。。。。(即构成正脉宽=1S,复脉宽=0.1S的振荡器)不断的读取脉冲频率数据。

liujian5118

  • 精华:2帖
  • 求助:8帖
  • 帖子:31帖 | 3109回
  • 年度积分:199
  • 历史总积分:19924
  • 注册:2009年3月25日
发表于:2012-12-24 08:08:07
4楼

楼上两种方法在感觉在频率高的时候有效,当频率低于特别是1HZ的时候,计数不太行!感觉低频的时候还是回到周期倒数去处理可能会更准点

爱笑的一鸣惊人

  • 精华:0帖
  • 求助:8帖
  • 帖子:20帖 | 42回
  • 年度积分:0
  • 历史总积分:206
  • 注册:2012年8月18日
发表于:2012-12-24 08:35:19
5楼
回复内容:
对:bibird关于取一个时间段,比如100毫秒,计量脉冲数,F=脉冲数/0.1秒。或者:计算一个脉冲的时间长度,取倒数就是频率。 内容的回复:


我就是按照前面这个思维弄得。用Labview编程的时候不知道怎样达到这个效果

爱笑的一鸣惊人

  • 精华:0帖
  • 求助:8帖
  • 帖子:20帖 | 42回
  • 年度积分:0
  • 历史总积分:206
  • 注册:2012年8月18日
发表于:2012-12-24 08:42:50
6楼
回复内容:
对:wyb2866255---王者之师关于可以设计一个电路来实现测量技术脉冲的频率值,见下图:     该电路是由4081(2输入4入门)、4013(双D触发器)二块集成块和电阻电容组成,U1A构成输出脉宽=1秒的单稳态电路,U1B构成输出脉宽=0.1秒的单稳态电路,当开关闭合时,使U2A输入2脚由0↑1,使其输出3脚输出一正跳脉冲,使U1A反转,U1A的2脚(Q\)由0↑1,这上跳沿通过U2A进入卡板的计数复位口(即容许设置计数器的初值的函数启动设初值=0),U1A的2脚输出脉宽=1秒的正脉冲去U2C的输入9脚,使计数脉冲可以通过U2C门进入卡板计数器的计数口计数。U1A的1脚(Q)输出脉宽=1秒的负脉冲,10后沿通过U2B进入卡板的读取数据口(即读取计数器的数值的函数启动读取这1秒内的计数值),这读取的计数值是计数器在在1秒内记得的脉冲个数,即为该脉冲的频率值。内容的回复:                                                                                                                                                                               

我想用Labview实现这个计算。您这个对于我来说太深奥了

爱笑的一鸣惊人

  • 精华:0帖
  • 求助:8帖
  • 帖子:20帖 | 42回
  • 年度积分:0
  • 历史总积分:206
  • 注册:2012年8月18日
发表于:2012-12-24 08:45:12
7楼
回复内容:
对:liujian5118关于楼上两种方法在感觉在频率高的时候有效,当频率低于特别是1HZ的时候,计数不太行!感觉低频的时候还是回到周期倒数去处理可能会更准点内容的回复:我要采集的信号时5KHz-----15KHz


秦君_1

  • 精华:8帖
  • 求助:22帖
  • 帖子:148帖 | 4867回
  • 年度积分:1651
  • 历史总积分:39896
  • 注册:2005年6月28日
发表于:2012-12-24 09:02:02
8楼
引用 bibird 的回复内容:取一个时间段,比如100毫秒,计量脉冲数,F=脉冲数/0.1秒。或者:计算一个脉冲的时间长度,取倒数就是频率。



计量脉冲数要减去初值啊!

爱笑的一鸣惊人

  • 精华:0帖
  • 求助:8帖
  • 帖子:20帖 | 42回
  • 年度积分:0
  • 历史总积分:206
  • 注册:2012年8月18日
发表于:2012-12-24 09:12:42
9楼
我也想用这种方法。设置的时间和采集的脉冲的初值改变了。采集出来的频率总是变。我就不确定我那个程序是不是有问题了。采集脉冲的时间和采集脉冲的个数是对应的

wyb2866255---王者之师

  • 精华:57帖
  • 求助:0帖
  • 帖子:148帖 | 2872回
  • 年度积分:1
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2012-12-24 10:21:48
10楼

楼主:你没有说明可以用计算机、PLC等设备实现求脉冲频率,所以才给你出个硬件电路与卡板连接实现求频率的目的。如果用计算机、PLC等设备实现求脉冲频率就简单多了,测相邻二个脉冲的时间,再作求倒数运算,其商就是脉冲频率。

爱笑的一鸣惊人

  • 精华:0帖
  • 求助:8帖
  • 帖子:20帖 | 42回
  • 年度积分:0
  • 历史总积分:206
  • 注册:2012年8月18日
发表于:2012-12-24 10:31:15
11楼
是我没有说清楚。我也想按这种思路编。Labview中给出了两个函数一个是读取计数器的值,另一个是设置计数器的初值,这个是按倒数计数的。请问怎样编呀。我接收到的频率是5KHz-----15KHz


热门招聘
相关主题

官方公众号

智造工程师