一、系统概述
1.系统组成
所设计的转速计测量范围由1转/秒到9999转/秒,采用四位数码管显示。转速计由测量模块、显示模块、计算模块和软件程序组成如下图所示。
2.系统工作原理
转速计是将红外传感器输入到单片机的转速信号实时地测量出来,并用显示模块的四位数码管实时显示出测量转速。单片机利用定时器T1通过其控制功能测出一段采样时间内信号的个数,并记录由按键INT1取得的风扇扇叶数或电机所带动齿轮齿数,然后利用单片机的算术运算功能将测得数据转换成转速。转速值得出后,经过编码送至显示模块显示最终结果。
3.使用方法
本转速计用于测量风扇或者电机转速,测量前需将风扇扇叶数或者电机所带动的齿轮齿数(默认为1)输入单片机,输入方法为:如果扇叶数或齿数为n,则需要按INT1键(n-l)次即可。输入完毕后,将红外探头对准扇叶或者齿轮,距离控制请参照下一节文“测量模块”。
二、测量模块
本模块设计采用鑫科畅达有限公司的E18-D80NK型回归式红外传感器,该型号红外传感器有效距离为3-80cm,额定电压为5V,使用环境温度为-25~55摄氏度。为正确使用该传感器,笔者用万用表和电子游标卡尺对传感器的信号电压——距离特性进行了精确测量,万用表红表笔接红外传感器的信号端,游标卡尺测量探头与障碍物(黑色亚光材料)之间的距离,绘制特性曲线如下图示。
为保证红外传感器能够正常使用,根据红外传感器特性曲线,探头与齿轮之间的距离应为d,d大于Ocm小于18cm,相应的齿轮后面至少19cm-d的地方不应该有障碍物。如令探头与齿轮间距为10cm,齿轮后至少9cm内不应该有障碍物。
在使用测量模块的时候,需给传感器提供5V直流电源,并将传感器的信号端(黄线)接至单片机P3.2脚,用于提供外部中断。测量模块与单片机相连,如下图所示。
三、显示模块
本模块采用MT5641BR型四位共阳极数码管作显示部分主要部件,搭配74HC04芯片和限流电阻完成显示功能。共阳极数码管的阳极需连至单片机引脚作为片选信号输入,但是单片机引脚的电流输出能力有限(仅为微安级别),不足以使数码管发光,因此我们采用集成反相器芯片74HC04接在单片机管脚与数码管阳极之间,以提高电流输出能力,在编程的时候只需将高低电平逻辑转换一下即可。
为限制电流,保护数码管,需在阴极加一保护电阻,据经验选用470欧姆电阻串于数码管阴极与单片机引脚间。
经实验测试数码管能够正常显示,此方法相比传统的采用三极管放大电路提高输出电流的方法更加简便、稳定、可靠。
为使四位数码管能够同时显示四个不同的数字,需采用动态扫描法。动态扫描法原理为:每隔一定的周期,片选特定位,将此位的段选信号通过单片机引脚输出至数码管,利用人眼的视觉暂留效应,可实现四位数字显示。本模块电路及与单片机连接方式如下图所示。
本模块采用计时器中断TO的模式0,此模式为13位定时器模式,可通过控制TCON选定此模式。设定每隔1.6 ms中断一次,12MHz晶振,需要1600个机器周期,经计算THO应为206,TLO应为O。中断程序中每隔50个机器周期片选一位数字进行显示,以实现动态扫描。
四、计算模块
计算模块由STC公司STC89C52RC单片机为核心的单片机最小系统组成,在常规最小系统的基础上添加-INT1按键以输入风扇扇叶数或齿轮齿数。本设计所用最小系统电路图如下图所示:
五、软件部分
整个软件部分包括主函数、EX1中断函数、T1中断函数、EXO中断函数、TO中断函数和数码管显示函数组成。利用全局变量i作为转速值,count作为下降沿个数计数器,fan_count为扇叶数计数器,控制字ia控制每100次T1中断输出一个转速值i,seg为I的四个数位上的数值。
四个中断向量的优先级顺序为:
EXl>T1>EXO>TO,每次按下INT1键便进入外部中断1子程序,在此子程序中,扇叶数计数器fan_count加1后延时返回。
每隔5ms定时器1中断一次,进入此中断程序后,判断控制字ia的值,如果ia到达设定值后则输出转速值i,如果ia未达到设定值,则返回。
当红外传感器探头前面有障碍物闪过,会产生一个下降沿给单片机的P3.2脚,此时会进入外部中断0子程序,count加1后返回。
定时器0控制四位数码管动态显示,每隔1600us,会进入此中断服务子程序,在子程序中四个数码管依次显示数字,利用人眼的视觉暂留效应实现动态扫描。
整个程序流程图如下图所示。
上一篇:用51单片机DIY计算器