陈振潘 电力拖动自动控制系统课程设计报告Word格式.docx
- 文档编号:17655878
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:34
- 大小:906.21KB
陈振潘 电力拖动自动控制系统课程设计报告Word格式.docx
《陈振潘 电力拖动自动控制系统课程设计报告Word格式.docx》由会员分享,可在线阅读,更多相关《陈振潘 电力拖动自动控制系统课程设计报告Word格式.docx(34页珍藏版)》请在冰豆网上搜索。
这种驱动电路可以很方便实现直流电机的四象限运行,分别对应正转、正转制动、反转、反转制动。
用测速码盘编码器对直流电机的进行测速,并将速度显示在液晶显示器上,同时将转速反馈给单片机实现对电机转速的闭环控制。
设置功能键盘,可通过按键实现对电机转速的设定以及调节控制。
3.硬件设计
3.1.单片机系统的设计
单片机系统的设计流程图如下所示:
图3-1单片机系统设计
3.2.STC12最小系统
(1)STC12C5A60S2芯片
STC12C5A60S2不但和8051指令、管脚完全兼容,而且速度快8-12倍。
内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S),针对电机控制,强干扰场合,其片内的具有大容量程序存储器60KFLASHROM,用户可以用电的方式瞬间擦除、改写。
STC系列单片机支持串口程序烧写,对开发设备的要求很低,开发时间也大大缩短。
以下是STC12C5A60S2的功能:
1)增强型8051
CPU,1T,单时钟/机器周期,指令代码完全兼容传统8051;
2)工作电压:
STC12C5A60S2系列工作电压:
5.5V-3.3V(5V单片机)STC12LE5A60S2系列工作电压:
3.6V-2.2V(3V单片机);
3)工作频率范围:
0
-
35MHz,相当于普通8051的
0~420MHz;
4)用户用程序空间8K
/16K
/
20K
32K
40K
48K/
52K
60K
62K字节;
5)片上集成1280字节RAM;
6)通用I/O口(36/40/44个),复位后为:
准双向口/弱上拉(普通8051传统I/O口),可设置成四种模式:
准双向口/弱上拉,推挽/强上拉,仅为输入/高阻,开漏,每个I/O口驱动能力均可达到20mA,但整个芯片最大不要超过55Ma;
7)ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器
可通过串口(P3.0/P3.1)直接下载用户程序,数秒即可完成一片;
8)有EEPROM功能(STC12C5A62S2/AD/PWM无内部EEPRO
M);
9)看门狗;
10)内部集成MAX810专用复位电路(外部晶体12M以下时,复位脚可直接1K电阻到地);
11)外部掉电检测电路:
在P4.6口有一个低压门槛比较器,5V单片机为1.32V,误差为+/-5%,3.3V单片机为1.30V,误差为+/-3%;
12)时钟源:
外部高精度晶体/时钟,内部R/C振荡器(温漂为+/-5%到+/-10%以内)
1用户在下载用户程序时,可选择是使用内部R/C振荡器还是外部晶体/时钟,常温下内部R/C振荡器频率为:
5.0V单片机为:
11MHz~15.5MHz,3.3V单片机为:
8MHz~12MHz,精度要求不高时,可选择使用内部时钟,但因为有制造误差和温漂,以实际测试为准;
13)共4个16位定时器,两个与传统8051兼容的定时器/计数器,16位定时器T0和T1,没有定时器2,但有独立波特率发生器做串行通讯的波特率发生器再加上2路PCA模块可再实现2个16位定时器;
14)2个时钟输出口,可由T0的溢出在P3.4/T0输出时钟,可由T1的溢出在P3.5/T1输出时钟;
15)外部中断I/O口7路,传统的下降沿中断或低电平触发中断,并新增支持上升沿中断的PCA模块,
Power
Down模式可由外部中断唤醒,INT0/P3.2,INT1/P3.3,T0/P3.4,T1/P3.5,
RxD/P3.0,
CCP0/P1.3(也可通过寄存器设置到P4.2
),
CCP1/P1.4
(也可通过寄存器设置到P4.3);
16)PWM(2路)/PCA(可编程计数器阵列,2路)
——也可用来当2路D/A使用
——也可用来再实现2个定时器
——也可用来再实现2个外部中断(上升沿中断/下降沿中断均可分别或同时支持);
17)A/D转换,10位精度ADC,共8路,转换速度可达250K/S(每秒钟25万次);
18)通用全双工异步串行口(UART),由STC12系列是高速的8051,可再用定时器或PCA软件实现多串口;
19)STC12C5A60S2系列有双串口,后缀有S2标志的才有双串口,RxD2/P1.2(可通过寄存器设置到P4.2),TxD2/P1.3(可通过寄存器设置到P4.3);
20)工作温度范围:
-40-+85℃(工业级)/0-75℃(商业级)21.封装:
PDIP-40,LQFP-44,LQFP-48I/O口不够时,可用2到3根普通I/O口线外接74HC164/165/595(均可级联)来扩展I/O口,还可用A/D做按键扫描来节省I/O口,或用双CPU,三线通信,还多了串口。
图3-212C5A60S2芯片
(2)复位电路
单片机小系统采用上电自动复位和手动按键复位两种方式实现系统的复位操作。
上电复位要求接通电源后,自动实现复位操作。
手动复位要求在电源接通的条件下,在单片机运行期间,用按钮开关操作使单片机复位。
复位电路结构如图3-3所示。
图3-3复位电路接线图
(3)系统时钟电路
单片机内部具有一个高增益反相放大器,用于构成振荡器。
通常在引脚XTALl和XTAL2跨接石英晶体和两个补偿电容构成自激振荡器,系统时钟电路结构如图所示,可以根据情况选择6MHz、8MHz或12MHz等频率的石英晶体,本系统采用12MHz的晶振。
补偿电容通常选择20-30pF左右的瓷片电容。
(4)最小系统原理图
图3-4最小系统原理图
3.3.直流电机基本工作原理
(1)直流电机的基本结构
直流电机的基本结构图见图3-5:
图3-5直流电机的基本结构
(2)直流电动机的参数特性
1)感应电势E
(3-1)
式中:
-电动势(V);
一对磁极的磁通(Wb);
-电枢转速(r/min);
-与结构有关的常数.
2)电磁转矩T
(3-2)
-电磁转矩(Nm);
-电枢电流(A);
3)直流电动机电枢电压平衡方程式
(3-3)
为电枢电阻
4)直流电动机机械特性的一般表达式
(3-4)
(3)直流电机的机械特性曲线
直流电机的机械特性曲线如下图3-6所示:
图3-6直流电机的机械特性曲线
转速下降的原因:
电机带负载匀速运行时,Te=TL,若负载TL增加,则电机的输出电磁转距Te也要随之增加,也即电枢电流Ia增大。
那么电枢绕组的内阻所消耗的压降IaRa增加,所以转速n下降。
(3-5)
(4)永磁直流电机调速
调压调速通:
过改变输入电压实现调速,如图3-3所示。
图3-7降压调速原理
3.4.L298N电机驱动模块
(1)H型全桥式驱动电路
直流电机驱动电路使用最广泛的就是H型全桥式驱动电路,这种驱动电路可以很方便实现直流电机的四象限运行,分别对应正转、正转制动、反转、反转制动。
它的基本原理图如图所示。
图3-8H型桥式驱动电路
H型全桥式驱动电路的4只三极管都工作在斩波状态,V1、V4为一组,V2、V3为另一组,两组的状态互补,一组导通则另一组必须关断。
当V1、V4导通时,V2、V3关断,电机两端加正向电压,可以实现电机的正转或反转制动;
当V2、V3导通时,V1、V4关断,电机两端为反向电压,电机反转或正转制动。
在直流电机运转的过程中,我们要不断地使电机在四个象限之间切换,即在正转和反转之间切换,也就是在V1、V4导通且V2、V3关断,到V1、V4关断且V2、V3导通,这两种状态之间转换。
在这种情况下,理论上要求两组控制信号完全互补,但是,由于实际的开关器件都存在开通和关断时间,绝对的互补控制逻辑必然导致上下桥臂直通短路,比如在上桥臂关断的过程中,下桥臂导通了。
为了避免直通短路且保证各个开关管动作之间的同步性,两组控制信号在理论上要求互为倒相的逻辑关系,而实际上却必须相差一个足够的死区时间,这个矫正过程既可以通过硬件实现,即在上下桥臂的两组控制信号之间增加延时。
图3-9L298N芯片逻辑结构
引脚说明见表3-1:
表3-1
MW.15
Name
Function
1;
15
SenseA;
SenseB
在这个引脚和低之间可以接感应电阻用于控制负载电流
2;
3
Out1;
Out2
A桥的输出端口;
流经这两个端子连接的负载电流在端子1被检测
4
VS
用于驱动负载的功率输出电源电压。
在这个引脚和地之间必须接一个100nf的无极性电容
5;
7
Input1;
Input2
A桥TTL输入端
6;
11
EnableA;
EnableB
TTL使能输入端:
低电平使桥A或桥B无效
8
GND
地
9
VSS
逻辑模块的电源供应。
引脚与地间必须接一个100nF的电容
10;
12
Input3;
Input4
B桥TTL输入端
13;
14
Out3;
Out4
B桥的输出;
流经这两个端子连接的负载电流在端子15被检测
极限参数:
表3-2
Vs:
功率电源
50V
Vss:
逻辑电源电压
7V
Vi、Ven:
输入和使能电压
-0.3~7V
Io:
最大输出电流(每个通道)
无重复
重复
直流操作
3A
2.5A
2A
Vsens:
感应电压
-1~2.3V
Ptot:
总的功率耗散(温度达到75度)
25W
Top:
结操作温度
-25~130度
Tstg、Ti:
储存和结温度
-40~150度
芯片引脚图如图3-10所示:
图3-10L298N芯片引脚功能
图3-11L298N芯片引脚接线图
3.5.12864液晶显示模块
(1)芯片介绍
LCD12864液晶显示器如下图所示:
图3-12LCD12864液晶显示器引脚功能:
LCD12864及其兼容控制驱动器的引脚功能如下:
表3-3LCD12864及其兼容控制驱动器的引脚功能
引脚符号
状态
引脚名称
功能
CS1,CS2,CS3
输入
芯片片选段
CS1和CS2低电平选通,CS3高电平选通
E
读写时能端
在E下降沿,数据被锁存(写)入LCD12864及其兼容控制驱动器;
在E高电平期间,数据被读出
R/W
读写选择信号
R/W=1,为读选通,
R/W=0,为写选通,
D/I
数据、指令选择信号
D/I=1为数据操作
D/I=0为写指令或读状态
DB0~DB7
三态
数据总线
RST
复位信号
复位信号有效时,关闭液晶显示,使显示起始行为0。
RST可跟MPU相连,由MPU控制;
也可直接接Vcc,使之不起作用。
(2)原理图
LCD12864接线原理图如下:
图3-13LCD12864接线图
3.6.测速模块
本系统采用对射式光电开关测速,通过两个对射式光电开关之间的距离,以及测量运动物体通过两个光电开关的次数,然后做除法而得到其平均速度的测速方法。
当无遮挡对射式光电开关时,红外对射式光电开关的接收端输出高电平信号,当有物体经过无遮挡时,对射式光电开关的接收端输出低电平信号。
其工作原理图如图所示。
图3-14光电开关工作原理图
由于光电开关输出的电压太低,本系统采用了8050三极管放大电路对输出信号进行放大。
电路图如图所示。
图3-15测速电路接线图
4.软件设计
4.1.主程序
图4-1主程序流程图
4.2.初始化模块程序设计
初始化模块主要是将程序中要进行初始化的各个子程序模块进行初始化,以便它们能正常工作,本系统中对测速模块、PWM输出模块和液晶显示模块进行了初始化,其子流程图如图4-2所示。
图4-2初始化模块流程图
图4-3初始化模块子程序
4.3.测速模块程序设计
测速模块中主要用到定时器T0和计数器T1来辅助测速,当定时器T0定时1秒钟后,用公式:
电机转速=(T1计数数值/每转脉冲数)*60对计数器T1里面的数据进行处理,从而得到电机的每分钟的转速,其流程图如图4-2所示。
图4-2测速模块流程图
其程序如下:
(1)定时器计数器初始化
voidmeasure_speed_init()
{
TMOD=0x51;
TH0=(65536-46080)/256;
TL0=(65536-46080)%256;
TH1=0;
TL1=0;
EA=1;
ET0=1;
ET1=1;
TR0=1;
TR1=1;
}
(2)测速函数,每分钟转速
voidmeasure_speed()
{
if(minute_flag==1)
{
TR1=0;
minute_flag=0;
TL1=0;
TH1=0;
TR1=1;
}
}
(3)T0定时中断服务程序
voidtimer0()interrupt1using1
timer0_num++;
if(timer0_num==20)
motor_speed=((TH1*256+TL1)/41.0)*60.0;
TL1=0;
timer0_num=0;
}
4.4.电机控制模块程序设计
电机控制模块主要判断电机状态是否有变化,如果有变化则更新电机的状态,其流程图与程序如下所示。
图4-3电机控制模块流程图
图4-4电机控制模块子程序
4.5.PWM程序设计
本系统采用STC12C5A芯片自带的PWM模块对电机的速度进行调节控制。
单片机产生PWM的程序如下:
sfrCCON=0xD8;
//PCA控制寄存器
sbitCCF0=CCON^0;
//PCAmodule-0中断标志
sbitCCF1=CCON^1;
//PCAmodule-1interruptflag
sbitCR=CCON^6;
//PCA定时器运行控制位
sbitCF=CCON^7;
//PCAtimeroverflowflag
sfrCMOD=0xD9;
//PCAmoderegister
sfrCL=0xE9;
//PCAbasetimerLOW
sfrCH=0xF9;
//PCAbasetimerHIGH
sfrCCAPM0=0xDA;
//PCAmodule-0moderegister
sfrCCAPM1=0xDB;
//PCAmodule-1moderegister
sfrPCAPWM0=0xf2;
sfrPCAPWM1=0xf3;
voidpwm_init()
CCON=0;
//InitialPCAcontrolregister
CL=0;
//ResetPCAbasetimer
CH=0;
CMOD=0x00;
//时钟源输入系统时钟/2
CCAP0H=CCAP0L=0xff;
//开通端口输出占空比为0%的方波
CCAPM0=0x42;
//PCAmodule-0工作在8位PWM模式没有PCA中断
CCAP1H=CCAP1L=0xff;
CCAPM1=0x42;
//PCAmodule-0
CR=1;
//PCA定时器启动运行
4.6.菜单程序设计
本系统提供多个菜单可供选择,方便使用者对直流电机闭环调速系统的控制。
提供的菜单有:
1)基本菜单:
通过按键能实现对电机正转、反转、停止状态的设定,显示电机当前档位和转速。
2)比例控制菜单:
通过按键能对电机的转速进行设定,并显示电机经比例控制后的实时转速,与设定转速进行对比。
3)PID控制菜单:
通过按键能对电机的转速进行设定,并显示电机经PID控制后的实时转速,与设定转速进行对比。
菜单程序如下:
#include"
MENU.h"
MEASURE_SPEED.h"
LCD12864.h"
L298n.h"
KEYSCAN.h"
unsignedcharcodetable[]="
0123456789"
;
unsignedchardisplay_motor_speed[]="
"
unsignedcharcodesan[]={0xc8,0xfd};
unsignedcharcodezheng[]={0xd5,0xfd};
unsignedcharcodemotor_state[][10]={"
电机"
"
一档"
档转"
二档"
三档"
};
//,"
调节日期"
调节小时"
调节分钟"
调节秒数"
voidmain_menu()
switch(flag1)
case0:
menu0();
break;
case1:
menu1();
case2:
menu2();
voidmenu0()
DisplayTextLCD12864(0,0,"
====电机监控===="
);
switch(flag2)
DisplayTextLCD12864(0,2,"
DisplayTextLCD12864(0,3,"
DisplayTextLCD12864(0,1,"
>
"
break;
DisplayTextLCD12864(1,1,"
状态:
switch(flag3)
DisplayTextLCD12864(4,1,"
停止"
+转"
反转"
DisplayTextLCD12864(1,2,"
档速:
switch(stall_flag)
DisplayTextLCD12864(4,2,"
0档"
1档"
2档"
case3:
3档"
DisplayTextLCD12864(1,3,"
转速:
getdisplaymotor_speed();
DisplayTextLCD12864(4,3,display_motor_speed);
4.7.按键程序设计
按键驱动函数放置于主函数的while大循环中,实现按键的实时检测。
voidmatrix_key(void)//按键检测子程序
if(key1==0)
{while(!
key1);
flagkey1=1;
while(!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 陈振潘 电力拖动自动控制系统课程设计报告 电力 拖动 自动控制系统 课程设计 报告