最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

数字控制器设计

来源:动视网 责编:小OO 时间:2025-09-26 05:14:23
文档

数字控制器设计

课程论文数字PID控制器设计学生成绩:学生学号:20153050学生姓名:赵付泽学生专业:控制工程课程名称:数字控制技术任课教师:王英提交日期:2015年1月7日大连交通大学研究生学院数字PID控制器设计摘要本文在完成计算机控制学习的基础上结合自动控制原理的学科知识,自拟题目,利用计算机控制系统的知识,借助MATLAB,完成对自拟系统的分析和PID控制器的设计,并将硬件电路画出。关键词:计算机控制,PID控制器,MATLAB一﹑前言设单位反馈系统的开环传递函数为,设计数字PID控制器,使系统的
推荐度:
导读课程论文数字PID控制器设计学生成绩:学生学号:20153050学生姓名:赵付泽学生专业:控制工程课程名称:数字控制技术任课教师:王英提交日期:2015年1月7日大连交通大学研究生学院数字PID控制器设计摘要本文在完成计算机控制学习的基础上结合自动控制原理的学科知识,自拟题目,利用计算机控制系统的知识,借助MATLAB,完成对自拟系统的分析和PID控制器的设计,并将硬件电路画出。关键词:计算机控制,PID控制器,MATLAB一﹑前言设单位反馈系统的开环传递函数为,设计数字PID控制器,使系统的
              

课程论文

数字PID控制器设计

学生成绩:
学生学号:20153050
学生姓名:             赵付泽

学生专业:控制工程
课程名称:数字控制技术
任课教师:王英
提交日期:2015  年

1    月

7    日

大连交通大学研究生学院
 数字PID控制器设计

摘要

 本文在完成计算机控制学习的基础上结合自动控制原理的学科知识,自拟题目,利用计算机控制系统的知识,借助MATLAB,完成对自拟系统的分析和PID控制器的设计,并将硬件电路画出。

关键词:计算机控制,PID控制器,MATLAB

一﹑前言

设单位反馈系统的开环传递函数为,设计数字PID控制器,使系统的稳态误差不大于0.1,超调量不大于20%,调节时间不大于0.5s。并采用位置算法实现该PID控制器。

二﹑设计原理

    PID控制是最早发展起来的经典控制策略,是用于过程控制最有效的策略之一。由于其原理简单.技术成熟,在实际应用中较易于整定,在工业控制中得到了广泛的应用。它最大的优点是不需了解被控对象精确的数学模型,其需在线根据系统误差段误差的变化率等简单参数,经过经验进行调节器参数在线整定,即可取得满意的结果。具有很大的适应性和灵话性。PID控制中的积分作用可以减少稳态误差,但另一方面也容易导致积分饱和,使系统的超调量增大。微分作用可提高系统的响应速度,但其对高频干扰特别敏感,甚至会导致系统失稳。所以,正确计算PID控制器的参数,有效合理地实现PID控制器的设计,对于PID控制器在过程控制中的广泛应用具有重要的理论和现实意义。

在典型PID控制系统中.PID控制器分别对误差信号E(t)进行比例、积分与微分运算.其结果的加权和集成系统的控制信号u(t),送给对象模型加以控制。

PID控制器的数学描述为:(2.1)

其传递函数可表示为:    (2.2)      

    从根本上讲,设计PID控制器也就是确定其比例系数Kp、积分系数Ti和微分系数Td。,这三个系数取值的不同,决定了比例、积分和微分作用的强弱。控制系统的整定就是在控制系统的结构已经确定、控制仪表和控制对象等处在正常状态的情况下.适当选择控制器的参数使控制仪表的特性和控制对象的特性相配合.从而使控制系统的运行达到最佳状态,取得最好的控制效果。

位置式PID控制算法。由于计算机控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量,需要进行离散化处理。现以一系列的采样时刻点kT代表连续时间t,以和式代替积分,以增量代替微分,则可以作近似变换;

                           图1

    由于计算机控制是一种采样控制系统,它只能根据采样时刻的偏差值计算控制量。因此,(2.2)式中的积分和微分项不能直接使用,需要进行离散化处理。现令T为采样周期,以一系列的采样时刻点kT代表连续时间t,以累加求和近似代替积分,以一阶后向差分近似代替微分,做如下的近似变换:

                  t=KT                          (2.3)

                         (2.4)

         (2.5)

其中,T为采样周期,e(k)为系统第k次采样时刻的偏差值,e(k-l)为系统第(k-l)次采样时刻的偏差值,k为采样序号,k=0,1,2,…。

    将上面的(2.4)式和(2.4)式代入(2.2)式,则可以得到离散的PID表达式

         (2.6)

如果采样周期了足够小,该算式可以很好的逼近模拟PID算式,因而使被控过与连续控制过程十分接近。通常把(2.6)式称为PID的位置式控制算法。若在(2.6)式中,令:

   (称为积分系数) ;  (称为微分系数)

则     

            (2.7)

(2.7)式即为离散化的位置式PID控制算法的编程表达式。可以看出,每次输出与过去的所有状态都有关,要想计算u(k),不仅涉及e(k)和e(k-l),且须将历次e(j)相加,计算复杂,浪费内存。下面,推导计算较为简单的递推算式。为此,对(2.7)式作如下的变动:

考虑到第(k-l)次采样时有

    (2.8)

使(2.7)式两边对应减去(2.8)式,得 

整理后的  

                         (2.9) 

    其中,,(2.9)式就是PID位置式得递推形式。

    如果令则

                          (2.10)

式中的同(2.10)式中的一样。

    因为在计算机控制中、、都可以事先求出,所以,实际控制时只须获得e(k)、e(k-l)、e(k-2)三个有限的偏差值就可以求出控制增量。由于其控制输出对应执行机构的位置的增量,故(2.10)式通常被称为PID控制的增量式算式。

三﹑数字PID参数整定

    利用扩充临界比例度法选择数字PID参数,扩充临界比例度法是以模拟PID调节器中使用的临界比例带法为基础的一种数字PID参数的整定方法。其整定步骤如下:;

1.选择一个足够短的采样周期T。通常选择采样周期为被控对象纯滞后时间的1/10。

2.在纯比例的作用下,给定输入阶跃变化时,逐渐加大比例作用Kp(即减小比例带),直至系统出现等幅震荡,记录比例增益Kc,及振荡周期Tc 。Kc成为临界振荡比例增益(对应的临界比例带),Tc成为临界振荡周期。

在MATLAB下输入如下程序:

   sysc=tf([1],[1/150,36/150,185/150,1]);

   p=[20:1:45];

   for i=1:length(p);

   sysc0=feedback(p(i)*sysc,1);

   step(sysc0),hold on

   end;

   axis([0,10,0,2.3])

得到如下图所示图形: 

                       图2

调整程序参数p=[40:1:45]进一步精确得Kc约为43.2,Tc约为0.5,观察控制系统的响应特性。在MATLAB下输入如下程序:

   sysc=tf([1],[1/150,36/150,185/150,1]);

   p=[40:1:45];

   for i=1:length(p);

   sysc0=feedback(p(i)*sysc,1);

   step(sysc0),hold on

   end;

   axis([0,10,0,2.3])

得到如下图所示图形:

                                        图3

扩充临界比例度法选择数字PID参数的计算公式如下表所示:

3.选择控制度。控制度的定义为数字调节器和模拟调节所对应的过度过程的误差平方积分之比,即控制度=式中,为数字调节器的控制误差;e为模拟调节器的控制误差.当控制度为1.05时,数字调节器鱼模拟调节器的控制效果相当;当控制度为2时,数字调节器比模拟调节器的控制效果差一倍;在此选控制度为1.05。

4.按选择的控制度指标及Tc,Kc实验测得值,由查表选择相应的计算公式计算采样周期:T=0.007,Kp=27,Ti=0.245,Td=0.07; =0.77, =270,   Ki=0.23

                                      图4

四﹑建立simulink模型

1.采用后向差分离散化,可得:

=

     在Matlab-simulink中建立如下模型

Scope中得到阶跃响应曲线如下所示:

                                  图5    

由图可见超调量较大减小Kp的值,增大Kd用试凑法得到一组数据:T=0.014,Kp=15,Ki=0.23 ,Kd=250

2.采用后向差分离散化。Matlab-simulink中建立如下模型:

Scope中阶跃响应图形如下

                                 图6

由上图可看出上组数据满足了任务要求:系统的稳态误差不大于0.1,超调量不大于20%,调节时间不大于0.5s。

五MCS-51单片机实现控制器的设计

控制系统结构框图如下:

                          图7                                                 

1.器件选择

主控制器选用熟悉的ATc51单片机。由于没有对精度的要求,选用常见的8位AD/DA芯片ADC0809和DAC0832。由于系统要求采样周期0.015ms,而上述AD、DA芯片转化时间很短(ADC0809约100us,DAC0832约1us),因此上述芯片满足要求。

2.电路设计

1、A/D芯片与单片机连接:单片机与AD、DA采用总线方式连接,锁存器74LS373进行地址锁存。采用统一编址方式访问。地址线A0,A1,A2,A3分别于A,B,C,ALE连接,通过地址选择IN0口为输入。

2、DAC0832与单片机连接如下:电流输出,经双运放转化,输出为双极性。

系统总电路如下:

3.程序设计

程序采用汇编语言编写

主程序流程图、中断服务程序、PID算法流程图如下:

                 

  

开始
 ↓

输入给定值r(k)

 ↓

初始化
                 ↓

调用AD转换程序

测出输出值c(k)

 ↓

计算偏差e(k)=r(k)-c(k)

 ↓

Up(k)=Kb*e(k)

Ui(k)=Ki[e(k)+Ui(k-1)]

Ud(k)=Kd[e(k)-e(k-1)]
 ↓

U(k)=Up(k)+Ui(k)+Ud(k)

e(k)→e(k-1)

Ui(k)→Ui(k-1)

 ↓

调用DA转换程序

输出控制量u(k)

          Y                 N

                                    

程序设计如下:

R       EQU     31H                 ;给定值(阶跃响应)

KP        EQU        32H                    ;存放kp

KI        EQU        33H                    ;存放256*ki

KD        EQU        34H                  ;存放kd

E0        EQU        35H                    ;存放e(k)

E1        EQU        36H                    ;存放e(k-1)

UPL        EQU        37H                    ;Up(k)的低8位

UPH        EQU        38H                    ;Up(k)的高8位

UIL        EQU        39H                    ;Ui(k-1)的低8位

UIH        EQU        3AH                    ;Ui(k-1)的高8位

DAT        EQU        3BH                    ;采样AD数据c(k)

UK        EQU        3CH                    ;PID输出

    ORG        0000H

    AJMP    MAIN

    ORG        000BH

    LJMP    ITT0

        ORG     0100H

MAIN:   MOV     SP,#60H

        MOV     R0,#31H

        MOV     R1,0CH                                                 

        CLR     A

LOOP:   MOV     @R0,A                   ;31H~3CH清0

        INC     R0

        DJNZ    R1,LOOP

        MOV     R,#01H                 ;给定阶跃值1

        MOV     KP,#16                  ;比例系数kp=16

        MOV     KI,#3AH                 ;积分系数256*ki=3AH 以整数输入

        MOV     KD,#250                 ;微分系数kd=250

        MOV     TMOD,#01H               ;设置定时器0方式1工作(16位定时器)

        MOV     TL0,#0C9H                ;定时14ms

        MOV     TH0,#4FH

        SETB    TR0

        SETB    EA

HERE:   AJMP    HERE

ITT0:   MOV     TL0,#0C9H                ;重装初值

        MOV     TH0,#4FH

        ACALL   ADC                      ;调用AD转换程序

        ACALL   PID                      ;调用PID控制程序

        ACALL   DAC                      ;调用DA转换程序

        RETI

ADC:     MOV     DPTR,#0F8H               ;ADC0809模拟输入通道IN0的地址

         MOVX    @DPTR,A                  ;启动AD转换

         ACALL   DELAY                    ;软件延时1s,等待转换结束

         MOVX     A,@DPTR                 ;读取转换结果

         MOV     DAT,A                    ;转换结果保存,以便PID控制程序使用

         

      

DAC:     MOV     R0,#0F0H                 ;DAC0832地址F0H送R0

         MOV     A, UK                    ;PID输出          

         MOVX    @R0,A                    ;启动DA转换

         RET

        

DELAY:    PUSH   PSW                        

          PUSH   ACC

          SETB   RS0                      ;选第1组为当前工作寄存器区

          CLR    RS1                        

          MOV    R1,#05H

LOOP1:    MOV    R0,#H

LOOP2:    DJNZ   R0,LOOP2                 ;延时时间为(100*2+1+2)*5=1000us=1ms

          DJNZ   R1,LOOP1

          POP    ACC

          POP    PSW

          RET

PID:      MOV      B,DAT

          MOV      A,R

          CLR      C

          SUBB     A,B                    ;求当次偏差e(k)=r-c(k)

          MOV      E0,A                   ;存e(k)

          MOV      B,KP

          MUL      AB                   ;求up(k)=kp*e(k)

          MOV      UPL,A                ;保存up(k)的低8位

          MOV      UPH,B                ;保存up(k)的高8位

          MOV      A,E0            

          MOV      B,KI

          MUL      AB                    ;计算256ki*e(k)

          MOV      R1,B               ;256ki*e(k)低8位丢掉,高8位->R1,为ki*e(k)

          MOV      R2,UIL                ;ui(k-1)低8位->R2

          MOV      R3,UIH                ;ui(k-1)高8位->R3

          MOV      A,R1                    ;ki*e(k)->A

          ADD      A,R2                    ;计算ui(k)低8位=ki*e(k)+ui(k-1)低8位        

          MOV      R0,A                    ;暂存ui(k)低8位->R0

           CLR      A                   

             ADDC     A,R3                 ;ui(k)高8位=ui(k-1)低8位+低位进位

          MOV      R1,A                 ;ui(k)高8位->R1

          MOV      UIL,R0                ;存ui(k)低8位

          MOV      UIH,R1                ;存ui(k)高8位

          MOV      A,E0                    ;e(k)->A

          MOV      R0,E1                ;暂存e(k-1)->R0        

          MOV      E1,A                    ;e(k)->e(k-1)为下次循环做准备

          CLR      C

          SUBB     A,R0                    ;计算e(k)-e(k-1)

          MOV      B,KD

          MUL      AB                    ;计算ud(k)=kd*[e(k)-e(k-1)]

          MOV      R0,A                    ;暂存ud(k)低8位->R0

          MOV      R1,B                 ;暂存ud(k)高8位->R1

          MOV      A,R0

          ADD      A,UIL                ;ui(k)低8位+ud(k)低8位->A

          MOV      R0,A                 ;暂存ui(k)低8位+ud(k)低8位->R0

          MOV      A,R1

          ADDC     A,UIH                ;ui(k)高8位+ud(k)高8位+进位位->A

          MOV      R1,A                 ;暂存ui(k)高8位+ud(k)高8位->R0

          MOV      A,UPL        

          ADD      A,R0                    ;ui(k)低8位+ud(k)低8位+up(k)低8位->A

          MOV      R0,A           ;暂存ui(k)低8位+ud(k)低8位+up(k)低8位->R0

          MOV  A,UPH                     

          ADDC  A,R1              ;ui(k)高8位+ud(k)高8位+up(k)高8位+进位位->A

          MOV  UK,A   ;存ui(k)高8位+ud(k)高8位+up(k)高8位+进位位作为最后结果

          RET

          END

 

文档

数字控制器设计

课程论文数字PID控制器设计学生成绩:学生学号:20153050学生姓名:赵付泽学生专业:控制工程课程名称:数字控制技术任课教师:王英提交日期:2015年1月7日大连交通大学研究生学院数字PID控制器设计摘要本文在完成计算机控制学习的基础上结合自动控制原理的学科知识,自拟题目,利用计算机控制系统的知识,借助MATLAB,完成对自拟系统的分析和PID控制器的设计,并将硬件电路画出。关键词:计算机控制,PID控制器,MATLAB一﹑前言设单位反馈系统的开环传递函数为,设计数字PID控制器,使系统的
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top