Bài tập dài mô hình hóa số 2
Trang 1Bà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 truyền độ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 :
Với d là nhiễu loạn theo lợng đặt
Mc là nhiễu loạn phụ tải
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 :
p Ti
Ki
2
Kj
FR
p Tfw
Kfw
1
d=0
-+
Trang 2Xé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 r(đ-a dới dạng biểu thức ) s(đ-au đó thực hiện số hoá dới dạng phơng trình s(đ-ai phân
Tính toán ta đợc:
p) T 2Tip)(1 p(1
KK
p) T 2Tip)(1 (1
K p)
T 2Tip)(1 p(1
K K 1
/p K ΔMM
ΔMω
f i
f 1
f 1
1
1
2 1
2 ) 2
(
] 2
) 2
( 1 [
p TiT p
T Ti p K
K
p TiT p T Ti K
f f
f f
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
f
f
TiT T
T Ti T
2
2
2
1
Trang 3Thùc hiÖn sè ho¸ :
Thay 2(( 11))
Z T
Z p
3 3
3
2 2 2
2 1
1
2
2 2
2 1
1
C
1) (Z T
1) 8(Z T 1) (Z T
1) (Z 4T 1) T(Z
1) 2(Z K K
1) (Z T
1) (Z 4T 1) T(Z
1) (Z 2T K ΔMM
ΔMω
)]
1 2 ( 4 ) 1 ( 2 ) 1 2 ( [ ) 1
(
2 2 2
1 2
2 2 2
1
Z
T
K
TS
)
1
2 2
2 2
2 1 2
2
2
Z
T
K
C1 =T 2 +2TT 1 +4T 2
C 2 =2T 2 -8T 2
C 3 =T 2 -2TT 1 +4T 2
Ms=1/[T 3 (Z+1) 3 ][K 1 KT 3 (Z 3 +3Z 2 +3Z+1)+2T 2 (Z 3 +Z 2 -Z-1)+
+4T 1 T(Z 3 -Z 2 -Z-1)+8T 2 (Z 3 -3Z 2 +3Z-1)]
=1/[T 3 (Z+1) 3 ][(K 1 KT 3 +2T 2 +4T 1 T+8T 2 )Z 3 +(3K 1 KT 3 +2T 2 -4T 1 T
-24T 2 )Z 2 +(3K 1 KT 3 -2T 2 -4T 1 T+24T 2 )Z+K 1 KT 3 -2T 2 +4T 1 T-8T 2 ]
A o = K 1 KT 3 -2T 2 +4T 1 T-8T 2
A 1 =3K 1 KT 3 +2T 2 -4T 1 T-24T 2
A 2 =3K 1 KT 3 -2T 2 -4T 1 T+24T 2
A 3 = K 1 KT 3 +2T 2 +4T 1 T+8T 2
0 1
2 2
3 3
3 2
2 1 3
2 2
3 1 1 0
1
2 2
3
3
3 2
2 1
A Z A Z A Z A
C Z C Z C Z C Z C Z C T K A
Z A Z A Z
A
C Z C Z C Z
T
K
0 1
2 2
3 3
2 1
2 2
1 2 2
2 1
2 3
2 1
2
A Z A Z A Z A
T T T T Z T T T T Z
T T T T Z
T T T T
T
K
2 1
2 3
2 1
2 2
2 1
2 1
2 1
2
0
4 2
3
4 2
3
4 2
3
4 2
T T T T
B
T T T T
B
T T T T
B
T T T T
B
Trang 4TS
0 1
2 2
3 3
0 1
2 2
3 3
A Z A Z A Z
A
B Z B Z B Z B
T
K
[i]={Mk 1 (B 3 +B 2 +B 1 +B 0 )-A 2 [i-1]-A 1 [i-2]A 0 [i-3]}/A 3
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 l u đồ
Lu đồ của chơng trình:
Trang 5VII)ViÕt ch ¬ng tr×nh m« pháng
Sau ®©y lµ phÇn m· ch¬ng tr×nh viÕt b»ng ng«n ng÷ Labwindows/CVI:
//Noise.h
#include <userint.h>
#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
Trang 6#define PANEL_TEXTMSG_7 31
#define PANEL_TEXTMSG_8 32
#define PANEL_TEXTMSG_9 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;
Trang 7
for(i=j;i<p;i++){
if(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;
Trang 8i=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ả :
Trang 9Khi vào thời gian mô phỏng là 2(s) ta đợc :
Trang 10X)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
Trang 11PGS.TS NguyÔn V¨n LiÔn
[3]: Labwindows/CVI _National Instruments-2001
*************************************************