霍尔元件测速原理说明及应用.docx

上传人:b****9 文档编号:25626834 上传时间:2023-06-10 格式:DOCX 页数:23 大小:30.92KB
下载 相关 举报
霍尔元件测速原理说明及应用.docx_第1页
第1页 / 共23页
霍尔元件测速原理说明及应用.docx_第2页
第2页 / 共23页
霍尔元件测速原理说明及应用.docx_第3页
第3页 / 共23页
霍尔元件测速原理说明及应用.docx_第4页
第4页 / 共23页
霍尔元件测速原理说明及应用.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

霍尔元件测速原理说明及应用.docx

《霍尔元件测速原理说明及应用.docx》由会员分享,可在线阅读,更多相关《霍尔元件测速原理说明及应用.docx(23页珍藏版)》请在冰豆网上搜索。

霍尔元件测速原理说明及应用.docx

霍尔元件测速原理说明及应用

霍尔测速

测速是工农业生产中经常遇到的问题,学会使用单片机技术设计测速仪表具有很重要的意义。

要测速,首先要解决是采样的问题。

在使用模拟技术制作测速表时,常用测速发电机的方法,即将测速发电机的转轴与待测轴相连,测速发电机的电压高低反映了转速的高低。

使用单片机进行测速,可以使用简单的脉冲计数法。

只要转轴每旋转一周,产生一个或固定的多个脉冲,并将脉冲送入单片机中进行计数,即可获得转速的信息。

下面以常见的玩具电机作为测速对象,用CS3020设计信号获取电路,通过电压比较器实现计数脉冲的输出,既可在单片机实验箱进行转速测量,也可直接将输出接到频率计或脉冲计数器,得到单位时间内的脉冲数,进行换算即可得电机转速。

这样可少用硬件,不需编程,但仅是对霍尔传感器测速应用的验证。

1脉冲信号的获得

霍尔传感器是对磁敏感的传感元件,常用于开关信号采集的有CS3020、CS3040等,这种传感器是一个3端器件,外形与三极管相似,只要接上电源、地,即可工作,输出通常是集电极开路(OC)门输出,工作电压范围宽,使用非常方便。

如图1所示是CS3020的外形图,将有字面对准自己,三根引脚从左向右分别是Vcc,地,输出。

图1CS3020外形图

使用霍尔传感器获得脉冲信号,其机械结构也可以做得较为简单,只要在转轴的圆周上粘上一粒磁钢,让霍尔开关靠近磁钢,就有信号输出,转轴旋转时,就会不断地产生脉冲信号输出。

如果在圆周上粘上多粒磁钢,可以实现旋转一周,获得多个脉冲输出。

在粘磁钢时要注意,霍尔传感器对磁场方向敏感,粘之前可以先手动接近一下传感器,如果没有信号输出,可以换一个方向再试。

这种传感器不怕灰尘、油污,在工业现场应用广泛。

2硬件电路设计

测速的方法决定了测速信号的硬件连接,测速实际上就是测频,因此,频率测量的一些原则同样适用于测速。

通常可以用计数法、测脉宽法和等精度法来进行测试。

所谓计数法,就是给定一个闸门时间,在闸门时间内计数输入的脉冲个数;测脉宽法是利用待测信号的脉宽来控制计数门,对一个高精度的高频计数信号进行计数。

由于闸门与被测信号不能同步,因此,这两种方法都存在±1误差的问题,第一种方法适用于信号频率高时使用,第二种方法则在信号频率低时使用。

等精度法则对高、低频信号都有很好的适应性。

图2是测速电路的信号获取部分,在电源输入端并联电容C2用来滤去电源尖啸,使霍尔元件稳定工作。

HG表示霍尔元件,采用CS3020,在霍尔元件输出端(引脚3)与地并联电容C3滤去波形尖峰,再接一个上拉电阻R2,然后将其接入LM324的引脚3。

用LM324构成一个电压比较器,将霍尔元件输出电压与电位器RP1比较得出高低电平信号给单片机读取。

C4用于波形整形,以保证获得良好数字信号。

LED便于观察,当比较器输出高电平时不亮,低电平时亮。

微型电机M可采用型,通过电位器RP1分压,实现提高或降低电机转速的目的。

C1电容使电机的速度不会产生突变,因为电容能存储电荷。

电压比较器的功能:

比较两个电压的大小(用输出电压的高或低电平,表示两个输入电压的大小关系):

当“+”输入端电压高于“-”输入端时,电压比较器输出为高电平;

当“+”输入端电压低于“-”输入端时,电压比较器输出为低电平;

比较器还有整形的作用,利用这一特点可使单片机获得良好稳定的输出信号,不至于丢失信号,能提高测速的精确性和稳定性。

图.2测速电路原理图

3测速程序

测量转速,使用霍尔传感器,被测轴安装有1只磁钢,即转轴每转一周,产生1个脉冲,要求将转速值(转/分)显示在数码管上。

用C语言编制的程序如下:

//硬件:

老版STC实验版

//P3-5口接转速脉冲

 

#include//单片机内部专用寄存器定义

#defineucharunsignedchar

#defineuintunsignedint//数据类型的宏定义

ucharcodeLK[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,};//数码管0~9的字型码

ucharLK1[4]={0xfe,0xfd,0xfb,0xf7};//位选码

uintdataz,counter;//定义无符号整型全局变量lk

//====================================================

voidinit(void)//定义名为init的初始化子函数

{//init子函数开始,分别赋值

TMOD=0X51;//GATEC/TM1M0GATEC/TM1M0计数器T1定时器T0

//01010001

TH1=0;//计数器初始值

TL1=0;

TH0=-(50000/256);//定时器t0定时50ms

TL0=-(50000%256);

EA=1;//IE=0X00;//EA-ET1ESET1EX1ET0EX0

ET0=1;//10000010

TR1=1;

TR0=1;

TF0=1;

}

//=============================================

voiddelay(uintk)//延时程序

{

uintdatai,j;

for(i=0;i

{

for(;j<121;j++){;}

}

}

//================================================

voiddisplay(void)//数码管显示

{

P1=LK[z/1000];P2=LK1[0];delay(10);

P1=LK[(z/100)%10];P2=LK1[1];delay(10);

P1=LK[(z%100)/10];P2=LK1[2];delay(10);

P1=LK[z%10];P2=LK1[3];delay(10);

}

//=========================================

voidmain(void)//主程序开始

{

uinttemp1,temp2;

init();//调用init初始化子函数

for(;;)

{

temp1=TL1;temp2=TH1;

counter=(temp2<<8)+temp1;//读出计数器值并转化为十进制

//z=counter;

display();

}//无限循环语句结束

}//主程序结束

//===================================================

//uintchushi=60;

voidtimer0(void)interrupt1using1

{

TH0=-(50000/256);//定时器t0定时50ms

TL0=-(50000%256);

//chushi--;

//if(chushi<=0){

z=counter/0.5;//读出速度

//}

TH0=0;//每50MS清一次定时器

TL1=0;

}

 

霍尔测速

测速是工农业生产中经常遇到的问题,学会使用单片机技术设计测速仪表具有很重要的意义。

要测速,首先要解决是采样的问题。

在使用模拟技术制作测速表时,常用测速发电机的方法,即将测速发电机的转轴与待测轴相连,测速发电机的电压高低反映了转速的高低。

使用单片机进行测速,可以使用简单的脉冲计数法。

只要转轴每旋转一周,产生一个或固定的多个脉冲,并将脉冲送入单片机中进行计数,即可获得转速的信息。

下面以常见的玩具电机作为测速对象,用CS3020设计信号获取电路,通过电压比较器实现计数脉冲的输出,既可在单片机实验箱进行转速测量,也可直接将输出接到频率计或脉冲计数器,得到单位时间内的脉冲数,进行换算即可得电机转速。

这样可少用硬件,不需编程,但仅是对霍尔传感器测速应用的验证。

1脉冲信号的获得

霍尔传感器是对磁敏感的传感元件,常用于开关信号采集的有CS3020、CS3040等,这种传感器是一个3端器件,外形与三极管相似,只要接上电源、地,即可工作,输出通常是集电极开路(OC)门输出,工作电压范围宽,使用非常方便。

如图1所示是CS3020的外形图,将有字面对准自己,三根引脚从左向右分别是Vcc,地,输出。

图1CS3020外形图

使用霍尔传感器获得脉冲信号,其机械结构也可以做得较为简单,只要在转轴的圆周上粘上一粒磁钢,让霍尔开关靠近磁钢,就有信号输出,转轴旋转时,就会不断地产生脉冲信号输出。

如果在圆周上粘上多粒磁钢,可以实现旋转一周,获得多个脉冲输出。

在粘磁钢时要注意,霍尔传感器对磁场方向敏感,粘之前可以先手动接近一下传感器,如果没有信号输出,可以换一个方向再试。

这种传感器不怕灰尘、油污,在工业现场应用广泛。

2硬件电路设计

测速的方法决定了测速信号的硬件连接,测速实际上就是测频,因此,频率测量的一些原则同样适用于测速。

通常可以用计数法、测脉宽法和等精度法来进行测试。

所谓计数法,就是给定一个闸门时间,在闸门时间内计数输入的脉冲个数;测脉宽法是利用待测信号的脉宽来控制计数门,对一个高精度的高频计数信号进行计数。

由于闸门与被测信号不能同步,因此,这两种方法都存在±1误差的问题,第一种方法适用于信号频率高时使用,第二种方法则在信号频率低时使用。

等精度法则对高、低频信号都有很好的适应性。

图2是测速电路的信号获取部分,在电源输入端并联电容C2用来滤去电源尖啸,使霍尔元件稳定工作。

HG表示霍尔元件,采用CS3020,在霍尔元件输出端(引脚3)与地并联电容C3滤去波形尖峰,再接一个上拉电阻R2,然后将其接入LM324的引脚3。

用LM324构成一个电压比较器,将霍尔元件输出电压与电位器RP1比较得出高低电平信号给单片机读取。

C4用于波形整形,以保证获得良好数字信号。

LED便于观察,当比较器输出高电平时不亮,低电平时亮。

微型电机M可采用型,通过电位器RP1分压,实现提高或降低电机转速的目的。

C1电容使电机的速度不会产生突变,因为电容能存储电荷。

电压比较器的功能:

比较两个电压的大小(用输出电压的高或低电平,表示两个输入电压的大小关系):

当“+”输入端电压高于“-”输入端时,电压比较器输出为高电平;

当“+”输入端电压低于“-”输入端时,电压比较器输出为低电平;

比较器还有整形的作用,利用这一特点可使单片机获得良好稳定的输出信号,不至于丢失信号,能提高测速的精确性和稳定性。

图.2测速电路原理图

3测速程序

测量转速,使用霍尔传感器,被测轴安装有1只磁钢,即转轴每转一周,产生1个脉冲,要求将转速值(转/分)显示在数码管上。

用C语言编制的程序如下:

//硬件:

老版STC实验版

//P3-5口接转速脉冲

 

#include//单片机内部专用寄存器定义

#defineucharunsignedchar

#defineuintunsignedint//数据类型的宏定义

ucharcodeLK[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,};//数码管0~9的字型码

ucharLK1[4]={0xfe,0xfd,0xfb,0xf7};//位选码

uintdataz,counter;//定义无符号整型全局变量lk

//====================================================

voidinit(void)//定义名为init的初始化子函数

{//init子函数开始,分别赋值

TMOD=0X51;//GATEC/TM1M0GATEC/TM1M0计数器T1定时器T0

//01010001

TH1=0;//计数器初始值

TL1=0;

TH0=-(50000/256);//定时器t0定时50ms

TL0=-(50000%256);

EA=1;//IE=0X00;//EA-ET1ESET1EX1ET0EX0

ET0=1;//10000010

TR1=1;

TR0=1;

TF0=1;

}

//=============================================

voiddelay(uintk)//延时程序

{

uintdatai,j;

for(i=0;i

{

for(;j<121;j++){;}

}

}

//================================================

voiddisplay(void)//数码管显示

{

P1=LK[z/1000];P2=LK1[0];delay(10);

P1=LK[(z/100)%10];P2=LK1[1];delay(10);

P1=LK[(z%100)/10];P2=LK1[2];delay(10);

P1=LK[z%10];P2=LK1[3];delay(10);

}

//=========================================

voidmain(void)//主程序开始

{

uinttemp1,temp2;

init();//调用init初始化子函数

for(;;)

{

temp1=TL1;temp2=TH1;

counter=(temp2<<8)+temp1;//读出计数器值并转化为十进制

//z=counter;

display();

}//无限循环语句结束

}//主程序结束

//===================================================

//uintchushi=60;

voidtimer0(void)interrupt1using1

{

TH0=-(50000/256);//定时器t0定时50ms

TL0=-(50000%256);

//chushi--;

//if(chushi<=0){

z=counter/0.5;//读出速度

//}

TH0=0;//每50MS清一次定时器

TL1=0;

}

霍尔测速

测速是工农业生产中经常遇到的问题,学会使用单片机技术设计测速仪表具有很重要的意义。

要测速,首先要解决是采样的问题。

在使用模拟技术制作测速表时,常用测速发电机的方法,即将测速发电机的转轴与待测轴相连,测速发电机的电压高低反映了转速的高低。

使用单片机进行测速,可以使用简单的脉冲计数法。

只要转轴每旋转一周,产生一个或固定的多个脉冲,并将脉冲送入单片机中进行计数,即可获得转速的信息。

下面以常见的玩具电机作为测速对象,用CS3020设计信号获取电路,通过电压比较器实现计数脉冲的输出,既可在单片机实验箱进行转速测量,也可直接将输出接到频率计或脉冲计数器,得到单位时间内的脉冲数,进行换算即可得电机转速。

这样可少用硬件,不需编程,但仅是对霍尔传感器测速应用的验证。

1脉冲信号的获得

霍尔传感器是对磁敏感的传感元件,常用于开关信号采集的有CS3020、CS3040等,这种传感器是一个3端器件,外形与三极管相似,只要接上电源、地,即可工作,输出通常是集电极开路(OC)门输出,工作电压范围宽,使用非常方便。

如图1所示是CS3020的外形图,将有字面对准自己,三根引脚从左向右分别是Vcc,地,输出。

图1CS3020外形图

使用霍尔传感器获得脉冲信号,其机械结构也可以做得较为简单,只要在转轴的圆周上粘上一粒磁钢,让霍尔开关靠近磁钢,就有信号输出,转轴旋转时,就会不断地产生脉冲信号输出。

如果在圆周上粘上多粒磁钢,可以实现旋转一周,获得多个脉冲输出。

在粘磁钢时要注意,霍尔传感器对磁场方向敏感,粘之前可以先手动接近一下传感器,如果没有信号输出,可以换一个方向再试。

这种传感器不怕灰尘、油污,在工业现场应用广泛。

2硬件电路设计

测速的方法决定了测速信号的硬件连接,测速实际上就是测频,因此,频率测量的一些原则同样适用于测速。

通常可以用计数法、测脉宽法和等精度法来进行测试。

所谓计数法,就是给定一个闸门时间,在闸门时间内计数输入的脉冲个数;测脉宽法是利用待测信号的脉宽来控制计数门,对一个高精度的高频计数信号进行计数。

由于闸门与被测信号不能同步,因此,这两种方法都存在±1误差的问题,第一种方法适用于信号频率高时使用,第二种方法则在信号频率低时使用。

等精度法则对高、低频信号都有很好的适应性。

图2是测速电路的信号获取部分,在电源输入端并联电容C2用来滤去电源尖啸,使霍尔元件稳定工作。

HG表示霍尔元件,采用CS3020,在霍尔元件输出端(引脚3)与地并联电容C3滤去波形尖峰,再接一个上拉电阻R2,然后将其接入LM324的引脚3。

用LM324构成一个电压比较器,将霍尔元件输出电压与电位器RP1比较得出高低电平信号给单片机读取。

C4用于波形整形,以保证获得良好数字信号。

LED便于观察,当比较器输出高电平时不亮,低电平时亮。

微型电机M可采用型,通过电位器RP1分压,实现提高或降低电机转速的目的。

C1电容使电机的速度不会产生突变,因为电容能存储电荷。

电压比较器的功能:

比较两个电压的大小(用输出电压的高或低电平,表示两个输入电压的大小关系):

当“+”输入端电压高于“-”输入端时,电压比较器输出为高电平;

当“+”输入端电压低于“-”输入端时,电压比较器输出为低电平;

比较器还有整形的作用,利用这一特点可使单片机获得良好稳定的输出信号,不至于丢失信号,能提高测速的精确性和稳定性。

图.2测速电路原理图

3测速程序

测量转速,使用霍尔传感器,被测轴安装有1只磁钢,即转轴每转一周,产生1个脉冲,要求将转速值(转/分)显示在数码管上。

用C语言编制的程序如下:

//硬件:

老版STC实验版

//P3-5口接转速脉冲

 

#include//单片机内部专用寄存器定义

#defineucharunsignedchar

#defineuintunsignedint//数据类型的宏定义

ucharcodeLK[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,};//数码管0~9的字型码

ucharLK1[4]={0xfe,0xfd,0xfb,0xf7};//位选码

uintdataz,counter;//定义无符号整型全局变量lk

//====================================================

voidinit(void)//定义名为init的初始化子函数

{//init子函数开始,分别赋值

TMOD=0X51;//GATEC/TM1M0GATEC/TM1M0计数器T1定时器T0

//01010001

TH1=0;//计数器初始值

TL1=0;

TH0=-(50000/256);//定时器t0定时50ms

TL0=-(50000%256);

EA=1;//IE=0X00;//EA-ET1ESET1EX1ET0EX0

ET0=1;//10000010

TR1=1;

TR0=1;

TF0=1;

}

//=============================================

voiddelay(uintk)//延时程序

{

uintdatai,j;

for(i=0;i

{

for(;j<121;j++){;}

}

}

//================================================

voiddisplay(void)//数码管显示

{

P1=LK[z/1000];P2=LK1[0];delay(10);

P1=LK[(z/100)%10];P2=LK1[1];delay(10);

P1=LK[(z%100)/10];P2=LK1[2];delay(10);

P1=LK[z%10];P2=LK1[3];delay(10);

}

//=========================================

voidmain(void)//主程序开始

{

uinttemp1,temp2;

init();//调用init初始化子函数

for(;;)

{

temp1=TL1;temp2=TH1;

counter=(temp2<<8)+temp1;//读出计数器值并转化为十进制

//z=counter;

display();

}//无限循环语句结束

}//主程序结束

//===================================================

//uintchushi=60;

voidtimer0(void)interrupt1using1

{

TH0=-(50000/256);//定时器t0定时50ms

TL0=-(50000%256);

//chushi--;

//if(chushi<=0){

z=counter/0.5;//读出速度

//}

TH0=0;//每50MS清一次定时器

TL1=0;

}

 

霍尔测速

测速是工农业生产中经常遇到的问题,学会使用单片机技术设计测速仪表具有很重要的意义。

要测速,首先要解决是采样的问题。

在使用模拟技术制作测速表时,常用测速发电机的方法,即将测速发电机的转轴与待测轴相连,测速发电机的电压高低反映了转速的高低。

使用单片机进行测速,可以使用简单的脉冲计数法。

只要转轴每旋转一周,产生一个或固定的多个脉冲,并将脉冲送入单片机中进行计数,即可获得转速的信息。

下面以常见的玩具电机作为测速对象,用CS3020设计信号获取电路,通过电压比较器实现计数脉冲的输出,既可在单片机实验箱进行转速测量,也可直接将输出接

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 工作总结汇报

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1