Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 73 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
73
Dung lượng
1,69 MB
Nội dung
I H C QU C GIA TP H CHÍ MINH I H C BÁCH KHOA NGUY U KHI N CÂN B NG CON L D NG B CS U KHI N CU N CHI U CHUYÊN NGÀNH: T NG HÓA (CT) MÃ S : 60.52.61 LU TP H CHÍ MINH, 12 2013 C HỒN THÀNH T I I H C BÁCH KHOA -HCM Cán b ng d n khoa h c : TS Nguy o (Ghi rõ h , tên, h c hàm, h c v ch ký) Cán b ch m nh n xét : TS Nguy n c Thành (Ghi rõ h , tên, h c hàm, h c v ch ký) Cán b ch m nh n xét : TS Nguy n Thi n Thành (Ghi rõ h , tên, h c hàm, h c v ch ký) Lu cb ov t Thành ph n H (Ghi rõ h , tên, h c hàm, h c v c a H PGS TS Nguy n Th TS Nguy n c Thành TS Nguy n Thi n Thành TS Nguy n Tr ng Tài Xác nh n c a Ch t ch H ngành sau lu CH T CH H NG ih m: ng ch m b o v lu ng Khoa qu n lý chuyên c s a ch a (n u có) - - .MSHV: 11834051 00/00/1983 Chuyên ngành: inh: : 605261 I II : III IV :( 23/07/2012 :( 23/12/2013 V Tp HCM, ng i L cg il n t t c quý th y cô b môn T i h c Bách Khoa thành ph H th c h u ích giúp tơi th c hi ng hóa t r t nhi u ki n tài lu n n l i t n tình ng d n tơi su t th i gian th c hi n lu i nh ng l viên nh ng góp ý h u ích c a th ng u thu n l hoàn om u ki n t t tài c bi t xin g i l i bi nh t cho tơi su t q trình th c hi n lu il nb ng nghi ng viên chia s kinh nghi m cho th i gian qua Xin trân tr Tp H Chí M Nguy HVTH: Nguy h tr ii TÓM T T Lu c thi t k b u cân b ng l n chi u (back-stepping method) K t qu th c nghi c so sánh v i b tr u u u n h i ti p u n th i gian th c b u n TMS320F28335 thu c dòng DSP c ch n M c phát tri cd c giúp vi c thu th p d li u K t qu th c nghi m cho th y b cân b ng l c nh v trí xe t ng nhi u t bên hay l c HVTH: Nguy i kh ng iii ABSTRACT This thesis presents a new technique for design of a real-time stabilization controller in order to balance an inverted pendulum using back-stepping method The performance of the proposed method is compared with that of Linear-Quadratic Regulator method (LQR) The digital signal processing (DSP) microcontroller TMS320F28835 is used to apply two controllers into the real system The graphical user interface (GUI) had been developed to supervise and collect data from the real system during running process Experimental results show that the response performance of the proposed back-stepping controller is much better than that of LQR controller under conditions of disturbance and mass changing HVTH: Nguy iv L Tôi xin tài nghiên c u th c hi n Các s li u, k t qu nghiên c tham kh u trung th c T t c tài li u u có ngu n g c, xu t x r ràng Tôi xin ch u trách nhi m v nghiên c u c a Tp H Chí Minh, ngày 23 tháng 12 Nguy HVTH: Nguy 2013 v M CL C L i TÓM T T ii ABSTRACT iii L iv M C L C v DANH M C HÌNH NH vii DANH M C B NG BI U ix U 1 Lý ch tài c, tính c p thi t tính kh thi 3 M c tiêu nghiên c u ng ph m vi nghiên c u .4 C u trúc lu NG QUAN .6 Các cơng trình nghiên c u liên quan Các v c n gi i quy t U KHI N CU N CHI U .8 TK B U KHI N CÂN B NG CON L Mơ hình hóa h th ng l Thi t k b c 11 u n c n b ng l 2.1 Tuy C 11 c 12 ng thái l c 12 2.2 Thi t k b u n cân b ng l n chi u 13 u n cân b ng l c v i b cu n chi u tích phân 17 K t qu mô ph ng b u n 19 simulink 19 3.2 Mô ph ng b u n LQR 20 3.3 Mô ph ng b u n cu n chi u 22 T K MƠ HÌNH CON L HVTH: Nguy C 25 vi 25 M u n 26 u n thu th p d li u 28 u n 28 p d li u 33 T QU TH C NGHI M 35 b trí thí nghi m 35 K t qu th c nghi m b u n LQR 35 K t qu th c nghi m b u n cu n chi u 39 So sánh ch u n gi a b K t qu th c nghi m b u n cu n LQR .42 u n cu n chi u tích phân 44 Th c nghi m swing up cân b ng l c .47 T QU Các k t qu M t s ki n ngh 51 c 51 ng phát tri tài 51 TÀI LI U THAM KH O 53 PH L C 54 Mã l c ng truy n thông 54 Mã l t k t n i c ng truy n thông 56 Mã l c v s ki n BytesAvailable 56 HVTH: Nguy vii DANH M C HÌNH NH Hình 1.1: H th ng c n c u bóc x p hàng hóa Hình 1.2: Robot t cân b ng Hình 1.3: n di chuy n Segway .2 Hình 1.4: n di chuy n Jet-pack Hình 2.1: H th ng l c ng bi n c (ngu n: Feedback Instruments) .6 Hình 3.1: kh i h th ng 3.1 Hình 3.2: kh i h th ng 3.4 Hình 3.3: kh i h th ng 3.5 Hình 4.1: Mơ hình l Hình 4.2: Giá tr b1, b2 thay theo k1 17 Hình 4.3: simulink mơ ph ng a) Cu n chi u b) LQR .19 Hình 4.4: simulink th c hi n b Hình 4.5: ng b u i 21 Hình 4.6: ng b u i 22 Hình 4.7: ng b u n cu n chi i 23 Hình 4.8: ng b u n cu n chi i 23 Hình 5.1: Mơ hình l Hình 5.2: kh i m c 11 u n cu n chi u .20 c 25 u n mô hình l c 26 Hình 5.3: Kit TMDSDOCK28335 (ngu n www.ti.com) 27 Hình 5.4: M ch cơng su Hình 5.5: kh i b 28 u n th c hi n 28 Hình 5.6: u n .29 Hình 5.7: simulink kh i b Hình 5.8: simulink kh i ch n b Hình 5.9: simulink b u n cu n chi u .30 Hình 5.10: simulink b u n LQR 31 Hình 5.11: simulink kh c góc l c v trí xe 31 Hình 5.12: simulink kh i b o v m m 32 Hình 5.13: simulink kh HVTH: Nguy u n 29 u n 30 nh d ng d li u g i v máy tính 32 47 0.3 0.6 theta0=0.2 theta0=0.349 theta0=0.524 0.2 0.4 theta 0.1 x theta0=0.2 theta0=0.349 theta0=0.524 0.2 -0.1 -0.2 -0.2 10 time 0.5 10 theta-dot x-dot -0.5 theta0=0.2 theta0=0.349 theta0=0.524 -1 -1.5 time -1 -2 theta0=0.2 theta0=0.349 theta0=0.524 -3 -4 10 time Hình 6.14: ng góc v i góc kh i t Nh n xét: T thí nghi m ta th y b cu n chi u tích phân cho ch th pb 10 u theta0 u n tích phân b u n u n g u n cu n chi ng u n cu n chi u phân vào b time nh, dao y, vi c thêm khâu tích u n cu n chi i thi n c ng xác l p Th c nghi m swing up cân b ng l c Ph n trình bày ph n th c nghi m ph i h n cân b b ng ki m tra tính nh c a b ng, s d ng lu u u u u t k Swing up ngh [10] (6.1) (6.2) (6.3) HVTH: Nguy 48 hàm n tính v i giá tr bão hòa t i bi u th c c a lu u n (6.3) av i s ng vào b ng u n cho giá tr u=0 l i s n r t quan tr ng b i t n giá tr t ng Trong thí nghi m c 0.1925, k=8.1, E0=-0.3 u simulink c a lu a tín hi u n tài, giá tr c c ch n u n c thi t k Hình 6.15: Thu ng simulink ph i h p hai b chi b u n cân b ng n u ki n chuy n u n góc Hình 6.16: Ph i h p b HVTH: Nguy u n cân b ng swing up 49 c thi t k l i cho phù h p v i thí nghi Hình 6.17: simulink tính góc l c thí nghi m swing up cân b ng K t qu th c nghi m swing up cân b ng l ng ta th y, sau kho ng 20s (15 l n swing) l chuy n sang cân b ng n th HVTH: Nguy ng vào, b nh c a l V i thí nghi m này, m t l n n a kh u n cu n chi u c swing lên 0.3rad m kho ng 25s, m t nhi u n ph n ng l i trì t t s th c hi n T nh l i s nh c a b 50 0.4 0.2 x -0.2 -0.4 500 1000 1500 2000 sample 2500 3000 3500 500 1000 1500 2000 sample 2500 3000 3500 500 1000 1500 2000 sample 2500 3000 3500 theta -2 40 u 20 -20 -40 Hình 6.18: HVTH: Nguy ng th c nghi m swing up cân b ng l c 51 : K T QU Các k t qu c Ch t o hồn ch nh mơ hình l c ph c v th c nghi m thu t toán u n Thi t k cb th c nghi m b u n cu n chi u cân b ng c, mô ph ng u n Ngoài ra, lu cb u n LQR, cu n chi u tích phân mơ hình thi t k K t qu thí nghi m cho th y mô ng t t v i hai b u ngh T th c nghi m so sánh, lu chi i thi c ch LQR K t qu so sánh cho th y b ng t ng xác l p c a b u n c a hai b cb u n cu n u n cu n chi u u n cu n chi u u n cu n chi ng LQR r t nhi u Swing up c l u n cân b ng t o m t b M t s ki n ngh h Thi t k b ng phát tri n ng ph i h p v i u n l c hoàn ch nh tài u n cân b ng tr c ti p mơ hình tốn phi n u n mơ hình v i m t s thu t, thích nghi, m ng d ng mơ hình vào phịng thí nghi m cho sinh viên có th th c nghi m v lý thuy HVTH: Nguy u n 52 HVTH: Nguy 53 TÀI LI U THAM KH O [1] S V Radhamohan, M Subramaniam, and Dr M.J.Nigam, "Fuzzy Swing-UP and Stabilization of Real Inverted Pendulum Using Single Rulebase," Journal of Theoretical and Applied Information Technology, pp 43-50, 2010 [2] Fu-Kuei Tsai and Jung-Shan Lin, "Nonlinear Control Design of 360-Degree Inverted Pendulum Systems," in The Fourth International Conference on Control and Automation, 2003, pp 634-638 [3] X Chen and H Zhou and et al, "Linear Motor Driven Inverted Pendulum and LQR Controller Design," in Proceedings of the IEEE International Conference on Automation and Logistics, 2007, pp 1750-1754 [4] D Chatterjee, A Patra, and and H K Joglekar, "Swing-up and stabilization of a cart-pendulum system under restricted cart track length," System & Control Letters, vol 47, pp 355-364, 2002 [5] M Krstic, I Kanellakopoulos, and and P.Kokotovic, Nonlinear and Adaptive Control Design.: Wiley-Interscience Publication, 1995 [6] H K Khalil, NonlinearSystems.: Prentice Hall, 1996 [7] D.H.Nghia, u n h TP.HCM, 2007 n i h c Qu c gia [8] www.roboconshop.com/San-co-Planet-60W-co-encoder-13-xung.aspx -co-co-hop-so [9] Pepperl+Fuchs Group, Incremental Encoder for specialapplications, 2011 [10] K Furuta K.J Asstrom, "Swinging up a pendulum by energy control," Automatica, vol 36, no 2, pp 287-295, 2000 HVTH: Nguy 54 PH L C Mã l c ng truy n thông function btnConnect_Callback(hObject, eventdata, handles) % hObject handle to btnConnect (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global IsConnect; global s; global myhandles; global hAng; global hPos; global hVol; axes(handles.axesAngle); hAng = plot(handles.axesAngle,0,0,'LineWidth',1); set(handles.axesAngle,'XGrid','on'); set(handles.axesAngle,'YGrid','on'); set(handles.axesAngle,'ylim',[-0.5 0.5]); axes(handles.axesPosition); hPos = plot(handles.axesPosition,0,0,'LineWidth',1); set(handles.axesPosition,'XGrid','on'); set(handles.axesPosition,'YGrid','on'); set(handles.axesPosition,'ylim',[-0.7 0.7]); axes(handles.axesVoltage); hVol = plot(handles.axesVoltage,0,0,'LineWidth',1); set(handles.axesVoltage,'XGrid','on'); set(handles.axesVoltage,'YGrid','on'); set(handles.axesVoltage,'ylim',[-24 24]); HVTH: Nguy 55 s=0; t=get(handles.popupmenu1,'Value'); str=get(handles.popupmenu1,'String'); if (IsConnect == 0), IsConnect = 1; strComPort = cell2mat(str(t)); strTemp = strcat('ASRL',strComPort(4:end),'::INSTR'); s = visa('ni',strTemp); s.Baudrate=38400; fopen(s); temp = s.status; if(temp == 'open'), set(handles.btnConnect,'Enable','Off'); else set(handles.btnConnect,'String','Error'); set(handles.btnConnect,'Enable','Off'); end; myhandles = handles; s.BytesAvailableFcn = {@BytesAvailable_Callback}; if(s.BytesAvailable>0) fread(s,1023); end else %record(s,'off') fclose(s); delete(s); set(handles.btnConnect,'Enable','On'); end HVTH: Nguy 56 Mã l t k t n i c ng truy n thông function btnDisconnect_Callback(hObject, eventdata, handles) % hObject handle to btnDisconnect (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global IsConnect; global myhandles; global s; set(handles.btnConnect,'Enable','On'); if(s.BytesAvailable>0) fread(s,s.BytesAvailable); end if (IsConnect == 1) record(s,'off'); fclose(s); delete(s); clear s; IsConnect=0; end; end Mã l c v s ki n BytesAvailable function BytesAvailable_Callback(hObject, eventdata) global IsConnect; global i; global j; global k; HVTH: Nguy 57 global s; global tempVoltage; global tempAngle; global tempPosition; global datAng; global refAng; global refPos; global datPos; global refErrPos; global datVol; global state; global myhandles; global hAng; global hPos; global hVol; global arri; global arrj; global arrk; dat=fscanf(s); if(s.BytesAvailable>0) fread(s,s.BytesAvailable); end HVTH: Nguy 58 set(myhandles.text26,'String',123); leng = length(dat); num = floor(leng/12); total = 12*num; for ii=1:num, index = total - 12*(num-ii+1) + 1; strDat = dat(index:index+11); signA = strDat(5); temp(1)= strDat(6); temp(2)= strDat(7); temp(3)= strDat(8); if(signA == '+') tempAngle=str2double(temp); else tempAngle=-str2double(temp); end signP = strDat(1); tempP(1)= strDat(2); tempP(2)= strDat(3); tempP(3)= strDat(4); if(signP == '+') tempPosition=str2double(tempP); else tempPosition=-str2double(tempP); end sign = strDat(9); HVTH: Nguy 59 tempV(1)= strDat(10); tempV(2)= strDat(11); tempV(3)= strDat(12); if(sign == '+') tempVoltage=str2double(tempV); else tempVoltage=-str2double(tempV); end if ((tempAngle>=-40)&&(tempAngle=500)&&(tempPosition=-240)&&(tempVoltage