1、计算机控制课程设计报告题目: 最小拍控制器设计 姓名: 雷锋 学号: 110230420 2014 年 7 月 4 日计算机控制课程设计任务书学 号 110230420 班 级 1102304学 生 雷锋 指导教师 任倩题 目 最小拍控制设计设计时间 2014 年 6 月 27 日 至 2014 年 7 月 4 日 共 1 周设计要求设计任务: 设单位反馈线性定常离散系统的连续部分和零阶保持器的传递函数分别为 ,采样周期 T=0.1s,设计101(),()TspheGs数字控制器 ,要求系统在单位斜坡输入时实现最小拍无波纹控Dz制。方案设计:1. 完成控制系统的分析、设计;2. 选择元器件,完
2、成电路设计,控制器采用 MCS-51 系列单片机( 传感器、功率接口以及人机接口等可以暂不涉及),使用Protel 绘制原理图;3. 编程实现单片机上的控制算法。报告内容:1. 控制系统仿真和设计步骤,应包含性能曲线、采样周期的选择、数字控制器的脉冲传递函数和差分方程;2. 元器件选型,电路设计,以及绘制的 Protel 原理图;3. 软件流程图,以及含有详细注释的源程序;4. 设计工作总结及心得体会;5. 列出所查阅的参考资料。指导教师签字: 系(教研室)主任签字:2014 年 6 月 27 日最小拍控制设计最少拍设计是系统在典型的输入作用下,设计出数字调节器,使系统的调节时间最短或者系统在
3、有限个采样周期内结束过渡过程。最少拍控制实质上是时间最优控制,系统的性能指标是调节时间最短(或者尽可能地短)。一、设计题目分析1、题目:设单位反馈线性定常离散系统的连续部分和零阶保持器的传递函数分别为 ,采样周期 T=0.1s,设计数字控制器 101(),()TspheGs ()Dz,要求系统在单位斜坡输入时实现最小拍无波纹控制。2、分析:D ( Z ) G ( Z )R ( z ) E ( z ) U ( z ) C ( z )如图所示, 为待设计的最少拍控制器, 是广义被控对象,包括零阶()Dz ()z保持器 和被控对象 。要求按照单位斜坡输入设计最小拍控制器,hGs()pGs分析最小拍控
4、制器设计特点。二、控制系统设计1、控制器参数计算(1) 广义脉冲传递函数的求取(1)21010()()()phTsTsesGs sAA对 进行 z 变换, .1112010.48(0.96)()()( ()48TTzzzzzZs eA(2)(2)无波纹最小拍控制器 D(z)(3)121()(0.96)zfzz12.96f()0解得 1.5278f数字控制器的脉冲传函 121().2650.78)(0.9673)zzzz单位速度输入 11220.()()rtTRzz(4)()()CzRzUG(5) 1 11121212340. ()0.948)(.670.586)(0.96)() .8(6.8.
5、7z zzzzz AA()()DzG(6) 1211112(.2650.78)(0.9673)()0.948)0.4837(63.839.4.102673zzzzzzz A().7().()6.8()39.(1)4.2()ukukekekek(7)2、无波纹最小拍控制系统 Smulink 仿真仿真图为:仿真结果为:(1) 系统输入及系统输出曲线 c(t)图形如下:0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.500.10.20.30.40.50.60.7(2) 系统误差 e(t)曲线如下:0 0.05 0.1 0.15 0.2 0.25 0.3 0.
6、35 0.4 0.45 0.5-0.0200.020.040.060.080.10.120.140.160.18(3) 控制器输出 u(k)曲线如下:0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5-5-4-3-2-1012345通过仿真曲线看出:控制器 D(z)满足设计要求。采样周期 T=0.1 时,系统在第三拍之后系统达到无差,最后控制器输出恒定,因此系统输出不会产生波纹,达到无波纹输出时 ts=0.3s。将 得系统的差分方程为:()UzDE()0.27(1)0.(2)6.18()-39.2(1)4.2()ukukekek三、硬件电路设计及元件选
7、型控制器部分由 A/D 转换器,D/A 转换器和 8051 单片机组成。模数转换芯片采用 ADC0809,数模转换芯片采用 DAC0832。单片机晶振为12MHz,ADC0809 的时钟可由单片机 ALE 引脚输出经 4 分频得到,因此采用两个 D 触发器 74LS74。DAC0832 采用双极性电压输出,运算放大器采用OPAMP。1、控制器电路原理图如图 3-1 所示EOC ADO1AD23AD45AD67AD01AD23AD45AD67DA01DA23DA45DA67 DA01DA23 DA45DA67STARTCLKEOSTARTDA-WXTAL218XTAL119ALE301PSN29
8、RST9P0./AD039.1/18P0.2/AD237.3/36P0.4/AD435.5/54P0.6/AD63.7/72P1.0.P1.2.3P1.4.5P1.6.78P3.0/RXD10.1/TP3.2/IN012./IT13P3.4/014P3.7/RD17.6/W6.5/T15P2.7/A1528P2.0/A821.1/9P2./A023.3/14P2.4/A225.5/136.6/47UAT89C51 VREF8GND3 VC20CS1WR12I34DI25I16DI07B9GND10 IOUT11I22DI713I64DI515I46XFER17W28ILE(BY1/BY)19U
9、2DAC08322 -1MSB21AD B24 A5 C3VREF(+)12 (-)6IN31I42IN53I64IN75START6 2 -58EOC7UTPT ENABLE9CLOCK10V 2 - 0GND132 -714 -652 -8LSB7 -41 -39I228IN17I026 ALE2U3ADC089+5VR110koutpt32 184U5:ALM358 56 784U5:BLM358R32kR51k-5VinputX1CRYSTALC13ufC53uFC610uFD2Q5 CLK3Q6 S4R1U6:A74LS74R10k+D2Q5 CLK3Q6 S4R1U6:A74LS7
10、4R32k图 3-1 控制电路原理图2、 ADC0809 与单片机连接部分AD 转换器选 ADC0809, ADC0809 是一种逐次比较式的 8 路模拟输入,内部具有锁存功能,故不需要加地址锁存器。ALE 脚为地址锁存信号,高电平有效,三根地址线固定接地,由于地址信号已经固定,故将 ALE 接高电平。系统只需要一路信号,选择 IN-0 通道作为输入。START 脚为 AD 转换启动信号,高电平有效,程序控制。AD 采样值为系统的偏差信号,故选择 ADC0809 的 REFV为 5V。EOC 为转换结束信号。当 EOC 为高电平时,表明转换结束;否则,表明正在进行 A/D 转换。设计将其接单片
11、机 P2.2 脚由程序读入,判断 AD 是否转换完成。AD 转换结果由 P0 口读入,故将 AD 转换器的输出与单片机 P0 口相连,高低位依次相连。ADC0809 与单片机连接部分电路如图 3-2 所示:EOCADO1AD23AD45AD67AD01AD23AD45AD67DA01DA23DA45DA67STARTCLKEOSTARTDA-WXTAL218XTAL119ALE30E31PSN29RST9P0./AD0390.1/ 138P0.2/AD2370.3/ 336P0.4/AD4350.5/ 534P0.6/AD630.7/ 732P1.01.P1.21.3P1.41.5P1.61.
12、78P3.0/RXD103.1/T 1P3.2/IN0123./IT113P3.4/014P3.7/RD173.6/W163.5/T115P2.7/A1528P2.0/A8212.1/92P2./A10232.3/124P2.4/A12252.5/13262.6/1427U1AT89C512 -1MSB21AD B24A25 C23VREF(+)12 (-)16IN31I42IN53I64IN75START6 2 -58EOC7 UTPUT ENABLE9CLOCK10V1 2 -220GND132 -7142 -6152 -8LSB172 -4182 -319I228IN127I026 AL
13、E2U3ADC0809+5VR110k-5VinputX1CRYSTALC13ufC53uFC610uF R110k+图 3-2 ADC0809 与单片机连接电路3、 DAC0832 与单片机连接部分DA 转换器选择 DAC0832,DAC0832 是具有两个输入数据寄存器的 8 位 DAC,可以直接与 51 单片机相连。参考电压 ,直接与供电电源相连。REFV=+5因为输出的 C(t)可能有负的情况,故选择 DAC 为双极性电压输出。DA输出值为:0(128)REFuBDAC0832 的引脚接法下:CS:片选端,直接接低电平ILE:数据锁存允许控制端,直接接高电平。WR2:DAC 寄存器写选
14、通控制端,故直接接低。XFER:数据传送控制,低电平有效,故直接接地。WR1;第一级输入寄存器写选通控制,低电平有效。其输入为上升沿时,将输入数据锁存到 DAC 寄存器,故将该脚与单片机 P2.3 口相连,由程序控制DA 转换的时间。D10D11:与单片机 P0P7 相连。DAC0832 与单片机连接部分电路如图 3-2 所示DA01DA23 DA45DA67DA-WVREF8 GND3 VCC 20CS1 WR12 DI34 I25 DI16 I07RFB9 GND10 IOUT1 11I 2 2DI7 13I6 4DI5 15I4 6XFER17W2 8ILE(BY1/BY) 19U2DA
15、C0832图 3-2 DAC0832 与单片机连接部分4、 DAC0832 外围电路电路分析:D/A 转换器为电流输出,经过两个运算放大器和适当的电阻构成双极性电压输出。DAC0832 外围电路如图 3-3 所示DA0 DA6DA7output32 184U5:ALM35856 784U5:BLM358R32kR51kR32k图 3-3 DAC0832 外围电路5 、 被控对象连接部分电路分析:被控对象 可以看做由 和10()pGs10()pGs构成,因此可由两个运放与相应电阻、电容串联搭建成以上电路。21()pGs其输入为 DAC0832 的双极性输出电压。其输出就为系统输出,将其输出与给定
16、输入信号相比较作为 ADC0809 的输入。被控对象连接部分电路如图 3-4 所示32 184U4:ALM35832 184U4:ALM358R1R101R101C21FC20.1Foutptinput 被 控 对 象图 3-4 被控对象连接部分电路四、程序流程图及源程序1、流程图如下:开始初始化等待中断主程序采样中断服务定时器初值重装D / A 输出 u ( k )采样周期变量初始化A / D 采样计算 u ( k )采样变量赋新值到达采样周期中断返回采样周期变量加 1NY2、定时器 T0 的初值计算机器周期为 610ss设:需要装入 T0 的初值为 X,采样周期为 0.1s 则:166-3
17、(2)5X解得, 15360xcbXT0 的初值 ;0THLx3、源程序#includesbit start=P20; /AD 启动信号sbit EOC=P22; /AD 转换完成信号sbit DA-W=P23; /DA 转换信号unsigned char ad_data; /AD 采样值unsigned char count=0; /定时标记值char e; /定义当前采样值char u; /定义 DA 输出量char u0=0;char u1=0;char e0=0;char e1=0; /前两次采样值和前两次控制值float temp; /设置指针void AD() /AD 采样函数St
18、art=0;Start=1; /启动 AD 转换器,开始转换Start=0;while(EOC=0); /转换未结束,空循环ad_data=P0; /转换结束后,读取 AD 输出值void TimeInnitial() /定时器中断初始化函数TMOD=0X11; /定时器 0 采用方式 1TH0=0X3C; /设置定时器 0 初值TL0=0XB0;EA=1; /开中断ET0=1; /允许 T0 溢出中断TR0=1; /开定时器 T0void main() /主函数TimeInitial();Start=0; /启动信号为 0DA-W=0;P1=0x80;DA-W=1; /控制器初始输出为 0W
19、hile(1); /空循环,等待中断void t1(void)interrupt 1 using 1 /定时器 T0 中断函数TH0=0x3c;TL0=0xb0; /重装初值if(count=2) /采样周期为 0.1scount=0;AD(); /0.1s 后,读取 AD 采样值e=ad_data-128; /采样实际偏差值temp=0.27*u1+0.7*u0+26.18*e-39.28*e1+14.2*e0;/差分方程if(temp0) /当前输出值大于零if(temp127) /判断是否溢出u=127; /溢出取极值else u=(char)temp; /控制器输出值else /当前输
20、出值小于零if(temp=-127) u=-127; /判断是否溢出,溢出取极值else u=(char)temp; /控制器输出值P1=u+128; /DA 输出值u0=u1; /控制量递推赋值u1=u;e0=e1; /偏差量递推赋值e1=e;DA-W=0;DA-W=1; /上升沿 DA 输出else count+; /定时不到 2 次即不满 0.1 秒,继续计时五、设计工作总结及心得体会这次课程设计可谓是整合了计算机控制系统,单片机基本原理以及模拟、数字电路基础的相关知识。结合前段时间的计算机控制系统课程学习,此次课程设计的过程让我再一次更加深入的理解最小拍控制的原理。设计过程中用到了 M
21、atlab 仿真、 Simulink 仿真以及 Proteus 搭建硬件电路图,通过查阅相关书籍,上网和请教同学,对软件有了一定程度的了解。 对于单片机源程序的编写,让我们对 C 语言以及单片机工作机理有了更加深刻的理解。课程设计过程的过程,充分考验了自己的学习能力以及知识整合的能力,虽然进行起来不是那么顺利,但却让我受益良多。我深刻意识到,在以后的学习过程中不仅要泛,更要精。知其然,亦知其所以然,加强对知识的整合应用能力。六、参考文献计算机控制系统分析与设计 何克忠,郝忠恕编著 清华大学出版社MATLAB 仿真在通信与电子工程中的应用 徐明远,邵玉斌编著 西安电子科技大学出版社张毅刚 主编. 单片机原理及应用 高等教育出版社