单片机是整个测量系统的主要部分,担负对前端脉冲信号的处理、计算、以及信号的同步,计时等任务,其次,将测量的数据经计算后,将得到的转速值传送到显示接口中,用数码管显示数值。在本系统中考虑到计数的范围、使用的定时,计数器的个数及I/O口线。
电机转速测量需要经过的4个基本步骤:1是控制方式;2是确定计数方式;3是信号输入方式;4是计数值的读取;单片机完成对电机转速脉冲计数的控制,读取寄存器完成转速频率的确定。
其测量过程是测量转速的霍尔传感器和电机机轴同轴连接,机轴每转一周,产生一定量的脉冲个数,由霍尔器件电路输出。成为转数计数器的计数脉冲。同时霍尔传感器电路输出幅度为12V的脉冲经光电耦合后降为5V,保持同单片机AT89C51逻辑电平相一致,控制计数时间,即可实现计数器的计数值对应机轴的转速值。主CPU将该值数据处理后,在数码管上显示出来。本系统采用89C51中的0INT中断对转速脉冲计数。定时器T0工作于定时方式,工作于方式1。每到1s读一次外部中断0INT计数值,此值即为脉冲信号的频率,可计算出电机的转速。
当直流电机通过传动部分带圆盘旋转时,霍尔传感器根据圆盘上得磁片获得一系列脉冲信号。这些脉冲信号通过单片机系统定时/计数器0INT计数,定时器T0定时。定时器T0完成100次溢出中断的时间T除以测得的脉冲数m,经过单位换算,就可以算得直流电机旋转的速度。 然后判断是否启动系统进行测量。如果是,就启动系统运行。如果不是就等待启动。启动系统后,霍尔传感器检测脉冲到来后,启动外部中断,每来一个脉冲中断一次,记录脉冲个数。同时启动T0定时器工作,每1秒定时中断一次,读取记录的脉冲个数,即电机转速。连续采样三次,取平均值记为一次转速值。再进行数值的判断,若数值高于5000rpm则报警并返回初始化阶段,否则就进行正常速度数码管显示。
单片机的转速测量完成,定时器T0作为内部定时器,外部中断来的时候读取TH0,TL0,并同时清零TH0、TL0,使定时器再次循环计内部脉冲。此外,对于低速情况下,我们还要设定一个软件计数器VTT,当外部中断还没来而内部定时器已经溢出,产生定时器0中断时,增加VTT,作为三字节中的高字节。三字节组成除数,上面的常数为四字节,所以计算程序实际上就是调用一个四字节除三字节商为两字节的程序。为数码管能够显示出来,需将二进制转换为十进制,在将十进制转换为非压缩BCD码后,才能调用查表程序,最后送显示。 单片机转速计算程序 由于本次设计的系统要实现的功能是将霍尔传感器的信号送到单片机的外部中断口,再对周期方波进行内部计数,调用计算程序把转速测出来。可以说是核心部分