What is Coordinate Measuring Machine? CMM Types, Features, Functions
Optim slr im_fmincon_report
1. TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN
BỘ MÔN THIẾT BỊ ĐIỆN - ĐIỆN TỬ
--🙞🕮🙜--
BÀI TẬP LỚN TỐI ƯU HÓA MÁY ĐIỆN
ĐỀ TÀI: TỐI ƯU ĐỘNG CƠ KHÔNG ĐỒNG BỘ ROTO DÂY QUẤN
30KW SỬ DỤNG HÀM FMINCON TRONG MATLAB
Giảng viên hướng dẫn TS. Trần Tuấn Vũ
Nhóm số 4
Hà Nội – 06/2021
2. 2
Mục lục
I. Thông số mô hình và thông số tối ưu........................................................................3
1.1 Các thông số đầu ra từ mô hình thiết kế động cơ............................................3
1.2 Các thông số tối ưu..........................................................................................5
II. Sơ lược về thuật toán SQP thông qua hàm Fmincon trong phần mềm Matlab .......5
2.1 Các điều kiện ràng buộc đối với hàm mục tiêu...............................................6
2.2 Lệnh gọi thuật toán và cách sử dụng...............................................................6
III. Quá trình thực hiện tối ưu và kết quả thu được ......................................................8
3.1 Hàm mục tiêu, hàm điều kiện ràng buộc, hàm gọi thuật toán Fmincon .........8
3.2 Các kết quả thu được và lựa chọn kết quả tối ưu..........................................12
IV. Kết luận.................................................................................................................16
V. Tài liệu tham khảo .................................................................................................16
3. 3
I. Thông số mô hình và thông số tối ưu
Các thông số đầu vào:
- Công suất 30KW
- Tần số 50Hz
- Điện áp 440V
- Số pha 3
1.1Các thông số đầu ra từ mô hình thiết kế động cơ
1.1.1. Các kích thước chủ yếu
- Số đôi cực: p=3
- Đường kính ngoài stator: D0=550mm
- Đường kính trong stator: D=330mm
- Chiều dài lõi sắt: L=160mm
- Bước cực: 172.79( )
mm
=
- Dòng điện pha định mức: I=29.96A
1.1.2. Dây quấn, rãnh stator
- Số rãnh stator: S=54
- Số rãnh/pha/cực: q=3
- Bước rãnh: SP=19.19mm
- Số thanh dẫn/rãnh: Zs=18
- Dây quấn 2 lớp, mỗi lớp có 9 thanh dẫn
- Số vòng dây/pha=162
- Mật độ dòng điện thanh dẫn: CDSW=3.5A/mm2
- Kích thước thanh dẫn (rộng x cao): 1.9x5.0mm
- Kích thước rãnh (rộng x cao): 10.6x46.0mm
- Mật độ từ thông tại 1/3 chiều cao răng tính từ đỉnh răng: B13=1.0644T
- Mật độ từ thông trên răng lớn nhất: Bmax=1.5966T
- Trọng lượng sắt răng và sắt gông: Wt=25.9Kg, Wc=53.6Kg
- Trọng lượng dây quấn stator: Wcus=38.04Kg
1.1.3. Khe hở không khí, dây quấn, rãnh rotor
4. 4
- Kích thước khe hở không khí: Lg=0.66mm
- Đường kính ngoài rotor: D’=328.68mm
- Chiều cao gông rotor: dcr=36.84mm
- Đường trong rotor: Dri=197mm
- Số rãnh rotor: Sr=63
- Số rãnh/pha/cực: sppR=3.5
- Bước rãnh rotor: sp2=16.4mm
- Số thanh dẫn/rãnh: 2
- Số vòng dây/pha: TphR=21
- Mật độ dòng điện thanh dẫn: cdr=5A/mm2
- Kích thước thanh dẫn rotor (rộng x cao): 4x10mm
- Kích thước rãnh rotor (rộng x cao): 6.5x29mm
- Mật độ từ thông tại 1/3 chiều cao răng tính từ đỉnh răng rotor: Brt=1.1898T
- Mật độ từ thông lớn nhất trên răng rotor: Brtmax=1.785T
- Khối lượng dây quấn rotor: Wcur=17.53Kg
- Khối lượng gông và răng rotor: Wri=53.03Kg
1.1.4. Thông số không tải
- Dòng điện không tải: I0=10.33A
- Hệ số dòng điện không tải: I0/I=0.345
- Tổn hao không tải: PnL=1902.1W
- Dòng điện từ hóa: Im=10.23A
- Hệ số công suất không tải: Pf0=0.1395
1.1.5. Thông số ngắn mạch
- Dòng điện ngắn mạch: Isc=133.05A
- Hệ số công suất ngắn mạch Pfsc=0.2686
- Hệ số dòng điện ngắn mạch: RAT=4.44
1.1.6. Hiệu suất và đặc tính hoạt động
- Tổng tổn hao: Pt=3895.2W
- Hiệu suất: EFF=88.51%
- Hệ số công suất định mức: Pf=0.8621
5. 5
- Hệ số trượt định mức: SFL= 0.0331
- Bội số momen mở máy: Tst=0.905
- Công suất lớn nhất: Pmax=63.84Kw
- Độ tăng nhiệt: Tr=55.47 độ C
- Khối lượng động cơ: Wtot=190Kg
- Tỉ lệ khối lượng/công suất: Kg/KW=6.33
1.2 Các thông số tối ưu
Đối với mô hình động cơ không đồng bộ rotor dây quấn ở trên, ta chọn hai thông số
để tối ưu là tổng khối lượng động cơ (Wtot) và hiệu suất động cơ (EFF)
Hai thông số trên phụ thuộc bởi các biến đầu vào của động cơ. Ở đây ta dựa trên 7 biến
bao gồm:
▪ Số đôi cực 1
( )
x : p
▪ Số rãnh/pha/cực stator 2
( )
x : spp
▪ Chiều rộng thanh dẫn stator 3
( )
x : Tstrip
▪ Số thanh dẫn trong rãnh stator theo chiều rộng 4
( )
x : Zsw
▪ Mật độ dòng điện thanh dẫn stator 5
( )
x : CDSW
▪ Số rãnh/pha/cực rotor 6
( )
x : sppR
▪ Mật độ dòng điện thanh dẫn rotor 7
( )
x : cdr
Vì vậy ta có quan hệ ràng buộc sau:
1 1 2 3 4 5 6 7
2 1 2 3 4 5 6 7
( ) ( , , , , , , )
( ) '( , , , , , , )
f x f x x x x x x x
f x f x x x x x x x
=
=
II. Sơ lược về thuật toán SQP thông qua hàm Fmincon trong phần mềm Matlab
Khi giải quyết các bài toán tìm tối ưu thường ta không chỉ quan tâm tới điểm cực tiểu
của hàm mục tiêu. Mà hơn thế, khi đi tìm cực tiểu, biến độc lập x còn phải thỏa mãn một
số điều kiện phụ. Các điều kiện phụ có thể do người dùng đặt ra hoặc do điều kiện vật lý
gây nên. Các điều kiện phụ thường được mô tả dưới dạng phương trình hoặc bất phương
trình hoặc hỗn hợp cả hai. Thuật ngữ mô tả việc tìm tối ưu dưới các điều kiện phụ là
“constrained nonlinear optimization”
6. 6
Trong Optimization toolbox của Matlab cung cấp cho ta hàm Fmincon để nhằm phục
vụ yêu cầu ở trên. Sử dụng Fmincon chính là một hàm tích hợp của thuật toán tối ưu SQP.
Các điều kiện phụ được phân thành điều kiện phi tuyến và điều kiện tuyến tính
2.1 Các điều kiện ràng buộc đối với hàm mục tiêu
Thuật toán Fmincon tìm min ( )
f x dưới các điều kiện:
( ) 0
( ) 0
l
eq
eq eq
c x
c x
Ax b
A x b
b x ub
=
=
Trong đó: , eq
c c là các hàm vector phi tuyến, , eq
A A là các ma trận hằng, , eq
b b là
các vector hằng, còn ,
lb ub là các giới hạn trên và giới hạn dưới của vector kết quả
x
Thông thường ta sẽ lưu các điều kiện , eq
c c dưới dạng một hàm ở một file khác
so với file gọi kết quả Fmincon
2.2Lệnh gọi thuật toán và cách sử dụng
Lệnh gọi thuật toán có dạng như sau:
options = optimoptions('fmincon','Display','iter','Algorithm','active-set');
[x,fval,exitflag]=fmincon('fun',x0,A,b,Aeq,beq,lb,ub,'circlecon',options)
Cài đặt thuật toán(options):
▪ ‘fmincon’: thuật toán sử dụng tối ưu là fmincon
▪ ‘Display’: in ra màn hình kết quả thuật toán
▪ ‘Iter’: in ra chi tiết kết quả thuật toán theo từng bước tính toán
▪ ‘Algorithm’, ‘active-set’: phương pháp thuật toán sử dụng tối ưu
Các tham số đầu vào:
▪ Khi gọi lệnh ta không nhất thiết phải khai báo tất cả các tham số.
Tại vị trí những tham số không sử dụng đến, ta chỉ cần thay vào
đó dấu rỗng []
▪ ‘fun’ ở đây là hàm mục tiêu cần tối thiểu hóa, cũng thường được
đặt ở một file khác so với file gọi kết quả Fmincon
▪ x0 là giá trị xuất phát của vector x
▪ Các tham số A tới ub là các điều kiện đã mô tả ở trên
▪ Các điều kiện mô tả dưới dạng phương trình hoặc bất phương
trình được khai báo nhờ hàm ‘circlecon’
▪ Các điều kiện phi tuyến phải được khai báo đúng với yêu cầu kết
thúc “=0”
Các tham số đầu ra của thuật toán:
7. 7
▪ ‘x’: Giá trị đầu ra của vector x đáp ứng tối thiểu hóa hàm mục
tiêu
▪ ‘fval’: Giá trị tối thiểu hóa hàm mục tiêu
▪ ‘exitflag’: tham số cho biết sự hội tụ của thuật toán. Nếu
exitflag<0 có nghĩa thuật toán không hội tụ giá trị fval không tin
cậy, nếu exitflag>0 có nghĩa thuật toán hội tụ, giá trị fval và
vector x là tối ưu toàn cục, nếu exitflag=0 có nghĩa là số bước
lặp của thuật toán đạt giá trị tối đa, giá trị fval không được chấp
nhận.
Ví dụ mẫu kết quả trả về của Fmincon:
▪ ‘Iter’: là số bước tính toán
▪ ‘Fcount’: số lần tính toán tại bước thứ i
▪ ‘f(x)’: giá trị hàm tối thiểu hóa tại bước thứ i
▪ ‘max constraint’: sai số tối đa của đáp ứng vector x đối với
các điều kiện ràng buộc, thuật toán hội tụ nếu max
constraint 0
▪ ‘x’: giá trị tìm được của vector x
▪ ‘fval’: giá trị của hàm mục tiêu
▪ ‘exitflag=1’: cho biết thuật toán hội tụ
8. 8
III. Quá trình thực hiện tối ưu và kết quả thu được
3.1Hàm mục tiêu, hàm điều kiện ràng buộc, hàm gọi thuật toán Fmincon
Ở đây ta có 2 hàm mục tiêu là hiệu suất và khối lượng động cơ, nên cách làm ở đây là
chuyển hàm mục tiêu khối lượng động cơ trở thành ràng buộc dạng bất phương trình.
3.1.1 Hàm mục tiêu
Hàm mục tiêu được lưu dưới dạng file .m riêng biệt với hàm gọi Fmincon và hàm ràng
buộc
Hàm mục tiêu được đặt dạng: function [f]=fun(x)
Bên trong hàm, dựa trên code mô hình thiết kế có sẵn, ta lần lượt thay các biến số đôi
cực: p=x(1), số rãnh/pha/cực stator: spp=x(2), độ rộng thanh dẫn stator: Tstrip=x(3), số
thanh dẫn trong rãnh stator theo chiều rộng: Zsw=x(4), mật độ dòng điện thanh dẫn stator:
CDSW=x(5), số rãnh/pha/cực rotor: sppR=x(6), mật độ dòng điện thanh dẫn rotor:
cdr=x(5)
Đến cuối đoạn code, đặt hàm mục tiêu hiệu suất dạng:
EFF=KW/(KW+Pt/1000)*100;
f=100-EFF; end
Ta đặt f=100-EFF vì cần tối thiểu hóa phần tổn hao và kết thúc hàm mục tiêu
3.1.2 Hàm điều kiện ràng buộc
Hàm ràng buộc cũng được lưu dưới dạng file .m riêng biệt với hàm gọi Fmincon và
hàm mục tiêu
Hàm mục tiêu được đặt dạng: function [c,ceq] = circlecon(x)
Khai báo function ở đây có nghĩa hàm tên hàm “circlecon” bao gồm 2 hàm nhỏ là ‘c(x)’
và ‘ceq(x)’. Hàm c(x) ở đây là hàm ràng buộc bất phương trình có dạng ( ) 0
c x , hàm
ceq(x) là phương trình có dạng ( ) 0
ceq x =
Bên trong hàm function ta cũng thay lần lượt các biến ràng buộc vào code mô hình
thiết kế có sẵn giống ở hàm mục tiêu
Đến cuối đoạn code, các ràng buộc c(x) và ceq(x) có dạng như sau:
9. 9
c =[2.5-WbyT WbyT-3.5 18-SPitch SPitch-25 Btmax-1.8 1.4-
Btmax Brtmax-1.8 Wtot-200];
ceq =[mod(Zs,2) mod(Zr,2) mod(p,1) mod(Zsw,1) mod(sppR,0.5)
mod(Tstrip,0.1) mod(spp,1)];end
• Hàm ràng buộc bất phương trình c(x):
▪ Đại lượng ‘WbyT’: là ràng buộc tỉ lệ chiều cao /chiều rộng thanh
dẫn stator phải nằm trong khoảng từ 2.5 đến 3.5
▪ Đại lượng ‘SPitch’: là ràng buộc bước rãnh phải nằm trong
khoảng từ 18 đến 25mm
▪ Đại lượng ‘Btmax’: là ràng buộc mật độ từ thông trên răng stator
phải nằm trong khoảng 1.4 đến 1.8T
▪ Đại lượng ‘Brtmax’: là ràng buộc mật độ từ thông trên răng rotor
phải nhỏ hơn 1.8T
▪ Đại lượng ‘Wtot’: là ràng buộc của hàm mục tiêu khối lượng động
cơ, đầu tiên ta đặt giá trị khối lượng nhỏ hơn 200kg
• Hàm ràng buộc phương trình ceq(x):
▪ Đại lượng ‘Zs’, ‘Zr’: là ràng buộc số thanh dẫn trong một rãnh
stator và rotor phải là số chẵn vì ta sử dụng kiểu dây quấn 2 lớp
▪ Đại lượng ‘p’, ‘Zsw’, ‘spp’: là ràng buộc số đôi cực, số thanh dẫn
trong rãnh theo chiều rộng, số rãnh/pha/cực stator phải là số
nguyên dương
▪ Đại lượng ‘Tstrip’: là ràng buộc chiều rộng thanh dẫn phải là số
thập phân chia hết cho 0.1 (ví dụ 1.8, 1.9, 2.0, 2.1…)
▪ Đại lượng ‘sppR’: là ràng buộc số rãnh/pha/cực của rotor phải là
số chia hết cho 0.5 (ví dụ 2, 2.5, 3, 3.5…)
3.1.3 Hàm gọi thuật toán Fmincon
Code hàm gọi thuật toán có dạng như sau:
10. 10
%%
lb = [2 2 1.8 2 2 2 3];
ub = [3 4 2.2 4 5 4 7];
%%
% There are no linear constraints, so set those arguments to |[]|.
A = [];
b = [];
Aeq = [];
beq = [];
%%
% Choose an initial point satisfying all the constraints.
x0 = [g h j k 3 l 4.5];
%%
% Solve the problem.
options = optimoptions('fmincon','Display','iter','Algorithm','active-set');
[x,fval,exitflag] = fmincon('fun',x0,A,b,Aeq,beq,lb,ub,'circlecon',options)
• Giới hạn vector x (lb và ub)
Các giới hạn trên và giới hạn dưới tương ứng với các biến được đặt như sau:
Số đôi cực: p=2 -3, số rãnh/pha/cực stator: spp=2-4, chiều rộng thanh dẫn stator:
Tstrip=1.8-2.2, số thanh dẫn trong rãnh stator theo chiều rộng: Zsw=2-4, mật độ dòng điện
thanh dẫn stator: CDSW=2-5A/mm2, số rãnh/pha/cực rotor: sppR=2-4, mật độ dòng điện
thanh dẫn rotor: cdr=3-7A/mm2
• Các ràng buộc A tới beq được cho dạng rỗng []
• Giá trị vector khởi đầu
Do thuật toán Fmincon không hỗ trợ các biến rời rạc nên thuật toán chỉ chạy tại điểm
khởi đầu nếu có biến rời rạc, ở đây ta chỉ có hai biến mật độ dòng điện là biến liên tục.
Giải pháp ở đây là sử dụng vòng lặp for đối với các biến rời rạc ở cửa sổ command
window của Matlab vì thế ta gán các biến rời rạc cho các biến ‘g, h, j, k, l’
Code tại command window như sau:
11. 11
ketqua2=zeros(2,7);
min=15;
for g=2:1:3
for h=2:1:4
for j=1.8:0.1:2.2
for k=2:1:4
for l=2:0.5:4
Fmin
if exitflag==1||exitflag==4||exitflag==5
if fval<min
min=fval;
ketqua2(1,:)=x;
ketqua2(2,1)=100-fval;
end
end
end
end
end
end
end
[EFF,Wtot]=toiuuhoa(ketqua2(1,1),ketqua2(1,2),ketqua2(1,3),ketqua2(1,4),
ketqua2(1,5),ketqua2(1,6),ketqua2(1,7))
ketqua2(2,1)=EFF;ketqua2(2,2)=Wtot;
Chạy lần lượt thuật toán Fmincon với các vòng lặp for tương ứng với các biến rời rạc
Khởi tạo giá trị min, ma trận lưu giá trị x và fval
o Nếu trong mỗi lần chạy Fmincon, thuật toán đưa ra kết quả hội tụ
(exitflag=1,4,5) thì so sánh giá min với fval và gán để tìm ra fval
nhỏ nhất
o Ma trận ketqua2 là ma trận lưu giá trị vector x tương ứng với tối
ưu Fmincon hội tụ và giá trị lớn nhất của hiệu suất.
o Sau khi có giá trị vector x, ta thay trở lại các thông số có được vào
mô hình thiết kế động cơ để thu được hiệu suất và khối lượng
12. 12
3.2Các kết quả thu được và lựa chọn kết quả tối ưu
Với giá trị khối lượng động cơ ràng buộc ban đầu ta đặt =200kg
Các bước tính toán và giá trị vector x, fval min thu được như sau
Giá trị vector x, hiệu suất(%), khối lượng(kg).thu được như sau:
13. 13
Thực hiện tương tự với các mốc giá trị tối thiểu hóa của khối lượng động cơ ta được bảng
dữ liệu excel như sau:
Theo bảng ta vẽ được đồ thị quan hệ hiệu suất và khối lượng như sau:
Ta chọn điểm tối ưu cho cả hai hàm mục tiêu hiệu suất=90,11% và khối lượng=175kg
Qua đó các thông số cuối cùng của động cơ ta thu được như sau:
14. 14
3.2.1 Các kích thước chủ yếu
- Số đôi cực: p=2
- Đường kính ngoài stator: D0=410mm
- Đường kính trong stator: D=250mm
- Chiều dài lõi sắt: L=190mm
- Bước cực: 196.35( )
mm
=
- Dòng điện pha định mức: I=28.28A
3.2.2 Dây quấn, rãnh stator
- Số rãnh stator: S=36
- Số rãnh/pha/cực: q=3
- Bước rãnh: SP=21.817mm
- Số thanh dẫn/rãnh: Zs=20
- Dây quấn 2 lớp, mỗi lớp có 10 thanh dẫn
- Số vòng dây/pha=120
- Mật độ dòng điện thanh dẫn: CDSW=3.49A/mm2
- Kích thước thanh dẫn (rộng x cao): 1.8x4.6mm
- Kích thước rãnh (rộng x cao): 12.6x38.5mm
- Mật độ từ thông tại 1/3 chiều cao răng tính từ đỉnh răng: B13=1.0725T
- Mật độ từ thông trên răng lớn nhất: Bmax=1.6087T
- Trọng lượng sắt răng và sắt gông: Wt=19.37Kg, Wc=57.84Kg
- Trọng lượng dây quấn stator: Wcus=27.49Kg
3.2.3 Khe hở không khí, dây quấn, rãnh rotor
- Kích thước khe hở không khí: Lg=0.64mm
- Đường kính ngoài rotor: Dr=248.72mm
- Chiều cao gông rotor: dcr=40.96mm
- Đường trong rotor: Dri=81.6mm
- Số rãnh rotor: Sr=36
- Số rãnh/pha/cực: sppR=3.0
- Bước rãnh rotor: sp2=21.7mm
- Số thanh dẫn/rãnh: 2
15. 15
- Số vòng dây/pha: TphR=12
- Mật độ dòng điện thanh dẫn: cdr=3.6305A/mm2
- Kích thước thanh dẫn rotor (rộng x cao): 4x16.8mm
- Kích thước rãnh rotor (rộng x cao): 6.5x42.6mm
- Mật độ từ thông tại 1/3 chiều cao răng tính từ đỉnh răng rotor: Brt=1.1989T
- Mật độ từ thông lớn nhất trên răng rotor: Brtmax=1.7984T
- Khối lượng dây quấn rotor: Wcur=19.235 Kg
- Khối lượng gông và răng rotor: Wri=49.48Kg
3.2.4 Thông số không tải
- Dòng điện không tải: I0=9.57A
- Hệ số dòng điện không tải: I0/I=0.332
- Tổn hao không tải: PnL=1829W
- Dòng điện từ hóa: Im=9.47A
- Hệ số công suất không tải: Pf0=0.1448
3.2.5 Thông số ngắn mạch
- Dòng điện ngắn mạch: Isc=134.56A
- Hệ số công suất ngắn mạch Pfsc=0.21
- Hệ số dòng điện ngắn mạch: RAT=4.677
3.2.6 Hiệu suất và đặc tính hoạt động
- Tổng tổn hao: Pt=3292W
- Hiệu suất: EFF=90.11%
- Hệ số công suất định mức: Pf=0.892
- Hệ số trượt định mức: SFL= 0.0202
- Bội số momen mở máy: Tst=0.6127
- Công suất lớn nhất: Pmax=68.18Kw
- Độ tăng nhiệt: Tr=52.56 độ C
- Khối lượng động cơ: Wtot=175.1Kg
- Tỉ lệ khối lượng/công suất: Kg/KW=5.838
16. 16
IV. Kết luận
Sau khi tiến hành tối ưu hai tham số là hiệu suất và khối lượng động cơ KĐB rotor dây
quấn ta thu được những kết quả sau
• Hiệu suất động cơ tăng từ 88.51% lên 90.11%
• Khối lượng động cơ giảm từ 190Kg xuống 175Kg
Ngoài ra còn cải thiện một số thông số khác:
• Hệ số công suất tăng từ 0.88 lên 0.89
• Dòng điện không tải giảm từ 10.33 xuống 9.57A
• Độ tăng nhiệt giảm từ 55.5 xuống 52.5 độ
Tuy nhiên có những thông số xấu đi
• Bội số momen mở máy giảm từ 0.905 xuống 0.613
• Dòng điện ngắn mạch tăng nhẹ từ 133A lên 134.6A
Kết luận: Khi tiến hành tối ưu, nếu ta chỉ tập trung vào cải thiện đơn lẻ thông số nào đó
thì có thể dẫn đến các thông số khác xấu đi đáng kể. Thay vào đó, ta nên hướng tới tối ưu
trên hầu hết các thông số của động cơ để mô hình thiết kế trở nên thực tế hơn.
V. Tài liệu tham khảo
- MATLAB & SIMULINK DÀNH CHO KỸ SƯ ĐIỀU KHIỂN TỰ ĐỘNG,
Nguyễn Phùng Quang,2006
- COMPUTER-AIDED DESIGN OF ELECTRICAL MACHINE, K M Vishnu
Murthy,2008
- Slide học tập môn Tối Ưu Hóa Máy Điện, TS Trần Tuấn Vũ
Made by: Hoàng Duy Tính
20174266