基于霍尔传感器的电机转速测量系统设计(共20页).doc
-
资源ID:7881318
资源大小:409.50KB
全文页数:21页
- 资源格式: DOC
下载积分:20金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
基于霍尔传感器的电机转速测量系统设计(共20页).doc
精选优质文档-倾情为你奉上摘要在当今工业生产过程中,越来越多的场合需要测量电机的转速,转速已成为电机最重要的工作参数之一。测量转速的方法有许多,最常用的两种方法为:光电式传感器测转速,霍尔式传感器测转速。本文将着重介绍基于单片机的霍尔式传感器测量转速。关键词:霍尔传感器,单片机,转速。专心-专注-专业目录1引言.22设计要求.23方案论证.23.1测量方法的选型.33.2核心处理模块的方案.33.2.1控制芯片的选型.33.2.2采用51单片机测量的方案论证.43.2.3软件系统设计方案.43.3电机转速测量模块的方案.53.4电机转速控制方案.53.5显示模块方案.64系统设计.6 4.1单片机模块.64.1.1 51单片机介绍.64.1.2系统的复位电路.84.1.3系统时钟电路设计.84.1.4 IO口管脚分配.94.2电机转速控制.94.3显示模块.104.3.1 LCD1602介绍和指令.10 4.3.2LCD1602的工作时序 .134.4霍尔传感器模块.135. 软件系统设计.145.2程序模块.155.2.1数据采集处理部分和PWM输出部分.155.2.2 LCD1602显示部分.16参考文献.17原理图.181. 引言转速是电动机极为重要的一个状态参数,在很多运动系统的测控中,都需要对电机的转速进行测量,速度测量的精度直接影响系统的控制情况,它是关系测控效果的一个重要因素。不论是直流调速系统还是交流调速系统,只有转速的高精度检测才能得到高精度的控制系统。本系统以AT89C51单片机为控制核心,用霍尔传感器作为测量小型直流电机转速的检测元件,经过单片机实时数据处理,用LCD1602显示小型直流电机的转速。本系统可对转速03000r/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-1引脚复用名称复用功能P30RXD串行数据接收P31TXD串行数据发送P32INT0外部中断0P33INT1外部中断1请求P34T0定时器/计数器0P35T1定时器/计数器1P36WR外部RAM写选通P37RD外部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.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.0P2.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点阵字符位组成,每个点阵字符位都可以显示一个字符,不能显示汉字和图片。LCD1602的引脚说明即指令说明分别如表4-1,表4-2所示所示,表4-1引脚引脚名电平输入/输出作用1GND电源地2VCC电源正极3VEE对比调整电压4RS0/1输入0:输入指令 1:输入数据5R/W0/1输入0:写入数据或指令;1:从LCD读数据6E1,10输入使能信号,1读取信息10(下降沿)执行指令7DB00/1输入/输出数据总线08DB0/1输入/输出数据总线19DB0/1输入/输出数据总线210DB0/1输入/输出数据总线311DB0/1输入/输出数据总线412DB0/1输入/输出数据总线513DB0/1输入/输出数据总线614DB0/1输入/输出数据总线715A+VCCLCD背光电源正极16K接地LCD背光电源负极 表4-2指令功能指令编码RSR/WDB7DB6DB5DB4DB3DB2DB1DB0清屏00000000001光标归位000000001X进入设置模式00000001I/DS显示开关控制0000001DCB设置显示屏或光标的移动方向000001S/CR/LXX功能设置00001DNFXX设定CGRAM地址0001CGRAM的地址(6位)设定DDRAM地址001DDRAM的地址(7位)读取忙碌信号或AC地址011:忙0:操作AC内容(7位)写数据到DDRAM或CGRAM10写入数据D7-D0从DDRAM或CGRAM读出数据11读出数据D7-D0LCD1602液晶显示电路如图4-5所示:图4-5:液晶显示电路4.3.2LCD1602的工作时序 LCD的工作时序如图4-6所示图4-6:LCD1602的工作时序基本操作时序:读状态 RS=L,RW=H,E=H 输出:DB0DB7=状态字写指令 RS=L,RW=L,E=下降沿 DB0DB7=指令码读数据 RS=H,RW=H,E=H 输出:DB0DB7=数据写数据 RS=H,RW=L,E=下降沿 DB0DB7=数据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-25.2.2LCD1602显示部分在这里我们只用到LCD的写数据功能,不用读数据功能。所以LCD显示程序流程图如图5-2所示: 写数据执行写命令LCD初始化开始 忙否 是 否 图5-3:显示流程图参考文献刘刚. 单片机原理及其接口技术 .科学出版社.2012.郭天祥.51单片机C语言教程M.北京:电子工业出版社. 2013 .传感器原理及工程应用(第四版).西安电子科技大学出版社 2014.5.孙桂荣,班 莹,刘 鸣.电机转速测量设计实验. 实验室科学,2005谭浩强.C程序设计(第二版)北京:清华大学出版社,2005 何希才,薛永毅.传感器及其应用实例M.北京:机械工业出版社,2004.1 原理图