直流电机控制器设计.docx

上传人:b****6 文档编号:15916079 上传时间:2023-07-09 格式:DOCX 页数:20 大小:125.12KB
下载 相关 举报
直流电机控制器设计.docx_第1页
第1页 / 共20页
直流电机控制器设计.docx_第2页
第2页 / 共20页
直流电机控制器设计.docx_第3页
第3页 / 共20页
直流电机控制器设计.docx_第4页
第4页 / 共20页
直流电机控制器设计.docx_第5页
第5页 / 共20页
直流电机控制器设计.docx_第6页
第6页 / 共20页
直流电机控制器设计.docx_第7页
第7页 / 共20页
直流电机控制器设计.docx_第8页
第8页 / 共20页
直流电机控制器设计.docx_第9页
第9页 / 共20页
直流电机控制器设计.docx_第10页
第10页 / 共20页
直流电机控制器设计.docx_第11页
第11页 / 共20页
直流电机控制器设计.docx_第12页
第12页 / 共20页
直流电机控制器设计.docx_第13页
第13页 / 共20页
直流电机控制器设计.docx_第14页
第14页 / 共20页
直流电机控制器设计.docx_第15页
第15页 / 共20页
直流电机控制器设计.docx_第16页
第16页 / 共20页
直流电机控制器设计.docx_第17页
第17页 / 共20页
直流电机控制器设计.docx_第18页
第18页 / 共20页
直流电机控制器设计.docx_第19页
第19页 / 共20页
直流电机控制器设计.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

直流电机控制器设计.docx

《直流电机控制器设计.docx》由会员分享,可在线阅读,更多相关《直流电机控制器设计.docx(20页珍藏版)》请在冰点文库上搜索。

直流电机控制器设计.docx

直流电机控制器设计

单片机课程设计报告书

 

课题名称

直流电机控制器设计

姓名

学号

院、系、部

电气工程系

专业

电气工程及其自动化

指导教师

焦永梅

 

2014年6月26日

 

直流电机控制器设计

一、设计目的

1、能够根据题目要求实掌握编写程序、调试程序、软件仿真及与硬件结合。

2、掌握并熟练使用protues绘图软件。

3、了解直流电机控制原理。

4、学习单片机控制直流电机的编程方法。

5、了解数码管动态显示的原理。

6、掌握按键扫描的工作原理。

二、设计要求

1、利用D/A电路,输出-8V到+8V的电压,控制直流电机。

2、电机速度可调,具有启动键、方向控制键及提示灯、加速键、减速键及停止键:

S0键-升速,每按一次,电压值增大一个定值,转速提高。

S1键-减速,每按一次,电压值减小一个定值,转速降低。

利用霍尔元件感应电机转速,读出感应脉冲,从而计算出电机转速(转/分),用数码管显示出来。

三、硬件电路设计

3.1系统结构框图

直流电机控制器系统由单片机、数码管显示模块、按键控制模块、霍尔元件和直流电机模块四部分组成。

系统框图如图3-1所示。

 

 

图3-1系统结构框图

3.2 系统电路原理图

系统电路原理图如下图所示

 

图3-2系统电路原理图

 

3.3 AT89C51单片机介绍

AT89C51单片引脚如下图所示

图3-3AT89C51单片机引脚图

XTAL1:

输入到单片微机内部振荡器的反相放大器。

当采用外部振荡器时,对HMOS单片微机,是引脚应接地:

对CHMOS单片微机,此引脚作驱动端。

XTAL2:

反相放大器的输出,输入到内部时钟发生器。

当采用外部振荡器时,XTAL2接收振荡器信号,对CHMOS单片微机,此引脚悬浮。

I/O共4个口,32根I/O线:

P0:

8位、漏极开路的双向I/口。

P1:

8位、准双向I/O口。

在编程/校验期间,用作输入低位字节地址。

P1口可以驱动4个LSTTL负载。

P2:

8位、准双向I/O口。

当使用片外存储器时,输出高8位地址。

在编程/校验期间,接收高位字节地址。

P2口可以驱动4个LSTTL负载。

P3:

8位、准双向I/O口,具有内部上拉电路。

P3提供各种替代功能。

P3口可以驱动4个LSTTL负载。

串行口:

P3.0:

RXD串行输入口。

P3.1:

TXD串行输出口。

中断:

P3.2:

INT0外部中断0输入。

P3.3:

INT1外部中断1输入。

定时器/计数器:

P3.4:

T0定时器/计数器0的外部输入。

P3.5:

T1定时器/计数器1的外部输入。

数据存储器选通:

P3.6:

WR低电平有效,输出,片外数据存储器或I/O端口写选通。

P3.7:

RD低电平有效,输出,片外数据存储器或I/O端口读选通。

RST:

复位输入信号,高电平有效。

EA/VPP:

片外程序存储器访问允许信号,低电平有效。

EA=1选择片内程序存储器;EA=0,则程序存储器全部在片外,而不管片内是否有程序存储器。

ALE:

地址锁存允许信号,输出。

由于ALE以1/6振荡器频率的固定速率输出,可作为对外输出的时钟或用作外部定时脉冲。

PSEN:

片外程序存储器读选通信号,低电平有效。

EA:

片外程序存储器访问允许信号,低电平有效。

EA=1选择片内程序存储器;EA=0,则程序存储器全部在片外,而不管片内是否有程序存储器。

3.5数模转换芯片介绍

数模转换芯片如图所示

 

图3-4数模转换芯片

D0~D7:

8位数据输入线,TTL电平,有效时间应大于90ns(否则锁存器的数据会出错);

ILE:

数据锁存允许控制信号输入线,高电平有效;

CS:

片选信号输入线(选通数据锁存器),低电平有效;

WR1:

数据锁存器写选通输入线,负脉冲(脉宽应大于500ns)有效。

由ILE、CS、WR1的逻辑组合产生LE1,当LE1为高电平时,数据锁存器状态随输入数据线变换,LE1的负跳变时将输入数据锁存;

XFER:

数据传输控制信号输入线,低电平有效,负脉冲(脉宽应大于500ns)有效;

WR2:

DAC寄存器选通输入线,负脉冲(脉宽应大于500ns)有效。

由WR2、XFER的逻辑组合产生LE2,当LE2为高电平时,DAC寄存器的输出随寄存器的输入而变化,LE2的负跳变时将数据锁存器的内容打入DAC寄存器并开始D/A转换。

IOUT1:

电流输出端1,其值随DAC寄存器的内容线性变化;

IOUT2:

电流输出端2,其值与IOUT1值之和为一常数;

Rfb:

反馈信号输入线,改变Rfb端外接电阻值可调整转换满量程精度;

Vcc:

电源输入端,Vcc的范围为+5V~+15V;

VREF:

基准电压输入线,VREF的范围为-10V~+10V;

AGND:

模拟信号地;

DGND:

数字信号地。

3.5谐振电路

谐振电路如图所示

 

图3-5谐振电路

谐振电路用于产生一个特定的时钟频率,使AT89C51单片机能正常的工作。

晶振片用于产生时钟频率,该晶振能产生11.0592MHZ的频率。

两个旁路电路,有频率微调的作用,主要是让电路更容易起振,两个电容值要求一样,否则容易使谐振不平衡,造成停振或不起振的现象。

本设计中采用的是两个1nF的电容。

3.6 L298芯片介绍

 

图3-6L298芯片

引脚

符号

功能

1

15

SENSINGA

SENSINGB

此两端与地连接电流检测电阻,并向驱动芯片反馈检测到的信号

2

3

OUT1

OUT2

此两脚是全桥式驱动器A的两个输出端,用来连接负载

4

Vs

电机驱动电源输入端

5

7

IN1

IN2

输入标准的TTL逻辑电平信号,用来控制全桥式驱动器A的开关

6

11

ENABLEA

ENABLEB

使能控制端.输入标准TTL逻辑电平信号;低电平时全桥式驱动器禁止工作。

8

GND

接地端,芯片本身的散热片与8脚相通

9

Vss

逻辑控制部分的电源输人端口

10

12

IN3

IN4

输入标准的TTL逻辑电平信号,用来控制全桥式驱动器B的开关

13

14

OUT3

OUT4

此两脚是全桥式驱动器B的两个输出端,用来连接负载

 

四、流程图设计

4.1 总体设计思路

在矩阵键盘中,开辟出“c”键为模式键,第一次按下为模式1,此时除加减速按键“A”“B”键和模式键“C”外所有按键均被屏蔽,实现加减速模式,并通过数码管实时显示实际转速。

当再次按下模式键“C”时,进入模式2,此时屏蔽加减速按键,此模式为自设定转速模式,首先选择正转还是反转按键“E”和“F”键,数码管显示“E””F”,再选择速度,按下“0-9”按键进行速度设定,设定顺序为从高位到低位,为两位并实时显示,多余的输入数字将被屏蔽,只取最后两位。

完成设置后,按下确定键“D”键,电机开始转动。

此时除确认键“D”键外所有键均被屏蔽。

再次按下确认键,电机停止转动。

此时只开放模式按键“C”。

从设置模式开始入口系统功能。

数码管除了现实实时转速外,在模式2中,设定转速时起到显示设定值的作用。

4.2 流程图

利用光电测速法得出实际转速:

使用栅格圆盘和光电门组成测速系统。

当直流电机通过传动部分带动栅格圆盘旋转时,测速光电门获得一系列脉冲信号。

这些脉冲信号通过单片机两个定时/计数器配合,一个计数,一个定时。

计算出单位时间内的脉冲数m,经过单位换算,就可以算得直流电机旋转的速度。

本实验采用以r/sec为单位的转速加以显示。

将采集到的实际速度与程序给定速度数据比较,假定设定值为正转,则如果实际速度小于设定速度,那么将运行函数中速度形参自加1;相反,如果实际速度大于设定速度,将运行函数中速度形参自减一。

如果设定值反转,则同上,只需将运行函数中形参由自加改为自减,自减改为自加即可。

主程序流程图如下图所示

图4-1主流程图

五、源程序

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-1按下加速键,直流电机有图4-2的正运行效果。

向加速运行结果。

 

图4-1电机正常运转图4-2电机正转加速

按下减速键,直流电机有图4-3正按下反转键,直流电机有图4-4反向加速运行结果。

向减速运行结果。

图4-3电机正转减速图4-4电机反转加速

按下急停键,直流电机有图4-5的

停止运行结果。

 

图4-5电机停转

 

七、设计总结

通过这次的课程设计,我学会了用C语言编译程序,学会了用protues软件绘图仿真,明白了控制之交流电动机速度的原理,从中还获得了许多知识。

本次课程设计采用简单的C语言编程,程序系统结构优化,控制精度高,满足了直流电机的调速要求。

对单片机实现直流电机调速系统进行研究和设计,能够满足设计要求。

将所学的理论知识和时间相结合,为以后在此基础上结合相关领域设计具有很好的实践意义

八、参考文献

[1]高峰.单片微型计算机原理与接口技术.科学出版社,2007.

[2]胡汉才.单片机原理及其接口技术.清华大学出版社,2004.

[3]李勋.单片机微型计算机大学读本.北京航空航天大学出版社, 2002.

[4]王幸之.单片机应用系统抗干扰技术.北京航空航天大学出版社, 2001.

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

 

........忽略此处.......

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

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2