扬州大学机控课程设计大林算法控制系统设计.docx

上传人:b****2 文档编号:24628145 上传时间:2023-05-29 格式:DOCX 页数:23 大小:248.99KB
下载 相关 举报
扬州大学机控课程设计大林算法控制系统设计.docx_第1页
第1页 / 共23页
扬州大学机控课程设计大林算法控制系统设计.docx_第2页
第2页 / 共23页
扬州大学机控课程设计大林算法控制系统设计.docx_第3页
第3页 / 共23页
扬州大学机控课程设计大林算法控制系统设计.docx_第4页
第4页 / 共23页
扬州大学机控课程设计大林算法控制系统设计.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

扬州大学机控课程设计大林算法控制系统设计.docx

《扬州大学机控课程设计大林算法控制系统设计.docx》由会员分享,可在线阅读,更多相关《扬州大学机控课程设计大林算法控制系统设计.docx(23页珍藏版)》请在冰豆网上搜索。

扬州大学机控课程设计大林算法控制系统设计.docx

扬州大学机控课程设计大林算法控制系统设计

扬州大学能源与动力工程学院

课程设计报告

 

题目:

大林算法控制系统设计

课程:

计算机控制技术课程设计

专业:

电气工程及其自动化

班级:

姓名:

学号:

 

 

第一部分

 

 

《计算机控制技术》课程设计任务书

一、课题名称

大林算法控制系统设计

二、课程设计目的

课程设计是课程教学中的一项重要内容,是达到教学目标的重要环节,是综合性较强的实践教学环节,它对帮助学生全面牢固地掌握课堂教学内容、培养学生的实践和实际动手能力、提高学生全面素质具有很重要的意义。

《计算机控制技术》是一门理论性、实用性和实践性都很强的课程,课程设计环节应占有更加重要的地位。

计算机控制技术的课程设计是一个综合运用知识的过程,它需要控制理论、程序设计、硬件电路设计等方面的知识融合。

通过课程设计,加深对学生控制算法设计的认识,学会控制算法的实际应用,使学生从整体上了解计算机控制系统的实际组成,掌握计算机控制系统的整体设计方法和设计步骤,编程调试,为从事计算机控制系统的理论设计和系统的调试工作打下基础。

三、课程设计内容

设计以89C51单片机和ADC、DAC等电路、由运放电路实现的被控对象构成的计算机单闭环反馈控制系统。

1.硬件电路设计:

89C51最小系统加上模入电路(用ADC0809等)和模出电路(用TLC7528和运放等);由运放实现的被控对象。

2.控制算法:

大林控制算法。

3.软件设计:

主程序、中断程序、A/D转换程序、滤波程序、大林算法控制程序、D/A输出程序等。

四、课程设计要求

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

2.模入电路用两个通道分别采集被控对象的输出和给定信号。

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

4.对象的纯延迟环节

用软件通过数组单元移位实现。

5.定时中断间隔选取50ms,采样周期T要求既是采样中断间隔的整数倍,又满足

6.闭环系统时间常数

的被控对象最大时间常数选择。

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

五、课程设计实验结果

1.控制系统能正确运行。

2.有振铃和消除振铃的系统阶跃输出和控制器。

六、进度安排

序号

内容

天数

1

布置任务,熟悉课题要求

0.5

2

总体方案确定,硬件电路设计

1.5

3

熟悉实验箱及C语言开发环境,研读范例程序,

1

4

控制算法设计

1

5

软件编程,调试

1

6

实验

1

7

总结,撰写课程设计报告

1

七、课程设计报告内容:

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

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

2.课程设计的要求。

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

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

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

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

7.实验结果及其分析。

8.体会。

 

第二部分

 

 

1课程简介……………………………………………………………………………………..7

1.1程设计目的.....................................................................................................................7

1.2程设计内容....................................................................................................................7

1.3程设计要求......................................................................................................................7

2方案设计...............................................................................................................................8

2.1控制系统整体方案...........................................................................................................8

2.2控制系统闭环工作原理...................................................................................................8

3大林算法硬件电路设计………………………………………………………………….…..8

3.1A/D采样电路.....................................................................................................................8

3.2D/A输出电路……………………………….....................………......…………......10

3.3给定对象硬件电路设计..................................................................................................10

3.4译码电路.........................................................................................................................11

3.5总硬件图.........................................................................................................................12

4控制算法设计...........................................................................................................................12

4.1控制算法的原理................................................................................................................12

4.2采样周期.............................................................................................................................12

5软件编程设计..........................................................................................................................12

5.1主程序与中断流程图.........................................................................................................12

5.2部分控制程序代码..............................................................................................................13

3.全局变量定义的源代码:

....................................................................................................16

6实验结果与分析.......................................................................................................................17

7小结与体会...............................................................................................................................17

参考文献.....................................................................................................................................18

附录.............................................................................................................................................19

 

1、课题简介

1.1课题目的

课程设计是课程教学中的一项重要内容,是达到教学目标的重要环节,是综合性较强的实践教学环节,它对帮助学生全面牢固地掌握课堂教学内容、培养学生的实践和实际动手能力、提高学生全面素质具有很重要的意义。

《计算机控制技术》是一门理论性、实用性和实践性都很强的课程,课程设计环节应占有更加重要的地位。

计算机控制技术的课程设计是一个综合运用知识的过程,它需要控制理论、程序设计、硬件电路设计等方面的知识融合。

通过课程设计,加深对学生控制算法设计的认识,学会控制算法的实际应用,使学生从整体上了解计算机控制系统的实际组成,掌握计算机控制系统的整体设计方法和设计步骤,编程调试,为从事计算机控制系统的理论设计和系统的调试工作打下基础。

1.2课题内容

设计以89C51单片机和ADC、DAC等电路、由运放电路实现的被控对象构成的计算机单闭环反馈控制系统。

1.硬件电路设计:

89C51最小系统加上模入电路(用ADC0809等)和模出电路(用TLC7528和运放等);由运放实现的被控对象。

2.控制算法:

大林控制算法。

3.软件设计:

主程序、中断程序、A/D转换程序、大林算法控制程序、D/A输出程序等。

1.3课题要求

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

2.模入电路用两个通道分别采集被控对象的输出和给定信号。

3.选择被控对象:

4.对象的纯延迟环节

用软件通过数组单元移位实现。

5.定时中断间隔选取50ms,采样周期T要求既是采样中断间隔的整数倍,又满足

6.闭环系统时间常数

的被控对象最大时间常数选择。

 

2.大林算法控制系统方案设计

2.1控制系统总体介绍

图2.1-1大林算法设计的闭环控制系统方框图

大多数工业对象具有较大的纯滞后时间,可以近似用一阶或二阶惯性环节加纯滞后环节来表示,其传递函数为

一阶对象:

二阶对象:

大林算法的设计目标是使整个闭环系统所期望的传递函数Φ(s)相当于一个纯滞后环节和一个惯性环节相串联,即

并希望整个闭环系统的纯滞后时间和被控对象的纯滞后时间相同。

其中为闭环系统的时间常数,纯滞后时间与采样周期T有整数倍关系,(N=1,2﹒﹒﹒﹒)。

2.2控制系统闭环工作原理

在本次大林算法控制系统中,系统先进行A/D采样,将给定值采样值取到单片机内,之后单片机会选择另外一路通道,进行输出值即反馈值的采样。

将输出值采样到单片机内后,在单片机中进行差值E(k)计算,再通过单片机中的算法程序得到输出量U(k),再经过D/A变换器,将输出结果作用于被控对象。

经被控对象的输出值又将作为反馈值被采样到单片机内。

3.大林算法控制系统硬件电路设计

3.1A/D采样电路

该实验的A/D采样硬件电路如图3-1所示

图3-1A/D采样硬件电路图

上图所示的是ADC0809与8051连接的硬件电路图,其中在ADC0809中,IN-6、IN-7分别采样给定信号和反馈信号,A\D转换器的引脚A接单片机的P1^6,用于选择采样通道。

控制计算机的定时器作为基准时钟(初始化为50ms),在第一次启动A/D转换时,此时P1^6=0,选择的IN-6,采样的是给定信号,当采样周期到时,此时P1^6=1,同时在定时器中启动A/D转换,此时采样的是反馈信号,给定信号和反馈信号的采样值分别存储在程序的RK和UK1中。

模数单元采用ADC0809芯片,主要包括多路模拟开关和A/D转换器两部分。

其主要特点为:

单电源供电、工作始终CLOCK最高可达1200KHz、8位分辨率、8个单端模拟输入端(IN0~IN7)、TTL电平兼容等,可以很方便地和微处理器接口。

通过三端地址译码A、B、C多路开关可选通8路模拟输入的任何一路进行A/D变换。

其中IN1~IN5的模拟量输入允许范围:

0V~4.98V,对应数字量为00H~FFH,2.5V对应80H;IN6和IN7两路由于接了上拉电阻,所以模拟量输入允许范围:

-5V~+4.98V,对应数字量00H~FFH,0V对应80H。

在设计过程中使用的TD-ACC+教学系统中的ADC0809芯片,其输出八位数据线以及CLOCK线已连到控制计算机的数据线及系统应用时钟1MCLK(1MHz)上。

其它控制线根据实验要求可另外连接(A、B、C、STR、/OE、EOC、IN0~IN7)。

其中IN6和IN7可以测量-5V~+5V的量,主要是因为加了外部电路。

如图所示,在IN6和IN7的实际输入端其输入范围为0~5V,在外围电路中,采用两个相同电阻分压的方式,因为给了一个5V的电压,当输入端为-5V时,0809的实际输入端为两者相加之和的一半,为0V,在0809采样电压的范围以内。

但将该采样值取进单片机内后,其表示范围为-128~127,对应为0~5V的电压,所以我们需要在程序里将采样值减去128以使采样值与设定值相对应。

因此加了外部电路,0809就可以采集-5~+5V的电压了。

 

3.2D/A输出电路

数模转换单元采用TLC7528芯片,它是8位、并行、两路、电压型输出模数转换器。

其主要参数如下:

转换时间100ns,满量程误差1/2LBS,参考电压-10V~+10V,供电电压+5V~+15V,输入逻辑电平与TTL兼容。

输入数字范围为00H~FFH,80H对应于0V,输出电压为-5V~+4、96V。

在课程设计过程中采用的TD-ACC+教学系统中的TLC7528,其输入数字量得八位数据线、写线和通道选择控制线已经接至控制计算机的总线上。

片选线预留出待实验中连接到相应的I/O片选上,如图3-2。

 

图3-2D/A输出电路

该芯片TLC7528可以双极性输出,但须在单片机中将D/A的输出值加128后再交给TLC7528芯片进行D/A输出。

3.3给定对象硬件电路设计

图3-3给定对象硬件电路图

如图3-3所示,为被控对象的硬件电路的设计图,在本次的课程设计中的被控对象传递函数:

,其中比例部分由两个运算放大器组合实现,即,第一个运算放大器的积分部分为4×200÷1000=0.8,实现被控对象的第一部分,第二个运算放大器的积分部分为4×250÷1000=1,实现被控对象的第二部分。

延迟通过数组来实现,滞后环节使信号延迟,为此,在内存中专门设定N个单元作为存放信号m(k)的历史数据,每采样一次,把m(k)记入0单元,同时0单元原来存放的数据移到1单元,单元N输出的信号,就是滞后N个采样周期的m(k-N)信号。

3.4译码电路

图3-4译码电路

3.5总硬件图

见附录图总硬件图

4.大林算法控制系统算法设计

4.1控制算法的原理

实验算法中,用脉冲传递函数近似法求得对应的闭环脉冲传递函数:

将代入,并进行Z变换:

式中

经计算

无振铃时,有

于是对应的递推公式为

u(k)=-0.4981u(k-1)+0.9409u(k-2)+0.5573u(k-3)+1.4967e(k)-1.7089e(k-1)+0.4859e(k-2)

则程序中

KK0=1.4967,KK1=-1.7089,KK2=0.4859,PP1=-0.4981,PP2=0.9409,PP3=0.5573

4.2采样周期的选择

在本实验中,定时中断间隔选取50ms,采样周期T要求既是采样中断间隔的整数倍,又要满足,而由被控对象的表达式可知,所以取N=1,

因为,

因为采样周期T=500ms=0.5s,定时中断为0.5s,就是说1个定时中断后进行采样。

 

5.大林算法控制系统软件编程设计

5.1主程序与中断流程图

主程序流程图:

 

设定时器工作状态

定时器装入初值

设定外中断类型

开外中断和定时器中断

启动定时器

D/A清零

变量清零

 

图5.1-1

采样中断服务程序流程图:

图5.1-2

5.2部分控制程序代码

1.主程序部分源码:

voidmain(void)

{

TMOD=0x01;

t0_h=(65536-15536)/256;//计算定时器0初值

t0_l=(65536-15536)%256;

t0_l=t0_l+20;//修正因初值重装而引起的定时误差

TH0=t0_h;

TL0=t0_l;

IT1=1;//边沿触发中断

EX1=1;//开外部中断1

ET0=1;//开定时中断0

TR0=1;//启动定时器

TC=1;

DAC_1=0x80;//D/A清零

UK=UK_1=UK_2=UK_3=0;//变量清零

EK=EK_1=EK_2=EK_3=0;

RK=RK_1=RK_2=RK_3=0;

bb=0;

EA=1;//开总中断

FLG=0;

DOUT0=0;

while

(1);

}

主程序的功能主要是:

对定时器的赋值、开外中断、初始各变量,其中while

(1)是使主程序进入死循环,等待中断到来。

2.采样中断程序的部分源码:

(1)判断同步信号程序:

DIN0=1;//读取输入前,先输出高电平

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

{

UK=UK_1=UK_2=UK_3=0;

EK=EK_1=EK_2=EK_3=0;

RK=RK_1=RK_2=RK_3=0;

DAC_1=0x80;//D/A输出零

TC=1;

}

(2)双通道采样:

{

TC--;//判采样周期到否

if(TC==0)

{

if(FLG==0)

{

RK=ADC_7-128;//采样当前的给定值

DOUT0=1;

FLG=1;

TC=TK;

}

else

{

FLG=0;

UK=ADC_7-128;//采样当前的输出值,并计算偏差的变化量

DOUT0=0;

EK=RK-UK;

EK_1=RK_1-UK_1;

EK_2=RK_2-UK_2;

EK_3=RK_3-UK_3;

i=KK*0EK*+KK1*EK_1+EK_2*KK2

j=PP1*UK_1+PP2*UK_2+PP3*UK_3;

UK=G*i+j;

if(UK>0)//判控制量是否溢出,溢出赋极值

{

if(UK>127)

aa=127;

else

aa=(char)UK;

}

else

{

if(UK<-128)

aa=-128;

else

aa=(char)UK;

}

DAC_1=bb+128;//D/A输出控制量

bb=aa;

UK_3=UK_2;//控制量递推

UK_2=UK_1;

UK_1=UK;

EK_3=EK_2;//偏差递推

EK_2=EK_1;

EK_1=EK;

TC=TK;//采样周期变量恢复

}

}

}

}

双通道采样原理说明:

由于在主程序中,将DOUT2置“0”,已经选择了采样通道IN6,第一次进行A/D转换时,对给定信号进行采样,并将采样值存储在RK中,同时将DOUT2置“1”,这时将A/D通道IN7选中,等待采样周期到时,则采样反馈信号,并将采样值存储在UK1中,在变量定义中,已经将P1.6定义为DOUT2,故改变DOUT2值就改变了P1.6。

中断程序实现的功能:

对给定信号进行采样,并将采样值存储在RK中,同时将DOUT2置“1”,将A/D通道IN7选中,待采样周期到时,则采样反馈信号,并将采样值存储在UK1中,接下来便是计算偏差E(k),计算U(k),将值通过端口DAC_1在下一周期到来时输出;再次在该中断程序中,增加一个变量bb1,用于存储前一周期的输出值,这样使得输出量能够延迟1秒输出;最后就是通过递推公式,计算实现输出信号的不断优化。

该程序实现的功能是对定时器的重新装值,同时,当采样周期到时,启动A/D,用于对转换反馈信号进行A/D转换。

3.全局变量定义的源代码:

sbitstr=P1^7;//定义A/D启动信号

sbitDIN0=P1^0;//声明同步信号

sbitDOUT0=P1^4;//用于控制采保产生纯滞后一拍

sbitDOUT1=P1^5;

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

当前位置:首页 > 农林牧渔 > 林学

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

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