Tải bản đầy đủ (.doc) (11 trang)

Bài tập môn hình hoá số 2

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (161.39 KB, 11 trang )

Bài Tập Dài Mô Hình Hoá Số 2
Nội dung bài báo cáo :
+ Đặt vấn đề và xây dựng bài toán.
+Phân tích yêu cầu bài toán,tóm tắt phơng pháp mô hình hóa hệ ngẫu
nhiên.
+Phân tích biến ngẫu nhiên.
+ Phân tích thuật giải.
+Xây dựng lu đồ.
+Xác định điều kiện đầu,điều kiện mô phỏng và điều kiện ngừng mô
phỏng.
+Viết chơng trình mô phỏng trên máy tính.
+Thiết kế giao diện.
+Kiểm nghiệm kết quả mô phỏng.
+Bình luận kết quả mô phỏng.
I)Đặt vấn đề và xây dựng bài toán
Trong thực tế ,các hệ thống sản xuất luôn chịu tác động của các yếu tố ngẫu
nhiên mà thờng thì rất khó kiểm soát đợc chúng , các yếu tố ngẫu nhiên
này( nh sự thay đổi của môi trờng , sự thay đổi của tải) hầu hết là bất lợi) hầu hết là bất lợi
cho hệ thống .Trong phần này ta sẽ đi xây dựng bài toán mô phỏng một sự tác
động ngẫu nhiên tới một hệ ®iỊu chØnh trun ®éng ®iƯn thùc.
Nh ta ®· biÕt , khi một hệ điều chỉnh truyền động làm việc thì không tránh
khỏi việc chịu ảnh hởng của các nhiễu loạn nh do sự thăng giáng của nhiệt độ
xung quanh,dao động của nguồn điện(tần số,điện áp) và đặc biệt là nhiễu
loạn phụ tải (nh do cấu tạo không đồng đều của một phôi cần gia công trong
máy cắt gọt kim loại ) hầu hết là bất lợi) mà nhiễu loạn này thờng là ngẫu nhiên. Giả sử xét
ảnh hởng của nhiễu loạn phụ tải đối với hệ điều chỉnh truyền động sử dụng hệ
T-Đ (Thyristor-Động cơ) có 2 vòng điều chỉnh cơ bản (mạch vòng dòng điện
và mạch vòng tốc độ ) đều đợc tổng hợp theo tiêu chuẩn Modul tối u do đó
hàm điều khiển mạch vòng tốc độ là khâu tỷ lệ , hàm điều khiển mạch vòng
dòng điện là khâu tích phân tỷ lệ,do đó cấu trúc của hệ thống khi tổng hợp
theo nhiễu loạn (sau khi đà xÊp sØ ) cã d¹ng sau :



d=0

Mc
+

-

FR

Ki
1  2.Ti. p

Kfw
 Tfw
Với d là nhiễu loạn theo lợng 1đặt
. .p
Mc là nhiễu loạn phụ tải.

+

Kj
p



Ti : Hằng số thời gian của mạch vòng dòng điện .
Tfw : Hằng số thời gian của khâu phản hồi tốc độ.
Khi xét đáp ứng của hệ thống theo nhiễu loạn phụ tải thì ta cho nhiễu
Loạn theo lợng đặt bằng không (d=0) thì khi đó ta đợc cấu trúc đơn giản

sau :

1


Xét ảnh hởng của nhiễu loạn tới hệ thống thực chất là xét quan hệ giữa
lợng thay đổi tốc độ ứng với lợng thay đổi phụ tải .
Trong sơ đồ trên thì K1 chính là nghịch đảo của quán tính động cơ,K là tích số
giữa hệ số phản hồi tốc độ , hệ số phản hồi của mạch vòng dòng điện và khâu
tỷ lệ của mạch vòng điều chỉnh tốc độ FR
Vậy nội dung bài toán đặt ra là: Mô phỏng tác động của nhiễu loạn phụ tải
với đáp ứng đầu ra là lợng thay đổi tốc độ , với giả thiết rằng nhiễu loạn
phụ tải xảy ra theo một chu kỳ xác định trớc (0.6s) mà thời gian tồn tại
nhiễu loạn này là phân bố ngẫu nhiên theo hàm phân bố đều trong
khoảng [0 0.3](s) và biên độ nhiễu loạn cũng tuân theo phân bố ngẫu
nhiên theo hàm phân bố đều trong khoảng [0 1](Nm)
Cho Ti=2(ms),Tfw=2(ms),K=400,K1=0.05,Tmẫu=1(ms)
II)Phân tích yêu cầu bài toán và tính toán đa ra phơng trình sai phân.
Theo phân tích trên thì việc mô phỏng phải thoả các yêu cầu sau :
+Thời gian tồn tại nhiễu loạn là ngẫu nhiên.
+Biên độ nhiễu loạn là ngẫu nhiên.
+Sau khi xảy ra nhiễu loạn phụ tải thì sai lệch tốc độ không tự về
không(tồn tại sai lệch tĩnh )
+Khi hết nhiễu loạn thì sai lệch tốc độ dần về không .
(Nêú mạch vòng tốc độ đợc tổng hợp theo tiêu chuẩn Modul đối xứng thì sau
khi xảy ra nhiễu loạn thì sai lệch tốc độ sẽ tự về không (không có sai lệch
tĩnh )).
Để mô phỏng bài toán trên thì bớc đầu tiên là cần phải tính toán trên
quan hệ toán học giữa hai đại lợng nhiễu loạn với lợng thay đổi tốc độ (đa ra dới dạng biểu thức ) sau đó thực hiện số hoá dới dạng phơng trình sai
phân .

Tính toán ta đợc:
M

MM C
1



K 1 /p
K 1 (1  2Tip)(1  Tf p)

K1K
KK i  p(1  2Tip)(1  Tf p)
p(1  2Tip)(1  Tf p)

K 1 [1  ( 2Ti  T f ) p  2TiT f p 2 ]
K 1 K  p  ( 2Ti  T f ) p 2  2TiT f p 3

Tõ biĨu thøc trªn ta thÊy r»ng tại giá trị vô cùng (của thời gian )(ứng
với p0) thì tỷ số trên là khác không ,điều đó có nghĩa là tồn tại sai
lệch tĩnh.
T1 2Ti T f
T2 2TiT f

2


Thùc hiƯn sè ho¸ :
Thay


p

2( Z  1)
T ( Z  1)
2

2T (Z  1) 4T2 (Z  1)
K1  1

T(Z  1) T 2 (Z  1) 2
ΔMω

ΔMM C
2(Z  1) 4T1 (Z  1) 2
8(Z  1) 3
K1K 
 2

T
2
T(Z  1) T (Z  1) 2
T 3 (Z  1) 3
K
TS  2 1 2 [T 2 ( Z 2  2Z  1)  2T1T ( Z 2  1)  4T2 ( Z 2  2Z  1)]
T ( Z  1)


K1
[(T 2  2TT1  4T2 ) Z 2  ( 2T 2  8T2 ) Z  T 2  2TT1  4T2 ]
T ( Z  1) 2

2

C1=T2+2TT1+4T2
C2=2T2-8T2
C3=T2-2TT1+4T2

Ms=1/[T3(Z+1)3][K1KT3(Z3+3Z2+3Z+1)+2T2(Z3+Z2-Z-1)+
+4T1T(Z3-Z2-Z-1)+8T2(Z3-3Z2+3Z-1)]

=1/[T3(Z+1)3][(K1KT3+2T2+4T1T+8T2)Z3+(3K1KT3+2T2-4T1T
-24T2)Z2+(3K1KT3-2T2-4T1T+24T2)Z+K1KT3-2T2+4T1T-8T2]
Ao= K1KT3-2T2+4T1T-8T2
A1=3K1KT3+2T2-4T1T-24T2
A2=3K1KT3-2T2-4T1T+24T2
A3= K1KT3+2T2+4T1T+8T2





K 1T ( Z  1)(C1 Z 2  C 2 Z  C 3 ) K 1T (C1 Z 3  C 2 Z 2  C 3 Z  C1 Z 2  C 2 Z  C 3 )

A3 Z 3  A2 Z 2  A1 Z  A0
A3 Z 3  A2 Z 2  A1 Z  A0

K 1T [(T 2  2T1T  4T2 ) Z 3  (3T 2  2T1T  4T2 ) Z 2  (3T 2  2T1T  4T2 ) Z  (T 2  2T1T  4T2 )]
A3 Z 3  A2 Z 2  A1 Z  A0
B0 T 2  2T1T  4T2
B1 3T 2  2T1T  4T2
B 2 3T 2  2T1T  4T2

B3 3T 2  2T1T  4T2

3


K 1 T ( B 3 Z 3  B 2 Z 2  B1 Z  B 0 )
TS

MS
A3 Z 3  A 2 Z 2  A1 Z A0

[i]={Mk1(B3+B2+B1+B0)-A2[i-1]-A1[i-2]A0[i-3]}/A3

III)Phân tích biến ngẫu nhiên
*)Thời gian tồn tại nhiễu loạn TNL :
Thời gian tồn tại nhiễu loạn TNL là biến ngẫu nhiên tuân theo luật
phân bố đều trong khoảng [0 0.3] (s).
Khoảng phân bố đều trên đợc tạo ra từ phân bố đều ngẫu nhiên trong
khoảng [0 1] nhân với 0.3.
Khi đó thời gian tồn tại nhiễu loạn tối đa là 0.3 (s) và thời gian tồn tại
nhiễu loạn nhỏ nhất là 0(s)
Do xét nhiễu loạn theo các chu kỳ xác định nên thời gian không xảy
ra nhiễu loạn cũng phân bố ngâũ nhiên và bằngTod= (0.6- TNL).
*)Biên độ nhiễu loạn MC :tuân theo luật phân bố ngẫu nhiên phân bố
đều trong khoảng [0 1] (lớn hơn không do tăng momen tải)
Nếu MC càng lớn thì lợng sụt tốc ®é cµng lín vµ sai lƯch tÜnh cµng
lín.
NÕu M cµng nhỏ thì lợng sụt tốc độ càng nhỏ và sai lệch tĩnh càng
nhỏ.
IV)Phân tích thuật giải

Từ phơng trình sai phân đà đợc thành lập ở trên ta thực hiện phân tích
thuật giải cho bài toán.
Việc trớc tiên cần làm là phải xác định các điều kiện đầu,điều kiện
cuối (ngừng ) mô phỏng .
Thời gian mô phỏng phải đợc kiểm soát (ví dụ nh có thể đợc đa vào từ
bàn phím ) hầu hết là bất lợi).Trong chơng trình mô phỏng,để thực hiện việc này ta sử
dụng điều kiện thoát theo kiểu ngắt trong vòng lặp.
Sử dụng hàm phát số ngẫu nhiên bằng phần mềm mô phỏng.
Thuật giải còn đợc phân tích kỹ hơn trong chơng trình phần mềm mô
phỏng.
V)Xác định điều kiện đầu,điều kiện mô phỏng ,điều kiện ngừng
mô phỏng
Điều kiện đầu của mỗi quá trình mô phỏng đợc coi là thời điểm
không của hệ thống (hệ thống đà chạy ổn định với lợng đặt tốc độ )
Điều kiện mô phỏng : khô có nhiễu loạn theo lợng đặt tốc độ và hệ
thống đang làm việc.
Điều kiện ngừng mô phỏng : hết thời gian mô phỏng (đợc đặt bởi ngời
sử dụng).
VI)Xây dựng lu đồ
Lu đồ của chơng trình:

4


VII)Viết chơng trình mô phỏng
Sau đây là phần mà chơng trình viết
Labwindows/CVI:
//Noise.h
#include <userint.h>


bằng

ngôn ngữ

#ifdef __cplusplus
extern "C" {
#endif
/* Panels and Controls: */
#define PANEL
1
#define PANEL_GRAPH
2
#define PANEL_NU
3
#define PANEL_CLEAR
4
/* callback function:
CLEAR */
#define PANEL_RUN
5
/* callback function: RUN
*/
#define PANEL_QUIT
6
/* callback function:
QUIT */
#define PANEL_DECORATION
7
#define PANEL_DECORATION_2
8

#define PANEL_DECORATION_3
9
#define PANEL_DECORATION_4
10
#define PANEL_DECORATION_5
11
#define PANEL_DECORATION_6
12
#define PANEL_TEXTMSG
13
#define PANEL_DECORATION_7
14
#define PANEL_DECORATION_8
15
#define PANEL_DECORATION_9
16
#define PANEL_DECORATION_10
17
#define PANEL_DECORATION_11
18
#define PANEL_TEXTMSG_2
19
#define PANEL_TEXTMSG_3
20
#define PANEL_DECORATION_12
21
#define PANEL_TEXTMSG_4
22
#define PANEL_DECORATION_14
23

#define PANEL_DECORATION_15
24
#define PANEL_DECORATION_16
25
#define PANEL_DECORATION_17
26
#define PANEL_DECORATION_18
27
#define PANEL_DECORATION_19
28
#define PANEL_TEXTMSG_5
29
#define PANEL_TEXTMSG_6
30
5


#define PANEL_TEXTMSG_7
#define PANEL_TEXTMSG_8
#define PANEL_TEXTMSG_9

31
32
33

/* Menu Bars, Menus, and Menu Items: */
/* (no menu bars in the resource file) */
/* Callback Prototypes: */
int CVICALLBACK CLEAR(int panel, int control, int event, void
*callbackData, int eventData1, int eventData2);

int CVICALLBACK QUIT(int panel, int control, int event, void
*callbackData, int eventData1, int eventData2);
int CVICALLBACK RUN(int panel, int control, int event, void
*callbackData, int eventData1, int eventData2);
#ifdef __cplusplus
}
#endif
//Noise.c
#include <ansi_c.h>
#include "Noise.h"
int handle,i,j,b=1,z=0,z1=0;
double w[10000];
static int y=0;
double Mc,r;
double Time;
float ti=0.002;
float tf=0.002;
float t=0.001;
float a0,a1,a2,a3;
float k=400;
float k1=0.5;
int TINH(double,int,int);
int main (int argc, char *argv[])
{
handle = LoadPanel (0, "Noise.uir", PANEL);
DisplayPanel (handle);
RunUserInterface();
return (0);
}
int TINH(double Delta,int p,int j){

float t1,t2;
t1=tf+2*ti;
t2=2*tf*ti;
a0=k1*k*t*t*t-2*t*t+4*t1*t-8*t2;
a1=3*k1*k*t*t*t-2*t*t-4*t1*t+24*t2;
a2=3*k1*k*t*t*t+2*t*t-4*t1*t-24*t2;
a3=3*k1*k*t*t*t+2*t*t+4*t1*t+8*t2;

6


for(i=j;iif(i<(int)(1000*Time)){
w[i+3]=(k1*t*t*t*10*Mc-a2*w[i+2]-a1*w[i+1]-a0*w[i])/a3;
PlotLine(handle,PANEL_GRAPH,(i),w[i+2],
(i+1),w[i+3],VAL_RED);
}
if(i>(int)(1000*Time))
i=p-1;
}
return 0;
}
int CVICALLBACK RUN(int panel,int contrl,int event,void*
callbackData,int eventData1,int eventData2)
{
static int x=0;
w[0]=0;
w[1]=0;
w[2]=0;
z1=0;

if(event==EVENT_COMMIT){
GetCtrlVal(handle,PANEL_NU,&Time);
b=1;
while(b){
r=(double)rand()/RAND_MAX;
Mc=-r;
z=(int)(r*300);
z1=z+y;
TINH(Mc,z+y,y);
r=0.6-0.3*r;
Mc=0;
z=(int)r*1000;
y=z+z1;
TINH(Mc,y,z1);
x++;
if(y>(int)(1000*Time))
b=0;
}
}
return 0;
}
int CVICALLBACK CLEAR(int panel,int contrl,int event,void*
callbackData,int eventData1,int eventData2)
{
if(event==EVENT_COMMIT){
DeleteGraphPlot(handle,PANEL_GRAPH,-1,1);
y=0;
7



i=0;
j=0;
}
return 0;
}
int CVICALLBACK QUIT(int panel,int contrl,int event,void*
callbackData,int eventData1,int eventData2)
{
if(event==EVENT_COMMIT){
b=0;
QuitUserInterface(0);
}
return (0);
}
VIII)ThiÕt kế giao diện
Giao diện đợc thiết kế trên File Noise.uir.
//Noise.uir

IX)Kết quả mô phỏng
Vào thời gian mô phỏng là 1.5(s) ta cã kÕt qu¶ :

8


Khi vào thời gian mô phỏng là 2(s) ta đợc :

9


X)Bình luận kết quả mô phỏng

Kết quả thu đợc thoả mÃn các yêu cầu đặt ra, điều này chứng tỏ việc giải
bài toán trên là đúng đắn .
Tuy nhiên bài toán trên đà đợc đơn giản hoá từ một hệ thống thực trong
sản xuất , đó là việc đặt trớc chu kỳ xảy ra nhiễu loạn do đó đà phần
nào làm mất đi tính khách quan của đối tợng cần mô tả.Ngoài ra nếu
hệ thống đợc tổng hợp theo tiêu chuẩn Modul đối xứng thì không
xuất hiện thành phần sai lệch tĩnh (bài toán chỉ xây dựng với hệ đợc
tổng hợp theo tiêu chuẩn tối u Modul)
Với cách bố trí giao diƯn nh trªn , ta cã thĨ tù do vào thông số là thời gian
mô phỏng mà không bị giới hạn.
Khi thực hiện chạy mô phỏng với cùng một thời gian mô phỏng thì đáp
ứng các lần chạy không hoàn toàn giống nhau , điều này chứng tỏ ta đà mô
phỏng đợc một hệ có các tham số có phân bố ngẫu nhiên.
Để bài toán có tính thực tiễn hơn nữa thì ta phải khảo sát tơng đối chín xác
luật phân bố ngẫu nhiên của các biến ngẫu nhiên.
XI)Tài liệu tham khảo
[1] : Mô hình hoá hệ thống và mô phỏng _PGS.TS Nguyễn Công
Hiền.
[2] : Điều chỉnh tự động truyền động điện PGS.TS Bùi Quốc
Khánh
10


PGS.TS Nguyễn Văn
Liễn
[3]: Labwindows/CVI _National Instruments-2001

*************************************************

11




×