引 言 在工业控制中经常要进行转速测量,一般采用的是接触式转速计,这种转速计必须顶在转轴中心才能进行测量,使用起来不方便,而且局限性很大,安全性也不是很好。因此,我们设计了采用光电传感器的非接触式转速计,测量范围从1.0~9999转/分钟,四位数码管显示,当被测转速小于1000转/分钟时,精确到0.1转/分钟。
1 测量原理
在被测旋转轴上贴一片铝箔作为反光体,当反光体转到光电传感器的正前方时,光电传感器发出的红外光束被反射回来,同时被光电传感器上的红外接收管接收,产生一个脉冲信号,我们利用这个信号的边沿触发单片机内部的高精度定时器进行计时,精度可达1μs,当反光体再次转到光电传感器的正前方时,利用光反射信号的边沿停止单片机计时。这样转轴的旋转周期t就被精确地测量出来了,然后单片机把周期换算成转速并通过led数码管显示出来。
2 电路构成及软件设计
电路结构见图1,因为要求体积小巧且显示亮度高,因此,采用扫描显示模式,然而,用一片cpu同时完成测量和显示是不行的,扫描功能将严重影响cpu的测量。因此,采用两片atmel公司生产的at89c2051单片机来分别担任,at89c2051具有内置2kb的eeprom程序存储器和128个字节的ram,且每个引脚能够吸入20ma的电流等这些良好特性。cpu1用来测量旋转轴的旋转周期并换算成转速,然后把显示数据发送给cpu2,cpu2平时只是在不断地扫描显示数据,当cpu1发送数据过来时,cpu2产生中断,立即接收数据,然后更新显示数据,这样在四位led数码管上的数据就被立即更新了。采用两片cpu的好处是电路结构清晰,编程简单,实现了模块化设计。cpu之间采用串行接口方式2,以中断形式进行通信。cpu2的通信部分程序清单如下:
3结论
经过实际使用,我们设计的转速计达到了预先设想的目的,使用方便可靠,而且因为这样的结构设计使得cpu1的输入/输出口占用极少,因此还可以拓展它的功能。例如我们安装了一个切换开关,增加了光电计数器的功能(探头是共用的)。另外,我们还可以把cpu2及四位led共阳数码管构成一个通用显示模块,除显示0~9等数字外,还可以显示例如a-j、l、o、p、q、r、u、y等字符。这样,如果我们在设计其他的电路时,如果要用到led数码管显示,不必再编程制版,只要使用这个通用显示模块即可,简单方便。这种显示模块如果不扩充输入输出口线,最多可以进行五位的七段数码管显示。
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』