专业综合设计课程设计基于单片机的小功率电机控制大学论文.docx
- 文档编号:13608831
- 上传时间:2023-06-15
- 格式:DOCX
- 页数:54
- 大小:1.12MB
专业综合设计课程设计基于单片机的小功率电机控制大学论文.docx
《专业综合设计课程设计基于单片机的小功率电机控制大学论文.docx》由会员分享,可在线阅读,更多相关《专业综合设计课程设计基于单片机的小功率电机控制大学论文.docx(54页珍藏版)》请在冰点文库上搜索。
专业综合设计课程设计基于单片机的小功率电机控制大学论文
电子工程学院设计报告
课程名称:
专业综合设计
设计课目:
基于单片机的小功率电机控制
1.系统设计方案
1.1步进电机简介
步进电机是一种由脉冲控制转速的执行机构。
它由转子和定子组成。
定子是由硅钢片叠成,装上绕组。
转子也是由硅钢片叠成,做成突级结构。
常用的三相反应式步进电机的定子有6个磁极,转子有4个突齿。
其工作的原理是电磁工作原理。
当ABC相分别导电时,转子的凸齿与相应的相的绕组相对,这样来控制转子的转动。
只要改变绕组的通电顺序就能改变步进电机的转动顺序。
绕组的通电方式有:
单三拍、六拍和双三拍等。
其中单三拍是指每次只有一相通电,双是两相通电,拍是指通电的次数。
拍数越少步距角越大,否则越小。
输入的脉冲数越多,步进电机转动的角度就越多。
同时,输入频率越高,则步进电机的转速就越快。
同时,通过控制脉冲数量,就可以控制步进电机的转动的位置,因此还能使用步进电机进行定位。
步进电机具有以下特点
(1)控制简便步进电机可以根据输入脉冲的数量控制旋转的角度,因此控制转动角度十分方便;还可以通过控制脉冲的频率控制步进电机的转速。
而对于数字控制,对数量和频率的控制十分便利,因此步进电机的控制十分简单。
(2)可以开环控制由于步进电机的转速误差不会累计,因此只要步进电机能正常工作,就只需要调节脉冲来控制速度即可达到一定的精度。
(3)寿命长不用电刷,寿命取决于轴承。
步进电机当然也有缺点:
(1)不适宜带惯性负载
(2)驱动需要使用脉冲,对驱动电路有要求。
(3)转速上升的同时,转矩下降步进电机在启动和停止时容易失步,在脉冲频率过高、负载过大时也会
1.2步进电机调速方法
步进电机主要按一定的给电规律,给对应的绕组响应的电信号,电机将按一定的方向运行,而且每改变一次电信号电机将运行一步,如果连续给出响应电信号,电机将连续运行,只要改变电信号的频率,将获得不同的运行速度。
如果用步进电机调速时,只要改变控制器的输出脉冲的频率,就可以实现步进电机的调速。
也有厂家推出了内部集成有脉冲发生器的步进驱动器,用户只需输入模拟电信号或通过电位器即可实现步进电机的调速,如英纳仕推出的EZD系列产品。
1.2.1理论分析
根据系统的设计要求可知,该系统的输入量为速度和方向,速度应该有增减变化,通常用加减按钮控制速度,这样只要2根线,再加上正反方向和启动/停止信号线共需要6根输入线。
系统的输出线与步进电机的绕组数有关。
这里选步进电机,工作电压为+5V,可以个单片机共用一个电源。
系统采用了lcd显示屏,用来显示步进电机方向与转速的详细信息。
2.硬件设计
2.1元件清单
元件清单
名称
型号
数量
万用板
9x15
1
单片机
STC89C52
1
单片机底座
40P
1
晶振
11.0592M
1
瓷片电容
22PF
2
电解电容
10UF
1
电阻
10K
1
按键
按键
7
开关
自锁开关
1
电源座
电源接口
1
电阻
1K
2
显示屏
LCD1602
1
电机驱动芯片
ULN2003
1
步进电机底座
5P
1
LED
2V
2
电源座
1
电源线
1
步进电机
1
2.2LCD1602
在日常生活中,我们对液晶显示器并不陌生。
液晶显示模块已作为很多电子产品的通过器件,如在计算器、万用表、电子表及很多家用电子产品中都可以看到,显示的主要是数字、专用符号和图形。
在单片机的人机交流界面中,一般的输出方式有以下几种:
发光管、LED数码管、液晶显示器。
发光管和LED数码管比较常用,软硬件都比较简单,在前面章节已经介绍过,在此不作介绍,本章重点介绍字符型液晶显示器的应用。
在单片机系统中应用晶液显示器作为输出器件有以下几个优点:
(1)显示质量高
(2)数字式接口
(3)体积小、重量轻
(4)功耗低
液晶显示简介
(1)液晶显示原理
液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。
液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、PDA移动通信工具等众多领域。
(2)液晶显示器的分类
液晶显示的分类方法有很多种,通常可按其显示方式分为段式、字符式、点阵式等。
除了黑白显示外,液晶显示器还有多灰度有彩色显示等。
如果根据驱动方式来分,可以分为静态驱动(Static)、单纯矩阵驱动(SimpleMatrix)和主动矩阵驱动(ActiveMatrix)三种。
(3)液晶显示器各种图形的显示原理:
A)线段的显示
点阵图形式液晶由M×N个显示单元组成,假设LCD显示屏有64行,每行有128列,每8列对应1字节的8位,即每行由16字节,共16×8=128个点组成,屏上64×16个显示单元与显示RAM区1024字节相对应,每一字节的内容和显示屏上相应位置的亮暗对应。
例如屏的第一行的亮暗由RAM区的000H——00FH的16字节的内容决定,当(000H)=FFH时,则屏幕的左上角显示一条短亮线,长度为8个点;当(3FFH)=FFH时,则屏幕的右下角显示一条短亮线;当(000H)=FFH,(001H)=00H,(002H)=00H,……(00EH)=00H,(00FH)=00H时,则在屏幕的顶部显示一条由8段亮线和8条暗线组成的虚线。
这就是LCD显示的基本原理。
B)字符的显示
用LCD显示一个字符时比较复杂,因为一个字符由6×8或8×8点阵组成,既要找到和显示屏幕上某几个位置对应的显示RAM区的8字节,还要使每字节的不同位为“1”,其它的为“0”,为“1”的点亮,为“0”的不亮。
这样一来就组成某个字符。
但由于内带字符发生器的控制器来说,显示字符就比较简单了,可以让控制器工作在文本方式,根据在LCD上开始显示的行列号及每行的列数找出显示RAM对应的地址,设立光标,在此送上该字符对应的代码即可。
C)汉字的显示
汉字的显示一般采用图形的方式,事先从微机中提取要显示的汉字的点阵码(一般用字模提取软件),每个汉字占32B,分左右两半,各占16B,左边为1、3、5……右边为2、4、6……根据在LCD上开始显示的行列号及每行的列数可找出显示RAM对应的地址,设立光标,送上要显示的汉字的第一字节,光标位置加1,送第二个字节,换行按列对齐,送第三个字节……直到32B显示完就可以LCD上得到一个完整汉字。
(4)字符型LCD简介
字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用16*1,16*2,20*2和40*2行等的模块。
下面以长沙太阳人电子有限公司的1602字符型液晶显示器为例,介绍其用法。
一般1602字符型液晶显示器
(5)实物如图:
(6)1602LCD的基本参数及引脚功能
1602LCD分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别,两者尺寸差别如下图10-54所示:
图10-541602LCD尺寸图
(7)1602LCD主要技术参数:
显示容量:
16×2个字符
芯片工作电压:
4.5—5.5V
工作电流:
2.0mA(5.0V)
模块最佳工作电压:
5.0V
字符尺寸:
2.95×4.35(W×H)mm
(8)引脚功能说明
1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表10-13所示:
编号
符号
引脚说明
编号
符号
引脚说明
1
VSS
电源地
9
D2
数据
2
VDD
电源正极
10
D3
数据
3
VL
液晶显示偏压
11
D4
数据
4
RS
数据/命令选择
12
D5
数据
5
R/W
读/写选择
13
D6
数据
6
E
使能信号
14
D7
数据
7
D0
数据
15
BLA
背光源正极
8
D1
数据
16
BLK
背光源负极
表10-13:
引脚接口说明表
第1脚:
VSS为地电源。
第2脚:
VDD接5V正电源。
第3脚:
VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。
第4脚:
RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
第5脚:
R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。
当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。
第6脚:
E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
第7~14脚:
D0~D7为8位双向数据线。
第15脚:
背光源正极。
第16脚:
背光源负极。
(9)1602LCD的指令说明及时序
1602液晶模块内部的控制器共有11条控制指令,如表10-14所示:
序号
指令
RS
R/W
D7
D6
D5
D4
D3
D2
D1
D0
1
清显示
0
0
0
0
0
0
0
0
0
1
2
光标返回
0
0
0
0
0
0
0
0
1
*
3
置输入模式
0
0
0
0
0
0
0
1
I/D
S
4
显示开/关控制
0
0
0
0
0
0
1
D
C
B
5
光标或字符移位
0
0
0
0
0
1
S/C
R/L
*
*
6
置功能
0
0
0
0
1
DL
N
F
*
*
7
置字符发生存贮器地址
0
0
0
1
字符发生存贮器地址
8
置数据存贮器地址
0
0
1
显示数据存贮器地址
9
读忙标志或地址
0
1
BF
计数器地址
10
写数到CGRAM或DDRAM)
1
0
要写的数据内容
11
从CGRAM或DDRAM读数
1
1
读出的数据内容
2.3STC89C52RC单片机介绍
STC89C52RC单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。
主要特性如下:
增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051.
工作电压:
5.5V~3.3V(5V单片机)/3.8V~2.0V(3V单片机)
工作频率范围:
0~40MHz,相当于普通8051的0~80MHz,实际工作频率可达48MHz
用户应用程序空间为8K字节
片上集成512字节RAM
通用I/O口(32个),复位后为:
P1/P2/P3/P4是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。
ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即可完成一片
具有EEPROM功能
具有看门狗功能
共3个16位定时器/计数器。
即定时器T0、T1、T2
外部中断4路,下降沿中断或低电平触发电路,PowerDown模式可由外部中断低电平触发中断方式唤醒
通用异步串行口(UART),还可用定时器软件实现多个UART
工作温度范围:
-40~+85℃(工业级)/0~75℃(商业级)
PDIP封装
STC89C52RC单片机的工作模式
掉电模式:
典型功耗<0.1μA,可由外部中断唤醒,中断返回后,继续执行原程序
空闲模式:
典型功耗2mA
正常工作模式:
典型功耗4Ma~7mA
掉电模式可由外部中断唤醒,适用于水表、气表等电池供电系统及便携设备
STC89C52RC引脚图
STC89C52RC引脚功能说明
VCC(40引脚):
电源电压
VSS(20引脚):
接地
P0端口(P0.0~P0.7,39~32引脚):
P0口是一个漏极开路的8位双向I/O口。
作为输出端口,每个引脚能驱动8个TTL负载,对端口P0写入“1”时,可以作为高阻抗输入。
在访问外部程序和数据存储器时,P0口也可以提供低8位地址和8位数据的复用总线。
此时,P0口内部上拉电阻有效。
在FlashROM编程时,P0端口接收指令字节;而在校验程序时,则输出指令字节。
验证时,要求外接上拉电阻。
P1端口(P1.0~P1.7,1~8引脚):
P1口是一个带内部上拉电阻的8位双向I/O口。
P1的输出缓冲器可驱动(吸收或者输出电流方式)4个TTL输入。
对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这是可用作输入口。
P1口作输入口使用时,因为有内部上拉电阻,那些被外部拉低的引脚会输出一个电流()。
此外,P1.0和P1.1还可以作为定时器/计数器2的外部技术输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX),具体参见下表:
在对FlashROM编程和程序校验时,P1接收低8位地址。
表1.1P1.0和P1.1引脚复用功能
引脚号
功能特性
P1.0
T2(定时器/计数器2外部计数输入),时钟输出
P1.1
T2EX(定时器/计数器2捕获/重装触发和方向控制)
P2端口(P2.0~P2.7,21~28引脚):
P2口是一个带内部上拉电阻的8位双向I/O端口。
P2的输出缓冲器可以驱动(吸收或输出电流方式)4个TTL输入。
对端口写入1时,通过内部的上拉电阻把端口拉到高电平,这时可用作输入口。
P2作为输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流()。
在访问外部程序存储器和16位地址的外部数据存储器(如执行“MOVX@DPTR”指令)时,P2送出高8位地址。
在访问8位地址的外部数据存储器(如执行“MOVX@R1”指令)时,P2口引脚上的内容(就是专用寄存器(SFR)区中的P2寄存器的内容),在整个访问期间不会改变。
在对FlashROM编程和程序校验期间,P2也接收高位地址和一些控制信号。
P3端口(P3.0~P3.7,10~17引脚):
P3是一个带内部上拉电阻的8位双向I/O端口。
P3的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。
对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。
P3做输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输入一个电流()。
在对FlashROM编程或程序校验时,P3还接收一些控制信号。
P3口除作为一般I/O口外,还有其他一些复用功能,如下表所示:
表1.2P3口引脚复用功能
引脚号
复用功能
P3.0
RXD(串行输入口)
P3.1
TXD(串行输出口)
P3.2
(外部中断0)
P3.3
(外部中断1)
P3.4
T0(定时器0的外部输入)
P3.5
T1(定时器1的外部输入)
P3.6
(外部数据存储器写选通)
P3.7
(外部数据存储器读选通)
RST(9引脚):
复位输入。
当输入连续两个机器周期以上高电平时为有效,用来完成单片机单片机的复位初始化操作。
看门狗计时完成后,RST引脚输出96个晶振周期的高电平。
特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。
DISRTO默认状态下,复位高电平有效。
ALE/(30引脚):
地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。
在Flash编程时,此引脚()也用作编程输入脉冲。
在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。
然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。
如果需要,通过将地址位8EH的SFR的第0位置“1”,ALE操作将无效。
这一位置“1”,ALE仅在执行MOVX或MOV指令时有效。
否则,ALE将被微弱拉高。
这个ALE使能标志位(地址位8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。
(29引脚):
外部程序存储器选通信号()是外部程序存储器选通信号。
当AT89C51RC从外部程序存储器执行外部代码时,在每个机器周期被激活两次,而访问外部数据存储器时,将不被激活。
VPP(31引脚):
访问外部程序存储器控制信号。
为使能从0000H到FFFFH的外部程序存储器读取指令,必须接GND。
注意加密方式1时,将内部锁定位RESET。
为了执行内部程序指令,应该接VCC。
在Flash编程期间,也接收12伏VPP电压。
XTAL1(19引脚):
振荡器反相放大器和内部时钟发生电路的输入端。
XTAL2(18引脚):
振荡器反相放大器的输入端。
特殊功能寄存器
在STC89C52RC片内存储器中,80H~FFH共128个单元位特殊功能寄存器(SFR),SFR的地址空间如下表1所示。
并非所有的地址都被定义,从80H~FFH共128个字节只有一部分被定义。
还有相当一部分没有定义。
对没有定义的单元读写将是无效的,读出的数值将不确定,而写入的数据也将丢失。
不应将“1”写入未定义的单元,由于这些单元在将来的产品中可能赋予新的功能,在这种情况下,复位后这些单元数值总是“0”。
STC89C52RC除了有定时器/计数器0和定时器/计数器1之外,还增加了一个一个定时器/计数器2.定时器/计数器2的控制和状态位位于T2CON(见表2)和T2MOD(见表4)。
定时器2是一个16位定时/计数器。
通过设置特殊功能寄存器T2CON中的C/T2位,可将其作为定时器或计数器(特殊功能寄存器T2CON的描述如表2所列)。
定时器2有3种操作模式:
捕获、自动重新装载(递增或递减计数)和波特率发生器,这3种模式由T2CON中的位进行选择(如表2所列)
表1STC89C52RC的特殊功能寄存器
表2特殊功能寄存器T2CON的描述
表3定时/计数器2控制寄存器各位功能说明
符号
功能
TF2
定时器2溢出标志。
定时器2溢出时,又由硬件置位,必须由软件请0.当RCLK=1或TCLK=1时,定时器2溢出,不对TF2置位。
EXF2
定时器2外部标志。
当EXEN2=1,且当T2EX引脚上出现负跳变而出现捕获或重装载时,EXF2置位,申请中断。
此时如果允许定时器2中断,CPU将响应中断,执行定时器2中断服务程序,EXF2必须由软件清除。
当定时器2工作在向上或向下计数方式时(DCEN=1),EXF2不能激活中断。
RCLK
接收时钟允许。
RCLK=1时,用定时器2溢出脉冲作为串口(工作于工作方式1或3时)的接收时钟,RCLK=0,用定时器1的溢出脉冲作为接收脉冲
TCLK
发送时钟允许。
TCLK=1时,用定时器2溢出脉冲作为串口(工作于工作方式1或3时)的发送时钟,TCLK=0,用定时器1的溢出脉冲作为发送脉冲
EXEN2
定时器2外部允许标志。
当EXEN2=1时,如果定时器2未用于作串行口的波特率发生器,在T2EX端口出现负跳变脉冲时,激活定时器2捕获或者重装载。
EXEN2=0时,T2EX端的外部信号无效。
TR2
定时器2启动/停止控制位。
TR2=1时,启动定时器2.
C/
定时器2定时方式或计数方式控制位。
C/=0时,选择定时方式,C/=1时,选择对外部事件技术方式(下降沿触发)。
CP/
捕获/重装载选择。
CP/=1时,如EXEN2=1,且T2EX端出现负跳变脉冲时发生捕获操作。
CP/=1时,若定时器2溢出或EXEN2=1条件下,T2EX端出现负跳变脉冲,都会出现自动重装载操作。
当RCLK=1或TCLK=1时,该位无效,在定时器2溢出时强制其自动重装载。
表4定时器2工作方式
RCLK+TCLK
CP/
TR2
模式
0
0
1
16位自动重装
0
1
1
16位捕获
1
X
1
波特率发生器
X
X
0
(关闭)
∙捕获模式
在捕获模式中,通过T2CON中的EXEN2设置2个选项。
如果EXEN2=0,定时器2作为一个16位定时器或计数器(由T2CON中的C/位选择),溢出时置位TF2(定时器2溢出标志位)。
该位可用于产生中断(通过使能IE寄存器中的定时器2中断使能位)。
如果EXEN2=1,与以上描述相同,但增加了一个特性,即外部输入T2EX由1变0时,将定时器2中TL2和TH2的当前值各自捕获到RCAP2L和RACP2H。
另外,T2EX的负跳变使T2CON中的EXF2置位,EXF2也像TF2一样能够产生中断(其向量与定时器2溢出中断地址相同,定时器2中断服务程序通过查询TF2和EXF2来确定引起中断的事件),捕获模式如图X所示。
在该模式中,TL2和TH2勿重新装载值,甚至当T2EX产生捕获时间时,计数器仍以T2EX的负跳变或振荡频率的1/2(12时钟模式)或1/6(6时钟模式)计数。
图XX定时器2捕获模式
∙自动重装模式(递增/递减计数器)
16位自动重装模式中,定时器2可通过C/T2配置为定时器/计数器,编程控制递增/递减。
计数的方向有DCEN(递减计数使能位)确定,DCEN位于T2MMOD寄存器中,T2MOD寄存器各位的功能描述如表XX所示。
当DCEN=0时,定时器2默认为向上计数;当DCEN=1时,定时器2可通过T2EX确定递增或递减计数。
图XX显示了当DCEN=0时,定时器2自动递增计数。
在该模式中,通过设置EXEN2位进行选择。
如果EXEN2=0,定时器2递增计数到0FFFFH,并在溢出后将TF2置位,然后将RCAP2L和RCAP2H中的16位值作为重新装载值装入定时器2。
RCAP2L和RCAP2H的值是通过软件预设的。
表5定时器2模式(T2MOD)控制寄存器的描述
符号
功能
-
不可用,保留将来之用*
T2OE
定时器2输出使能位
DCEN
向下计数使能位。
定时器2可配置成向上/向下计数器
*用户勿将其置1.这些为在将来80C51系列产品中用来实现新的特性。
在这种情况下,以后用到保留位,复位时或非有效状态时,它的值应为0;而在这些位有效状态时,它的值为1.保留位读到的值不确定。
如果EXEN2=1,16位重新装载可通过溢出或T2EX从1到0的负跳变实现。
此负跳变同时将EXF2置位。
如果定时器2中断被使能,则当TF2或EXF2置1时,定时器2递增计数,计数到0FFFFH后溢出并置位TF2,还将产生中断(如果中断被使能)。
定时器2的溢出将使RCAP2L和RCAP2H中的16位值作为重新装载值放入TL2和TH2。
当T2EX置零时,将使定时器2递减计数。
当TL2和TH2计数到等于RCAP2L和RCAP2H时,定时器产生中断。
图1.1定时器2自动重装模式(DCEN=0)
图1.2定时器2自动重装模式(DCEN=1)
∙波特率发生器模式
寄存器T2CON的位TCLK和(或)RCLK允许从定时器1或定时器2获得串行口发送和接收的波特率。
当TCLK=0时,定时器1作为串行口发送波特率发生器;当TCLK=1时,定时器2作为串行口发送波特率发生器。
RCLK对串行口接收波特率有同样的作用。
通过这2位,串行口能得到不同的接收和发送波特率,一个通过定时器1产生,另一个通过定时器2产生。
如图1.2所示为
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 专业 综合 设计 课程设计 基于 单片机 功率 电机 控制 大学 论文