基于PID的直流电机速度控制系统设计实验报告.docx
- 文档编号:8449238
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:24
- 大小:318.04KB
基于PID的直流电机速度控制系统设计实验报告.docx
《基于PID的直流电机速度控制系统设计实验报告.docx》由会员分享,可在线阅读,更多相关《基于PID的直流电机速度控制系统设计实验报告.docx(24页珍藏版)》请在冰豆网上搜索。
基于PID的直流电机速度控制系统设计实验报告
基于PID的直流电机速度控制系统设计实验报告
班级:
姓名:
学号:
指导老师:
张友旺
中南大学机电工程学院
基于PID的直流电机速度控制系统设计实验报告
一、实验目的
1.熟练并掌握89C51、ADC0809等芯片的原理、硬件以及接线;
2.熟练89C51单片机的指令系统,完全掌握中断,子程序,查表程序等特殊语句的应用;
3.学习并掌握浮点数的原理及应用;
4.回顾《机械工程控制基础》的学习内容并掌握PID控制器的原理及用法;
5.锻炼自己发现并解决问题的能力,同时将课本知识应用于实践以得到更好的理解。
二、实验原理
1.闭环控制/开环控制
对直流电机转速的控制有一般有两种方式,一种是开环控制,一种是闭环控制。
开环控制的优点是简单、稳定、可靠。
若组成系统的元件特性和参数值比较稳定,且外界干扰较小,开环控制能够保持一定的精度。
缺点是精度通常较低,无自动纠偏能力;闭环控制的优点是控制的精度可以达到很高,而且对外界的干扰和系统的参数变化有很好的抑制作用,且可以通过输出反馈控制系统的控制过程。
缺点是存在稳定性,振荡,超调等一系列问题,对系统的性能分析和设计远比开环控制麻烦。
经过利弊的取舍,本次试验选择的是闭环控制,因为准备应用PID算法控制电机的转速,故而需要有实际转速进行反馈与给定的转速形成对比,进而通过算法输出PWM波形来控制直流电机。
2.调速方式
本实验采用脉冲宽度(PWM)调速,PWM调速具有以下几种优点:
(1)系统的响应速度以及稳定精度好;
(2)电流的脉动量小,容易连续,运行平稳;
(3)调速范围宽,抗噪性好;
(4)元件使用数少,线路简单。
PWM的实现方式:
将电机电压的通断转换为周期控制,用两个定时器T0,T1分别控制周期的时间和电压通的时间,从而调节电机的平均电压,以达到对电机电压大小的控制。
3.测速方式
测速的传感器用的是光电编码器,它的原理是电动机的转动带动码盘的转动,码盘上有很多缝隙,缝隙每经过红外管一次就会产生一个脉冲,进而通过专门的芯片得到转动的频率。
4.PID控制方法
模拟PID控制算法表达式:
数字PID控制算法表达式(位置式):
其中:
u(t),
,
为控制器的输出信号;
,
,
为偏差信号;
为比例系数;
为积分时间常数;
为微分时间常数。
三、实验内容
1.系统结构
(1)系统方框图
u(t)
(2)流程图
2.硬件部分及接线
(1)ADC0809接线
单片机最小应用系统的P0口JD4F接A/D转换的D0~D7口JD10H,单片机最小应用系统的Q0~Q7口JD7F接0809的A0~A7口JD11H,单片机最小应用系统的WR、RD、P2.0、ALE、INT1分别接A/D转换的WR、RD、CS-0809、CLK、EOC。
A/D转换的+Vref接+5V电源,AIN0接可调电源模块A2区的输出端(AIN0也可在程序运行之后接),单片机最小应用系统的RXD、TXD分别接串行静态显示的DIN、CLK。
(2)电机接线
单片机的P1.0接电机的control口。
3.软件部分
(1)A/D转换值显示部分
见后面附录程序中的A/D转换及显示子程序(XS)。
注意:
该程序采用的是用RLCA等语句实现的串行通信,若使用MOVSBUF,A等语句实现串行通信,则需要改动表格中数据。
这是因为RLCA等语句实现的串行通信是数据的高位在前,低位在后;而MOVSBUF,A等语句实现的串行通信正好与之相反,低位在前,高位在后。
(2)PID运算程序
见后面附录程序中的PID调节子程序(PID)。
注意:
此处采用位置式方程,并且使用双字节浮点数计算,以提高精度。
(3)PWM输出程序
见后面附录程序中的PWM的参数求解子程序(PWM)以及主程序中T0,T1中断语句。
注意:
此处采用双字节浮点数计算,以提高精度。
(4)加减乘除子程序
见后面附录程序中的浮点数运算子程序部分。
注意:
此处都是有符号双字节浮点数。
四、实验结果及感想
经过两星期的编程和调试后,虽然中途出现了很多障碍,但是最终还是实现了直流电机的速度控制,使其可以调到速度范围内任意想要的速度,完成了实验任务。
这次试验,不仅加深了我对单片机的硬件结构和指令系统的认识,巩固了过去所学的《机械工程控制基础》方面的知识,更重要的是让我学到了从课本上学不到的东西。
我大学里的知识大部分都来源于课堂和书本,基本上都是一知半解,根本没有学会灵活的应用知识。
而通过这次试验,在将知识应用于实践的过程中,我发现问题并解决问题,不断的加深对知识的认识,从而真正的掌握了解决问题的能力。
附录:
程序源代码
;主程序
;单片机最小应用系统1的P0口接0809的JD15口,
;单片机最小应用系统1的Q0口接0809的JD16,
;单片机最小应用系统1的ALE、P2.0、P3.3、P3.6、P3.7分别
;接0809的clk0809、cs-0809、EOC、WR、RD,
;0809的模拟信号输入口AIN0接入0~5V可调电压,+VREF接+5V
;P3.0,P3.1连接到串行静态显示实验模块的DIN、CLK。
DBUF0EQU30H;显示第一位的缓冲地址
TEMPEQU40H
MAXEQU6CH;电动机最大的工作频率
UAEQU6DH;给定的A/D转换值
UBEQU6EH;实际的A/D转换值
A0EQU60H;比例系数A0
A1EQU63H;积分系数A1
A2EQU66H;微分系数A2
TH11EQU5EH;TH1的值
TL11EQU5FH;TL1的值
ORG0000H
LJMPSTART
ORG000BH
LJMPINT0_P
ORG001BH
LJMPINT1_P
ORG0100H
START:
MOVA0,#22H;给A0赋值
MOV61H,#10H;4
MOV62H,#7FH
MOVA1,#00H;给A1赋值
MOV64H,#10H;0
MOV65H,#7FH
MOVA2,#00H;给A2赋值
MOV66H,#00H;0
MOV67H,#00H
MOVUA,#10H;给定期望值`
MOV6FH,#20;扫描周期为20ms
MOV50H,#05H;给U(K-1)赋值
MOV51H,#00H;5
MOV52H,#00H
MOVR1,#6
MOVR0,#56H
LOOP1:
MOV@R0,#01H
INCR0
DJNZR1,LOOP1;给e(k-1)和e(k-2)赋零
MOVUA,#022H;给定电动机的频率
MOVTMOD,#11H
MOVTH0,#0FCH
MOVTL0,#18H
MOVTH1,#0
MOVTL1,#0
MOVTH11,#0FFH;控制高电平时间ton,即占空比
MOVTL11,#29H
SETBTR0
SETBTR1
SETBEA
SETBET0
SETBET1
LOOP2:
MOVA,6FH
JNZDSQ
MOV35H,#11H;灭不需要的显示位
MOV36H,#11H
MOV37H,#11H
MOVR0,#DBUF0
MOV@R0,#0AH
INCR0
MOV@R0,#0DH
INCR0
MOV@R0,#11H
INCR0
MOVDPTR,#0FEF0H;A/D
MOVA,#0
MOVX@DPTR,A
WAIT:
JBP3.3,WAIT
MOVXA,@DPTR;读入结果
MOVP1,A
MOVB,A
MOVUB,A;将实际频率存入UB中
SWAPA
ANLA,#0FH
XCHA,@R0
INCR0
MOVA,B
ANLA,#0FH
XCHA,@R0
LCALLDISP1
;ACALLDELAY
LCALLPID;调用PID程序
LCALLPWM;调用PWM程序
MOV6FH,#20
DSQ:
AJMPLOOP2;20ms进行一次调速
DISP1:
MOVR0,#DBUF0
MOVR1,#TEMP
MOVR2,#8
DP10:
MOVDPTR,#SEGTAB
MOVA,@R0
MOVCA,@A+DPTR
MOV@R1,A
INCR0
INCR1
DJNZR2,DP10
MOVR0,#TEMP
MOVR1,#8
DP12:
MOVR2,#8
MOVA,@R0
DP13:
RLCA
MOV0B0H,C
CLR0B1H
SETB0B1H
DJNZR2,DP13
INCR0
DJNZR1,DP12
RET
SEGTAB:
DB3FH,6,5BH,4FH,66H,6DH;0,1,2,3,4,5
DB7DH,7,7FH,6FH,77H,7CH;6,7,8,9,A,B
DB58H,5EH,79H,71H,0,00H;C,D,E,F,-
DELAY:
MOVR4,#0FFH;延时程序
AA1:
MOVR5,#0FFH
AA:
NOP
NOP
DJNZR5,AA
DJNZR4,AA1
RET
;PWMT0中断
INT0_P:
MOVTH0,#0FCH
MOVTL0,#18H
MOVTH1,TH11
MOVTL1,TL11
SETBP1.0
SETBP1.2
SETBTR1
MOVA,6FH
JZLOOP11
DEC6FH;20ms计时
LOOP11:
NOP
RETI
;PWMT1中断
INT1_P:
CLRP1.0
CLRP1.2
CLRTR1
NOP
RETI
;PID调节
PID:
MOVUA,#66H
MOVUB,#44H
CLRC
MOVA,UA
SUBBA,UB;计算e(k)
MOVR2,A;将e(k)转换成浮点数
MOVR3,#00H
ACALLSFF2
MOV53H,R2
MOV54H,R3
MOV55H,R6
MOV@R1,73H
MOVR4,63H;求u(k)并覆盖u(k-1)
MOVR5,64H
MOVR7,65H
MOVR2,56H
MOVR3,57H
MOVR6,58H
ACALLSFDUM
MOVR4,75H
MOVR5,76H
MOV2DH,R4
MOV2EH,R5
MOV2FH,R7
MOV@R1,73H
MOVR4,60H
MOVR5,61H
MOVR7,62H
MOVR2,53H
MOVR3,54H
MOVR6,55H
ACALLSFDUM
MOVR4,75H
MOVR5,76H
MOVR2,2DH
MOVR3,2EH
MOVR6,2FH
ACALLSFDUS
MOV2DH,R4
MOV2EH,R5
MOV2FH,R7
MOV@R1,73H
MOVR4,66H
MOVR5,67H
MOVR7,68H
MOVR2,59H
MOVR3,5AH
MOVR6,5BH
ACALLSFDUM
MOVR4,75H
MOVR5,76H
MOVR2,2DH
MOVR3,2EH
MOVR6,2FH
ACALLSFDUA
MOVR2,50H
MOVR3,51H
MOVR6,52H
ACALLSFDUA
MOV50H,R4
MOV51H,R5
MOV52H,R7
MOV59H,56H;用e(k-1)覆盖e(k-2)
MOV5AH,57H
MOV5BH,58H
MOV56H,53H;用e(k)覆盖e(k-1)
MOV57H,54H
MOV58H,55H
RET
;PWM的参数求解
PWM:
MOVA,51H;判断U(K)的正负
JBACC.7,LOOP9
MOVA,52H
JBACC.7,LOOP9
MOVA,#16
SUBBA,R7
MOVR7,A
LOOP7:
CLRC
MOVA,R5
RRCA
MOVR5,A
MOVA,R4
RRCA
MOVR4,A
DJNZR7,LOOP7
CLRC
MOVA,#0FFH;计算T1初值
SUBBA,R5
MOVTH11,A
MOVA,#0FFH
SUBBA,R4
MOVTL11,A
AJMPLOOP10
LOOP9:
MOVTH11,#0FCH
MOVTL11,#29H
LOOP10:
RET
;P141.9.2双字节二进制定点数到浮点数的转换
;入口R3R2
SFF2:
MOVR6,#10H
MOV20H,R3
JB07H,SEG
LP0:
JB06H,LP1
LCALLLST
MOV20H,R3
AJMPLP0
SEG:
JNB06H,LP1;负
LCALLLST
MOV20H,R3
AJMPSEG
LP1:
RET
LST:
CLRC
XCHA,R2
RLCA
XCHA,R2
XCHA,R3
RLCA
XCHA,R3
DECR6
RET
;出口R6R3R2
;P514.1.3双字节二进制浮点数加法,R7R5R4+R6R3R2=R7R5R4
SFDUA:
ACALLSJJ;参见2.6.3(对阶)
ACALLAD5432;参见程序一(尾数相加)
JNBOV,SON
ACALLRST77;参见程序一(右规)
RET
SON:
ACALLSLST2;参见2.5.3
RET
;P494.1.1双字节无符号数加法-子程序
AD5432:
MOVA,R4;尾数相加
ADDA,R2
MOVR4,A
MOVA,R5
ADDCA,R3
MOVR5,A
RET
;P554.2.3双字节有符号数减法,R7R5R4-R6R3R2=R7R5R4
SFDUS:
LCALLSJJ;参见2.6.3(对阶)
LCALLSU5432;参见程序一(尾数相减)
JBOV,LPS
LCALLSLST2;参见2.5.3(左规)
RET
LPS:
MOVA,R5
JNB0E7H,LEK
CLRC
AJMPLPE
LEK:
SETBC
LPE:
LCALLRST77;参见4.1.1(右规)
RET
;P272.6.3二进制浮点数对阶
SJJ:
MOVA,R6
XRLA,R7
JZRET1
CLRC
MOVA,R7
SUBBA,R6
JB0E7H,SRSH7
LCALLSRST6
AJMPSJJ
SRSH7:
LCALLSRST7
AJMPSJJ
RET1:
RET
SRST6:
MOVA,R3
JB0E7H,LPS0;右规
CLRC
AJMPLPS1
LPS0:
SETBC
LPS1:
RRCA
MOVR3,A
MOVA,R2
RRCA
MOVR2,A
INCR6
RET
SRST7:
MOVA,R5
JB0E7H,LPS00
CLRC
AJMPLPS11
LPS00:
SETBC
LPS11:
RRCA
MOVR5,A
MOVA,R4
RRCA
MOVR4,A
INCR7
RET
;P534.2.1双字节无符号数减法-子程序
SU5432:
CLRC
MOVA,R4
SUBBA,R2
MOVR4,A
MOVA,R5
SUBBA,R3
MOVR5,A
RET
;P232.5.3双字节有符号数左规
SLST2:
MOV20H,R5
JB07H,SEGA
LPSS0:
JB06H,LPSS1;正
LCALLLSTB
MOV20H,R5
AJMPLPSS0
SEGA:
JNB06H,LPSS1
LCALLLSTB
MOV20H,R5
AJMPSEGA
LPSS1:
RET
LSTB:
CLRC
XCHA,R4
RLCA
XCHA,R4
XCHA,R5
RLCA
XCHA,R5
DECR7
RET
;P494.1.1二进制浮点数加法-子程序-右规
RST77:
MOVA,R5
RRCA
MOVR5,A
MOVA,R4
RRCA
MOVR4,A
INCR7
RET
;P594.3.3双字节浮点数有符号数乘法,R7R5R4XR6R3R2=R7@R1四位
SFDUM:
ACALLSLST2;参见2.5.3(左规)
ACALLSLST32;左规
MOVA,R7
ADDA,R6
MOV21H,A
ACALLSDUMUL;参见3.3.4
MOVR7,21H
MOVA,R1;积左规
ADDA,#04H
MOVR0,A
MOV7AH,A
MOVA,R7
MOV@R0,A
POP0E0H
MOVR2,#04H
ACALLSMLST;参见2.5.4(左规)
PUSH0E0H
MOVA,@R0
MOVR7,A
MOVA,7AH
RET
SLST32:
MOV20H,R3;左规
JB07H,SAEG
LCP0:
JB06H,LCP1
ACALLLST
MOV20H,R3
SJMPLCP0
SAEG:
JNB06H,LCP1
ACALLLAST
MOV20H,R3
SJMPSAEG
LCP1:
RET
LAST:
CLRC
MOVA,R2
RLCA
MOVR2,A
MOVA,R3
RLCA
MOVR3,A
DECR6
RET
;P373.3.4双字节有符号二进制定点数乘法
SDUMUL:
MOVA,R5;求被乘数符号
ANLA,#80H
MOVR6,A
JZNEG32
NEG54:
MOVA,R4
CPLA
ADDA,#01H
MOVR4,A
MOVA,R5
CPLA
ADDCA,#00H
MOVR5,A
NEG32:
MOVA,R3;求乘数符号
ANLA,#80H
MOVR7,A
JZDDUMUL
MOVA,R2;乘数求补
CPLA
ADDA,#01H
MOVR2,A
MOVA,R3
CPLA
ADDCA,#00H
MOVR3,A
DDUMUL:
MOVA,R6;求积的符号
XRLA,R7
MOV20H,A
ACALLDUMUL;参见程序一
JNB07H,RETURN
NEG4:
MOVR7,#04H;积求补
SETBC
LDP:
MOVA,@R1
CPLA
ADDCA,#00H
MOV@R1,A
INCR1
DJNZR7,LDP
MOVA,R6
MOVR1,A
RETURN:
RET
;P333.3.1二进制定点数双字节无符号数乘法
DUMUL:
MOVA,R1
MOVR6,A
MOVR7,#04H
CLEAR:
MOV@R1,#00H
INCR1
DJNZR7,CLEAR
MOVA,R6
MOVR1,A
MM:
MOVA,R2
MOVB,R4
MULAB
ACALLADDM
MOVA,R2
MOVB,R5
MULAB
ACALLADDM
MOVA,R3
MOVB,R4
MULAB
DECR1
ACALLADDM
MOVA,R3
MOVB,R5
MULAB
ACALLADDM
MOVA,R6
MOVR1,A
RET
ADDM:
ADDA,@R1
MOV@R1,A
MOVA,B
INCR1
ADDCA,@R1
MOV@R1,A
INCR1
MOVA,@R1
ADDCA,#00H
MOV@R1,A
DECR1
RET
;P242.5.4多字节有符号浮点数左规
SMLST:
MOVA,R0
MOVR1,A
MOVA,R2;求尾数位数
MOVB,#08H
MULAB
DECA
MOVR3,A
DECR1
MOV20H,@R1
JB07H,SEEG
LEP0:
JB06H,LEP2;正
ACALLLAD
ACALLLEST
DJNZR3,LEP0
AJMPLEP2
SEEG:
JNB06H,LEP2;负
ACALLLAD
ACALLLEST
DJNZR3,SEEG
LEP2:
RET
LAD:
INCR1;求尾数低位字节地址指针
MOVA,R1
CLRC
SUBBA,R2
MOVR1,A
RET
LEST:
MOVA,R2;左规
MOVR4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 PID 直流电机 速度 控制系统 设计 实验 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)