1. Trang chủ
  2. » Luận Văn - Báo Cáo

Điều khiển chuyển động tuyến tính sử dụng động cơ polysolenoid có xét đến hiệu ứng đầu cuối

215 61 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 215
Dung lượng 17,7 MB

Nội dung

ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP NGUYỄN HỒNG QUANG ĐIỀU KHIỂN CHUYỂN ĐỘNG TUYẾN TÍNH SỬ DỤNG ĐỘNG CƠ POLYSOLENOID CÓ XÉT ĐẾN HIỆU ỨNG ĐẦU CUỐI Chuyên ngành: Kỹ thuật điều khiển Tự động hóa Mã số: 52 02 16 LUẬN ÁN TIẾN SĨ KỸ THUẬT NGƯỜI HƯỚNG DẪN KHOA HỌC: GS.TSKH Nguyễn Phùng Quang PGS.TS Nguyễn Như Hiển THÁI NGUYÊN - 2019 Số hóa Trung tâm Học liệu Cơng nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn LỜI CAM ĐOAN Tên Nguyễn Hồng Quang, công tác Bộ mơn Tự động hóa – Khoa Điện – Trường Đại học Kỹ thuật Công nghiệp – Đại học Thái Nguyên Tơi xin cam đoan cơng trình nghiên cứu cá nhân hướng dẫn tập thể nhà khoa học tài liệu tham khảo trích dẫn Kết nghiên cứu trung thực chưa công bố cơng trình khác Thái Ngun, ngày 12 tháng năm 2019 Tác giả luận án Nguyễn Hồng Quang Số hóa Trung tâm Học liệu Cơng nghệ thơng tin – ĐHTN http://lrc.tnu.edu.vn LỜI CẢM ƠN Trong suốt trình học tập, nghiên cứu hồn thiện luận án này, nhận hướng dẫn, giúp đỡ quý báu thầy cô, anh chị, em, bạn tổ chức Với lòng kính trọng biết ơn sâu sắc xin bày tỏ lời cảm ơn chân thành tới: Ban Giám hiệu, Phòng Đào tạo, Khoa Điện trường đại học Kỹ thuật Công nghiệp thuộc Đại học Thái Nguyên, Viện Nghiên cứu Phát triển Công nghệ cao Kỹ thuật Công nghiệp thuộc Đại học Thái Nguyên Đại học Thái Nguyên tạo điều kiện thuận lợi giúp đỡ tơi q trình học tập, nghiên cứu hồn thiện luận án GS.TSKH Nguyễn Phùng Quang PGS.TS Nguyễn Như Hiển, người thầy kính mến tận tình hướng dẫn, bảo, động viên tạo điều kiện thuận lợi cho Tập thể nhà khoa học Bộ mơn Tự động hóa, Khoa Điện trường Đại học Kỹ thuật Công nghiệp, Viện Kỹ thuật Điều khiển Tự động hóa trường Đại học Bách khoa Hà Nội, có ý kiến đóng góp quý báu để tơi hồn chỉnh luận án Xin chân thành cảm ơn bố mẹ, em người vợ yêu quý gái luôn bên tôi, hết lòng thương yêu, quan tâm, sẻ chia, ủng hộ, động viên tinh thần, tình cảm, tạo điều kiện giúp tơi có nghị lực để hồn thành luận án Thái Nguyên, ngày 12 tháng năm 2019 Tác giả luận án Nguyễn Hồng Quang Số hóa Trung tâm Học liệu Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn Mục lục MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN iii MỤC LỤC ii DANH MỤC CÁC BẢNG BIỂU v DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT vi DANH MỤC HÌNH VẼ ix MỞ ĐẦU 1 Tính cấp thiết đề tài luận án Đối tượng, phạm vi phương pháp nghiên cứu Mục tiêu luận án Những đóng góp mới, ý nghĩa khoa học thực tiễn luận án Bố cục luận án .3 CHƯƠNG : TỔNG QUAN VỀ ĐỘNG CƠ TUYẾN TÍNH VÀ CÁCPHƯƠNGPHÁP ĐIỀU KHIỂN 1.1 Khái quát động tuyến tính .5 1.1.1 Những đặc điểm hệ truyền động thẳng .5 1.1.2 Lịch sử phát triển ứng dụng động tuyến tính 1.1.3 Cấu tạo, nguyên lý làm việc cách phân loại động tuyến tính .10 1.1.4 Hiệu ứng đầu cuối (End effect) 15 1.2 Truyền động tuyến tính phương pháp điều khiển truyền động tuyến tính 19 1.2.1 Yêu cầu đặt với tốn điều khiển truyền động tuyến tính 19 1.2.2 Khái quát tình hình nghiên cứu động tuyến tính 19 1.3 Truyền động tuyến tính dạng Polysolenoid phương pháp điều khiển 22 1.3.1 Động tuyến tính kích thích vĩnh cửu dạng Polysolenoid 22 1.3.2 Điều khiển truyền động tuyến tính dạng Polysolenoid 23 CHƯƠNG : MƠ HÌNH HĨA ĐỘNG CƠ TUYẾN TÍNH 26 2.1 Mơ hình tốn học động tuyến tính đồng kích thích vĩnh cửu 26 2.2 Hiệu ứng đầu cuối động tuyến tính .33 2.2.1 Giới thiệu hiệu ứng đầu cuối 33 2.2.2 Hiệu ứng đầu cuối động tuyến tính đồng 34 Số hóa Trung tâm Học liệu Cơng nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn Mục lục 2.3 Mô tả tốn học động tuyến tính kích thích vĩnh cửu dạng Polysolenoid 41 2.3.1 Mơ hình mạch từ tương đương 41 2.3.2 Hệ phương trình vi phân đề xuất 45 CHƯƠNG : ĐIỀU KHIỂN ĐỘNG CƠ TUYẾN TÍNH DẠNG POLYSOLENOID .54 3.1 Khái quát cấu trúc điều khiển 54 3.2 Các phương pháp điều khiển lực (điều khiển dòng điện) .55 3.2.1 Điều khiển theo phương pháp deadbeat .55 3.2.2 Điều khiển dự báo MPC .62 3.3 Bộ điều khiển vòng ngồi Min-Max MPC .72 3.4 Thiết kế thích nghi backstepping 77 CHƯƠNG : KẾT QUẢ MÔ PHỎNG VÀ THỰC NGHIỆM 86 4.1 Kết mô phỏng 88 4.1.1 Mơ phỏng hệ thống với mạch vòng ngồi Min-Max MPC, mạch vòng dòng điện FCS-MPC 88 4.1.2 Mơ phỏng hệ thống với mạch vòng ngồi Min-Max MPC, mạchvòng điềukhiển dòng điện CCS-MPC 101 4.1.3 Mô phỏng hệ thống với mạch vòng ngồi Min-Max MPC, mạch vòng điều khiển dòng điện Dead-beat 115 4.1.4 Mô phỏng hệ thống điều khiển thích nghi Backstepping .131 4.2 Kết thực nghiệm hệ thống 146 4.2.1 Kết thực nghiệm hệ thống với vòng ngồi Min-Max MPC, vòng dòng điện FCS-MPC 147 4.2.2 Kết thực nghiệm hệ thống với vòng ngồi Min-Max MPC, mạch vòng dòng điện CCS-MPC 151 4.2.3 Kết thực nghiệm hệ thống với vòng ngồi Min-Max MPC, mạch vòng dòng điện Dead-beat 156 4.2.4 Kết thực nghiệm hệ thống với điều khiển thích nghi backstepping 160 KẾT LUẬN VÀ KIẾN NGHỊ .168 DANH MỤC CƠNG TRÌNH KHOA HỌC CĨ LIÊN QUAN ĐẾN LUẬN ÁN .170 TÀI LIỆU THAM KHẢO 172 PHỤ LỤC 177 Số hóa Trung tâm Học liệu Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn Mục lục Phụ lục 1: Giới thiệu bàn thí nghiệm .177 Phụ lục 2: Chương trình lập trình 191 Số hóa Trung tâm Học liệu Cơng nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn Danh mục bảng biểu DANH MỤC CÁC BẢNG BIỂU Bảng 1.1 So sánh hệ chuyển động thẳng sử dụng thiết bị cụ thể (+: Tốt; -: Xấu) (theo [31] ) Bảng 1.2 Mật độ lực ĐCTT làm việc theo nguyên lý khác .14 Bảng 2.1 Mô tả quan hệ tương đương đại lượng vật lý loại động ĐB - KTVC quay tuyến tính 27 Bảng 3.1 Các trạng thái đóng cắt biến đổi 64 Bảng 4.1 So sánh chất lượng điều khiển (+:tốt) 165 Bảng 4.2 Bảng tổng hợp kết mô phỏng thực nghiệm .166 Số hóa Trung tâm Học liệu Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn Danh mục ký hiệu, viết tắt DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT Danh mục ký hiệu Ký hiệu Đơn vị Ý nghĩa Lsd , Lsq H điện cảm dọc trục ngang trục stator m Kg khối lượng phận sơ cấp (stator) us , is V, A vectơ điện áp, dòng stator Rs W điện trở stator v, v e m/s vận tốc cơ, điện Fm , Fc N lực đẩy, lực cản isd , isq A dòng điện trục d , q usd , usq V điện áp trục d , q t mm bước cực p số cặp cực yp Wb từ thơng cực từ we Rad/s góc điện xp mm vị trí động tuyến tính cf Hệ số ma sát Số hóa Trung tâm Học liệu Cơng nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn Danh mục ký hiệu, viết tắt Danh mục chữ viết tắt Chữ viết tắt Ý nghĩa ĐCMC Động chiều ĐCXC Động xoay chiều ĐCKĐB Động không đồng ĐCĐB Động đồng KTVC Kích thích vĩnh cửu ĐB-KTVC Đồng - kích thích vĩnh cửu ĐCTT Động tuyến tính ĐCTTKTVC Động tuyến tính kích thích vĩnh cửu ĐCTTKĐB Động tuyến tính khơng đồng TKTT Tách kênh trực tiếp PHTT Phản hồi trạng thái PMLSM Permanet Magnet Linear Synchronous Motor PLM Polysolenoid Linear Motor BLDC Brushless DC motor TLPMSM Tubular Linear Permanent Magnet Synchronous Machines CNC Computerized Numerical Control MPC Model predictive control CCS-MPC Continuous control set Model predictive control FCS-MPC Finite control set Model predictive control RFO Rotor Flux Oriented SFO Stator Flux Oriented DTC Direct Torque Control FOC Field Oriented Control FEM Finite Element Method LIM Linear Induction Motor Số hóa Trung tâm Học liệu Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn Danh mục ký hiệu, viết tắt LPMSM Linear Permanent Magnet Synchronous Machines PM Permanent Magnet MEC Magnetic Equivalent Circuit SVM Space Vector Modulation MIMO Multi input Multi output Số hóa Trung tâm Học liệu Cơng nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn Phụ lục Imax CImax I/O Kênh Dài điện áp Ioutmax Giao diện encoder Kênh Bộ đếm vị trí Điện áp Giao diện truyền thơng CAN 5mA 10nF 32-bit tổ chức thành nhóm 8bit Mỗi nhóm 8bit cài đặt đầu vào đầu phần mềm TTL 10mA kênh độc lập Kiểu mức logic (TTL) kiểu sai lệch Độ phân giải 24-bit Tần số tối đa 1.65MHz Reset đếm phần mềm 5V/1.5A Cấu hình kênh dựa chip SAB 80C164 Tiêu chuẩn ISO DIS 11898-2 CAN Tốc độ truyền (Baud Tối đa 1Mbit/s rate) Giao diện nối tiếp Cấu hình Tốc độ truyền Nhân phụ DSP Kiểu Tần số Bộ nhớ I/O Dải điện áp vào TL6C550C giao tiếp UART với FIFO PLL driven UART xác với tốc độ truyền Tương thích với chuẩn RS232/RS422 Lên tới 115.2 kBd(RS232) Lên tới 1Mbd Texas Instruments TMS320F240 DSP 20MHz 64Kx16 nhớ mã 28Kx16 nhớ liệu 4Kx16 nhớ chung 32KB nhớ flash 16 kênh chuyển đổi A/D 10 kênh PWM kênh Capture cổng nối tiếp TTL Cổng A/D 0-5V Số hóa Trung tâm Học liệu Cơng nghệ thơng tin – ĐHTN http://lrc.tnu.edu.vn Phụ lục Kích thước vật lý Tối đa 13mA Hỗ trợ Plug & Play Yêu cầu ke cắm ISA 16-bit Full-size 340x125x45mm(13.4x4.9x1.77in) Nhiệt độ làm việc 500C (32 1220F) Điện áp +5V5%, 4A +12V5%,0.75A Dòng điện Giao diện kết nối máy chủ Thông số vật lý Với thông số kỹ thuật miêu tả, Card Ds1103 hoàn toàn đáp ứng yêu cầu đặt cho hệ thống điều khiển e) Kết quả xây dựng hệ thống thực nghiệm Hệ thống thực nghiệm thực tế trình bày hình Số hóa Trung tâm Học liệu Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn Phụ lục 2.2 Phần mềm Phần mềm thực bao gồm phần mềm sử dụng : ̵ Matlab/Simulink : MATLAB (Matrix Laboratory) phần mềm khoa học thiết kế để cung cấp việc tính tốn số hiển thị đồ họa ngơn ngữ lập trình cấp cao MATLAB cung cấp tính tương tác tuyệt vời cho phép người sử dụng thao tác liệu linh hoạt dạng mảng ma trận để tính tốn quan sát Các liệu vào MATLAB nhập từ "Command line" từ "mfiles", tập lệnh cho trước MATLAB MATLAB cung cấp cho người dùng toolbox tiêu chuẩn tùy chọn Người dùng tạo hộp cơng cụ riêng gồm "mfiles" viết cho ứng dụng cụ thể Chúng ta sử dụng tập tin trợ giúp MATLAB cho chức lệnh liên quan với toolbox có sẵn (dùng lệnh help) ̵ Controldeck: ControlDesk phần mềm thử nghiệm dSPACE để phát triển ứng dụng cách liên tục Nó thực tất nhiệm vụ cần thiết cung cấp cho bạn môi trường làm việc nhất, từ bắt đầu thử nghiệm đến kết thúc a) Xây dựng cấu trúc điều khiển phần mềm Matlab/Simulink Trong trình cài đặt phần mềm Controldesk, hệ thống tự động cài thêm tiện ích cho thư viện Simulink Matlab RTI 1103 Trong thư viện này, đầu vào khối chức card điều khiển biểu thị dạng khối (block) Số hóa Trung tâm Học liệu Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn Phụ lục Dead-beat CCS Backstepping tham số kèm Việc xây dựng điều khiển Simulink thực cách đơn giản Cấu trúc điều khiển xây dựng phần mềm Số hóa Trung tâm Học liệu Cơng nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn FCS Phụ lục b) Thiết lập giao diện người dùng Controldesk Để điều khiển hệ thống, phần mềm Controldesk cho phép thiết lập giao diện để tương tác với người dùng Việc nạp tham số lấy liệu thực qua giao diện Giao diện ControlDesk cho phép người dùng thực việc thiết kế phương pháp kéo thả Có nghĩa người dùng sử dụng toolbox xây dựng sẵn phần mềm để thực chức cần thiết thiết lập tham số, quan sát giá trị biểu thị giá trị đồ thị Điều giúp cho người dùng nhanh chóng thiết lập giao diện điều khiển mà không cần phải lập trình phức tạp Hình Giao diện thao tác hệ thống c) Trình tự thực biên dịch chương trình máy tính: Số hóa Trung tâm Học liệu Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn Phụ lục Bước 2: Tiến hành chạy file thông số Bước 1: Mở file Matlab/Simulink điều cách nhấp chuột phải vào file chọn khiển xây dựng "Run" Mex file SVM cách sử dụng câu lệnh: "-mex SVM.c" Bước 3: Tiến hành biên dịch file mơ Bước 4: Tải file dịch có định dạng phỏng cách dụng tổ hợp phím sdf vào phần mềm ControlDeck bắt Ctrl+B đầu tiến hành thực nghiệm Tồn kết thực nghiệm trình bày Chương luận án Số hóa Trung tâm Học liệu Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn Phụ lục Phụ lục 2: Chương trình lập trình - Khai báo tham số chuẩn hóa mơ hình clear clc %% Thong so dong co t = 0.02; p = 1; phi = 0.035; m = 0.171; Rs = 10.5; Lsd = 1.4e-3; Lsq = Lsd; %% Gian doan hoa mo hinh va trang thai dau Ts = 0.01; A = [0 1;0 0]; B = [0 0;2*pi*p*phi/(m*t) -1/m]; dss1 = c2d(ss(A,B,[1,0],0),Ts); Ad = dss1.A; Bb1 = dss1.B; Bd = Bb1(:,1); Dd = Bb1(:,2); Ns = 30; dss2 = c2d(ss(A,B,[1,0],0),Ts/Ns); Ad1 = dss2.A; Bb2 = dss2.B; Bd1 = Bb2(:,1); Dd1 = Bb2(:,2); AI = [-Rs/Lsd 0;0 -Rs/Lsq]; BI = [1/Lsd 0;0 1/Lsq]; dss3 = c2d(ss(AI,BI,[1,0],0),Ts/Ns); AId = dss3.A; BId = dss3.B; zk = [-0.1;0]; idq = [0;0]; zsol = zk; zplot = zk; Iplot = idq; Uplot = [0;0]; usol = 0; d_isdr = 0; d_isqr = 0; I_isd = 0; I_isq = 0; isdr_old = idq(1); isqr_old = idq(2); %% Rang buoc D = 10; d_set = [-1:0.1:1]; Z0max = [0.002;1.5]; Z0min = [-0.002;-1.5]; Zmax = [0.1;6]; Zmin = [-0.1;-6]; Umin = -2; Umax = 2; %% Giai max MPC n = 40; Nw = 6; % horizonal prediction R = 0.1; Q = diag([1,1]); K = [-300 -3]; uI = [0;0]; % inner %% Current controller k11 = 400; k12 = 1200; k21 = 400; k22 = 1200; %% loop ddL = zeros(Nw,1); DD = zeros(2,Nw,Nw); BB = zeros(2,Nw,Nw); AAcon = zeros(4,Nw,Nw); BBcon = zeros(4,1,Nw); Damp = 3; file = load('disturbance.mat'); fd = file.fd; for i = 1:1:n u_pos = 0; DD = zeros(2,Nw,Nw); BB = zeros(2,Nw,Nw); AAcon = zeros(4,Nw,Nw); Số hóa Trung tâm Học liệu Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn Phụ lục if (abs(zk(1)) < Damp*Z0max(1)) && (abs(zk(2)) < Z0max(2)) u_pos = K*zk; else u1 = 0; dL = zeros(Nw,1); J = 0; count = max(size(d_set))+1; for i0 = d_set dk = i0*D; d = dk*ones(Nw,1); DD(:,:,1) = [Dd,zeros(2,Nw-1)]; BB(:,:,1) = [Bd,zeros(2,Nw-1)]; AAcon(:,:,1) = [BB(:,:,1);-BB(:,:,1)]; for ii = 2:1:Nw DD(:,:,ii)= [Ad^(ii-1)*Dd,DD(:,1:Nw-1,ii-1)]; BB(:,:,ii)= [Ad^(ii-1)*Bd,BB(:,1:Nw-1,ii-1)]; AAcon(:,:,ii) = [BB(:,:,ii);-BB(:,:,ii)]; BBcon(:,:,ii-1) = [Zmax - Ad^(ii-1)*zk - DD(:,:,ii-1)*d; -Zmin + Ad^(ii-1)*zk + DD(:,:,ii-1)*d]; end BBcon(:,:,Nw) = [Z0max - Ad^Nw*zk - DD(:,:,Nw)*d; -Z0min + Ad^Nw*zk + DD(:,:,Nw)*d]; AAconu = [[1;-1],zeros(2,Nw-1)]; BBconu = [Umax;-Umin]; for ii = 2:1:Nw AAconu = [AAconu;[[1;-1],zeros(2,Nw-1)]]; BBconu = [BBconu;[Umax;-Umin]]; end Acon11 = AAconu; Bcon11 = BBconu; for ii = 1:1:Nw Acon11 = [AAcon(:,:,Nw-ii+1);Acon11]; Bcon11 = [BBcon(:,:,Nw-ii+1);Bcon11]; end Hu1 = R*eye(Nw); fu1 = zeros(1,Nw); Hd = zeros(Nw,Nw); Gd = zeros(2,Nw); for ii = 1:1:Nw-1 Hu1 = Hu1 + BB(:,:,ii)'*Q*BB(:,:,ii); fu1 = fu1 + 2*zk'*(Ad^ii)'*Q*BB(:,:,ii) + 2*d'*DD(:,:,ii)'*Q*BB(:,:,ii); Hd = Hd + DD(:,:,ii)'*Q*DD(:,:,ii); Gd = Gd + (Ad^ii)'*Q*DD(:,:,ii); end u = quadprog(2*Hu1,fu1,Acon11,Bcon11); u1 = [u1;u(1)]; dL = [dL, d]; J1 = d'*Hd*d + 2*zk'*Gd*d+u'*Hu1*u+fu1*u; J = [J,J1]; end u1 = u1(2:count); J = J(2:count); Số hóa Trung tâm Học liệu Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn Phụ lục for i4 = 1:1:count if (J(i4) == max(J)) u_pos = u1(i4); ddL = [ddL,dL(:,i4)]; break; end end end %fd = D/2+randi(10*D/2,1)/10; %fd = D; isdr = 0; ddxr = 0; for ii = 1:1:Ns if (abs(zk(1)) < Damp*Z0max(1)) && (abs(zk(2)) < Z0max(2)) u_pos = K*zk; end isqr = u_pos + m*p*t*ddxr/(2*pi*phi); % sai lech e_isd = isdr - idq(1); e_isq = isqr - idq(2); % vi phan d_isdr = (isdr - isdr_old)/(Ts/Nw); d_isqr = isqr_old)/(Ts/Nw); % tich phan I_isd = I_isd+ e_isd; I_isq = I_isq+ e_isq; % tin hieu dieu khien dong uI1 = Lsd*(k11*e_isd + k12*I_isd); uI2 = Lsq*(k21*e_isq + k22*I_isq); uI = [uI1;uI2]; (isqr - idq = AId*idq + BId*uI; Iplot =[Iplot,idq]; isqr_old = isqr; zk = Ad1*zk + Bd1*idq(2) + Dd1*fd(i); zplot = [zplot,zk]; udq = uI+(2*pi*zk(2)*p/t)*[-Lsq*idq(2);Lsd*idq(1)+phi]; Uplot = [Uplot,udq]; end zsol = [zsol,zk]; usol = [usol,u_pos]; end zsol figure(1); plot(Ts*(0:1:Ns*n)/Ns,zplot(1,:)); grid on; hold on figure(2); plot(Ts*(0:1:Ns*n)/Ns,zplot(2,:)); grid on; hold on figure(3); plot(Ts*(0:1:Ns*n)/Ns,Iplot); grid on; hold on figure(4); plot(Ts*(0:1:Ns*n)/Ns,Uplot); grid on; hold on fdplot = zeros(1,2*n +2); time = zeros(1,2*n +2); for i = 2:2:2*n+2 fdplot(i) = fd(i/2); fdplot(i-1) = fdplot(i); time(i-1) = i/2; time(i) = time(i-1); end figure(5); plot(Ts*([time(2:2*n+2),n+1]-1),fdplot); grid on Số hóa Trung tâm Học liệu Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn Phụ lục - Phương pháp Min max CCS-MPC clear all phiP = 0.035; Lsd = 1.4e-3; Lsq = 1.4e-3; R = 10.3; p = 1; m = 0.171; tau = 0.02; N = 1; Ts = 0.1e-3; % Mo hinh dong dien A = [-R/Lsd 0; -R/Lsq]; B = [1/Lsd 0; 1/Lsq]; M = [0 Lsq/Lsd; -Lsd/Lsq]; S = [0;-1/Lsq]; % Mo hinh dong dien dq Phi_dq1 = eye(2) + A*Ts; H_dq = Ts*B; h_dq = Ts*S; % Mo hinh toc va vi tri Tsw = 0.2e-2; Aw = [0 1;0 0]; Bw = [0 0;2*pi*p*phiP/(m*tau) -1/m]; dss = c2d(ss(Aw,Bw,[1,0],0),Tsw); Ad = dss.A; Bb1 = dss.B; Bd = Bb1(:,1); Dd = Bb1(:,2); % Bo dieu khien MinMax Nw = 6; K = [1000 10]; R = 0.01; Q = diag([10,0.01]); Z0max = [0.002;2]; Z0min = [-0.003;-2]; Zmax = [0.1;6]; Zmin = [-0.1;-6]; Umin = -2; Umax = 2; %MPC dong dien Q_MPC = diag([10 1]); Hu = H_dq'*Q_MPC*H_dq; [L,~] = chol(2*Hu,'lower'); Linv = inv(L); Acon = [1 1;1 -1;-1 1; -1 -1]; Bcon = Vdc*[1;1;1;1]; opt = mpcqpsolverOptions; opt.MaxIter = 100; opt.FeasibilityTol = 1.0e-3; iA0 = false(size(-Bcon)); Mag = 4*pi; Fre = 6; k1 = 800; k2 = 1; Số hóa Trung tâm Học liệu Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn Phụ lục - Bộ điều khiển Min max FCS-MPC clear all phiP = 0.035; Lsd = 1.4e-3; Lsq = 1.4e-3; R = 10.3; p = 1; m = 0.171; tau = 0.02; N = 1; Ts = 0.05e-3; % Mo hinh dong dien A = [-R/Lsd 0; -R/Lsq]; B = [1/Lsd 0; 1/Lsq]; M = [0 Lsq/Lsd; -Lsd/Lsq]; S = [0;-1/Lsq]; % Mo hinh dong dien dq Phi_dq1 = eye(2) + A*Ts; H_dq = Ts*B; h_dq = Ts*S; % Mo hinh toc va vi tri Tsw = 0.2e-2; Aw = [0 1;0 0]; Bw = [0 0;2*pi*p*phiP/(m*tau) -1/m]; dss = c2d(ss(Aw,Bw,[1,0],0),Tsw); Ad = dss.A; Bb1 = dss.B; Bd = Bb1(:,1); Dd = Bb1(:,2); % Bo dieu khien MinMax Nw = 6; k1 = 800; k2 = 1; K = [k1 k2]; R = 0.01; Q = diag([10,0.01]); Z0max = [0.002;2]; Z0min = [-0.003;-2]; Zmax = [0.1;6]; Zmin = [-0.1;-6]; Umin = -2; Umax = 2; %MPC dong dien Q_MPC = diag([10 1]); Hu = H_dq'*Q_MPC*H_dq; Acon = [1 1;1 -1;-1 1; -1 -1]; Bcon = Vdc*[1;1;1;1]; Mag = 4*pi; Fre = 6; % Bang chuyen trang thai ung voi vector dien ap U = []; for i = pi/6:pi/6:2*pi U = [U, ((Vdc-2)/sqrt(2))*[sin(i); cos(i)]]; end UU = U; for j = 2:1:6 U = [U,(1/j)*UU]; end U = [U,[0;0]]; Số hóa Trung tâm Học liệu Cơng nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn Phụ lục - Phương pháp Min max Deadbeat clear all phiP = 0.035; Lsd = 1.4e-3; Lsq = 1.4e-3; R = 10.3; p = 1; m = 0.171; tau = 0.02; Ts = 0.05e-3; % Mo hinh dong dien A = [-R/Lsd 0; -R/Lsq]; B = [1/Lsd 0; 1/Lsq]; M = [0 Lsq/Lsd; -Lsd/Lsq]; S = [0;-1/Lsq]; % Mo hinh dong dien dq Phi_dq1 = eye(2) + A*Ts; H_dq = Ts*B; h_dq = Ts*S; % Mo hinh toc va vi tri Tsw = 0.2e-2; Aw = [0 1;0 0]; Bw = [0 0;2*pi*p*phiP/(m*tau) -1/m]; dss = c2d(ss(Aw,Bw,[1,0],0),Tsw); Ad = dss.A; Bb1 = dss.B; Bd = Bb1(:,1); Dd = Bb1(:,2); % Bo dieu khien MinMax Nw = 6; k1 = 800; k2 = 1; K = [k1 k2]; R = 0.01; Q = diag([10,0.01]); Z0max = [0.002;2]; Z0min = [-0.003;-2]; Zmax = [0.1;6]; Zmin = [-0.1;-6]; Umin = -2; Umax = 2; Mag = 4*pi; Fre = 6; N = 2; l = ones(N,1)/N; -function iq_ref = fcn(ex, ev, Ad, Bd, Dd, Nw, Z0max, Zmax, Umax, R, Q, acc, k1, k2) K = [k1 k2]; Zmin = -Zmax; Z0min = -Z0max; Umin = -Umax; %% loop DD = zeros(2,Nw,Nw); BB = zeros(2,Nw,Nw); Số hóa Trung tâm Học liệu Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn Phụ lục AAcon = zeros(4,Nw,Nw); BBcon = zeros(4,1,Nw); zk = [ex;ev]; u_pos = 0; if (abs(zk(1)) < Z0max(1)) && (abs(zk(2)) < Z0max(2)) u_pos = -K*zk; else dk = [-15,0,15]; count = max(size(dk)); u1 = zeros(count,1); J = zeros(count,1); for i0 = 1:1:count d = dk(i0)*ones(Nw,1); BB(:,:,1) = [Bd,zeros(2,Nw-1)]; DD(:,:,1) = [Dd,zeros(2,Nw-1)]; AAcon(:,:,1) = [BB(:,:,1);-BB(:,:,1)]; for ii = 2:1:Nw DD(:,:,ii)= [Ad^(ii-1)*Dd,DD(:,1:Nw-1,ii-1)]; BB(:,:,ii)= [Ad^(ii-1)*Bd,BB(:,1:Nw-1,ii-1)]; AAcon(:,:,ii) = [BB(:,:,ii);-BB(:,:,ii)]; BBcon(:,:,ii-1) = [Zmax - Ad^(ii-1)*zk - DD(:,:,ii-1)*d; -Zmin + Ad^(ii-1)*zk + DD(:,:,ii-1)*d]; end BBcon(:,:,Nw) = [Z0max - Ad^Nw*zk - DD(:,:,Nw)*d; -Z0min + Ad^Nw*zk + DD(:,:,Nw)*d]; AAconu = zeros(2*Nw,Nw); AAconu(1:2,:) = [[1;-1],zeros(2,Nw-1)]; BBconu = zeros(2*Nw,1); BBconu(1:2,:) = [Umax;-Umin]; for ii = 2:1:Nw AAconu(2*ii-1:2*ii,:) = [[1;-1],zeros(2,Nw-1)]; BBconu(2*ii-1:2*ii,:) = [Umax;-Umin]; end AAA = zeros(4*Nw,Nw); BBB = zeros(4*Nw,1); for ii = 1:1:Nw AAA(4*ii-3:4*ii,:) = AAcon(:,:,ii); BBB(4*ii-3:4*ii,:) = BBcon(:,:,ii); end Acon11 = [AAA;AAconu]; Bcon11 = [BBB;BBconu]; Hu1 = R*eye(Nw); fu1 = zeros(1,Nw); Hd = zeros(Nw,Nw); Gd = zeros(2,Nw); for ii = 1:1:Nw-1 Hu1 = Hu1 + BB(:,:,ii)'*Q*BB(:,:,ii); fu1 = fu1 + 2*zk'*(Ad^ii)'*Q*BB(:,:,ii) + 2*d'*DD(:,:,ii)'*Q*BB(:,:,ii); Hd = Hd + DD(:,:,ii)'*Q*DD(:,:,ii); Gd = Gd + (Ad^ii)'*Q*DD(:,:,ii); end [u, status] Bcon11); if(status == 0) = mpcCustomSolverCodeGen(2*Hu1,fu1,-Acon11,- Số hóa Trung tâm Học liệu Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn Phụ lục u = zeros(Nw,1); end u1(i0) = u(1); J1 = d'*Hd*d + 2*zk'*Gd*d+u'*Hu1*u+fu1*u; J(i0) = J1; end for i4 = 1:1:count if (J(i4) == max(J)) u_pos = u1(i4); break; end end end iq_ref = u_pos + acc; - Phương phápThích nghi Back steeping clear all phiP=0.035; Lsd = 1.4e-3; Lsq = 1.4e-3; Rs = 10.3; p = 1; m = 0.171; tau = 0.02; b = 0.1; % he so ma sat N = 1; Ts = 0.1e-3; Ad1 = 0.2e-3; Bd1 = 0.2e-3; Aq1 = 0.2e-3; Bq1 = 0.2e-3; Adq1 = 0.1e-3; Bdq1 = 0.1e-3; para = [phiP m Rs Lsd Lsq Ad1 Bd1 Aq1 Bq1]; Fc = 0; % Mo hinh dong dien A = [-Rs/Lsd 0; -Rs/Lsq]; B = [1/Lsd 0; 1/Lsq]; M = [0 Lsq/Lsd; -Lsd/Lsq]; S = [0;-1/Lsq]; Mag = 4*pi; %tham so bo dieu khien beta = 0.01; Gamma = diag([500 10]); Pi = 0.1; k_theta = 50; k_omega = 0.01; L0 = [1e-4 1e-4 0 0 0]; function [Udq,d_upt] = f(id,iq,idc,iqc,didc,diqc,omega,theta,omega_c,upt,Pi, beta, Gamma, phiP, Rs) Y11 = - didc; Y12 = -omega*id; Y21 = omega*iq; Y22 = diqc; Y31 = -2*omega*cos(2*theta)*id sin(2*theta)*didc + omega*cos(2*theta)*(id - idc); Y32 = -omega*sin(2*theta)*id; Số hóa Trung tâm Học liệu Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn Phụ lục Y41 = 2*omega*sin(2*theta)*id cos(2*theta)*didc omega*sin(2*theta)*(id - idc); Y42 = -omega*cos(2*theta)*id; Y51 = omega*sin(2*theta)*iq; Y52 = -2*omega*cos(2*theta)*iq sin(2*theta)*diqc + omega*cos(2*theta)*(iq - iqc); Y61 = omega*cos(2*theta)*iq; Y62 = 2*omega*sin(2*theta)*iq cos(2*theta)*diqc + omega*sin(2*theta)*(iq - iqc); Y71 = omega*(sin(2*theta)*id - 2*cos(2*theta)*iq) - sin(2*theta)*diqc + omega*cos(2*theta)*(iq - iqc); Y72 = -omega*(sin(2*theta)*iq + 2*cos(2*theta)*id) - sin(2*theta)*didc + omega*cos(2*theta)*(id - idc); Y81 = omega*(cos(2*theta)*id + 2*sin(2*theta)*iq) - cos(2*theta)*diqc omega*sin(2*theta)*(iq - iqc); Y82 = -omega*(cos(2*theta)*iq - 2*sin(2*theta)*id) - cos(2*theta)*didc - omega*sin(2*theta)*(id - idc); Y = [ Y11 Y12; Y21 Y22 ; Y31 Y32 ; Y41 Y42 ; Y51 Y52 ; Y61 Y62 ; Y71 Y72 ; Y81 Y82 ]'; G = [-Rs*id -Rs*iq-omega*phiP]; Udq = - G - [0;(omega-omega_c)] - Gamma*([id;iq] - [idc;iqc])-Y*upt; d_upt = Pi*(-beta*upt + Y'*[id-idc;iq-iqc]); -function [idc,iqc,didc,diqc,omega_c] = fcn(theta_r,omega_r,a_r,da_r,theta,omega,iq, k_theta,phiP, tau, k_omega, p, m, Fc) tau_p = tau/p; a = (2*pi/tau_p)^2*(phiP/m); domega = a*iq - (2*pi/tau_p)*1/m*Fc; omega_c = omega_r - k_theta*(theta - theta_r); domega_c = a_r - k_theta*(omega - omega_r); ddomega_c = da_r - k_theta*(domega - a_r); idc = 0; didc = 0; iqc = -k_omega*(omega - omega_c) + 1/a*domega_c - (theta - theta_r) ; diqc = 0; Số hóa Trung tâm Học liệu Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn ... tốn học động tuyến tính đồng kích thích vĩnh cửu 26 2.2 Hiệu ứng đầu cuối động tuyến tính .33 2.2.1 Giới thiệu hiệu ứng đầu cuối 33 2.2.2 Hiệu ứng đầu cuối động tuyến tính đồng... điều khiển cho hệ thống truyền động điện sử dụng động Polysenoid xét đến hiệu ứng đầu cuối Mục tiêu nghiên cứu luận án cụ thể sau: - Mơ hình động học phi tuyến động Polysenoid xét đến hiệu ứng. .. đầu động tuyến tính; Cấu tạo, nguyên lý làm việc cách phân loại động tuyến tính; Hiệu ứng đầu cuối (End effect); Truyền động tuyến tính phương pháp điều khiển truyền động tuyến tính; Truyền động

Ngày đăng: 03/10/2019, 09:48

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w