版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于PID直流电机速度控制系统设计实验报告班级:姓名:学号:指引教师:张友旺中南大学机电工程学院基于PID直流电机速度控制系统设计实验报告一、实验目纯熟并掌握89C51、ADC0809等芯片原理、硬件以及接线;纯熟89C51单片机指令系统,完全掌握中断,子程序,查表程序等特殊语句应用;学习并掌握浮点数原理及应用;回顾《机械工程控制基本》学习内容并掌握PID控制器原理及用法;锻炼自己发现并解决问题能力,同步将课本知识应用于实践以得到更好理解。二、实验原理1.闭环控制/开环控制对直流电机转速控制有普通有两种方式,一种是开环控制,一种是闭环控制。开环控制长处是简朴、稳定、可靠。若构成系统元件特性和参数值比较稳定,且外界干扰较小,开环控制可以保持一定精度。缺陷是精度普通较低,无自动纠偏能力;闭环控制长处是控制精度可以达到很高,并且对外界干扰和系统参数变化有较好抑制作用,且可以通过输出反馈控制系统控制过程。缺陷是存在稳定性,振荡,超调等一系列问题,对系统性能分析和设计远比开环控制麻烦。
通过利弊取舍,本次实验选取是闭环控制,由于准备应用PID算法控制电机转速,故而需要有实际转速进行反馈与给定转速形成对比,进而通过算法输出PWM波形来控制直流电机。
2.调速方式本实验采用脉冲宽度(PWM)调速,PWM调速具备如下几种长处:系统响应速度以及稳定精度好;电流脉动量小,容易持续,运营平稳;调速范畴宽,抗噪性好;元件使用数少,线路简朴。PWM实现方式:将电机电压通断转换为周期控制,用两个定期器T0,T1分别控制周期时间和电压通时间,从而调节电机平均电压,以达到对电机电压大小控制。PWM波高电平,由T1拟定占空比PWM波高电平,由T1拟定占空比PWM波周期,由定期器T0定期拟定PWM波周期,由定期器T0定期拟定3.测速方式测速传感器用是光电编码器,它原理是电动机转动带动码盘转动,码盘上有诸多缝隙,缝隙每通过红外管一次就会产生一种脉冲,进而通过专门芯片得到转动频率。4.PID控制办法模仿PID控制算法表达式:u数字PID控制算法表达式(位置式):u= 其中:u(t),uk,uk-1为控制器输出信号;ek,ek-1,ek-2三、实验内容1.系统构造(1)系统方框图e(t)PWM输出直流电机PIDu(t)e(t)PWM输出直流电机PID——测速装置测速装置(2)流程图直流电机直流电机 传感器测速传感器测速PWM输出PID运算A/D转换F/V转换PWM输出PID运算A/D转换F/V转换 2.硬件某些及接线(1)ADC0809接线单片机最小应用系统P0口JD4F接A/D转换D0~D7口JD10H,单片机最小应用系统Q0~Q7口JD7F接0809A0~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)加减乘除子程序见背面附录程序中浮点数运算子程序某些。注意:此处都是有符号双字节浮点数。四、实验成果及感想通过两星期编程和调试后,虽然半途浮现了诸多障碍,但是最后还是实现了直流电机速度控制,使其可以调到速度范畴内任意想要速度,完毕了实验任务。这次实验,不但加深了我对单片机硬件构造和指令系统结识,巩固了过去所学《机械工程控制基本》方面知识,更重要是让我学到了从课本上学不到东西。我大学里知识大某些都来源于课堂和课本,基本上都是一知半解,主线没有学会灵活应用知识。而通过这次实验,在将知识应用于实践过程中,我发现问题并解决问题,不断加深对知识结识,从而真正掌握理解决问题能力。附录:程序源代码;主程序;单片机最小应用系统1P0口接0809JD15口,;单片机最小应用系统1Q0口接0809JD16,;单片机最小应用系统1ALE、P2.0、P3.3、P3.6、P3.7分别;接0809clk0809、cs-0809、EOC、WR、RD,;0809模仿信号输入口AIN0接入0~5V可调电压,+VREF接+5V;P3.0,P3.1连接到串行静态显示实验模块DIN、CLK。 DBUF0 EQU 30H;显示第一位缓冲地址 TEMP EQU 40HMAXEQU6CH;电动机最大工作频率UAEQU6DH;给定A/D转换值UBEQU6EH;实际A/D转换值A0EQU60H;比例系数A0A1EQU63H;积分系数A1A2EQU66H;微分系数A2 TH11EQU5EH;TH1值 TL11EQU5FH;TL1值ORG0000HLJMPSTART ORG 000BH LJMP INT0_P ORG 001BH LJMP INT1_PORG0100HSTART:MOVA0,#22H;给A0赋值MOV61H,#10H;4MOV62H,#7FHMOVA1,#00H;给A1赋值MOV64H,#10H;0MOV65H,#7FHMOVA2,#00H;给A2赋值MOV66H,#00H;0MOV67H,#00HMOVUA,#10H;给定盼望值`MOV6FH,#20;扫描周期为20msMOV50H,#05H;给U(K-1)赋值MOV51H,#00H;5MOV52H,#00H MOVR1,#6 MOVR0,#56HLOOP1:MOV@R0,#01HINCR0DJNZR1,LOOP1;给e(k-1)和e(k-2)赋零MOVUA,#022H;给定电动机频率 MOVTMOD,#11H MOVTH0,#0FCH MOVTL0,#18H MOVTH1,#0 MOVTL1,#0MOVTH11,#0FFH;控制高电平时间ton,即占空比 MOVTL11,#29H SETBTR0 SETBTR1 SETBEA SETBET0 SETBET1LOOP2:MOVA,6FHJNZDSQ MOV35H,#11H ;灭不需要显示位MOV36H,#11HMOV37H,#11HMOV R0,#DBUF0 MOV @R0,#0AH INC R0 MOV @R0,#0DHINCR0MOV@R0,#11HINCR0 MOV DPTR,#0FEF0H;A/DMOVA,#0 MOVX @DPTR,AWAIT:JBP3.3,WAIT MOVX A,@DPTR;读入成果 MOV P1,A MOV B,AMOVUB,A;将实际频率存入UB中 SWAP AANLA,#0FH XCH A,@R0 INC R0 MOV A,BANLA,#0FH XCH A,@R0LCALL DISP1;ACALLDELAYLCALLPID;调用PID程序LCALLPWM;调用PWM程序MOV6FH,#20DSQ:AJMP LOOP2;20ms进行一次调速DISP1: MOV R0,#DBUF0 MOV R1,#TEMP MOV R2,#8DP10: MOV DPTR,#SEGTAB MOV A,@R0 MOVC A,@A+DPTR MOV @R1,A INC R0 INC R1 DJNZ R2,DP10 MOV R0,#TEMP MOV R1,#8DP12: MOV R2,#8 MOV A,@R0DP13: RLC A MOV 0B0H,C CLR 0B1H SETB 0B1H DJNZ R2,DP13 INC R0 DJNZ R1,DP12RETSEGTAB:DB 3FH,6,5BH,4FH,66H,6DH;0,1,2,3,4,5 DB 7DH,7,7FH,6FH,77H,7CH;6,7,8,9,A,B DB 58H,5EH,79H,71H,0,00H;C,D,E,F,-DELAY:MOVR4,#0FFH;延时程序AA1: MOVR5,#0FFHAA: NOP NOP DJNZR5,AADJNZR4,AA1RET;PWMT0中断INT0_P:MOVTH0,#0FCH MOVTL0,#18H MOVTH1,TH11 MOVTL1,TL11 SETBP1.0 SETBP1.2 SETBTR1 MOVA,6FH JZLOOP11DEC6FH;20ms计时LOOP11: NOP RETI;PWMT1中断INT1_P:CLRP1.0 CLRP1.2 CLRTR1 NOP RETI;PID调节PID:MOVUA,#66H MOVUB,#44HCLRCMOVA,UASUBBA,UB;计算e(k)MOVR2,A;将e(k)转换成浮点数MOVR3,#00HACALLSFF2MOV53H,R2MOV54H,R3MOV55H,R6MOV@R1,73HMOVR4,63H;求u(k)并覆盖u(k-1)MOVR5,64HMOVR7,65HMOVR2,56HMOVR3,57HMOVR6,58HACALLSFDUM MOVR4,75H MOVR5,76HMOV2DH,R4MOV2EH,R5MOV2FH,R7MOV@R1,73HMOVR4,60HMOVR5,61HMOVR7,62HMOVR2,53HMOVR3,54HMOVR6,55HACALLSFDUMMOVR4,75H MOVR5,76H MOVR2,2DHMOVR3,2EHMOVR6,2FHACALLSFDUSMOV2DH,R4MOV2EH,R5MOV2FH,R7MOV@R1,73HMOVR4,66HMOVR5,67HMOVR7,68HMOVR2,59HMOVR3,5AHMOVR6,5BHACALLSFDUMMOVR4,75H MOVR5,76HMOVR2,2DHMOVR3,2EHMOVR6,2FHACALLSFDUAMOVR2,50HMOVR3,51HMOVR6,52HACALLSFDUAMOV50H,R4MOV51H,R5MOV52H,R7MOV59H,56H;用e(k-1)覆盖e(k-2)MOV5AH,57HMOV5BH,58HMOV56H,53H;用e(k)覆盖e(k-1)MOV57H,54HMOV58H,55HRET;PWM参数求解PWM:MOVA,51H;判断U(K)正负 JBACC.7,LOOP9MOVA,52HJBACC.7,LOOP9MOVA,#16SUBBA,R7MOVR7,ALOOP7:CLRCMOVA,R5RRCA MOVR5,A MOVA,R4RRCA MOVR4,ADJNZR7,LOOP7CLRCMOVA,#0FFH;计算T1初值SUBBA,R5MOVTH11,AMOVA,#0FFHSUBBA,R4MOVTL11,A AJMPLOOP10LOOP9:MOVTH11,#0FCHMOVTL11,#29HLOOP10:RET;P141.9.2双字节二进制定点数到浮点数转换 ;入口R3R2SFF2:MOVR6,#10H MOV20H,R3 JB07H,SEGLP0:JB06H,LP1 LCALLLST MOV20H,R3 AJMPLP0SEG:JNB06H,LP1;负 LCALLLST MOV20H,R3 AJMPSEGLP1:RETLST:CLRC XCHA,R2 RLCA XCHA,R2 XCHA,R3 RLCA XCHA,R3 DECR6 RET ;出口R6R3R2;P514.1.3双字节二进制浮点数加法,R7R5R4+R6R3R2=R7R5R4SFDUA:ACALLSJJ;参见2.6.3(对阶) ACALLAD5432;参见程序一(尾数相加) JNBOV,SON ACALLRST77;参见程序一(右规) RETSON: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=R7R5R4SFDUS:LCALLSJJ;参见2.6.3(对阶) LCALLSU5432;参见程序一(尾数相减) JBOV,LPS LCALLSLST2;参见2.5.3(左规) RETLPS:MOVA,R5JNB0E7H,LEK CLRC AJMPLPELEK:SETBCLPE:LCALLRST77;参见4.1.1(右规) RET ;P272.6.3二进制浮点数对阶SJJ:MOVA,R6 XRLA,R7 JZRET1 CLRC MOVA,R7 SUBBA,R6 JB0E7H,SRSH7 LCALLSRST6 AJMPSJJSRSH7:LCALLSRST7AJMPSJJRET1:RETSRST6:MOVA,R3 JB0E7H,LPS0;右规 CLRC AJMPLPS1LPS0:SETBCLPS1:RRCA MOVR3,A MOVA,R2 RRCA MOVR2,A INCR6 RETSRST7:MOVA,R5 JB0E7H,LPS00 CLRC AJMPLPS11LPS00:SETBCLPS11: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,SEGALPSS0:JB06H,LPSS1;正 LCALLLSTB MOV20H,R5 AJMPLPSS0SEGA:JNB06H,LPSS1 LCALLLSTB MOV20H,R5 AJMPSEGALPSS1:RETLSTB: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 RETSLST32:MOV20H,R3;左规JB07H,SAEGLCP0:JB06H,LCP1 ACALLLST MOV20H,R3 SJMPLCP0SAEG:JNB06H,LCP1 ACALLLAST MOV20H,R3 SJMPSAEGLCP1:RETLAST:CLRC MOVA,R2 RLCA MOVR2,A MOVA,R3 RLCA MOVR3,A DECR6 RET ;P373.3.4双字节有符号二进制定点数乘法SDUMUL:MOVA,R5;求被乘数符号 ANLA,#80H MOVR6,A JZNEG32NEG54:MOVA,R4 CPLA ADDA,#01H MOVR4,A MOVA,R5 CPLA ADDCA,#00H MOVR5,ANEG32:MOVA,R3;求乘数符号 ANLA,#80H MOVR7,A JZDDUMUL MOVA,R2;乘数求补 CPLA ADDA,#01H MOVR2,A MOVA,R3 CPLA ADDCA,#00H MOVR3,ADDUMUL:MOVA,R6;求积符号 XRLA,R7 MOV20H,A ACALLDUMUL;参见程序一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年家具买卖合同范文(二篇)
- 2024年厦门房屋租赁合同参考范本(三篇)
- 2024年厂房租赁安全协议范本(二篇)
- 2024年各种公共场所的卫生管理制度(五篇)
- 2024年家具购买合同(二篇)
- 2024年小学卫生管理工作计划范文(二篇)
- 2024年学校工作计划书(二篇)
- 2024年培训公司规章制度(二篇)
- 2024年学生会宣传部工作总结简单版(三篇)
- 招商教学培训合同范本
- 数字化、智能化车间规划与建设
- 美容整形贷款合同
- 事故隐患报告举报奖励制度培训
- 施工组织设计加油站样本
- 高血糖饮食指导健康宣教
- 建筑施工安全技术规范-建筑施工高处作业安全技术规范
- 人教版小学四年级下册《生命.生态.安全》教案
- 儿童及青少年知情同意书版本
- 医防融合工作总结范文
- 酒店宴会行业分析
- 白族扎染工艺图解
评论
0/150
提交评论