成为订阅者(免费)

加入29,000名其他订阅者以获得用户销售折扣和 其他免费资源。
:
:
大学教师'担心 - 您的邮件地址完全是 安全的。我保证使用它 只要 到 send you MicroZine.

频率计数器技术

一个简单的频率计数器测量频率 通过在定义的时间内计算输入信号的边缘数 time (T).

更复杂的方法是  互惠数计数.

频率被定义为(事件数)/(以秒为单位) and measured in Hz.

使用1秒门时间(t)进行计算琐碎 直接读取边缘计数器的频率。

频率计数器算法

为高达65.536khz的频率进行频率计数器很容易 PIC芯片中的计数器可倒入65535,而不会溢出。

最多65.535khz你所做的就是等待1秒钟而计数 累积,读取值并显示它。它将是赫兹的频率。 超过65.536khz,您必须监控溢出值 同一等 time 做出准确的延迟时间(t)。

注意:使用1秒测量期结果 频率计数计数值是频率的直接测量 没有进一步处理。这也意味着测量结果被解析为1Hz。 (使用T = 0.1s的同时,增加T到10s将在0.1Hz上解析为 10Hz).

立即获取频率计数器

这里'是一系列可以购买的频率计数器 Ebay (if you don'想要弥补自己的然后你可以得到一个 便宜货 在这里 - 它将有所有的前面 为您制作的最终电路)。  

只需点击您想要并开始的计数器 bidding.


水晶振荡器

对于以下项目晶体振荡器(其中) 微控制器)用作时基。在这些项目中测量t (设置在一秒)是通过执行需要设定的延迟来进行的 machine cycles.

使用4MHz振荡器提供1MHz的机器循环(一个时期 1US)从大多数情况下使计算和设定时间延迟相当容易 PIC指令在一台机器周期中执行。所以执行1,000,000的这些 循环延迟为1秒钟。

频率计数器准确性

频率计数器的准确性取决于精度 驾驶微控制器的水晶。

PPM计算

这在ppm或百万分之之间指定。其实 相当简单:为4MHz水晶迈出±50ppm的例子。错误那个 晶体可能有(假设晶体被加载正确 电容)将在范围内:

最大可能误差4MHz +(4MHz x 50 x 1e-6)= 4.0002e6
最大可能误差4MHz - (4MHz x 50 x 1e-6)= 39998e6

所以晶体可以在任何频率之间振荡 4000200Hz和3999800Hz。请注意,此频率可以改变(有点) 改变晶体上的装载电容i.e.您可以校准它。

延迟时间是上面的重要测量 FOSC / 4)的水晶为PIC芯片的循环时间(名义上是1MHz) have:

最大循环时间:1 /(1.00005E6)或1 /(1MHz + 50ppm)
最小循环时间:1 /(0.99995E6)或1 /(1MHz - 50ppm)

乘以1E6给出1秒的时间给出延迟 time

最小延迟时间:1E6 /(1.00005E6)0.99995s或(1s - 1s x 50ppm) seconds.
最大延迟时间:1E6 /(9.9995E6)1.00005s或(1s + 1s x 50ppm)秒。

所以你不'T必须计算所有中间步骤 直接使用ppm值。

注意:如果您有更多的参考振荡器 比频率计数器项目中使用的晶体准确,然后您可以 校准项目晶体。您可以通过调整变量来执行此操作 读取时晶体振荡器电路一侧的电容器 显示输出频率。如果你不'T有一个参考,然后使用固定的 电容器为水晶提供正确的并联负载电容 use.

常见的晶体

常用晶体具有±30ppm的PPM规格 到±50ppm(百万分之一的错误),但你可以用ppm购买晶体 ±20ppm。 ppm值越小(误差越小)更准确 您可以测量频率。

看水晶

注意:除非您,否则温度系数约为±50ppm 使用温度系数为0.034的钟表晶体 ±0.006ppm /ºC。如果温度不会改变,那么这将不会 影响精度e.g.在建筑物中控制的温度或 手表佩戴的地方,即你的体温充当温度 controller!

非常精确的水晶 

还有另外两个准确的系统通常非常昂贵, 当然,对于极端准确性要求,这些费用更多的钱(并使用更多 电力,占用更多空间)。

TCXO

温控晶体振荡器

这些只是位于热源和传感器旁边的晶体,以试图和 保持相对恒定的温度 - 密封在包装中。

ocxo.

烤箱控制晶体振荡器

因为它们如此准确,所以使用了不同的测量即,而不是 PPM(百万分之一)他们使用(PPB)百亿零件。

他们使用腔室被加热到恒定的温度,无论如何 外部温度并允许内部的电子(和晶体)操作 最准确的输出可以使用水晶。

因此,ocxos非常昂贵。

要注意的参数是热身时间(因为它包含一个加热器 需要几分钟才能达到正确的温度)因此设备可以 不要立即使用,你打开它。

晶体振荡器精度的比较

类型 准确性(PPM / PPB) 准确性 老化/
10 Year
老化/ 10年
水晶 10ppm-100ppm. 10-5 - 10-4 10-20ppm. 10x10-6
TCXO 1ppm 10-6 3ppm 3x10-6
ocxo. 5-10MHz. 0.02ppm.
(20ppb)
2x10-8 〜0.2ppm(200bpp) 0.2x10-6
ocxo.
15-100MHz.
0.5ppm
(500ppb)
5x10-7 ~10ppb 1x10-8
铷原子 1x10-6PPM(0.001ppb) 10-12 0.005ppm(5ppb) 5x10-9

资源 维基百科

注意:您还将遇到另一个参数:老化描述了 由于老化组件,随着时间的推移而变化。还有漂移 时间。它可以得到非常复杂和冒险这个网站(febo.com.) 已 有关频率稳定性方面的有用信息。

注意:新的超准确OCXO可从 IQD (±0.2ppb ocxo)即100倍优于上述正常精度。

还有其他方法可以将准确的时钟变成电路。用一个 属于别人:

  • 从GPS单元中得出时钟。
  • 从无线电源获得时钟。 WWVB,MSF,DCF77等

频率计数器要求

有两个要求 

  1. 计算输入事件(边缘)。
  2. 测量时间。

计算事件 

定时器1是频率测量(计数边缘)的理想选择 它用作16位计数器,直接从端口占用 pin. 

如果Timer 1不可用,则可以使用计时器0。唯一的 区别在于Timer0是8位计数器(增强到18F中的16位 parts).

计时器的最大计数是65535,还有一个计数 设置溢出标志(计时器再次读取零)。计算 溢出次数给出了65536的倍数并读取值 TMR1最终将提供总边缘计数 measurement - T.

测量时间

有两种方法可以测量时间。

  1. 使用中断。
  2. 代码中的延迟。

中断

LCD频率计数器的当前设计使用定时器1作为事件 计数器和计时器0作为时间计数器。使用LCD提供了相当容易的 以高级语言显示结果的方式通常包括驱动程序 LCD。使用LCD不需要任何特殊技术,它可以是 updated quickly.

它可以工作,只要你不一样'错过了一个事件(对Timer1不是太快的中断 - 但它可以处理相当快的信号)。由于溢出是16位 无论如何,定时器实际中断到处理器都很慢。

使用256溢出(定时器0)使用1MHz内部时钟计算时间 那不是太快。

你可以找到 液晶 柜台项目在这里。

延误

不建议使用此方法,但它确实有效。由于处理器需要一个 每个指令的定义时间您可以创建所需的任何延迟。

如果您创建了一秒钟的延迟,那么内部的事件数量 该延迟将是Hz中的频率。您可以看到设计中使用的此方法 在使用16F84的Web上(只有1个定时器 - timer0)。另见 7SEGUNTION显示驱动器和频率计数器。

第二个项目使用几个七个段显示提供 一个8位数的输出到驱动器更复杂,但它更加复杂 比LCD显示屏令人满意。

你可以找到 七 段LED计数器项目在这里。

要在多个7段上显示数字,请显示您依赖的 视力持久性(一种描述你的眼睛如何感知光线)。

使用单个7段显示,您可以所有 直接连接到微控制器,您需要共8个 连接,具有2个段,您需要16个连接,以及8个段 need 64 connections.

显然大多数微控制器都不't有64个引脚,所以你需要 a different method.

答案是使用多路复用,这是一种回收方式 别针。所有七个段显示器都连接到相同的8位端口。然后 显示器是多路复用的i.e.每个显示器都打开短时间 时间然后关闭。您通常会通过切换七个段显示 打开连接到常见阴极(地)的晶体管 展示。当晶体管位于所有LED上时 - 相应的 当8位端口中有点高时,LED亮起。

以下示例显示了四个多路复用七个段显示使用 只有12个引脚(无需复用,您需要32个引脚)。

为了使LED一直在LED的幻像 必须比你的眼睛通知更快地刷新。您需要刷新显示屏 大约50Hz依靠持久性,即你看到的图像没有 只要它重复足够重复,需要保持不变。 

驱动多路复用显示器的技巧 频率计数器应用是多路复用例程必须在a中工作 不断的时间。然后延迟时期t可以结合七个七个 段显示。需要恒定的时间,以相同的方式 轮询定时器1的溢出标志(见前)。


跳跃 频率计数器 to
最佳微控制器项目主页。


隐私政策 | 接触 | 关于我

网站地图 | 使用条款


ezoic.报告此广告

访问我们的Facebook页面:

   点击这里



最近的文章

  1. 如何使用ADS1115

    使用ADS1115精度16位ADC进行教程进行低功耗。

    阅读更多

  2. arduino.模拟输出...易模拟输出生成

    arduino.模拟输出:如何创建最精确的PWM模拟输出以及如何创建模拟PWM正弦波。

    阅读更多

  3. 数号和等效的快速宏。加快代码!

    了解DigitalWrite()的工作原理......现在使用17倍宏宏!

    阅读更多

  4. TCS230颜色传感芯片:如何运作以及如何使用它。

    如何使用TCS230(/ TCS3200)彩色检测器芯片并轻松将其添加到您的任何项目中。

    阅读更多

  5. 如何使用ADXL345进行运动感测等。

    使用ADXL345 Acellerometer,您可以检测到16G!您还可以了解如何使用它来点击检测等。

    阅读更多

  6. HMC5883L 3轴数字MAGENTOMTER如何运作

    HMC5883L - 如何制作数字罗盘,了解HMC5883L和QMC5883L之间的差异以及它们是否兼容。

    阅读更多



读者 Comments

"I wanted to thank
你这么好
对于所有信息
你已经提供了
你的网站's

高超极好的."

- 逃亡Potthath.

"This site really is
最好的和我最喜欢的。
我发现这里有很多很有用
项目和提示。"

- 米兰

Bursach.<at>gmail.com<

"Awesome site,
非常,非常容易和好
导航!"


-
镭_tr.<at>
wolf359.cjb.net.


学习微控制器

"Interested in
微控制器?"

注册
免费7天指南:

自由 GUIDE : CLICK HERE


"I am a newbie to PIC
我想说
 how great your
网站一直在为我。"


- 戴夫

de_scott.<at>bellsouth.net

"Your site is a great
和完美的工作。
恭喜。"


- SURESH.

IntegratedInfosys.<at>
Yahoo.com.

"I couldn't find the correct
要定义的词语
你的网页。

非常有用,揭开,
诚实明确。

非常感谢
你的时间和作品。
问候。"


- Anon.

回到顶部