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

Báo cáo Sử dụng công cụ MATLAB simulink để mô phỏng máy điện đồng bộ ở chế độ máy phát

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 (180.41 KB, 14 trang )

Báo cáo thực tập
Đề tài: ‘Sử dụng công cụ MATLAB + Simulink để mô phỏng máy điện
đồng bộ ở chế độ máy phát”
Nội dung
• Tìm hiểu chung về thiết bị phát điện chạy bằng sức gió, đặc biệt là
loại thiết bị sử dụng máy điện đồng bộ kích thích vĩnh cửu
• Tìm hiểu các phương pháp thực hiện khối (Block) trên nền MATLAB
+ Simulink
• Tìm hiều phát hiện và sửa lỗi của mô hình động cơ đồng bộ kích thích
vĩnh cửu (do sinh viên khoá trước thực hiện) Trên cơ sở đó tạo mô
hình riêng để sử dụng ở chế độ máy phát
I.Tìm hiểu chung về thiết bị phát điện bằng sức gió
1. Lời mở đầu
Theo thời gian, những nguồn năng lượng truyền thống sẽ ngày
càng hạn hẹp và có nguy cơ cạn kiệt. Mặt khác phần lớn nững nguồn
năng lượng đó gây ô nhiễm môi trường và tạo hiệu ứng nhà kính. Chính
1
vì thế loài người phải tìm ra những nguồn năng lượng mới để phục vụ
cho nhu cầu phát triển của mình. Những nguồn năng lượng mới như địa
nhiệt, năng lượng sóng, năng lượng mặt trời, năng lượng gió… vừa rẻ lại
vừa sạch sẽ đáp ứng được những yêu cầu đó. Trong đó năng lượng gió
rất lớn đồng thời lại rất thuận lợi trong việc ứng dụng. Sở dĩ nói như vậy
vì việc đầu tư nhỏ, thuận tiện trong lắp đặt, hơn nữa lại rất thiết thực cho
những địa bàn như vùng sâu, vùng xa, hải đảo… những nơi nhiều gió mà
việc truyền tải năng lượng gặp nhiều khó khăn.
Với ý tưởng đó tôi đã tìm hiểu nghiên cứu đề tài “Điều khiển máy
phát điện chạy bắng sức gió sử dụng động cơ đồng bộ kích thích vĩnh
cửu”.
2. Tổng quan về máy phát điện chạy bằng sức gió
Nguyên lý chung của máy phát điện là biến đổi các dạng năng
lượng khác thành năng lượng điện. Máy phát điện chạy bằng sức gió


cũng tuân theo nguyên lý chung đó. Hiện nay trên thế giới đã có nhiều
nơi sử dụng máy phát điện chạy bằng sức gió hoặc sử dụng động cơ di bộ
nguồn kép hoặc sử dụng đồng bộ kích thích vĩnh cửu, động cơ đồng bộ
rôto dây quấn. Tuỳ theo từng vùng, điều kiện mà có thể sử dụng loại nào
cho phù hợp. Dải công suất của loại máy này là rất rộng, từ vài kw đến
vài trăm kw, hiện nay với loại động cơ đồng bộ kích thích vĩnh cửu có
thể lên tới 600kw.
Hình1: Cấu trúc chung của hệ thống điều khiển máy phát điện
chạy bằng sức gió



Gió làm quay cánh quạt, qua trục quay gắn với Rotor làm Rotor quay.
Rotor quay tạo ra từ trường quay, từ trường này chuyển động tương đối so với
các cuộn dây Stator làm xuất hiện trong chúng sức điện động cảm ứng. Sức
điện động cảm ứng này có tần số và biên độ hoàn toàn phụ thuộc vào tốc độ
quay của Rotor tức là hoàn toàn phụ thuộc vào sức gió. Do đó ở các đầu dây
cuộn Stator ta thu được dòng điện ba pha có tần số và biên độ không ổn định.
Để có thể đưa dòng điện này hoà vào lưới hay nuôi các thiết bị điện ta phải đảm
2
G
3 ~
3 ~
=







=
3

~
µC
Filter
µC
bảo được chất lượng điện tức là phải đảm bảo được tần số, biên độ và góc pha.
Vì vậy ta phải đưa dòng điện ở đầu ra của máy phát qua bộ phận chỉnh lưu. Đầu
ra của chỉnh lưu đưa vào bộ phận nghịch lưu. Tại bộ phận nghịch lưu ta dùng
µC hoặc Computer để điều khiển nhằm tạo ra dòng ba pha có tần và biên theo ý
muốn. Tuy nhiên dòng điện này vẫn tồn tại nhiễu, do đó cần phải có bộ lọc để
triệt tiêu chúng. Nếu hoà vào lưới ta cần thêm khâu đồng bộ hoá nhằm tránh
xung đột.
Để hiểu rõ hơn nguyên tắc điều khiển hệ thống theo mô hình 1 ta có thể
chia mô hình đó làm hai phần:
• Phần 1 mô tả cấu trúc hệ thống về phía máy phát. Ta có sơ đồ thuật
toán như hình vẽ, thuật toán này có nhiệm vụ điều chỉnh điện trên tụ
luôn ổn định.
UMC
Usd Usα tu
i
*
sd = 0
Usq Usβ tv
tw
i
*
sq
UMC


isd
isα

isq isβ

• Phần 2 mô tả phía lưới. Ta coi lưới như một ĐCXCBP có sơ đồ cấu trúc như
sau
3
S
M

=


3∼

2
3
dq
αβ
§C
VT
KG
dq
αβ
Kh©u
®iÒu
chØnh
dßng

-1
or
+1
RL LL

UMC
Như vậy nhiệm vụ chính của đề tài này là xây dựng thuật toán điều khiển khâu
nghịch lưu để tạo ra điện áp XCBP có tần số, biên độ và góc pha sao cho hoà
được vào lưới điện sử dụng. Thuật toán này được thực hiện trên cơ sở “phương
pháp điều chế vector không gian” sử dụng vi điều khiển điều khiển các van bán
dẫn. Các van bán dẫn sử dụng chủ yếu ở đây là các transistor (IBGT,
MOSFET). Biến tần được nuôi bởi điện áp một chiều UMC hoạt động theo
kiểu cắt xung với tần số cắt cao.
II. Tìm hiểu các phương pháp thực hiện khối (Block) mới trên nền Matlab
+ Simulink :
1. Các bước cần thiết để tạo một block mới:
- Tạo mét S –function dưới dạng mô hình đồ họa SIMULINK hay mét M –
file, Mex- file.
- Biến đổi S –function thành khối.
- Thực hiện thao tác masking cho S –function block để tạo cho nó biểu tượng,
hộp hội thoại và các lệnh của khối.
Tiếp theo, chọn sơ đồ vừa tạo dùng lệnh Ctrl+G (hoặc kích vào thanh Creat
Subsystem trên menu Edit) để tạo nó thành một subsystem, dùng lệnh Edit
Mask để thực hiện thao tác masking cho subsystem vừa tạo.Các trang của hộp
hội thoại Edit Mask lần lượt được khai báo theo các hình dưới đây:
- Icon page là trang cho phép ta tạo biểu tượng cho khối mô phỏng. Tuy khả
năng đồ họa của Matlab là rất phong phó song các lệnh cho phép để vẽ biểu
tượng cho khối trong Edit Mask rất hạn chế (chỉ có một vài lệnh là plot,
disp, text, fprintf, dpoly, droots) nên các biểu tượng chỉ nên vẽ đơn giản và
mang tính đặc trưng cho khối mô phỏng.

4
3∼
Filter
3∼
=
µC
Hình 2: Khai báo trên trang icon page của Edit Mask
Cần nói thêm về toạ độ mặc định của khung vẽ: nếu coi khung vẽ là một hình
vuông thì góc dưới của khung có toạ độ là (0,0) và góc trên bên phải có tọa độ
là (1,1). Điều này cần lưu ý khi sử dụng lệnh vẽ vì các điểm vẽ không thể lớn
hơn 1. Có nhiều cách để định dạng khung vẽ mà người sử dụng có thể tham
khảo trong các sổ tay hướng dẫn sử dụng.
- Initialization Page là trang cho phép người dùng khai báo các thông số của
khối cần nhập vào trước khi chạy mô phỏng. Tại trường Promt nên ghi vài
thuyết minh ngắn về thông số để cho người dùng biết được mình đang nhập
5
vào thông số gì và như vậy họ có thể nhập thông số theo đúng đơn vị trong
trường hợp cần quan tâm.
Hình 3. Khai báo trên trang Initialization page
-Documentation Page: Block description là mô tả ngắn gọn nhất của khối về
chức năng hàm, các thông số. Mô tả này hiện ra ở phần đầu của hộp hội thoại
thông số. Block help là phần trợ giúp người sử dụng khi lúng túng trong việc
thực hiện mô phỏng hoặc thao tác với khối. Nội dung trợ giúp hiển thị chung
trên nền help của Matlab + Simulink.
6
Hình 4: Khai báo trên trang Documentation
Sau khi thực hiện đầy đủ các thao tác trên ta sẽ thu được khối mô phỏng
mới mong muốn có dạng như sau:
Hình 5: Khối mô phỏng mới
Khối mô phỏng này đã hoàn thiện và có thể sử dụng như bất kì một khối nào

khác của Simulink khi được ghép nối vào hệ thống. Trước khi chạy mô phỏng
cần kích đúp vào khối để hiện ra hộp hội thoại thông số
7
Hình 6: Phần hộp thoại thông số sau khi kích kép vào
. Tạo một S_function như thế nào?
S_function chính là một công cụ mạnh để người sử dụng mở rộng và phát triển
các khả năng của Simulink. Trong phần này tôi sẽ nói cụ thể S_function là gì,
khi nào và tại sao bạn có thể sử dụng nó:
S_function là một mô tả mang tính lập trình của một hệ thống động học.
S_function được viết bằng ngôn ngữ Matlab hoặc C.S_function viết bằng ngôn
ngữ C sẽ được dịch sang Mex_file bằng lệnh Cmex của Matlab, tất cả các mex
file đều có thể kết nối động với Matlab khi cần thiết.
Khi tạo một mô hình Simulink, một hàm mới có tên gọi là S_function sẽ
hình thành trong Matlab. Hàm này xác định đặc tính dộng học của mô hình, nó
sử dụng phương pháp tích phân, tuyến tính hoá… để xác định đặc tính động
học của hệ thống. Các thuộc tính của S_function cũng giống như bất kì một
hàm nào khác của Matlab. S_function sử dụng một cú pháp gọi đặc biệt cho
phép bạn tương tác với các phương pháp giải phương trình vi phân thường
(ODE solver odinari deffrential equation). Cú pháp gọi hàm của nó là:
sys= model(t,x,u,flag)
8
trong đó: model là tên của mô hình, Flag là cờ điều khiển các thông tin được trả
về trong biến sys. Ví dụ như khi cờ được lập lên 1 thì sẽ trả về vi phân trạng
thái trong biến sys tại thời điểm hoạt động xác định bởi thời gian t, vector trạng
thái x, vector đầu vào u.
Bằng việc sao chép các thuộc tính của các S_function vào trong mét
M_file hoặc Mex_file ta có thể tạo một mô hình riêng mà không swr dụng trình
soạn thảo sơ đồ khối. Các S_function có thể được kết nối với nhau, có nghĩa là
ta có thể gắn một S_function này vào trong mét S_function khác. Một khối đặc
biệt được gọi là S_function Block (trong thư viện Function and Tables của

Simulink) được sử dụng để gắn một S_function vào một sơ đồ khối.
Một đặc điểm khác gọi là masking, cho phép định nghĩa lại một khối tại
các phần bên trong hộp hội thoại của nó, biểu tượng của khối và các lệnh thi
hành. Bằng các khối masking S_function ta có thể tạo một lớp mới các khối.
Khi ta tạo một mô hình Simulink bằng cách vẽ một sơ đồ khối, Simulink sử
dụng các thông tin trong sơ đồ khối để tạo ra các S_function như đã biết.
S_function là phần chủ yếu của Simulink. Mỗi một sơ đồ khối mà ta vẽ sẽ có
một S_function tương ứng cùng với một tên như tên của mô hình. S_function
này như một tác nhân ảnh hưởng qua lại giữa việc mô phỏng và phân tích.
Tóm lại S_function đơn giản là các hàm của Matlab với một cú pháp gọi
hàm đặc biệt cho phép truy cập tới phương trình động học của mô hình và
chúng có các thuộc tính dưới đây:
+ Có thể tạo một mô hình tuyến tính hay phi tuyến với nhiều ngôn ngữ
(Ví dụ như sơ đồ khối hay các M_file)
+ Có thể tạo ra các loại khối mới mà có thể sử dụng trong bất cứ một mô
hình nào.
+ Có thể viết một chương trình mô phỏng và phân tích riêng cho hệ
thống của mình
3. Ví dô minh hoạ:
Mô hình liên tục của ĐCĐB có kích thích vĩnh cửu trên hệ toạ độ từ thông
rotor:
So với động cơ KĐB là sự khác nhau trong việc sinh từ thông rotor. Từ
thông rotor của ĐCKĐB được tạo nên bởi dòng kích từ i
sd
, một thành phần
của dòng stator. Từ thông rotor của ĐCĐB hoặc được tạo nên bởi một cuộn
kích thích biệt lập với các cuộn dây stator, hoặc bởi các phiến nam châm
vĩnh cửu bố trí đều trên mặt stator, vì thế dòng stator chỉ còn chứa dòng
mômen quay i
sq

và không còn dòng kích từ i
sd
nữa. Có hai loại ĐCĐB sử
dụng cuộn kích thích độc lập : ĐCĐB cực lồi, ĐCĐB cực Èn. Việc xây
dựng mô hình điều khiển/điều chỉnh động cơ cũng khác so với ĐCKĐB, ở
ĐCKĐB ta phải tìm cách ước lượng biên độ từ thông rotor, ở ĐCĐB biên độ
9
và góc pha ban đầu đã biết trước. Do đặc điểm trên, hệ toạ độ dq của ĐCĐB
có thể được coi là đã xác định, điều đó cho phép áp dụng ngay một cách
thuận lợi các phương pháp điều chỉnh trên hệ tọa độ dq mà không cần quan
tâm đến hệ tọa độ αβ nữa. Mặt khác, hệ thống kích thích bởi nam châm vĩnh
cửu có thể thay thế trong tính toán bằng cuộn kích và dòng kích tương ứng
nào đó, điều đó cho phép ta chỉ cần xét đến loại ĐCĐB có kích thích vĩnh
cửu kiểu cực Èn là đủ.
Hệ phương trình cơ bản của động cơ:
Phương trình điện áp stator của ĐCĐB:

dt
d
iRu
s
s
s
ss
s
s
ψ
+=
Chuyển sang quan sát trên hệ tọa độ dq có trục thực d trùng với trục của từ
thông rotor có dạng:


f
ss
f
s
f
ss
f
s
j
dt
d
iRu
ψω
ψ
++=

Vector từ thông
f
p
ψ
(p chỉ số đôi cực) chỉ có thành phần trục thực
0
ψ
do trục
d đi qua trục của chính vector
f
p
ψ
.

p
f
p
ψψ
=
Vector từ thông stator
f
s
ψ
gồm có hai thành phần một do dòng stator tự cảm
trong các cuộn stator, và một thành phần chính là
f
p
ψ
cảm ứng sang
f
p
f
ss
f
s
iL
ψψ
+=
để mô tả đầy đủ cần hai phương trình cơ sau đây:
-Phương trình mômen:
)(
2
3
ssM

ipcm
ψ
=
-Phương trình chuyển động:
dtp
jd
mm
c
TM
ω
+=
+Với ĐCĐB ta chỉ sử dụng phương thức mô tả toán học thu được trên cơ sở
các quan sát trên hệ tọa độ dq, do luôn tồn tại một hướng xác định của từ
thông rotor.
+Khác với ĐCKĐB, ở ĐCĐB
s
ω
trong phương trình cũng chính là
ω
, mặt
khác nhờ phương pháp tựa theo từ thông rotor, đặc điểm đồng bộ giữa tốc
10
độ góc
s
ω
của các vector điện áp và tốc độ góc cơ học
ω
luôn được đảm
bảo trong mọi chế độ của động cơ, đây là ưu điểm so với truyền động cổ
điển (tính đồng bộ chỉ đạt sau quá trình khởi động nhờ cuộn dây khởi động)

+Khe từ giữa rotor và stator tại đỉnh cực( vị trí trục d) bé hơn rất nhiều so
với khe tại vị trí trục q. Điều đó dẫn đến các trị số điện cảm khác nhau khi
đo ở vị trí khác nhau của rotor
sd
L
điện cảm stator đo ở đỉnh cực (vị trí trục d)
sq
L
điện cảm stator đo ngang cực (vị trí trục q)
Đối với loại cực Èn cũng vậy: các phiến nam châm vĩnh cửu được bố trí đều
đặn trên bề mặt rotor, do giá thành và công nghệ mà nhà chế tạo chỉ bố trí
một lượng hữu hạn phiến, điều đó dẫn đến khe từ ở vị trí giữa phiến (vị trí
đỉnh cực, vị trí trục d) bé hơn ở vị trí tiếp giáp giữa hai phiến(vị trí trục q).
Tuy nhiên sự chênh lệch của loại cực Èn không lớn như loại cực lồi, kinh
nghiệm thực tiễn cho thấy chất lượng truyền động được nâng lên rất nhiều
nếu sự chênh lệch Êy được tính đến một cách đầy đủ.
Sau khi xét sự khác biệt của điện cảm stator trên hai trục d và q ta có thể
viết lại như sau:





=
+=
sqsqsq
psdsdsd
Li
Li
ψ

ψψ
Thay các phương trình 1 vào 2 và viết lại dưới dạng phương trình các phần
tử ta thu được:
sqsqs
sd
sdsdssd
iL
dt
di
LiRu
ω
−+=
pssqsqs
sq
sqsqssq
iL
dt
di
LiRu
ψωω
+++=
Từ hệ phương trình trên ta có thể viết lại dưới dạng hệ phương trình trạng
thái:
sd
sd
sq
sd
sq
ssq
sd

sd
u
L
i
L
L
i
Tdt
d
11
++−=
ω
sq
p
s
sq
sq
sq
sd
sq
sd
s
sq
LL
i
T
i
L
L
dt

d
ψ
ωω
−+−−=
11
Trong đó
s
sd
sd
R
L
T =
là hằng số thời gian trục d của mạch stator
11
[ ]






−+=−+=
−=
sqsdsqsqsdsd
sd
p
csqsdsqsdsqpcM
sdsqsqsdcM
iiLiLi
L

pLLiiipm
iipm
)(
2
3
)(
2
3
)(
2
3
ψ
ψ
ψψ
s
sq
sq
R
L
T =
là hằng số thời gian trục q của mạch stator.
Đến đây ta đã xây dựng xong các phương trình cần thiết để mô tả ĐCĐB.
Sử dụng công cụ đồ họa Matlab Simulink ta xây dựng mô hình ĐCĐB như sau:

Từ hệ phương trình trạng thái ta có thể mô phỏng ĐCĐB bằng M_file.
Nội dung M_file
Function [sys,x0,str,ts] = SMDQM(t,x,u,flag,Rs,Lsd,J,In,mN,pc)
%S -Function return isd,isq,M with 3 variable input ud,uq % and w (speed
rad/s)
%Parameter :

% Rs : Armature resistance
% Lsd : Armature inductance (d axis)
% Lsq : Armature inductance (q axis)
% pc : number of magnetic pole couple
% In : Norment current
12
5
n
4
om e ga
3
m M
2
isq
1
isd
ab
dq
ad -> dq
T sq
T sq.s+1
h
s
T sd
T sd.s+1
s
1
Integrator1
c
1/b

b
l
f
m
Phip
e
d
3
2
3 -> 2
4
m T
3
usw
2
usv
1
usu
% mN : Normal moment
%
Tsd=Lsd/Rs; % Stator time constant (d axis)
Tsq=Lsq/Rs; % Stator time constant (q axis)
IsqN=sqrt(2)*In; % Nornal current Isq
Fip=(2/3)*(mN/(pc*IsqN)); % flux
% Dispatch the flag . The switch function controls the calls
% to S-function routines at each simulation stage, switch flag
% Initialization
case 0
[sys,x0,str,ts] = mdlInitializeSizes(t,x,u);
case 1

% Calculate state derivatives
sys = mdlDerivatives(t,x,u,Rs,Lsd,Lsq,J,In,mN,pc,Tsd,Tsq,Fip);
case 3
% Calculate outputs
sys = mdlOutputs(t,x,u,Rs,Lsd,Lsq,J,In,mN,pc,Tsd,Tsq,Fip);
% Unused flag
case {2,4,9}
sys = [];
% Error
otherwise
error(['Error,unknow flag =',num2str(flag)]);
end
% End of SMDQM
%
%mdlInitializeSizes
%Return the sizes, initial conditions, sample time, state
%odering strings (str) for the S_function
%
function [sys,x0,str,ts]=mdlInitializeSizes(t,x,u)
sizes=simsizes;
sizes.NumContstetes=2; %isd, isq
sizes.NumdiscStates=0;
sizes.NumOputs=3; %isd, isq, M
sizes.NumInput=3; % usd, usq, w
sizs.Dirfeedthrough=0;
sizes.NumSampleTimes=1;
sys=simsizes(size);
x0=zeros(2,1);
13
str=[];

ts=[0 0];
% End mdlInitializeSizes
% ==================================================
% mdlDerivatives
% Return the derivatives for the continous states
%(2.3.8a, b)
%==================================================
function sys=mdlDerivatives(t,x,u,Rs,LsdLsq,J,In,mN,pc,Tsd,Tsq,Fip);
sys(1)=(-1/Tsd)*x(1)+(1/Lsq)*u(1)+(Lsq/Lsd)*u(3)*x(2);
sys(2)=(-1/Tsq)*x(2)+(1/Lsq)*u(2)+(-Lsd/Lsq)*u(3)*x(1)+
(-1/Lsq)*Fip*u(3);
% End Derivatives
%==================================================
%mdloutput
% Return the block outputs
%==================================================
function sys=mdlOutputs(t,x,u,Rs,Lsd,Lsq,J,In,mN,pc,Tsd,Tsq,Fip)
sys(1)=x(1);
sys(2)=x(2);
sys(3)=(3/2)*pc*((Fip/Lsd+x(1)*Lsd*x(2)-Lsq*x(1)*x(2));
% End mdloutputs
• Kết quả mô phỏng
14
usu
usv
usw
mT
isd
isq
mM

omega
n
SM_dq 2

×