基于霍尔传感器的电机转速测量系统设计.doc
- 文档编号:30861293
- 上传时间:2024-05-02
- 格式:DOC
- 页数:20
- 大小:462.30KB
基于霍尔传感器的电机转速测量系统设计.doc
《基于霍尔传感器的电机转速测量系统设计.doc》由会员分享,可在线阅读,更多相关《基于霍尔传感器的电机转速测量系统设计.doc(20页珍藏版)》请在冰豆网上搜索。
摘要
在当今工业生产过程中,越来越多的场合需要测量电机的转速,转速已成为电机最重要的工作参数之一。
测量转速的方法有许多,最常用的两种方法为:
光电式传感器测转速,霍尔式传感器测转速。
本文将着重介绍基于单片机的霍尔式传感器测量转速。
关键词:
霍尔传感器,单片机,转速。
目录
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.151单片机介绍.............................................................................6
4.1.2系统的复位电路..........................................................................8
4.1.3系统时钟电路设计......................................................................8
4.1.4IO口管脚分配............................................................................9
4.2电机转速控制...............................................................................................9
4.3显示模块......................................................................................................10
4.3.1LCD1602介绍和指令.......................................................................10
4.3.2LCD1602的工作时序......................................................................13
4.4霍尔传感器模块..........................................................................................13
5.软件系统设计........................................................................................................14
5.2程序模块......................................................................................................15
5.2.1数据采集处理部分和PWM输出部分............................................15
5.2.2LCD1602显示部分...........................................................................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.151单片机的介绍
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-1
引脚
复用名称
复用功能
P30
RXD
串行数据接收
P31
TXD
串行数据发送
P32
INT0
外部中断0
P33
INT1
外部中断1请求
P34
T0
定时器/计数器0
P35
T1
定时器/计数器1
P36
WR
外部RAM写选通
P37
RD
外部RAM读选通
6.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.4IO口管脚分配
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的全称是PulseWidthModulation,即脉宽调制变换器。
它的作用是把恒定的直流电源电压调制成频率一定,宽度可变的脉冲电压序列,从而改变平均输出电压的大小,以调节电机的转速。
在电机转动时,由于电机本身要切割磁感线从而产生自身感应电动势,如果把电机电源直接与单片机系统共用一个电源,则会对整个控制系统产生巨大的影响,使整个系统不能正常的工作。
为了消除这一影响,采用光耦耦合器把电机和单片机分开,从而达到消除这一影响的目的。
为了控制PWM的占空比,我选用两个按键来控制。
具体电路如图4-4所示:
图4-4
按键S2增加PWM占空比,即增加转速。
按键S3减少PWM占空比,即减小转速。
单刀Key1:
电机开关。
4.3显示模块
4.3.1LCD1602介绍和指令
本次显示模块选用LCD1602,LCD液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号、等的点阵型液晶模块,它由32个5*7或者5*11点阵字符位组成,每个点阵字符位都可以显示一个字符,不能显示汉字和图片。
LCD1602的引脚说明即指令说明分别如表4-1,表4-2所示所示,
表4-1
引脚
引脚名
电平
输入/输出
作用
1
GND
电源地
2
VCC
电源正极
3
VEE
对比调整电压
4
RS
0/1
输入
0:
输入指令1:
输入数据
5
R/W
0/1
输入
0:
写入数据或指令;
1:
从LCD读数据
6
E
1,1→0
输入
使能信号,1读取信息
1→0(下降沿)执行指令
7
DB0
0/1
输入/输出
数据总线0
8
DB
0/1
输入/输出
数据总线1
9
DB
0/1
输入/输出
数据总线2
10
DB
0/1
输入/输出
数据总线3
11
DB
0/1
输入/输出
数据总线4
12
DB
0/1
输入/输出
数据总线5
13
DB
0/1
输入/输出
数据总线6
14
DB
0/1
输入/输出
数据总线7
15
A
+VCC
LCD背光电源正极
16
K
接地
LCD背光电源负极
表4-2
指令功能
指令编码
RS
R/W
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
清屏
0
0
0
0
00
0
0
0
0
1
光标归位
0
0
0
0
0
0
0
0
1
X
进入设置模式
0
0
0
0
0
0
0
1
I/D
S
显示开关控制
0
0
0
0
0
0
1
D
C
B
设置显示屏或光标的移动方向
0
0
0
0
0
1
S/C
R/L
X
X
功能设置
0
0
0
0
1
D
N
F
X
X
设定CGRAM地址
0
0
0
1
CGRAM的地址(6位)
设定DDRAM地址
0
0
1
DDRAM的地址(7位)
读取忙碌信号
或AC地址
0
1
1:
忙
0:
操作
AC内容(7位)
写数据到DDRAM或CGRAM
1
0
写入数据D7-D0
从DDRAM或CGRAM读出数据
1
1
读出数据D7-D0
LCD1602液晶显示电路如图4-5所示:
图4-5:
液晶显示电路
4.3.2LCD1602的工作时序
LCD的工作时序如图4-6所示
图4-6:
LCD1602的工作时序
基本操作时序:
读状态RS=L,RW=H,E=H输出:
DB0~DB7=状态字
写指令RS=L,RW=L,E=下降沿DB0~DB7=指令码
读数据 RS=H,RW=H,E=H 输出:
DB0~DB7=数据
写数据 RS=H,RW=L,E=下降沿DB0~DB7=数据
4.4霍尔传感器模块
霍尔传感器选用GS3020,GS3020共有三个管脚:
1脚VCC接电源正极;2脚信号输出端;3脚接电源负极
测速电路如图4-7所示,其中C5用于率电源滤波,C4用于霍尔元件输出信号的滤波,用一个比较器LM324把输出信号转换成方波,以便于单片机计数。
将LM324的输出端与单片的P3.5口相连,它是计数器1的输入口。
在这儿我们将采用16位计数器。
图4-7:
测速模块
5.软件系统设计
整个软件系统的工作流程如图5-1所示:
LCD显示
数据处理算法
频率采集
PWM输出,电机转动
开始
LCD,定时器,计数器初始化
图5-1:
系统工作流程图
5.2程序模块
整个系统的程序模块包括3部分:
1.数据采集,处理部分。
2.显示模块程序
3.按键控制PWM输出,改变电机转速。
5.2.1数据采集处理部分和PWM输出部分
由于本课题采用计数测评法所以选用单片机的计数器1来进行计数。
用单片机的定时器0来计时阀门时间。
计数器定时器的模式都采用16位。
初始化定时器,计数器,外部中断
我们采用分段式计算频率的大小,如前面方案选择所示,所以具体的程序流程图如图5-2所示:
定时器开始定时1s,计数器开始计数
1s内计数器的值≧360否?
否 是
重新测速
选用周期测频法,清计数器,关定时器,并清零
提取计数值进行数据处理,计算转速
等待第一次计数,开定时器0,计算一个周期的时间
等待第二次计数,关定时器。
清零计数器,并关闭,获取一个周期的时间;
提取周期,清定时器0,计算转速
LCD显示
图5-2
5.2.2LCD1602显示部分
在这里我们只用到LCD的写数据功能,不用读数据功能。
所以LCD显示程序流程图如图5-2所示:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 霍尔 传感器 电机 转速 测量 系统 设计