在显示精度、可靠性、本钱和利用灵巧性上有一定哀求时,就可直接采取脉冲频率运算型测速仪。频率运算方法有定时计数法(测频法)、天命计时法(测周法)和同步计数计时法。测频法在丈量上有±1的偏差,低速时偏差较大。测周法也有±1个韶光单位的偏差,在高速时,偏差也很大。同步计数计时法综合了上述两种方法的优点,在全体丈量范围都达到了很高的精度,万分之五以上精度的丈量转速仪表基本都采取同步计数计时法。
反射式红外测速仪的设计这里我们先容一款实用的反射式红外测速仪的设计与制作。
反射式红外测速仪在丈量物体运转速率时,首先向被测物体发射出红外线脉冲,利用被测物体表面的反射能力(可在被测物体表面粘贴白色的反射纸等),使红外吸收器收到光脉冲旗子暗记,然后通过光电转换电路将光脉冲旗子暗记转变为电脉冲旗子暗记,电脉冲旗子暗记通过放大和处理后,输入到单片机的计数掌握门,与内部的标准表秒脉冲旗子暗记比较较,经运算后,通过显示器将被测物体运动的旋转速率显示出来。

红外探头的丈量间隔根据实际须要,可设计成近间隔和远间隔两类。近间隔的探头可采取小功率发光管和光敏受光管。如果是远间隔的丈量,探头就可采取中、大功率的发光二极管或者是得当的激光二极管。
1.系统设计方案
图26.1为反射式红外测速仪的系统构成方框图,由单片机掌握器、38kHz载频振荡器、红外线发射/吸收电路、8×2点阵字符型液晶屏及事情电源等组成。
图26.1 反射式红外测速仪的系统构成方框图
2.转速测试事理
转速测试事理见图26.2。进入测试状态后,38kHz的载频振荡器起振事情,驱动红外发射管向外发射红外载频旗子暗记。单片机首先检测旗子暗记的边沿,当一个脉冲的低落沿到来时(图中A点),计数器开始对脉冲计数,同时,单片机还启动定时器进行测试计时。当定时器计时到1000ms时(图中B点),单片机发出一个准备结束本次测试的旗子暗记,这时程序又开始检测旗子暗记的低落沿,当低落沿到来时(图中C点),单片机对脉冲的计数cnt及对测试韶光的计时time完成。此时根据公式:转速=(cnt/time)×60000即可算出此时的转速。当计时到1300ms时(图中D点),单片机输出显示,将测得的转速显示到液晶屏上。这次测试、显示完成后,又进入下一次的测试、显示,周而复始。
图26.2 转速测试事理
测速仪常用于电机、电扇、纸张、塑料、化纤、洗衣机、汽车、飞机、轮船等制造业中。依据对转速检测事理的不同,测速仪可分为以下几种类型。
离心式测速仪:利用离心力与拉力的平衡来检测转速,是最传统的机器式测速工具,丈量精度一样平常在1~2级。
磁性测速仪:利用旋转磁场,在金属罩帽上产生旋转力,通过旋转力与游丝力的平衡来检测转速。
电动式测速仪:电动式测速仪由小型互换发电机、电缆、电动机和磁性表头组成。磁性表头与小型互换电动机同轴连接在一起,小型互换发电机产生互换电,互换电通过电缆运送,并驱动小型互换电动机,小型互换电动机的转速与被测轴的转速同等,磁性表头指示的转速自然便是被测轴的转速。
闪光式测速仪:闪光式测速仪可发出频率可调的脉冲闪光,利用人眼视觉暂留的事理对迁徙改变物体进行测速。除了检测转速(往来来往速率)外,还可以不雅观测循环往来来往运动物体的静像。
电子式测速仪:电子式测速仪因此当代电子技能及打算机技能为根本而设计的,一样平常有传感器和显示器,有的还有旗子暗记输出和掌握。
3.电路设计
反射式红外测速仪的电路如图26.3所示。单片机选择Atmel公司的ATmega48,卖力全体测试系统的运行。IC2及阻容元件组成了38kHz的载频振荡器,其载频经VT1放大后驱动红外发射管IR向外发射红外线。IC4为38kHz的一体化红外吸收头,它卖力红外线的吸收、放大及解调,它将解调出的脉冲旗子暗记送入单片机进行计数处理。IC5为液晶显示模块,利用了8×2的点阵字符型液晶屏(带背光),形体较小,用于显示测试得到的转速。
图26.3 反射式红外测速仪电路图
整机供电利用9V积层单池,经稳压器IC5稳定为5V后,供单片机事情。笔者实际制作的发射、吸收组件如图26.4所示,利用热熔胶固定。制作完成的样机上的液晶屏、电源开关及按键如图26.5所示,按键SB目前没有利用,作为备用,整机照片如图26.6所示。
图26.4 发射、吸收组件
图26.5 液晶屏及掌握按键
图26.6 反射式红外测速仪整机照片
主函数
void main(void)//主函数
{
uchar temp;//定义单字节无符号局部变量
float count,time,x;//定义浮点型局部变量
Delay_nms(400);//延时400ms,等待电源稳定
init_devices();//初始化单片机
InitLcd();//初始化液晶模块
display1();//液晶屏显示欢迎界面
Delay_nms(2000);//等待2s
display2();//液晶屏显示事情界面
DisFlag=1;//测速显示标志置1
while(1)//无限循环
{
WDR();//看门狗喂狗指令
if(DisFlag==1)//如果测速显示标志为1
{
time=(float)tx;//整数转成浮点数
count=(float)cx;
x=count/time;x=x30000;//数学打算
DisVal=(uint)x;
/将测得的4位转速值存放于显示缓冲区/
disx[3]=(DisVal/1000)%10;
disx[2]=(DisVal/100)%10;
disx[1]=(DisVal%100)/10;
disx[0]=DisVal%10;
/在液晶屏上显示转速值/
DisplayOneChar(4,1,disx[3]+0x30);
DisplayOneChar(5,1,disx[2]+0x30);
DisplayOneChar(6,1,disx[1]+0x30);
DisplayOneChar(7,1,disx[0]+0x30);
/这次显示完成后,干系变量初始化,准备进入下一次的测试/
DisFlag=0;WorkTime=0;
DisTime=0;
EndFlag=0;Start=0;cnt=0;
}
else//否则如果测速显示标志为0则进行脉冲取样
{
do{
temp=PIND&0x04;WDR();JS=1;//等待低落沿后下一次测试
if(Counter>1500)
{Counter=0;JS=0;DisFlag=1;cx=0;goto END;}
}while(temp==0x04);
BeginFlag=1;Start=1;GICR=0x40;
//重开INT0中断
END:;
}
}
}
4.软件设计
程序紧张分为主控程序、液晶屏驱动程序和头文件三大部分,这样设计速率快、构造完善,并且也便于全体程序的装置。程序利用ICC7.14C集成开拓环境编译。限于篇幅,这里仅先容一下主函数,完全程序可以到QQ群下载。
调试与运用本机唯一须要调度的是红外发射电路的38kHz载频,它关系到红外测速仪的利用灵敏度及可靠性。整机检讨无误后通电,用一个10kΩ的多圈可调电位器代替R6,用示波器或频率计测R7电阻的任一端,细调电位器,使频率为38.000kHz,越准确越好。调好后,取下电位器,测出其阻值,用一个同阻值的固定电阻代替电位器,焊在R6位置。整机其他部分全是数字旗子暗记处理,因此只要器件良好,就无需调度了。
红外发射管须要套一个直径5mm的玄色热塑套管,并且与红外吸收头轻微隔开一点间隔安装,防止发射出的红外光直接进入红外吸收头。当然也不能离开太远,以免降落吸收灵敏度。