计算机课程设计有限拍控制设计.docx
- 文档编号:12216351
- 上传时间:2023-04-17
- 格式:DOCX
- 页数:18
- 大小:283.40KB
计算机课程设计有限拍控制设计.docx
《计算机课程设计有限拍控制设计.docx》由会员分享,可在线阅读,更多相关《计算机课程设计有限拍控制设计.docx(18页珍藏版)》请在冰豆网上搜索。
计算机课程设计有限拍控制设计
《计算机控制》课程设计报告
题目:
有限拍控制设计
2008年11月28日
《计算机控制》课程设计任务书
专业
电气工程及其自动化
班级
学生
指导教师
题目
有限拍控制设计
设计时间
2008年11月22日至2008年11月28日共1周
设计要求
设计任务:
采用零阶保持器的单位反馈离散系统,被控对象为
,采样周期T=1s,要求系统输入信号为
时,稳态误差为零,并在有限拍结束过渡过程,用离散设计法设计数字控制器。
方案设计:
1.采用Matlab完成控制系统的建立、分析、设计和模拟仿真;
2.选择元器件,完成电路设计,控制器采用MCS-51系列单片机(传感器、功率接口以及人机接口等可以暂不涉及),使用Protel绘制原理图;
3.控制算法采用单片机C语言编程实现(应通过编译,无语法错误)。
报告内容:
1.控制系统仿真和设计步骤,应包含Matlab仿真的性能曲线、采样周期T的选择、数字控制器脉冲传递函数和差分方程形式;
2.元器件选型过程,电路设计过程,绘制的Protel原理图;
3.算法流程图,含有详细注释的C语言源程序;
4.设计工作总结及心得体会;
5.列出所查阅的参考资料。
指导教师签字:
系(教研室)主任签字:
2008年11月21日
一、题目分析
根据题目要求,设计有限拍控制器。
被控对象为
,采样周期T=1s,输入信号为
。
要求稳态误差为零,并在有限拍结束过渡过程。
根据所学知识,选择非最小拍误差设计方法来设计。
二、设计数字控制器
1.离散控制器的计算
根据有限拍设计方法,在
中提高
的幂次,在
中增加一些待定系数,增加其自由度。
计算过程如下:
(T=1s)
(1)
(2)
按照速度输入,有
(3)
(4)
(5)
将
,
,
分别代入上式,可以得到
(6)
其中
为待定系数。
2.matlab仿真与参数调整
在Matlab中,使用simulink进行仿真,首先绘制控制系统的结构图如下:
图1.控制系统结构图
分别调整各个环节的参数,采样周期选择1s,输入信号为
,
。
其中D(z)表达式如(6)式,调整系数
的大小,观察控制器的输出u(t)以及系统的输出c(t),选择最佳
值。
输入信号的波形图如下:
图2.输入信号波形
(1)
=0.5时,控制器的输出u(t)以及系统的输出c(t)图如下:
图3.
图4.
(2)
=0.7时,控制器的输出u(t)以及系统的输出c(t)图如下:
图5
图6
(3)
=1.0时,控制器的输出u(t)以及系统的输出c(t)图如下:
图7.
图8.
从仿真的波形来看,当α分别取0.5、0.7、1.0时,系统输出稳态误差均为零。
但是随着α的增大,控制器的输出振铃越来越大,系统输出的波动也越来越大,因此,综合考虑,选择α=0.5.
因此,数字控制器的表达式为:
(7)
差分方程为:
(8)
至此,数字控制器的理论设计就完成了。
三、电路的设计
元器件选型过程,电路设计过程,绘制的Protel原理图;
1.由于51单片机大部分不带AD转换器,所以模拟量的采集就必须靠A/D实现。
我们选择8位精度的AD转换器AD0809。
ADC0809是8位逐次逼近型A/D转换器。
它由一个8路模拟开关、一个地址锁存译码器、一个A/D转换器和一个三态输出锁存器组成(见图1)。
ALE为地址锁存允许输入线,高电平有效。
当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。
因此将ALE接成高电平。
A,B和C为地址输入线,用于选通IN0-IN7上的一路模拟量输入。
设计输入口为IN0,故将ABC接地。
ST为转换启动信号。
当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。
设计将ST接单片机P0.0。
由程序控制次信号高低转换。
EOC为转换结束信号。
当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。
设计将其接单片机P0.0.由程序读入,判断AD是否转换完成。
OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。
OE=1,输出转换得到的数据;OE=0,输出数据线呈高阻状态。
将其直接接高。
D7-D0为数字量输出线。
接单片机P1.
CLK为时钟输入信号线。
因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,
通常使用频率为500KHZ,设计电路接单片机P3.3,由程序控制电平高低转换,产生时钟信号。
VREF(+),VREF(-)为参考电压输入。
AD与单片机电路如下:
2.DA选择DAC0832。
具有8位并行、中速(建立时间1us)、电流型、低廉(10~20元)的特点。
WR有效电平为低电平,此时DA转换。
设计电路将WR接单片机P3.6.由程序控制P3.6的高低。
DA输入端DI0-DI7接单片机P2口。
由程序控制P2的高低。
DA与单片机的连接电路如下:
DA输出电路用双极性电路,使输出电压极性可正可负。
电路图如下:
3.设计单片机的电路需要考虑单片机的晶振电路,注意不要忘记接电源。
单片机晶振电路:
Protel绘制原理图:
图9.数字控制器电路图
四、程序设计
1.程序流程图
图10.主程序流程图
图11.AD采样子程序流程图
图12.中断服务程序流程图
2.源程序
#include
sbitst=P0^0;
sbitwr=P3^6;
sbitCLK=P3^3;
sbitEOC=P0^1;
charuk1=0,uk2=0,uk3=0,ek=0,ek1=0,ek2=0,ek3=0;
unsignedchara=0;
floatuk;
charad0809(void)
{
unsignedcharout;
st=0;
st=1;
st=0;
while(EOC==0);
out=P1;
returnout;
}
voidTimeInitial()
{
IP=0x08;
TMOD=0x11;
TH1=(65536-200)/256;
TL1=(65536-200)%256;
TH0=0x3C;
TL0=0XB0;
TR0=1;
ET0=1;
ET1=1;
TR1=1;
EA=1;
}
voidmain(void)
{
TimeInitial();
P0=0xff;
EOC=1;
st=0;
while
(1);
}
voidt1(void)interrupt3using0
{
TH1=(65536-200)/256;
TL1=(65536-200)%256;
CLK=~CLK;
}
voidt0(void)interrupt1using1
{
TH0=0X3C;
TL0=0XB0;
if(a<20)
{
a++;
}
else
{
a=0;
wr=0;
ek=ad0809();
ek=ek-128;
uk=1.5*uk1-0.5*uk3+ek-1.5*ek1-0.5*ek2+0.5*ek3;
if(uk>0)
{
if(uk>127)
uk=127;
P2=(char)(uk)+128;
}
else
{
if(uk<-127)
uk=-127;
P2=(char)(uk)+128;
}
uk1=uk;
uk2=uk1;
uk3=uk2;
ek1=ek;
ek2=ek1;
ek3=ek1;
wr=1;
}
}
五、设计心得
通过本次课程设计,我们熟悉掌握了设计数字控制器的一般步骤,熟练掌握了MATLAB仿真软件、PROTEL仿真软件以及KEIL编程软件。
从一开始的分析题目,到后来的分工合作,我们三个小组成员都配合默契。
尽管在设计的过程中遇到了一些问题,比如,控制器设计方案的选择,MATLAB仿真模型建立中遇到的问题等等,但是通过我们的共同努力,终于按照题目要求完成了本次课程设计。
我们所学到的不仅仅是本次设计的内容,更多的是分析问题、解决问题的能力,还有团队合作的能力。
六、参考文献
张毅刚.单片机原理及应用高等教育出版社
李铁桥张虹.计算机控制理论与应用哈尔滨工业大学出版社
陈在平杜太行.控制系统计算机仿真与CAD天津大学出版社
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 课程设计 有限 控制 设计