Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 14 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
14
Dung lượng
519,72 KB
Nội dung
Bộ môn Điều khiển Tự động – Khoa Điện-Điện tử - ĐH Bách Khoa TPHCM BÀI THÍ NGHIỆM ĐIỀU KHIỂN VỊ TRÍ ĐỘNG CƠ DC DÙNG BỘ TỰ CHỈNH STR (SELF-TUNING REGULATOR) I MỤC ĐÍCH Trong thí nghiệm sinh viên khảo sát đáp ứng vị trí động ĐC theo thời gian tín hiệu đầu vào thay đổi để nhận dạng hàm truyền động Dựa vào tham số nhận dạng sinh viên xây dựng điều khiển thích nghi tự chỉnh định theo phương pháp đặt cực Ngoài ra, thí nghiệm giúp sinh viên hiểu rõ ảnh hưởng hệ số quên lên tốc độ hội tụ tham số cần nhận dạng Mục tiêu sau hoàn thành thí nghiệm này: Biết cách xây dựng thuật toán nhận dạng off-line on-line cho đối tượng tuyến tính bậc Biết cách xây dựng điều khiển tự chỉnh định để điều khiển vị trí động DC theo phương pháp đặt cực II CƠ SỞ LÝ THUYẾT 2.1 Điều khiển thích nghi tự chỉnh định STR (Self-Tuning Regulator) Bộ điều khiển tự chỉnh định có sơ đồ cấu trúc mô tả Hình Đối tượng có hàm truyền rời rạc G ( z ) , vector chứa thông số chưa biết Khối nhận dạng thu thập tín hiệu đầu vào u (k ) đầu y (k ) đối tượng để ước lượng thông số đối tượng ˆ(k ) Ngay hàm truyền rời rạc đối tượng tìm ra, khối Tính thông số điều khiển tính thông số điều khiển dựa vào yêu cầu thiết kế cho trước (độ vọt lố, sai số xác lập,…) Hình Sơ đồ cấu trục điều khiển tự chỉnh định 1/14 Bộ môn Điều khiển Tự động – Khoa Điện-Điện tử - ĐH Bách Khoa TPHCM 2.2 Hàm truyền động DC Hàm truyền động DC với ngõ vào điện áp U ngõ tốc độ : ( s ) KT (1) G ( s) U ( s ) JLa s (bLa JRa ) s (bRa KT K b ) Trong đó: Ra điện trở phần ứng La điện cảm phần ứng J mô men quán tính trục động b hệ số ma sát KT số mô men xoắn Kb số sức phản điện (EMF) Thông thường, điện cảm động tương đối nhỏ so với quán tính động nên bỏ qua tần số thấp Do đó, hàm truyền tốc độ động DC xấp xỉ hệ thống bậc 1: ( s ) KT K G (s) (2) U ( s ) JRa s (bRa KT K b ) s Trong đó: JRa KT , (3) K (bRa KT Kb ) (bRa KT Kb ) Từ hàm truyền tốc độ, ta suy hàm truyền vị trí động DC: ( s ) K G (s) U ( s ) s ( s 1) Vì vậy, hàm truyền rời rạc vị trí động có dạng: Y ( z) b1z 1 b2 z 2 G( z) U ( z ) a1z 1 a2 z 2 (4) (5) 2.3 Nhận dạng hàm truyền rời rạc Để nhận dạng tham số a1 , a2 , b1 , b2 hàm truyền vị trí động (5), ta khai triển (5) dạng đệ qui: a1 y (k 1) a2 y (k 2) b1u (k 1) b2u (k 2) y (k ) Đặt: (k ) y (k 1) y (k 2) u (k 1) u (k 2) T a1 a2 b1 b2 (6) (7) (8) Thuật toán ước lượng đệ qui để tìm thông số ˆ(k ) thời điểm k sau: 2/14 Bộ môn Điều khiển Tự động – Khoa Điện-Điện tử - ĐH Bách Khoa TPHCM ˆ(k ) ˆ(k 1) L(k ) (k ) (k ) y (k ) T (k )ˆ(k 1) P (k 1) (k ) L(k ) T (k ) P (k 1) (k ) (9) 1 P (k 1) (k ) T (k ) P (k 1) P (k ) P (k 1) T (k ) P(k 1) (k ) Trong giá trị khởi tạo ban đầu cài đặt sau: ˆ(0) rand (4,1) (10) P (0) 105 eye(4) Hệ số quên 1 cài đặt tùy thuộc vào tốc độ biến đổi theo thời gian thông số hàm truyền G ( z ) Nếu G ( z ) thay đổi theo thời gian ta cài đặt giá trị gần 1, G ( z ) thay đổi theo thời gian nhiều ta cài đặt giá trị nhỏ Thông thường, hệ số quên có giá trị khoảng 0.8 2.4 Xây dựng điều khiển theo phương pháp đặt cực Khi hàm truyền đối tượng nhận dạng, ta xây dựng điều khiển cho đối tượng theo thông số nhận dạng Tùy theo yêu cầu thiết kế, ta xây dựng điều khiển theo phương pháp khác cho đối tượng như: PID, PID Ziegler-Nichols, điều khiển đặt cực, điều khiển LQ, … Trong thí nghiệm này, sinh viên xây điều khiển theo phương pháp đặt cực sử dụng cách: Sử dụng cặp cực hệ liên tục sau chuyển sang cặp cực hệ rời rạc Sử dụng trực tiếp cặp cực hệ rời rạc 2.4.1 Sử dụng cặp cực hệ liên tục Yêu cầu thiết kế: Đáp ứng hệ thống phải theo cặp cực định * S1,2 j (11) Luật điều khiển là: u (k ) q0e(k ) q1e(k 1) q2e(k 2) (1 )u (k 1) u (k 2) (12) Trong đó: d1 2exp T cos T d1 2exp T cosh T neu neu d exp 2T r1 bˆ1 bˆ2 aˆ1bˆ1bˆ2 aˆ2bˆ12 bˆ22 s1 aˆ2 bˆ1 bˆ2 aˆ1bˆ2 aˆ2bˆ1 bˆ2 bˆ1d bˆ2 d1 bˆ2 3/14 Bộ môn Điều khiển Tự động – Khoa Điện-Điện tử - ĐH Bách Khoa TPHCM q2 q0 bˆ2 , aˆ2 s1 , r1 q2 q1 bˆ aˆ aˆ2 q2 1 , ˆ bˆ2 b2 aˆ2 d1 aˆ1 bˆ1 T chu kỳ lấy mẫu hệ thống, thông thường điều khiển vị trí động DC ta chọn T 5ms Tùy theo yêu cầu đáp ứng độ, ta chọn giá trị cho phù hợp Nếu cần đáp ứng nhanh ta cài đặt nhỏ, cần độ vọt lố nhỏ ta cài đặt lớn 2.4.2 Sử dụng cặp cực hệ rời rạc Yêu cầu thiết kế: Đáp ứng hệ thống phải theo cực: * z1,2 j (13) * z3,4 Luật điều khiển là: u (k ) r0 w(k ) q0 y (k ) q1 y (k 1) q2 y (k 2) (14) p1u (k 1) p2u (k 2) Trong đó: r0 x1 x2 x3 x4 , bˆ1 bˆ2 q0 r0 r2 r3 r4 , r1 p1 q1 r5 r1 , r1 p2 r5 r1 r2 r3 r4 r6 r7 , r1 q2 r6 r7 r1 r2 aˆ1bˆ2 bˆ1 x2 x3 x4 bˆ2 x1 r3 aˆ2bˆ1 bˆ2 x1 bˆ1 x2 x3 x4 r4 bˆ1 bˆ2 bˆ1x4 bˆ2 x3 x4 r bˆ aˆ x aˆ x aˆ x r1 bˆ1 bˆ2 aˆ1bˆ1bˆ2 aˆ2bˆ12 bˆ22 r5 bˆ1 bˆ12 x4 bˆ1bˆ2 x3 bˆ22 x2 bˆ23 x1 4 r7 bˆ2 bˆ1 aˆ1x4 aˆ2 x2 x4 bˆ2 aˆ2 x1 x4 x2 6 aˆ1 aˆ2 x1 4 aˆ1 x3 2 2 aˆ2 x4 * w(k ) tín hiệu đặt Giá trị cặp cực z1,2 định đến chất lượng điều * để hệ thống ổn định Mối quan hệ cực khiển phải thỏa mãn z1,2 miền liên tục cực miền rời rạc mô tả Hình Do đó, thiết * Ts1,2 * * kế ta chọn cặp cực miền liên tục s1,2 , sau tính z1,2 e cặp cực miền rời rạc để tìm 4/14 Bộ môn Điều khiển Tự động – Khoa Điện-Điện tử - ĐH Bách Khoa TPHCM Hình Mối quan hệ cực miền liên tục miền rời rạc III MÔ TẢ THÍ NGHIỆM 3.1 Phần cứng Sơ đồ khối phần cứng mô tả Hình Trong đó, bo mạch PC104CARD phần cứng trung tâm thí nghiệm Bo mạch PC104CARD xây dựng tảng FPGA Altera có khả giao tiếp với máy tính thông qua phần mềm Matlab/ Simulink/ Real-time Windows Target với tính sau: Digital Input / Digital Output: DI / DO Điều rộng xung (PWM): kênh độ phân giải 0.1% (~ 10bit) Encoder: kênh encoder x4 Analog Input: kênh ADC 12bit tầm đo – 10V Analog Output: kênh DAC 12bit tầm – 2V Giao tiếp với máy tính thông qua cổng máy in theo chuẩn EPP Động DC sử dụng thí nghiệm có điện áp định mức 24VDC encoder độ phân giải 400 xung/vòng Tín hiệu điều rộng xung Pulse hướng Dir điều khiển động chạy với tốc độ chiều quay mong muốn: Điện áp cấp cho động sau qua Motor Driver TPWM * 24 /1000 (V), TPWM giá trị điều rộng xung từ (0 – 1000) tương ứng với độ phân giải 0.1% Tốc độ động (đơn vị vòng/phút) tính theo phương pháp đo thời gian chu kỳ xung encoder A hướng quay xác định thông qua so sánh lệch pha tín hiệu encoder A B Vị trí động tính toán qua mạch encoder x4, có nghĩa động quay vòng (3600) ta đọc 4x400 = 1600 xung 5/14 Bộ môn Điều khiển Tự động – Khoa Điện-Điện tử - ĐH Bách Khoa TPHCM Hình Sơ đồ phần cứng thí nghiệm 3.2 Phần mềm Phần mềm sử dụng thí nghiệm phần mềm Matlab/ Simulink/ Real-time Windows Target Công cụ Real-time Windows Target cho phép mô hình Simulink có khả kết nối với phần cứng bên chạy theo thời gian thực Để biên dịch chạy mô hình Simulink liên kết với phần cứng sinh viên phải thực bước trình tự sau: Run Connect To Target Incremental Build Hình Mô hình Simulink kết nối phần cứng 6/14 Bộ môn Điều khiển Tự động – Khoa Điện-Điện tử - ĐH Bách Khoa TPHCM Tạo mở file simulink Hình Vào menu Simulation -> Configuration, chọn mục Solver để cài đặt thông số thời gian mô (Simulation time) phương pháp mô (Solver Options) Hình Vào menu Tool -> Real-Time Workshop -> Build Model (hoặc nhấn chuột trái vào biểu tượng Incremental Build) để biên dịch mô hình Sau mô hình biên dịch thành công, vào menu Simulation -> Connect To Target (hoặc nhấn chuột trái vào biểu tượng Connect To Target) để kết nối mô hình Simulink tới phần cứng Vào menu Simulation -> Run (hoặc biểu tượng Run) để chạy mô hình Hình Cài đặt thông số mô IV CHUẨN BỊ TRƯỚC THÍ NGHIỆM 4.1 Thu thập liệu đầu vào – đầu nhận dạng hệ thống Để thực tốt thí nghiệm lớp, sinh viên cần chuẩn bị trước phần lý thuyết thực mô máy tính Xây dựng mô hình Simulink để thu thập liệu vị trí động Hình Trong đó, đối tượng động có hàm truyền: G( z) 0.01z 0.004 z 1.605 z 0.605 (15) Khối ‘From Workspace’ có tên biến uk khối ‘To Workspace’ có tên biến yk Cài đặt Sample time cho khối 0.01s 7/14 Bộ môn Điều khiển Tự động – Khoa Điện-Điện tử - ĐH Bách Khoa TPHCM Cài đặt thời gian lấy mẫu T thời gian mô Tstop Hai thông số ta gán giá trị Matlab m-file Hình Mô hình thu thập số liệu vị trí động a) Tạo file mô hình simulink Hình Đặt tên file ‘motor_model_sl.mdl’ b) Tạo Matlab m-file với tên ‘motor_model_init.m’ để xuất tín hiệu uk , thu thập tín hiệu ngõ yk , viết chương trình nhận dạng hàm truyền đối tượng chương trình bên c) Khảo sát với nhiều giá trị lamda khác từ 0.8 đến Nhận xét tốc độ hội tụ sai số Theta lamda thay đổi % Cai dat chu ky lay mau T va thoi gian mo phong Tstop N = 1000; T = 0.01; Tstop = (N-1)*T; % Tao chuoi tin hieu dien ap dau vao ngau nhien uk tt = 0:T:T*(N-1); u = zeros(1,N); u(1:90) = 1; u(150:200) = 0.9; u(270:350) = 0.8; u(400:440) = 1; u(480:500) = 0.7; u(700:750) = 1; u(800:900) = 0.6; uk = [tt; u]'; 8/14 Bộ môn Điều khiển Tự động – Khoa Điện-Điện tử - ĐH Bách Khoa TPHCM % Chay mo phong mo hinh simulink vua tao o Hinh sim('motor_model_sl.mdl'); % Ve tin hieu dau vao - dau plot(tt,u','r',tt,yk,'b') legend('uk','yk') % Nhan dang doi tuong voi he so quen lamda Theta = rand(4,N); P = 1e5*eye(4); lamda = 0.96; for i=3:N PHI = [-yk(i-1) -yk(i-2) u(i-1) u(i-2)]'; e = yk(i) - PHI'*Theta(:,i-1); L = P*PHI / (lamda + PHI'*P*PHI); P = 1/lamda *(P - P*PHI*PHI'*P /(lamda + PHI'*P*PHI)); Theta(:,i) = Theta(:,i-1) + L*e; end % Ve thi cac he so a1, a2, b1, b2 vua nhan dang figure; subplot(2,1,1); plot(tt,Theta(1,:),'r',tt,Theta(2,:),':r'); legend('a_1','a_2') grid on subplot(2,1,2); plot(tt,Theta(3,:),'b',tt,Theta(4,:),':b') legend('b_1','b_2'); grid on % Hien thi gia tri Theta cuoi cung Theta(:,N) 4.2 Xây dựng điều khiển tự chỉnh STR theo phương pháp đặt cực Sinh viên xây dựng mô hình simulink cho điều khiển tự chỉnh theo phương pháp đặt cực miền liên tục Hình (Xem hướng dẫn Mục II) Trong đó, hàm truyền đối tượng cho trước (15) Yêu cầu sinh viên xây dựng thuật toán nhận dạng online khối ‘Identification’ điều khiển theo phương pháp đặt cực khối ‘SelfTuning Regulator’ Hình mô tả chi tiết cấu trúc khối ‘Identification’ khối ‘Self-Tuning Regulator’, sinh viên tham khảo để xây dựng lại Sinh viên sử dụng khối ‘Embedded MATLAB Function’ thư viện Simulink / User-Defined Funcions để viết thuật toán nhận dạng điều khiển Đặt tên hàm khối sau: [P,Theta] = Uocluong(uk,yk,P_,Theta_) u = STR_pp1(Theta,e,u_) 9/14 Bộ môn Điều khiển Tự động – Khoa Điện-Điện tử - ĐH Bách Khoa TPHCM a) Tạo file mô hình simulink Hình 7, khối ‘Self-Tuning Regulator’ sử dụng điều khiển tự chỉnh theo phương pháp đặt cực miền liên tục (Xem 2.4.1) Khối ‘Pulse Generator’ có Amplitude = 1, Period = 4, Pulse Width = 50 b) Cài đặt thời gian lấy mẫu T = 0.005s thời gian mô 20s c) Khảo sát với nhiều giá trị , Nhận xét ảnh hưởng cặp cực * S1,2 j lên chất lượng điều khiển Mở Scope xem đáp ứng ngõ để thấy điều khiển có tính thích nghi d) Lặp lại Bước a) đến c) cho điều khiển tự chỉnh theo phương pháp đặt cực * j lên chất lượng điều miền rời rạc Nhận xét ảnh hưởng cực z1,2 khiển e) Thay đổi mẫu số hàm truyền đối tượng thành: G( z) 0.02 z 0.004 z 1.805 z 0.805 (16) Lặp lại Bước a) đến d) để chứng minh tự chỉnh định có chất lượng điều khiển tốt đối tượng thay dổi Hình Hệ thống điều khiển tự chỉnh theo phương pháp đặt cực 10/14 Bộ môn Điều khiển Tự động – Khoa Điện-Điện tử - ĐH Bách Khoa TPHCM % Ham nhan dang thong so doi tuong function [P,Theta] = Uocluong(uk,yk,P_,Theta_) lamda = 0.96; PHI = [-yk(2); -yk(3); uk(1); uk(2)]; e = yk(1) - PHI'*Theta_; L = P_*PHI / (lamda + PHI'*P_*PHI); P = 1/lamda*(P_ - P_*PHI*PHI'*P_ /(lamda + PHI'*P_*PHI)); Theta = Theta_ + L*e; Hình Sơ đồ khối ‘Identification’ Giá trị khởi tạo Theta P (10) cài đặt khối ‘Unit Delay’ ‘Unit Delay1’ 11/14 Bộ môn Điều khiển Tự động – Khoa Điện-Điện tử - ĐH Bách Khoa TPHCM % Ham tinh thong so bo dieu khien theo pp dat cuc lien tuc function u = STR_pp1(Theta,e,u_) T0 = 0.005; xi = 0.99; wn = 20; % Gan lai thong so de thuan tien viec tinh toan a1 = Theta(1); a2 = Theta(2); b1 = Theta(3); b2 = Theta(4); % Tinh thong so bo dieu khien if(xi Configuration Lưu ý: Khi chạy file lần chương trình báo lỗi khởi tạo giá trị bình thường b) Biên dịch chạy file motor_model.mdl để thu thập số liệu c) Chạy lại file motor_model_init.m để tìm hàm truyền vị trí trí động Thay đổi giá trị lamda file motor_model_init.m cho đồ thị hiển thị thông số ước lượng thẳng hội tụ d) Lặp lại bước b) c) với lần chạy ghi kết vào Bảng Sau đó, tính giá trị trung bình hàm truyền Bảng Thông số hàm truyền G ( z ) Lần chạy aˆ1 aˆ2 bˆ1 bˆ2 Trung bình 5.2 Xây dựng điều khiển tự chỉnh theo phương phát đặt cực miền liên tục Các bước thí nghiệm: a) Mở file motor_pos_str_pp1.mdl b) Mở khối ‘Identification’ Tham khảo code Hình để viết bổ sung vào cho đầy đủ c) Mở khối ‘Self-Tuning Regulator’ Tham khảo code Hình để viết bổ sung vào cho đầy đủ d) Sau hoàn thành việc viết code, biên dịch chạy chương trình e) Mở Scope để xem đáp ứng Nhận xét chất lượng hệ thống (độ vọt lố, thời gian độ, sai số xác lập) 5.3 Xây dựng điều khiển tự chỉnh theo phương phát đặt cực miền rời rạc Các bước thí nghiệm: 13/14 Bộ môn Điều khiển Tự động – Khoa Điện-Điện tử - ĐH Bách Khoa TPHCM a) Mở file motor_pos_str_pp2.mdl b) Mở khối ‘Identification’ Tham khảo code Hình để viết bổ sung vào cho đầy đủ c) Mở khối ‘Self-Tuning Regulator’ Xem hướng dẫn Mục 2.4.2 để xây dựng điều khiển tự chỉnh theo phương pháp đặt cực miền rời rạc d) Sau hoàn thành việc viết code, biên dịch chạy chương trình e) Mở Scope để xem đáp ứng Nhận xét chất lượng hệ thống (độ vọt lố, thời gian độ, sai số xác lập) Báo cáo thí nghiệm Họ tên: Nhóm: Ngày: Từ bảng số liệu Bảng 1, viết hàm truyền rời rạc vị trí động Nhận xét ảnh hưởng hệ số quên lên sai số ước lượng Dựa vào kết thí nghiệm Mục 5.2, nhận xét chất lượng hệ thống (độ vọt lố, thời gian độ, sai số xác lập) Dựa vào kết thí nghiệm Mục 5.3, nhận xét chất lượng hệ thống (độ vọt lố, thời gian độ, sai số xác lập) 14/14 [...]... thong so bo dieu khien theo pp dat cuc lien tuc function u = STR_ pp1(Theta,e,u_) T0 = 0.005; xi = 0.99; wn = 20; % Gan lai thong so de thuan tien viec tinh toan a1 = Theta(1); a2 = Theta(2); b1 = Theta (3) ; b2 = Theta(4); % Tinh thong so bo dieu khien if(xi Configuration Lưu ý: Khi chạy file này lần đầu tiên chương trình sẽ báo lỗi nhưng vẫn khởi tạo được giá trị bình thường b) Biên dịch và chạy file motor_model.mdl để thu thập...Bộ môn Điều khiển Tự động – Khoa Điện-Điện tử - ĐH Bách Khoa TPHCM % Ham nhan dang thong so doi tuong function [P,Theta] = Uocluong(uk,yk,P_,Theta_) lamda = 0.96; PHI = [-yk(2); -yk (3) ; uk(1); uk(2)]; e = yk(1) - PHI'*Theta_; L = P_*PHI / (lamda + PHI'*P_*PHI); P = 1/lamda*(P_ - P_*PHI*PHI'*P_ /(lamda + PHI'*P_*PHI)); Theta = Theta_ + L*e;... ở Mục 5.2, nhận xét chất lượng của hệ thống (độ vọt lố, thời gian quá độ, sai số xác lập) 3 Dựa vào kết quả thí nghiệm ở Mục 5 .3, nhận xét chất lượng của hệ thống (độ vọt lố, thời gian quá độ, sai số xác lập) 14/14