




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、宿迁学院机电工程系实验指导书计算机控制技术实验指导书制订人:李守军2010年4月目录实验一 A/D与D/A转换实验3实验二 数字PID控制算法的实验研究10实验三 最少拍数字控制器的设计15实验一 A/D与D/A转换实验一、实验目的与要求1、了解几种类型AD转换的原理;掌握使用ADC0809进行模数转换2、了解几种类型DA转换的原理;掌握使用DAC0832进行数模转换2、认真预习实验内容,做好准备工作,完成实验报告。二、实验设备 STAR系列实验仪一套、PC机一台、万用表一个。Proteus软件一套。三、实验内容1、ADC0809(F3区)(1) 模数转换器,8位精度,8路转换通道,并行输出(
2、2) 转换时间100us,转换电压范围05V2、编写程序:制作一个电压表,测量05V,结果显示于数码管上。3、利用Proteus设计DAC仿真电路,编写仿真程序,进行DA实验仿真。利用DA转换器实现正弦波与锯齿波。四、实验原理图图11 AD转换实验原理图五、实验步骤1、连线说明:F3区:CS、ADDA、ADDB、ADDCA3区:CS1、A0、A1、A2(选择通道)F3区:EOC(转换结束标志)A3区:P1.2F3区:CLKB2区:500KF3区:IN0F2区:05VD3区:CLKB2区:2MD3区:CSA3区:CS5D3区:A0A3区:A02、调节05V电位器(F2区)输出电压,显示在LED上
3、,第4、5位显示16进制数据,第0、1、2位,显示十进制数据。用万用表验证AD转换的结果。3、实验记录旋转电位器,使电压从0V5V变化。读取数码管显示数据,记录电压值与转换出来的数字量。填入下表:模拟电压值(V)数字量实测值数字量理论值误差0.00.51.01.52.02.53.03.54.04.55.03、数据分析(1)计算数字理论值和误差,填入上表。(2)绘制电压与转换出数字量曲线。在坐标纸上以电压为横坐标,以数字量为坐标绘制。 4、利用Proteus构建仿真电路,进行编程仿真。(1)打开Proteus V7.4 SP3软件。从元件库中找到下列元件: 电容: CAP 极性电容: CAP-P
4、OL 晶振:CRYSTAL DAC0832 AT89C51 按钮: BUTTON LM358N 变阻器: POT-LOG 电阻: RES (2)按下图所示构建仿真电路 设置器件属性,直接双击相应器件的图标即可。图12 DA转换实验原理图 (3)编写仿真程序 汇编语言:DAC0832EQU00HORG0000HLJMPMAIN;设DAC0832地址ORG0030HMAIN:MOVC,P2.7JCTRIAN;P2.7为1时,输出锯齿波,P2.7为0时,输出为正弦波MOVR1,#63;单位周期内共64个采样输出SIN:MOVDPTR,#TABMOVA,R1MOVCA,A+DPTR;查找正弦代码MOV
5、DPTR,#DAC0832MOVXDPTR,A;输出NOPDJNZR1,SINLJMPMAINTRIAN:MOVR1,#0;锯齿波LOOP:MOVA,R1MOVDPTR,#DAC0832MOVXDPTR,AMOVA,R1ADDA,#4;步长为4MOVR1,ANOPJNZLOOPLJMPMAINTAB:DB80H,8CH,98H,0A5H,0B0H,0BCH,0C7H,0D1H ;正弦代码表DB0DAH,0E2H,0EAH,0F0H,0F6H,0FAH,0FDH,0FFHDB0FFH,0FFH,0FDH,0FAH,0F6H,0F0H,0EAH,0E3HDB0DAH,0D1H,0C7H,0BCH,
6、0B1H,0A5H,99H,8CHDB80H,73H,67H,5BH,4FH,43H,39H,2EHDB25H,1DH,15H,0FH,09H,05H,02H,00HDB00H,00H,02H,05H,09H,0EH,15H,1CHDB25H,2EH,38H,43H,4EH,5AH,66H,73HEND C语言#include <reg51.H>#define step4unsigned char pdata DAC0832;/设DAC0832地址unsigned char sindot64=0x80,0x8c,0x98,0xa5,0xb0,0xbc,0xc7,0xd1, 0xda
7、,0xe2,0xea,0xf0,0xf6,0xfa,0xfd,0xff, 0xff,0xff,0xfd,0xfa,0xf6,0xf0,0xea,0xe3, 0xda,0xd1,0xc7,0xbc,0xb1,0xa5,0x99,0x8c, 0x80,0x73,0x67,0x5b,0x4f,0x43,0x39,0x2e, 0x25,0x1d,0x15,0xf,0x9,0x5,0x2,0x0,0x0, 0x0,0x2,0x5,0x9,0xe,0x15,0x1c,0x25,0x2e, 0x38,0x43,0x4e,0x5a,0x66,0x73;/正弦代码表sbit K1=P27;/控制开关,void
8、delay(unsigned char m)/延时 unsigned char i; for(i=0;i<m;i+);void main(void) unsigned char k; while(1) if (K1=0)/K1为1时,输出锯齿波,K1为0时,输出为正弦波 for(k=0;k<64;) DAC0832=sindotk;/取正弦代码并输出 k+; delay(1); else for(k=0;k<250;)/锯齿波 DAC0832=k; k+=step; delay(1); 六、演示程序1、程序算法开始A/D转换子程序调用显示子程序延时A/D转换子程序:开始启动A
9、D转换延时读AD转换结果返回显示子程序:开始A/D转换结果显示于5、6号数码管A/D转换结果转化为十进制数,显示于1、2、3号数码管调用显示库程序返回图13 AD转换算法框图2、程序清单EXTRNCODE(Display8)Addr_0809XDATA0F000HBufferDATA30H;8个字节的显示缓冲区EOC_0809BITP1.2ORG0LJMPSTARTORG0100HSTART:MOVSP,#60H;设堆栈START1:ACALLAD0809ACALLDisplay_DataMOVR0,#Buffer;显示缓冲区首地址LCALLDisPlay8;调用显示子程序LCALLTIME;
10、延时SJMPSTART1Display_Data:MOVB,AANLA,#0FHMOVbuffer+4,AMOVA,BANLA,#0F0HSWAPAMOVbuffer+5,AMOVA,BMOVB,#51;255/5 (16进制的1 = 1/51V)DIVABORLA,#80H;加上小数点MOVbuffer+2,AACALLDisplay_Data_1MOVbuffer+1,A;第一位小数ACALLDisplay_Data_1MOVbuffer,A;第二位小数MOVbuffer+3,#10HMOVbuffer+6,#10HMOVbuffer+7,#10H;消隐RETDisplay_Data_1:
11、MOVA,#10MULABADDA,BJNCDisplay_Data_11INCAINCBDisplay_Data_11:MOVR7,AMOVA,BRLARLAADDA,BXCHA,R7MOVB,#51DIVABADDA,R7RETAD0809:MOVA,#0MOVDPTR,#Addr_0809MOVXDPTR,A;启动AD转换JNBEOC_0809,$;是否转换完成MOVXA,DPTR;读转换结果RETTIME:PUSH06HPUSH07HMOVR6,#200TIME1S1:MOVR7,#200DJNZR7,$DJNZR6,TIME1S1POP07HPOP06HRETEND七、实验扩展及思考
12、1.如何实现多路模拟量的数据采集、显示?2. Proteus有何优势?Keil 和 Proteus如何联调? 八、实验报告要求将实验过程、实验现象,现象分析、实验结论详细的书写在实验报告册中。要求书写规范,条理清晰,如实记录数据和分析实验现象。得出合理的实验结论。实验成绩如下规定:1. 实验成绩占平时成绩的10%。包括考勤、课堂纪律、实验操作、实验报告三个部分。10%的成绩中,课堂纪律占10%,实验操作占10%,实验报告占80%。2. 实验报告不认真或上交不及时,酌情扣分。3. 缺席实验一次,本课程平时总成绩清为0分。实验二 数字PID控制算法的实验研究一、实验目的和要求1、掌握控制系统PID
13、控制规律。2、掌握PID位置式控制算法。3、掌握PID增量式控制算法。二、实验设备1. 硬件:计算机2. 软件:MATLAB V7.0三、实验理论1. 位置式控制算法根据模拟PID控制算法,以一系列的采样时刻点kT代表连续时间t,以矩阵法数值积分近似代替积分,以一阶后向差分近似代替微分,即可得离散PID表达式为: 式中,;T为采样周期;k为采样序号,k = 1, 2, ;error(k)和error(k-1)分别为第k和第k-1时刻的偏差信号。位置式PID控制框图如图21所示,图21 位置式PID控制框图位置式PID控制程序框图如图21所示,图22 位置式PID控制程序框图四、实验内容及步骤采
14、用Simulink仿真。被控对象为三阶传递函数,采用Simulink模块与M函数相结合的方式,利用ODE45的方法求解连续对象方程,主程序由Simulink模块实现,控制器由M函数实现。输入信号为一采样周期1ms的正弦信号。采用PID方法设计控制器,其中。误差的初始化通过时钟功能实现,在M函数中实现误差的积分和微分。1. 编写实验程序:clear all;close all; ts=0.001;sys=tf(523407,1,86.85,10465,0);dsys=c2d(sys,ts,'z');num,den=tfdata(dsys,'v'); u_1=0.0
15、;u_2=0.0;u_3=0.0;r_1=rand;y_1=0;y_2=0;y_3=0; x=0,0,0'error_1=0; for k=1:1:3000time(k)=k*ts; kp=1.0;ki=2.0;kd=0.01; S=1; if S=1 %Triangle Signal if mod(time(k),2)<1 rin(k)=mod(time(k),1); else rin(k)=1-mod(time(k),1); end rin(k)=rin(k)-0.5;endif S=2 %Sawtooth Signal rin(k)=mod(time(k),1.0);end
16、if S=3 %Random Signal rin(k)=rand; vr(k)=(rin(k)-r_1)/ts; %Max speed is 5.0 while abs(vr(k)>=5.0 rin(k)=rand; vr(k)=abs(rin(k)-r_1)/ts); endend u(k)=kp*x(1)+kd*x(2)+ki*x(3); %PID Controller %Restricting the output of controllerif u(k)>=10 u(k)=10;endif u(k)<=-10 u(k)=-10;end %Linear modelyo
17、ut(k)=-den(2)*y_1-den(3)*y_2-den(4)*y_3+num(2)*u_1+num(3)*u_2+num(4)*u_3;error(k)=rin(k)-yout(k); r_1=rin(k); u_3=u_2;u_2=u_1;u_1=u(k);y_3=y_2;y_2=y_1;y_1=yout(k); x(1)=error(k); %Calculating Px(2)=(error(k)-error_1)/ts; %Calculating Dx(3)=x(3)+error(k)*ts; %Calculating Ixi(k)=x(3); error_1=error(k)
18、;D=0;if D=1 %Dynamic Simulation Display plot(time,rin,'b',time,yout,'r'); pause(0.000000);endendplot(time,rin,'r',time,yout,'b');grid;xlabel('time(s)');ylabel('rin,yout');2. 分析仿真结果:五、实验扩展思考 1、增量式PID控制算法有何优点?2、位置式PID控制算法在什么场合下使用比较合理?3、在什么场合下使用增量型PID控制算法
19、,误差较小?六、撰写实验报告将实验过程、实验现象,现象分析、实验结论详细的书写在实验报告册中。要求书写规范,条理清晰,如实记录数据和分析实验现象。得出合理的实验结论。实验成绩如下规定:1. 实验成绩占平时成绩的10%。包括考勤、课堂纪律、实验操作、实验报告三个部分。10%的成绩中,课堂纪律占10%,实验操作占10%,实验报告占80%。2. 实验报告不认真或上交不及时,酌情扣分。3. 缺席实验一次,本课程平时总成绩清为0分。实验三 最少拍数字控制器的设计一、实验目的和要求1. 掌握最少拍数字控制器的基本概念。2. 掌握最少拍数字控制器的设计方法。3. 掌握最少拍数字控制器的MATLAB仿真设计方
20、法。二、实验设备1. 硬件:计算机2. 软件:MATLAB V7.0三、实验理论1. 最少拍数字控制器的设计步骤对于典型的计算机控制系统,框图如图3-1:图31 典型的计算机控制系统设计步骤为: 求出广义对被控对象脉冲传递函数: 根据性能指标和约束条件确定闭环脉冲传递函数和误差脉冲传递函数。和之间关系:+=1。 确定D(z)。 进行校验。可以通过MATLAB软件进行系统仿真。 将D(z)转换成差分方程的形式编程由计算机实现。四、实验内容及步骤1设计最少拍控制器,被控对象的传递函数为设采样周期T1s,试设计单位速度输入下的最少拍有波纹控制系统,并画出误差曲线、控制曲线和输出响应曲线。设计步骤:
21、理论计算 广义被控对象的传递函数当T1s时,有 确定m,n。 G(z)不包含单位圆外的零点,包含一个单位圆上的极点。 u = 0,v = 1,j = 1。 输入信号为单位速度信号 q = 2。由上可知,j < q。 m = u = 0; n = v j + q = 2。 计算和。由,通过比较系数法,得到, 计算D(z)。 计算误差。 控制信号。 输出响应。 MATLAB仿真 在桌面上找到快捷方式图标,双击打开MATLAB。 在工具栏上找到,点击打开Simulink库,新建model(*.mdl)文件。 选择单位速度输入信号源Ramp,将它拖入model文件中。见下图31:图31 选择信号源Ramp 打开Commonly used Blocks目录,将里面的示波器“Scope”和求和符号“Sum”拖入model文件中。具体操作如图32所示。图32 选择示波器与求和符号同理,从Continus目录中,将传递函数的零极点模块()拖进model窗口;从Discrete窗口中将脉冲传递函数零极点模块()及零阶保持器模块()拖进mod
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 逃学保证协议书
- 租大客车协议书
- 垫付培训叉车证协议书
- 租赁公司协议书
- 肥料采购协议书
- 站点合租协议书
- 粮食代卖协议书
- 美体项目协议书
- 资料代做协议书
- 崇川区股权架构协议书
- 北师大版二年级数学下册全册10套试卷(附答案)
- 中复神鹰碳纤维西宁有限公司年产14000吨高性能碳纤维及配套原丝建设项目环评报告
- 矿山采掘计划终稿
- 电磁场与电磁波电磁波的辐射
- 四羊方尊专题知识
- 【教案】 电源与电流 教学设计 -2022-2023学年高二上学期物理人教版(2019)必修第三册
- GB/T 40805-2021铸钢件交货验收通用技术条件
- GB 18401-2003国家纺织产品基本安全技术规范
- 《科研创新实践》课程教学大纲
- 报价单模板及范文(通用十二篇)
- 开发票申请单
评论
0/150
提交评论