1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Điều khiển trực tiếp mô men động cơ không đồng bộ bằng biến tần kiển ma trận

102 280 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 102
Dung lượng 2,04 MB

Nội dung

LỜI CAM ĐOAN Tôi xin cam đoan đồ luận văn tốt nghiệp:“Điều khiển trực tiếp mômen động không đồng biến tần kiểu ma trận” tự thực hướng dẫn thầy giáo TS Trần Trọng Minh Để hoàn thành đồ án này, sử dụng tài liệu ghi danh mục tài liệu tham khảo không chép hay sử dụng tài liệu khác Nếu phát có chép xin hoàn toàn chịu trách nhiệm Hà Nội, ngày 30 tháng 03 năm 2011 Học viên thực Nguyễn Mạnh Linh MỤC LỤC Nội dung Trang Trang phụ bìa Lời cam đoan Mục lục Danh mục bảng Danh mục hình vẽ, đồ thị DANH MỤC CÁC HÌNH VẼ , ĐỒ THỊ LỜI NÓI ĐẦU CHƯƠNG TỔNG QUAN VỀ BIẾN TẦN MA TRẬN 11 1.1 Khái quát biến tần 11 1.2 Biến tần ma trận (Matrix Converter) 13 1.2.1 Bộ lọc đầu vào (input filter) 14 1.2.2 Mạch bảo vệ áp 17 1.2.3 Ma trận van bán dẫn hai chiều 20 1.3 Phương hướng nghiên cứu đề tài 22 CHƯƠNG MÔ HÌNH TOÁN HỌC VÀ VẤN ĐỀ CHUYỂN MẠCH CỦA BIẾN TẦN MA TRẬN 24 2.1 Mô hình toán học biến tần ma trận 24 2.2 Các vector điện áp Biến tần ma trận 26 2.3 Vấn đề chuyển mạch biến tần 30 2.4 Tình hình nghiên cứu phát triển biến tần ma trận 36 CHƯƠNG BIẾN TẦN MA TRẬN VÀ HỆ TRUYỀN ĐỘNG ĐIỀU KHIỂN TRỰC TIẾP MÔ MEN 38 3.1 Cơ sở lý thuyết phương pháp DTC 38 3.1.1 Điều khiển từ thông stator 38 3.1.2 Điều khiển mômen 40 3.2 Biến tần ma trận hệ truyền động điều khiển trực tiếp mômen 43 3.3 Ước lượng từ thông stator 47 3.3.1 Hiện tượng trôi tích phân hướng giải 47 3.3.2 Ước lượng từ thông Stator 51 3.4 Tổng hợp mạch vòng tốc độ 60 3.5 Rời rạc hóa hàm truyền liên tục 61 3.5.1 Rời rạc hóa lọc thông thấp 62 3.5.2 Rời rạc hóa PI 63 CHƯƠNG MÔ PHỎNG VÀ ĐÁNH GIÁ HỆ MC-DTC 69 4.1 Mô hình khâu tổng hợp dòng điện vào – điện áp 69 4.2 Mô hình khâu ước lượng từ thông – mômen 70 Các khối so sánh từ thông – mômen – sinφ 71 4.3.1 Ước lượng điều khiển giá trị trung bình sinφ 71 4.4 Khối chọn vector điện áp tối ưu 73 4.5 Ma trận van bán dẫn hai chiều 74 4.6 Sơ đồ mô tổng thể hệ thống MC – DTC 75 4.7 Các kết mô 77 4.7.1 Trường hợp 1: Động làm việc góc phần tư thứ 77 4.7.2 Trường hợp xảy trình đảo chiều 81 4.7.3 Động làm việc chế độ hãm tái sinh 81 4.7.4 Mô mạch vòng tốc độ 82 KẾT LUẬN 84 TÀI LIỆU THAM KHẢO 86 DANH MỤC CÁC BẢNG Bảng 2.1 Các tổ hợp van, vector dòng điện vào điện áp tương ứng 28 Bảng 2.2 Các trường hợp chuyển mạch pha A B 33 Bảng 3.1 Bảng lựa chọn vector điện áp theo luật DTC 43 Bảng 3.2 Bảng chọn tổ hợp van cho hệ MC-DTC 45 DANH MỤC CÁC HÌNH VẼ , ĐỒ THỊ Hình 1.1 Biến tần gián tiếp với điện trở hãm dập động 11 Hình 1.2 Biến tần gián tiếp với cầu Thyristor hãm tái sinh 12 Hình 1.3 Biến tần 4Q sử dụng chỉnh lưu tích cực đầu vào 13 Hình 1.4 Cấu hình MC 14 Hình 1.5 Một số cấu hình mạch lọc LC đầu vào 15 Hình 1.6 Sơ đồ pha lọc LC 15 Hình 1.7 Đặc tính tần số mạch lọc 17 Hình 1.8 Mạch hạn chế dòng nạp tụ Cf 17 Hình 1.9 Mạch bảo vệ áp dùng cầu diode kẹp 18 Hình 1.10 Đặc tính V-A Varistor 19 Hình 1.11 Bảo vệ áp Varistor 20 Hình 1.12 Sơ đồ cấu trúc mạch van Biến tần ma trận 20 Hình 1.13 Cấu tạo số loại van bán dẫn hai chiều 21 Hình 1.14 Các van hai chiều dùng IGBT: (a) C chung, (b) E chung 21 Hình 1.15 Ma trận van bán dẫn hai chiều tích hợp sẵn 21 Hình 1.16 Cấu trúc bên ma trận van BDS tích hợp 22 Hình 2.1 Sơ đồ nối dây mạch van 24 Hình 2.2 Sơ đồ nối dây tổ hợp van biến tần ma trận 28 Hình 2.3 (a): Vector không gian điện áp 30 (b): Vector không gian dòng điện đầu vào 30 Hình 2.4 (a): Ngắn mạch phía lưới 31 (b): Hở mạch phía tải……………… ………… …………………………………38 Hình 2.5 Sơ đồ mô tả trình chuyển mạch 31 Hình 2.6 Đồ thị tín hiệu điều khiển chuyển mạch 32 Hình 2.7 Logic chuyển mạch bước từ pha A sang B 33 Hình 2.8 Mô hình mô khối chuyển mạch bước 34 Hình 2.9 Kết mô khối chuyển mạch bước 36 Hình 3.1 Sự biến thiên vector từ thông stator 39 Hình 3.2 Quỹ đạo vector từ thông stator 39 Hình 3.3 Điều khiển từ thông stato khâu so sánh vị trí 40 Hình 3.4 Phương pháp điều khiển trực tiếp mômen quay 41 Hình 3.5 Bộ điều khiển mômen vị trí 41 Hình 3.6 Cấu trúc tổng quát hệ truyền động DTC 42 Hình 3.7 Phân bố điện áp sector 44 Hình 3.8 Bộ so sánh giá trị trung bình sin߮ 44 Hình 3.9 Đồ thị vector dòng đầu vào 45 Hình 3.10 Cấu trúc tổng quan hệ truyền động MC-DTC 46 Hình 3.11 Phép tích phân thành phần chiều 48 Hình 3.12 Phép tích phân có thành phần chiều 48 Hình 3.13 Sơ đồ khối khâu tích phân cải tiến 49 Hình 3.14 Sơ đồ khối tích phân với khâu phản hồi có hạn chế biên độ 49 Hình 3.15 Sơ đồ mô khối tích phân 50 Hình 3.16 So sánh kết tích phân tín hiệu có thành phần chiều 51 Hình 3.17 Mô hình khối ước lượng từ thông stator 52 Hình 3.18 Mô hình động với khâu ước lượng từ thông stator 53 Hình 3.19 Khâu ước lượng từ thông với lượng Offset = 53 Hình 3.20 Kết mô với Offset = 54 Hình 3.21 Kết mô với Offset = 54 Hình 3.22 Khi giá trị hạn chế bị sai lệch 55 Hình 3.23 Mô hình ước lượng từ thông stator với khâu bù thích nghi 56 Hình 3.24 Đồ thị vector mô tả mối quan hệ từ thông stator 57 Hình 3.25 Mô hình ước lượng từ thông với khâu bù thích nghi 57 Hình 3.26 Khâu ước lượng từ thông sử dụng cho động cấp nguồn sin pha 58 Hình 3.27 Ước lượng từ thông stator với mô hình động cấp nguồn sin pha 58 Hình 3.28 Ước lượng từ thông với động cấp nguồn từ biến tần SVM 59 Hình 3.29 Ước lượng từ thông động cấp nguồn biến tần SVM 59 Hình 3.30 Mô hình hệ DTC với mạch vòng điều khiển tốc độ 60 Hình 3.31 Tính xấp xỉ thành phần vi phân bậc 63 Hình 3.32 Xấp xỉ thành phần tích phân theo phương pháp hình chữ nhật 65 Hình 3.33 Xấp xỉ thành phần tích phân theo phương pháp hình thang 66 Hình 3.34 Bộ PI với khâu hạn chế biên độ chống bão hòa tích phân 67 Hình 4.1 Mô hình khâu tổng hợp dòng vào-điện áp 69 Hình 4.2 Ước lượng từ thông stator 70 Hình 4.3 Ước lượng mômen điện từ 70 Hình 4.4 Ước lượng vị trí biên độ từ thông stator 71 Hình 4.5 Ước lượng góc pha dòng đầu vào 71 Hình 4.6 Ước lượng góc pha điện áp vào 71 Hình 4.7 Ước lượng giá trị trung bình sinφ 72 Hình 4.9 Khâu so sánh mômen vị trí 72 Hình 4.10 Khối lựa chọn tổ hợp van tối ưu 73 Hình 4.11 Ma trận van BDS cấu trúc tổ hợp BDS 74 Hình 4.12 Sơ đồ mô tổng thể hệ MC – DTC 75 Hình 4.13 Sơ đồ tổng thể khối điều khiển bao gồm mạch vòng tốc độ 76 Hình 4.14 Đáp ứng mômen 77 Hình 4.15 Đáp ứng từ thông 78 Hình 4.16 Quỹ đạo từ thông stator 78 Hình 4.17 Dòng điện pha động 79 Hình 4.18 Dòng điện điện áp pha A phía lưới 79 Hình 4.19 Biên độ vector không gian điện áp pha đặt lên động 80 Hình 4.20 Đáp ứng mômen, dòng điện tốc độ động đảo chiều 81 Hình 4.21 Đáp ứng dòng điện điện áp pha A phía lưới 82 Hình 4.22 Đáp ứng tốc độ mômen động tải thay đổi 82 Hình 4.23 Đáp ứng dòng điện pha động tải thay đổi 83 LỜI NÓI ĐẦU Các biến tần công nghiệp chủ yếu có cấu trúc AC – DC – AC, có khâu trung gian chiều với tụ điện lớn làm kho tích trữ lượng Các biến tần có nhược điểm dòng đầu vào không sin, hệ số công suất không điều chỉnh dó công suất lắp đặt bị hạn chế, biến tần thông thường lại khả trao đổi công suất với lưới Để khắc phục nhược điểm biến tần truyền thống, nhiều cấu hình nghiên cứu, biến đổi dạng ma trận trường hợp cụ thể Với cấu trúc đặc biệt gồm tổ hợp van bán dẫn hai chiều, biến đổi dạng ma trận ứng dụng làm biến tần trực tiếp AC – AC mà không cần khâu trung gian chiều, tra39o đổi công suất với lưới, dòng đầu vào sin, hệ số công suất điều chỉnh Chính ưu điểm mà biến tần ma trận thu hút quan tâm nhà nghiên cứu, gọi biến tần thể kỷ 21 Với cấu trúc tương đối phức tạp, việc kết hợp biến đổi ma trận với phương pháp điều khiển động có cấu trúc thuật toán tương đối đơn giản điều khiển trực tiếp mômen giúp giảm khối lượng tính toán toàn hệ thống, phát huy mạnh áp đặt mômen nhanh thuật toán DTC tính linh hoạt biến đổi ma trận Đề tài: “Điều khiển trực tiếp mômen động không đồng biến tần kiểu ma trận” có nội dung sau: Chương : Tổng quan biến tần ma trận Chương : Mô hình toán học vấn đề chuyển mạch Chương : Biến tần ma trận hệ truyền động điều khiển trực tiếp mômen Chương 4: Mô đánh giá Trong trình thực luận văn, gặp nhiều khó khăn vấn đề chuyên môn, nhờ tận tình bảo hướng dẫn thầy giáo TS.Trần Trọng Minh, hoàn thành luận văn với kết mong muốn Tôi xin gửi lời cảm ơn chân thành tới thầy giáo TS Trần Trọng Minh tập thể thầy cô giáo môn Tự Động Hóa Xí Nghiệp Công Nghiệp, trường ĐH Bách Khoa HN Hà Nội, ngày tháng năm 2011 Học viên Nguyễn Mạnh Linh 10 { real_T *lasty = ssGetRWork(S); real_T *y = ssGetOutputPortRealSignal(S,0); *y=1; *lasty=*y; } #endif #define MDL_START #if defined(MDL_START) static void mdlStart(SimStruct *S) { } #endif static void mdlOutputs(SimStruct *S, int_T tid) { const real_T *u = (const real_T*) ssGetInputPortSignal(S,0); real_T *y = ssGetOutputPortSignal(S,0); real_T *lasty = ssGetRWork(S); if (C_Torque==-1&&Flux_Sector==1&&C_Flux==-1) Voltage_Vector=2; else if (C_Torque==-1&&Flux_Sector==2&&C_Flux==-1) Voltage_Vector=3; else if (C_Torque==-1&&Flux_Sector==3&&C_Flux==-1) Voltage_Vector=4; else if (C_Torque==-1&&Flux_Sector==4&&C_Flux==-1) Voltage_Vector=5; else if (C_Torque==-1&&Flux_Sector==5&&C_Flux==-1) Voltage_Vector=6; else if (C_Torque==-1&&Flux_Sector==6&&C_Flux==-1) Voltage_Vector=1; /****************************************************/ else if (C_Torque==0&&Flux_Sector==1&&C_Flux==-1) Voltage_Vector=7; else if (C_Torque==0&&Flux_Sector==2&&C_Flux==-1) Voltage_Vector=0; else if (C_Torque==0&&Flux_Sector==3&&C_Flux==-1) Voltage_Vector=7; else if (C_Torque==0&&Flux_Sector==4&&C_Flux==-1) Voltage_Vector=0; else if (C_Torque==0&&Flux_Sector==5&&C_Flux==-1) Voltage_Vector=7; else if (C_Torque==0&&Flux_Sector==6&&C_Flux==-1) Voltage_Vector=0; /****************************************************/ else if (C_Torque==1&&Flux_Sector==1&&C_Flux==-1) Voltage_Vector=6; else if (C_Torque==1&&Flux_Sector==2&&C_Flux==-1) Voltage_Vector=1; 88 else if (C_Torque==1&&Flux_Sector==3&&C_Flux==-1) Voltage_Vector=2; else if (C_Torque==1&&Flux_Sector==4&&C_Flux==-1) Voltage_Vector=3; else if (C_Torque==1&&Flux_Sector==5&&C_Flux==-1) Voltage_Vector=4; else if (C_Torque==1&&Flux_Sector==6&&C_Flux==-1) Voltage_Vector=5; /****************************************************/ else if (C_Torque==-1&&Flux_Sector==1&&C_Flux==1) Voltage_Vector=3; else if (C_Torque==-1&&Flux_Sector==2&&C_Flux==1) Voltage_Vector=4; else if (C_Torque==-1&&Flux_Sector==3&&C_Flux==1) Voltage_Vector=5; else if (C_Torque==-1&&Flux_Sector==4&&C_Flux==1) Voltage_Vector=6; else if (C_Torque==-1&&Flux_Sector==5&&C_Flux==1) Voltage_Vector=1; else if (C_Torque==-1&&Flux_Sector==6&&C_Flux==1) Voltage_Vector=2; /****************************************************/ else if (C_Torque==0&&Flux_Sector==1&&C_Flux==1) Voltage_Vector=0; else if (C_Torque==0&&Flux_Sector==2&&C_Flux==1) Voltage_Vector=7; else if (C_Torque==0&&Flux_Sector==3&&C_Flux==1) Voltage_Vector=0; else if (C_Torque==0&&Flux_Sector==4&&C_Flux==1) Voltage_Vector=7; else if (C_Torque==0&&Flux_Sector==5&&C_Flux==1) Voltage_Vector=0; else if (C_Torque==0&&Flux_Sector==6&&C_Flux==1) Voltage_Vector=7; /****************************************************/ else if (C_Torque==1&&Flux_Sector==1&&C_Flux==1) Voltage_Vector=5; else if (C_Torque==1&&Flux_Sector==2&&C_Flux==1) Voltage_Vector=6; else if (C_Torque==1&&Flux_Sector==3&&C_Flux==1) Voltage_Vector=1; else if (C_Torque==1&&Flux_Sector==4&&C_Flux==1) Voltage_Vector=2; else if (C_Torque==1&&Flux_Sector==5&&C_Flux==1) Voltage_Vector=3; else if (C_Torque==1&&Flux_Sector==6&&C_Flux==1) Voltage_Vector=4; else Voltage_Vector=*lasty; } #define MDL_UPDATE 89 #if defined(MDL_UPDATE) static void mdlUpdate(SimStruct *S, int_T tid) { real_T *y = ssGetOutputPortSignal(S,0); real_T *lasty = ssGetRWork(S); *lasty=*y; } #endif #define MDL_DERIVATIVES #if defined(MDL_DERIVATIVES) static void mdlDerivatives(SimStruct *S) { } #endif static void mdlTerminate(SimStruct *S) { } #ifdef MATLAB_MEX_FILE #include "simulink.c" #else #include "cg_sfun.h" #endif P2 Đoạn chương trình S-function Advanced_DTC #define S_FUNCTION_NAME Advance_DTC #define S_FUNCTION_LEVEL /*Input Define*/ #define Voltage_Vector u[0] #define C_Sin_Phis u[1] #define Input_PhaseVoltage_Sector u[2] #include "simstruc.h" static void mdlInitializeSizes(SimStruct *S) { ssSetNumSFcnParams(S, 0); /* Number of expected parameters */ if (ssGetNumSFcnParams(S) != ssGetSFcnParamsCount(S)) { /* Return if number of expected != number of actual parameters */ return; } ssSetNumContStates(S, 0); ssSetNumDiscStates(S, 0); if (!ssSetNumInputPorts(S, 1)) return; ssSetInputPortWidth(S, 0, 3); 90 ssSetInputPortRequiredContiguous(S, 0, true); /*direct input signal access*/ ssSetInputPortDirectFeedThrough(S, 0, 1); if (!ssSetNumOutputPorts(S, 1)) return; ssSetOutputPortWidth(S, 0, 1); ssSetNumSampleTimes(S, 1); ssSetNumRWork(S, 9); ssSetNumIWork(S, 0); ssSetNumPWork(S, 0); ssSetNumModes(S, 0); ssSetNumNonsampledZCs(S, 0); ssSetSimStateCompliance(S, USE_DEFAULT_SIM_STATE); ssSetOptions(S, 0); } static void mdlInitializeSampleTimes(SimStruct *S) { ssSetSampleTime(S, 0, CONTINUOUS_SAMPLE_TIME); ssSetOffsetTime(S, 0, 0.0); } #define MDL_INITIALIZE_CONDITIONS #if defined(MDL_INITIALIZE_CONDITIONS) static void mdlInitializeConditions(SimStruct *S) { real_T *lasty = ssGetRWork(S); real_T *y = ssGetOutputPortRealSignal(S,0); *y=22; *lasty=*y; } #endif #define MDL_START #if defined(MDL_START) static void mdlStart(SimStruct *S) { real_T *lasty = ssGetRWork(S); real_T *y = ssGetOutputPortRealSignal(S,0); *y=22; *lasty=*y; } #endif static void mdlOutputs(SimStruct *S, int_T tid) { const real_T *u = (const real_T*) ssGetInputPortSignal(S,0); real_T *y = ssGetOutputPortSignal(S,0); real_T *lasty = ssGetRWork(S); /***********************************************************************/ if (Input_PhaseVoltage_Sector==1&&C_Sin_Phis==1&&Voltage_Vector==1) { 91 *y=6; //-3 [1 0 0 0 1] } else if (Input_PhaseVoltage_Sector==1&&C_Sin_Phis==1&&Voltage_Vector==2) { *y=17; //+9 [1 0 0 0 1] } else if (Input_PhaseVoltage_Sector==1&&C_Sin_Phis==1&&Voltage_Vector==3) { *y=12; //-6 [0 1 0 0 1] } else if (Input_PhaseVoltage_Sector==1&&C_Sin_Phis==1&&Voltage_Vector==4) { *y=5; //+3 [0 1 0 0] } else if (Input_PhaseVoltage_Sector==1&&C_Sin_Phis==1&&Voltage_Vector==5) { *y=18; //-9 [0 0 1 0] } else if (Input_PhaseVoltage_Sector==1&&C_Sin_Phis==1&&Voltage_Vector==6) { *y=11; //+6 [1 0 0 1 0] } /***********************************************************************/ else if (Input_PhaseVoltage_Sector==1&&C_Sin_Phis==1&&Voltage_Vector==1) { *y=1; //+1 [1 0 0 0] } else if (Input_PhaseVoltage_Sector==1&&C_Sin_Phis==1&&Voltage_Vector==2) { *y=14; //-7 [1 0 0 0] } else if (Input_PhaseVoltage_Sector==1&&C_Sin_Phis==1&&Voltage_Vector==3) { *y=7; //+4 [0 1 0 0] } else if (Input_PhaseVoltage_Sector==1&&C_Sin_Phis==1&&Voltage_Vector==4) { *y=2; //-1 [0 1 0 0] } else if (Input_PhaseVoltage_Sector==1&&C_Sin_Phis==1&&Voltage_Vector==5) { 92 *y=13; //+7 [0 0 1 0] } else if (Input_PhaseVoltage_Sector==1&&C_Sin_Phis==1&&Voltage_Vector==6) { *y=8; //-4 [1 0 1 0] } /***********************************************************************/ else if (Input_PhaseVoltage_Sector==2&&C_Sin_Phis==1&&Voltage_Vector==1) { *y=3; //+2 [0 0 0 1] } else if (Input_PhaseVoltage_Sector==2&&C_Sin_Phis==1&&Voltage_Vector==2) { *y=16; //-8 [0 0 0 1] } else if (Input_PhaseVoltage_Sector==2&&C_Sin_Phis==1&&Voltage_Vector==3) { *y=9; //+5 [0 1 0 1] } else if (Input_PhaseVoltage_Sector==2&&C_Sin_Phis==1&&Voltage_Vector==4) { *y=4; //-2 [0 1 0 0] } else if (Input_PhaseVoltage_Sector==2&&C_Sin_Phis==1&&Voltage_Vector==5) { *y=15; //+8 [0 0 1 0] } else if (Input_PhaseVoltage_Sector==2&&C_Sin_Phis==1&&Voltage_Vector==6) { *y=10; //-5 [0 0 1 0] } /***********************************************************************/ else if (Input_PhaseVoltage_Sector==2&&C_Sin_Phis==1&&Voltage_Vector==1) { *y=6; //-3 [1 0 0 0 1] } else if (Input_PhaseVoltage_Sector==2&&C_Sin_Phis==1&&Voltage_Vector==2) { *y=17; //+9 [1 0 0 0 1] } 93 else if (Input_PhaseVoltage_Sector==2&&C_Sin_Phis==1&&Voltage_Vector==3) { *y=12; //-6 [0 1 0 0 1] } else if (Input_PhaseVoltage_Sector==2&&C_Sin_Phis==1&&Voltage_Vector==4) { *y=5; //+3 [0 1 0 0] } else if (Input_PhaseVoltage_Sector==2&&C_Sin_Phis==1&&Voltage_Vector==5) { *y=18; //-9 [0 0 1 0] } else if (Input_PhaseVoltage_Sector==2&&C_Sin_Phis==1&&Voltage_Vector==6) { *y=11; //+6 [1 0 0 1 0] } /***********************************************************************/ else if (Input_PhaseVoltage_Sector==3&&C_Sin_Phis==1&&Voltage_Vector==1) { *y=2; //-1 [0 1 0 0] } else if (Input_PhaseVoltage_Sector==3&&C_Sin_Phis==1&&Voltage_Vector==2) { *y=13; //+7 [0 0 1 0] } else if (Input_PhaseVoltage_Sector==3&&C_Sin_Phis==1&&Voltage_Vector==3) { *y=8; //-4 [1 0 1 0] } else if (Input_PhaseVoltage_Sector==3&&C_Sin_Phis==1&&Voltage_Vector==4) { *y=1; //+1 [1 0 0 0] } else if (Input_PhaseVoltage_Sector==3&&C_Sin_Phis==1&&Voltage_Vector==5) { *y=14; //-7 [1 0 0 0] } else if (Input_PhaseVoltage_Sector==3&&C_Sin_Phis==1&&Voltage_Vector==6) { *y=7; //+4 [1 0 1 0] 94 } /***********************************************************************/ else if (Input_PhaseVoltage_Sector==3&&C_Sin_Phis==1&&Voltage_Vector==1) { *y=3; //+2 [0 0 0 1] } else if (Input_PhaseVoltage_Sector==3&&C_Sin_Phis==1&&Voltage_Vector==2) { *y=16; //-8 [0 0 0 1] } else if (Input_PhaseVoltage_Sector==3&&C_Sin_Phis==1&&Voltage_Vector==3) { *y=9; //+5 [0 1 0 1] } else if (Input_PhaseVoltage_Sector==3&&C_Sin_Phis==1&&Voltage_Vector==4) { *y=4; //-2 [0 1 0 0] } else if (Input_PhaseVoltage_Sector==3&&C_Sin_Phis==1&&Voltage_Vector==5) { *y=15; //+8 [0 0 1 0] } else if (Input_PhaseVoltage_Sector==3&&C_Sin_Phis==1&&Voltage_Vector==6) { *y=10; //-5 [0 0 1 0] } /***********************************************************************/ else if (Input_PhaseVoltage_Sector==4&&C_Sin_Phis==1&&Voltage_Vector==1) { *y=5; //+3 [0 1 0 0] } else if (Input_PhaseVoltage_Sector==4&&C_Sin_Phis==1&&Voltage_Vector==2) { *y=18;//-9 [0 0 1 0] } else if (Input_PhaseVoltage_Sector==4&&C_Sin_Phis==1&&Voltage_Vector==3) { *y=11; //+6 [1 0 0 1 0] } 95 else if (Input_PhaseVoltage_Sector==4&&C_Sin_Phis==1&&Voltage_Vector==4) { *y=6; //-3 [1 0 0 0 1] } else if (Input_PhaseVoltage_Sector==4&&C_Sin_Phis==1&&Voltage_Vector==5) { *y=17; //+9 [1 0 0 0 1] } else if (Input_PhaseVoltage_Sector==4&&C_Sin_Phis==1&&Voltage_Vector==6) { *y=12; //-6 [0 1 0 0 1] } /***********************************************************************/ else if (Input_PhaseVoltage_Sector==4&&C_Sin_Phis==1&&Voltage_Vector==1) { *y=2; //-1 [0 1 0 0] } else if (Input_PhaseVoltage_Sector==4&&C_Sin_Phis==1&&Voltage_Vector==2) { *y=13; //+7 [0 0 1 0] } else if (Input_PhaseVoltage_Sector==4&&C_Sin_Phis==1&&Voltage_Vector==3) { *y=8; //-4 [1 0 1 0] } else if (Input_PhaseVoltage_Sector==4&&C_Sin_Phis==1&&Voltage_Vector==4) { *y=1; //+1 [1 0 0 0] } else if (Input_PhaseVoltage_Sector==4&&C_Sin_Phis==1&&Voltage_Vector==5) { *y=14; //-7 [1 0 0 0] } else if (Input_PhaseVoltage_Sector==4&&C_Sin_Phis==1&&Voltage_Vector==6) { *y=7; //+4 [0 1 0 0] } /***********************************************************************/ else if (Input_PhaseVoltage_Sector==5&&C_Sin_Phis==1&&Voltage_Vector==1) 96 { *y=4; //-2 [0 1 0 0] } else if (Input_PhaseVoltage_Sector==5&&C_Sin_Phis==1&&Voltage_Vector==2) { *y=15;//+8 [0 0 1 0] } else if (Input_PhaseVoltage_Sector==5&&C_Sin_Phis==1&&Voltage_Vector==3) { *y=10; //-5 [0 0 1 0] } else if (Input_PhaseVoltage_Sector==5&&C_Sin_Phis==1&&Voltage_Vector==4) { *y=3; //+2 [0 0 0 1] } else if (Input_PhaseVoltage_Sector==5&&C_Sin_Phis==1&&Voltage_Vector==5) { *y=16; //-8 [0 0 0 1] } else if (Input_PhaseVoltage_Sector==5&&C_Sin_Phis==1&&Voltage_Vector==6) { *y=9; //+5 [0 1 0 1] } /***********************************************************************/ else if (Input_PhaseVoltage_Sector==5&&C_Sin_Phis==1&&Voltage_Vector==1) { *y=5; //+3 [0 1 0 0] } else if (Input_PhaseVoltage_Sector==5&&C_Sin_Phis==1&&Voltage_Vector==2) { *y=18; //-9 [0 0 1 0] } else if (Input_PhaseVoltage_Sector==5&&C_Sin_Phis==1&&Voltage_Vector==3) { *y=11; //+6 [1 0 0 1 0] } else if (Input_PhaseVoltage_Sector==5&&C_Sin_Phis==1&&Voltage_Vector==4) { *y=6; //-3 [1 0 0 0 1] } else if (Input_PhaseVoltage_Sector==5&&C_Sin_Phis==1&&Voltage_Vector==5) 97 { *y=17; //+9 [1 0 0 0 1] } else if (Input_PhaseVoltage_Sector==5&&C_Sin_Phis==1&&Voltage_Vector==6) { *y=12; //-6 [0 1 0 0 1] } /***********************************************************************/ else if (Input_PhaseVoltage_Sector==6&&C_Sin_Phis==1&&Voltage_Vector==1) { *y=1; //+1 [1 0 0 0] } else if (Input_PhaseVoltage_Sector==6&&C_Sin_Phis==1&&Voltage_Vector==2) { *y=14;//-7 [1 0 0 0] } else if (Input_PhaseVoltage_Sector==6&&C_Sin_Phis==1&&Voltage_Vector==3) { *y=7; //+4 [0 1 0 0] } else if (Input_PhaseVoltage_Sector==6&&C_Sin_Phis==1&&Voltage_Vector==4) { *y=2; //-1 [0 1 0 0] } else if (Input_PhaseVoltage_Sector==6&&C_Sin_Phis==1&&Voltage_Vector==5) { *y=13; //+7 [0 0 1 0] } else if (Input_PhaseVoltage_Sector==6&&C_Sin_Phis==1&&Voltage_Vector==6) { *y=8; //-4 [1 0 1 0] } /***********************************************************************/ else if (Input_PhaseVoltage_Sector==6&&C_Sin_Phis==1&&Voltage_Vector==1) { *y=4; //-2 [0 1 0 0] } else if (Input_PhaseVoltage_Sector==6&&C_Sin_Phis==1&&Voltage_Vector==2) { *y=15; //+8 [0 0 1 0] 98 } else if (Input_PhaseVoltage_Sector==6&&C_Sin_Phis==1&&Voltage_Vector==3) { *y=10; //-5 [0 0 1 0] } else if (Input_PhaseVoltage_Sector==6&&C_Sin_Phis==1&&Voltage_Vector==4) { *y=3; //+2 [0 0 0 1] } else if (Input_PhaseVoltage_Sector==6&&C_Sin_Phis==1&&Voltage_Vector==5) { *y=16; //-8 [0 0 0 1] } else if (Input_PhaseVoltage_Sector==6&&C_Sin_Phis==1&&Voltage_Vector==6) { *y=9; //+5 [0 1 0 1] } else *y=*lasty; } #define MDL_UPDATE #if defined(MDL_UPDATE) static void mdlUpdate(SimStruct *S, int_T tid) { real_T *lasty = ssGetRWork(S); real_T *y = ssGetOutputPortRealSignal(S,0); *lasty=*y; } #endif #define MDL_DERIVATIVES #if defined(MDL_DERIVATIVES) static void mdlDerivatives(SimStruct *S) { } #endif static void mdlTerminate(SimStruct *S) { } #ifdef MATLAB_MEX_FILE #include "simulink.c" #else #include "cg_sfun.h" 99 #endif P3 Đoạn chương trình thực S-function tổng hợp dòng điện vào điện áp ra: #define S_FUNCTION_NAME TongHopDongDien_DienAp #define S_FUNCTION_LEVEL /*Input #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define Define*/ M_Aa u[0] M_Ba u[1] M_Ca u[2] M_Ab u[3] M_Bb u[4] M_Cb u[5] M_Ac u[6] M_Bc u[7] M_Cc u[8] I_a u[9] I_b u[10] I_c u[11] U_AB u[12] U_BC u[13] U_CA u[14] /*Output define*/ #define I_A y[0] #define I_B y[1] #define I_C y[2] #define U_ab y[3] #define U_bc y[4] #define U_ca y[5] #include "simstruc.h" static void mdlInitializeSizes(SimStruct *S) { ssSetNumSFcnParams(S, 0); /* Number of expected parameters */ if (ssGetNumSFcnParams(S) != ssGetSFcnParamsCount(S)) { return; } ssSetNumContStates(S, 0); ssSetNumDiscStates(S, 0); if (!ssSetNumInputPorts(S, 1)) return; ssSetInputPortWidth(S, 0, 15); ssSetInputPortRequiredContiguous(S, 0, true); ssSetInputPortDirectFeedThrough(S, 0, 1); 100 if (!ssSetNumOutputPorts(S, 1)) return; ssSetOutputPortWidth(S, 0, 6); ssSetNumSampleTimes(S, 1); ssSetNumRWork(S, 0); ssSetNumIWork(S, 0); ssSetNumPWork(S, 0); ssSetNumModes(S, 0); ssSetNumNonsampledZCs(S, 0); ssSetSimStateCompliance(S, USE_DEFAULT_SIM_STATE); ssSetOptions(S, 0); } static void mdlInitializeSampleTimes(SimStruct *S) { ssSetSampleTime(S, 0, CONTINUOUS_SAMPLE_TIME); ssSetOffsetTime(S, 0, 0.0); } #define MDL_INITIALIZE_CONDITIONS #if defined(MDL_INITIALIZE_CONDITIONS) static void mdlInitializeConditions(SimStruct *S) { } #endif #define MDL_START #if defined(MDL_START) static void mdlStart(SimStruct *S) { } #endif static void mdlOutputs(SimStruct *S, int_T tid) { const real_T *u = (const real_T*) ssGetInputPortSignal(S,0); real_T *y = ssGetOutputPortSignal(S,0); double m_Aa, m_Ab, m_Ac, m_Ba, m_Bb, m_Bc, m_Ca, m_Cb, m_Cc; m_Ab=(M_Aa-M_Ab)/3-(M_Ba-M_Bb)/3; m_Bb=(M_Ba-M_Bb)/3-(M_Ca-M_Cb)/3; m_Cb=(M_Ca-M_Cb)/3-(M_Aa-M_Ab)/3; m_Ac=(M_Ab-M_Ac)/3-(M_Bb-M_Bc)/3; m_Bc=(M_Bb-M_Bc)/3-(M_Cb-M_Cc)/3; 101 m_Cc=(M_Cb-M_Cc)/3-(M_Ab-M_Ac)/3; m_Aa=(M_Ac-M_Aa)/3-(M_Bc-M_Ba)/3; m_Ba=(M_Bc-M_Ba)/3-(M_Cc-M_Ca)/3; m_Ca=(M_Cc-M_Ca)/3-(M_Ac-M_Aa)/3; //tong hop dong dau vao I_A=M_Aa*I_a+M_Ab*I_b+M_Ac*I_c; I_B=M_Ba*I_a+M_Bb*I_b+M_Bc*I_c; I_C=M_Ca*I_a+M_Cb*I_b+M_Cc*I_c; //tong hop dien ap day dau U_ab=m_Ab*U_AB+m_Bb*U_BC+m_Cb*U_CA; U_bc=m_Ac*U_AB+m_Bc*U_BC+m_Cc*U_CA; U_ca=m_Aa*U_AB+m_Ba*U_BC+m_Ca*U_CA; } #define MDL_UPDATE #if defined(MDL_UPDATE) static void mdlUpdate(SimStruct *S, int_T tid) { } #endif /* MDL_UPDATE */ #define MDL_DERIVATIVES #if defined(MDL_DERIVATIVES) static void mdlDerivatives(SimStruct *S) { } #endif static void mdlTerminate(SimStruct *S) { } #ifdef MATLAB_MEX_FILE #include "simulink.c" #else #include "cg_sfun.h" #endif 102 ... đặt m men nhanh thuật toán DTC tính linh hoạt biến đổi ma trận Đề tài: Điều khiển trực tiếp m men động không đồng biến tần kiểu ma trận có nội dung sau: Chương : Tổng quan biến tần ma trận. .. BIẾN TẦN MA TRẬN VÀ HỆ TRUYỀN ĐỘNG ĐIỀU KHIỂN TRỰC TIẾP MÔ MEN 38 3.1 Cơ sở lý thuyết phương pháp DTC 38 3.1.1 Điều khiển từ thông stator 38 3.1.2 Điều khiển m men. .. cứu hệ truyền động biến tần ma trận – điều khiển trực tiếp m men Do chưa có điều kiện thực hành, mục tiêu luận văn dừng mức mô hình hóa đánh giá thuật toán điều khiển hệ truyền động Tuy nhiên

Ngày đăng: 19/07/2017, 22:16

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1.Võ Minh Chính, Phạm Quốc Hải, Trần Trọng Minh (2004), Điện tử công suất, Nhà xuất bản khoa học và kỹ thuật, Hà Nội Sách, tạp chí
Tiêu đề: i"ệ"n t"ử" công su"ấ"t
Tác giả: Võ Minh Chính, Phạm Quốc Hải, Trần Trọng Minh
Nhà XB: Nhà xuất bản khoa học và kỹ thuật
Năm: 2004
2. Trần Trọng Minh(2003), Phương pháp biến điệu vector không gian trong biến tần kiểu ma trận Matrix Converter Sách, tạp chí
Tiêu đề: Ph"ươ"ng pháp bi"ế"n "đ"i"ệ"u vector không gian trong bi"ế"n t"ầ"n ki"ể"u ma tr"ậ
Tác giả: Trần Trọng Minh
Năm: 2003
3. Trần Trọng Minh (2003), Vấn đề điều khiển chuyển mạch trong biến tần kiểu ma trận Matrix Converter.Tiếng Anh Sách, tạp chí
Tiêu đề: V"ấ"n "đề đ"i"ề"u khi"ể"n chuy"ể"n m"ạ"ch trong bi"ế"n t"ầ"n ki"ể"u ma tr"ậ"n Matrix Converter
Tác giả: Trần Trọng Minh
Năm: 2003
5. Domenico Casadei, Giovanni Serra, and Angelo Tani (2001), The Use of Matrix Converters in Direct Torque Control of Induction Machines, IEEE Transctions on industrial electronics, Vol. 48, No. 6, December 2001 Sách, tạp chí
Tiêu đề: The Use of Matrix Converters in Direct Torque Control of Induction Machines
Tác giả: Domenico Casadei, Giovanni Serra, and Angelo Tani
Năm: 2001
6. Patrick W. Wheeler, José Rodríguez, Senior Member, Jon C. Clare, Matrix Converters: A Technology Review, IEEE Transctions on industrial electronics, Vol. 49, No. 2, April 2002 Sách, tạp chí
Tiêu đề: Matrix Converters: A Technology Review
8. Hongwu She, Student Member, IEEE, Hua Lin, Xingwei Wang, and Limin Yue (2009), Damped input filter design of matrix converter, Huazhong University of Sicience and Technology Sách, tạp chí
Tiêu đề: Damped input filter design of matrix converter
Tác giả: Hongwu She, Student Member, IEEE, Hua Lin, Xingwei Wang, and Limin Yue
Năm: 2009
9. H. Altun’ S. Sunter (2003), Matrix converter induction motor drive: modeling, simulation and control, Original Papre Sách, tạp chí
Tiêu đề: Matrix converter induction motor drive: modeling, simulation and control
Tác giả: H. Altun’ S. Sunter
Năm: 2003
10. Jun Hu anh Bin Wu (1998), New integration algorithms for estimating motor flux over a wide speed range, IEEE transaction on power electronics, vol. 13, NO. 5 Sách, tạp chí
Tiêu đề: New integration algorithms for estimating motor flux over a wide speed range
Tác giả: Jun Hu anh Bin Wu
Năm: 1998
11. Bimal K.Bose (2002), Modern Power Electronics and AC Driver, Prentice Hall PTR Sách, tạp chí
Tiêu đề: Modern Power Electronics and AC Driver
Tác giả: Bimal K.Bose
Năm: 2002
4. Carlos Ortega, Antoni Arias, Josep Ballcells (2001), The Use of Small Voltage Vectors of Matrix Converters in Direct Torque Control of Induction Machines Khác
7. Finn Haugen (2008), Derivation of a Discrete – Time Lowpass Filter Khác

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w