基于单片机的直流电机控制器的设计.docx
- 文档编号:3953819
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:37
- 大小:443.07KB
基于单片机的直流电机控制器的设计.docx
《基于单片机的直流电机控制器的设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的直流电机控制器的设计.docx(37页珍藏版)》请在冰豆网上搜索。
基于单片机的直流电机控制器的设计
1系统论述2
1.1设计思路2
1.2基本原理2
1.3总体设计框图2
2直流电机单元电路设计和分析3
2.1直流电机驱动模块3
2.2直流电机的中断键盘控制模块7
2.31602LCD夜晶显示模块8
3直流电机PWM控制系统的实现10
3.1总电路图11
3.2总电路功能介绍11
3.3直流电机控制程序11
4系统仿真18
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所示。
唱刷换向片
枢怏心
Q换向片
2.1.3直流电机工作原理
直流电机电路模型如图2.2所示,磁极N、S间装着一个可以转动的铁磁圆柱体,圆柱体的表面上固定着一个线圈abed。
当线圈中流过电流时,线圈受到电磁力作用,从而产生旋转。
根据左手定则可知,当流过线圈中电流改变方向时,线圈的受方向也将改变,因此通过改变线圈电路的方向实现改变电机的方向。
图2.2直流电动机电路模型
2.1.4直流电机主要技术参数图1.1直流电机工作
直流电机的主要额定值有:
额定功率Pn:
在额定电流和电压下,电机的负载能力。
额定电压Ue:
长期运行的最高电压。
额定电流le:
长期运行的最大电流。
额定转速n:
单位时间内的电机转动快慢。
以r/min为单位
励磁电流If:
施加到电极线圈上的电流。
2.1.5直流电机PWMS速原理
(1)直流电机转速
直流电机的数学模型可用图2.3表示,由图可见电机的电枢电动势Ea的正方向和电枢电流Ia的方向相反,Ea为反电动势;电磁转矩T的正方向和转速n的方向相同,是拖动转矩;轴上的机械负载转矩T2及空载转矩TO均和n相反,是制动转矩。
说明:
U>电压
'Ea>电枢电动势
动势平衡方程式••……T.1>转速
I>电枢电流
>电枢回路电阻>外在电枢电阻>负载转矩•->空载转矩>磁通量
U二Ea-la(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)PWMfe机调速原理
对于直流电机来说,如果加在电枢两端的电压为2.3所示的脉动电流压(要求脉动电压的周期远小于电机的惯性常数),可以看出,在T不变的情况下,
改变T1和T2宽度,得到的电压将发生变化,下面对这一变化进一步推导。
最大值Vmax
设电机接全电压U时,其转速最大为Vmax。
若施加到电枢两端的脉动电
最小值Vmin
由式1.3得到:
n二Ea/Ce①~U-D/Ce①=KD
在假设电枢内阻转小的情况下式中K=U/Ce①,是常数。
图2.4为施加不同占空比时实测的数据绘制所得占空比和转速的关系图。
由图看出转速和占空比D并不是完全速的线性关系(图中实线),原因是
电枢本身有电阻,不过一般直流电机的内阻较小,可以近视为线性关系。
由此可见,改变施加在电枢两端电压就能改变电机的转速成,这就是直流电
机PWM调速原理。
2.1.6电机驱动模块的电路设计
根据直流电机的工作原理,从PROTEUS选取元器件如下,放置元器件、放置电源和地]连线,我们参此设计的直流电机驱动模块电路如图2.5所示
•2SK1058:
CMOSS管
•74L26:
三太门
•1N4006:
二极管
•VSCOURCE:
电源
•MOTOR-ENCODER:
直流电机
•RES:
电阻
•
图2.7定时中断服务流程图
2.2直流电机的中断键盘控制模块
2.2.1外部中断设置
(1)外部中断允许设置
中断控制寄存器IE的EXO对应INTO,EX1对应INT1,EA为中断的总开关,若要开放外部中断,只要将IE对应的位和总开关EA置1即可。
女口:
开放外部中断0的设置:
SETBEX0
SETBEA
开放外部中断0和1的设置:
SETBEXO
SETBEX1
SETBEA
(2)外部中断触发方式设置
单片机外部中断有两种触发方式,一种是电平触发方式,另一种是脉冲触发方式,单片机外部中断触发方式和TCON勺IT位有关。
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
电平触发设置方法:
CLRITX,为低电平触发方式。
脉冲触发设置方法:
SETBITX=1为脉冲下降沿触发方式。
在使用外部中断时,如果不进行设置,则为电平触发方式。
(3)外部优先级设置
外部中断IN0、INT1的中断优先级的设置是通过设置IP寄存器实现的,
IP的PX0对应INTO,PX1对应INT1oPX置1为高级中断,PX为0为低级中断。
X
X
X
PS
PT1
PX1
PT0
PX0
2.2.2外部中断扩展方法
在图2.8为外部中断扩展方法,设XI、X2、X3、X4、X5为外部警情信号,X1代表是加速信号,X1=0表示加速;X2代表减速信号,X2=0表示减速;X3代表正转信
X5代表停止信
号,
言号,X3=0表示正转;X4代表反转信号,
X4=0表示反转;
'号,
X5=0表示停止处理。
P20
U?
h
—
◎WI\耳1
*
1
■®x5
减速
匸转
反转
停止
加速
图2.8外部中断扩展电路
当系统检测到有中断请求时,响应如下中断服务流程图2.9
2.3.1引脚分布和接口信号说明
(1)引脚分布
1602液晶显示共有16个引脚,其引脚分布如图2.5所示
soua
tn□LU>qlcmcq寸kntog
>>>0£:
CEILUCl口O口□□□□
JCMICOI't|lOt£i|卜卜B卜[彳爭卜|
图2.101602液晶显示模块引脚分布
(2)引脚功能
1602引脚功能如表2.1所示
表2.11602引脚功能
2.3.2LCD液晶电路
图2.111602液晶显示模块组成
2.3.3显示程序流程图如3.12所示
图2.12
3直流电机PWM控制系统的实现
3.1总电路图
X1LC液晶显示
+12V
+12V
18
V1
L1
U1
1
2
3
4
5
6
7
8
XTAL1
P0.0/AD0
P0.1/AD1
P0.2/AD2
XTAL2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
RST
P0.7/AD7
P2.0/A8
P2.1/A9
P2.2/A10
PSEN
P2.3/A11
ALE
P2.4/A12
EA
P2.5/A13
P2.6/A14
P2.7/A15
P1.0
P3.0/RXD
P1.1
P3.1/TXD
P12
P32/INT0
P13
P3.3/TNTI
P3.4/T0
P1.4
P1.5
P3.5/T1
P1.6
P3.6/WR
P1.7
P3.7/RD
AT89C51
39
9
8
7
RP1
RESPACK-8
65丨43丨2~
R4
h
直流电机驱动芯片
4U2
D3
图3.1
―
21力曬
22减速力_正转
24反转
75停止
「-10R5
r-L-R?
_1h
——
IN1VCC
VS
IN2
OUT1
IN3
IN4
OUT2
ENA
ENB
OUT3
SENSA
OUT4
SENSBGND
1
1N40
03
D4
2
3
13
14
L298
加速n
U?
AND_5
16
17
12
13
14E
10
加速
减速
正转
停止J=1-
正转
反转
停止
直流电机
直流电机
D2
ORG
0000H
SJMP
DISPLAY
ORG
0003H
LJMP
BUTTON
ORG
000BH
LJMP
DINGSHI
RS
EQUP3.0
RW
EQUP3.1
E
EQUP3.4
ORG
0030H
3.2总电路功能介绍
直流电机PWMS制控制系统具有加速、减速、正转、反转、停止控制功能。
操作开关通过中断控制直流电机的加速、减速、正转、反转、停止控制功能,并通过LCD液晶显示。
振荡、时钟电路和复位电路由80C51单片机内部给出直流电机转动速度由LCD液晶显示。
操作开关状态由液晶显示器显示。
3.3直流电机控制程序
外部0中断入口地址
定时中断T0入口地址
此次直流电机的设计以LCD字符夜晶的
DISPLAY:
显示程序为主程序
SETB
EA;
打开中断总开关
SETB
EX0;
打开外部中断0开关
SETB
IT0
;打开外部中断0下降沿触发
MOV
TMOD,#01H
;设置定时工作方式
MOV
TL0,#0FFH
;设置定时初值
MOV
TH0,#0FFH
SETB
ET0;
打开定时中断T0开关
CLR
P0.5
CLR
P0.6
CLR
P0.7
SETB
TR0;
定时器T0开始定时
MOV
DPTR,#TAB
;夜晶显示的字符首地址
MOV
R0,#00H
;脉宽的初值
MOV
R1,#16;"
SETSPEEDPLEASE"的字符个数
MOV
R3,#00H
MOV
R4,#00H
LP9:
LCALLCHUSHI
LP2:
ACALLBUSY
MOV
A,#00H
MOVC
A,@A+DPTR
MOV
P1,A
ACALLDATAS
INC
DPTR
DJNZ
LP3:
R1,LP2
CJNE
R3,#00H,LP4
CJNE
R4,#00H,LP4
SJMPLP3
LP4:
MOVR7,#00HMOVR5,#09H;
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
;中断的标志
CURRENT:
的字符个数
显示速度的十位
显示速度的个位
ACALLDATAS;使夜晶始终显示当前电机的速度
LP8:
速度不变时等待
速度变时重新读入速度
使夜晶显示的一些初始设置
清屏并光标复位
设置显示模式:
8位2行5x7点阵
显示器开、光标开、光标允许闪烁
文字不动,光标自动右移
写入显示起始地址
写入控制命令的子程序
写入数据子程序
CJNER7,#00H,LP7
LJMPLP8;
LP7:
SJMPLP4
CHUSHI:
;
ACALLBUSY
MOVP1,#00000001B
ACALLENABLE
ACALLBUSY
MOVP1,#00111000B
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,#2BHLCALLDELAYLCALLDELAYLCALLDELAYSETBEX0SETBEAPOPACCRETIFF:
CLRP0.5
SETBP0.6MOVR2,#2DHLCALLDELAYLCALLDELAYLCALLDELAYSETBEX0SETBEAPOPACC
RETI
WW0:
CLRP0.5CLRP0.6LCALLDELAYLCALLDELAYLCALLDELAYSETBEX0SETBEAPOPACC
RETIDELAY:
正转操作
正转标志"+"
反转操作
反转标志"-"
停止操作
延时子程序
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:
DB
DB
DB
43H,4FH,52H,52H
45H,4EH,54H,20H
3AH
;"CURRENT:
"代码
END
4系统仿真
LCD液晶显示电路的系统仿真和调试:
在PROTEUS运行环境中首先检验LCD显示电路,添加程序,运行LCD液晶显示电路能,系统若运行成功将得到如图4.1。
此后在之前的电路基础之上再拓展带中断的独立式键盘,调试成功后的电路如图4.2所示。
LCD1
LM016L
LCD显示电路
U1
LCD1
LM016L
SETSPEEDRLE口EE
DDDDDDDD
LCD液晶显示
SETSPEEDPLEfiSECORRENT:
-27
EDS
DDDDDDDDeWREDV
4,
6・
E
18
9
A
31■
29■
30■
V1
厂
.XTAL1
P0.0/AD0
P0.1/AD1
P0.2/AD2
XTAL2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
RST
P07/AD7
P2.0/A8
P2.1/A9
PSEN
P2.2/A10
P2.3/A11
ALE
P2.4/A12
EA
P2.5/A13
P2.6/A14
P27/A15
P10
P30/RXD
P1.1
P3.1/TXD
P1.2
P3.2/INT0~
P13
P3.3/INT1-
P14
P34/T0
P1.5
P35/T1
P17
P3.7/RD
AT89C51
1-
沅
3上
4~-
5上
6=
7■
8■
图4.1LCD液晶显示字符初步调试
U1
19
RV1
29
卜XTAL1
XTAL2
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
RST
P0.7/AD7
P2.0/A8
P2.1/A9
P2.2/A10
PSEN
P2.3/A11
ALE
P2.4/A12
EA
P2.5/A13
P2.6/A14
P2.7/A15
P10
P11
P31/TXD
P12
P32/INT0
P13
P33/INTI
P1.4
P3.4/T0
P1.5
P3.5/T1
P1.6
P3.6/WR
P1.7
P3.7/RD
18
9
AT89C51
7
8
1
2
3
4
5
-39
38
P
36
35
22减速
■23正转
~24反转’
.25停止
■26
F
28
■10RS
■^71RW
12
■14E
16
21加速
u?
<
AND_5
图4.2
带中断控制的LCD液晶显示
调试用带中断的键盘来控制直流电机驱动模块的部分电路,
功,将得到图4.3
!
39
38~
35
■33
■32
■21
22
~2T
24
25
■26
-27
■28
■10RS
丁11RW
12*
13
■14E
■15
■16
■17
加速
J
反转
减速
正转.
C
停止二1
J9
加速
减速
正转
反转
停止
若按要求调试成
19
U1
9■
.XTAL1
XTAL2
RST
P0.0/AD0
P0.1/AD1
P0.2/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 直流电机 控制器 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)