最少拍控制系统设计Word文档下载推荐.docx
《最少拍控制系统设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《最少拍控制系统设计Word文档下载推荐.docx(14页珍藏版)》请在冰豆网上搜索。
最少拍控制、PID。
3.软件设计:
主程序、定时中断程序、A/D转换程序、滤波程序、D/A输出程序、最少拍控制程序等。
三、课程设计要求
1.模入电路能接受双极性电压输入(-5V~+5V),模出电路能输出双极性电压(-5V~+5V)。
被控对象每个同学选择不同:
3。
设计无纹波最少拍控制器。
被控对象有积分环节的按斜坡输入信号设计控制器,否则按阶跃输入信号设计控制器。
4.定时中断间隔可在10—50ms中选取,采样周期取采样中断间隔的整数倍,可取1000—2000ms,由实验结果确定。
5.滤波方法可选择平均值法,中值法等.
四、课程设计实验结果
1。
控制系统能正确运行。
2.按设计信号下的系统输出响应。
3。
其他典型输入信号下的系统输出响应。
五、进度安排
序号
内容
天数
1
布置任务,查阅资料
0.5
2
总体方案确定,硬件电路设计
1.5
3
熟悉实验箱及C语言开发环境,研读范例程序,
4
控制算法设计
5
软件编程,调试
6
实验
7
总结,撰写课程设计报告
六、课程设计报告内容:
总结设计过程,写出设计报告,设计报告具体内容要求如下:
1.课程设计的目和设计的任务.
2.课程设计的要求。
3.控制系统总框图及系统工作原理。
4.控制系统的硬件电路连接图(含被控对象),电路的原理.
5.软件设计流程图及其说明。
6.电路设计,软件编程、调试中遇到的问题及分析解决方法。
7.实验结果及其分析。
8.体会。
七、参考文献
(列出你所利用的参考文献。
格式参见下.)
[1]于海生主编,微型计算机控制技术,北京:
清华大学出版社,1999
[2]张艳兵等编著,计算机控制技术,北京:
国防工业出版社,2008
[3]张毅刚主编,单片机原理及应用,北京:
高等教育出版社,2004
[4]陈涛编著,单片机应用及C51程序设计,北京:
机械工业出版社,2008
[5]楼然苗,李光飞编著,单片机课程设计指导,北京:
北京航空航天大学出版社,2007
[6]控制、电子技术类杂志、报刊
第二部分
课
程
设
计
报
告
1.课题简介
1.1课程设计内容…………………………………………………………5
2课程设计要求…………………………………………………………5
2.方案设计
2.1设计步骤……………………………………………………………………5
2控制系统总框图及系统工作原理………………………………………6
3.硬件电路设计
1被控对象设计………………………………………………………………8
3.2硬件电路连接图……………………………………………………………9
4.控制算法设计……………………………………………………10
5.软件编程设计
5。
1流程图………………………………………………………………………11
5.2程序设计………………………………………………………………………12
6.实验结果与分析…………………………………………………14
7.心得体会…………………………………………………………14
1课题简介(宋体4号加粗)
1.1课程设计内容
设计以89C51单片机、ADC、DAC等电路和运放电路组成的被控对象构成的单闭环反馈控制系统。
1.硬件电路设计:
89C51最小系统加上模入电路ADC0809和模出电路TLC7528;
最少拍控制.
主程序、定时中断程序、A/D转换程序、滤波程序、D/A输出程序、最少拍控制程序等.
2课程设计要求
模入电路能接受双极性电压输入(—5V~+5V),模出电路能输出双极性电压(-5V~+5V)。
2.被控对象
3.设计无纹波最少拍控制器.被控对象有积分环节的按斜坡输入信号设计控制器,否则按阶跃输入信号设计控制器。
4。
定时中断间隔可在10-50ms中选取,采样周期取采样中断间隔的整数倍,可取1000—2000ms,由实验结果确定。
滤波方法可选择平均值法,中值法等.
2方案设计
2.1设计步骤
先进行硬件设计,根据Gz改造被控对象
进行最少拍控制算法计算
读范例程序,画出流程图,进行修改
调试实验结果
2.2控制系统总框图及系统工作原理
最小拍双通道采样的闭环系统框图如上所示,在该系统中对给定值r(t)进行D/A转换采样,得到离散化的r(z),并且对输出值c(t)也进行D/A转换,得到c(z),然后计算有e(k)=c(k)—r(z)。
D(z)为计算机控制系统的脉冲传递函数,U(z)为输出的控制量,然后经过A/D转换后得到模拟控制量U(t)对包含零阶保持器的被控量进行控值进而达到要求的最小拍控制的目的。
误差E=R-C经运放运算得到,并由模数转换器采集.最少拍控制算法由软件程序和单片机实现。
输出U经数模转换器和零阶保持器转换成模拟信号送至被控对象.被控对象由两只运放及阻容元件构成.
3硬件电路设计
1被控对象
由运放及阻容元件搭建,电路图如下:
3.2硬件电路原理图
4控制算法设计
1
被控对象含有一个积分环节,采用单位速度输入信号,q=2
D=0,q=2,v=1,w=1,j=1
m=w+d=1
n=v—j+q=2
2
5软件编程设计
1流程图
5.2程序
#include<
reg51。
h>
#include〈absacc.h>
#include<
math。
/*****************************************
宏定义
*****************************************/
#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;
//边沿触发中断
EX1=1;
//开外部中断1
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;
ZEK=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;