一款基于AT89S52数字测速系统设计
本方案所设计的基于霍尔元件的脉冲发生器要求成本低,构造简单,性能好。在电气控制系统中存在着较为恶劣的电磁环境,因此要求产品本身要具有较强的抗干扰能力。系统主要由AT89S52 单片机处理系统、电机、传感器检测单元、信号处理单元和显示系统等几个部分组成。
1 总体方案设计
对转速的测量实际上是对转子旋转引起的周期脉冲信号的频率进行测量。霍尔元件测速法是利用霍尔开关元件测转速的。
霍尔开关元件内含稳压电路、霍尔电势发生器、放大器、施密特触发器和输出电路。输出电平与TTL 电平兼容,在电机转轴上装一个圆盘,圆盘上装若干对小磁钢,小磁钢越多,分辨率越高,霍尔开关固定在小磁钢附近,当电机转动时,每当一个小磁钢转过霍尔开关,霍尔开关便输出一个脉冲,计算出单位时间的脉冲数,即可确定旋转体的转速。其系统框图如图1 所示。
图1 霍尔传感器速框图
2 系统硬件电路设计
该系统包括霍尔传感器、隔离整形电路、主CPU、显示电路、报警电路及电源等部分。其测量过程是测量转速的霍尔传感器和电机机轴同轴连接,机轴每转一周,产生一定量的脉冲个数,由霍尔器件电路输出,经隔离整形后送入单片机进行处理,单片机收到信号将该值数据处理后,在LCD 液晶显示器上显示出来。
一旦超速,CPU 通过蜂鸣器进行报警。
2.1 传感器的选择
测量电机转速的第一步就是要将电机的转速表示为单片机可以识别的脉冲信号,从而进行脉冲计数。利用霍尔器件检测脉冲信号因其具有结构牢固、体积小、重量轻、寿命长、安装方便等优点。当电机转动时,带动传感器运动,产生对应频率的脉冲信号,经过信号处理后输出到计数器或其他的脉冲计数装置,进行转速的测量。
2.2 微处理器的选择
为了减少体积与功耗,采用较常使用且较经济的AT89S52单片机:AT89S52 是一种低功耗、高性能CMOS 的8 位微控制器,具有8K 在系统可编程存储器。其最小系统包括单片机AT89S52接口电路、晶振电路、复位电路。如图2 所示。
图2 最小系统仿真图
2.3 计数器与定时器
使用片内的计数器的优点在于降低单片机系统的成本。每到一个脉冲将会产生一个T1 的计数,在T0 产生的100ms 中断完成后,T1 的中断溢出次数就是所需要计的脉冲数。系统计数部分采用片内的计数器。定时器部分可由片内始终信号产生。
2.4 信号处理电路
用霍尔传感器测量转速,其检测到的信号为一个个的脉冲,所以不需要进行模数转换,信号经传感器后,滤去杂波即可直接接入单片机进行计数处理。由于是数字脉冲信号,所以滤波的时候采用两次反向操作,即可达到隔离整形的目的。硬件搭接如图3 所示。其中74LS14 为六位反相器。
图3 信号处理电路
2.5 系统设计总框图
实际测量时,要把霍尔传感器固定在直流测速电机的底板上,与霍尔探头相对的电机的轴上固定着一片磁钢块,电机每转一周,霍尔传感器便发出一个脉冲信号,如图4 所示。
图4 系统硬件框图
3 检测系统软件设计
电机转速测量需要经过的4 个基本步骤:1 是控制方式;2 是确定计数方式;3 是信号输入方式;4 是计数值的读取。其测量过程是测量转速的霍尔传感器和电机机轴同轴连接,机轴每转一周,产生一定量的脉冲个数,由霍尔器件电路输出。经过隔离整形电路后,成为转数计数器的计数脉冲。控制计数时间,即可实现计数器的计数值对应机轴的转速值。主CPU 将该值数据处理后,在LCD 液晶显示器上显示出来。先进行初始化设置各定时器初值,然后判断是否启动系统进行测量。启动系统后,霍尔传感器检测脉冲到来后,启动外部中断,每来一个脉冲中断一次,记录脉冲个数。同时启动T0 定时器工作,每1 秒定时中断一次,读取记录的脉冲个数,即电机转速。连续采样三次,取平均值记为一次转速值。再进行数值的判断,若数值高于5000r/s 则报警并返回初始化阶段,否则就进行正常速度液晶显示。如图5 所示。
图5 主程序设计框图
3.2 中断服务程序
在处于中断服务程序阶段,首先进行关中断设置。其次进行对位进行的脉冲个数计数的数值读取。再次对、T0 进行赋初值并且进行关中断设置。最后进行中断返回。
图6 计数器中断流程图
3.2.1 外部计数中断
3.2.2 定时器中断流程图
图3 信号处理电路
总结
本文介绍了一种基于单片机的电机转速测量系统的设计方案, 克服了传统方法测量的不足, 可以实现电机转速不同区段的精度测量。该速度测量系统具有测量速度快,测量精度高的优点,霍尔传感器的输出信号经信号调理后,通过单片机对连续脉冲记数来实现转速测量,充分利用了单片机的内部资源,有很高的性价比。事实证明,该系统在一般的转速检测和控制中均可应用。