无波纹控制系统

上传人:wt****50 文档编号:34523705 上传时间:2018-02-25 格式:DOC 页数:14 大小:505KB
返回 下载 相关 举报
无波纹控制系统_第1页
第1页 / 共14页
无波纹控制系统_第2页
第2页 / 共14页
无波纹控制系统_第3页
第3页 / 共14页
无波纹控制系统_第4页
第4页 / 共14页
无波纹控制系统_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《无波纹控制系统》由会员分享,可在线阅读,更多相关《无波纹控制系统(14页珍藏版)》请在金锄头文库上搜索。

1、1天 津 理 工 大 学自动化学院课程设计报告题目: 最小拍无波纹控制系统设计学生姓名 刘楠楠 学号 20110729 届 2011 班级 电气一班 指导教师 专业 电气工程及其自动化2目录1 课题简介2 总体方案及硬件设计2.1-系统描述2.2-硬件设计2.2.1- A/D2.2.2- D/A2.2.3-单片机及定时器设计2.2.4-电源部分设计2.3-总体方案设计原理图3 控制算法设计3.1-控制算法描述4 软件编程设计4.1-软件编程调试平台4.2-软件流程图4.3-软件程序代码5 小结6 参考文献1课程简介3利用 STC89C52 单片机设计最小拍无波纹控制系统,被控对象的数学模型为

2、G(s)=5/s(0.8s+1),设计最少拍无波纹控制算法,并编程实现;根据要求,实现在单位速度信号的作用下,达到控制要求。2总体方案及硬件设计2.1-系统描述本系统设计使用 STC89C52 单片机和 ADC、DAC 等基本元件构成闭环控制系统,整体结构如图:2.1-硬件设计2.2.1- A/DADC 芯片选用常用芯片 ADC0809,它是一个 8 位 ADC 芯片,可以多路切换的CMOS 组件,转换方法采用主次逼近法。性能相对较为可靠,价格低廉,使用简单。其中输入信号端加有 LM358 构成的放大器,可以增加信号的灵敏度和分辨率。电路结构图如下:STC89C52A/D D/A 控制对象42

3、.2.2- D/A选用 DAC8032 芯片,它是一个 8 位 DAC 芯片,本本电路单元采用,单电源供电,它是一款常用的 DAC 芯片,再输入信号端加上 LM358 构成的放大电路,不仅提高了系统的可靠程度,而且增加了控制信号的分辨率。2.2.3-单片机及定时器设计STC89C52 单片机也是 51 系列单片机,相对于传统法 51 单片机,在性能和可靠性上都有较大的提高,电路图设计如下:52.2.4-电源部分设计电源部分选用 LM7805 和 LM7905 构成,外加电压范围为 812V,能够输出+5 和-5V 电压,能够满足体统设计的点电平要求,电路图如下:62.3-总体方案设计原理图73

4、 控制算法设计3.1-控制算法描述1、定时器 T0 的初值计算 本设计单片机采用 12M 晶振,由于 51 单片机 12 分频,所以系统周期为 1 微秒。ADC0809 的转换频率最大为 500KHZ,而单片机的系统时钟为 1M,所以本系统采用 ADC0809 全速工作,而对单片机 IO 口进行采样的周期为 1S. 定时器定时时间为 50MS,利用单片机小精灵软件可以方便的计算出当定时器 0 工作在方式 1 时,TH0=3C,TL0=B0。 2、对输入信号的滤波本设计利用中值滤波的方法对 P2 口采集的 ADC 输入信号数据进行处理,中值滤波是一种较为简单有效的滤波方法,对椒盐信号干扰有较好的

5、抑制作用,不仅可以有效的减少信号干扰带来的影响,而且相对别的滤波方法,能够降低程序的执行时间。3、最少拍无波系统的差分方程计算首先使用 MATLAB 对 G(S)进行 Z 变换,则变换过程如下: np = 0 0 5np = 0 0 5dp = 0.8 1 0dp = 0.8000 1.0000 0hs = tf(np,dp)Transfer function :5-0.8 s2 + shz = c2d(hs ,1)Transfer function :2.146 z + 1.421-Z2 1.287z + 0.28658:G(z)=2.146 z + 1.421-Z2 1.287z + 0.

6、2865无波纹最小拍控制器 D(z)根据 G(z),对象有一个纯迟后因子 v=1,一个零点 b1=-0.662,两个极点,单位速度信号 ,所以 q=1,则闭环脉冲传递函数为2l由得系数 , ,则系统脉冲传函为误差脉冲传函为由 得设计的控制器为*zeDG将 得系统的差分方程为:zUDEu(k) = 0.357u(k-1)+0.593u(k-2)+0.294e(k)-0.236e(k-1)+0.645e(k-2)94 软件编程设计4.1-软件编程调试平台本程序的开发环境为 Keil uvisin4,是一款较为常用的开发环境,支持硬件仿真。104.2-软件流程图定时器初值重装装CLK=CLK中断返回

7、A/D时钟程序 采样中断服务程序开始主程序初始化等待中断NY中断返回定时器初值重装D/A输出u(k)采样变量赋新值采样周期变量初始化A/D采样计算u(k)采样周期是否到4.3-软件程序代码#includeunsigned char count =0; /定时器计数量unsigned char count1 =0; /中值滤波计数量unsigned char ad_data ; /装入 AD 值char e; /当前采样的实际值flout out_data; /当前经过运算后的实际值char u; /定义 DA 输出量采样周期变量加111char u0=0,u1=0,e0=0,e1=0; /采样

8、值char mid_data5=0; /中值滤波的保存值char i,j; /冒泡排序的参数void timeInit(); /定时器初始化函数void main(void) /主函数timeInit();while(1);void timeInit()TMOD |= 0X01; /选择定时器 0,工作方式 1TH0 = 3C; /设置定时器 0 初值TL0 = B0; EA = 1; /打开全局中断ET0 = 1; /打开定时器中断TR0 = 1; /定时器中断打开void Time0_isr(void) interrupt 1 using 1TH0 = 3C; /重新装入初值TL0 = B

9、0;12if(count=20) /定时器定满一秒count=0;ad_data=P2;e = ad_data- 128; / 因为是双极性输入的这样得到的实际值有正负电压/最少拍无波纹差分方程算法If(out_data0) /用于限定当前值在-127+127 之间if(out_data =127)u=127;elseu=(char)out_data;elseif(out_data=4)13count1=0;for(i=0;imid_dataj+1)temp=mid_dataj;mid_dataj = mid_dataj+1;mid_dataj+1 = temp;P2=mid_data2; /

10、滤波后输出值145 小结通过本系统的设计,我较为详细清晰地了解了最少波无波纹控制算法。它对输入信号的快速响应让我感觉很是神奇,但是,在完成课程设计的过程中也遇到了大量的困难,特别是复杂的差分方程的运算,由于对 MATLB 不是很熟悉,所以很多参数要自己动手去算,但是,大量的数学运算让我感觉很是困难,不过经过一番努力,最后还是被完美的解决了。在此过程中,让我清醒的认识到数学的重要性。本设计系统,硬件部分相对来说比较简单,用的基本上是常用的芯片,再结合数据手册,能够很好的完成,信号也基本让人满意。通过对资料的查询,让我更进一步提高了自己的知识获取能力。6 参考文献1赖寿宏 主编 微型计算机控制技术

11、 华中科技大学出版社 19942李毅刚 主编 单片机原理及应用 高等教育出版社 20033李铁桥 主编 计算机控制理论与应用 20054谢龙汉 主编 Autium Designer 原理图与 PCB 设计及仿真 电子工业出版社 20125Pro Log . Technical Manual and Data Book6J. A .Moore ,S .M Herb .Understanding Distributed Process Systems. Instrument Society of America, 20057J . V .Levy. A multiple computer system for reliable transaction processing ,ACM SIG SMALL Newsletter, 4,NO .5, 20068LATTIC Semiconductor Crop .,GAL Data Book ,20099周培德 主编 计算几何 清华大学出版社 200410Anany 主编 算法设计与分析基础 清华大学出版社 200211钟艳华 主编 计算机工程与设计 200412谭浩强 主编 C 程序设计(四) 清华大学出版社 201013王松武 主编 常用电路模分析与指导 清华大学出版社 2009

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号