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

Nghiên cứu tổng hợp điều khiển hệ thống truyền động bám cho các đối tượng chuyển động chậm

164 1,1K 5

Đ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 164
Dung lượng 2,05 MB

Nội dung

BỘ GIÁO DỤC ĐÀO TẠO BỘ QUỐC PHÒNG HỌC VIỆN KỸ THUẬT QUÂN SỰ TRẦN ĐỨC CHUYỂN NGHIÊN CỨU TỔNG HỢP ĐIỀU KHIỂN HỆ THỐNG TRUYỀN ĐỘNG BÁM CHO CÁC ĐỐI TƯỢNG CHUYỂN ĐỘNG CHẬM LUẬN ÁN TIẾN SỸ KỸ THUẬT HÀ NỘI - NĂM 2016 BỘ GIÁO DỤC ĐÀO TẠO BỘ QUỐC PHÒNG HỌC VIỆN KỸ THUẬT QUÂN SỰ TRẦN ĐỨC CHUYỂN NGHIÊN CỨU TỔNG HỢP ĐIỀU KHIỂN HỆ THỐNG TRUYỀN ĐỘNG BÁM CHO CÁC ĐỐI TƯỢNG CHUYỂN ĐỘNG CHẬM Chuyên ngành: Kỹ thuật Điều khiển Tự động hóa Mã số: 62.52.02.16 LUẬN ÁN TIẾN SỸ KỸ THUẬT NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS TS ĐÀO HOA VIỆT TS NGUYỄN THANH TIÊN HÀ NỘI - NĂM 2016 i LỜI CAM ĐOAN Tôi cam đoan công trình nghiên cứu hướng dẫn PGS TS Đào Hoa Việt TS Nguyễn Thanh Tiên Các số liệu, kết nêu luận án trung thực chưa công bố công trình Tác giả Trần Đức Chuyển ii LỜI CẢM ƠN Trước hết, xin bày tỏ lòng biết ơn chân thành đến thầy giáo hướng dẫn khoa học, PGS.TS Đào Hoa Việt TS Nguyễn Thanh Tiên, hướng dẫn, vạch nội dung cần giải quyết, sau kiểm tra kết nghiên cứu, giúp đỡ khuyến khích hoàn thành luận án Tôi xin chân thành cảm ơn nhà khoa học tập thể cán giáo viên Bộ môn Kỹ thuật điện / Khoa Kỹ thuật điều khiển quan tâm đóng góp ý kiến giúp hoàn thiện nội dung nghiên cứu Tôi chân thành cảm ơn đồng nghiệp Khoa Điện / Trường ĐH Kinh tế Kỹ thuật Công nghiệp / Bộ Công Thương, tạo điều kiện giúp đỡ mặt khối lượng công việc để có thời gian tập trung thực luận án Cuối cùng, xin chân thành cảm ơn gia đình, bạn bè đồng nghiệp thông cảm, động viên, khuyến khích giúp có thêm nghị lực để hoàn thành nội dung luận án iii MỤC LỤC Trang LỜI CAM ĐOAN i LỜI CẢM ƠN ii MỤC LỤC iii DANH MỤC CÁC CHỮ VIẾT TẮT VÀ KÝ HIỆU vi DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ xi MỞ ĐẦU Chương TỔNG QUAN VỀ HỆ THỐNG TRUYỀN ĐỘNG BÁM LÀM VIỆC Ở CHẾ ĐỘ CHẬM 1.1 Khái quát số hệ thống truyền động bám cho đối tượng có chế độ chuyển động chậm 1.1.1 Khái quát chung hệ truyền động bám 1.1.2 Chế độ chậm số hệ thống truyền động bám phức tạp 1.2 Xây dựng mô hình hệ truyền động bám làm việc chế độ chậm 1.2.1 Xây dựng mô hình phần hệ thống truyền động 1.2.2 Mô hình động học đối tượng điều khiển phi tuyến với động chấp hành xoay chiều đồng kích từ nam châm vĩnh cửu 19 1.3 Mô hình hệ truyền động bám làm việc chế độ chậm yếu tố ảnh hưởng 21 1.4 Những nghiên cứu nước nước 27 1.5 Đặt vấn đề nghiên cứu 30 1.6 Kết luận chương 32 Chương CƠ SỞ TỔNG HỢP ĐIỀU KHIỂN BACKSTEPPING TRƯỢT THÍCH NGHI CHO HỆ THỐNG TRUYỀN ĐỘNG BÁM PHI TUYẾN 34 2.1 Xây dựng phương pháp tổng hợp quan sát trượt mô men cản 34 2.1.1 Phương pháp Backstepping trượt (Backstepping - Sliding mode) 34 iv 2.1.2 Tổng hợp quan sát trượt 38 2.1.3 Bộ quan sát trạng thái chế độ trượt đánh giá thành phần không xác định 43 2.2 Phương pháp Backstepping trượt thích nghi cho hệ thống bám phi tuyến 45 2.3 Kết luận chương 61 Chương NGHIÊN CỨU TỔNG HỢP BỘ ĐIỀU KHIỂN HỆ THỐNG BÁM PHI TUYẾN ĐỘNG CƠ IPMSM LÀM VIỆC Ở CHẾ ĐỘ CHẬM 63 3.1 Tổng hợp vòng điều khiển tốc độ backstepping trượt thích nghi cho hệ truyền động bám làm việc chế độ chậm sử dụng động IPMSM 63 3.1.1 Xây dựng thuật toán tổng hợp điều khiển backstepping trượt thích nghi cho vòng điều khiển tốc độ 64 3.1.2 Thiết kế quan sát mô men cản 71 3.2 Xây dựng hệ kín cho hệ thống bám theo vòng vị trí sử dụng động IPMSM sở điều khiển backstepping trượt thích nghi 73 3.3 Kết luận chương 78 Chương MÔ PHỎNG VÀ THỰC NGHIỆM ĐÁNH GIÁ CHẤT LƯỢNG ĐIỀU KHIỂN BACKSTEPPING TRƯỢT THÍCH NGHI HỆ THỐNG TRUYỀN ĐỘNG BÁM LÀM VIỆC Ở CHẾ ĐỘ CHẬM 79 4.1 Mô hệ thống truyền động bám phi tuyến với BĐK tốc độ sở phương pháp backstepping trượt thích nghi sử dụng động IPMSM 80 4.2 Mô hệ thống truyền động bám phi tuyến với BĐK vị trí sở phương pháp backstepping trượt thích nghi sử dụng động IPMSM 90 4.2.1 Nghiên cứu mô hệ thống truyền động bám vị trí sở phương pháp backstepping trượt thích nghi với điều khiển PI 90 4.2.2 Nghiên cứu mô hệ thống truyền động bám vị trí sở phương pháp backstepping trượt thích nghi với điều khiển PID 100 4.3 Khảo xát đánh giá mô hình thực nghiệm với động IPMSM 104 v 4.3.1 Xây dựng mô hình thực nghiệm 104 4.3.2 Các kết thực nghiệm 106 4.4 Kết luận chương 110 KẾT LUẬN CHUNG 111 DANH MỤC CÔNG TRÌNH CỦA TÁC GIẢ 114 TÀI LIỆU THAM KHẢO 116 PHỤ LỤC 127 Phụ lục 1: Nghiên cứu mô phỏng, phân tích ảnh hưởng yếu tố phi tuyến thông số biến thiên đến làm việc HTB chế độ chậm với điều khiển kinh điển PID 127 Phụ lục 2: Các sơ đồ mô Matlab - Simulink 130 Phụ lục 3: Các tham số mô code chương trình lập trình Matlab Simulink cho BĐK backstepping trượt thích nghi 135 Phụ lục 4: Code chương trình lập trình cho DSP TMS320F28069 137 vi DANH MỤC CÁC CHỮ VIẾT TẮT VÀ CÁC KÝ HIỆU Chữ viết tắt Ý Nghĩa TĐĐ Truyền động điện HTB Hệ thống truyền động bám CNC Computer Numerical Control: Máy gia công CNC BLDC Brusless DC motor: động chiều không chổi than IPMSM Interior Permanent Magnet Synchronous Motor: Động đồng kích từ nam châm vĩnh cửu (có Ld khác Lq) HTĐK Hệ thống điều khiển LabVIEW Laboratory Virtual Instrusment Engineering Workbench DAQ Data Acqusition: phần cứng thu thập liệu điều khiển NI National Instrument VSC Variable Structure Control: điều khiển có cấu trúc biến đổi SVM Space vector modulation: mô hình không gian véc tơ DSP digital signal processing: xử lý tín hiệu số DLL Dynamic Link Library: Thư viện liên kết động P Bộ điểu khiển tỷ lệ PI Bộ điểu khiển tỷ lệ, tích phân PD Bộ điểu khiển tỷ lệ, đạo hàm PID Bộ điểu khiển tỷ lệ, tích phân đạo hàm DI đạo hàm tích phân PWM Bộ điều chế độ rộng xung PC Personal computer: máy tính cá nhân PLD Programmable Logic Devices: Vi mạch logic lập trình ASIC Application Specific Intergrated Circuits: mạch tích hợp ứng dụng riêng vii Osc Oscilloscope: máy sóng KĐCS Khuếch đại công suất QTQĐ Quá trình độ LF Hàm Lyapunov (Lyapunov Function) CLF Hàm điều khiển Lyapunov (Control Lyapunov Function) ĐTTSLG Đặc tính tần số logarit BĐK Bộ điều khiển Ký hiệu Ý nghĩa M L ; M dh ; Mô men tải, mô men đàn hồi, mô men động cơ, mô men cản [Nm] M dc ; M c M B (t ) Mô men nhiễu [Nm] W1 ( s ) Hàm truyền đạt khối lượng thứ W2 ( s) Hàm truyền đạt khối lượng thứ hai A1 () Đặc tính biên độ tần số pha J1 Mô men quán tính truyền động chấp hành [kgm2] J2 Mô men quán tính lại đối tượng truyền tải [kgm2] J Mô men quán tính tổng cộng [kgm2] C Hệ số đàn hồi [Nm/rad] Fhd Lực đàn hồi [N] n Tốc độ (vòng/phút) 1  Vận tốc góc động vận tốc góc tải [rad/s] 1' ; n' ;  'j Véc tơ hồi quy  d ; r Góc [rad] sgn; sign Hàm dấu q Biến dạng góc viii S Biến dạng dài i Hàm phi tuyến Ls , Lr Điện cảm stato rô to [H] Ld , Lq Điện kháng trục-d, điện kháng trục-q động điện [H] Rs , Rr Điện trở stato rô to động điện [  ] isd , isq Dòng điện tọa độ trục d, dòng điện trục q [A] usd , usq Các thành phần véc tơ điện áp stato hệ trục tọa độ dq m Từ thông liên kết , Các độ khuếch đại thích nghi i Tỷ số truyền hộp đổi tốc  Tham số chưa biết  BL Góc độ rộng khe hở [rad], (backlash angle) F Thành phần ước tính xấp xỉ luật thích nghi i Sai số đánh giá yr Tín hiệu tham số chuẩn [rad]  i, j Hàm hiệu chỉnh zi Sai số hiệu chỉnh X Véc tơ trạng thái hệ thống Y Véc tơ đầu hệ thống A Ma trận hệ thống B Ma trận đầu vào V Hàm Lyapunov Vi Hàm Lyapunov thứ i xi Trạng thái thứ i hệ thống điều khiển ci ,  ,  Các số dương 134 Ma sat Out1 In1 Step mo men ma sat s 1/100 t1 Clock 1/i1 In1Out1 -K- den(s) he so cung Integrator1 cua dong co Gain5 1/Jp2 toc subsystem -Kmo me1 In1 Out1 Gain3 Step1 speed BDK toc Saturation In2 Out2 n T ransfer Fcn QS mo men To Workspace1 BDK toc 60 n2 s T o Workspace3 Integrator Gain Gain4 s -K- Goc 20 Gain1 Ramp1 -KManual Switch n1 Si ne Wave Gain2 -K- Derivative T o Workspace2 n3 du/dt T o Workspace4 0.1 Dat goc (rad ) sai so Hình PL 2.9 Sơ đồ mô hệ truyền động bám phi tuyến với BĐK vị trí có tính đến yếu tố phi tuyến mô men ma sát đàn hồi sử dụng khâu PID Phụ lục 3: Các tham số mô code chương trình lập trình Matlab - Simulink cho BĐK backstepping trượt thích nghi: 3.1 Tham số mô điều khiển %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% P=4;r = 2.5; Ls = 94e-3; Lq = 114 91e-3;Ld = 75e-3; J_PMSM = 1.5e-4; J_Brake = 2.07e-4; J = J_PMSM + J_Brake; B_motor = 0.0001; B_Brake = 0.00; % B_Tai=J_Tai/time constant = 2.7e-4/0.06 = 0.0045 B = B_motor + B_Brake; lamd = 0.193; [Vsec/rad] Vdc = 310;fz = 5e3; Tz = 1/fz;Vmax = 2/3*Vdc; Vmin = -Vmax; %kt = (3*P*Lambdam)/4; % Torque constant (Te = kt*iq) RPM = 100;% Toc RPM, Tstop = 1.01; Tload = 0.5 ; % Load torque [N.m], Rated torque = 3.874 [N.m] % cac tham so cua k kk1=3*P*P/2/J/4*lamd;…k5=lamd/Ls;k6=1/Lq;k7 = r/Ld;k8 = 1/Ld; k11 = 3*P*P*(Ld-Lq)/8/J;k12 = 4/3/P/lamd;k13 = 2*k12*J/P;… %Controller %k1 = 1450; k1 = 1250;kd = 50;ksd = 1e4;nuyd = 270;ald = 0.01; kq = 30; nuyq = 130;alq = 0.01; gm1 = 0.067;gm2 = 0.01;gm3 = 0.01;gm1 = 0;gm2 = 0;gm3 = 0; % Observer 135 K1=3*P*P/2/J/4*lamd;…… k2=B/J;k11 = 3*P*P*(Ld-Lq)/8/J; %z0=1; l2=200;l1=(k2+l2)*(k2+l2)/4/k3/z0/z0; L1=-10e3;%-9.5 cho toc cao, -10 cho toc thap L2 = 51e2; epsa=0.01; epsb=epsa; epsw=epsa;eps0=0.01; 3.2 Chương trình lập trình mô trường Matlab- Simulink Trên M-file %========================================================== % M-file for plotting the simulation results of IPMSM %========================================================== %========================================================== figure(1) subplot(121); plot(t,wd,'k:',t,w,'r-','LineWidth',2.5); set(gca,'Fontname','Arial','Fontsize',20,'LineWidth',3,'FontWeight','bold '); % text(0.65,-60, 'Dotted: {\omega_d}','Color','k','FontWeight','bold','Fontsize',20); % text(0.65,-30, 'Solid : {\omega}','Color','r','FontWeight','bold','Fontsize',20); %axis([0.4 0.8 -400 400]); axis([0.4 0.8 350]); %axis([0 -60 60]); ylabel('{\omega }(rad/sec)'); %ylabel('{Speed}(RPM)'); legend('\it\color{black}\omega_d{ }','\it\color{red}\omega','Location',[.380 78 0.07 0.02],'Orientation','Vertical'); set(legend, 'Box', 'off'); subplot(122); plot(t,we-4,'LineWidth',2.5); grid on; set(gca,'Fontname','Arial','Fontsize',20,'LineWidth',3,'FontWeight','bold '); axis([0.4 0.8 -30 10]); ylabel('{\omega_e }(rad/sec)'); subplot(123); plot(t,tl,'LineWidth',2.5); grid on; set(gca,'Fontname','Arial','Fontsize',20,'LineWidth',3,'FontWeight','bold '); axis([0.4 0.8 -0.2 1.7]); ylabel('{T_{L}}(Nm)'); subplot(124); plot(t,d1+0.05,'k:',t,hd1+0.05,'r','lineWidth',2.5); set(gca,'Fontname','Arial','Fontsize',20,'FontWeight','bold','LineWidth', 3); 136 % text(0.63, 0.6, 'Dotted: {d_{1}}','Color','k','FontWeight','bold','Fontsize',20); % text(0.63, 0.3,'Solid : {d_{1}}','Color','r','FontWeight','bold','Fontsize',20); axis([0.4 0.8 -0.2 2]); %xlabel('Time(sec)'); ylabel('{d_{1}}'); legend('\it\color{black} d_1','\it\color{red} d_1','Location',[.80 45 0.07 0.02],'Orientation','Vertical'); set(legend, 'Box', 'off'); subplot(125); plot(t,iqs-0.1,'LineWidth',2.5); grid on; set(gca,'Fontname','Arial','Fontsize',20,'LineWidth',3,'FontWeight','bold '); axis([0.4 0.8 -2 3]); xlabel('Time(sec)'); ylabel('{i_{qs}}(A)'); %ylabel('{i_{a}}(A)'); subplot(126); plot(t,idsd,'k:',t,ids,'r','lineWidth',2.5); grid on; %plot(t,ids,'r-',t,iqs,'k:','lineWidth',2.5); set(gca,'Fontname','Arial','Fontsize',20,'LineWidth',3,'FontWeight','bold '); {i_{d}}','Color','r','FontWeight','bold','Fontsize',20); % text(0.5,-5, 'Dashed : {i_{dsd}}','Color','b','FontWeight','bold','Fontsize',20); axis([0.4 0.8 -3 3]); %axis([0 -20 3]); xlabel('Time(sec)'); ylabel('i_{ds}(A)'); legend('\it\color{black} i_{dsd}','\it\color{red} i_{ds}','Location',[.80 25 0.07 0.02],'Orientation','Vertical'); set(legend, 'Box', 'off'); 3.3 Chương trình lập trình code S_funtion: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function [sys,x0,str,ts] = sch_chuongtrinh(t,x,u,flag) switch flag case 0, [sys,x0,str,ts] = mdlInitializeSizes; case 3, sys = mdlOutputs(t,x,u); case {1,2,4,9} sys = [];… otherwise error(['unhandled flag = ',num2str(flag)]); end sizes.NumInputs = 2;% vsq,vsd 137 sizes.NumSampleTimes = 1; ……… sys = simsizes(sizes); x0 = [];% Khoi tao bien trang thai str = []; ts = [-1 0]; function sys = mdlOutputs(t,x,u) Vdc = 110; va = 2*Vdc/3; vb = va; ts = 1/5e3; a = abs(u(1))+abs(u(2))/sqrt(3); b = abs(u(1))-abs(u(2))/sqrt(3); c = 2*abs(u(2))/sqrt(3); % for case us_alpha Vdc) * p->fVm) * _IQtoF(_IQsin(qThetaA)); p->fVbn = (_IQtoF(p->Vdc) * p->fVm) * _IQtoF(_IQsin(qThetaB)); p->fVcn = (_IQtoF(p->Vdc) * p->fVm) * _IQtoF(_IQsin(qThetaC)); qVan = _IQmpy(_IQmpy(p->Vdc,_IQ(p->fVm)),_IQsin(qThetaA)); qVbn = _IQmpy(_IQmpy(p->Vdc,_IQ(p->fVm)),_IQsin(qThetaB)); 141 qVcn = _IQmpy(_IQmpy(p->Vdc,_IQ(p->fVm)),_IQsin(qThetaC)); fVan = _IQtoF(qVan); fVbn = _IQtoF(qVbn); fVcn = _IQtoF(qVcn); if(p->fVan >= p->fVbn) { p->fVmax = p->fVan; p->fVmin = p->fVbn; } else { p->fVmax = p->fVbn; p->fVmin = p->fVan; } if(p->fVcn > p->fVmax) p->fVmax = p->fVcn; else if(p->fVcn < p->fVmin) p->fVmin = p->fVcn; #if SET fTmpData = p->fVmax - p->fVmin; if(fTmpData > p->fVdcEff) { fTmp = p->fVdcEff / fTmpData; p->fVmax = p->fVmax * fTmp; p->fVmin = p->fVmin * fTmp; p->fVan = p->fVan * fTmp; p->fVbn = p->fVbn * fTmp; p->fVcn = p->fVcn * fTmp; } 142 p->fVsn = -((p->fVmax + p->fVmin) * 0.5); p->fVan_ref = p->fVan + p->fVsn; p->fVbn_ref = p->fVbn + p->fVsn; p->fVcn_ref = p->fVcn + p->fVsn; p->fTa = 0.5 - (p->fVan_ref / p->fVm); p->fTb = 0.5 - (p->fVbn_ref / p->fVm); p->fTc = 0.5 - (p->fVcn_ref / p->fVm); fTa = 0.5 - (p->fVan_ref / p->fVm); fTb = 0.5 - (p->fVbn_ref / p->fVm); fTc = 0.5 - (p->fVcn_ref / p->fVm); } End of PwmSv.c …… 4.2 Chương trình code phần chuyển đổi tọa độ alpha beta sang dq =============================================================== File name: C.Cs (IQ version) Originator: Digital Control Systems Group Alphascription: chuyen Transformation =============================================================== History: 04-15-2014 Version 3.20 #include "IQmathLib.h" Include header for IQmath library Don't forget to set a proper GLOBAL_Q in "IQmathLib.h" file #include "park.h" void park_calc(PARK *v) { 143 _iq Cosine,Sine; Using look-up IQ sine table Sine = _IQsinPU(v->Angle); Cosine = _IQcosPU(v->Angle); v->Qs = _IQmpy(v->Alpha,Cosine) + _IQmpy(v->Beta,Sine); v->Ds = _IQmpy(v->Alpha,Sine) - _IQmpy(v->Beta,Cosine); if (v->Ds > _IQ(0.5)) v->Ds = _IQmpy(v->Ds,_IQ(0.01)); if (v->Ds < _IQ(-0.5)) v->Ds = _IQmpy(v->Ds,_IQ(-0.01)); } 4.3 Code chương trình tính toán đầu /******************************************************************** * Outputs calculation * ********************************************************************* ********************************************************************/ //Constant gamma1 = 0.067; gamma2 = 0.01; gamma3 = 0.01; muyd = 268 ; //muyd > muyq = 126; etad = 0.01; etaq = 0.01; kq = 30; //Main calculation F1Estimated = F1Estimated + (- gamma1*(sq*M1 + sd))*Tsamp; F2Estimated = F2Estimated + (- gamma2*sq*M2)*Tsamp; F3Estimated = F3Estimated + - gamma3*(k1 - M3)*sq; idd_k = -lam_mo/(2*(Ldo - Lqo)) - sqrt(lam_mo^2/(4*(Ldo - Lqo)^2) + iq^2) idd_dev = (idd_k - idd_kminus1)/Tsamp; ……… Omegad_devdev = (Omegad_k - 2*Omegad_kminus1 + Omegad_kminus2)/Tsamp^2; Omegad_dev = (Omegad_k - Omegad_kminus1)/Tsamp; vd = Ldo*(idd_dev - f1o - F1Estimated + Ksd*e2_k + etad*sd/(Absolute(sd) + muyd)); 144 vq = (Lqo/M2)*(k1*Omegad_dev - k1*(f3o + F3) + Omegad_devdev M1*(f1o + vd/Ldo0) - M2*f2o + M3*f3o - M1*F1Estimated -M2*F2Estimated + M3*F3Estimated - k1*F3Estimated + kq*sq + etaq*sq/(Absolute(sq)+muyq)) //trang 78 - delta unknown … //For next Loop idd_kminus1 = idd_k; Omegad_kminus1 = Omegad_k; Omegad_kminus2 = Omegad_kminus1; /////////////////////////////////////////////////////// // Additional Functions // // double Sign(double inVar){ double outVar; if (inVar > 0) outVar = 1; if (inVar < 0) outVar = -1; if (inVar == 0) outVar = 0; return outVar; } double Absolute(double inVar){ double outVar; if (inVar > 0) outVar = inVar; if (inVar < 0) outVar = -inVar; if (inVar == 0) outVar = 0; return outVar; } 4.4 Chuong trình lập trình tính toán tốc độ phản hồi từ cảm biến góc TI File $Revision: /main/9 $ Chuyn $Date: April 21, 2014 15:42:23 $ ######################################################################## FILE: DSP_posspeed.c TITLE: Pos/speed measurement using EQEP peripheral DESCRIPTION: This file includes the EQEP initialization and position and speed caculation functions called by DSP_28xxxEqep_posspeed.c The position and speed calculation steps performed by POSSPEED_Calc() at SYSCLKOUT = 150 MHz and 100 MHz are described in detail below: 145 For 150 MHz Operation: This program calculates: **theta_mech** theta_mech = QPOSCNT/mech_Scaler = QPOSCNT/xx00, where xx00 is the number of counts in revolution.(xx00/4 = xx00 line/rev quadrature encoder) This program calculates: **theta_elec** theta_elec = (# pole pairs) * theta_mech = 2*QPOSCNT/xx00 for this example This program calculates: **SpeedRpm_fr** SpeedRpm_fr = [(x2-x1)/xx00]/T - Equation Note (x2-x1) = difference in number of QPOSCNT counts Dividing (x2-x1) by 100 gives position relative to Index in one revolution If base RPM = xx00 rpm: xx00 rpm = [(x2-x1)/xx00]/10ms - Equation = [(x2-x1)/xx00]/(.01s*1 min/60 sec) = [(x2-x1)/xx00]/(1/xx00) max (x2-x1) = xx00 counts, or revolution in 10 ms If both sides of Equation are divided by xx00 rpm, then: = [(x2-x1)/xx00] rev./[(1/xx00) * xx00rpm] Because (x2-x1) must be -xx00 for QPOSCNT decrement, (x2-x1)/xx00>-1 for CCW rotation speed_fr = [(x2-x1)/xx00]/[(1/xx00) * xx00rpm] = (x2-x1)/xx00 - Equation 146 To convert speed_fr to RPM, multiply Equation by xx00 rpm SpeedRpm_fr = xx00rpm *(x2-x1)/xx00 - Final Equation : **min rpm ** = selected at 10 rpm based on CCPS prescaler options available (128 is greatest) **SpeedRpm_pr** SpeedRpm_pr = X/(t2-t1) - Equation where X = QCAPCTL [UPPS]/xx00 rev (position relative to Index in revolution) If max/base speed = xx00 rpm: xx00 = (32/xx00)/[(t2-t1)/(150MHz/128)] where 32 = QCAPCTL [UPPS] (Unit timeout - once every 32 edges) 32/xx00 = position in revolution (position as a fraction of revolution) t2-t1/(150MHz/128), t2-t1= # of QCAPCLK cycles, and QCAPCLK cycle = 1/(150MHz/128) = QCPRDLAT So: xx00 rpm = [32(150MHz/128)*60s/min]/[xx00(t2-t1)] t2-t1 = [32(150MHz/128)*60 s/min]/(xx00*xx00rpm) - Equation = 94 CAPCLK cycles = maximum (t2-t1) = SpeedScaler Divide both sides by (t2-t1), and: = 94/(t2-t1) = [32(150MHz/128)*60 s/min]/(xx00*xx00rpm)]/(t2-t1) Because (t2-t1) must be < 94 for QPOSCNT increment: 94/(t2-t1) < for CW rotation And because (t2-t1) must be >-94 for QPOSCNT decrement: 94/(t2-t1)> -1 for CCW rotation speed_pr = 94/(t2-t1) or [32(150MHz/128)*60 s/min]/(xx00*xx00rpm)]/(t2-t1) - Equation 147 To convert speed_pr to RPM: Multiply Equation by xx00rpm: SpeedRpm_fr = xx00rpm * [32(150MHz/128)*60 s/min]/[xx00*xx00rpm*(t2-t1)] = [32(150MHz/128)*60 s/min]/[xx00*(t2-t1)] or [(32/xx00)rev * 60 s/min]/[(t2-t1)(QCPRDLAT)]- Final Equation For 100 MHz Operation: -The same calculations as above are performed, but with 100 MHz instead of 150MHz when calculating SpeedRpm_pr The value for freqScaler_pr becomes: [32*(100MHz/128)*60s/min]/(xx00*xx00rpm) = 63 More detailed calculation results can be found in the Example_freqcal.xls spreadsheet included in the example folder This file contains source for the posspeed module ######################################################################## Original Author: SDchuye $TI Release: DSP320F28xxx/DSP320F28xxx C/C++ … $Release Date: August 4, 2014 $ ######################################################################## #include "DSP28x_Project.h" Device Headerfile and Examples Include File #include "Example_posspeed.h" Example specific Include file void POSSPEED_Init(void) { #if (CPU_FRQ_150MHZ) EQep2Regs.QUPRD=1500xxx; Unit Timer for 100Hz at 150 MHz SYSCLKOUT #endif #if (CPU_FRQ_100MHZ) EQep2Regs.QUPRD=1000xxx; Unit Timer for 100Hz at 100 MHz SYSCLKOUT #endif EQep2Regs.QDECCTL.bit.QSRC=00; QEP quadrature count mode EQep2Regs.QEPCTL.bit.FREE_SOFT=2; EQep2Regs.QEPCTL.bit.PCRM=00; PCRM=00 mode - QPOSCNT reset on index 148 event EQep2Regs.QEPCTL.bit.UTE=1; Unit Timeout Enable EQep2Regs.QEPCTL.bit.QCLM=1; Latch on unit time out EQep2Regs.QPOSMAX=0x2710; EQep2Regs.QEPCTL.bit.QPEN=1; QEP enable EQep2Regs.QCAPCTL.bit.UPPS=7; 1/4 for unit position EQep2Regs.QCAPCTL.bit.CCPS=5; 1/16 for CAP clock EQep2Regs.QCAPCTL.bit.CEN=1; QEP Capture Enable } void POSSPEED_Calc(POSSPEED *p) { long tmp; unsigned int pos16bval; ,temp1; _iq Tmp1,newp,oldp; **** Position calculation - mechanical and electrical motor angle **** p->DirectionQep = EQep2Regs.QEPSTS.bit.QDF; Motor direction: 0=CCW/reverse, 1=CW/forward pos16bval=(unsigned int)EQep2Regs.QPOSCNT; capture position once per QA/QB period p->theta_raw = pos16bval+ p->cal_angle; raw theta = current pos + ang offset from QA The following lines calculate p->theta_mech ~= QPOSCNT/mech_scaler [current cnt/(total cnt in rev.)] where mech_scaler = 4000 cnts/revolution tmp = (long)((long)p->theta_raw*(long)p->mech_scaler); Q0*Q26 = Q26 tmp &= 0x03FFF000; p->theta_mech = (int)(tmp>>11); Q26 -> Q15 p->theta_mech &= 0x7FFF; The following lines calculate p->elec_mech p->theta_elec = p->pole_pairs*p->theta_mech; // Q0*Q15 = Q15 p->theta_elec &= 0x7FFF; Check an index occurrence if (EQep2Regs.QFLG.bit.IEL == 1) { p->index_sync_flag = 0x00F0; EQep2Regs.QCLR.bit.IEL=1; // Clear interrupt flag : …………… [...]... trượt thích nghi cho hệ truyền động bám phi tuyến được nghiên cứu một cách trình tự Nghiên cứu cơ sở lý thuyết điều khiển về thích nghi cho hệ thống có cấu trúc biến đổi, điều khiển backstepping trượt, điều khiển backstepping trượt thích nghi cho hệ thống truyền động bám làm việc ở chế độ chậm, có tính đến bộ quan sát trượt Chương 3 Nghiên cứu tổng hợp bộ điều khiển hệ thống bám phi tuyến động cơ IPMSM... cứu tổng hợp thuật toán điều khiển HTB có yếu tố phi tuyến là vấn đề hết sức cần thiết và mang tính thời sự được nhiều người quan tâm Vấn đề này luôn có ý nghĩa khoa học và giá trị thực tiễn cao Với tính cấp thiết như vậy, đề tài nghiên cứu của luận án được lựa chọn là: Nghiên cứu tổng hợp điều khiển hệ thống truyền động bám cho các đối tượng chuyển động chậm 2 * Mục tiêu nghiên cứu: Nghiên cứu tổng. .. tổng hợp hệ thống truyền động bám cho các đối tượng chuyển động chậm thực hiện trên cơ sở ứng dụng lý thuyết điều khiển mới như: điều khiển trượt; điều khiển backstepping trượt thích nghi có tính đến bộ quan sát, bộ lọc để tổng hợp bộ điều khiển Nghiên cứu đánh giá khả năng nâng cao chất lượng ổn định HTB làm việc ở chế độ chậm, nhằm thay thế HTB đã và đang sử dụng động cơ một chiều bằng HTB sử dụng động. .. quan tâm nghiên cứu đến hệ thống truyền động điện nói chung, hệ thống bám nói riêng Chúng rất đa dạng phong phú và ngày càng phát triển mạnh mẽ Hệ thống truyền động bám là hệ thống kín, trong đó lượng vào thay đổi theo thời gian một cách ngẫu nhiên, lượng ra của hệ thống được điều khiển bám (lặp lại) theo lượng vào với độ chính xác cho trước Hơn nữa hệ thống bám là hệ thống mà, các chỉ tiêu chất lượng... cơ  108 1 MỞ ĐẦU Hệ thống truyền động bám công nghiệp và khí tài quân sự được sử dụng trong các hệ thống kỹ thuật cao như: hệ thống bánh lái tàu thuỷ, hệ thống pháo tàu, hệ thống điều khiển khí cụ bay, hệ truyền động của máy đo xa Laze, tay máy công nghiệp và máy cắt gọt kim loại CNC Hệ thống truyền động bám thường sử dụng động cơ có đặc tính mô men tốt như động cơ BLDC, động cơ PMSM với hai dạng... tuyến của đối tượng điều khiển HTB làm việc ở chế độ chậm Nghiên cứu ảnh hưởng yếu tố phi tuyến, thông số biến thiên đến chất lượng làm việc của hệ thống - Nghiên cứu ứng dụng phương pháp điều khiển mới như: điều khiển trượt, điều khiển backstepping thich nghi, điều khiển backstepping trượt thích nghi có tính đến bộ quan sát, v.v Ứng dụng chúng vào trong hệ thống truyền động bám sử dụng động cơ IPMSM... mô men động cơ và mô men cản ta có thể chia các chế độ làm viêc của HTB thành 2 loại là chế độ làm viêc HTB với đối tượng điều khiển chuyển động nhanh và chế độ làm viêc HTB với đối tượng điều khiển chuyển động chậm Trong HTB điện cơ làm việc ở chế độ chậm đòi hỏi sai số bám sát nhỏ thì tính chất chuyển động của hệ cần được quan tâm trong quá trình thiết kế bộ điều chỉnh Với hệ thống chuyển động nhanh... động cơ chấp hành, [13, 23, 40] Thống kê trong thực tế hệ thống truyền động vũ khí đang sử dụng trong nước và trên thế giới cho thấy hầu hết đều sử dụng ở dạng hệ điện cơ, [40] Ví dụ hệ thống truyền động sử dụng điều khiển các loại vũ khí pháo tàu như: AK 230, AK 176 (hệ thống máy phát động cơ), hệ thống truyền động thuỷ lực dùng điều khiển một số loại pháo tàu như: AK 630, AK 726 Sau đây ta xét hệ. .. lượng điều khiển backstepping trượt thích nghi hệ thống truyền động bám làm việc ở chế độ chậm Để minh chứng kết quả nghiên cứu tổng hợp BĐK ở chương 3, chương 4 tiến hành khảo sát mô phỏng đánh giá hệ thống truyền động bám làm việc ở chế độ chậm trên Matlab-Simulink với BĐK tốc độ và bộ điều khiển vị trí với nhiều trường hợp khác nhau Nghiên cứu thực nghiệm với BĐK tốc độ đã được xây dựng tổng hợp ở chương... ma sát, dao động đàn hồi, đặc điểm động học HTB, tình hình nghiên cứu trong nước và ngoài nước; từ đó lựa chọn phương pháp điều khiển mới, xác định phương pháp nghiên cứu trong luận án và đặt vấn đề nghiên cứu Chương 2: Cơ sở tổng hợp điều khiển backstepping trượt thích nghi cho hệ thống truyền động bám phi tuyến Trong chương hai trình bày cơ sở lý thuyết chung nhất của việc tổng hợp điều khiển backstepping

Ngày đăng: 24/06/2016, 15:20

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. Bộ môn kỹ thuật điện (2007), cơ sở xây dựng các hệ thống tự động, Học Viện KTQS Sách, tạp chí
Tiêu đề: cơ sở xây dựng các hệ thống tự động
Tác giả: Bộ môn kỹ thuật điện
Năm: 2007
2. Bùi Chính Minh (2008), Điều khiển thích nghi bền vững hệ phi tuyến có khớp mềm, Luận án tiến sĩ kỹ thuật Sách, tạp chí
Tiêu đề: Điều khiển thích nghi bền vững hệ phi tuyến có khớp mềm
Tác giả: Bùi Chính Minh
Năm: 2008
3. Phạm Hữu Đức Dục (2008), Một phương pháp điều khiển thích nghi hướng chuyển động của tàu thuỷ, tạp chí KH &amp; công nghệ các trường đại học kỹ thuật số 65-2008; tr. 45- 49 Sách, tạp chí
Tiêu đề: Một phương pháp điều khiển thích nghi hướng chuyển động của tàu thuỷ
Tác giả: Phạm Hữu Đức Dục
Năm: 2008
4. Nguyễn Công Hiền, Phạm Hữu Đức Dục, Nguyễn Văn Vy, Bùi Chính Minh, Nguyễn Vĩnh Thuỵ (2006), Điều khiển thích nghi hệ có cấu trúc mềm, tuyển tập các báo cáo khoa học Vica 6, tr. 209-214 Sách, tạp chí
Tiêu đề: Điều khiển thích nghi hệ có cấu trúc mềm
Tác giả: Nguyễn Công Hiền, Phạm Hữu Đức Dục, Nguyễn Văn Vy, Bùi Chính Minh, Nguyễn Vĩnh Thuỵ
Năm: 2006
5. Huỳnh Văn Đông (2009), 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 Sách, tạp chí
Tiêu đề: 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
Tác giả: Huỳnh Văn Đông
Năm: 2009
6. Nguyễn Đức Minh (2013), Điều khiển trượt thích nghi hệ thống truyền động phi tuyến, Luận án tiến sĩ kỹ thuật. ĐH BK thành phố Hồ Chí Minh Sách, tạp chí
Tiêu đề: Điều khiển trượt thích nghi hệ thống truyền động phi tuyến
Tác giả: Nguyễn Đức Minh
Năm: 2013
7. Lê Thị Thu Hà (2013), Một số giải pháp nâng cao chất lượ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 Sách, tạp chí
Tiêu đề: Một số giải pháp nâng cao chất lượng hệ truyền động có khe hở trên cơ sở điều khiển thích nghi bền vững
Tác giả: Lê Thị Thu Hà
Năm: 2013
8. Hoàng Văn Huy, Hoàng Quang Chính, HVKTQS, Tổng hợp bộ điều khiển tốc độ trượt bền vững cho động cơ đồng bộ nam châm vĩnh cửu;Tuyển tập công trình Hội nghị Cơ điện tử toàn quốc lần thứ 6, VCM tháng 12 năm 2012. trang 265-271 Sách, tạp chí
Tiêu đề: Tổng hợp bộ điều khiển tốc độ trượt bền vững cho động cơ đồng bộ nam châm vĩnh cửu
10. Nguyễn Văn Tiềm (2009), Nghiên cứu xây dựng hệ điều khiển chuyển động thích nghi trên cơ sở logic mờ và mạng nơron nhân tạo, Luận án tiến sĩ kỹ thuật; HVKTQS Sách, tạp chí
Tiêu đề: Nghiên cứu xây dựng hệ điều khiển chuyển động thích nghi trên cơ sở logic mờ và mạng nơron nhân tạo
Tác giả: Nguyễn Văn Tiềm
Năm: 2009
11. Đặng Thị Quỳng Trang (2008), Hệ thống điều khiển véc tơ động cơ không đồng bộ dùng cảm biến tốc độ làm việc ở vùng tốc độ thấp, Luận văn thạc sỹ kỹ thuật Sách, tạp chí
Tiêu đề: Hệ thống điều khiển véc tơ động cơ không đồng bộ dùng cảm biến tốc độ làm việc ở vùng tốc độ thấp
Tác giả: Đặng Thị Quỳng Trang
Năm: 2008
12. Nguyễn Thanh Tiên (2013), Tổng hợp bộ điều khiển bám sát cho hệ truyền động súng pháo với động cơ đồng bộ nam châm vĩnh cửu trên cơ sở phương pháp phân khối và điều khiển trượt, Hội nghị toàn quốc lần thứ 2 về Điều Khiển và Tự động hóa, VCCA 2013; 688-694 Sách, tạp chí
Tiêu đề: Tổng hợp bộ điều khiển bám sát cho hệ truyền động súng pháo với động cơ đồng bộ nam châm vĩnh cửu trên cơ sở phương pháp phân khối và điều khiển trượt
Tác giả: Nguyễn Thanh Tiên
Năm: 2013
13. Nguyễn Thanh Tiên (2013), Ứng Dụng Điều Khiển Trượt Tổng Hợp Điều Khiển Hệ Điện Cơ (dùng cho đào tạo cao học), Nhà Xuất Bản Quân Đội Nhân Dân Sách, tạp chí
Tiêu đề: Ứng Dụng Điều Khiển Trượt Tổng Hợp Điều Khiển Hệ Điện Cơ
Tác giả: Nguyễn Thanh Tiên
Nhà XB: Nhà Xuất Bản Quân Đội Nhân Dân
Năm: 2013
14. Võ Thu Hà (2013), Một số giải pháp điều khiển nhằm nâng cao chất lượng chuyển động của tay máy công nghiệp. Luận án tiến sĩ kỹ thuật Sách, tạp chí
Tiêu đề: Một số giải pháp điều khiển nhằm nâng cao chất lượng chuyển động của tay máy công nghiệp
Tác giả: Võ Thu Hà
Năm: 2013
15. Đào Hoa Việt, Thái Thanh Nga (2009), Tối ưu hóa hệ thống tự động điện cơ đàn hồi theo tiêu chuẩn cực tiểu khả năng xảy ra dao động. Tạp chí Khoa Học và Kỹ thuật HVKTQS, số 128; tr. 105-114 Sách, tạp chí
Tiêu đề: Tối ưu hóa hệ thống tự động điện cơ đàn hồi theo tiêu chuẩn cực tiểu khả năng xảy ra dao động
Tác giả: Đào Hoa Việt, Thái Thanh Nga
Năm: 2009
16. Đào Hoa Việt, Huỳnh Văn Đông (2006), Nghiên cứu ảnh hưởng của khe hở và biến dạng đàn hồi trong bộ truyền động đến chất lượng làm việc của hệ thống vũ khí, Tạp chí KH và KT, HVKTQS, số 116; tr. 126-133 Sách, tạp chí
Tiêu đề: Nghiên cứu ảnh hưởng của khe hở và biến dạng đàn hồi trong bộ truyền động đến chất lượng làm việc của hệ thống vũ khí
Tác giả: Đào Hoa Việt, Huỳnh Văn Đông
Năm: 2006
17. Nguyễn Công Định, Huỳnh Văn Đông, Trần Xuân Ki ên (2008), Tổng hợp bộ điều khiển backstepping thích nghi đối tượng hai khối lượng tham số không xác định, Tạp chí KH và Kỹ thuật HVKTQS, số 123; tr.49-55 Sách, tạp chí
Tiêu đề: Tổng hợp bộ điều khiển backstepping thích nghi đối tượng hai khối lượng tham số không xác định
Tác giả: Nguyễn Công Định, Huỳnh Văn Đông, Trần Xuân Ki ên
Năm: 2008
18. Nguyễn Thị Phương Hà (2007), Lý thuyết điều khiển hiện đại, Nhà xuất bản ĐHQG Thành Phố Hồ Chí Minh Sách, tạp chí
Tiêu đề: Lý thuyết điều khiển hiện đại
Tác giả: Nguyễn Thị Phương Hà
Nhà XB: Nhà xuất bản ĐHQG Thành Phố Hồ Chí Minh
Năm: 2007
20. Bùi Đình Tiếu (2008), Giáo trình truyền động điện, Nhà xuất bản Giáo Dục - Hà nội Sách, tạp chí
Tiêu đề: Giáo trình truyền động điện
Tác giả: Bùi Đình Tiếu
Nhà XB: Nhà xuất bản Giáo Dục - Hà nội
Năm: 2008
21. Nguyễn Doãn Phước (2009), Lý thuyết điều khiển tuyến tính, Nhà xuất bản Khoa Học và Kỹ Thuật - Hà nội Sách, tạp chí
Tiêu đề: Lý thuyết điều khiển tuyến tính
Tác giả: Nguyễn Doãn Phước
Nhà XB: Nhà xuất bản Khoa Học và Kỹ Thuật - Hà nội
Năm: 2009
22. Nguyễn Văn Khang (2007), Động lực học hệ nhiều vật, Nhà xuất bản Khoa Học và Kỹ Thuật - Hà nội Sách, tạp chí
Tiêu đề: Động lực học hệ nhiều vật
Tác giả: Nguyễn Văn Khang
Nhà XB: Nhà xuất bản Khoa Học và Kỹ Thuật - Hà nội
Năm: 2007

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w