电机微机测速系统设计_第1页
电机微机测速系统设计_第2页
电机微机测速系统设计_第3页
电机微机测速系统设计_第4页
电机微机测速系统设计_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1前言

随着现代科学技术,特别是微电子技术和信息技术以及计算机技术等的快速开展,自

动检测和自动控制技术的应用范围越来越广泛。在自动检测和自动控制系统中,传感器和

编码器等检测元件起着非常重要的作用,它们是感受和传递外界信息的关键部件,对于整

个自动控制系统有着决定性的作用。

本次课程设计主要是对电机的转速进行测量,测量转速的方法非常多,但都普遍存在

测量过程复杂、测量精度低等缺点。转速是电动机的重要的根本状态参数,在很多运动系

统的测控中,都需要对电机的转速进行测量,测量的精度直接影响系统的控制情况,只有

转速的高精度检测才能得到高精度的控制系统。按照不同的理论方法,先后产生过很多的

测速方法,如模拟测速法、同步测速法以及计数测速法等。我们本次的设计采用了增量式

旋转编码器和AT89C52单片机进行测速系统的设计。旋转编码器与电动机的主轴直接联接,

从而使编码器的转速与电机的转速完全一致,从而实现对转速的实时在线监控。基于旋转

编码器有三种常用的测速方法:M法、T法、M/T法,M法适用于高速段,T法又更适用

于低速段,而本测速系统要求对0—9999r/min测速范围内的转速进行测量。既有高速段又

有低速段。综合考虑我们采用了M/T法测速的原理遂行转速的计算,计算的过程主要在

AT89C52单片机中进行编程实现,最后将计算结果通过液晶显示器进行显示。

2总体方案设计

2.1系统的整体设计

本次设计选用了增量式旋转编码器作为检测元件,M/T法作为测速方法。编码器输出

脉冲信号,通过四倍频电路倍频后输入单片机,再经过单片机进行中央控制,通过对编码

器输出的脉冲信号进行采集、计时、计数、运算后,将计算结果液晶显示器进行显示。此

系统由脉冲采集、中央运算控制、数字显示三个局部构成。

具体方案的工作流程分析:旋转编码器与电机的主轴直接相联,编码器的光栅盘转动

产生脉冲信号,通过倍频后,直接对AT89c52产生INT3中断。单片机AT89c52作为中央运

算控制单元负责对编码器输出的脉冲信号进行采集、计时、计数、运算,最后控制数码管

显示计算结果。

该测速系统的原理框图如图2.1所示。

晶振11.0592MHz

频V

电编

AT89C52管

机码

图2.1系统原理框图

2.2测速方法的选择

本系统选择的测速方法为M/T法,M/T法测速是将H法和T法相结合,在一定的时间范

闱内,同时对旋转编码器输出的脉冲个数必和例2进行计数,那么电机每分钟的转速为

〃="必萍,实际工作中,在固定的,时间内对旋转编码器的脉冲计数,在第一个旋转编

NM2

码器上升沿定时器开始定时,同时开始记录旋转编码器和时钟脉冲数,定时器定时4时间

到,对旋转编码器停止计数,而在下一个旋转编码器的上升沿到来时刻,时钟脉冲才停止

记录。采用M/T法既具有M法测速的高速优点,又有T法测速的低速的优点,能够覆盖较

广的转速范围。原理图如图2.2所示。

图2.2M/T法测速原理图

3系统硬件设计

3.1主要器件的选择

旋转编码器的选择

在本系统中,既需要对电机进行测速,还要判断转速的方向,所以我选择了增量式旋转编

码器。增量式旋转编码器工作原理为:由一个中心有轴的光电码盘,其上有环形通、暗的

刻线,有光电发射和接收器件读取,获得四组正弦波信号组合成A、B、C、D,每个正弦波相

差90度相位差(相对于一个周波为360度),将C、D信号反向,叠加在A、B两相上,可

增强稳定信号;另每转输出一个Z相脉冲以代表零位参考位。由于A、B两相相差90度,

可通过比拟A相在前还是B相在前,以判别编码器的正转与反转,通过零位脉冲,可获得

编码器的零位参考位。如单相联接,用于单方向计数,单方向测速。A.B两相联接,用于

正反向计数、判断正反向和测速。A、B、Z三相联接,用于带参考位修正的位置测量。

其判向原理如图3.1所示。

图3.1转向判别原理图

单片机的选择

本系统选择的是AT89C52单片机,AT89C52是美国Atmel公司生产的低电压、高性能

CMOS8位单片机,片内含8KB的可反复程写的程序存储器和12B的随机存取数据存储器

(RAM),器件采用Atmel公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系

统,片内配置通用8位中央处理器(CPU)和Flash存储单元,功能强大的AT89c52单片机

可灵活应用于各种控制领域。AT89C52单片机属于AT89C51单片机的增强型,与Intel公

司的80c52在引脚排列、硬件组成、工作特点和指令系统等方面兼容。其主要工作特性是:

片内程序存储器内含8KB的Flash程序存储器,可擦写寿命为1000次;片内数据存储器内

含256字节的RAM;具有32根可编程I/O口线;具有3个可编程定时器;中断系统是具有

8个中断源、6个中断矢量、2个级优先权的中断结构;串行口是具有一个全双工的可编程

串行通信口;具有一个数据指针DPTR;低功耗工作模式有空闲模式和掉电模式;具有可编

程的3级程序锁定位:AT89c52T作电源电压为53+0.2)V,且典型值为5V:AT89c52最

高工作频率为24MHz。其引脚图如图22所示。

图3.2AT89C52引脚图

3.2主要电路模块的设计

脉冲四倍频电路的设计

增量式旋转编码器输出为A、B两个信号,A、B相是两个正交脉冲信号,Z相每转一周

输出一个脉冲,根据A、B两相两组信号的相位来判别电机转动的方向,对输出脉冲进行计

数到达测量的目的。在一个周期内A、B共有四个上下沿,而每个沿之间相差90度的电气

角。我们利用在旋转编码器的一个周期内对A相和B相的上升沿和下降沿均进行计数,即

可实现在一个周期内对编码器计数四次,从而到达四倍频计数的目的。我们首先对A、B相

信号进行延时,我们利用外加时钟对信号进行整定和延时,如图3.3所示。

图3.3四倍频电路

A、B相通过D触发器产生与CLK时钟同步的信号Al、B1,再经过D触发器产生与CLK时钟

同步的信号A2、B2o该信号分别比Al、Bl延时一个(LK周期,时序图如图3.4所示。

图3.4时序图

单片机最小系统的设计

目前的单片机开发系统只能够仿真单片机,却没有给用户提供一个通用的最小系统。由

设计的要求,只要做很小集成度的最小系统应用在一些小的控制单元。其应用特点是:(1)

全部I/O口线均可供用户使用;(2)内部存储器容量有限(只有4KB地址空间);(3)应

用系统开发具有特殊性。电路如下列图3.1所示。其中有4个双向的8位并行L,0端口,

分别记作P0、Pl、P2、P3,都可以用于数据的输出和输入,P3口具有第二功能为系统提供

一些控制信号。时钟电路用于产生MCS-51单片机工作所必须的时钟控制信号,内部电路在

时钟信号的控制下,严格地按时序指令工作。MCS-51内部有一个用于构成振荡器的高增益

反向放大器,该高增益反向放大器的输入端为芯片的引脚XTAL1,输出端为XTAL2。这两个

引脚跨接石英晶体振荡器和微调电容,就构成了一个稳定的自激振荡器。电路中的微调电

容通常选择为30pF左右,该电容的大小会影响到振荡器频率的上下、振荡器的稳定性和起

振的快速性。晶体的振荡频率为12MHz。

把EA脚接高电平,单片矶访问片内程序存储器,但在PC值超过OFFFH(4Kbyte地址范

围)时,将自动转向执行外部程序存储器内的程序。

MCS-51的复位是由外部的复位电路来实现。采用最简单的外部按键复位电路。按键自

动复位是通过外部复位电路的来实现的.我们选用时钟频率为12MHz,Cl取47ufo电路图

如图3.5所示。

图3.5单片机电路图

时钟电路的设计

单片机必须在时钟的驱动下才能进行正常的工作,单片机内部具有一个时钟振荡电路,

只需外接振荡器,即可为各局部提供时钟信号.使用内部时钟电路时•只需在引脚XTAL1

和XTAL2上外接定时反应回路,振荡器OSC就能自激振荡,产生矩形时钟脉冲序列。定时

反应回路常由石英晶振和微调电容组成,其中石英晶振的频率是单片机得重要性能指标之

一,时钟频率越高,单片机控制器的速度也越快。一般情况下晶振的频率选用12MHZ,这

样有利于得到没有误差的波特率。电容Cl、C2起稳定振荡频率、快速起振的作用。为了提

高温度稳定性,应采用温度稳定性能较好的NPO高频电容。内部时钟电路如图3.6所示。

图3.6时钟电路

复位电路的设计

为确保控制系统能啜偶稳定可靠的工作,复位电路是必不可少的一局部。它可以保证

程序从指定处开始执行,即从程序存储器的0000H地址单元开始执行程序。另外但程序出

现运行错误或操作错误使系统出现“死机”状态时,需复位以重新启动。

单片机复位是靠外部电路实现的,无论是HMOS型还是QNOS姓,在振荡器运行的情况

下,RST引脚保持两个机器周期以上时间的高电平即可实现系统复位。在RST端出现高电

平的第二个周期,执行内部复位,以后每个周期复位一次,直至RST端变低。

复位信号的产生有上电自动复位和按钮手动复位两种方式。我们选用的是上电自动复

位。上电自动复位是通过外部复位电路的电容充电实现的。通电时,电容两端相当于短路,

于是RST引脚上为高电平,然后电源通过电容进行充电,RST端电压慢慢降下来,降到一

定程度变为低电平,单片机开始正常运行。上电自动复位电路如图3.7所示。

图3.7复位电路

LED显示电路设计

本系统采用4个共阳极的LED数码管显示计算所得的转速值。单片机的P0口作为数码

管的数据位,用于输出要显示的转速值,即控制数码管的a到dp端口;P2.4到P2.7四个

接口用作数码管的片选位来控制数码管的公共极,其中三极管起到驱动的作用,增加LED

数码管的亮度,便于观察。显示器的显示过程如下:CPU向字段输出口(P0口)送出字型码啊,

所有显示器接收到的相同字形码,但究竟是哪个显示器亮,那么取决于DPY端,而这一端

是由单片机的P2.4到P2.7四个I/O接口控制的。动态显示尽管占用CPU的资源相对较多,

但多个LED数码管可以共用八个I/O接口,不存在I/O接口浪费的现象,有效地降低本钱。

基于此考虑,该控制系统采用动态扫描的显示方式。接口电路如图3.8所示。

图3.8显示电路

4系统软件设计

4.1软件总体设计

由于该系统中旋转编码器输出的脉冲信号是一个变周期信号,所以本次设计

采用的是MCS-51单片机内部一个定时器/计数器直接测量连续变周期信号的方

法。该系统软件采用MCS-51汇编语言编程,采用模块化结构设计,各个功能子

模块独立,调试方便,而且容易根据需求进行扩展。整个软件从功能上分为初始

化模块、脉冲计数模块、计时模块、参数调整模块和显示模块。

主程序流程图如图4.1所示。

图4.1系统主程序流程图

4.2初始化的软件设计

采用11.0592MHz的外部晶振,初始化工作包括TMOD、TCON、IE以及IP等特殊

存放器的初始化。对于系统的硬件资源,TO定时器负责脉冲计数的计时,定位

时间为50ms,并且可调;T1定时器用于动态显示LED数码管;INTO负责外部脉

冲的采集(通过中断);INT1外接按钮,实现参数如计时单位的调整。在主程序

中,分别对其进行设置。

4.3系统中断的软件实现

4.3.1脉冲计数的软件实现

脉冲计数的实现方法是运用INTO的中断效劳程序入口,当INTO产生一次中断

时,运用count自加来实现脉冲计数。

4.3.2计时的软件实现

计时采用T0定时中断的累计次数得到。这段时间内得到的脉冲数转换1分

钟的脉冲数,把脉冲数通过M/T法进行速度计算,再将转速的计算结果通过LED

实时显示出来。

4.3.2转速显示的软件实现

LED显示的数字的字形要由P0口输出相应的字型码,LED显示采用动态显示方

式,采用P1口中四位分别选通显示各位、十位、百位、千位。

系统中断程序流程图4.2所示。

图4.2系统中断流程图

4.4程序指令模块

显示子程序

MOVLED-1,#05H

MOVLED-2,#06H

MOVLED-3,#0711

MOVLED-4,#0811

DISPLAY:

MOVDPTR,#TABLE

MOVA,LED-1

MOVCA,©A+DPTR

MOVSBUF,A

ORLP1,#OFOH;显示第一位

CLRPl.7

LCALLDELAY

SETBPl.7

MOVDPTR,#TABLE

MOVA,LED-2

MOVCA,@A+DPTR

MOVSBUF,A;显示第二位

ORLPl,#OFOH

CLRPl.6

LCALLDELAY

SETBPl.6

MOVDPTR,#TABLE

MOVA,LED-3

MOVCA,©A+DPTR

MOVSBUF,A;显示第三位

ORLPl,#0F01I

CLRPl.5

LCALLDELAY

SETBPl.5

MOVDPTR,#TABLE

MOVA,LED-4

MOVCA,©A+DPTR

MOVSBUF,A;显示第四位

ORLP1,#OFOH

CLRPl.4

LCALLDELAY

SETBPl.4

RET

电机转动子程序

Turn-Right:

SETBENA

SETBINI

CLRIN2

RET;电机正传

Turn-Left:

SETBENA

CLRINI

SETBIN2

RET;电机反转

电机停止子程序

Stop:

SETBENA

CLRINI

CLRIN2

RET

中断效劳子程序

INTI:CLRTRI;计数器1

PUSHACC;ACC入栈

PUSHOOH;RO入栈

CLRC

MOVA,TL1;计数值低八位累加器

ADDA,#23H;计数器值和中断执行时间、最小中断响应时间相加

MOVRO,A;低八位暂存R0

MOVA,TH1

ADDCA,#00H

MOVX©DPTR,A;脉冲周期高八位@。1“1<指向的RAM单元

INCDPTR

INCRI;脉冲周期个数加1

MOVTH1,#00H

MOVTL1,#0011

POPOOH

POPACC

SETBTRRETI

5总结体会

本次课程设计是自动控制系统课程的实践性教学环节,是对我学习该课程后

的综合性训练,所以我非常珍惜这次做课程设计的总机.

虽然我做的仅仅是电机测速系统的设计,但是,完成这一个课题要涉及到许

多方面的知识。我通过上网查询和查阅相关书籍资料,知道了很多关于旋转编码

器和AT89C52单片机的知识,做到对各个集成块的引脚功能和工作原理都很清

时。同时又重新将从前学过的相关的知识看了一遍,从而让我更深一步掌握了与

自动控制和单片机相关的一些知识。

我首先熟悉了自己的设计工程,然后通过上网查询和到图书馆查询图书资

料,查询相关知识。其次通过查到的资料翻阅课本和相关资料学习相关知识,最

后在理解了设计电路之后进行设计报告撰写。通过这次课程设计,不仅培养了我

独立分析和解决实际问题的能力,同时也为以后的毕业时的毕业设计打好了根

底。

在这次的设计中,我认识到自己在学习知识中的缺乏。特别是对一些部件的

不理解,发现我有很多东西都学的不太好。我真懊悔没下大功夫学习好单片机相

关知识和编程。通过这次设计我想我应该在以后的学习中吸取我不认真搞懂知识

的教训,认真对待每一个知识点,脚踏实地的去学习,多向老师和同学请教.在此

次设计中我引用了许多网上和书上的资料,并且更加稳固了对Proteus和

Protel99SE等软件的使用。但是由于时间紧迫和操作不熟练我画的不是很好,

画的不是特别的明白,线路也比拟混乱。不过我学到了很多。在设计的过程中,

遇到了不少问题,同学的讲解给我了很大的帮助,让我进一步认识到了同学的帮

助及相互合作的重要性。这个课程设计对自己的思考及动手能力的提高有一定的

帮助,希望学校以后能够提供更多类似的时机,让我们在步入社会之前得到最大

程度的锻炼。不过我的设计中还存在有很多的缺乏之处,还望老师予以指正,提

出修改的建议!

6致谢

课程设计就告一段落了,在此期间我得到了很多人的帮助。首先我要感谢的

是:在学习中有严谨的治学态度,丰富渊博的知识;在工作中有精益求精的工作

态度,诲人不倦的师者风范的李伟老师。正因为有您这样的楷模,才会使我们向

前迈进。

当然,我还是要感谢我那些可爱的同学和朋友们.因为你们的帮助和勉励我

才能够顺利的完成我的设计。当我遇到设计难题的时候,你们总是会不厌其烦的

帮我解决,帮助我完成,真的很感谢你们的帮助。

最后,我还想真诚的对在这次设计中给予我帮助的良师益友说声:谢谢!还

有在百忙之中抽空看我们设计的评定老师,你们辛苦了!

7参考文献

[1]王福瑞.单片微机测控系统设计大全.北京航空航天大学出版社.1999

[2]李仁定.电机的微机控制.机械工业出版社.1999

[3]陈伯时.电力拖动自匆控制系统.机械工业出版社.2007

[4]徐科军.传感器与检测技术[第三版).电子工业出版社.2011

[5]康华光.电子技术根底模拟局部(第五版).高等教育出版社.2006

[6]康华光.电子技术根底数字局部(第五版).高等教育出版社.2006

[7]张毅刚.单片机原理及应用.高等教育出版社.2010

附录一:程序清单

转速代码:

0RG0000H

AJMPMAIN

ORGOOOBH

LJMPINTTO

0RG0030H

MAIN:MOVSP,#60H;确立堆栈区

MOVPSW,#00H1

MOVR0,#2011;RAM区首地址

MOVR7,#5FH;RAM区单元个数

QL:MOV@R0,#00H;RAM清零

TNCR0

DJNZR7,QL

MOVIP,#0211;IP初始化,优先定时器0

MOVIE,#82H;IE初始化,

MOVTMOD,#01H;定时器0方式1工作

LCALLPP;调P.子程序

NEXT:LCALLKEY;按键检测子程序

JBACC.0,RUNF;A键按下运行

LCALLDISP;调用显示子程序

SJMPNEX?

RUNF:LCALLOUT:调传送子程序

LCALLTIME;开单片机

JK:LCALLDISP:调用显示子程序

LCALLKEY;按键检测子程序

JZJK

LCALLANKEV

LCALLDISP;调用显示子程序

SJMPJK

......D日二

,,,,,1,,,,,,,,,,,

PP:MOV37H,#121点编码送存放器

MOVRO,#30H彳点编码送存放器

MOVR7,#07H

PPP:MOV@R0,#10

INCRO

DJNZR7,PPP

RET

f1>»f111>>1>键扫J柱1予,,,,,,,,,,,

KEY:LCALLKEYS;调键值处理子程序

JZEXIT;没有键按下转到返回

LCALLDISP

LCALLDTSP;调显示去抖动

LCALLKEYS

JZEXIT

MOVB,20H;保存键值

KEYSF::LCALLKEYS;调键值处理子程序

JZKEYY;键释放,转到恢复键值

LCALLDISP;调显示子程序延时

AJMPKEYSF;等到键释放

KEYY:MOVA,B;键值送20H单元保存

EXIT:RET;返回

KEYS:

MOVPl,#OFFH;先向P1口写1

MOVA,Pl;P1口值送累加器A

CPLA;A值取反

ANLA,#OFH;保存Pl口的低4位

MOV20H,A;A值送20H保存

RET

键功能子程序;;;;;;;;;;;

ANKEY:CLREA:关中断

CHECK:JBTRO,YXZ;判断是否运行

K0:CJNEA,#0111,KI

AJMPRUN:转运行

KI:CJNEA,#02H,K2

AJMPKEY1;转1调整

K2:CJNEA,#04H,K3

AJMPKEY2;转2调整

K3:CJNEA,#08H,OUT

AJMPKEY3;转3调整

YXZ:JBACC.0,STOP

AJMPOUT

KEY1:MOVRO,#45H;1调整

LCALLADD1

CLRC

CJNEA,#24H,OUTT

ACALLCLRO

AJMPOUTT

KEY2:MOVRO,#43H;2调整

LCALLADD1

CLRC

CJNEA,#60H,OUTT

ACALLCLRO

AJMPOUTT

KEY3:MOVRO,#41H;3调整

ACALLADD1

CLRC

CJNEA,#60H,OUTT

ACALLCLRO

,,,,,,,,,,,/区力遇;光、日叱三小二数%(r据MB,,,,,,,,,

OUTT:MOV30H,40H;1显示单元41H-42H

MOV31H,41H

〃〃

MOV32H,#11;

MOV3311,4211;2显示单元4311-4411

MOV34H,43H

〃〃

MOV35H,#119

MOV36H,44H;3显示单元44-45H

MOV37H,45H

RET

STOP:CLRTRO;跳出

RET

RUN:LCALLTIME:运行

OUT:SETBEA;无键按下或完成功能跳出

RET

f1>»f1,,,,,是仃电子钟,,,,,,,,,•19

TIME:SETBEA

MOVTLO,#OBOH

MOVTHO,#3CH;3CB0H

MOVR4,#20;50ms,20次循环

SETBTRO;启动定时器0

RET

士口斗rh1也二

,,,,,,,,,,,At.H'J卬断,,,,,,,,,,1,

TNTTO:PUSHACC

PUSHPSW

CLRETO

CLRTRO

MOVTLO,#OBOH;重新设定定时初值

MOVTHO,#3CH

SETBTRO;启动定时器0

DJNZR4,OUTTO;1秒到

ADDSS:MOVR4,#14H;20次计数

MOVRO,#41H;秒十位

ACALLADD1;加1程序

CLRC

CJNEA,#60H,ADDMM;1到

ADDMM:JCOUTTO

ACALLCLRO

MOVRO,#43H

ACALLADD1;加1程序

CLRC

CJNEA,#60H,ADDHH;2到

ADDHH:JCOUTTO

ACALLCLRO

MOVRO,#4511

ACALLADD1;加1程序

CLRC

CJNEA,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论