计算机控制技术课程设计数字PID控制系统设计Word格式文档下载.docx

上传人:b****3 文档编号:17676636 上传时间:2022-12-08 格式:DOCX 页数:14 大小:42.06KB
下载 相关 举报
计算机控制技术课程设计数字PID控制系统设计Word格式文档下载.docx_第1页
第1页 / 共14页
计算机控制技术课程设计数字PID控制系统设计Word格式文档下载.docx_第2页
第2页 / 共14页
计算机控制技术课程设计数字PID控制系统设计Word格式文档下载.docx_第3页
第3页 / 共14页
计算机控制技术课程设计数字PID控制系统设计Word格式文档下载.docx_第4页
第4页 / 共14页
计算机控制技术课程设计数字PID控制系统设计Word格式文档下载.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

计算机控制技术课程设计数字PID控制系统设计Word格式文档下载.docx

《计算机控制技术课程设计数字PID控制系统设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《计算机控制技术课程设计数字PID控制系统设计Word格式文档下载.docx(14页珍藏版)》请在冰豆网上搜索。

计算机控制技术课程设计数字PID控制系统设计Word格式文档下载.docx

由运放构成的被控对象。

2.控制算法:

增量梯形积分型的PID控制算法。

3.软件设计:

主程序、定时中断程序、A/D转换程序、滤波程序、D/A输出程序、PID控制程序等。

四、课程设计要求

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

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

44?

),G(G(s)?

sss?

1)(0.8s?

1)s(0.255G(s)sG()?

?

1)1)(0.2(0.8s?

1)(0.3(0.8s?

s?

1)s?

105?

G(s))G(s?

1)s1)(0.4?

(?

s(?

1)(0.8s1)s88?

),)(Gs?

G(s1)?

1)(0.5s1)s1)(0.4?

(0.8ss?

ss(0.4

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

,由实验结果确定。

30-150ms中选取,采样周期取采样中断的整数倍,可取10-50ms定时中断可在4.

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

有关的设计要求可参考《计算机控制实验指导书》的相关内容。

五、课程设计实验结果

1.系统正确运行

2.正确整定PID参数后,系统阶跃响应超调<

10%,调节时间尽量短。

六、进度安排

序号内容天数

0.51布置任务,查阅资料1.52总体方案确定,硬件电路设计

1语言开发环境,研读范例程序,3熟悉实验箱及C14控制算法设计

1软件编程,调试5

16实验1

7

总结,撰写课程设计报

七、课程设计报告内容:

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

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

2.课程设计的要求。

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

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

5.软件设计流程图及其说明。

6.电路设计,软件编程、调试中遇到的问题及分析解决方法。

7.实验结果及其分析。

.体会。

8.

第二部分

1课题简介

根据偏差的比例(P)、积分(I)、微分(D)进行控制(简称PID控制),是控制系统中应用最为广泛的一种控制规律。

实际运行的经验和理论的分析都表明,运用这种控制规律对许多工业控制过程进行控制时,都能得到满意的效果。

不过,用计算机实现PID控制,不是简单的把模拟PID控制规律化,而是进一步与计算机的逻辑判断功能结合,使PID控制更加灵活,更能满足生产过程提出的要求。

比例控制能迅速反应误差,从而减少误差,但比例控制不能消除稳态误差;

积分的作用是,只要系统存在误差,积分控制作用就不断的积累,输出控制量以消除误差,因而只要有足够的时间,积分控制将完全消除误差,积分作用太强会使系统超调加大,甚至使系统出现震荡;

微分控制可以减少超调量,克服震荡,使系统稳定性更高,同时加快系统的响应速度,减少调整时间,从而改善系统的动态性能。

(格式:

宋体5号,首行缩进2格,单倍行距,下同)

2方案设计

***********2.12.2***********

3硬件电路设计

3.1硬件总图

3.2被控对象

,硬件设计图如下:

被控对象选择为

3.3译码电路图

此处用到了锁存器和3-8译码器,先对低八位地址锁存,然后对低八位中的P0.6和高八位中的P2.1,P2.2进行译码,由Y3和Y7引出,分别接至模数转换单元的ENABLE和数模转单元的/OE接口,从而实现地址0600和0640对两转换单元的片选。

当地址为0600时CBA输入信号为011,Y3输出低电平片选模数转换单元;

当地址0640为CBA输入信号为111,Y7输出为低电平,片选了数模转换单元。

4控制算法设计

调节器PID模拟4.1.

控制规律为:

增量梯形积分型控制算法数字PID4.2其中有如下近似:

计算可得:

5软件编程设计流程图5.1主程序系系系系系变量初始化等待中断

采样中断服务

程序求误差E(k)同步信号到是D/A输出清零?

否否子程序变量初始化PID采样周期变量减一采样周期变量U(K)输出控制量赋初值采样周期到是?

否采样周期变量赋初植否中断返回

PID子程计Kp*AE(AEKAEK_1)*tKp*(AEK+CEK*Td/T)+Kp*(判积分分离EK+CEK*td+BEK*TK判积分溢判控制量溢取极取极EK_1+Td/Kp*(EK_1+T/TiEK_1)+Kp*(AEK+CEK*tdBEK*TK中断返回

5.2软件程序

#include<

reg51.h>

absacc.h>

math.h>

/*****************************************

宏定义

*****************************************/

#defineucharunsignedchar

#defineuintunsignedint

#defineADC_7XBYTE[0x0600]//定义模数转换IO地址

#defineDAC_1XBYTE[0x0640]//定义D/A第一路的IO地址

全局变量定义

sbitstr=P1^7;

//定义A/D启动信号

sbitDIN0=P1^0;

//声明同步信号

uintdatatime;

//声明变量,用于定时

uchardatat0_h,t0_l;

//用于存储定时器0的初值

charTK=5;

//声明采样周期变量,//采样周期=TK*10ms

charTC;

//TK的变量

floatkp=1.8;

//比例系数

uintti=80;

//积分系数

chartd=2;

//微分系数

charIBAND=120;

//积分分离值

charEK;

//当前采样的偏差值

charEK_1;

//上一次采样的偏差值

charAEK;

//偏差的变化量

charUK;

//当前时刻的D/A输出

charAEK_1;

charBEK;

charCEK;

floatZEK;

主函数

voidmain(void)

{

TMOD=0x01;

time=10;

//定时10ms

t0_h=(65536-1000*time)/256;

//计算定时器0初值

t0_l=(65536-1000*time)%256;

t0_l=t0_l+70;

//修正因初值重装而引起的定时误差

TH0=t0_h;

TL0=t0_l;

IT1=1;

//边沿触发中断

1

开外部中断//=1;

EX1

ET0=1;

//开定时中断0

TR0=1;

//启动定时器

TC=1;

DAC_1=0x80;

//D/A清零

EK=EK_1=0;

//变量清零

AEK=BEK=AEK_1=CEK=UK=0;

ZEK=0;

str=1;

EA=1;

//开总中断

while

(1);

}

/**********************************************

函数名:

INT1

功能:

1号外部中断服务程序

参数:

无*

返回值:

无*

***********************************************/

voidint1()interrupt2using2

floatP,D,I,TEMP,TEMP1;

DIN0=1;

//读取输入前,先输出高电平

if(DIN0)//判同步信号到否

{

UK=AEK=BEK=CEK=AEK_1=0;

DAC_1=0x80;

//D/A输出零

TC=1;

}

else

TC--;

//判采样周期到否

if(TC==0)

EK=ADC_7-128;

//采样当前的偏差值,并计算偏差的变化量

AEK=EK-EK_1;

BEK=(EK+EK_1)/2;

CEK=AEK-AEK_1;

EK_1=EK;

AEK_1=AEK;

if(abs(EK)>

IBAND)I=0;

//判积分分离值

ZEK=EK+ZEK;

I=BEK*TK;

I=I/ti;

P=AEK;

D=CEK*td;

//计算微分项

D=D/TK;

TEMP=(P+I+D)*kp;

//计算比例项

TEMP1=(EK_1+ZEK*TK/ti+AEK_1*td/TK)*kp;

TEMP=TEMP+TEMP1;

if(TEMP>

0)//判控制量是否溢出,溢出赋极值

=127)

UK=127;

UK=(char)TEMP;

if(TEMP<

-128)

UK=-128;

DAC_1=UK+128;

//D/A输出控制量

TC=TK;

//采样周期变量恢复

Timer0

定时器0中断服务程序

voidTimer0()interrupt1using1

//重新装入初值

TL0=t0_l;

str=0;

//产生str=1;

A/D启动信号

6实验结果与分析

6.1实验波形

6.2结果分析

经过对PID参数的调节,最终实现的波形较好的实现了控制的要求,使得阶跃超调小于10%,而且相应时间较快,控制算法及程序是可靠的。

7小结与体会

参考文献

(列出你所利用的参考文献。

格式参见下。

1999

于海生主编,微型计算机控制技术,北京:

清华大学出版社,[1]

[2]张艳兵等编著,计算机控制技术,北京:

国防工业出版社,2008

[3]张毅刚主编,单片机原理及应用,北京:

高等教育出版社,2004

[4]陈涛编著,单片机应用及C51程序设计,北京:

机械工业出版社,2008

[5]楼然苗,李光飞编著,单片机课程设计指导,北京:

北京航空航天大学出版社,2007

控制、电子技术类杂志、报刊[7]

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 中医中药

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1