基于单片机的直流电机控制器的设计.docx

上传人:b****6 文档编号:4022511 上传时间:2022-11-27 格式:DOCX 页数:24 大小:252.99KB
下载 相关 举报
基于单片机的直流电机控制器的设计.docx_第1页
第1页 / 共24页
基于单片机的直流电机控制器的设计.docx_第2页
第2页 / 共24页
基于单片机的直流电机控制器的设计.docx_第3页
第3页 / 共24页
基于单片机的直流电机控制器的设计.docx_第4页
第4页 / 共24页
基于单片机的直流电机控制器的设计.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

基于单片机的直流电机控制器的设计.docx

《基于单片机的直流电机控制器的设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的直流电机控制器的设计.docx(24页珍藏版)》请在冰豆网上搜索。

基于单片机的直流电机控制器的设计.docx

基于单片机的直流电机控制器的设计

摘要

本文是对直流电机PWM调速器设计的研究,主要实现对电机的控制。

本课程设计主要是实现PWM调速器的正转、反转、加速、减速、停止等操作。

并实现电路的仿真。

为实现系统的微机控制,在设计中,采用了AT89C51单片机作为整个控制系统的控制电路的核心部分,配以各种显示、驱动模块,实现对电动机转速参数的显示和测量;由命令输入模块、光电隔离模块及H型驱动模块组成。

采用带中断的独立式键盘作为命令的输入,单片机在程序控制下,不断给光电隔离电路发送PWM波形,H型驱动电路完成电机正反转控制.在设计中,采用PWM调速方式,通过改变PWM的占空比从而改变电动机的电枢电压,进而实现对电动机的调速。

设计的整个控制系统,在硬件结构上采用了大量的集成电路模块,大大简化了硬件电路,提高了系统的稳定性和可靠性,使整个系统的性能得到提高。

关键词:

AT89C51单片机;PWM调速;正反转控制;仿真。

 

Abstract

ThisarticleisaDCmotorPWMspeedcontroldesignstudy,themainachievementofmotorcontrol.ThiscourseisprimarilydesignedtoachievePWMspeedcontrollerforforwardandreverse,acceleration,deceleration,andstopsuchanoperation.Andtoachievethecircuitsimulation.Toachievesystem,microcomputercontrol,inthedesign,usingAT89C51microcontrollercontrolsystemasawhole,thecoreofthecontrolcircuit,accompaniedbyavarietyofshows,drivemoduleenablesthemotorspeedparameterdisplayandmeasurement;fromthecommandinputmodule,OpticalisolationmoduleandH-drivemodule.Withthestand-alonekeyboardwithabreakasacommandinput,single-chipintheprocesscontrol,continuingtotheopticalisolationcircuittosendPWMwaveform,H-typemotordrivingcircuittocompletepositiveinversioncontrol.Inthedesign,usingPWMspeedmode,bychangingthePWMdutycycletochangethemotorarmaturevoltage,soastorealizethespeedofthemotor.Designofthecontrolsystemhardwarestructurewithalargenumberofintegratedcircuitmodules,greatlysimplifyingthehardwarecircuitrytoimprovestabilityandreliabilityofthesystemsothatthewholesystemperformanceisimproved.

Keywords:

AT89C51microcontroller;PWMspeed;positiveinversioncontrol;Simulation。

 

1系统论述

1.1设计思路

直流电机PWM控制系统的主要功能包括:

直流电机的加速、减速以及电机的正转和反转,并且可以调整电机的转速,还可以方便的读出电机转速的大小,能够很方便的实现电机的智能控制。

其间,还包括直流电机的直接清零、启动(置数)、暂停、连续功能。

该直流电机系统由以下电路模块组成:

振荡器和时钟电路:

这部分电路主要由80C51单片机和一些电容、晶振组成。

设计输入部分:

这一模块主要是利用带中断的独立式键盘来实现。

设计控制部分:

主要由80C51单片机的外部中断扩展电路组成。

设计显示部分:

包括液晶显示部分和LED数码显示部分。

液晶显示部分由1602LCD液晶显示模块组成;LED数码显示部分由七段数码显示管组成。

直流电机PWM控制实现部分:

主要由一些二极管、电机和L298直流电机驱动模块组成。

1.2基本原理

主体电路:

即直流电机PWM控制模块。

这部分电路主要由80C51单片机的I/O端口、定时计数器、外部中断扩展等控制直流电机的加速、减速以及电机的正转和反转,并且可以调整电机的转速,还可以方便的读出电机转速的大小和了解电机的转向,能够很方便的实现电机的智能控制。

其间,还包括直流电机的直接清零、启动(置数)、暂停、连续功能。

其间是通过80C51单片机产生脉宽可调的脉冲信号并输入到L298驱动芯片来控制直流电机工作的。

该直流电机PWM控制系统由以下电路模块组成:

设计输入部分:

这一模块主要是利用带中断的独立式键盘来实现。

设计控制部分:

主要由80C51单片机的外部中断扩展电路组成。

设计显示部分:

包括液晶显示部分和LED数码显示部分。

液晶显示部分由1602LCD液晶显示模块组成。

直流电机PWM控制实现部分:

主要由一些二极管、电机和L298直流电机驱动模块组成。

1.3总体设计框图

系统组成:

直流电机PWM调速方案如图1.1所示:

方案说明:

直流电机PWM调速系统以AT89C2051单片机为控制核心,由命令输入模块、LCD显示模块及电机驱动模块组成。

采用带中断的独立式键盘作为命令的输入,单片机在程序控制下,定时不断给直流电机驱动芯片发送PWM波形,H型驱动电路完成电机正,反转控制;同时单片机不停的将从键盘读取的数据送到LCD显示模块去显示,从中不仅能读取其速度,而且能知晓其转向及一些温心提示。

图1.1直流电机PWM调速方案

2直流电机单元电路设计与分析

2.1直流电机驱动模块

主要由一些二极管、电机和L298直流电机驱动模块(内含CMOSS管、三太门等)组成。

现在介绍下直流电机的运行原理

2.1.1直流电机类型

直流电机可按其结构、工作原理和用途等进行分类,其中根据直流电机的用途可分为以下几种:

直流发电机(将机械能转化为直流电能)、直流电动机(将直流电能转化为机械能)、直流测速发电机(将机械信号转换为电信号)、直流伺服电动机(将控制信号转换为机械信号)。

下面以直流电动机作为研究对象。

2.1.2直流电机结构

直流电机由定子和转子两部分组成。

在定子上装有磁极(电磁式直流电机磁极由绕在定子上的磁绕提供),其转子由硅钢片叠压而成,转子外圆有槽,槽内嵌有电枢绕组,绕组通过换向器和电刷引出,直流电机结构如图2.1所示。

 

 

图2.1直流电动机结构

2.1.3直流电机工作原理

直流电机电路模型如图2.2所示,磁极N、S间装着一个可以转动的铁磁圆柱体,圆柱体的表面上固定着一个线圈abcd。

当线圈中流过电流时,线圈受到电磁力作用,从而产生旋转。

根据左手定则可知,当流过线圈中电流改变方向时,线圈的受方向也将改变,因此通过改变线圈电路的方向实现改变电机的方向。

 

图2.2直流电动机电路模型

2.1.4直流电机主要技术参数

直流电机的主要额定值有:

额定功率Pn:

在额定电流和电压下,电机的负载能力。

额定电压Ue:

长期运行的最高电压。

额定电流Ie:

长期运行的最大电流。

额定转速n:

单位时间内的电机转动快慢。

以r/min为单位。

励磁电流If:

施加到电极线圈上的电流。

2.1.5直流电机PWM调速原理

(1)直流电机转速

直流电机的数学模型可用图2.3表示,由图可见电机的电枢电动势Ea的正方向与电枢电流Ia的方向相反,Ea为反电动势;电磁转矩T的正方向与转速n的方向相同,是拖动转矩;轴上的机械负载转矩T2及空载转矩T0均与n相反,是制动转矩。

 

图2.3直流电机的数学模型

根据基尔霍夫第二定律,得到电枢电压电动势平衡方程式1.1:

U=Ea-Ia(Ra+Rc)……………………………………………式1.1

式1.1中,Ra为电枢回路电阻,电枢回路串联保绕阻与电刷接触电阻的总和;

Rc是外接在电枢回路中的调节电阻。

由此可得到直流电机的转速公式为:

n=Ua-IR/CeΦ……………………………………………式1.2

式1.2中,Ce为电动势常数,Φ是磁通量。

由1.1式和1.2式得

n=Ea/CeΦ………………………………………………式1.3

由式1.3中可以看出,对于一个已经制造好的电机,当励磁电压和负载转矩恒定时,它的转速由回在电枢两端的电压Ea决定,电枢电压越高,电机转速就越快,电枢电压降低到0V时,电机就停止转动;改变电枢电压的极性,电机就反转。

(2)PWM电机调速原理

对于直流电机来说,如果加在电枢两端的电压为2.3所示的脉动电流压(要求脉动电压的周期远小于电机的惯性常数),可以看出,在T不变的情况下,改变T1和T2宽度,得到的电压将发生变化,下面对这一变化进一步推导。

图2.3施加在电枢两端的脉动电压

设电机接全电压U时,其转速最大为Vmax。

若施加到电枢两端的脉动电压占空比为D=t1/T,则电枢的平均电压为:

U平=U·D……………………………………………式1.4

由式1.3得到:

n=Ea/CeΦ≈U·D/CeΦ=KD;

在假设电枢内阻转小的情况下式中K=U/CeΦ,是常数。

图2.4为施加不同占空比时实测的数据绘制所得占空比与转速的关系图。

图2.4占空比与电机转速的关系

由图看出转速与占空比D并不是完全速的线性关系(图中实线),原因是电枢本身有电阻,不过一般直流电机的内阻较小,可以近视为线性关系。

由此可见,改变施加在电枢两端电压就能改变电机的转速成,这就是直流电机PWM调速原理。

2.1.6电机驱动模块的电路设计

根据直流电机的工作原理,从PROTEUS选取元器件如下,放置元器件、放置电源和地]连线,我们参此设计的直流电机驱动模块电路如图2.5所示

●2SK1058:

CMOSS管

●74L26:

三太门

●1N4006:

二极管

●VSCOURCE:

电源

●MOTOR-ENCODER:

直流电机

●RES:

电阻

●AT89C51:

单片机(在此并未显示)

 

 

 

图2.5直流电机驱动电路

然而考虑市场的行情,既然已有专门地为电机驱动而设计的芯片,就没必要再从新来设计;选用L298芯片来构成的电路结构基本上跟上图一样,由L298芯片组装的驱动模块如图2.6所示。

所用元器件如下所示:

●1N4006:

二极管

●AT89C51:

单片机(在此并未显示)

●RES:

电阻

●MOTOR-ENCODER:

直流电机

●L298:

电机驱动芯片

●RESPACK-8:

排阻

 

图2.6直流电机及其驱动电路

2.1.7程序设计流程图

图2.7定时中断服务流程图

2.2直流电机的中断键盘控制模块

2.2.1外部中断设置

(1)外部中断允许设置

中断控制寄存器IE的EX0对应INT0,EX1对应INT1,EA为中断的总开关,若要开放外部中断,只要将IE对应的位和总开关EA置1即可。

如:

开放外部中断0的设置:

SETBEX0

SETBEA

开放外部中断0和1的设置:

SETBEX0

SETBEX1

SETBEA

(2)外部中断触发方式设置

单片机外部中断有两种触发方式,一种是电平触发方式,另一种是脉冲触发方式,单片机外部中断触发方式与TCON的IT位有关。

TF1

TR1

TF0

TR0

IE1

IT1

IE0

IT0

电平触发设置方法:

CLRITX,为低电平触发方式。

脉冲触发设置方法:

SETBITX=1,为脉冲下降沿触发方式。

在使用外部中断时,如果不进行设置,则为电平触发方式。

(3)外部优先级设置

外部中断IN0、INT1的中断优先级的设置是通过设置IP寄存器实现的,IP的PX0对应INT0,PX1对应INT1。

PX置1为高级中断,PX为0为低级中断。

×

×

×

PS

PT1

PX1

PT0

PX0

2.2.2外部中断扩展方法

在图2.8为外部中断扩展方法,设X1、X2、X3、X4、X5为外部警情信号,X1代表是加速信号,X1=0表示加速;X2代表减速信号,X2=0表示减速;X3代表正转信号,X3=0表示正转;X4代表反转信号,X4=0表示反转;X5代表停止信号,X5=0表示停止处理。

图2.8外部中断扩展电路

当系统检测到有中断请求时,响应如下中断服务流程图2.9。

 

 

图2.9中断服务流程

2.31602LCD液晶显示模块

2.3.1引脚分布和接口信号说明

(1)引脚分布

1602液晶显示共有16个引脚,其引脚分布如图2.5所示。

 

图2.101602液晶显示模块引脚分布

(2)引脚功能

1602引脚功能如表2.1所示

表2.11602引脚功能

编号

符号

引脚说明

编号

符号

引脚说明

1

VSS

VSS为地电源

9

D2

DataI/O

2

VDD

VDD接5V正电源

10

D3

DataI/O

3

VEE

液晶显示偏压信号

11

D4

DataI/O

4

RS

0输入指令,1输入数据

12

D5

DataI/O

5

R/W

0写入指令或数据,1读信息

13

D6

DataI/O

6

E

1读取信息,1→0执行指令

14

D7

DataI/O

7

D0

DataI/O

15

BLA

背光源正极

8

D1

DataI/O

16

BLK

背光源负极

2.3.2LCD液晶电路

图2.111602液晶显示模块组成

2.3.3显示程序流程图如3.12所示

图2.12

3直流电机PWM控制系统的实现

3.1总电路图

图3.1直流电机

3.2总电路功能介绍

直流电机PWM调制控制系统具有加速、减速、正转、反转、停止控制功能。

操作开关通过中断控制直流电机的加速、减速、正转、反转、停止控制功能,并通过LCD液晶显示。

振荡、时钟电路和复位电路由80C51单片机内部给出。

直流电机转动速度由LCD液晶显示。

操作开关状态由液晶显示器显示。

3.3直流电机控制程序

ORG0000H

SJMPDISPLAY

ORG0003H

LJMPBUTTON;外部0中断入口地址

ORG000BH

LJMPDINGSHI;定时中断T0入口地址

RSEQUP3.0

RWEQUP3.1

EEQUP3.4

ORG0030H;此次直流电机的设计以LCD字符夜晶的

;显示程序为主程序

DISPLAY:

SETBEA;打开中断总开关

SETBEX0;打开外部中断0开关

SETBIT0;打开外部中断0下降沿触发

MOVTMOD,#01H;设置定时工作方式

MOVTL0,#0FFH;设置定时初值

MOVTH0,#0FFH

SETBET0;打开定时中断T0开关

CLRP0.5

CLRP0.6

CLRP0.7

SETBTR0;定时器T0开始定时

MOVDPTR,#TAB;夜晶显示的字符首地址

MOVR0,#00H;脉宽的初值

MOVR1,#16;"SETSPEEDPLEASE"的字符个数

MOVR3,#00H

MOVR4,#00H

LP9:

LCALLCHUSHI

LP2:

ACALLBUSY

MOVA,#00H

MOVCA,@A+DPTR

MOVP1,A

ACALLDATAS

INCDPTR

DJNZR1,LP2

LP3:

CJNER3,#00H,LP4

CJNER4,#00H,LP4

SJMPLP3

LP4:

MOVR7,#00H;中断的标志

MOVR5,#09H;CURRENT:

的字符个数

ACALLBUSY

MOVP1,#0C0H

ACALLENABLE

MOVDPTR,#MMTAB

ACALLBUSY

LP5:

MOVA,#00H

MOVCA,@A+DPTR

MOVP1,A

INCDPTR

ACALLDATAS

ACALLBUSY

DJNZR5,LP5

MOVDPTR,#STAB

MOVA,R2

MOVP1,A

ACALLDATAS

ACALLBUSY

MOVA,R3;显示速度的十位

MOVCA,@A+DPTR

MOVP1,A

ACALLDATAS

ACALLBUSY

MOVA,R4;显示速度的个位

MOVCA,@A+DPTR

MOVP1,A

ACALLDATAS;使夜晶始终显示当前电机的速度

LP8:

CJNER7,#00H,LP7;速度不变时等待

LJMPLP8;速度变时重新读入速度

LP7:

SJMPLP4

CHUSHI:

;使夜晶显示的一些初始设置

ACALLBUSY

MOVP1,#00000001B;清屏并光标复位

ACALLENABLE

ACALLBUSY

MOVP1,#00111000B;设置显示模式:

8位2行5x7点阵

ACALLENABLE

ACALLBUSY

MOVP1,#00001111B;显示器开、光标开、光标允许闪烁

ACALLENABLE

ACALLBUSY

MOVP1,#00000110B;文字不动,光标自动右移

ACALLENABLE

ACALLBUSY

MOVP1,#80H;写入显示起始地址

ACALLENABLE

RET

ENABLE:

;写入控制命令的子程序

SETBE

CLRRS

CLRRW

CLRE

RET

DATAS:

;写入数据子程序

SETBE

SETBRS

CLRRW

CLRE

RET

BUSY:

;准备写入数据

CLRE

MOVP1,#0FFH

CLRRS

SETBRW

SETBE

JBP1.7,BUSY

RET

ORG2000H

DINGSHI:

;定时中断服务程序

CPLP0.7

JNBP0.7,Z1;周期一定

MOVA,#0FFH

SUBBA,R0

MOVTH0,A

SETBTR0

RETI

Z1:

MOVTH0,R0;脉宽

SETBTR0

RETI

BUTTON:

;从控制键盘中读取操作命令

PUSHACC

CLREX0

CLREA

INCR7;

MOVA,#0FFH

MOVP2,A

MOVA,P2

JNBACC.0,AA0

JNBACC.1,KK0

JNBACC.2,ZZ

JNBACC.3,FF

JNBACC.4,WW0

AJMPQQ

AA0:

CJNER0,#0FFH,AA1;加速操作

AJMPQQ

AA1:

MOVA,R0

ADDA,#5

MOVR0,A

AJMPQQ

KK0:

CJNER0,#00,MM;减速操作

AJMPQQ

MM:

MOVA,R0

SUBBA,#5

MOVR0,A

AJMPQQ

QQ:

MOVA,R0

MOVB,#5

DIVAB

MOVB,#10

DIVAB

MOVR3,A

MOVR4,B

SETBEX0

LCALLDELAY

LCALLDELAY

LCALLDELAY

LCALLDELAY

SETBEA

POPACC

RETI

ZZ:

SETBP0.5;正转操作

CLRP0.6

MOVR2,#2BH;正转标志"+"

LCALLDELAY

LCALLDELAY

LCALLDELAY

SETBEX0

SETBEA

POPACC

RETI

FF:

CLRP0.5;反转操作

SETBP0.6

MOVR2,#2DH;反转标志"-"

LCALLDELAY

LCALLDELAY

LCALLDELAY

SETBEX0

SETBEA

POPACC

RETI

WW0:

CLRP0.5;停止操作

CLRP0.6

LCALLDELAY

LCALLDELAY

LCALLDELAY

SETBEX0

SETBEA

POPACC

RETI

DELAY:

;延时子程序

MOVR5,#0E0H

MM0:

MOVR6,#30H

MM1:

DJNZR6,MM1

DJNZR5,MM0

RET

TAB:

DB53H,45H,54H,20H

DB53H,50H,45H,45H;"SETSPEEDPLEASE"代码

DB44H,20H,50H,4CH

DB45H,41H,53H,45H

STAB:

DB30H,31H,32H,33H

DB34H,35H,36H,37H;"0,1,2,3,4,5,6,7"代码

DB38H,39H,41H,42H;"8,9,A,B,C,D,E,F"

DB43H,44H,45H,46H

MMTAB:

DB43H,4FH,52H,52H

DB45H,4EH,54H,20H;"CURRENT:

"代码

DB3AH

END

4系统仿真

LCD液晶显示电路的系统仿真与调试:

在PROTEUS运行环境中首先检验LCD显示电路,添加程序,运行LCD液晶显示电路能,系统若运行成功将得到如图4.1。

此后在之前的电路基础之上再拓展带中断的独立式键盘,调试成功后的电路如图4.2所示。

图4.1LCD液晶显示字符初步调试

图4.2带中断控制的LCD液晶显示

调试用带中断的键盘来控制直流电机驱动模块的部分电路,若按要求调试成功,将得到图4.3。

图4.3用带中断的键盘来控制的电机

启动目标系统,按正转,然后接加速开关,我们观察到电机开始运转,每按一次加速,电机的

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 政史地

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1