数字PID控制系统设计(I)

时间:2024.4.13

扬州大学能源与动力工程学院

课程设计报告

题    目:   数字PID控制系统设计(I     

课    程:    计算机控制技术课程设计      

专    业:      电气工程及其自动化        

班    级:                        

姓    名:                          

学    号:        101601201               


第 一 部 分

任务书


《计算机控制技术》课程设计任务书

一、课题名称

数字PID控制系统设计(I)

二、课程设计目的

课程设计是课程教学中的一项重要内容,是达到教学目标的重要环节,是综合性较强的实践教学环节,它对帮助学生全面牢固地掌握课堂教学内容、培养学生的实践和实际动手能力、提高学生全面素质具有很重要的意义。

《计算机控制技术》是一门理论性、实用性和实践性都很强的课程,课程设计环节应占有更加重要的地位。计算机控制技术的课程设计是一个综合运用知识的过程,它需要控制理论、程序设计、硬件电路设计等方面的知识融合。通过课程设计,加深对学生控制算法设计的认识,学会控制算法的实际应用,使学生从整体上了解计算机控制系统的实际组成,掌握计算机控制系统的整体设计方法和设计步骤,编程调试,为从事计算机控制系统的理论设计和系统的调试工作打下基础。

三、课程设计内容

设计以89C51单片机和ADC、DAC等电路、由运放电路实现的被控对象构成的计算机单闭环反馈控制系统。

1. 硬件电路设计:89C51最小系统加上模入电路(用ADC0809等)和模出电路(用TLC7528和运放等);由运放实现的被控对象。

2. 控制算法:增量型的PID控制。

3. 控制算法仿真:在simulink中建立系统仿真图,编写S-function, 对算法进行仿真。

四、课程设计要求

1. 模入电路能接受双极性电压输入(-5V~+5V),模出电路能输出双极性电压(-5V~+5V)。

2. 模入电路用两个通道分别采集被控对象的输出和给定信号。

3. 每个同学选择不同的被控对象:

             

    4. PID参数整定,根据情况可用扩充临界比例度法,扩充响应曲线法等。

5. 对象输出端加上扰动:扰动可选择小幅度正弦信号、小幅度阶跃信号、小幅度的脉冲信号。

扰动的出现时刻选择在系统进入稳态后的适当时刻。

6. 对采样信号加上滤波算法。算法可选择滑动平均值法,复合滤波,惯性滤波等。

7. simulink仿真采用ode4定步长,仿真步长可取0.1-1ms。采样周期可取20-100ms,由实验结果确定。

8. S-function的函数名由各人姓名拼音缩写+学号后3位数组成。

五、课程设计实验结果

1. 控制系统能正确运行。

2. 正确整定PID参数后,系统阶跃响应超调<10%,调节时间尽量短。

六、进度安排

七、课程设计报告内容:

总结设计过程,写出设计报告,设计报告具体内容要求如下:

1.课程设计的目的和设计的任务。

2.课程设计的要求。

3.控制系统总框图及系统工作原理。

4.控制系统的硬件电路连接图(含被控对象),电路的原理。

5.控制算法及其原理。

6.  Simulink仿真图及S-function的算法实现说明。

7.实验结果及其分析。

8.电路设计、仿真调试中遇到的问题及解决方法。

9.体会。


第 二 部 分

课程设计报告

 

1 课题简介................................................................................................................................................ 6

1.1 课程设计的目的............................................................................................................................ 6

1.2 课题任务和要求............................................................................................................................ 6

2  数字PID控制系统方案设计.................................................................................................................. 6

2.1 控制系统总体介绍......................................................................................................................... 6

2.2 系统闭环工作原理......................................................................................................................... 7

3 数字PID控制硬件电路设计.................................................................................................................... 7

3.1  总体硬件电路设计....................................................................................................................... 7

3.1  A/D转换单元.............................................................................................................................. 7

3.2  D/A转换单元.............................................................................................................................. 8

3.3 被控对象的实现............................................................................................................................ 8

4 数字PID控制算法设计........................................................................................................................... 9

4.1 数字PID增量型控制算法.............................................................................................................. 9

4.2 采样周期的选择............................................................................................................................ 9

5 数字PID控制Simulink仿真设计........................................................................................................... 10

5.1 Simulink仿真的总体介绍............................................................................................................. 10

5.2仿真图中各个模块的参数设置....................................................................................................... 11

5.3 滤波程序设计.............................................................................................................................. 12

6实验与结果分析..................................................................................................................................... 12

6.1 凑试法确定PID参数................................................................................................................... 12

6.2 实验结果分析.............................................................................................................................. 14

7 小结与体会........................................................................................................................................... 14

参考文献................................................................................... 15

1课题简介

1.1课程设计的目的

课程设计是课程教学中的一项重要内容,是达到教学目标的重要环节,是综合性较强的实践教学环节,它对帮助学生全面牢固地掌握课堂教学内容、培养学生的实践和实际动手能力、提高学生全面素质具有很重要的意义。

计算机控制技术的课程设计是一个综合运用知识的过程,它需要控制理论、程序设计、硬件电路设计等方面的知识融合。通过课程设计,加深对学生控制算法设计的认识,学会控制算法的实际应用,使学生从整体上了解计算机控制系统的实际组成,掌握计算机控制系统的整体设计方法和设计步骤,编程调试,为从事计算机控制系统的理论设计和系统的调试工作打下基础。

1.2课题任务和要求

本课题的任务:

设计以89C51单片机和ADC、DAC等电路、由运放电路实现的被控对象构成的计算机单闭环反馈控制系统。

1. 硬件电路设计:89C51最小系统加上模入电路(用ADC0809等)和模出电路(用TLC7528和运放等);由运放实现的被控对象。

2. 控制算法:增量型的PID控制。

3. 控制算法仿真:在simulink中建立系统仿真图,编写S-function, 对算法进行仿真。

本课题的要求:

1. 模入电路能接受双极性电压输入(-5V~+5V),模出电路能输出双极性电压(-5V~+5V)。

2. 模入电路用两个通道分别采集被控对象的输出和给定信号。

3.被控对象为:                                       

4. PID参数整定,要求用扩充临界比例度法。

5. 定时中断时间可在10-50ms中选取,采样周期取定时中断周期的整数倍,可取20-100ms,由实验结果确定。

6. 滤波方法可选择平均值法,中值法等。

2 数字PID控制系统方案设计

2.1控制系统总体介绍

    该闭环控制系统的被控对象为 数字PID控制系统框图如下图所示:

图2.1 数字PID控制系统方框图

   其中被控对象由一个积分环节和一个惯性环节串联而成。

   首先利用模数转换单元对两路信号(给定和输出)进行采样,经过A/D转换器进行转换后,由单片机进行计算偏差,控制器采用的是增量型数字PID控制,由比例(P)、积分(D)和微分(I)叠加而成。经过A/D转换的数字信号再通过PID程序进行增量型计算,输出的信号值经过D/A转换得到控制信号,在D/A转换器中利用双运放实现双极性输出,经过被控对象得出被控量Y。

2.2系统闭环工作原理

由图2.1可知,被控对象的响应Y(t)经采样电路离散为Y(k)。偏差E(k)=R(k)-Y(k),作为PID调节的输入,经过PID运算输出,得到控制输出U(k)。控制输出U(k)经采样保持器产生连续的控制输出信号U(t),作用于控制对象,使控制输出值U(t)达到给定值R,消除偏差E(k)。               

3数字PID控制硬件电路设计

3.1 总体硬件电路设计

总体硬件电路设计图如图2所示,主要有信号源模块,模数转换单元模块,51单片机模块,数模转换单元模块以及被控对象几个部分组成,信号源单元输出周期性防弊信号,当输出端OUT为高电平时,/ST为低电平输出,此时单片机内部执行PID算法。模数转换单元通过6,7通道对信号源的给定和控制对象的输出进行采样,输出经过D0-D7经总线连接到单片机的P0口。单片机模块采用8051单片机,对A/D转换的信号进行采集,再进行PID计算,之后输出给D/A转换模块。D/A转换模块采用的是TCL7528芯片,将8051单片机的输出进行D/A转换,输出的模拟量对象进行控制,控制对象利用运放单元搭成。输入信号来自D/A转换,输出被A/D转换采集,从而形成一个闭环控制系统。

图2 总体硬件电路图

3.2 A/D转换单元

模数单元采用ADC0809芯片,主要包括多路模拟开关和A/D转换器两部分。

其主要特点为:单电源供电、工作时钟CLOCK最高可达到1200KHz、8位分辨率、8个单端模拟输入端(IN0~IN7)、TTL电平兼容等,可以很方便地和微处理器接口。

      

图3.1  A/D转换单元

如图3.1,通过三端地址译码A、B、C多路开关可选通8路模拟输入的任何一路进行A/D转换。其中 IN6、IN7两路由于接上了上拉电阻,所以模拟输入允许范围-5V~+4.96V,对应的数字量为00H~FFH,0V对应80H,-5V对应00H,+4.96V对应0FFH。本课程设计中采用的ADC0809,其输出8位数据线已连接到计算机控制系统的数据线。由于89C51外部时钟为12 MHz,其ALE端输出6分频时钟(2 MHz),再经过D触发器分频得到所需的应用时钟1MCLK(1 MHz),输入CLOCK端。

 双极性输入的主要原因是IN6和IN7两路接了上拉电路。如图所示,IN6和IN7的实际输入电压范围为0-5V。双极性输入是在IN6和IN7的外围电路中,采用接两个电阻进行分压的方式,因为给了一个5V的电压,当输入为-5V时,0809的实际输入端为两者相加之和的一半为0V,在0809采样电压的范围以内,但将该采样值取进单片机内后,其表示范围为-128—127,对应为0—5V的电压,所以在程序中需要将采样值减去128来使采样值与设定值相对应,C,B,A的编码对应IN0-IN7通道的地址,其中C,B被置成高电平,A的电平由单片机上的P1.4口控制,C,B,A=110对应IN6通道的地址,C,B,A=111对应IN7通道的地址。

3.3 D/A转换单元

数模转换单元采用TLC7528芯片,它是8位、并行、两路、电压型输出数模转换器。其主要参数如下:转换时间100ns,满量程误差1/2LSB,参考电压-10V~+10V,供电电压+5V~+15V,输入逻辑电平与TTL兼容。输入数字范围为00H~0FFH,80H对应0V,输出电压为-5V~+4.96V。本课程设计中采用的TLC7528,其输入数字量的八位数据线、写线和通道选择控制线已接至控制计算机的总线上。片选线预留出待实验中连接到相应的I/O片选上,具体接线图如下:

    

      图3.2  D/A转换单元

为了实现双极性输出,故在输出端接上了运放单元。

设OUT-A端输出电压为U,运放1的1号脚电压为Un,输出端电压为Uo,

由于运放1为反相器,则有Un=-Ua;

运放2为加法器,有

Uo=(-Rf/R2)*Un-(Rf/(R4+R5))*Vcc       当D/A输出为0V时,Uo=-5V

  =-2Un-5                               当D/A输出为2.5V时,Uo=0V

  =2Ua-5                                当D/A输出为5V时,Uo=5V

3.4被控对象的实现

本课程设计中选取的被控对象为:由运放及阻容元件搭建,电路如图3.3。

       控制对象由一个积分环节和一个一阶惯性环节构成,其中积分环节电阻R8=500K,电容C1=2uF.

一阶惯性环节中电阻R9=50K,R7=200K,电容C2=1uF,比例系数K=200/50=4,时间常数t=200K*uF=0.2,得到,最后得到

图3.3  控制对象

4 数字PID控制算法设计

4.1数字PID增量型控制算法

    对于连续系统,PID控制规律为:

                                                     (4.1.1)

其中,KP为比例增益,KP与比例带δ成倒数关系即KP=1/δ,TI为积分时间常数,TD为微分时间常数,u(t)为控制量,e(t)为偏差。

    在计算机控制系统中,PID控制规律的实现必须用数值逼近的方法。当采样周期相当短时,用求和代替积分、后向差分代替微分,使模拟PID离散化为差分方程,得数字PID位置型控制算式:

                                             (4.1.2)

    为了便于编写程序,避免积分累加占用过多的存储单元,我们需对式(4.1.2)进行改进。

    由式(4.1.2)易写出u(k-1)的表达式,即

                                     (4.1.3)

将式(4.1.2)和式(4.1.3)相减,即得数字PID增量型控制算式为

                               (4.1.4)其中:KP称为比例增益;KI=KPT/TI称为积分系数;KD=KPTD/T称为微分系数。

为了编程方便,可将式(4.1.4)整理成如下形式:

                                                 (4.1.5)

其中: ,                            (4.1.6)

最后输出为:

                                             (4.1.7)    

4.2采样周期的选择

   (1)首先,香农采样定理给出了采样周期的上限。根据采样定理,采样周期应满足

                                     T≤π/ωmax

其中,ωmax为被采集信号的上限角频率。采样周期的下限为计算机执行程序和输入输出所耗的时间,系统的采样周期只能在Tmax与Tmin之间选择。

   (2)其次,要综合考虑给定值的变化频率、被控对象的特性、执行机构类型和控制回路等因素。

    具体就本次课程设计的课题来说,一方面,给定方波的周期为10~20s间可调,且控制对象时间常数接近1s,变化较慢;另一方面,A/D转换时间在100μs左右,D/A转换时间在100ns左右,而程序执行时间估计在100μs左右。故综合考虑上述因素,对于我的控制对象,我选择的采样周期为1ms。

                  5 数字PID控制Simulink仿真设计

5.1Simulink仿真的总体介绍

    主程序设计图如图5.1所示,其中两个输入(一个给定,一个反馈),一个输出U。本次课程设计重点在于对控制算法的原理,控制器设计,控制算法计算机实现的公式推导,采样周期选择进行研究。

图5.1.1主程序设计图

 

图5.1.2 数字PID增量型控制算法流程

5.2仿真图中各个模块的参数设置

5.3滤波程序设计                                        

    滤波程序主要完成输入值的程序滤波。相对于模拟滤波 ,数字滤波有以下几个优点:                                           

①数字滤波是用程序实现的,不需要增加硬件设备,所以可靠性高,稳定性好;

②数字滤波可以实现对频率很低的信号的滤波,克服了模拟滤波的缺陷;  

③数字滤波可以根据信号的不同,采用不同的滤波参数,具有灵活、方便、功能强的特点。  

由于数字滤波器具有以上优点,所以数字滤波在控制系统中得到了广泛的应用。

在我们的课题中,我们对A/D转换输入到单片机的给定和控制响应分别进行滤波,采用的是滑动窗口平均值滤波。其部分程序如下:

char M,N;                                     //滑动窗口大小为2

M=N=0;

YK= (ADC_7 - 128+M)/2;                         //取平均值

M=ADC_7 - 128;                                //“滑动”

    N=ADC_7 - 128;                                //取平均值

RK= (ADC_7 - 128+N)/2;                         //“滑动”。

6实验与结果分析

6.1凑试法确定PID参数

     增大比例系数KP一般能将加快系统的响应,在有静差的情况下有利于减小静差。但过大的比例系数会是系统有较大的超调,产生振荡,使系统稳定性变坏。增大积分时间TI有利于减少超调,减少振荡,使系统更加稳定,但系统静差的消除将随之减慢。增大微分时间TD也有利于加快系统的响应,使超调减小,稳定性增加,但系统对扰动的抑制减弱,对扰动有较敏感的响应。

    综上,采用凑试法的整定步骤为:

①首先只整定比例部分。即将比例系数由小变大,并观察相应的系统响应,直到得到反应快,超调小的

响应曲线。

②如果比例调节响应曲线的静差不满足要求,则需加入积分环节。积分时间TI由大往小调,同时略为减

小比例系数KP,直到消除静差。

③若得到的曲线的动态性能不满足要求,需加入微分环节。微分系数TD初值为0,逐渐调大TD,同时

相应地改变积分时间和比例系数,逐步凑试,以获得满意的调节效果和控制参数。

采用上述步骤,对于我的控制对象(传递函数见式3.3.1),得到的参数为:KP取100,ti取1000,td取0,

用虚拟示波器观察到的未加滤波程序的响应曲线如图6.1,加滤波程序后,响应曲线如图6.2所示。

               

图6.1未加滤波时的响应曲线

                 

                 

图6.2 加滤波时的响应曲线

                 

6.2实验结果分析

     由上两图对比可得,加滤波后控制输出变得平稳了许多。相对于不加滤波时,在相同的参数(KP取100,ti取1000,td取0)下,加滤波后的超调较小。加滤波和不加滤波的曲线的超调量都小于10%满足要求。

7小结与体会

一周半的计算机控制技术课程设计很快就结束了,在做课程设计的过程中,我学到了很多有用的东西。刚学过计算机控制这门课不久就开始做课程设计,不仅加深了我们对计算机控制这门课的了解,更为这次课程设计能够顺利完成奠定了很好的基础。

上午在听完夏老师对任务的分配和课题的讲解后,下午我们就着手进行数字PID系统控制设计,我们做的是数字增量型PID系统,首先开始的是画电路图,刚开始由于对matlab软件不够熟悉,导致进度有点慢,浪费了不少时间,后来选择用DXP改善了许多。不过,画电路图还是相对简单点的,编程才是难点,也是我们的软肋,因此大家对程序的设计都是十分的头疼,为此,我们决定先采用原来的程序。然而,使用原来的程序,下载后输出结果十分的不理想。之后,我们就开始调试程序。在通过请教老师和上一组的同学,最终,我们完成了程序这一大难点。

通过这次课程设计,我的理论知识掌握得更扎实,动手能力明显提高。同时,通过网上搜索等多方面的查询资料,我学到许多在书本上没有的知识,也认识到理论联系实践的重要。

为期一个星期的课程设计已经结束,这一星期的学习让我对抽象的理论有了具体的认识。这次课程设计提高了我的团队合作水平,是小组成员的默契配合,让我们能够很快很好的完成设计。在试验中我也遇到了不少困难,有一些问题弄不明白,最终都在老师和同学的帮助下解决了,这让我感受到了团队合作的重要性以及自身的不足。最后我想说检验自己所学缺陷的最好方法就是实践,这不仅可以加深对已学知识的理解更可以加强自己的动手能力在实践中找到自己的不足。

在这里我要衷心的感谢两位指导老师在课程设计过程中给予我们的指导与帮助。正是在他们,尤其是夏老师的严格要求和耐心指导下,我们才能按要求完成课程设计。

[1] 于海生主编,微型计算机控制技术,北京:清华大学出版社,1999

[2] 张艳兵等编著,计算机控制技术,北京:国防工业出版社,2008

[3] 张毅刚主编,单片机原理及应用,北京:高等教育出版社,2004

[4] 陈涛编著,单片机应用及C51程序设计,北京:机械工业出版社,2008

[5] 楼然苗﹑李光飞编著,单片机课程设计指导,北京:北京航空航天大学出版社,2007

[6] 夏扬﹑李敏艳﹑蒋步军编,计算机控制技术实验指导书,扬州大学,2011

更多相关推荐:
数字系统设计综合实验报告

数字系统设计综合实验报告实验名称1加法器设计2编码器设计3译码器设计4数据选择器设计5计数器设计6累加器设计7交通灯控制器设计班级姓名学号指导老师实验1加法器设计1实验目的1复习加法器的分类及工作原理2掌握用图...

东北大学数字系统设计实验报告

数字系统设计实验报告姓名学号计数器设计实验1实验目的1学习计数器不同设计方法2学习掌握VHDL中不同输出类型在具体应用时的区别OUTINOUTBUFFER3学习掌握时序电路仿真方法2实验内容1采用VHDL设计方...

复杂数字系统设计实验报告

复杂数字系统设计实验报告光学与光学工程系王启星物理学院SA15038040一实验标题多功能数字种的设计二实验目的任务和要求1数字系统设计问题设计一个能进行时分秒计时的12h制或24h制的数字钟并具有定时与闹钟功...

PLD与数字系统设计实验报告

PLD与数字系统设计实验报告A组实验四数字密码锁1实验要求使用Xilinx公司的Spartan3S400AN开发板上的相关模块利用ISE开发软件完成数字密码锁的设计要求实现如下功能利用实验板上的43小键盘设计4...

数字系统设计与Verilog HDL实验报告(一)

数字系统设计与VerilogHDL实验报告一班级自动1003班姓名刘洋学号06101103实验一ModelSim认识及四位比较器一实验目的1了解及掌握ModelSim2通过软件的基本功能ModelSim软件编写...

数字电路设计实验报告

数字电路设计实验报告引言本课程是面向智能车制作的课程但是主要讲述的是一些关于智能车制作的一些最基本的基础知识比如说一些单片机的知识和一些相应数字电路的知识故我在这里利用一些所学的知识来设计一个数字时钟该电路系统...

数字系统设计与Verilog HDL实验报告(五)

数字系统设计与VerilogHDL实验报告五班级自动1003班姓名刘洋学号06101103实验五自动售饮料机系统设计一实验目的1了解及掌握状态机的基本构成用法2通过ModelSim软件编写程序用状态机可以编程设...

数电课程设计实验报告

目录1课程设计任务书12课程设计方案论证23课程设计电路原理图54课程设计电路原理图的调试85课程设计的心得体会86参考文献9附录1原件清单9数字电子技术课程设计任务书一设计题目多功能数字钟的设计二设计任务与要...

数字系统设计课程设计报告——多功能数字钟

电子信息学院课程设计报告课程名称:《数字系统设计课程设计》题目:多功能数字钟设计年级/专业/班:20##级电科X班学生姓名1:xxx学号:学生姓名2:xxx学号:2014年7月1日目录1课程设计目标和流程分析.…

数字电路设计实验报告1

数字电路设计实验报告洗衣机控制系统信息工程学院0213301班杨超21号一课题设计任务及技术指标要求设计任务设计制作一个简易全自动洗衣机控制器1洗衣机的功能有洗涤漂洗和脱水每个功能持续的时间分别为20秒15秒和...

电信专业电子综合设计实验报告模版

吉林大学电工电子实验教学中心电子综合设计III实验报告电子综合设计III实验报告报告题目20xx年9月I吉林大学电工电子实验教学中心电子综合设计III实验报告摘要示例电容已经成为电路设计的常用原器件之一有它不可...

电工电子设计性实验报告

广东石油化工学院电工电子实验中心题目家庭照明电路设计班级学号姓名指导教师张锋时间20xx3420xx310目录一设计的目的二所设计产品的功能要求三设计的总体思路四电路的功能框图五各部分电路的设计元件选择元件计算...

数字系统设计实验报告(17篇)