当前位置:文档之家› 智能控制实验报告

智能控制实验报告

智能控制实验报告
智能控制实验报告

智能控制实验报告

姓名:

学院:

专业:自动化

班级:

学号:

指导教师:

成绩:

2019年12月25日

实验一模糊控制在角度随动系统中的应用

一、实验目的与意义

学习 Matlab 中建立模糊控制器的方法;了解模糊控制在角度随动系统中的应用。

二、实验内容

在 Matlab 中建立模糊控制器,将生成的模糊规则表插入程序代码中,交叉编译代码,下载到目标版中进行测试。

1、Matlab 文本模式建立模糊控制器(必做)

2、利用Matlab 模糊逻辑工具箱建立模糊控制器(选做)

3、模糊控制器Simulink 仿真(必做)

4、嵌入式程序交叉编译(选做)

三、实验结果

1、matlab文本模式建立模糊控制器

%Fuzzy Controller Design

clear all;

close all;

%新建FIS

a=newfis('myfuzzy');

%输入e,范围[-48,48],7个模糊语言,NB,NM,NS,Z,PS,PM,PB

a=addvar(a,'input','e',[-48 48]); %Parameter e

a=addmf(a,'input',1,'NB','trimf',[-48 -36 -24]);

a=addmf(a,'input',1,'NM','trimf',[-36 -24 -12]);

a=addmf(a,'input',1,'NS','trimf',[-24 -12 0]);

a=addmf(a,'input',1,'Z','trimf',[-12 0 12]);

a=addmf(a,'input',1,'PS','trimf',[0 12 24]);

a=addmf(a,'input',1,'PM','trimf',[12 24 36]);

a=addmf(a,'input',1,'PB','trimf',[24 36 48]);

%输入ec,范围[-64,64],7个模糊语言,NB,NM,NS,Z,PS,PM,PB

a=addvar(a,'input','ec',[-64 64]); %Parameter ec a=addmf(a,'input',2,'NB','trimf',[-64 -48 -32]);

a=addmf(a,'input',2,'NM','trimf',[-48 -32 -16]);

a=addmf(a,'input',2,'NS','trimf',[-32 -16 0]);

a=addmf(a,'input',2,'Z','trimf',[-16 0 16]);

a=addmf(a,'input',2,'PS','trimf',[0 16 32]);

a=addmf(a,'input',2,'PM','trimf',[16 32 48]);

a=addmf(a,'input',2,'PB','trimf',[32 48 64]);

%输出u,范围[-90,90],7个模糊语言,NB,NM,NS,Z,PS,PM,PB

a=addvar(a,'output','u',[-90 90]); %Parameter u a=addmf(a,'output',1,'NB','trimf',[-90 -67.5 -45]);

a=addmf(a,'output',1,'NM','trimf',[-67.5 -45 -22.5]);

a=addmf(a,'output',1,'NS','trimf',[-45 -22.5 0]);

a=addmf(a,'output',1,'Z','trimf',[-22.5 0 22.5]);

a=addmf(a,'output',1,'PS','trimf',[0 22.5 45]);

a=addmf(a,'output',1,'PM','trimf',[22.5 45 67.5]);

a=addmf(a,'output',1,'PB','trimf',[45 67.5 90]);

%模糊规则表,7*7 = 49行,5列

rulelist=[1 1 1 1 1;

1 2 1 1 1;

1 3 1 1 1;

1 4

2 1 1;

1 5

2 1 1;

1 6 3 1 1;

1 7 4 1 1;

2 1 1 1 1;

2 2 1 1 1;

2 3 1 1 1;

2 4 2 1 1;

2 5 2 1 1;

2 6

3 1 1;

2 7 4 1 1;

3 1 1 1 1;

3 2 2 1 1;

3 3 2 1 1;

3 4 3 1 1;

3 5

4 1 1;

3 6 5 1 1;

3 7 6 1 1;

4 1 1 1 1;

4 2 3 1 1;

4 3 3 1 1;

4 4 4 1 1;

4 5 5 1 1;

4 6 6 1 1;

4 7 7 1 1;

5 1 2 1 1;

5 2 3 1 1;

5 3 4 1 1;

5 4 5 1 1;

5 5

6 1 1;

5 6 7 1 1;

5 7 7 1 1;

6 1 3 1 1;

6 2 4 1 1;

6 3 5 1 1;

6 4 6 1 1;

6 5

7 1 1;

6 6

7 1 1;

6 7 7 1 1;

7 1 4 1 1;

7 2 5 1 1;

7 3 6 1 1;

7 4 6 1 1;

7 5 7 1 1;

7 6 7 1 1;

7 7 7 1 1;

];

a=addrule(a,rulelist);

%showrule(a) % Show fuzzy rule base

a1=setfis(a,'DefuzzMethod','centroid'); % Defuzzy

writefis(a1,'fuzzf'); % save to fuzzy file "fuzz.fis" which can be

% simulated with fuzzy tool

a2=readfis('fuzzf');

disp('-------------------------------------------------------');

disp(' fuzzy controller table:e=[-48,+48],ec=[-64,+64] '); disp('-------------------------------------------------------');

Ulist=zeros(7,7);

for i=1:7

for j=1:7

e(i)=-4+i;

ec(j)=-4+j;

Ulist(i,j)=evalfis([e(i),ec(j)],a2);

end

end

Ulist=ceil(Ulist)

figure(1);

plotfis(a2);

figure(2);

plotmf(a,'input',1);

figure(3);

plotmf(a,'input',2);

figure(4);

plotmf(a,'output',1);

运行结果:

>> ksk

-------------------------------------------------------

fuzzy controller table:e=[-48,+48],ec=[-64,+64] -------------------------------------------------------

Ulist =

-13 -11 -8 -6 -4 -2 -1

-11 -9 -7 -4 -2 -1 1

-8 -7 -5 -2 0 2 3

-5 -3 -1 0 2 4 6

-2 -1 1 3 6 8 9

0 2 3 5 8 10 12

2 3 5 7 9 12 14

2、利用Matlab 模糊逻辑工具箱建立模糊控制器步骤

3、模糊控制器Simulink 仿真

4、嵌入式程序交叉编译

Fuzzy源代码:

#define PMAX 100

#define PMIN -100

#define DMAX 100

#define DMIN -100

#define FMAX 100 /*语言值的满幅值 */

/*输入量P语言值特征点*/

int PFF[4] = { 0, 12, 24, 48 };

/*输入量D语言值特征点*/

int DFF[4] = { 0, 16, 32, 64 };

/*输出量U语言值特征点*/

int UFF[7] = { 0, 15, 30, 45, 60, 75, 90 };

/*采用了调整因子的规则表,大误差时偏重误差,小误差时偏重误差变化*/ /*a0=0.3,a1=0.55,a2=0.74,a3=0.89 */

/*

int rule[7][7] = {

//误差变化率 -3,-2,-1, 0, 1, 2, 3 // 误差

{-13,-11,-8,-6,-4,-2,-1}, // -3

{-11,-9,-7,-4,-2,-1,1}, // -2

{-8,-7,-5,-2,0,2,3}, // -1

{-5,-3,-1,0,2,4,6}, // 0

{-2,-1,1,3,6,8,9}, // 1

{0,2,3,5,8,10,12}, // 2

{2,3,5,7,9,2,14}

};*/

int rule[7][7] = {

//误差变化率 -3,-2,-1, 0, 1, 2, 3 // 误差

{ -13, -11, -8, -6, -4, -2, -1},

{ -11, -9, -7, -4, -2, -1, 1},

{ -8, -7, -5, -2, 0, 2, 3 },

{ -5, -3, -1, 0, 2, 4, 6 },

{ -2, -1, 1, 3, 6, 8, 9 },

{ 0, 2, 3, 5, 8, 10, 12 },

{ 2, 3, 5, 7, 9, 12, 14 },

};

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

int Fuzzy(int P, int D)

{

/*模糊运算引擎 */

int U; /*偏差,偏差微分以及输出值的精确量 */

unsigned int PF[2], DF[2], UF[4]; /*偏差,偏差微分以及输出值的隶属度 */ int Pn, Dn, Un[4];

long temp1, temp2;

/*隶属度的确定 */

/*根据PD的指定语言值获得有效隶属度 */

if (P > -PFF[3] && P < PFF[3]) {

if (P <= -PFF[2]) {

Pn = -2;

PF[0] = FMAX * ((float) (-PFF[2] - P) / (PFF[3] - PFF[2]));

} else if (P <= -PFF[1]) {

Pn = -1;

PF[0] = FMAX * ((float) (-PFF[1] - P) / (PFF[2] - PFF[1]));

} else if (P <= PFF[0]) {

Pn = 0;

PF[0] = FMAX * ((float) (-PFF[0] - P) / (PFF[1] - PFF[0]));

} else if (P <= PFF[1]) {

Pn = 1;

PF[0] = FMAX * ((float) (PFF[1] - P) / (PFF[1] - PFF[0]));

} else if (P <= PFF[2]) {

Pn = 2;

PF[0] = FMAX * ((float) (PFF[2] - P) / (PFF[2] - PFF[1]));

} else if (P <= PFF[3]) {

Pn = 3;

PF[0] = FMAX * ((float) (PFF[3] - P) / (PFF[3] - PFF[2]));

}

} else if (P <= -PFF[3]) {

Pn = -2;

PF[0] = FMAX;

} else if (P >= PFF[3]) {

Pn = 3;

PF[0] = 0;

}

PF[1] = FMAX - PF[0];

if (D > -DFF[3] && D < DFF[3]) {

if (D <= -DFF[2]) {

Dn = -2;

DF[0] = FMAX * ((float) (-DFF[2] - D) / (DFF[3] - DFF[2])); } else if (D <= -DFF[1]) {

Dn = -1;

DF[0] = FMAX * ((float) (-DFF[1] - D) / (DFF[2] - DFF[1])); } else if (D <= DFF[0]) {

Dn = 0;

DF[0] = FMAX * ((float) (-DFF[0] - D) / (DFF[1] - DFF[0])); } else if (D <= DFF[1]) {

Dn = 1;

DF[0] = FMAX * ((float) (DFF[1] - D) / (DFF[1] - DFF[0])); } else if (D <= DFF[2]) {

Dn = 2;

DF[0] = FMAX * ((float) (DFF[2] - D) / (DFF[2] - DFF[1])); } else if (D <= DFF[3]) {

Dn = 3;

DF[0] = FMAX * ((float) (DFF[3] - D) / (DFF[3] - DFF[2])); }

} else if (D <= -DFF[3]) {

Dn = -2;

DF[0] = FMAX;

} else if (D >= DFF[3]) {

Dn = 3;

DF[0] = 0;

}

DF[1] = FMAX - DF[0];

/*使用误差范围优化后的规则表rule[7][7] */

/*输出值使用13个隶属函数,中心值由UFF[7]指定 */

/*一般都是四个规则有效 */

Un[0] = rule[Pn - 1 + 3][Dn - 1 + 3];

Un[1] = rule[Pn + 3][Dn - 1 + 3];

Un[2] = rule[Pn - 1 + 3][Dn + 3];

Un[3] = rule[Pn + 3][Dn + 3];

if (PF[0] <= DF[0])

UF[0] = PF[0];

else

UF[0] = DF[0];

if (PF[1] <= DF[0])

UF[1] = PF[1];

else

UF[1] = DF[0];

if (PF[0] <= DF[1])

UF[2] = PF[0];

else

UF[2] = DF[1];

if (PF[1] <= DF[1])

UF[3] = PF[1];

else

UF[3] = DF[1];

/*同隶属函数输出语言值求大 */

if (Un[0] == Un[1]) {

if (UF[0] > UF[1])

UF[1] = 0;

else

UF[0] = 0;

}

if (Un[0] == Un[2]) {

if (UF[0] > UF[2])

UF[2] = 0;

else

UF[0] = 0;

}

if (Un[0] == Un[3]) {

if (UF[0] > UF[3])

UF[3] = 0;

else

UF[0] = 0;

}

if (Un[1] == Un[2]) {

if (UF[1] > UF[2])

UF[2] = 0;

else

UF[1] = 0;

}

if (Un[1] == Un[3]) {

if (UF[1] > UF[3])

UF[3] = 0;

else

UF[1] = 0;

}

if (Un[2] == Un[3]) {

if (UF[2] > UF[3])

UF[3] = 0;

else

UF[2] = 0;

}

/*重心法反模糊 */

/*Un[]原值为输出隶属函数标号,转换为隶属函数值 */

if (Un[0] >= 0)

Un[0] = UFF[Un[0]];

else

Un[0] = -UFF[-Un[0]];

if (Un[1] >= 0)

Un[1] = UFF[Un[1]];

else

Un[1] = -UFF[-Un[1]];

if (Un[2] >= 0)

Un[2] = UFF[Un[2]];

else

Un[2] = -UFF[-Un[2]];

if (Un[3] >= 0)

Un[3] = UFF[Un[3]];

else

Un[3] = -UFF[-Un[3]];

temp1 = UF[0] * Un[0] + UF[1] * Un[1] + UF[2] * Un[2] + UF[3] * Un[3]; temp2 = UF[0] + UF[1] + UF[2] + UF[3];

U = temp1 / temp2;

return U;

}

实验二神经网络在角度随动系统中的应用

一、实验目的与意义

学习 Matlab 中建立单神经元自适应神经网络控制器的方法;了解神经网络在角度随动系统中的应用。

二、实验内容

1. 根据直流伺服电机的传递函数求出差分方程

2. 在Matlab 中建立单神经元自适应控制器

3. 调整学习速率和比例系数K 得到较好的控制效果(方波、正弦波)

*4. 编写单神经元自适应控制器的C 程序,编译并在角度随动系统中验证

三、实验原理

1.直流伺服电机传递函数

2.传递函数求差分方程步骤:

以传递函数 为例:

A.使用tf函数建立传递函数

sys=tf(1000,[1,50,2000])

B.设置采样时间

ts = 0.001

C.使用c2d 函数进行Z 变换,其中m n

dsys=c2d(sys,ts,'z')

D.交叉相乘得到

E.对U(Z)和Y(Z) 进行z 逆变换得到差分方程

3、单神经元自适应控制算法——方波

单神经元自适应控制的结构如下图所示。

单神经元自适应控制器是通过对加权系数的调整来实现自适应、自组织功能,控制算法为

如果权系数的调整按有监督的Hebb 学习规则实现,在学习算法中加入监督项z(k),则神经网络权值学习算法为

η 为学习速率,K 为神经元的比例系数,K > 0,η ∈(0,1)。

K值得选择非常重要。K越大,则快速性越好,但超调量大,甚至可能使系统不稳定。当被控对象时延增大时,K值必须减小,以保证系统稳定。K值选择过小,会使系统快速性变差。

被控对象为y(k)(为Matlab中建立的直流伺服电机的差分方程),输入指令为一正弦信号:r(k) = 2sin(4π ? k ?ts) ,采样时间ts= 0.001s ,采用有监督的Hebb学习规则实现权值的学习,初始权值取W = [w1 w2 w3 ] = [0.10.1 0.1] ,η = 0.1,K = 0.01。以此为条件在Matlab中建立单神经元自适应控制器。

4.单神经元自适应控制算法——正弦波

被控对象为y(k)(为在Matlab 中建立的直流伺服电机的差分方程),输入指令为一方波信号:r(k) = 20sin(4π ? k ?ts) ,采样时间ts= 0.001s ,采用有监督的Hebb学习规则实现权值的学习,初始权值取W = [w1 w2 w3 ] = [0.10.1 0.1] ,η = 0.1,K = 0.01。以此为条件在Matlab 中建立单神经元自适应控制器。

三、实验结果

1.单神经元自适应控制算法——方波

源代码:

%单神经元自适应控制器

clear all;

close all;

x=[0,0,0]'; %x1,x2,x3的初始值

xite=0.1; %学习速率

K=0.01; %神经元比例系数

ts=0.001; %采样时间

w1_1=0.10;%学习权值的初始值,w1_1代表w1(k-1)的值

w2_1=0.10;

w3_1=0.10;

e_1=0;%误差的初始值

e_2=0;

y_1=0;y_2=0;%被控对象差分方程的输出值

u_1=0;u_2=0;%

for k=1:1:1000 %循环迭代

time(k)=k*ts;

% r(k)=2*sin(4*pi*k*ts);%输入指令为一正弦信号

r(k)=0.5*sign(sin(4*pi*k*ts));%输入指令为一方波信号

y(k)=0.8464*y_1 + 32.01*u_1+0.1064*u_2;

%y(k)=0.8464*y_1 +0.01*u_1+0.1064*u_2;

%直流伺服电机的传递函数得到的差分方程

e(k)=r(k)-y(k);%误差

%有监督的Hebb学习规则实现权值的调整

e(k)=r(k)-y(k);

z(k)=e(k);

x1(k)=e(k)-e_1;

x2(k)=e(k);

x3(k)=e(k)-2*e_1+e_2;

w1(k)=w1_1+xite*0.07*z(k)*u_1*x1(k);

w2(k)=w2_1+xite*0.005*z(k)*u_1*x2(k);

w3(k)=w3_1+xite*0.02*z(k)*u_1*x3(k);

w1p(k) = w1(k)/(abs(w1(k)) + abs(w2(k)) + abs(w3(k))); w2p(k) = w2(k)/(abs(w1(k)) + abs(w2(k)) + abs(w3(k))); w3p(k) = w3(k)/(abs(w1(k)) + abs(w2(k)) + abs(w3(k)));

u(k)=u_1+K*(w1p(k)*x1(k)+w2p(k)*x2(k)+w3p(k)*x3(k));

y_2=y_1;

y_1=y(k);

e_2=e_1;

e_1=e(k);

w1_1=w1(k);

w2_1=w2(k);

w3_1=w3(k);

u_2=u_1;

u_1=u(k);

end

figure(1);

plot(time,r,'b',time,y,'r');

xlabel('time(s)');ylabel('Position tracking');

figure(2);

plot(time,e,'r');

xlabel('time(s)');ylabel('error');

figure(3);

plot(time,w1,'r');

xlabel('time(s)');ylabel('w1');

figure(4);

plot(time,w2,'r');

xlabel('time(s)');ylabel('w2');

figure(5);

plot(time,w3,'r');

xlabel('time(s)');ylabel('w3');

运行结果:

2.单神经元自适应控制算法——正弦波

源代码:

%单神经元自适应控制器

clear all;

close all;

x=[0,0,0]'; %x1,x2,x3的初始值

xite=0.1; %学习速率

K=0.01; %神经元比例系数

ts=0.001; %采样时间

w1_1=0.10;%学习权值的初始值,w1_1代表w1(k-1)的值

w2_1=0.10;

w3_1=0.10;

e_1=0;%误差的初始值

e_2=0;

y_1=0;y_2=0;%被控对象差分方程的输出值

u_1=0;u_2=0;%

for k=1:1:1000 %循环迭代

time(k)=k*ts;

% r(k)=2*sin(4*pi*k*ts);%输入指令为一正弦信号

r(k) = 20*sin(4*pi*k*ts); ;%输入指令为一方波信号

y(k)=0.8464*y_1 + 32.01*u_1+0.1064*u_2;

%y(k)=0.8464*y_1 +0.01*u_1+0.1064*u_2;

;%直流伺服电机的传递函数得到的差分方程

e(k)=r(k)-y(k);%误差

%有监督的Hebb学习规则实现权值的调整

e(k)=r(k)-y(k);

z(k)=e(k);

x1(k)=e(k)-e_1;

x2(k)=e(k);

x3(k)=e(k)-2*e_1+e_2;

w1(k)=w1_1+xite*0.07*z(k)*u_1*x1(k);

w2(k)=w2_1+xite*0.005*z(k)*u_1*x2(k);

w3(k)=w3_1+xite*0.02*z(k)*u_1*x3(k);

w1p(k) = w1(k)/(abs(w1(k)) + abs(w2(k)) + abs(w3(k))); w2p(k) = w2(k)/(abs(w1(k)) + abs(w2(k)) + abs(w3(k))); w3p(k) = w3(k)/(abs(w1(k)) + abs(w2(k)) + abs(w3(k)));

u(k)=u_1+K*(w1p(k)*x1(k)+w2p(k)*x2(k)+w3p(k)*x3(k));

y_2=y_1;

y_1=y(k);

e_2=e_1;

e_1=e(k);

w1_1=w1(k);

w2_1=w2(k);

w3_1=w3(k);

u_2=u_1;

u_1=u(k);

end

figure(1);

plot(time,r,'b',time,y,'r');

xlabel('time(s)');ylabel('Position tracking'); figure(2);

plot(time,e,'r');

xlabel('time(s)');ylabel('error');

figure(3);

plot(time,w1,'r');

xlabel('time(s)');ylabel('w1');

figure(4);

plot(time,w2,'r');

xlabel('time(s)');ylabel('w2');

figure(5);

plot(time,w3,'r');

xlabel('time(s)');ylabel('w3');

运行结果:

4.交叉编译步骤

Neural源代码:

#include

#include

#include

#include "neural.h"

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

float neural_input_data[3] = {0, 0, 0}; //神经网络输入值初始值为零

float xite = 0.010; //学习率

float w1_1 = 0.10; //k-1时刻的初始权值

float w2_1 = 0.10; //k-1时刻的初始权值

float w3_1 = 0.10; //k-1时刻的初始权值

float e_1 = 0; //e(k-1)

float e_2 = 0; //e(k-2)

float y_1 = 0, y_2 = 0; //y(k-1)和 y(k-2)初始值为零

float u_1 = 0, u_2 = 0; //u(k-1)和 u(k-2)初始值为零

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

//单神经元自适应控制程序

//输入: control_sys_y -- 被控对象的角度

// control_sys_r -- 实际电机的角度

//输出: output -- 电机角度

float neural_adaptive_control(float control_sys_y, float control_sys_ r)

{

float control_sys_e = 0; //k时刻的系统误差

基于单片机的智能电饭煲的控制毕业设计

华北水利水电学院 North China Institute of Water Conservancy and Hydroelectric Power 毕业设计 题目:基于单片机的电饭煲智能控制系统的设计

华北水利水电学院 毕业设计任务书 题目:基于单片机的电饭煲智能控制系统的设计 专业:电子信息工程 班级学号:200915512 姓名: 李玉平 指导教师:郑辉 设计期限:2011 年2 月21日开始 2011年5 月27日结束 院、系:信息工程学院 2011年2月21 日

一、毕业设计的目的 通过本次设计掌握产品设计的流程,能熟练的使用AT89C51单片机,并根据设计要求选择合适的元器件,充分理解相关软件,对整个产品设计时的调试等必要的环节有更深刻的体会。 本设计通过选认元件、连线焊接、调试检测等过程,培养了搜集资料和调查研究的能力,方案论证选择的能力,理论分析与设计运算的能力,巩固了计算机软硬件和应用系统设计方面的能力。 二、主要设计内容及基本要求 1.本设计包含以下部分:按键电路、上电复位电路、晶振电路、电源电路、显示电路、MCU系统部分、机械控制电路等部分。 2.基本要求: (1)要求定时工作时间和实时时间对比达到长时间精确地定时功能。 (2)要求定时时间和实时时间相同时通过51单片机控制光耦驱动电路来控制电饭煲的工作。 三、重点研究问题 1.单片机的内部结构,显示电路的调试。 2.部分功能电路的软件设计:键盘显示电路、报警电路、工作指示电路。 四、主要技术指标或主要设计参数 根据模块电路,设计出完整的电路原理图,焊接出实物,并对产品进行调试。电源部分为单片机系统提供的电压为5V,为光耦提供的电压为12V。 五、设计成果 拟做出一个基于AT89C51单片机对电饭煲的智能控制系统的设计,设计出整体原理图,并做出实物,同时做出一份符合要求的毕业论文。

智能控制技术作业

3-1 模糊逻辑控制器由哪几部分组成?各完成什么功能? 答:模糊控制系统的主要部件是模糊化过程、知识库(数据库和规则库)、推理决策和精确化计算。 1、模糊化过程 模糊化过程主要完成:测量输入变量的值,并将数字表示形式的输入量转化为通常用语言值表示的某一限定码的序数。 2、知识库 知识库包括数据库和规则库。 1)、数据库 数据库提供必要的定义,包含了语言控制规则论域的离散化、量化和正规化以及输入空间的分区、隶属度函数的定义等。 2)、规则库 规则库根据控制目的和控制策略给出了一套由语言变量描述的并由专家或自学习产生的控制规则的集合。它包括:过程状态输入变量和控制输出变量的选择,模糊控制系统的建立。 3、推理决策逻辑 推理决策逻辑是利用知识库的信息模拟人类的推理决策过程,给出适合的控制量。(它是模糊控制的核心)。 4、精确化过程 在推理得到的模糊集合中取一个能最佳代表这个模糊推理结果可能性的精确值的过程称为精确化过程。

{模糊控制器采用数字计算机。它具有三个重要功能: 1)把系统的偏差从数字量转化为模糊量(模糊化过程、数据库两块); 2)对模糊量由给定的规则进行模糊推理(规则库、推理决策完成); 3)把推理结果的模糊输出量转化为实际系统能够接受的精确数字量或模拟量(精确化接口)。} 3-2 模糊逻辑控制器常规设计的步骤怎样?应该注意哪些问题? 答:常规设计方法 设计步骤如下: 1、确定模糊控制器的输入、输出变量 2、确定各输入、输出变量的变化范围、量化等级和量化因子 3、在各输入和输出语言变量的量化域内定义模糊子集。 4、模糊控制规则的确定 5、求模糊控制表 3-3 已知由极大极小推理法得到输出模糊集为:0.30.810.50.112345 C = ++++-----.试用重心法计算出此推理结果的精确值z 。 重心法 重心法 是取模糊隶属度函数的曲线与横坐标围城面积的重心为模糊推理最终输出值。 连续:0()()v V v V v v dv v v dv μμ=??

智能控制理论基础实验报告

北京科技大学 智能控制理论基础实验报告 学院 专业班级 姓名 学号 指导教师 成绩 2014 年4月17日

实验一采用SIMULINK的系统仿真 一、实验目的及要求: 1.熟悉SIMULINK 工作环境及特点 2.掌握线性系统仿真常用基本模块的用法 3.掌握SIMULINK 的建模与仿真方法 二、实验内容: 1.了解SIMULINK模块库中各子模块基本功能 微分 积分 积分步长延时 状态空间模型 传递函数模型 传输延迟 可变传输延迟 零极点模型

直接查询表 函数功能块MATLAB函数 S函数(系统函数) 绝对值 点乘 增益 逻辑运算 符号函数 相加点 死区特性 手动开关 继电器特性 饱和特性 开关模块 信号分离模块 信号复合模块 输出端口 示波器模块 输出仿真数据到文件

通过实验熟悉以上模块的使用。 2. SIMULINK 的建模与仿真方法 (1)打开模块库,找出相应的模块。鼠标左键点击相应模块,拖拽到模型窗口中即可。 (2)创建子系统:当模型大而复杂时,可创建子系统。 (3)模块的封装: (4)设置仿真控制参数。 3.SIMULINK仿真实际应用 PID控制器的仿真实现。 控制对象的开环传递函数如下图: 加入PID控制器,求系统单位负反馈闭环单位阶跃响应,要求通过调节器的作用使系统满足超调量20%,上升时间3s,调节时间10s的要求。使输出曲线如下图。要求加入的PID控制器封装成一个模块使用。 三、实验报告要求: 1.针对具体实例写出上机的结果,体会其使用方法,并作出总结。

控制对象的开环传递函数如下图: 加入PID控制器,求系统单位负反馈闭环单位阶跃响应,要求通过调节器的作用使系统满足超调量20%,上升时间3s,调节时间10s的要求。使输出曲线如下图。要求加入的PID控制器封装成一个模块使用。PID如下: 图1-PID控制器仿真 设计的PID控制器参数为,P-0.3,I-0.5,D-0.4,尽可能的达到超调量20%,上升时间3s,调节时间10s的要求,仿真曲线图如下: 图2-PID控制器仿真曲线图 才实验开始的初期,我觉得这个实验过于简单,但是上手之后,我发现它是

机器人控制技术基础实验报告

华北电力大学 实验报告 | | 实验名称:机器人控制技术基础 课程名称:机器人控制技术基础 实验人:张钰信安1601 201609040126 李童能化1601 201605040111 韩翔宇能化1601 201605040104 成绩: 指导教师:林永君、房静 实验日期: 2016年3月4日-3月26日 华北电力大学工程训练中心

第一部分:单片机开发板 实验一:流水灯实验 实验目的:通过此实验,初步掌握单片机的 IO 口的基本操作。 实验内容:控制接在 P0.0上的 8个LED L0—L8 依次点亮,如此循环。 硬件说明: 根据流水灯的硬件连接,我们发现只有单片机的IO口输出为低电平时LED灯才会被点亮,我们先给P0口设定好初值,只让其点亮一盏灯,然后用左右移函数即可依次点亮其他的灯。 源程序如下: #include sbit led_1=P0^0; sbit led_2=P0^1; sbit led_3=P0^2; sbit led_4=P0^3; sbit led_5=P0^4; sbit led_6=P0^5; sbit led_7=P0^6; sbit led_8=P0^7; void main() { for(;;) { led_1=0; display_ms(10);

led_1=1; led_2=0; display_ms(10); led_2=1; led_3=0; display_ms(10); led_3=1; led_4=0; display_ms(10); led_4=1; led_5=0; display_ms(10); led_5=1; led_6=0; display_ms(10); led_6=1; led_7=0; display_ms(10); led_7=1; led_8=0; display_ms(10); led_8=1; } } 第二部分:机器人小车 内容简介:机器人小车完成如图规定的赛道,从规定的起点开始,记录完成赛道一圈的时间。必须在30秒之内完成,超时无效。其中当小车整体都在赛道外时停止比赛,视为犯规,小车不规定运动方向,顺时针和逆时针都可以采用,但都从规定的起点开始记录时间。 作品优点及应用前景: 单片机可靠性高,编程简单单片机执行一条指令的时间是μs级,执行一个扫描周期的时间为几ms乃至几十ms。相对于电器的动作时间而言,扫描周期是

智能控制系统习题答案

1-4为什么能够用计算机模拟人类智能? 人工智能是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能可以对人的意识、思维的信息过程的模拟。人工智能不是人的智能,但能像人那样思考、也可能超过人的智能。 之所以能够借助计算机来模拟人类智能,首先是因为计算机具有以下5个特点: 1、可以告诉精准的完成算数运算,运算速度最高可达每秒万亿次; 2、可以完成高精度的计算,一般计算机可以有十几位甚至几十位的有效数字; 3、计算机不仅能进行精确计算,还具有逻辑运算功能,能对信息进行比较和判断; 4、计算机内部的存储器具有记忆特性,可以存储大量的信息,这些信息,不仅包括各 类数据信息,还包括加工这些数据的程序; 5、由于计算机具有存储记忆能力和逻辑判断能力,所以人们可以将预先编好的程序组 纳入计算机内存,在程序控制下,计算机可以连续、自动地工作,不需要人的干预。 有了这些有点,计算机就具有了模拟人类智能的首要前提,为人工智能中海量的数据处理分析和深度学习等提供了条件。 第二个原因:深度学习的提出;深度学习是机器学习领域中一个新的研究方向,它被引入机器学习使其更接近于最初的目标——人工智能。《麻省理工学院技术评论》杂志将深度学习列为2013年十大突破性技术之首。 大脑的工作过程是一个不断迭代、不断抽象概念化的过程。例如从原始信号摄入开始(瞳孔摄入像素),接着做初步处理(大脑皮层某些细胞发现边缘和方向),然后抽象(大脑判定眼前物体的形状,比如是圆形的),然后进一步抽象(大脑进一步判定该物体是一张人脸),最后进行识别。我们可以看出,大脑是一个深度架构,认知过程也是深度的。而深度学习,恰恰就是通过组合低层特征形成更加抽象的高层特征。在计算机视觉领域,深度学习算法从原始图像去学习得到一个低层次表达,然后在此基础上来得到高层次表达。深度学习可以模拟人脑进行分析学习,模仿人脑的机制来解释数据。深度学习的主要优势在于可以利用海量训练数据(大数据),自动从大数据中学习特征。 深度学习能够自动地从海量大数据中去学习特征,极大地推进了智能自动化。因此深度学习有了一个别名:无监督特征学习。 在《科学革命的结构》一书中,托马斯·库恩介绍说,很多科学革命都具备叫做范式转移的特点,也就是说对新思想的认知和老观点很不一样。比如哥白尼提出的“日心说”,有力地

19春北理工《智能控制基础》在线作业答案

(单选题)1: 一般认为,人工神经网络适用于() A: 线性系统 B: 多变量系统 C: 多输入多输出系统 D: 非线性系统 正确答案: (单选题)2: 递阶控制系统的结构是根据下列原理设计的() A: 精度随智能降低而提高 B: 精度随智能提高而提高 C: 精度随智能降低而降低 D: 精度与智能无关 正确答案: (单选题)3: 智能控制成为国际上独立新学科的时间为20世纪() A: 60年代 B: 70年代 C: 80年代 D: 90年代 正确答案: (单选题)4: 基于模式识别的控制系统属于() A: 学习控制系统 B: 专家控制系统 C: 进化控制系统 D: 模糊控制系统 正确答案: (单选题)5: 能够在系统运行过程中估计未知信息,并据之进行优化与控制,以便逐步改进系统性能的控制叫做() A: 最优控制 B: 反馈控制 C: 随机控制 D: 学习控制 正确答案: (单选题)6: 最早提出人工神经网络思想的学者是() A: McCulloch-Pitts B: Hebb C: Widrow-Hoff D: Rosenblatt 正确答案: (单选题)7: 解决自动控制面临问题的一条有效途径就是把人工智能等技术用于自动控制系统,其核心是() A: 控制算法 B: 控制结构 C: 控制器智能化 D: 控制系统仿真 正确答案: (单选题)8: 智能控制的“四元交集结构”的四元,指的是() A: 计算机科学、自动控制、人工智能、神经网络 B: 人工智能、自动控制、信息论、系统论 C: 人工智能、自动控制、信息论、机器学习 D: 自动控制、人工智能、信息论、运筹学 正确答案: (单选题)9: 模糊控制是以模糊集合为基础的,提出模糊集合的科学家是()

智能控制技术实验报告

《智能控制技术》实验报告书 学院: 专业: 学号: 姓名:

实验一:模糊控制与传统PID控制的性能比较 一、实验目的 通过本实验的学习,使学生了解传统PID控制、模糊控制等基本知识,掌握传统PID控制器设计、模糊控制器设计等知识,训练学生设计控制器的能力,培养他们利用MATLAB进行仿真的技能,为今后继续模糊控制理论研究以及控制仿真等学习奠定基础。 二、实验内容 本实验主要是设计一个典型环节的传统PID控制器以及模糊控制器,并对他们的控制性能进行比较。主要涉及自控原理、计算机仿真、智能控制、模糊控制等知识。 通常的工业过程可以等效成二阶系统加上一些典型的非线性环节,如死区、饱和、纯延迟等。这里,我们假设系统为:H(s)=20e0.02s/(1.6s2+4.4s+1) 控制执行机构具有0.07的死区和0.7的饱和区,取样时间间隔T=0.01。 设计系统的模糊控制,并与传统的PID控制的性能进行比较。 三、实验原理、方法和手段 1.实验原理: 1)对典型二阶环节,根据传统PID控制,设计PID控制器,选择合适的PID 控制器参数k p、k i、k d; 2)根据模糊控制规则,编写模糊控制器。 2.实验方法和手段: 1)在PID控制仿真中,经过仔细选择,我们取k p=5,k i=0.1,k d=0.001; 2)在模糊控制仿真中,我们取k e=60,k i=0.01,k d=2.5,k u=0.8; 3)模糊控制器的输出为:u= k u×fuzzy(k e×e, k d×e’)-k i×∫edt 其中积分项用于消除控制系统的稳态误差。 4)模糊控制规则如表1-1所示: 在MATLAB程序中,Nd用于表示系统的纯延迟(Nd=t d/T),umin用于表示控制的死区电平,umax用于表示饱和电平。当Nd=0时,表示系统不存在纯延迟。 5)根据上述给定内容,编写PID控制器、模糊控制器的MATLAB仿真程序,

计算机控制技术课后习题答案

第一章 1.计算机系统由哪些部分组成?并画出方框图。 解: 若将自动控制系统中控制器的功能用计算机或数字控制装置来实现,就构成了计算机控制系统,其基本框图如图1-1所示。因此,简单说来,计算机控制系统就是由各种各样的计算机参与控制的一类系统。 图1-1 计算机控制系统基本原理图 在计算机控制系统中,控制规律是用软件实现的,计算机执行预定的控制程序就能实现对被控参数的控制。控制器与执行机构之间是DA转换器,负责将数字信号转换成模拟信号;AD转换器则相反将传感器采集的模拟信号,转换成数字信号送给控制器。 2.计算机控制系统是怎样分类的?按功能和控制规律可分为几类? 解: 计算机控制系统与其所控制的对象、采取的控制方法密切相关。因此,计算机控制系统的分类方法很多,可以按照系统的功能、控制规律或控制方式等进行分类。 按功能及结构分类:操作指导控制系统、直接数字控制系统、监督控制系统、集散控制系统、现场总线控制系统、工业以太网控制系统、综合自动化系统。 按照控制规律分类:程序和顺序控制、比例积分微分控制(简称PID控制)、最少拍控制、复杂规律的控制、智能控制。 3.计算机控制系统的主要特点有哪些? 解: 主要有以下特点: 1.数字模拟混合的系统。在连续控制系统中,各处的信号是连续模拟信号。而在计算机控制系统中,除仍有连续模拟信号外,还有离散信号、数字信号等多种信号。因此,计算机控制系统是模拟和数字的混合系统。 2.灵活方便、适应性强。一般的模拟控制系统中,控制规律是由硬件电路实现的,控制规律越复杂,所需要的模拟电路往往越多,如果要改变控制规律,一般就必须更改硬件电路。而在计算机控制系统中,控制规律是由软件实现的,计算机执行预定的控制程序就能实现对被控参数的控制,需要改变控制规律时,一般不对硬件电路作改动,只要改变控制程序就可以了。 3.可实现复杂控制规律。计算机具有丰富的指令系统和很强的逻辑判断功能,能够实现模拟电路不能实现的复杂控制规律。 4.离散控制。在连续控制系统中,给定值与反馈值的比较是连续进行的,控制器对产生的偏差也是连续调节的。而在计算机控制系统中,计算机每隔一定时间间隔,向A/D转换器发出启动转换信号,并对连续信号进行采样获得离散时间信号,经过计算机处理后,产生的控制时间信号通过D/A将离散信号转换成连续时间信号输出,作用于被控对象。因此,计算机控制系统并不是连续控制的,而是离散控制的。

智能照明控制系统毕业设计

智能照明控制系统毕业设计 篇一:基于单片机的智能照明控制系统设计 本科生毕业论文(设计) 题目室内智能照明控制系统的研究与设计学生姓名李天顺学号 XX专业班级建筑电气与智能化10101班指导老师曾进辉 XX年11月 基于单片机的智能照明控制系统设计 摘要 随着电子技术的飞速发展,基于单片机的控制系统已广泛应用于工业、农业、电力、电子、智能楼宇等行业,微型计算机作为嵌入式控制系统的主体与核心,代替了传统的控制系统的常规电子线路。楼宇智能化的发展与成熟,也为基于单片机的照明控制系统的普及与应用奠定了坚实的基础。 本文介绍了基于单片机AT89C51的室内灯光控制系统及其原理,提出了有效的节能控制方法。该系统采用了当今比较成熟的传感技术和计算机控制技术,利用多参数来实现对学校教室室内照明的控制。 系统设计包括硬件设计和软件设计两部分。该照明控制系统的主控制器、分控制器分别是以AT89C51和AT89C2051单片机为基础,实现了通信、信号采集、控制与显示等功能。使用光电子镇流器,使光源具备自动调节功能。文中详细地

描述了控制电路的设计过程,包括:光信号取样电路、人体信号采集电路、键盘与LED显示电路、RS485通信电路、照明灯控制电路、看门狗电路以及信号处理电路等。对于软件设计主要有主控制器、分控制器的有线通信程序设计以及灯光控制、定时控制、键盘扫描与LED显示等程序设计。 工作时,光信号取样电路采集光照强弱、人体信号采集电路采集室内是否有人、是否为工作时间等信息并将信号送到单片机,单片机根据这些信息通过控制电路对照明设备进行开关操作,从而实现照明控制,以达到节能的目的。 关键词:智能控制,主控制器,分控制器,单片机,定时控制 The Control System for Intelligent Lighting Based on Single–chip Microcomputer Author: Li Guozhong Tutor: Sun Man Abstract With the rapid development of electronic technology, the system of control based on Single-chip Microcomputer is widely applied in industry, agriculture, electric power, electron, intelligent building and so on. Microcomputer, as the subject and

智能控制作业

1、已知某一炉温控制系统,要求温度保持在600 度恒定。 针对该控制系统有以下控制经验: (1)若炉温低于600 度,则升压;低的越多升压越高。 (2)若炉温高于600 度,则降压;高的越多降压越低。 (3)若炉温等于600 度,则保持电压不变。设模糊控制器为一维控制器,输入语言变量为误差,输出为控制电压。输入、输出变量的量化等级为7 级,取5 个模糊集。试设计隶属度函数误差变化划分表、控制电压变化划分表和模糊控制规则表。 解:1)确定变量 定义理想温度为600 C,实际温度为T,则温度误差为 E=600-T。 将温度误差E 作为输入变量 2)输入量和输出量的模糊化 将偏差E分为5个模糊集:NB、NS、ZO、PS、PB,分别为负小、负大、零、正小、正大。将偏差E 的变化分为7 个等级:-3 -2 -1 0 1 2 3,从而得到温度模糊表如表1 所示。

表1温度变化E划分表 控制电压也分为个模糊集:、、、、,分 别为负小、负大、零、正小、正大。将电压u的变化分为7 个等级:-3 -2 -1 0 1 2 3,从而得到电压变化模糊表如表2所示。 表2电压变化u划分表

表3 模糊控制规则表 E PB PS ZO NS NB u PB PS ZO NS NB Edit or: Un+ it 1 e J. 歼cw OptigT

叮叮小文库

叮叮小文库 2、利用MATLAB,为下列两个系统设计模糊控制器使其稳态 误差为 零,超调量不大于 1%,输出上升时间w 0.3s 。假定被 控对象的传递函数分别为: Gg e 0亦 (s 1)2 G2(S ) 4.228 (s 0.5)( s 2 1.64 s 8.456) 解: 在matlab 窗口命令中键入 fuzzy ,得到如下键面: 设e 的论域范围为[-1 1] , de 的论域范围为[-0.1 0.1] , u 的论 域范围为[ 0 2]。 将e 分为8个模糊集,分别为 NB ,NM, NS, NZ, PZ, PS, PM, PB; de 分为7个模糊集,分别为NB ,NM ,NS, Z ,PS ,PM ,PB; u 分为7个模糊集,分别为 NB ,NM ,NS, Z ,PS ,PM ,PB;

计算机控制技术课后习题答案

第一章 1.计算机系统由哪些部分组成?并画出方框图。 解: 若将自动控制系统中控制器的功能用计算机或数字控制装置来实现,就构成了计算机控 制系统,其基本框图如图1-1所示。因此,简单说来,计算机控制系统就是由各种各样的计算机参与控制的一类系统。 图1-1 计算机控制系统基本原理图 在计算机控制系统中,控制规律是用软件实现的,计算机执行预定的控制程序就能实现对被控参数的控制。控制器与执行机构之间是DA转换器,负责将数字信号转换成模拟信号;AD转换器则相反将传感器采集的模拟信号,转换成数字信号送给控制器。 2?计算机控制系统是怎样分类的?按功能和控制规律可分为几类? 解: 计算机控制系统与其所控制的对象、采取的控制方法密切相关。因此,计算机控制系统 的分类方法很多,可以按照系统的功能、控制规律或控制方式等进行分类。 按功能及结构分类:操作指导控制系统、直接数字控制系统、监督控制系统、集散控制系统、现场总线控制系统、工业以太网控制系统、综合自动化系统。 按照控制规律分类:程序和顺序控制、比例积分微分控制(简称PID控制)、最少拍控制、复杂规律的控制、智能控制。 3.计算机控制系统的主要特点有哪些?解: 主要有以下特点: 1.数字模拟混合的系统。在连续控制系统中,各处的信号是连续模拟信号。而在计算机控制系统中,除仍有连续模拟信号外,还有离散信号、数字信号等多种信号。因此,计算机控制系统是模拟和数字的混合系统。 2?灵活方便、适应性强。一般的模拟控制系统中,控制规律是由硬件电路实现的,控制规律越复杂,所需要的模拟电路往往越多,如果要改变控制规律,一般就必须更改硬件电 路。而在计算机控制系统中,控制规律是由软件实现的,计算机执行预定的控制程序就能实 现对被控参数的控制,需要改变控制规律时,一般不对硬件电路作改动,只要改变控制程序 就可以了。 3?可实现复杂控制规律。计算机具有丰富的指令系统和很强的逻辑判断功能,能够实现模拟电路不能实现的复杂控制规律。 4.离散控制。在连续控制系统中,给定值与反馈值的比较是连续进行的,控制器对产生的偏差也是连续调节的。而在计算机控制系统中,计算机每隔一定时间间隔,向A/D转 换器发出启动转换信号,并对连续信号进行采样获得离散时间信号,经过计算机处理后,产

基于MATLAB的智能控制系统的介绍与设计实例最新毕业论文

(此文档为word格式,下载后您可任意编辑修改!) 武汉科技大学 智能控制系统 学院:信息科学与工程学院 专业:控制理论与控制工程 学号: 姓名:李倩

基于MATLAB的智能控制系统的介绍与设计实例 摘要 现代控制系统,规模越来越大,系统越来越复杂,用传统的控制理论方法己不能满控制的要求。智能控制是在经典控制理论和现代控制理论的基础上发展起来的,是控制理论、人工智能和计算机科学相结合的产物。MATLAB是现今流行的一种高性能数值计算和图形显示的科学和工程计算软件。本文首先介绍了智能控制的一些基本理论知识,在这些理论知识的基础之上通过列举倒立摆控制的具体实例,结合matlab对智能控制技术进行了深入的研究。 第一章引言 自动控制就是在没有人直接参与的条件下,利用控制器使被控对象(如机器、设备和生产过程)的某些物理量能自动地按照预定的规律变化。它是介于许多学科之间的综合应用学科,物理学、数学、力学、电子学、生物学等是该学科的重要基础。自动控制系统的实例最早出现于美国,用于工厂的生产过程控制。美国数学家维纳在20世纪40年代创立了“控制论”。伴随着计算机出现,自动控制系统的研究和使用获得了很快的发展。在控制技术发展的过程中,待求解的控制问题变得越来越复杂,控制品质要求越来越高。这就要求必须分析和设计相应越来越复杂的控制系统。智能控制系统(ICS)是复杂性急剧增加了的控制系统。它是由控制问题的复杂性急剧增加而带来的结果,其采用了当今其他学科的一些先进研究成果,其根本目的在于求解复杂的控制问题。近年来,ICS引起了人们广泛的兴趣,它体现了众多学科前沿研究的高度交叉和综合。 作为一个复杂的智能计算机控制系统,在其建立投入使用前,必要首先进行仿真实验和分析。计算机仿真(Compeer Simulation)又称计算机模拟(Computer Analogy)或计算机实验。所谓计算机仿真就是建立系统模型的仿真模型进而在计算机上对该仿真模型

同济智能控制实验报告 基于BP神经网络的自整定PID控制仿真

同济大学电子与信息工程学院实验报告 姓名:学号: 学院:专业: 实验课程名称: 任课教师: 实验项目名称:基于BP神经网络的自整定PID控制仿真实验日期:

一、实验内容: 1.熟悉神经网络的特征、结构及学习算法。 2.通过实验掌握神经网络自整定PID的工作原理。 3.了解神经网络的结构对控制结果的影响。 4.掌握用MATLAB实现实现神经网络控制系统仿真的方法。 二、实验步骤及结果演示 1.实验步骤: (1)被控对象为一时变非线性对象,数学模型可表示为 式中系数a(k)是慢时变的, (2)如图5所示确定BP网络的结构,选4-5-3型的BP网络,各层加权系数的初值取区间[-0.5,0.5]上的随机数,选定学习率η=0.25和惯性系数α=0.05. (3)在MATLAB下依据整定原理编写仿真程序并调试。 (4)给定输入为阶跃信号,运行程序,记录实验数据和控制曲线。 (5)修改神经网络参数,如学习速率、隐含层神经元个数等,重复步骤(4)。 (6)分析数据和控制曲线。 图5 BP神经网络结构

2.结果展示: (1)实验代码: xite=0.25; alfa=0.02; IN=4; H=10; Out=3; wi=[ 0.4634 -0.4173 0.3190 0.4563; 0.1839 0.3021 0.1112 0.3395; -0.3182 0.0470 0.0850 -0.0722; -0.6266 0.0846 0.3751 -0.6900; -0.3224 0.1440 -0.2873 -0.0193; -0.0232 -0.0992 0.2636 0.2011; -0.4502 -0.2928 0.0062 -0.5640; -0.1975 -0.1332 0.1981 0.0422; 0.0521 0.0673 -0.5546 -0.4830; -0.6016 -0.4097 0.0338 -0.1503]; wi_1=wi;wi_2=wi;wi_3=wi; wo=[ -0.1620 0.3674 0.1959; -0.0337 -0.1563 -0.1454; 0.0898 0.7239 0.7605; 0.3349 0.7683 0.4714; 0.0215 0.5896 0.7143; -0.0914 0.4666 0.0771; 0.4270 0.2436 0.7026; 0.0215 0.4400 0.1121; 0.2566 0.2486 0.4857; 0.0198 0.4970 0.6450 ]'; wo_1=wo;wo_2=wo;wo_3=wo; x=[0,0,0]; u_1=0;u_2=0;u_3=0;u_4=0;u_5=0; y_1=0;y_2=0;y_3=0; oh=zeros(H,1); I=oh; error_2=0; error_1=0; ts=0.001; for k=1:1:6000 time(k)=k*ts; rin(k)=1; a(k)=1.2*(1-0.8*exp(-0.1*k));

微型计算机控制技术课后答案分解

习题一 1,微型计算机控制系统的硬件由哪几部分组成?各部分的作用是什么? 答:CPU,接口电路及外部设备组成。 CPU,这是微型计算机控制系统的核心,通过接口它可以向系统的各个部分发出各种命令,同时对被控对象的被控参数进行实时检测及处理。 接口电路,微机和生产对象之间进行信息交换的桥梁和纽带。 外部设备:这是实现微机和外界进行信息交换的设备 2,微型计算机控制系统软件有什么作用?说出各部分软件的作用。 答:软件是指能够完成各种功能的计算机程序的总和。整个计算机系统的动作,都是在软件的指挥下协调进行的,因此说软件是微机系统的中枢神经。就功能来分,软件可分为系统软件、应用软件 1)系统软件:它是由计算机设计者提供的专门用来使用和管理计算机的程序。对用户来说,系统软件只是作为开发应用软件的工具,是不需要自己设计的。 2)应用软件:它是面向用户本身的程序,即指由用户根据要解决的实际问题而编写的各种程序。 3,常用工业控制机有几种?它们各有什么用途? 4,操作指导、DDC和SCC系统工作原理如何?它们之间有何区别和联系? 答:(1)操作指导控制系统:在操作指导控制系统中,计算机的输出不直接作用于生产对象,属于开环控制结构。计算机根据数学模型、控制算法对检测到的生产过程参数进行处理,计算出各控制量应有的较合适或最优的数值,供操作员参考,这时计算机就起到了操作指导的作用。 (2)直接数字控制系统(DDC系统):DDC(Direct Digital Control)系统就是通过检测元件对一个或多个被控参数进行巡回检测,经输入通道送给微机,微机将检测结果与设定值进行比较,再进行控制运算,然后通过输出通道控制执行机构,使系统的被控参数达到预定的要求。DDC系统是闭环系统,是微机在工业生产过程中最普遍的一种应用形式。 (3)计算机监督控制系统(SCC系统):SCC(Supervisory Computer Control)系统比DDC系统更接近生产变化的实际情况,因为在DDC系统中计算机只是代替模拟调节器进行控制,系统不能运行在最佳状态,而SCC系统不仅可以进行给定值控制,并且还可以进行顺序控制、最优控制以及自适应控制等SCC是操作指导控制系统和DDC系统的综合与发展。 5,说明嵌入式系统与一般微型计算机扩展系统的区别。 答:嵌入式计算机一般没有标准的硬件配置。嵌入式系统可采用多种类型的处理器和处理器结构。软硬件协同设计采用统一的工具描述,可合理划分系统软硬件,分配系统功能,在性能、成本、功耗等方面进行权衡折衷,获取更优化的设计。嵌入式系统多为低功耗系统。简单地说,就是嵌入式系统和微型计算机的扩展标准不大一样。 6,PLC控制系统有什么特点? 答:(1)可靠性高。由于PLC大都采用单片微型计算机,因而集成度高,再加上相应的保护电路及自诊断功能,因而提高了系统的可靠性。 (2)编程容易。PLC的编程多采用继电器控制梯形图及命令语句,其数量比微型机指令要少得多,除中、高档PLC外,一般的小型PLC只有16条左右。由于梯形图形象而简单,因而编程容易掌握、使用方便,甚至不需要计算机专门知识,就可进行编程。 (3)组合灵活。由于PLC采用积木式结构,用户只需要简单地组合,便可灵活地改变控制系统的功能和规模,因此,可适用于任何控制系统。 (4)输入/输出功能模块齐全。PLC的最大优点之一,是针对不同的现场信号,均有相应的模块可与工业现场的器件直接连接,并通过总线与CPU主板连接。

基于单片机的智能家居控制系统毕业设计

摘要 智能家居作为家庭信息化的实现方式,已经成为社会信息化发展的重要组成部分,物联网因其巨大的应用前景,将是智能家居产业发展过程中一个比较现实的突破口,对智能家居的产业发展具有重大意义。本文基于容易实现,方便操作,贴近使用的设计理念,采用STC89C52单片机为控制核心,为控制终端,并采用包括红外遥控、按键、Web界面等在内的多个控制源来控制家用电器。本文的二至四章描述了整个设计的软、硬件部分的具体实现,第五章是根据设计好的功能搭建了一个具体的环境实例。 关键词:物联网、智能家居、单片机、STC89C52、多源控制

Abstract Smart Home as the implement mode of Family Information has become an important part of the social information development .The networking because of its huge prospect to develop .It will be a real way during the Smart Home`s development .Networking means a lot to the Smart Home .This article base on the design concept of trying to use easiest way to deliver handle and closing to use .We take the STC89C52 as the control core of the design .The relay as the control terminal mean .While we also use the trared remote control key webpage etc to control the home appliances . Two to four chapters of this paper describes the design of software and hardware to achieve the specific. Chapter V is based on features designed to build a specific environment instance. Key word:Networking、Intelligent、Home、Microcontroller、STC89C52、multi-source control

智能控制作业

1、已知某一炉温控制系统,要求温度保持在600度恒定。针对该控制系统有以下控制经验: (1)若炉温低于600度,则升压;低的越多升压越高。(2)若炉温高于600度,则降压;高的越多降压越低。(3)若炉温等于600度,则保持电压不变。 设模糊控制器为一维控制器,输入语言变量为误差,输出为控制电压。输入、输出变量的量化等级为7级,取5个模糊集。试设计隶属度函数误差变化划分表、控制电压变化划分表和模糊控制规则表。 解:1)确定变量 定义理想温度为600℃,实际温度为T,则温度误差为E=600-T。 将温度误差E作为输入变量 2)输入量和输出量的模糊化 将偏差E分为5个模糊集:NB、NS、ZO、PS、PB,分别为负小、负大、零、正小、正大。将偏差E的变化分为7个等级:-3 -2 -1 0 1 2 3,从而得到温度模糊表如表1所示。

表1 温度变化E划分表 控制电压u也分为5个模糊集:NB、NS、ZO、PS、PB,分别为负小、负大、零、正小、正大。将电压u的变化分为7个等级:-3 -2 -1 0 1 2 3,从而得到电压变化模糊表如表2所示。 表2 电压变化u划分表

表3 模糊控制规则表 E PB PS ZO NS NB u PB PS ZO NS NB

2、利用MATLAB,为下列两个系统设计模糊控制器使其稳态误差为零,超调量不大于1%,输出上升时间≤0.3s 。假定被控对象的传递函数分别为: 2 55 .01)1()(+=-s e s G s ) 456.864.1)(5.0(228 .4)(22+++= s s s s G 解: 在matlab 窗口命令中键入fuzzy ,得到如下键面: 设e 的论域范围为[-1 1],de 的论域范围为[-0.1 0.1],u 的论域范围为[0 2]。 将e 分为8个模糊集,分别为NB ,NM, NS, NZ, PZ, PS, PM, PB; de 分为7个模糊集,分别为NB ,NM ,NS, Z ,PS ,PM ,PB; u 分为7个模糊集,分别为NB ,NM ,NS, Z ,PS ,PM ,PB;

浙工大过程控制实验报告

浙工大过程控制实验报告 202103120423徐天宇过程控制系统实验报告 实验一:系统认识及对象特性测试 一实验目的 1了解实验装置结构和组成及组态软件的组成使用。 2 熟悉智能仪表的使用及实验装置和软件的操作。 3熟悉单容液位过程的数学模型及阶跃响应曲线的实验方法。 4学会有实际测的得单容液位过程的阶跃响应曲线,用相关的方法分别确定它们的参数,辨识过程的数学模型。二实验内容 1 熟悉用MCGS组态的智能仪表过程控制系统。 2 用阶跃响应曲线测定单容液位过程的数学模型。三实验设备 1 AE2000B型过程控制实验装置。 2 计算机,万用表各一台。 3 RS232-485转换器1只,串口线1根,实验连接线若干。四实验原理 如图1-1所示,设水箱的进水量为Q1,出水量为Q2,水箱的液面高度为h,出水阀V2固定于某一开度值。根据物料动态平衡的关系,求得: 在零初始条件下,对上式求拉氏变换,得:

式中,T为水箱的时间常数(注意:阀V2的开度大小会影响到水箱的时间常数),T=R2*C,K=R2为单容对象的放大倍数, R1、R2分别为V1、V2阀的液阻,C 为水箱的容量系数。 阶跃响应曲线法是指通过调节过程的调节阀,使过程的控制输入产生一个阶跃变化,将被控量随时间变化的阶跃响应曲线记录下来,再根据测试记录的响应曲线求取输入输出之间的数学模型。本实验中输入为电动调节阀的开度给定值OP,通过改变电动调节阀的开度给定单容过程以阶跃变化的信号,输出为上水箱的液位高度h。电动调节阀的开度op通过组态软件界面有计算机传给智能仪表,有智能仪表输出范围为:0~100%。水箱液位高度有由传感变送器检测转换为4~20mA的标准信号,在经过智能仪表将该信号上传到计算机的组态中,由组态直接换算成高度值,在计算机窗口中显示。因此,单容液位被控对象的传递函数,是包含了由执行结构到检测装置的所有液位单回路物理关系模型有上述机理建模可知,单容液位过程是带有时滞性的一阶惯性环节,电动调节阀的开度op,近似看成与流量Q1成正比,当电动调节阀的开度op为一常量作为阶跃信号时,该单容液位过程的阶跃响应为 需要说明的是表达式(2-3)是初始量为零的情况,如果是在一个稳定的过程下进行的阶跃响应,即输入量是在原来的基础上叠加上op的变化,则输出表达式是对应原来输出值得基础上的增

智能控制导论实验报告(2015) (zm)

《智能控制导论》上机实验报告 专业班级:自动化121 姓名:蒋德鹏 学号:201210401117 指导教师:詹跃东 昆明理工大学信息工程与自动化学院自动化系 2015年5月

洗衣机的模糊控制系统仿真 一、实验软件 Matlabb/Simulink 编程语言. 二、实验目的 1. 熟悉智能控制系统中的建模与控制过程; 2. 熟悉专家控制、模糊控制和神经网络的建模和控制算法的应用; 3. 熟悉专家控制、模糊控制和神经网络的编程语言的应用。 三、需要的预备知识 1. 熟悉Matlabb/Simulink 编程语言; 2. 熟悉专家控制、模糊控制和神经网络建模与控制方法; 3. 熟悉Matlabb/Simulink 的应用; 4. 熟悉Matlabb/Simulink 常用人机接口设计。 四、实验数据及步骤 1. 实验内容 洗衣机的模糊控制系统仿真; 2. 实验原理 模糊控制的基本原理和基本流程; 基本原理:模糊控制是以模糊集理论、模糊语言变量和模糊逻辑推理为基础的一种智能控制方法,它从行为上模仿人的模糊推理和决策过程。该方法首先将操作人员或专家经验编程模糊规则,然后将来自传感器的实时信号模糊化,将模糊化后的信号作为模糊规则的输入,完成模糊推理,将推理后得到的输出量加到执行器上。图为模糊控制原理框图。 图一 模糊控制原理框图 给定值 模糊化 模糊推理 规则库 逆模糊 传感器 执行机构 被控对象 精确量 模糊控制器

基本流程: 2. 实验步骤 (1)确定洗衣机模糊控制的结构 如图二所示为洗衣机模糊控制推理框图。 图二 洗衣机模糊控制推理框图 开始 确定模糊控制器的结构 定义输入、输出模糊集 定义隶属函数 污泥X 油脂 Y 洗涤时间Z 洗衣机模糊控 制器 建立模糊控制规则 模糊推理 Matlab 仿真 结束

智能温度控制系统毕业设计开题报告

毕业设计开题报告 题目名称智能温度控制系统设计 学生姓名郑如顺专业电气信息工程班级10级一、选题的目的意义 温度控制无论是在工业生产过程中,还是在日常生活中都起着非常重要的作用,而当今,我国农村的锅炉取暖等大多数都没有温度监控系统,部分厂矿,企业还一直沿用简单的温度设备和纸质数据记录仪。无法实现温度数据的测量与控制。随着社会经济的高速发展,越来越多的生产部门和生产环节对温度控制精度的可靠性和稳定性等有了更高的要求。传统的温度控制器控制精度普遍不高,不能满足对温度要求较为苛刻的生产环节。 在温度控制中,由于受到温度被控对象特性(如惯性大、滞后大、非线性等)的影响,使得控制性能难以提高,有些工艺过程其温度控制的好坏直接影响着产品的质量,因而设计一种较为理想的温度控制系统是非常有价值的。 此次的智能温度控制系统的设计基于此而设计,针对一些大型公共场合,为达到对其温度的良好控制,从实用的角度以AT89C51为核心设计一套温度智能控制系统。其控制温度不是一个点,而是一个范围。系统以AT89C51单片机为核心,组成一个集温度的采集、处理、显示、自动控制为一身的闭环控制系统。利用单片机采集环境温度值,以数字量的形式存储和显示,可以独立作为一种设备对温室温度进行有一定精度的控制,经过简单的运算发出各种控制命令,并能动态的显示当前温度值,设定目标控制温度值。同时,也可以作为数据采集装置,为上位机进行复杂运算决策提供数据来源。 该智能温度控制系统功耗低,本系统运行情况良好且经济可靠。能利用最少的资源对不同温度进行高精度的测量,信息性能可靠、操作便利,复杂的工作通过软件编程来完成,可以方便的获取结果,在实际的使用中获得了理想的效果。

相关主题
文本预览
相关文档 最新文档