基于单片机的直流电机控制器的方案设计书.docx
- 文档编号:26310850
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:28
- 大小:719.23KB
基于单片机的直流电机控制器的方案设计书.docx
《基于单片机的直流电机控制器的方案设计书.docx》由会员分享,可在线阅读,更多相关《基于单片机的直流电机控制器的方案设计书.docx(28页珍藏版)》请在冰豆网上搜索。
基于单片机的直流电机控制器的方案设计书
摘要
本文是对直流电机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用带中断的键盘来控制的电机
启动目标系统,按正转,然后接加速开关,我们观察到电机开始运转,每按一次
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 直流电机 控制器 方案设计