微分先行PID控制系统设计Word文件下载.docx
- 文档编号:21572161
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:17
- 大小:121.10KB
微分先行PID控制系统设计Word文件下载.docx
《微分先行PID控制系统设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《微分先行PID控制系统设计Word文件下载.docx(17页珍藏版)》请在冰豆网上搜索。
四、课程设计要求
1.模入电路能接受双极性电压输入(-5V~+5V),模出电路能输出双极性电压(-5V~+5V)。
2.被控对象每个同学选择不同:
3.PID参数整定,根据情况可用扩充临界比例度法,扩充响应曲线法。
4.定时中断可在10-50ms中选取,采样周期取采样中断的整数倍,可取30-150ms,由实验结果确定。
5.滤波方法可选择平均值法,中值法等。
有关的设计要求可参考《计算机控制实验指导书》的相关内容。
五、课程设计实验结果
1.系统正确运行
2.正确整定PID参数后,系统阶跃响应超调<
10%,调节时间尽量短。
六、进度安排
序号
内容
天数
1
布置任务,查阅资料
0.5
2
总体方案确定,硬件电路设计
1.5
3
熟悉实验箱及C语言开发环境,研读范例程序,
4
控制算法设计
5
软件编程,调试
6
实验
7
总结,撰写课程设计报告
七、课程设计报告内容:
总结设计过程,写出设计报告,设计报告具体内容要求如下:
1.课程设计的目和设计的任务。
2.课程设计的要求。
3.控制系统总框图及系统工作原理。
4.控制系统的硬件电路连接图(含被控对象),电路的原理。
5.软件设计流程图及其说明。
6.电路设计,软件编程、调试中遇到的问题及分析解决方法。
7.实验结果及其分析。
8.体会。
第二部分
课
程
设
计
报
告
1课题简介
1.1课程名称............................................................................................................................6
1.2课程设计目的....................................................................................................................6
1.3课程设计内容....................................................................................................................6
1.4课程设计要求....................................................................................................................6
2方案设计
2.1设计步骤.............................................................................................................................7
2.1系统流程图及工作原理.....................................................................................................7
3硬件电路设计
3.1被控对象设计.......................................................................................................................8
3.2硬件电路图............................................................................................................................8
4控制算法设计...............................................................................................................................9
5软件编程设计
5.1设计流程图.............................................................................................................................10
5.2程序.........................................................................................................................................11
6实验结果与分析..........................................................................................................................15
7小结与体会.....................................................................................................................................17
参考文献................................................................................................................................................18
1课题简介
1.1课题名称
1.2课程设计目的
1.3课程设计内容
设计以89C51单片机、ADC、DAC等电路和运放电路组成的被控对象构成单闭环反馈控制系统。
PID控制加史密斯预估控制。
主程序、定时中断程序、A/D转换程序、滤波程序、D/A输出程序、PID控制加史密斯预估控制程序。
1.4课程设计要求
2.被控对象
3.定时中断间隔可在10-20ms中选取,采样周期T取采样中断间隔的整数倍,可取30-50ms。
4.PID控制器用凑试法整定。
5.滤波方法可选择平均值法,中值法等。
2微分先行PID控制方案设计
2.1设计步骤
1、进行硬件设计,根据G(Z)改造被控对象
2、进行微分先行控制算法计算
3、读范例程序,画出流程图,进行修改
4、连线,调试实验结果
2.2控制系统总框图及系统工作原理
图1 系统框图
(1)采样y(t)
(2)计算
(3)计算
(4)进行PI计算u(k)
(5)输出u(k)
微分先行PID原理:
它和标准PID控制的不同之处在于,只对被控量y(t)微分,不对偏差e(t)微分,也就是说对给定r(t)无微分作用。
这样就可避免给定值的升降给控制系统带来冲击。
3微分先行PID控制硬件电路设计
3.1被控对象设计
被控对象
由运放和电阻电容组成,如图2所示。
其中,
R1=100K,C1=2Uf,R2=20K
R3=100K,C2=4Uf,R4=200K
图2 被控对象电路图
3.2硬件电路连接图
图3 硬件电路连线图
4微分先行PID控制控制算法设计
其中
而yd(k)可通过双线性变换法得到,过程如下
………………①
由①式变型、整理得
………②
将上式k变换得到
………③
5微分先行PID控制软件编程设计
5.1设计流程图
图4 设计流程图
5.2程序
/*****************************************
文件名:
PID.C
功能描述:
实现数字PID调节器的功能。
*****************************************/
#include<
reg51.h>
absacc.h>
math.h>
宏定义
#defineucharunsignedchar
#defineuintunsignedint
#defineADCXBYTE[0x0600]//定义模数转换IO地址
#defineDAC_1XBYTE[0x0640]//定义D/A第一路的IO地址
#defineDAC_2XBYTE[0x0641]//定义D/A第二路的IO地址
全局变量定义
sbitstr=P1^7;
//定义A/D启动信号
sbitDIN0=P1^0;
//声明同步信号
sbitstr0=P1^4;
//声明ADC信号
uintdatatime;
//声明变量,用于定时
uchardatat0_h,t0_l;
//用于存储定时器0的初值
charTK=5;
//声明采样周期变量,//采样周期=TK*10ms
charTC;
//TK的变量
floatT=0.05;
floatkp=0.9;
//比例系数
uintti=500;
//积分系数
floattd=8;
//微分系数
charIBAND=126;
//积分分离值
floatV=1.1;
charEK;
//当前采样的偏差值
charYK;
charYK_1;
charYDK;
charYDK_1;
charRK;
charEK_1;
//上一次采样的偏差值
charAEK;
//偏差的变化量
charUK;
//当前时刻的D/A输出
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;
//边沿触发中断
EX1=1;
//开外部中断1
ET0=1;
//开定时中断0
TR0=1;
//启动定时器
TC=1;
DAC_1=0x80;
//D/A清零
EK=EK_1=0;
//变量清零
AEK=UK=0;
ZEK=0;
str=1;
str0=1;
EA=1;
//开总中断
while
(1);
}
/**********************************************
函数名:
INT1
功能:
1号外部中断服务程序
参数:
无*
返回值:
无*
***********************************************/
voidint1()interrupt2using2
{
floatP,A,B,C,I,TEMP;
inti;
DIN0=1;
//读取输入前,先输出高电平
if(DIN0)//判同步信号到否
{
YK=YK_1=0;
YDK=YDK_1=0;
//变量清零
UK=AEK=0;
ZEK=0;
DAC_1=0x80;
//D/A输出零
DAC_2=0x80;
TC=1;
}
else
TC--;
//判采样周期到否
if(TC==0)
{
RK=ADC-128;
//采样当前的偏差值,并计算偏差的变化量
str0=0;
str=0;
str=1;
for(i=0;
i<
15;
i++);
YK=ADC-128;
str0=1;
A=(2*V*td-T)/(T+2*V*td);
B=(T+2*td)/(T+2*V*td);
C=(T-2*td)/(T+2*V*td);
YDK=A*YDK_1+B*YK+C*YK_1;
EK=RK-YDK;
if(abs(EK)>
IBAND)I=0;
//判积分分离值
else
{
ZEK=EK+ZEK;
//计算积分项
I=ZEK*TK;
I=I/ti;
}
P=EK;
TEMP=(P+I)*kp;
//计算比例项
if(TEMP>
0)//判控制量是否溢出,溢出赋极值
if(TEMP>
=127)
UK=127;
else
UK=(char)TEMP;
if(TEMP<
-128)
UK=-128;
DAC_1=UK+128;
//D/A输出控制量
TC=TK;
//采样周期变量恢复
}
Timer0
定时器0中断服务程序
无
voidTimer0()interrupt1using1
{
//重新装入初值
str=0;
//产生A/D启动信号
6实验结果与分析
①
kp=0.8;
ti=500;
td=8
此时,系统响应较慢,可以通过增大微分时间常数调节
②
ti=500;
td=9
此时,系统的响应性能得到改善,但是存在一定静差,可以通过调节比例增益kp来减小
③
kp=0.9;
td=9
通过调节三个参数,系统性能基本达到要求
7小结与体会
通过这次的课程设计,我对《计算机控制技术》这门课和课程设计有了一个全新的认识,也有了很多的体会和心得。
通过课程设计,我对控制算法设计有了一个更深的认识,也学会了控制算法的实际应用,从整体上了解了计算机控制系统的实际组成,掌握了计算机控制系统的整体设计方法和设计步骤,编程调试,为从事计算机控制系统的理论设计和系统的整定工作打下基础。
按照老师给出的计划,先进行最少拍控制算法计算,接电路,读范例程序,画出流程图,进行修改,调试实验结果。
思路很清晰,目标很明确。
在设计的过程中虽然遇到问题,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,计算容易出错,软件使用不熟练,但我们几个小组同心协力、分工协作、互相探讨,保证了结果的正确性。
作为工科专业的一名学生,对于动手能力有很大的要求。
因此我们需要珍惜每次做实验的机会,尽可能的提高自己的实践操作技能。
也要利用各种机会,以及创造实践的机会,不断充实自己,为自己的将来增加更多砝码,短短一周的课程设计,使我明白了合作的重要性和力量,我还要加强自己的动手能力,我为将来走入社会做准备。
同时我也发现了自己所掌握的知识是真正如此的缺乏,自己综合应用所学的专业知识能力是如此的不足,我深深体会到干任何事情都必须耐心、细致,充满信心。
我懂得了不管做什么一定要养成一种高度负责、认真对待的态度。
这次的课程设计也使我认识到任何课程的学习都需要理论结合实际,这样才能更好地掌握所学的知识并将它很好地应用于实践中。
同时,在实践过程中,可以通过查找资料、分析资料和请教老师和同学,使一些不清楚的问题得以解决,这样的话,可以起到事半功倍的效果。
当然,最关键的还是靠自己亲自去思考问题、解决问题,掌握独自面对各类的问题的方法。
不少人抱怨在大学学不到东西,我不这样认为。
我觉得无论是学习还是生活中,只有自己真正用心去学习和参与才可能有收获,这也算是本次课程设计给我的知识之外的一点小小的感悟吧。
总之,本次课程设计收获确实良多,和珍惜这种能够锻炼自己、提升自己的机会。
通过这次课程设计,我得到了一次难得的磨练,让我学到了很多,提高了自己的实验素养,也增强了自己的信心。
最后,我要感谢老师和我的同学对我的无私帮助,对我个人而言这次课程设计将会成为永远的回忆。
参考文献
[1]于海生主编,微型计算机控制技术,北京:
清华大学出版社,1999
[2]张艳兵等编著,计算机控制技术,北京:
国防工业出版社,2008
[3]张毅刚主编,单片机原理及应用,北京:
高等教育出版社,2004
[4]陈涛编著,单片机应用及C51程序设计,北京:
机械工业出版社,2008
[5]楼然苗,李光飞编著,单片机课程设计指导,北京:
北京航空航天大学出版社,2007
[7]控制、电子技术类杂志、报刊
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微分 先行 PID 控制系统 设计