在工业控制中经常要进行转速测量,一般采用的是接触式转速计,这种转速计必须顶在转轴中心才能进行测量,使用起来不方便,而且局限性很大,安全性也不是很好。因此,我们设计了采用光电传感器的非接触式转速计,测量范围从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,以中断形式进行通信。