基于PID的直流电机速度控制系统设计实验报告.doc

上传人:仙人指路1688 文档编号:3938899 上传时间:2023-03-28 格式:DOC 页数:19 大小:412.50KB
返回 下载 相关 举报
基于PID的直流电机速度控制系统设计实验报告.doc_第1页
第1页 / 共19页
基于PID的直流电机速度控制系统设计实验报告.doc_第2页
第2页 / 共19页
基于PID的直流电机速度控制系统设计实验报告.doc_第3页
第3页 / 共19页
基于PID的直流电机速度控制系统设计实验报告.doc_第4页
第4页 / 共19页
基于PID的直流电机速度控制系统设计实验报告.doc_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《基于PID的直流电机速度控制系统设计实验报告.doc》由会员分享,可在线阅读,更多相关《基于PID的直流电机速度控制系统设计实验报告.doc(19页珍藏版)》请在三一办公上搜索。

1、基于PID的直流电机速度控制系统设计实验报告班级:姓名:学号:指导老师:张友旺中南大学机电工程学院基于PID的直流电机速度控制系统设计实验报告一、实验目的1. 熟练并掌握89C51、ADC0809等芯片的原理、硬件以及接线;2. 熟练89C51单片机的指令系统,完全掌握中断,子程序,查表程序等特殊语句的应用;3. 学习并掌握浮点数的原理及应用;4. 回顾机械工程控制基础的学习内容并掌握PID控制器的原理及用法;5. 锻炼自己发现并解决问题的能力,同时将课本知识应用于实践以得到更好的理解。二、实验原理1.闭环控制/开环控制对直流电机转速的控制有一般有两种方式,一种是开环控制,一种是闭环控制。开环

2、控制的优点是简单、稳定、可靠。若组成系统的元件特性和参数值比较稳定,且外界干扰较小,开环控制能够保持一定的精度。缺点是精度通常较低,无自动纠偏能力;闭环控制的优点是控制的精度可以达到很高,而且对外界的干扰和系统的参数变化有很好的抑制作用,且可以通过输出反馈控制系统的控制过程。缺点是存在稳定性,振荡,超调等一系列问题,对系统的性能分析和设计远比开环控制麻烦。经过利弊的取舍,本次试验选择的是闭环控制,因为准备应用PID算法控制电机的转速,故而需要有实际转速进行反馈与给定的转速形成对比,进而通过算法输出PWM波形来控制直流电机。2.调速方式本实验采用脉冲宽度(PWM)调速,PWM调速具有以下几种优点

3、:(1) 系统的响应速度以及稳定精度好;(2) 电流的脉动量小,容易连续,运行平稳;(3) 调速范围宽,抗噪性好;(4) 元件使用数少,线路简单。PWM的实现方式:将电机电压的通断转换为周期控制,用两个定时器T0,T1分别控制周期的时间和电压通的时间,从而调节电机的平均电压,以达到对电机电压大小的控制。PWM波的高电平,由T1确定占空比PWM波的周期,由定时器T0定时确定3测速方式测速的传感器用的是光电编码器,它的原理是电动机的转动带动码盘的转动,码盘上有很多缝隙,缝隙每经过红外管一次就会产生一个脉冲,进而通过专门的芯片得到转动的频率。4. PID控制方法 模拟PID控制算法表达式: 数字PI

4、D控制算法表达式(位置式):其中:u(t),为控制器的输出信号;,为偏差信号;为比例系数;为积分时间常数;为微分时间常数。三、实验内容1.系统结构(1)系统方框图e(t)PWM输出直流电机PIDu(t)测速装置(2)流程图直流电机传感器测速PWM输出PID运算A/D转换F/V转换2.硬件部分及接线(1)ADC0809接线单片机最小应用系统的 P0口JD4F接A/D转换的D0D7口JD10H,单片机最小应用系统的Q0Q7口JD7F接0809的A0A7口JD11H,单片机最小应用系统的WR、RD、P2.0、ALE、INT1分别接A/D转换的WR、RD、CS-0809、CLK、EOC。A/D转换的+

5、Vref接+5V电源,AIN0接可调电源模块A2区的输出端(AIN0也可在程序运行之后接),单片机最小应用系统的RXD、TXD分别接串行静态显示的DIN、CLK。(2)电机接线单片机的P1.0接电机的control口。3.软件部分(1)A/D转换值显示部分见后面附录程序中的A/D转换及显示子程序(XS)。注意:该程序采用的是用RLC A等语句实现的串行通信,若使用MOV SBUF ,A等语句实现串行通信,则需要改动表格中数据。这是因为RLC A等语句实现的串行通信是数据的高位在前,低位在后;而MOV SBUF ,A等语句实现的串行通信正好与之相反,低位在前,高位在后。(2)PID运算程序见后面

6、附录程序中的PID调节子程序(PID)。注意:此处采用位置式方程,并且使用双字节浮点数计算,以提高精度。(3)PWM输出程序见后面附录程序中的PWM的参数求解子程序(PWM)以及主程序中T0,T1中断语句。注意:此处采用双字节浮点数计算,以提高精度。(4)加减乘除子程序见后面附录程序中的浮点数运算子程序部分。 注意:此处都是有符号双字节浮点数。四、实验结果及感想经过两星期的编程和调试后,虽然中途出现了很多障碍,但是最终还是实现了直流电机的速度控制,使其可以调到速度范围内任意想要的速度,完成了实验任务。这次试验,不仅加深了我对单片机的硬件结构和指令系统的认识,巩固了过去所学的机械工程控制基础方面

7、的知识,更重要的是让我学到了从课本上学不到的东西。我大学里的知识大部分都来源于课堂和书本,基本上都是一知半解,根本没有学会灵活的应用知识。而通过这次试验,在将知识应用于实践的过程中,我发现问题并解决问题,不断的加深对知识的认识,从而真正的掌握了解决问题的能力。附录:程序源代码;主程序 ;单片机最小应用系统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接入05V可调电压,+VR

8、EF接+5V ;P3.0,P3.1连接到串行静态显示实验模块的DIN、CLK。DBUF0EQU30H ;显示第一位的缓冲地址 TEMPEQU40H MAX EQU 6CH ;电动机最大的工作频率 UA EQU 6DH ;给定的A/D转换值 UB EQU 6EH ;实际的A/D转换值 A0 EQU 60H ;比例系数A0 A1 EQU 63H ;积分系数A1 A2 EQU 66H ;微分系数A2 TH11 EQU 5EH ;TH1的值TL11 EQU 5FH ;TL1的值 ORG 0000H LJMP STARTORG 000BHLJMPINT0_P ORG001BHLJMP INT1_P OR

9、G 0100HSTART: MOV A0, #22H ;给A0赋值 MOV 61H,#10H ;4 MOV 62H,#7FH MOV A1,#00H ;给A1赋值 MOV 64H,#10H ;0 MOV 65H,#7FH MOV A2, #00H ;给A2赋值 MOV 66H,#00H ;0 MOV 67H,#00H MOV UA,#10H ;给定期望值 MOV 6FH,#20 ;扫描周期为20ms MOV 50H,#05H ;给U(K-1)赋值 MOV 51H,#00H ;5 MOV 52H,#00HMOV R1,#6MOV R0,#56HLOOP1: MOV R0,#01H INC R0

10、DJNZ R1,LOOP1 ;给e(k-1)和e(k-2)赋零 MOV UA,#022H ;给定电动机的频率MOV TMOD,#11H MOV TH0,#0FCHMOV TL0,#18H MOV TH1,#0MOV TL1,#0 MOV TH11,#0FFH ;控制高电平时间ton,即占空比 MOV TL11,#29HSETB TR0 SETB TR1 SETB EA SETB ET0 SETB ET1LOOP2: MOV A,6FH JNZ DSQ MOV 35H,#11H;灭不需要的显示位 MOV 36H,#11H MOV 37H,#11H MOVR0,#DBUF0 MOVR0,#0AHI

11、NCR0MOVR0,#0DH INC R0 MOV R0,#11H INC R0MOVDPTR,#0FEF0H;A/D MOV A,#0MOVXDPTR,AWAIT: JB P3.3,WAIT MOVXA,DPTR ;读入结果 MOVP1,A MOVB,A MOV UB,A ;将实际频率存入UB中SWAPA ANL A,#0FH XCHA,R0INCR0MOVA,B ANL A,#0FHXCHA,R0 LCALLDISP1 ; ACALL DELAY LCALL PID ;调用PID程序 LCALL PWM ;调用PWM程序 MOV 6FH,#20DSQ: AJMPLOOP2 ;20ms进行一

12、次调速DISP1: MOVR0,#DBUF0 MOVR1,#TEMP MOVR2,#8DP10: MOVDPTR,#SEGTAB MOVA,R0 MOVCA,A+DPTR MOVR1,A INCR0 INCR1 DJNZR2,DP10 MOVR0,#TEMP MOVR1,#8DP12: MOVR2,#8 MOVA,R0DP13: RLCA MOV0B0H,C CLR0B1H SETB0B1H DJNZR2,DP13 INCR0 DJNZR1,DP12 RETSEGTAB: DB3FH,6,5BH,4FH,66H,6DH ;0,1,2,3,4,5 DB7DH,7,7FH,6FH,77H,7CH

13、;6,7,8,9,A,B DB58H,5EH,79H,71H,0,00H ;C,D,E,F,-DELAY: MOV R4,#0FFH ;延时程序AA1: MOV R5,#0FFHAA: NOP NOP DJNZ R5,AA DJNZ R4,AA1 RET;PWM T0中断INT0_P: MOV TH0,#0FCH MOV TL0,#18H MOV TH1,TH11 MOV TL1,TL11 SETB P1.0 SETB P1.2 SETB TR1 MOV A,6FH JZ LOOP11 DEC 6FH ;20ms计时LOOP11: NOP RETI;PWM T1中断INT1_P: CLR P1

14、.0 CLR P1.2 CLR TR1 NOP RETI;PID调节PID: MOV UA,#66HMOV UB,#44H CLR C MOV A,UA SUBB A,UB ;计算e(k) MOV R2,A ;将e(k)转换成浮点数 MOV R3,#00H ACALL SFF2 MOV 53H,R2 MOV 54H,R3 MOV 55H,R6 MOV R1,73H MOV R4,63H ;求u(k)并覆盖u(k-1) MOV R5,64H MOV R7,65H MOV R2,56H MOV R3,57H MOV R6,58H ACALL SFDUM MOV R4,75HMOV R5,76H M

15、OV 2DH,R4 MOV 2EH,R5 MOV 2FH,R7 MOV R1,73H MOV R4,60H MOV R5,61H MOV R7,62H MOV R2,53H MOV R3,54H MOV R6,55H ACALL SFDUM MOV R4,75H MOV R5,76H MOV R2,2DH MOV R3,2EH MOV R6,2FH ACALL SFDUS MOV 2DH,R4 MOV 2EH,R5 MOV 2FH,R7 MOV R1,73H MOV R4,66H MOV R5,67H MOV R7,68H MOV R2,59H MOV R3,5AH MOV R6,5BH AC

16、ALL SFDUM MOV R4,75HMOV R5,76H MOV R2,2DH MOV R3,2EH MOV R6,2FH ACALL SFDUA MOV R2,50H MOV R3,51H MOV R6,52H ACALL SFDUA MOV 50H,R4 MOV 51H,R5 MOV 52H,R7 MOV 59H,56H ;用e(k-1)覆盖e(k-2) MOV 5AH,57H MOV 5BH,58H MOV 56H,53H ;用e(k)覆盖e(k-1) MOV 57H,54H MOV 58H,55H RET;PWM的参数求解PWM:MOV A,51H ;判断U(K)的正负JB ACC

17、.7,LOOP9 MOV A,52H JB ACC.7,LOOP9 MOV A,#16 SUBB A,R7 MOV R7,ALOOP7: CLR C MOV A,R5 RRC AMOV R5,A MOV A,R4 RRC AMOV R4,A DJNZ R7,LOOP7 CLR CMOV A,#0FFH;计算T1初值 SUBB A,R5 MOV TH11,A MOV A,#0FFH SUBB A,R4 MOV TL11,AAJMP LOOP10LOOP9: MOV TH11,#0FCH MOV TL11,#29HLOOP10: RET;P14 1.9.2 双字节二进制定点数到浮点数的转换;入口R

18、3R2SFF2: MOV R6,#10HMOV 20H,R3JB 07H,SEGLP0: JB 06H,LP1LCALL LSTMOV 20H,R3AJMP LP0SEG: JNB 06H,LP1;负LCALL LSTMOV 20H,R3AJMP SEGLP1: RETLST: CLR CXCH A,R2RLC AXCH A,R2XCH A,R3RLC AXCH A,R3DEC R6RET;出口R6 R3R2;P51 4.1.3 双字节二进制浮点数加法,R7R5R4+R6R3R2=R7R5R4SFDUA: ACALL SJJ;参见2.6.3(对阶)ACALL AD5432;参见程序一(尾数相加

19、)JNB OV,SONACALL RST77;参见程序一(右规)RETSON: ACALL SLST2;参见2.5.3RET;P49 4.1.1 双字节无符号数加法-子程序AD5432: MOV A,R4;尾数相加 ADD A,R2MOV R4,AMOV A,R5ADDC A,R3MOV R5,ARET;P55 4.2.3 双字节有符号数减法,R7R5R4-R6R3R2=R7R5R4SFDUS: LCALL SJJ;参见2.6.3(对阶)LCALL SU5432;参见程序一(尾数相减)JB OV,LPSLCALL SLST2;参见2.5.3(左规)RETLPS: MOV A,R5 JNB 0E

20、7H,LEKCLR CAJMP LPELEK: SETB CLPE: LCALL RST77;参见4.1.1(右规)RET;P27 2.6.3 二进制浮点数对阶SJJ: MOV A,R6XRL A,R7JZ RET1CLR CMOV A,R7SUBB A,R6JB 0E7H,SRSH7LCALL SRST6AJMP SJJSRSH7: LCALL SRST7 AJMP SJJRET1: RETSRST6: MOV A,R3JB 0E7H,LPS0;右规CLR CAJMP LPS1LPS0: SETB CLPS1: RRC AMOV R3,AMOV A,R2RRC AMOV R2,AINC R6

21、RETSRST7: MOV A,R5JB 0E7H,LPS00CLR CAJMP LPS11LPS00: SETB CLPS11: RRC AMOV R5,AMOV A,R4RRC AMOV R4,AINC R7RET;P53 4.2.1 双字节无符号数减法-子程序SU5432: CLR CMOV A,R4SUBB A,R2MOV R4,AMOV A,R5SUBB A,R3MOV R5,ARET;P23 2.5.3双字节有符号数左规SLST2: MOV 20H,R5JB 07H,SEGALPSS0: JB 06H,LPSS1;正LCALL LSTBMOV 20H,R5AJMP LPSS0SEG

22、A: JNB 06H,LPSS1LCALL LSTBMOV 20H,R5AJMP SEGALPSS1: RETLSTB: CLR CXCH A,R4RLC AXCH A,R4XCH A,R5RLC AXCH A,R5DEC R7RET;P49 4.1.1 二进制浮点数加法-子程序-右规RST77: MOV A,R5RRC AMOV R5,AMOV A,R4RRC AMOV R4,AINC R7RET;P59 4.3.3 双字节浮点数有符号数乘法,R7R5R4 X R6R3R2 =R7 R1四位SFDUM: ACALL SLST2;参见2.5.3(左规) ACALL SLST32;左规MOV A

23、,R7ADD A,R6MOV 21H,AACALL SDUMUL;参见3.3.4MOV R7,21HMOV A,R1;积左规ADD A,#04HMOV R0,AMOV 7AH,AMOV A,R7MOV R0,APOP 0E0HMOV R2,#04HACALL SMLST;参见2.5.4(左规)PUSH 0E0HMOV A,R0MOV R7,AMOV A,7AHRETSLST32: MOV 20H,R3;左规 JB 07H,SAEGLCP0: JB 06H,LCP1ACALL LSTMOV 20H,R3SJMP LCP0SAEG: JNB 06H,LCP1ACALL LASTMOV 20H,R3

24、SJMP SAEGLCP1: RETLAST: CLR CMOV A,R2RLC AMOV R2,AMOV A,R3RLC AMOV R3,ADEC R6RET;P37 3.3.4 双字节有符号二进制定点数乘法SDUMUL: MOV A,R5;求被乘数符号ANL A,#80HMOV R6,AJZ NEG32NEG54: MOV A,R4CPL AADD A,#01HMOV R4,AMOV A,R5CPL AADDC A,#00HMOV R5,ANEG32: MOV A,R3;求乘数符号ANL A,#80HMOV R7,AJZ DDUMULMOV A,R2;乘数求补CPL AADD A,#01H

25、MOV R2,AMOV A,R3CPL AADDC A,#00HMOV R3,ADDUMUL: MOV A,R6;求积的符号XRL A,R7MOV 20H,AACALL DUMUL;参见程序一JNB 07H,RETURNNEG4: MOV R7,#04H;积求补SETB CLDP: MOV A,R1CPL AADDC A,#00HMOV R1,AINC R1DJNZ R7,LDPMOV A,R6MOV R1,ARETURN: RET;P33 3.3.1 二进制定点数双字节无符号数乘法DUMUL: MOV A,R1MOV R6,AMOV R7,#04HCLEAR: MOV R1,#00HINC

26、R1DJNZ R7,CLEARMOV A,R6MOV R1,AMM: MOV A,R2MOV B,R4MUL ABACALL ADDMMOV A,R2MOV B,R5MUL ABACALL ADDMMOV A,R3MOV B,R4MUL ABDEC R1ACALL ADDMMOV A,R3MOV B,R5MUL ABACALL ADDMMOV A,R6MOV R1,ARETADDM: ADD A,R1MOV R1,AMOV A,BINC R1ADDC A,R1MOV R1,AINC R1MOV A,R1ADDC A,#00HMOV R1,ADEC R1RET;P24 2.5.4 多字节有符号浮

27、点数左规SMLST: MOV A,R0MOV R1,AMOV A,R2;求尾数位数MOV B,#08HMUL ABDEC AMOV R3,ADEC R1MOV 20H,R1JB 07H,SEEGLEP0: JB 06H,LEP2;正ACALL LADACALL LESTDJNZ R3,LEP0AJMP LEP2SEEG: JNB 06H,LEP2;负ACALL LADACALL LESTDJNZ R3,SEEGLEP2: RETLAD: INC R1;求尾数低位字节地址指针MOV A,R1CLR CSUBB A,R2MOV R1,ARETLEST: MOV A,R2;左规MOV R4,ACLR CLEP1: MOV A,R1RLC AMOV R1,AINC R1DJNZ R4,LEP1DEC R0DEC R1MOV 20H,R1RET END

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号