• 头条利用微处理器设计的电机数字测速系统,抗干扰能力强、测量精确
    2021-04-22 作者:王瑜 王斌  |  来源:《电气技术》  |  点击率:
    分享到:
    导语为了满足工业电气控制中对发动机、电动机、机床主轴等旋转设备的转速测量和控制,设计一款基于微控制器控制的霍尔传感器测速系统,此系统具有抗干扰能力强、测量精确等优点。

    在电气工程实践中,经常会遇到各种需要测量转速的场合,在对设备转速和控制中,常需要分时或连续测量、显示其转速及瞬时速度。为了能精确地测量转速,还要保证测量的实时性,要求能测得瞬时转速。本文提出一种基于STC单片机实现对电机转速测量的方法,利用霍尔传感器采集脉冲信号,通过定时计数算法程序,将转速通过数码管实时显示。

    1 测速系统概述

     

    利用微处理器设计的电机数字测速系统,抗干扰能力强、测量精确

    图1 系统方框图

    本系统由传感器、处理器和显示3个部分几部分组成,方框图如图1所示。

    此系统由开关型霍尔传感器A3144E根据检测电机的旋转信号并产生脉动波形,由8位微控制器STC 89S52RC对波形进行处理并计算,最终把电机转速通过四位共阳极LED显示。

    2 硬件部分设计

    2.1 速度检测电路

    测量电机转速要将电机的转速表示为单片机可以识别的脉冲信号,从而进行脉冲计数。霍尔器件作为一种转速测量系统的传感器,具有结构牢固、体积小、重量轻、寿命长、安装方便等优点,当电机转动时,带动传感器,产生对应频率的脉冲信号,经过信号处理后输出到计数器或其他的脉冲计数装置,进行转速的测量。传感器检测电路如图2所示。

    利用微处理器设计的电机数字测速系统,抗干扰能力强、测量精确

    图2 传感器检测电路

    2.2 微控制器最小系统电路

    微控制器最小系统电路如图3所示,由主控制器STC 89S52RC、时钟电路和复位电路三部分组成。单片机STC 89S52RC作为核心控制器控制着整个系统的工作,而时钟电路负责产生单片机工作所必需的时钟信号,复位电路使得单片机能够正常、有序、稳定地工作。

    利用微处理器设计的电机数字测速系统,抗干扰能力强、测量精确

    图3 微控制器最小系统电路

    2.3 数码管显示电路

    LED又称为数码管,可以显示0~9和A~F共16个数字和字母。这种装入数码管中显示字形的数据称字形码,又称段选码,本系统采用共阳极动态扫描方式进行电机转速的实时显示,LED动态显示电路如图4所示。

    利用微处理器设计的电机数字测速系统,抗干扰能力强、测量精确

    图4 LED显示电路

    2.4 RS-232串行通信接口电路

    通过单片机的串行口可以把单片机系统的数据传回电脑处理或者接受电脑传过来的数据而进行相应的控制。微控制器有许多标准的通信方法,但在单片式控制系统中,最常用的是RS232串行接口。串行接口电路如图5所示。

    利用微处理器设计的电机数字测速系统,抗干扰能力强、测量精确

    图5 串行通信接口电路

    3 软件设计

    3.1 主程序设计

    本系统采用微控制器STC89S52RC中的T0定时器和T1计数器配合使用对转速脉冲定时计数。计数器T1工作于计数状态对外部脉冲进行计数;T0工作为定时器方式每次定时10ms。本设计程序编程的思想就是在给定的10ms之内,用单片机自带的计数器T1对外部脉冲进行计数。主程序的流程图如图6所示。

    利用微处理器设计的电机数字测速系统,抗干扰能力强、测量精确

    图6 主程序流程图

    主程序部分程序如下:

    #include<AT89X51.H>

    #define uint unsigned int

    sbit CNPN0=P0^0;

    sbit CNPN1=P0^1;

    sbit CNPN2=P0^2;

    sbit CNPN3=P0^3;

    uint buf_min=0x1,flag;

    void delay(uint x)//x=1000表示4ms

    {

    while(--x);

    }

    …………………

    void main()

    {

    uint num[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

    uint i,j,temp;

    uint sum=0x0,disnum[4]={0};

    TMOD=0x51; //TO工作为定时方式,T1工作为计数方式

    TH0=-10236/256;

    TL0=-10236%256;

    TH1=0;

    TL1=0;

    EA=1; //启动外部中断0

    …………………

    3.2 T0定时中断程序设计

    T0定时中断程序主要是完成10ms的定时任务,并且对变量buf_min进行加一处理,其中在对T0进行赋初值时,选择为10236而不是10000。T0定时器中断流程图如图7所示。

    利用微处理器设计的电机数字测速系统,抗干扰能力强、测量精确

    图7 T0定时中断流程图

    T0 定时中断部分程序:

    void time0() interrupt 1 //定时10ms

    {

    EA=0;

    ET0=0;

    TR0=0;

    TH0=-10236/256;

    TL0=-10236%256;

    buf_min++;

    EA=1;

    ET0=1;

    TR0=1;

    }

    4 测速系统在实际生产的应用及效果

    本系统在工业用除尘风机,高低压水泵电机以及TRT余热发电中都得到了应用,系统采集信号后计算显示的多组数据和专用手持测速仪测得的多组数据进行对比,误差不超过千分之一。而且在电磁信号较强的环境中表现出了很强的抗干扰能力,不管是测速实时显示还是在闭环控制中为上级控制系统反馈模拟信号都实现得非常理想。

    5 结束语

    在本系统中,介绍了一种基于微控制器STC系列单片机的电机测速系统,该测速系统采用集成霍尔传感器采集电机速度信号,具有频率响应快、抗干扰能力强等特点。霍尔传感器的输出信号经信号调理后,通过单片机对连续脉冲记数来实现转速测控,并且充分利用了单片机的内部资源,有很高的性价比。并且在测量范围内转速越高测量精度越高。所以该系统在一般的工业领域转速检测和闭环控制中均可应用。

    编自《电气技术》,原文标题为“基于STC系列微控制器的电机数字测速系统设计”,作者为王瑜、王斌。