摘 要:以测量电机转速为目的,使用电涡流传感器、AT89C5l单片机设计出电机转速测量系统,首先说明了设计思想,随后进行了软、硬件设计。实验表明该测量系统的测试误差小,精度高。
關键词:电涡流传感器;AT89C51;转速测量
DOI:10.16640/j.cnki.37-1222/t.2017.10.168
1 引言
随着现科技的不断进步,各个领域对测速系统的应用越来越多,同时也对测速精度的要求越来越高。从测速仪器是否与转轴接触又可分为接触式,非接触式,目前常用的是非接触测量,采用传感器为检测元件,读取到的信号通过微处理器来进行计算、显示。
2 系统设计
在系统中,AT89C5l作为控制器负责读取电涡流传感器输出的脉冲信号,通过外部中断对脉冲信号计数,每1s读取一次外部中断计数值,此值为脉冲信号的频率,最后通过电机转速计算公式得到转速,并由LCD显示,如果电机的转速超出限定值,蜂鸣器报警。系统框图如图1所示。
2.1 硬件设计
2.1.1 测量原理
电涡流位移传感器属于非接触测量器件,当金属物体接近电涡流传感器的感应面时,金属表面吸取电涡流传感器中的高频振荡能量,使振荡器的输出幅度衰减或频率变化,输出脉冲信号,单片机根据脉冲信号的数目可以计算出与被检测物体的转速。测量原理如图2所示。
2.1.2 仿真电路
根据系统设计进行电路仿真,仿真电路图如图3所示。
2.1.3 硬件电路
(1)电涡流传感器。电涡流传感器的基本工作原理是电涡流效应,当金属导体置于高频磁场中,会在金属表面产生感应电流。电涡流传感器就是利用电涡流效应来检测金属物体的位移、振动、转速等机械量的,具有非接触测量、线性范围宽、灵敏度高、抗干扰能力强、无介质影响、稳定可靠、易于处理等优点,经常应用在旋转机械状态的测量中。
(2)微处理器。微处理器AT89C51对电涡流传感器输出的脉冲信号进行计数,利用定时闸门完成转速频率的测量,通过计算得到电机的转速,电机转速计算公式:
其中n为电机转速,f为电机脉冲信号频率,z为转轴旋转一圈产生的脉冲数。
(3)硬件电路。硬件电路如图4所示。
2.2 软件设计
2.2.1 工作过程
对各中断初值进行初始化,电涡流输出脉冲信号到来后,启动外部中断,每来一个脉冲信号启动一次中断,记录中断次数;并在启动外部中断的同时启动T0定时器,每1秒T0定时中断一次,读取在1秒中记录的中断次数,即电机输出的脉冲信号频率,将频率值代入公式计算电机的转速,LCD显示转速值,若转速高于1000则报警。
2.2.2 流程图
如图5所示。
2.2.3 程序
main()
{
TCONDF=0x11;
P20=1;
TMODF=0x01;
P20=0;
IE=0x83;
TWH0=TH_M1;
init_WEB();
TWL0=TL_M1;
while(count==0){ }
WPS=0;
if(zs>=1000)
{
P20=1;
}
disp_led();
}
void counter(void) interrupt 0
{ count++;
if(count%6==0)
{ zs++;}
}
void DelayTime(void) interrupt 1
{TWH0=TH_M1;
TWL0=TL_M1;
if(++count==20)
{ fwb=1; }
}
void disp_led() //LED显示
{ int i;
while(1)
{ display_count();
write_contrs(0x80);
for (i=0;i
{
write_lable(display[i]);
}
}
}
void display_count()
{display[12]=(icount/1000+'0');
display[13]=(icount/100%10+'0');
display[14]=(icount/10%10+'0');
display[15]=(icount%10+'0');
}
void init_WEB(void)
{ write_contrs(0x01);
yc1ms(15);
write_contrs(0x38);
write_contrs(0x0f);
write_contrs(0x06);
}
void write_contrs(char inst)
{ RES=0;
REW=0;
ent=1;
LCDP=inst;
ent=0;checkbestf();
}
void write_lable(int shuju)
{ RES=1;REW=0;
ent=1;
LCDP=display;
ent=0;check_BF();
}
void checkbestf(void)
{ char y,q=0x80;
while(x&0x80)
{
RES=0;REW=1;
ent=1;
q=LCDP;
ent=0;
for(y=0;y<10;y++);
}
}
void yc1ms(int m)
{ int i,j;
for(i=1;i
for(j=1;j<120;j++);}
3 結论
本文利用电涡流传感器和89C51相结合设计了电机转速测量系统,该测量系统能进行实时非接触测量,并具有线性范围宽、灵敏度高、精度高的特点。
参考文献:
[1]梁森,王侃负.自动检测与转换技术[M].北京:机械工业出版社,2011.
[2]王元庆.新型传感器原理及应用[M].北京:机械工业出版社,2002.
[3]曲波.工业常用传感器选型指南[M].北京:清华大学出版社,2002.
[4]张福学.传感器应用及其电路精选[M].北京:电子工业出版社,2000.
[5]阮智利,黄杭美.自动检测与转换技术[M].北京:机械工业出版社,1990.
[6]谢维成,杨加国.单片机原理与应用及C51程序设计[M].北京:清华大学出版社,2009.
[7]张义和,王敏男.基于例说51单片机[M].北京:人民邮电出版社,2008.
[8]严天峰.单片机应用系统设计与仿真调试[M].北京:北京航空航天大学出版社,2005.
[9]李建忠.单片机原理及应用[M].西安:西安电子科技大学出版社,2002.
[10]谭浩强.C程序设计(第2版)[M].北京:清华大学出版社,1999.
作者简介:毛敏(1976-),女,硕士研究生,研究方向:电子信息。