当前位置:文档之家› 基于霍尔传感器的电机转速测量系统设计

基于霍尔传感器的电机转速测量系统设计

摘要在当今工业生产过程中,越来越多的场合需要测量电机的转速,转速已成为电机最重要的工作参数之一。

测量转速的方法有许多,最常用的两种方法为:光电式传感器测转速,霍尔式传感器测转速。

本文将着重介绍基于单片机的霍尔式传感器测量转速。

关键词:霍尔传感器,单片机,转速。

目录1引言 (2)2设计要求 (2)3方案论证 (2)3.1测量方法的选型 (3)3.2核心处理模块的方案 (3)3.2.1控制芯片的选型 (3)3.2.2采用51单片机测量的方案论证 (4)3.2.3软件系统设计方案 (4)3.3电机转速测量模块的方案 (5)3.4电机转速控制方案 (5)3.5显示模块方案 (6)4系统设计 (6)4.1单片机模块 (6)4.1.1 51单片机介绍 (6)4.1.2系统的复位电路 (8)4.1.3系统时钟电路设计 (8)4.1.4 IO口管脚分配 (9)4.2电机转速控制 (9)4.3显示模块 (10)4.3.1 LCD1602介绍和指令 (10)4.3.2LCD1602的工作时序 (13)4.4霍尔传感器模块 (13)5.软件系统设计 (14)5.2程序模块 (15)5.2.1数据采集处理部分和PWM输出部分 (15)5.2.2 LCD1602显示部分 (16)参考文献 (17)原理图 (18)1.引言转速是电动机极为重要的一个状态参数,在很多运动系统的测控中,都需要对电机的转速进行测量,速度测量的精度直接影响系统的控制情况,它是关系测控效果的一个重要因素。

不论是直流调速系统还是交流调速系统,只有转速的高精度检测才能得到高精度的控制系统。

本系统以AT89C51单片机为控制核心,用霍尔传感器作为测量小型直流电机转速的检测元件,经过单片机实时数据处理,用LCD1602显示小型直流电机的转速。

本系统可对转速0—3000r/min进行高精度测量。

且还可扩展更宽的测量范围。

2.设计要求基于霍尔传感器的电机转速测量系统设计,测量范围:0-3000转/分,测量精度:±3转/分,实时显示。

3.方案论证根据题设要求,本系统的原理框图如图3-1所示图3-1:原理框图3.1测量方法的选型对转速的测量实际上是对转子旋转引起的周期脉冲信号的频率进行测量,其中测频率的方法有许多,最常用的方法有两种:等精度测量法和计数测频法。

等精度测量法精度很高常常用于工业测量,但实现该方法比较困难要求比较高。

计数测频率的测量精度次之,由于量化误差的存在,它的精度受频率的高低影响,频率越高,测量精度越高,反之亦然。

但实现该方法简单,要求不高。

所以由于本人所学有限,在本设计中将选择计数测频法,计数测频的方法一般有两种方法:方法1:测频率法在一定的时间间隔t内,计数被测信号变化的次数N,则被测信号的频率为f=Nt 。

优点:适合测频率较高的情况。

缺点:不适用于测低频。

方法2:测周期法在被测信号的n个周期内,计数时钟个数数为m,周期为t,则测被测信号的频率可表示为f=n/mt优点:适合测低频,能提高测频精度。

缺点:不适合测高频,要想测高频,则必须提高处理器的能力。

本次设计将选用方法一,和方法二的组合。

3.2核心处理模块的方案3.2.1 控制芯片的选型方案一:用STM32做核心控制器。

STM32是32位单片机,处理速度快,最大时钟频率能达到72Mhz。

内部资源丰富,具有大容量的内置闪存,在32k-128k 之间。

内置丰富的外部中断和定时器,丰富的IO接口,最多可达112个,自带AD,DA转换器,且功耗非常低,稳定性非常高。

总之STM32的功能非常强大,适合做比较大的系统,是51单片机不能比拟的。

缺点:成本比较贵,编程复杂,画板子比较麻烦。

方案二:用AT89C51做核心控制器。

AT89C51是一种8位单片机,工作时钟快,具有4K的闪存,使用寿命长,可擦写循环1000次以上,功耗低,稳定性高,价钱非常低廉,编程简单,非常实用,适合小系统设计。

缺点:闪存小,不能进行大系统开发,内部资源少。

本课题整个系统比较小,若使用STM32做核心控制器将造成巨大的资源浪费,会增加成本,不适宜大规模的推广。

而使用51单片机,价格低廉,操作简单,内部资源完全满足本系统的开发要求。

所以综上所诉,本设计选择方案二。

3.2.2采用51单片机测量的方案论证根据题设要求,最大测量转速为3000r/min,即50r/s,一转所花最小时间为20ms。

采用分辨率为36的测量精度,即有36个磁钢,则磁钢与磁钢之间所花最小时间为20/36=0.56ms。

若单片机采用11.0592Mhz的晶振,则执行一条指令的时间大约为1us,进入中断的时间只需几微秒,远远小于磁钢与磁钢之间所花的最小时间。

所以完全可以忽略单片机在执行程序时所花的时间对测量结果的影响。

因此用51单片机完全能够满足测量要求,不需要运行速度更快的单片机。

由以上所诉该方案可行。

3.2.3软件系统设计方案题设要求为0-3000r/min,所以我有以下三种方案方案一:在低转速和高转速时都选择1分钟为闸门时间,则计数器所得值m,除以磁钢个数n,即得转速r=m/n。

缺点:不管是低转速,还是高转速等待时间过长,对测量高转速不适宜,适宜测量低转速,但对于。

方案二:根据电机转速快慢智能判断闸门时间。

在1s内判断通过磁钢的个数,如果大于等于360个(即大于等于600转/分),则计算算出转速。

如果小于360个则延长闸门时间至10秒,计算通过磁钢个数,如果大于等于360个(即大于等于60转/分),计算出转速。

如果小于360个则再延长闸门时间至60s,计算通过磁钢的个数,计算出转速。

根据题设要求测量误差不能大于正负3转/分。

而本设计最大测量误差为5/36=0.14转/分(大于1转/分时),当且仅当在闸门时间为1s时可能取得。

优点:该方法对测量大于等于600转/分的转速所花时间较短缺点:对量小于等于600转/分的转速所花时间较长,不过为了提高测量精度只好延长时间。

方案三:在高转速时(大于等于600转/分),选用测频法,即与方案二测高转速的方法一样。

在低转速(小于600转/分),选用周期测频法。

这样既可提高测量速度,又可提高精度。

综上所诉方案三更好,所以本课题选择方案三。

3.3电机转速测量模块的方案采用开关型霍尔传感器进行测速。

霍尔开关传感器测频法测速原理:小磁铁固定在转盘上,转盘与电机轴相连,同步转动,小磁铁通过霍尔传感器时,霍尔传感器产生一个相应的脉冲,我们在单位时间内计算脉冲的个数,再除以小磁铁的个数,得到的值即为电机的转速,其中小磁铁的个数即为分辨率的值,小磁铁越多分辨率越高,测量精度越高。

在本课题中将采用分辨率为36进行测量。

这样能够减小由计数法测频所引起的正负1个脉冲(量化误差)误差的影响。

3.4电机转速控制方案采用按键控制PWM的输出脉宽从而控制电机的转速,方便测量电机不同的转速。

3.5显示模块方案方案一:选用数管显示,显示单一。

方案二:选用LCD1602显示,显示丰富。

由于数码管显示内容单一,所以我选择显示内容更丰富的方案二。

4.系统设计本系统选用的模块包括:单片机系统,转速测量模块,LCD显示模块,控制电机转速模块。

4.1单片机模块本课题选用AT89C51单片机作为主控器4.1.1 51单片机的介绍52单片机引脚图如图4-1所示:图4-1:单片机引脚图主要特性:★4K字节可编程闪烁存储器★寿命:1000写/擦循环★数据保留时间:10年★32可编程I/O线★5个中断源,两个外部中断,两个定时器中断,一个串口中断★有一个串口★低功耗的闲置和掉电模式管脚说明:1.40脚VCC用于接电源正极。

2.20脚GND接电源负极。

3.P1,P2为双向IO口。

4.P0口在作为输出口是一般要接上拉电阻,增大驱动能力。

5.P3口除了作为IO口外,还有复用功能,复用功能如下表4-1表4-16.PSEN:外部程序存储器的选通信号。

7.XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。

8.XTAL2:来自反向振荡器的输出。

9.9脚RST复位脚4.1.2系统的复位电路复位电路是整个系统重要的一环,当运行出错时可以按下复位按键复位,不需断电重新操作。

本复位电路选择上电自动复位电路。

如图4-2所示。

当电路上电时,由于电容两端的电压不可跳变,所RST端会是高电平,系统复位。

等电容充电完成后,RST端变为低电平,系统正常工作。

图4-2:复位电路4.1.3系统时钟电路设计时钟电路为整个系统提供时钟,是整个系统不可缺少的一环。

它控制着系统的运行速率,采用的时钟晶振越大运行速率越快。

由于受51单片机自身限制,时钟晶振也不能选择过大,51单片机能支持几十兆的晶振。

在本系统设计中,选用11.0592Mhz的晶振,目的是为了是在使用定时器时,更加方便精准,提高测量精度。

晶振电路如图4-3所示。

在选择晶振两边的电容时不宜选择过大。

当电容太大时晶振不能正常起振,导致系统不能正常工作。

本次选择30pf的电容。

图4-3:时钟电路4.1.4 IO口管脚分配1.传感器输出接口P3.5I/O口,用于计数脉冲个数。

2.对按键进行I/O口分配,将选用两个按键,一个用于增大PWM输出的占空比,即增大转速,分配管脚为P1.0;一个用于减小PWM的占空比,即减小转速,分配管脚为P1.1 。

3.PWM输出I/O分配:选P1.7作为模拟PWM输出口4.LCD显示I/O口分配:P0口接LCD的数据传送接口,P2.0~P2.2作为作为LCD的控制接口,分别接LCD的E(使能端),RW(读写端),RS(数据/命令端)4.2电机转速控制控制电机的转速的快慢,也就相当于控制电机两端电压的大小,控制电压的大小可以选择DA数模转换器,也可以选择PWM输出控制。

若用DA控制,则会多增加芯片,没有直接用PWM控制那么实用。

PWM可以直接由单片机模拟输出,操作方便简单,所以本次选择PWM来控制电机转速。

PWM的全称是Pulse Width Modulation,即脉宽调制变换器。

它的作用是把恒定的直流电源电压调制成频率一定,宽度可变的脉冲电压序列,从而改变平均输出电压的大小,以调节电机的转速。

在电机转动时,由于电机本身要切割磁感线从而产生自身感应电动势,如果把电机电源直接与单片机系统共用一个电源,则会对整个控制系统产生巨大的影响,使整个系统不能正常的工作。

为了消除这一影响,采用光耦耦合器把电机和单片机分开,从而达到消除这一影响的目的。

为了控制PWM的占空比,我选用两个按键来控制。

具体电路如图4-4所示:图4-4按键S2增加PWM占空比,即增加转速。

按键S3减少PWM占空比,即减小转速。

单刀Key1:电机开关。

4.3显示模块4.3.1 LCD1602介绍和指令本次显示模块选用LCD1602,LCD液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号、等的点阵型液晶模块,它由32个5*7或者5*11点阵字符位组成,每个点阵字符位都可以显示一个字符,不能显示汉字和图片。

相关主题