APP下载

基于单片机的电机测速系统设计

2017-09-18陆丽婷项岩

无线互联科技 2017年17期
关键词:单片机程序

陆丽婷++项岩

摘 要:文章设计了以单片机STC89C51为硬件的控制核心,用霍尔传感器进行测量的直流电机转速测量系统。通过对方案的分析,文章确定了系统的硬件设计和软件设计,该系统具有频率响应快、抗干扰能力强等特点。

关键词:单片机;转速测量;霍尔传感器;脉冲计数;程序

在各类发电机和电动设备的旋转控制中通常需要进行转速的测量,目前国内外测量电机转速的方法有很多,常用的转速测量方法测速发电机测速发和光电码盘测速法等[1]。这些方法各有优缺点,本文设计了一种以单片机STC89C51为硬件的控制核心,以霍尔传感器作为检测元件,测量直流电机的转速,并通过1602液晶显示器显示的方法。

1 方案设计

1.1 设计要求及指标

设计本系统的前提是需要选定传感器,本系统选定霍尔传感器,因为其具有灵敏、可靠、无磨损、无触点、功耗低、体积小巧、使用寿命长等优点,符合电机转速测量系统的要求和指标[2]。接下来设计一个单片机小系统,在设计过程中巧妙利用单片机的定时器和计数器对脉冲信号进行测量或计数,把控好单片机接口电路的设计技巧。最后进行实时测量显示,根据获得的脉冲计数实现转速的测量。

1.2 方案分析与确定

转速的测量方法很多,根据脉冲计数来实现转速测量的方法主要有M法(测频法)、T法(测周期法)和MPT法(频率周期法)[3]。本系统采用了M法(测频法)。由于转速是以单位时间内转数来衡量,在变换过程中多数是有规律的重复运动。

脉冲计数需要依靠脉冲信号,脉冲信号的获取可以通过霍尔传感器,结构方式较为简单:在转轴的圆周上粘上一粒小磁铁,小磁铁固定在转盘上,转盘与电机轴相连,同时转动,小磁铁通过霍尔传感器时,霍尔传感器就会产生一个相应的脉冲,通过计算出两个连续脉冲的时间间隔,就可以计算出转速了。

本系统的硬件部分以单片机STC89C51作为系统的控制单元,由电阻和发光二极管构成电源电路,用霍尔传感器作为测量转速的检测元件,最终通过1602液晶显示器显示直流电机的转速。系统硬件原理如图1所示。

根据硬件电路图对各个部分的设计如图2所示。

根据霍尔效应用半导体材料制成的原件就是霍尔传感器,即霍尔片。根据使用方法的不同霍尔片可分为贴片型和直插型,贴片型使用较少,因此本系统选择直插型。同时要求选用的霍尔片具有体积小、安装灵活等特点[4],可用于测速,并且与普通的磁钢片能够配套,因此本系统选用型号为A3144的霍尔片作为霍尔测速模块的核心。

本系统中使用片内的计数器,计数器T1每到一个脉冲就会产生一个计数,经过100 ms,定时器T0产生的中断结束后,计数器T1的中断溢出次数就是所需要的脉冲数。特点在于:使用了内部的T1作为外部脉冲的计数器,并且,为了避免计数器的溢出,将T1的初值设为0。

2 系统硬件设计

2.1 单片机最小应用系统

最小系统包括单片机及其所需的必要的电源、时钟、复位、晶振等部件,电源、时钟等电路是使单片机能运行的必备条件,能使单片机始终处于正常的运行状态。由STC89C51構成的最小系统简单﹑可靠,只需接上时钟电路和复位电路即可构成最小应用系统。

2.2 电源电路

电源电路由电阻和发光二极管组成,接通电源,电路连接无误,灯亮。发光二极管用来检测电路是否连通。

2.3 转速测量电路

电机的转速是以单片机可以识别的脉冲信号的形式体现的,所以首先把电机的转速表示成脉冲信号的形式,目的是进行脉冲计数。通过霍尔传感器检测到电机的脉冲信号,再经过信号处理后输出到计数器或其他的脉冲计数装置,测量出相应的转速[5]。

2.4 LCD液晶显示电路

本系统中液晶显示电路主要是通过电压对显示区域的控制,从而利用了液晶的物理特性,加上液晶显示器具有厚度薄、易于实现全彩色显示、适用于大规模集成电路直接驱动等特点,只要有电就能显示出图形。电路原理如图3所示。

3 系统软件设计

3.1 工作流程

本系统采用89C51中T0定时器和T1计数器配合使用对转速脉冲定时计数的方式。其中T0工作为定时方式,每次定时100 ms,T1工作于计数方式,负责对外部脉冲进行计数。本设计程序编程的主要思想就是在给定的100 ms之内,用单片机自带的计数器T1对外部脉冲进行计数。

部分主程序如下:

Void mian( )

{ uintnum[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x79};

unsigned int i,j,mm;

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

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

TH1=0;

TL1=0;

EA=1; //打开总中断

IT0=0; //将外部中断置为0

ET0=1; //允许T1中断

TR0=1; //T0开始定时

EA=1; //开中断

………………………

}

3.2 转速测量程序

本系统设计中,计数器T1工作于计数方式,用于计数,为了获取较大的测量范围,计数量越大越好,所以,把T1定为工作方式1(16位的计数方式)。同时,为了使电路简单化,本设计没有使用外部控制端,而是通过指令置位/清零TR1的方式进行计数的启动/停止,并且T1用自由计数的方式,无需预置初值。

3.3 LCD显示程序

写入1602LCD液晶的程序如下:

void displaytolcd()

{

write_command(0x80); for (i=0;i

write_data(display[i]);

delay(5);

}

}

4 结语

本系统在对设计方案进行分析论证的基础上,分别通过系统的硬件和软件设计对方案进行了扩充和完善,从而能使本系统更具有优势和一定的使用价值。

[参考文献]

[1]王文成,李健.基于单片机的电机转速测量系统的设计[J].仪表技术与传感器,2011(8):70-72.

[2]郑隆举,李慧芳,王志全,等.基于单片机的电机测速系统设计[J].自动化与仪器仪表,2015(3):37-39.

[3]牛洁,周静,苟娜.基于霍尔传感器的直流电机转速测量系统设计[J].电子测试,2008(5):75-78.

[4]陈育中.霍尔传感器测速系统的设计[J].科学技术与工程,2010(30):7529-7532.

[5]陈杨.一种转速测量电路设计[J].天津商学院学报,2003(6):15-16.

猜你喜欢

单片机程序
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
基于单片机的便捷式LCF测量仪
试论我国未决羁押程序的立法完善
小议PLC与单片机之间的串行通信及应用
失能的信仰——走向衰亡的民事诉讼程序
“程序猿”的生活什么样
英国与欧盟正式启动“离婚”程序程序
基于单片机的平衡控制系统设计
创卫暗访程序有待改进