silego

AN-1169采用GreenPAK的数字光学转速表

0
阅读(881)

AN-1169采用GreenPAK的数字光学转速表

这种转速表可以用来测量旋转物体的RPM(每分钟转数)。在本应用笔记中,GreenPAK SLG46533V加红外传感器被用于检测光学非接触式转速表。这种转速表的测量范围为1 - 9999 rpm,精度为0.01%(使用2MHz采样时钟测量的最大值为9999),小于1 rpm精度的所有读数也可以显示。设计可以修改以适应其他要求,如改变传感器灵敏度、改变与旋转物体的测量距离等。

在GreenPAK内部的每个半周期,晶体管Q1、Q2控制切换前两个7段显示器,而Q3、Q4控制切换最后两个7段显示器。

Top Level Schematic

图1. 顶层原理图

红外传感器

红外传感器由LED红外发射器和LED红外接收器组成。两者相互屏蔽,如图2所示。

 

Infrared sensor

图2. 红外传感器

良好的传感器设计可以保证操作的可预测性和可靠性。下面是一些重要注意事项:

·         确保两个LED之间不存在红外光泄漏。接收器应只接收来自目标旋转物体反射的光。

·         LED红外发射器上的220欧姆电阻功率必须是2W或以上。它会产生相当大的热量,为了安全,必须进行散热

·         最重要的部分是设置LED红外接收器的灵敏度。这可以通过改变LED红外接收器的电阻来调节。具体到本案例,阻值在2-4K欧姆之间,在距离风扇5-7厘米处运作得很好。高电阻意味着高灵敏度。

为了红外线接收器能够接收光线,风扇上需要附有反射带。当风扇完成一次旋转时,光从反射带上反射出来,并由LED红外接收器接收。它在半分钟内接收的次数将相当于风扇的转速(因为上升沿和下降沿都会触发计数器)。为了加快这个过程,可以在风扇上附加8片反射带。这有助于以计算8倍以上的时序转速(即3.75秒)。这片反射带必须贴在风扇上,以便在风扇每次旋转的时候正确地反射光线。

 

GreenPAK设计编码

GreenPAK设计代码是用三个GreenPAK芯片实现的。

GreenPAK SLG46533V传感器编码

两个产生时钟电路的方法:内部振荡器,或晶体振荡器(这两个文件已附上,都可以使用)。时钟电路由一个4.25秒定时器组成。它生成3.75秒“高电平”时间,以及0.5秒“低电平”时间,用来“开启传感器输入计数器”信号。

这意味着传感器计数器先开启3.75秒,而后的0.5秒7段显示屏定格在最后的输出。

当使用内部振荡器时,不需要连接图中的引脚16和引脚17。但是,为了提高不同环境温度下的精确度,建议使用晶体振荡器。

在特定时间内,该设计可配置为计算转数,但转数最大值不能超过9999。

通常,引脚2处在一个高电平状态,不论何时,当红外线接收器接收到反射信号(每个循环8次),引脚2会输出一个瞬时低电平。如果3.75秒定时器被激活,被检测到的上升沿和下降沿信号将会传递给第一个计数器模块。

 

Reflecting tape for infrared beam interruption

图3. 用于红外光束中断的反射带

采样时间与精度的平衡

为了平衡采样时间和精度,我们可以改变转速表的测量间隔(从3.75秒)。实际应用中,一些应用需要更高的精度,如工业电机,其转速需要根据当前速度维持在固定速度。

对于这些类型的应用,可以通过增加采样时间来获得更准确的读数。

不过,一些应用低精度就可以,但更新率越快越好,比如测量汽车发动机转速。

通过改变3.75秒时间就可以改变采样时间和精度。也就是改变计数器CNT0和CNT1值。显示时间通过CNT5和CNT6的值来改变。需注意的是CNT5和CNT6的值必须相同

SLG46533V中的两个BCD计数器

另外两个GreenPAK SLG46533V中都有两个BCD计数器,每一个都是倒计时计数器。输入的时钟信号来自传感器数据(3.75秒内传过来的)。在每个传感器中断期间计数器做减数。第二个计数器启动另外一个芯片的计数器作为第三个计数器。

 

BCD counters in SLG46533V

图4. SLG46533V中的BCD计数器

BCD to seven segment converter

图5. BCD到7段转换器

这部分编码可将四位BCD码转换为七段码显示。每个周期都会选择下个7段码的显示值。所有计数器复位时值都为0101(等于使用负逻辑的十进制10)。在3.75秒过后,所有计数器会被重置。计数器1表示最低有效位数,计数器4表示最高有效位数。

前三个计数器之间的关系列表如下。其中前两个是在一个芯片内,第三个是在另一个芯片内。

 

Display of Optical Tachometer

图6. 光转速表的显示

BCD to seven segment converter

图7. BCD到七段转换器

表1显示了前两个计数器如何启动计数器3。每当计数器3达到最大值时,计数器4递增,如下表所示。

 

计数器3

计数器4

1111 -> 1110 -> 1101 -> 1100 -> 1011->   1010 -> 1001 -> 1000 -> 0111 -> 0110 ->

1111

1111 -> 1110 -> 1101 -> 1100 -> 1011->   1010 -> 1001 -> 1000 -> 0111 -> 0110 ->

1110

1111 -> 1110 -> 1101 -> 1100 -> 1011->   1010 -> 1001 -> 1000 -> 0111 -> 0110 ->

1101

1111 -> 1110 -> 1101 -> 1100 -> 1011->   1010 -> 1001 -> 1000 -> 0111 -> 0110 ->

1100

1111 -> 1110 -> 1101 -> 1100 -> 1011->   1010 -> 1001 -> 1000 -> 0111 -> 0110 ->

1011

1111 -> 1110 -> 1101 -> 1100 -> 1011->   1010 -> 1001 -> 1000 -> 0111 -> 0110 ->

1010

1111 -> 1110 -> 1101 -> 1100 -> 1011->   1010 -> 1001 -> 1000 -> 0111 -> 0110 ->

1001

1111 -> 1110 -> 1101 -> 1100 -> 1011->   1010 -> 1001 -> 1000 -> 0111 -> 0110 ->

1000

1111 -> 1110 -> 1101 -> 1100 -> 1011->   1010 -> 1001 -> 1000 -> 0111 -> 0110 ->

0111

1111 -> 1110 -> 1101 -> 1100 -> 1011->   1010 -> 1001 -> 1000 -> 0111 -> 0110 ->

0110

 

表1. 计数器3和计数器4之间的关系

 

计数器1

计数器2

计数器3

1111 -> 1110 -> 1101 -> 1100 -> 1011->   1010 -> 1001 -> 1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->

1111

1111

1110



1101



1100



1011



1010



1001



1000



0111



0110



1111 -> 1110 -> 1101 -> 1100 -> 1011->   1010 -> 1001 -> 1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->

1111

1110

1110



1101



1100



1011



1010



1001



1000



0111



0110



1111 -> 1110 -> 1101 -> 1100 -> 1011->   1010 -> 1001 -> 1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->

1111

1101

1110



1101



1100



1011



1010



1001



1000



0111



0110



1111 -> 1110 -> 1101 -> 1100 -> 1011->   1010 -> 1001 -> 1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->

1111

1100

1110



1101



1100



1011



1010



1001



1000



0111



0110



1111 -> 1110 -> 1101 -> 1100 -> 1011->   1010 -> 1001 -> 1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->

1111

1011

1110



1101



1100



1011



1010



1001



1000



0111



0110



1111 -> 1110 -> 1101 -> 1100 -> 1011->   1010 -> 1001 -> 1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->

1111

1010

1110



1101



1100



1011



1010



1001



1000



0111



0110



1111 -> 1110 -> 1101 -> 1100 -> 1011->   1010 -> 1001 -> 1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->

1111

1001

1110



1101



1100



1011



1010



1001



1000



0111



0110



1111 -> 1110 -> 1101 -> 1100 -> 1011->   1010 -> 1001 -> 1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 -> 1000   -> 0111 -> 0110 ->

1111

1000

1110



1101



1100



1011



1010



1001



1000



0111



0110



1111 -> 1110 -> 1101 -> 1100 -> 1011->   1010 -> 1001 -> 1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->

1111

0111

1110



1101



1100



1011



1010



1001



1000



0111



0110



1111 -> 1110 -> 1101 -> 1100 -> 1011->   1010 -> 1001 -> 1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->
  1111 -> 1110 -> 1101 -> 1100 -> 1011-> 1010 -> 1001 ->   1000 -> 0111 -> 0110 ->

1111

0110

1110



1101



1100



1011



1010



1001



1000



0111



0110



 

表2. 三个BCD计数器的关系

结论

这个转速表首先被调试到相对应的RPM,相对于霍尔效应转速表来讲,匹配结果更好。因为风扇在慢速的情况下,基于霍尔效应的转速表给出了错误读数,这就是GreenPAK设计的优越之处。该设计还可用于构建一个基于旋转编码器的RPM测量仪。

 

关于作者

姓名:Bilal Ahmed

背景:Bilal Ahmed持有卡拉奇内德大学电子工程硕士学位。他在PLC、SCADA、数据采集、工业自动化、机器人和嵌入式系统方面有超过10年的经验。目前他在HF Electronics担任嵌入式系统和机器人部门负责人。

联系:appnotes@silego.com

 

文件

·         AN-1169采用GreenPAK的数字光学转速表。pdf-(4.3 MB)

·         AN-1169转速表段1%。gp5-(38 KB)

·         AN-1169转速表段3%。gp5-(38 KB)

·         AN-1169转速表传感器(使用内部振荡器)。gp5-(26 KB)

·         AN-1169转速表传感器(使用晶体振荡器)。gp5-(26 KB)

·         AN-1169.zip-(4.3 MB)

 

详见应用笔记完整列表

© 2017 Silego Technology。1515 Wyatt Drive, Santa Clara, CA 95054。