基于PID的直流电机速度控制系统设计实验报告.docx
- 文档编号:30263080
- 上传时间:2023-08-13
- 格式:DOCX
- 页数:28
- 大小:317.01KB
基于PID的直流电机速度控制系统设计实验报告.docx
《基于PID的直流电机速度控制系统设计实验报告.docx》由会员分享,可在线阅读,更多相关《基于PID的直流电机速度控制系统设计实验报告.docx(28页珍藏版)》请在冰豆网上搜索。
基于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:
MOVR0,#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
MOVR0,#0AH
INCR0
MOVR0,#0DH
INCR0
MOVR0,#11H
INCR0
MOVDPTR,#0FEF0H;A/D
MOVA,#0
MOVXDPTR,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
MOVR1,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
MOVR1,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
MOVR1,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
MOVR1,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=R7R1四位
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
MOVR0,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
MOVR1,A
INCR1
DJNZR7,LDP
MOVA,R6
MOVR1,A
RETURN:
RET
;P333.3.1二进制定点数双字节无符号数乘法
DUMUL:
MOVA,R1
MOVR6,A
MOVR7,#04H
CLEAR:
MOVR1,#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
MOVR1,A
MOVA,B
INCR1
ADDCA,R1
MOVR1,A
INCR1
MOVA,R1
ADDCA,#00H
MOVR1,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,A
CLRC
LEP1:
MOVA,R1
RLCA
MOVR1,A
INCR1
DJNZR4,LEP1
DECR0
DECR1
MOV20H,R1
RET
END
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 PID 直流电机 速度 控制系统 设计 实验 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)