单片机的直流电机控制器的设计方案.docx

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

单片机的直流电机控制器的设计方案.docx

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

单片机的直流电机控制器的设计方案.docx

单片机的直流电机控制器的设计方案

1.1设计思路1

1.2基本原理1

1.3总体设计框图1

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

2.1直流电机驱动模块2

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

2.31602LCD液晶显示模块9

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

3.1总电路图11

3.2总电路功能介绍12

3.3直流电机控制程序12

4系统仿真19

 

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用带中断的键盘来控制的电机

启动目标系统,按正转,然后接加速开关,我们观察到电机开始运转,每按一次加速,电机的速度都要增加,此时如果按减速,则电机的转速慢慢地减小。

同样按反转转键也看到同样的结果,当按停止键时,电机慢慢停下来,图4.4是在目的电路刚启动时未设置命令之前的状态,图4.5是在正转情况下的仿真结果,图4.6是在反转情况下的仿真结果。

图4.4未按键时的初始状态

图4.5电机正转时的状态

图4.6电机反转时的状态

 

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

当前位置:首页 > 医药卫生 > 预防医学

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

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