Luận án Nghiên cứu tổng hợp hệ điều khiển cho hệ thống truyền động điện nhiều động cơ liên kết đàn hồi bằng phương pháp nội suy thực

Về khoa học:
Luận án có hai đóng góp mới, cụ thể:
+ Thuật toán ước lượng hàm truyền đạt mô tả đối tượng có tham số phân
bố bằng phương pháp nội suy thực. Xây dựng chương trình tự động ước
lượng và đánh giá sai số đối với hàm truyền đạt mô tả băng tải đàn hồi.
+ Thiết lập cơ sở tổng hợp bộ điều chỉnh của các hệ thống điều khiển đối
tượng có tham số phân bố bằng phương pháp nội suy thực. Thực hiện tổng
hợp các v ng điều khiển, xây dựng chương trình mô phỏng và đánh giá hệ
thống trên máy tính đối với hệ truyền động điện hai động cơ không đồng bộ
có chứa băng tải đàn hồi với các tham số cụ thể.
Về thực tiễn:
Kết quả nghiên cứu có thể được ứng dụng vào việc nâng cao chất lượng
làm việc của các dây chuyền sản xuất tự động có chứa hệ truyền động điện
nhiều động cơ liên thuộc nhau về tốc độ, cần độ chính xác cao như: dây
chuyền cán thép, sản xuất giấy, thiết b gia công màng mỏng, dây chuyền bọc
cáp, máy kéo sợi, dây chuyền đóng hộp, các robot tự động trong các dây
chuyền sản xuất l p ráp ô tô, sản xuất linh kiện điện tử… 
pdf 165 trang phubao 26/12/2022 2220
Bạn đang xem 20 trang mẫu của tài liệu "Luận án Nghiên cứu tổng hợp hệ điều khiển cho hệ thống truyền động điện nhiều động cơ liên kết đàn hồi bằng phương pháp nội suy thực", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdfluan_an_nghien_cuu_tong_hop_he_dieu_khien_cho_he_thong_truye.pdf
  • pdfCV va QD Dao Sy Luat.pdf
  • docThong tin LA tieng Viet_Dao Sy Luat.doc
  • pdfTTLA_Dao Sy Luat.pdf

Nội dung text: Luận án Nghiên cứu tổng hợp hệ điều khiển cho hệ thống truyền động điện nhiều động cơ liên kết đàn hồi bằng phương pháp nội suy thực

  1. 110 TÀI LIỆU THAM KHẢO Tiếng Việt [1] Nguyễn Hữu Công, Nguyễn Mạnh Tường. Điều khiển tối ưu uá trình gia nhiệt ột đối tượng có tha số phân bố. Tạp chí Khoa học và Công nghệ các trường ĐH Kỹ thuật, Số 36+37, 2002. [2] Nguyễn Phú Đăng. Phân tích và tổng hợp các hệ thống điều khiển tự động các đối tượng với tha số phân bố. NXB Quân đội Nhân dân, 2018. [3] Đào Hoa Việt, “Phân tích và tổng hợp hệ thống truyền động điện”, Học viện Kỹ thuật Quân sự, 2010. [4] Phạm Tuấn Thành. “Mô phỏng các hệ điện cơ”, NXB quân đội nhân dân, Hà Nội - 2011. [5] Phạm Tuấn Thành. “Mô hình hóa và mô phỏng hệ truyền động nhiều động cơ xoay chiều có liên hệ a sát, đàn hồi”. Tạp chí Nghiên cứu KH&CN quân sự, Số 46, 2016. [6] Vũ Hữu Thích, “Nâng cao chất ượng hệ truyền động bám công suất nhỏ trên cơ sở điều khiển bù đặc tính tĩnh và thích nghi Moda ”, Tạp chí Nghiên cứu KH&CN quân sự, Số 39, 10 -2015 [7] Bùi Chính Minh. “Điều khiển phi tuyến thích nghi và bền vững hệ truyền động khớp nối mềm với đầu ra là góc quay của trục tải”. Tạp chí KHOA HỌC & CÔNG NGHỆ, 57(9): 63–68. [8] Huỳnh Văn Đông, “Tổng hợp điều khiển thích nghi dựa trên phương pháp backstepping cho hệ truyền động có đàn hồi khe hở và ma sát khô phi tuyến”, Luận án tiến sĩ kỹ thuật, 2009. [9] Lê Th Thu Hà, “Một số giải pháp nâng cao chất ượng hệ truyền động có khe hở trên cơ sở điều khiển thích nghi bền vững”, Luận án tiến sĩ kĩ thuật, 2013. [10] Nguyễn Quốc Chí, Nguyễn Hùng, “Điều khiển thích nghi cho cụm quấn liệu trong hệ thống vận chuyển vật liệu mềm”, science and technology development, Vol.18. No.K6, 2015.
  2. 112 rd [21] W. Leonhard. “Contro of E ctrica riv s”. 3 Edition, Springer, 2001 [22] N. P. Quang, J. A. Dittrich. “V ctor Contro of Thr – Phase AC Machinn s: Syst v op nt in th Practic ”. 2nd Edition, Springer, 2015. [23] ingna Shi, Hao Liu, Qiang Geng, Changliang Xia, “I prov d r ativ coupling control structure for multi-motor speed synchronous driving syst ”, IET Electr. Power Appl., Vol. 10, Iss. 6, pp. 451–457, The Institution of Engineering and Technology 2016. [24] N.R. Abjadi, J. Soltani, J. Askari, G.R. Arab Markadeh, “Non in ar sliding-mode control of a multi-motor web-winding system without tension s nsor”, IET Control Theory Appl., Vol. 3, Iss. 4, pp. 419–427, 2009. [25] Guohai Liu, Pingyuan Liu, Yue Shen, Fuliang Wang and Mei Kang, “Exp ri nta s arch on coup ing Contro of Mu ti-motor Variable Fr u ncy Syst as d on N ura N twork G n ra i d Inv rs ”, supported in part by China ministry fund of education (20050299009) and China Jiangsu Province Nature Science Foud (BK2007094), 2007. [26] Opeyko O.F., "Synthesis of Robust Control System Using Double-Mass Electro-Mechanical", ENERGETIKA. Proceedings of CIS higher education institutions and power engineering associations, 2009. [27] H. Koc, D. Knittel, M. D. Mathelin, and G. Abba, "Modeling and robust control of winding systems for elastic webs," IEEE Trans. on Control Systems Technology, Vol. 10, No. 2, March 2002. [28] Hachemi Glaoui, Abdeldjebar Hazzab, Bousmaha Bouchiba, Ismaïl Khalil Bousserhane, “Modeling and Simulation Multi Motors Web Winding System”, International Journal of Advanced Computer Science and Applications, Vol. 4, No. 2, 2013. [29] Xiaoyan Chu, Xiaohong Nian, Miaoping Sun, Haibo Wang, Hongyun Xiong. "Modeling and robust decentralized control for speed-up phase of web processing systems for composite elastic web", Journal of the Franklin Institute Volume 357, 2020.
  3. 114 [40] Perdukova Daniela, Fedor Pavola, “Multi-motor drive optimal control using a fu y model based approach”. Journal of Ambient Intelligence and Smart Environments, vol. 9, no. 3, pp. 329-344, 2017 [41] H. Koc, D. Knittel, M. D. Mathelin, and G. Abba, “ obust gain-scheduled contro of winding syst s”, IEEE Conf. Decision and Control, Sidney, Australia, Dec. 2000. [42] Li Jinmei Liu Xingqiao Chenchong Liu Guohai, “App ication of an Adaptive Controller with a Single Neuron in Control of Multi-motor Synchronous Syst ”, IEEE, 2008. [43] Xuehua Yan, Wei Xing Zheng, Yungang Liu, "Adaptive output-feedback tracking for nonlinear systems with rather general control coefficients" Int. J. Robust and Nonlinear Control, 2019. [44] Le Liu,Nuan Shao, Minghao Lin, Yiming Fang, "Hamilton-based adaptive robust control for the speed and tension system of reversible cold strip rolling mill", International Journal of Adaptive Control and Signal Processing, Volume 33, 2019. [45] Y. Hou, Z. Gao, F. Jiang, and B. T. Boulter, “Active disturbance rejection control for web tension regulation”, Proc. IEEE Conference on Decision and Control, Vol. 5, Dec. 2001, pp. 4974 - 4979. [46] Z. Gao, “Active disturbance rejection control: a paradigm shift in feedback control system design”, Proc. of the 2006 American Control Conference, 2006, pp. 2399-2405. [47] . S. Choi, J. A. ossiter, P. J. Fleming, “A MPC design for the looper and tension control in a hot strip mill”, UK Control, Sept. 2004, University of Bath, pp. 99-105. [48] P. . Pagilla, E. O. King, L.H. Dreinhoefer, and S.S. Garimella, “Robust observer-based control of an aluminum strip processing line”, IEEE Transactions on Industry Applications, 2000, Vol. 36, pp. 865-870. [49] Seok-Kyoon Kim, Choon Ki Ahn. "Observer-based decentralized pole–
  4. 116 [61] Darius Ucinski. “Optimal Measurement Methods for Distributed Para t r Syst Id ntification”. - CRC Press, 2004. - 392 p. [62] Скворцов Л.М. “Интерполяционные методы синтеза систем управления”, Проблемы управления и информатики. - 1998. - №8. – С. 25 – 30. [63] Ибрагимов, И.М. Информационные технологии и средства дистанционного обучения”. Под ред. А.Н. Ковшова. — М.: Академия, 2005. — 331 с. [64] Федоров Ф.М. “Граничный метод решения прикладных задач математической физики”. — Новосибирск : Наука : Сибирская издательская фирма РАН, 2000. — 220 с. [65] Press, WH; Teukolsky, SA; Vetterling, WT; Flannery, BP. “Section 5.12 Padé Approximants. Numerical Recipes: The Art of Scientific Computing (3rd d.)”. New York: Cambridge University Press, 2007, ISBN 978-0- 521-88068-8. [66] Mai Trung Thai. “Applying Pade Approximation Model in Optimal Control Problem for a Distributed Parameter System with Time Delay// Int rnationa Journa of Co puting and Opti i ation”, 2017 - Vol. 4, no. 1, 19 – 30. [67] Полякова Т.Г., Осипов Л.А. “Синтез нелинейных систем управления в области характеристик мнимых частот”. С.-Петербург. гос. тех. ун-т аэрокосмич. приборостр. – СПб, 1 8. – 10 с. [68] Valery Goncharov, Igor Aleksandrov, Vladislav Rudnicki. “ a Int rpo ation M thod for Auto atic Contro Prob s So ution”. LAP Lambert Academic Publishing, 2014. [69] Гончаров В. И. “Синтез электромеханических исполнительных систем промышленных роботов”. — Томск: Изд-во ТПУ, 2002. —
  5. 118 [79] В.М. Терехов, О.И. Осимов. “Системы управления электроприводов”. – Москва: Издательский центр “Академия”, 2006. – 304с. [80] Ковчин С. А., Сабинин Ю. А. “Теория электропривода”. - СПб.: Энергоатомиздат. Санкт-Петербургское отд-ние, 2000. - 4 6 с.
  6. 120 if get(handles.radiobutton_HIENTHI_Wdt1, 'Value') == 1 x1 = 0:0.001:100; iomega = 1i*x1; num1_iomega=q*sinh(iomega).*cosh(lamda*iomega); den1_iomega=(sinh(iomega)).^2+ ((muy1*muy2)*(iomega).^2).*((cosh(iomega)).^2- (cosh(lamda*iomega)).^2)+(muy1+muy2)*iomega.*sinh(2*iome ga); Wdt1_iomega = num1_iomega./den1_iomega; axes(handles.axesHIEN_THI_DO_THI); hold off; semilogx(x1,20*log10(abs(Wdt1_iomega))); elseif get(handles.radiobutton_HIENTHI_Wdt2, 'Value') == 1 x1 = 0:0.01:100; iomega = 1i*x1; num2_iomega=q*(sinh(2*iomega) + iomega*muy2.*((cosh(iomega)).^2- (cosh(lamda*iomega)).^2)); den2_iomega =(sinh(iomega)).^2+iomega*(muy1+muy2).*sinh(2*iomega)+io mega.^2*muy1*muy2.*((cosh(iomega)).^2- (cosh(lamda*iomega)).^2); Wdt2_iomega = num2_iomega./den2_iomega; axes(handles.axesHIEN_THI_DO_THI); hold off; semilogx(x1,20*log10(abs(Wdt2_iomega))); end hold on; grid on; legend Wdt Wxx; title(' Dac trung bien do tan so logarit') xlabel('Lg(omega)') ylabel('L(omega)') 2. Modul chương trình khối “THAM SỐ CẤU TRÚC HỆ THỐNG XẤP XỈ”. function pmCHON_HAM_Callback(hObject, eventdata, handles) contents=cellstr(get(hObject, 'string')); pmCHON_HAM=contents(get(hObject, 'Value'));
  7. 122 [Delta_min9, Wxxtu9, a3339, a2229, a1119, b3339, b2229, b1119, b0009, delta91, delta92, delta93, delta94, delta95, delta96, delta97]=f1_m3_n3; D9=Delta_min9; Delta_min = D9; W9=Wxxtu9; Wxxtu=W9; % Ve do thi Logarit x1 = 0:0.001:100; iomega = 1i*x1; num1_iomega=q*sinh(iomega).*cosh(lamda*iomega); den1_iomega=(sinh(iomega)).^2+ ((muy1*muy2)*(iomega).^2).*((cosh(iomega)).^2- (cosh(lamda*iomega)).^2)+(muy1+muy2)*iomega.*sinh(2*iome ga); Wdt = num1_iomega./den1_iomega; Wxx = (b3339.*iomega.^3 + b2229.*iomega.^2 + b1119.*iomega + b0009)./(a3339.*iomega.^3 + a2229.*iomega.^2 + a1119.*iomega + 1); axes(handles.axesHIEN_THI_DO_THI); semilogx(x1,20*log10(abs(Wdt)),x1,20*log10(abs(Wxx))); % CODE HIEN THI CAC DIEM NUT NOI SUY set(handles.textSO_DIEM_NUT_NOI_SUY,'String','7'); set(handles.textDetal1,'String', strcat(num2str(delta91),'*a')); set(handles.textDetal2,'String', strcat(num2str(delta92),'*a')); set(handles.textDetal3,'String', strcat(num2str(delta93),'*a')); set(handles.textDetal4,'String', strcat(num2str(delta94),'*a')); set(handles.textDetal5,'String', strcat(num2str(delta95),'*a')); set(handles.textDetal6,'String', strcat(num2str(delta96),'*a')); set(handles.textDetal7,'String', strcat(num2str(delta97),'*a')); elseif get(handles.radiobtWdt2, 'Value') ==1 % GOI HAM TINH XAP XI CHO HAM THU HAI Wdt2 [Delta_min2_9, Wxxtu2_9, a2_3339, a2_2229, a2_1119, b2_3339, b2_2229, b2_1119, b2_0009, delta2_91,
  8. 124 set(handles.textBeta_4,'Visible', 'On'); set(handles.textBeta_5,'Visible', 'On'); set(handles.textBeta_6,'Visible', 'On'); set(handles.textBeta_7,'Visible', 'On'); set(handles.textDetal1,'Visible', 'On'); set(handles.textDetal2,'Visible', 'On'); set(handles.textDetal3,'Visible', 'On'); set(handles.textDetal4,'Visible', 'On'); set(handles.textDetal5,'Visible', 'On'); set(handles.textDetal6,'Visible', 'On'); set(handles.textDetal7,'Visible', 'On'); %% KET THUC DOAN CODE TINH XAP XI HAM TRUYEN if get(handles.radiobtWdt1, 'Value') ==1 % HIEN THI SAI SO XAP XI LEN textbox set(handles.textSAISO_XAPXI,'Visible', 'On'); set(handles.textSAISO_XAPXI,'String',num2str(Delta_min)) ; % HIEN THI HAM XAP XI LEN textbox TTT = evalc('Wxxtu'); TTT1 = TTT(11:length(TTT)- 10); set(handles.txtHIEN_THI_HTXXtu,'String',num2str((TTT1))) elseif get(handles.radiobtWdt2, 'Value') ==1 set(handles.textSAISO_XAPXI,'Visible', 'On'); set(handles.textSAISO_XAPXI,'String',num2str((Delta_min2 ))); % HIEN THI HAM XAP XI textbox TTT = evalc('Wxxtu2'); TTT1 = TTT(11:length(TTT)-10); set(handles.txtHIEN_THI_HTXXtu,'String',num2str((TTT1))) end % HIEN THI TIEU DE CAC TRUC TOA DO hold on; grid on; legend Wdt Wxx; title(' Dac trung bien do tan so logarit') xlabel('Lg(omega)') ylabel('L(omega)')
  9. 126 Wdt9=Wdt19; %% Dieu kien ban dau: syms delta_W9; syms a1119 a2229 a3339; syms b0009 b1119 b2229 b3339 aaa9; k = 0; Delta_min9=0; %% Ve do thi (ai,delta_W) for ai9 = ai0:buoc_ai:ain k = k+1 delta_i9 = double( subs(delta9, a9, ai9) ); syms a19 a29 a39 b09 b19 b29 b39; Ws9 = (b39*s^3 + b29*s^2+ b19*s + b09)/(a39*s^3 + a29*s^2 + a19*s + 1); eqn19 = subs(Ws9, s, delta_i9(1))== double( subs(Wdt9, s, delta_i9(1)) ); eqn29 = subs(Ws9, s, delta_i9(2))== double( subs(Wdt9, s, delta_i9(2)) ); eqn39 = subs(Ws9, s, delta_i9(3))== double( subs(Wdt9, s, delta_i9(3)) ); eqn49 = subs(Ws9, s, delta_i9(4))== double( subs(Wdt9, s, delta_i9(4)) ); eqn59 = subs(Ws9, s, delta_i9(5))== double( subs(Wdt9, s, delta_i9(5)) ); eqn69 = subs(Ws9, s, delta_i9(6))== double( subs(Wdt9, s, delta_i9(6)) ); eqn79 = subs(Ws9, s, delta_i9(7))== double( subs(Wdt9, s, delta_i9(7)) ); eqns9 = [eqn19 eqn29 eqn39 eqn49 eqn59 eqn69 eqn79]; vars9 = [a19 a29 a39 b09 b19 b29 b39 ]; KQ9 = solve(eqns9, vars9); a19 = double( KQ9.a19 ); a29 = double( KQ9.a29 ); a39 = double( KQ9.a39 ); b09 = double( KQ9.b09 ); b19 = double( KQ9.b19 ); b29 = double( KQ9.b29 ); b39 = double( KQ9.b39 ); if a39>0 & a29>0 & a19>0 Wxx9 = simplify( (b39*s^3 + b29*s^2+ b19*s + b09)/(a39*s^3 + a29*s^2 + a19*s + 1) );
  10. 128 end if get(handles.CB1_m1_n2, 'Value') ==1 D55=D5; else D55=0; end if get(handles.CB1_m1_n1, 'Value') ==1 D44=D4; else D44=4; end if get(handles.CB1_m0_n3, 'Value') ==1 D33=D3; else D33=0; end if get(handles.CB1_m0_n2, 'Value') ==1 D22=D2; else D22=0; end if get(handles.CB1_m0_n1, 'Value') ==1 D11=D1; else D11=0; end ArrDelta_min = [D11 D22 D33 D44 D55 D66 D77 D88 D99]; for ij=1: 1: 9 if ArrDelta_min(ij)~=0 Delta_min=ArrDelta_min(ij); for ii = ij: 1: 9 if (Delta_min > ArrDelta_min(ii))&(ArrDelta_min(ii)~=0) Delta_min = ArrDelta_min(ii); end end break; end end axes(handles.axesHIEN_THI_DO_THI_TOI_UU_1); hold off; if Delta_min == D9
  11. 130 Wdt = num1_iomega./den1_iomega; Wxx = (b2227.*iomega.^2 + b1117.*iomega + b0007)./(a2227.*iomega.^2 + a1117.*iomega + 1); semilogx(x1,20*log10(abs(Wdt)),x1,20*log10(abs(Wxx))); elseif Delta_min == D6 Wxxtu=W6; x1 = 0:0.001:100; iomega = 1i*x1; num1_iomega=q*sinh(iomega).*cosh(lamda*iomega); den1_iomega=(sinh(iomega)).^2+ ((muy1*muy2)*(iomega).^2).*((cosh(iomega)).^2- (cosh(lamda*iomega)).^2)+(muy1+muy2)*iomega.*sinh(2*iome ga); Wdt = num1_iomega./den1_iomega; Wxx = (b1116.*iomega + b0006)./(a3336.*iomega.^3 + a2226.*iomega.^2 + a1116.*iomega + 1); semilogx(x1,20*log10(abs(Wdt)),x1,20*log10(abs(Wxx))); elseif Delta_min == D5 Wxxtu=W5; x1 = 0:0.001:100; iomega = 1i*x1; num1_iomega=q*sinh(iomega).*cosh(lamda*iomega); den1_iomega=(sinh(iomega)).^2+ ((muy1*muy2)*(iomega).^2).*((cosh(iomega)).^2- (cosh(lamda*iomega)).^2)+(muy1+muy2)*iomega.*sinh(2*iome ga); Wdt = num1_iomega./den1_iomega; Wxx = (b1115.*iomega + b0005)./(a2225.*iomega.^2 + a1115.*iomega + 1); semilogx(x1,20*log10(abs(Wdt)),x1,20*log10(abs(Wxx))); elseif Delta_min == D4 Wxxtu=W4; x1 = 0:0.001:100; iomega = 1i*x1; num1_iomega=q*sinh(iomega).*cosh(lamda*iomega); den1_iomega=(sinh(iomega)).^2+ ((muy1*muy2)*(iomega).^2).*((cosh(iomega)).^2- (cosh(lamda*iomega)).^2)+(muy1+muy2)*iomega.*sinh(2*iome ga);
  12. 132 Wdt = num1_iomega./den1_iomega; Wxx = (b0001)./(a1111.*iomega + 1); semilogx(x1,20*log10(abs(Wdt)),x1,20*log10(abs(Wxx))); end set(handles.textSAISO_XAPXItu,'Visible', 'On'); set(handles.textSAISO_XAPXItu,'String',num2str((Delta_mi n))); Ttu = evalc('Wxxtu'); TTtu = Ttu(11:length(Ttu)-10); set(handles.txtHIEN_THI_HTXXtu,'String',num2str((TTtu))) hold on; grid on; legend Wdt Wxx; title(' Dac trung bien do tan so logarit') xlabel('Lg(omega)') ylabel('L(omega)') II. Phụ lục II: Chương trình tổng hợp 1. Modul chương trình “Hàm truyền đối tượng” global Ru;global Lu;global Ktp;global Ttp; global a;global muy1;global muy2;global lamda; global R;global i;global l;global matdo; global Pm;global Um;global Velm;global Im;global p2; global Wdc; global Wtp1; global Wdc_s; global Wtp_s; global Thamsoht; global Wpn1_ul;global Wpn2; Tu=Lu/Ru; syms p; Wdc_s = tf([1/Ru],[Tu 1]); Wdc = (1/Ru)/(Tu*p +1); % Wdc_co = Cm /(J*p) % Wdc_co_s = tf([Cm],[J 0]); Wtp_s = tf([Ktp],[Ttp 1]); Wtp1 = Ktp/(Ttp*p +1); Wd= tf([1/Ru],[Tu 1]); Wtp = tf([Ktp],[Ttp 1]); T=evalc('Wd');T1=T(12:length(T)-20); set(handles.tfIdc_num,'String',T1); T=evalc('Wtp');T1=T(12:length(T)-20); set(handles.tfbd_num,'String',T1); Wpn1_ul=uocluong_pn1(muy1,muy2,lamda,a);
  13. 134 Hm_v = str2double(get(handles.Hm_v, 'string')); % do qua chinh yeu cau % Tm_v = str2double(get(handles.Tm_v, 'string')); % thoi gian qua do yeu cau s G02 = str2double(get(handles.h2, 'string')); % gia tri xac lap mong muon dHv = str2double(get(handles.dH2, 'string')); % gia tri xac lap mong muon osmin_v= str2double(get(handles.osmin_v, 'string')); % gia tri xac lap mong muon ktd_ht=1/ G02; alpha0_td = ( (log( Hm_v/100))^2 )/(9/(Tm_v)^2 * ( (log( Hm_v/100))^2 + pi^2 )); alpha1_td = 6*alpha0_td/Tm_v; tfv_mm=hamtruyen_mongmuon(G02,Hm_v,Tm_v,dHv,0); Wktd_mm_s = tfv_mm; % Wktd_mm_s = (tf([alpha1_td/2 1],[alpha0_td alpha1_td 1]))* G02; Wktd_mm = (((alpha1_td/2)*p + 1)/(alpha0_td*p^2 + alpha1_td*p + 1))* G02; Whtd_mm = Wktd_mm/(1 - Wktd_mm*ktd_ht); Whtd_mm_s = Wktd_mm_s/(1 - Wktd_mm_s*ktd_ht); assignin('base', 'Hm_v', Hm_v); assignin('base', 'Tm_v', Tm_v); %% Chi tieu yeu cau và ham truyen mong muon vong vi tri Hm_p = str2double(get(handles.Hm_p, 'string')); %% do qua chinh yeu cau % Tm_p = str2double(get(handles.Tm_p, 'string')); %% thoi gian qua do yeu cau s G03 = str2double(get(handles.h3, 'string')); %% gia tri xac lap mong muon dHp = str2double(get(handles.dH3, 'string')); %% gia tri xac lap mong muon osmin_p= str2double(get(handles.osmin_p, 'string')); kvt_ht=1/G03; alpha0_vt = ( (log(Hm_p/100))^2 )/(9/(Tm_p)^2 * ( (Hm_p/100))^2 + pi^2 ); alpha1_vt = 6*alpha0_vt/Tm_p; tfp_mm=hamtruyen_mongmuon(G03,Hm_p,Tm_p,dHp,0); Wkvt_mm_s = tfp_mm; % Wkvt_mm_s = (tf([alpha1_vt/2 1],[alpha0_vt alpha1_vt 1]))*G03; Wkvt_mm = (((alpha1_vt/2)*p + 1)/(alpha0_vt*p^2 + alpha1_vt*p + 1))*G03; Whvt_mm = Wkvt_mm/(1 - Wkvt_mm*kvt_ht); Whvt_mm_s = Wkvt_mm_s/(1 - Wkvt_mm_s*kvt_ht); assignin('base', 'Whvt_mm', Whvt_mm); assignin('base', 'Hm_p', Hm_p); assignin('base', 'Tm_p', Tm_p); osmin_v= str2double(get(handles.osmin_v, 'string')); %% gia tri xac lap mong muon osmin_p= str2double(get(handles.osmin_p, 'string')); T=evalc('tfp_mm');T1=T(12:length(T)-21); set(handles.text_Wpmm,'String',T1); T=evalc('tfv_mm');T1=T(13:length(T)-21); set(handles.text_WmmV,'String',T1); T=evalc('tfd_mm');T1=T(13:length(T)-21);
  14. 136 figure(1); hold on; step(Wkd_mm_s,'k'); % ve do thi ham truyen kin mong muon step(Wk_thd_s,'k '); % ve do thi ham truyen kin tong hop duoc function thop_vt_Callback(hObject, eventdata, handles) % hObject handle to thop_vt (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % global a;global muy1;global muy2; % global lamda;global R;global l;global i;global matdo; % global Cm; % global Hm_v; global Tm_v; global G02; global SI0_td; global SI1_td; global denta_SI_td; global Wk_mmtd_s; global Wk_thtd; global Wk_thtd_s; global Wktd_mm_s;global Wdc_td_PI_s; global Wdc_thtd_s; global plotidx; plotidx = 2; global KiemtraV; KiemtraV = 0; %% SI0_td = str2double(get(handles.SI0_2, 'string')); %% do qua chinh yeu cau % SI1_td = str2double(get(handles.SI1_2, 'string')); %% do qua chinh yeu cau % denta_SI_td = str2double(get(handles.delta_SI_2, 'string')); %% do qua chinh yeu cau % cla(handles.plot,'reset');hold on; axes(handles.plot); set(handles.text_Wrc,'String',""); t=0:0.1:20; giatrichon_td = get(handles.popupmenu3,'value'); switch giatrichon_td case 1 [Wdc_td_P_s]= F_Wdc_td_P; KiemtraV = 1; case 2 [Wdc_td_PI_s]= F_Wdc_td_PI; KiemtraV = 0; case 3 [Wdc_td_PD_s]= F_Wdc_td_PD; KiemtraV = 1; case 4 [Wdc_td_PID_s]= F_Wdc_td_PID; KiemtraV = 0; end if KiemtraV == 1 T_DC = evalc('Wdc_thtd_s'); T_DC1 = T_DC(17:length(T_DC)- 10); set(handles.text_WrcV,'String',num2str((T_DC1))); set(handles.text_WrcV,'Visible','On'); else T_DC = evalc('Wdc_thtd_s'); T_DC1 = T_DC(15:length(T_DC)); set(handles.text_Wrc,'String',num2str((T_DC1))); set(handles.text_WrcV,'Visible','Off'); end assignin('base', 'Wk_thtd_s', Wk_thtd_s);
  15. 138 else T_DC = evalc('Wdc_thvt_s'); T_DC1 = T_DC(15:length(T_DC)-20); set(handles.text_Wrp,'String',num2str((T_DC1))); set(handles.text_WrpP,'Visible','Off'); end set(handles.Ts_vitri,'string',strcat('Ts = ',num2str(Tqd_vt))); set(handles.Os_vitri,'string',strcat('Os = ',num2str(Beta_vt))); %% assignin('base', 'Wk_thvt_s', Wk_thvt_s); assignin('base', 'Wkvt_mm_s', Wkvt_mm_s); assignin('base', 'Wdc_p', Wdc_thvt_s); title('Qua do vong vi tri'); hold on; step(Wkvt_mm_s,'k'); % ve do thi ham truyen kin mong muon step(Wk_thvt_s,'k '); % ve do thi ham truyen kin tong hop duoc title('Qua do vong vi tri'); legend('1:HT mong muon', '2:HT tong hop'); grid on; figure(3); hold on; step(Wkvt_mm_s,'k'); % ve do thi ham truyen kin mong muon step(Wk_thvt_s,'k '); % ve do thi ham truyen kin tong hop duoc 4. Module chương trình “Quá trình quá độ của hệ thống” global tfd_k;global tfv_k;global tfp_k; global tfd_mm;global tfv_mm;global tfp_mm; global plotidx; plotidx = plotidx+1; %t =0:0.1:3; assignin('base', 'plotidx', plotidx); if(plotidx==1) cla(handles.plot,'reset');hold on; step(tfd_k) step(tfd_mm) title('Qua do vong dieu khien dong dien'); elseif(plotidx==2) cla(handles.plot,'reset');hold on; step(tfv_k) step(tfv_mm) title('Qua do vong dieu khien van toc'); elseif(plotidx==3) cla(handles.plot,'reset');hold on; step(tfp_k) step(tfp_mm) title('Qua do vong dieu khien vi tri'); else cla(handles.plot,'reset'); hold on; step(tfd_k) step(tfv_k) step(tfp_k) title('Qua do vong dieu khien he thong'); plotidx=0; end