基于霍尔传感器的电机转速测量系统设计
工作点时,OC门由高阻态变为导通状态,输出变为低电平;当外加磁场强度低于释放点时,OC门重新变为高阻态,输出高电平。通过上拉电阻可将其输出接入逻辑电路。
该芯片具有尺寸小、稳定性好、灵敏度高等特点,有两种封装形式,一种是3脚贴片微小型封装,后缀为“LT”;另一种是3脚直插封装,后缀为“UA”。霍尔器件A3144管脚及其接线如图4所示。
2.2 处理器
处理器采用的是89C51单片机。完成对电机转速脉冲计数的控制,读取寄存器完成转速频率的确定。电机脉冲信号连到引脚。中断对转速脉冲计数。定时器T0工作于定时方式,工作于方式1,每1s读一次外部中断计数值,此值即为脉冲信号的频率。根据下式可计算出电机的转速,电机转速计算公式:
其中n为电机转速,f为电机脉冲信号频率,z为转轴旋转一圈霍尔传感器产生的脉冲数。
3 软件设计
3. 1 主程序
工作过程:先初始化,设置各中断初值,检测脉冲到来后,启动外部中断,每来一个脉冲中断一次,记录脉冲个数;同时启动T0定时器工作,每1秒定时中断一次,读取记录的脉冲个数,即电机脉冲信号频率,根据公式计算出电机的转速,再进行数值的判断,若数值高于100则报警,否则就进行正常速度液晶显示。
3.2 流程图
流程图如下图5所示。
3. 3 程序代码
main()
{ relay=0;
IE=0x83; //准许T0 INT中断
TCON=0x11;
TMOD=0x01; //T0为mode1
TH0=TH_M1; //50ms定时
TL0=TL_M1;
init_LCM();
while(fb==0)
{ }
EA=0;
if(zs>=100)
{ relay=1;
pulse_BZ(5000,1,1); }
disp_led();
}
3.4 中断程序
3.4.1 外部计数中断
(1)工作过程:每来一个电机脉冲信号,产生中断计数。
(2)流程图,如图6所示。
(3)程序
void counter(void) interrupt 0
{ count++;
if(count%6==0) //6次循环为电机转一圈
{ zs++;//转圈计数加1}
}
3.4.2 定时器中断
(1)工作过程。TT0定时器每1秒定时中断一次,读取记录的脉冲个数。
(2)流程图。如图7所示。
(3)程序
void Time0(void) interrupt 1
{TH0=TH_M1; //50ms定时
TL0=TL_M1;
if(++msec==20) //50*20=1S
{ fb=1; }
}
4 结论
本文给出了一种单片机实现电机转速的测量系统,克服了传统方法测量的不足,可以实现电机转速不同区段的精度测量。该速度测量系统具有测量速度快、测量精度高、灵敏度高的优点,不但可应用于一般的机电控制过程中进行速度测量,而且可应用于其它要求转速精确测量系统中,具有较高的理论和实际应用意义。
参考文献:
[1]丁芝琴.基于霍尔传感器的电机测速装置设计[J].农机化研究,2010(05):81-83.
[2]张坤,徐慧.基于MSP430的智能汽车防撞系统[J].电脑知识与技术,2013(28):6385-6388.
[3]杜红.基于MSP430的直流电机控制器设计[J].信息系统工程,2013(10):81-86.