Nghiên cứu ứng dụng bộ biến đổi nghịch lưu nguồn z nối lưới cho điện mặt trời

113 344 0
Nghiên cứu ứng dụng bộ biến đổi nghịch lưu nguồn z nối lưới cho điện mặt trời

Đ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

====o0o==== BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Đào Việt Anh NGHIÊN CỨU ỨNG DỤNG BỘ BIẾN ĐỔI NGUỒN Z NỐI LƯỚI CHO ĐIỆN MẶT TRỜI Chuyên ngành: Điều khiển tự động hóa LUẬN VĂN THẠC SỸ KỸ THUẬT ĐIỀU KHIỂN VÀ TỰ ĐỘNG HÓA NGƯỜI HƯỚNG DẪN PGS.TS Bùi Quốc Khánh Hà Nội - 2015 LỜI CAM ĐOAN Tôi xin cam đoan luận văn tốt nghiệp: Nghiên cứu ứng dụng biến đổi nghịch lưu nguồn Z nối lưới cho điện mặt trời tự nghiên cứu hướng dẫn giảng viên PGS.TS Bùi Quốc Khánh Các số liệu kết hoàn toàn với thực tế Để hoàn thành luận văn 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 chịu hoàn toàn trách nhiệm Hà Nội, ngày 10 tháng năm 2015 Học viên Đào Việt Anh MỤC LỤC LỜI CAM ĐOAN i DANH MỤC HÌNH VẼ i DANH MỤC BẢNG SỐ LIỆU ii DANH MỤC TỪ VIẾT TẮT iii LỜI NÓI ĐẦU Chương TỔNG QUAN 1.1 Giới thiệu chung nguồn lượng tái tạo xu phát triển lượng tái tạo 1.2 Tình hình sử dụng điện mặt trời 1.3 Tiềm khai thác lượng mặt trời Việt Nam 1.4 Cấu hình chung hệ lượng mặt trời tham gia mạng điện 1.5 Yêu cầu nối lưới hệ thống điện mặt trời 1.6 Bộ nghịch lưu nguồn Z 1.6.1 Giới thiệu chung nghịch lưu nguồn Z 1.6.2 Nguyên lý làm việc nghịch lưu nguồn Z 10 1.7 Kết luận chương 14 Chương ĐIỀU CHẾ VECTOR KHÔNG GIAN VÀ MÔ HÌNH TOÁN HỌC CỦA NGHỊCH LƯU NGUỒN Z 15 2.1 Các phương pháp điều chế độ rộng xung cho nghịch lưu pha nguồn Z 15 2.2 Phương pháp điều chế vector không gian cho nghịch lưu nguồn Z 15 2.2.1 Giải pháp thực điều chế vector không gian 15 2.2.2 Giới hạn vùng làm việc nghịch lưu nguồn Z pha 21 2.3 Mô hình toán học nghịch lưu nguồn Z 23 2.3.1 Mô hình nghịch lưu nguồn Z phía xoay chiều 23 2.3.2 Mô hình nghịch lưu nguồn Z phía chiều với đầu vào nguồn áp 25 2.4 Tính toán thông số L C cho nguồn Z 29 2.5 Kết luận chương 30 Chương PIN NĂNG LƯỢNG MẶT TRỜI 31 VÀ THUẬT TOÁN TÌM ĐIỂM CÔNG SUẤT CỰC ĐẠI (MPPT) 31 3.1 Pin lượng mặt trời 31 3.1.1 Giới thiệu 31 3.1.2 Mô hình hóa pin lượng mặt trời 32 3.2 Thuật toán tìm điểm công suất cực đại (MPPT) 35 3.2.1 Thuật toán nhiễu theo dõi (Perturb and Observe) 36 3.2.2 3.2.3 3.2.4 3.2.5 Thuật toán tăng độ dẫn điện (Incremental Conductance) 39 Thuật toán tụ ký sinh 41 Theo dõi điện áp điều khiển lớn 41 Theo dõi dòng điện điều khiển lớn 41 Chương THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN 42 4.1 Cấu trúc tổng quát 42 4.2 Thiết kế mạch vòng điều khiển điện áp tụ phía chiều 43 4.3 Thiết kế điều khiển phía xoay chiều 47 4.4 Thiết kế PLL 51 4.5 Kết luận chương 53 Chương MÔ PHỎNG BỘ NGHỊCH LƯU NGUỒN Z VÀ HỆ THỐNG ĐIỀU KHIỂN 54 5.1 Mô hệ thống Matlab – Simulink 54 5.2 Mô mô hình tương đương phần chiều 54 5.3 Mô mô hình nghịch lưu nguồn Z nối lưới với nguồn chiều 56 5.4 Mô hệ thống điều khiển nghịch lưu nguồn Z nối lưới pin mặt trời 61 Kết mô nhiệt độ đầu vào thay đổi 66 Kết mô cường độ ánh sáng thay đổi 71 5.5 Kết luận chương 76 Chương XÂY DỰNG MÔ HÌNH THỰC NGHIỆM XỬ DỤNG VI XỬ LÍ TMS 320F2812 77 6.1 Chuẩn hóa cấu trúc điều khiển khối điều chế vector không gian SVM 77 6.1.1 Lý cần chuẩn hóa 77 6.1.2 Chuẩn hóa điều khiển điện áp tụ 77 6.1.3 Chuẩn hóa điều chỉnh dòng sau nghịch lưu 78 6.1.4 Chuẩn hóa điều chỉnh điện áp tải 79 4.1.5 Chuẩn hóa khối SVM 80 6.2 Lập trình DSP 82 6.2.1 Lưu đồ thuật toán 82 6.2.2 Cấu trúc lập trình DSP 83 6.3 Kết thực nghiệm 89 KẾT LUẬN 92 TÀI LIỆU THAM KHẢO 93 Danh mục hình vẽ DANH MỤC HÌNH VẼ Hình 1.1 Nhu cầu lượng giới Hình 1.2 Tiêu thụ dạng lượng giới Hình 1.3 Sự phát triển sử dụng lượng mặt trời Hình 1.4 Các nước dẫn đầu sử dụng lượng mặt trời Hình 1.5 Cấu hình chung hệ lượng mặt trời tham gia mạng điện Hình 1.6 Bộ nghịch lưu nguồn Z ba pha Hình 1.7 Mạch điện tương đương phía chiều NLNZ trạng thái 11 Hình 1.8 Mạch điện tương đương phía chiều NLNZ trạng thái (Trạng thái vector tích cực) 11 Hình 1.9 Mạch điện tương đương phía chiều NLNZ trạng thái (Trạng thái vector không) 12 Hình 1.10 Mạch điện tương đương phía chiều NLNZ trạng thái 13 Hình 1.11 Mạch điện tương đương phía chiều NLNZ trạng thái 13 Hình 1.12 Mạch điện tương đương phía chiều NLNZ trạng thái 14 Hình 2.1 Vị trí vector chuẩn hệ tọa độ tĩnh αβ 16 Hình 2.2 Thuật toán xác định vector điện áp đặt sector 16 Hình 2.3 Thực vector điện áp từ hai vector biên 17 Hình 2.4 Mẫu xung van sector 19 Hình 2.5 Giới hạn làm việc nghịch lưu nguồn Z 22 Hình 2.6 Mô hình NLNZ nối lưới 23 Hình 2.7 Sơ đồ tương đương với khóa đóng cắt 25 Hình 2.8 Trạng thái tích cực 26 Hình 2.9 Trạng thái trùng dẫn 27 Hình 2.10 Mô hình mạch tín hiệu nhỏ tương đương tải cảm kháng RL 28 Hình 2.11 Sự thay đổi tuyến tính điện áp tụ (a) dòng điện qua cuộn cảm (b) 29 Hình 3.1 Đường đặc tính IV PV pin mặt trời 31 i Danh mục hình vẽ Hình 3.2 Mô hình cell PV 32 Hình 3.3 Mô hình cell PV đơn giản 32 Hình 3.4 Mô hình PV array 33 Hình 3.5 Thuật toán tìm điểm công suất cực đại 35 Hình 3.6 Thuật toán nhiễu theo dõi (Perturb and Observe) 36 Hình 3.7 Sơ đồ thuật toán nhiễu theo dõi (Perturb and Observe) 36 Hình 3.8 Tracking công suất điều kiện môi trường thay đổi nhanh 37 Hình 3.9 Thuật toán P&O so sánh trọng lượng điểm 38 Hình 3.10 Thuật toán tăng độ dẫn điện 39 Hình 3.11 Sơ đồ khối thuật toán tăng độ dẫn điện 40 Hình 4.1 Cấu trúc điều khiển tổng quát nghịch lưu nguồn Z nối lưới dành cho hệ phát điện lượng mặt trời 42 Hình 4.2 Xác định độ dự trữ biên độ độ dự trữ pha từ đồ thị bode 45 Hình 4.3 Đồ thị bode vòng hở mạch vòng hở có hàm truyền k p * Gi ( s ) 46 Hình 4.4 Đồ thị bode vòng hở mạch vòng điện áp Uc 47 Hình 4.5 Mô hình đối tượng hệ trục tọa độ dq 48 Hình 4.6 Cấu trúc mạch vòng dòng điện 49 Hình 4.7 Sơ đồ khối hệ thống thu gọn 50 Hình 4.8 Sơ đồ khối mạch vòng dòng điện 50 Hình 4.9 Sơ đồ điều khiển dòng điện sau tách kênh 51 Hình 4.10 Cấu trúc khối đồng với điện áp lưới PLL 52 Hình 4.11 Sơ đồ đơn giản mạch vòng điều chỉnh góc pha PLL 52 Hình 5.1 Điện áp tụ C 55 Hình 5.2 Dòng qua điện cảm 55 Hình 5.3 Hệ số “ ngắn mạch ” 55 Hình 5.4 Mô hình nghịch lưu nguồn Z nối lưới với nguồn chiều không đổi 56 Hình 5.5 Mạch lực mô hình nghịch lưu nguồn Z nối lưới với nguồn chiều không đổi 57 Hình 5.6 Mô hình điều khiển phần mạch chiều 57 ii Danh mục hình vẽ Hình 5.7 Mô hình điều khiển phần xoay chiều 58 Hình 5.8 Điện áp tụ C 58 Hình 5.10 Dòng điện NLNZ khoảng thời gian 0.4s đến 0.5s 59 Hình 5.11 Dòng cuộn cảm L 60 Hình 5.12 Hệ số “ ngắn mạch ” 60 Hình 5.13 Hệ số công suất 61 Hình 5.14 Sơ đồ cấu trúc toàn hệ thông PV nối lưới 62 Hình 5.15 Sơ đồ mạch lực 62 Hình 5.16 Cấu trúc khâu MPPT 63 Hình 5.18 Sơ đồ cấu trúc điều khiển phía xoay chiều 65 Hình 5.19 Sơ đồ cấu trúc điều khiển dòng phía xoay chiều 65 Hình 5.20 Isd, Isq Controller 66 Hình 5.21 Bộ PLL 66 Hình 5.22 Đồ thị nhiệt độ vào hệ thống pin 67 Hình 5.23 Đồ thị so sánh dòng điện Ipv dòng điện iL chảy qua cuộn cảm L1 67 Hình 5.24 Đồ thi điện áp tụ 68 Hình 5.25 Đồ thị điện áp đầu vào mạch nghịch lưu 68 Hình 5.26 Đồ thị phóng to điện áp đầu vào mạch nghịch lưu 68 Hình 5.27 Đồ thi hệ số shoot – through 69 Hình 5.28 Đồ thị điện áp lưới dòng điện sau nghịch lưu 69 Hình 5.29 Đồ thị dòng điện sau nghịch lưu 69 Hình 5.30 Đồ thị dòng công suất tác dụng đưa lưới 70 Hình 5.31 Đồ thi dòng công suất phản kháng 70 Hình 5.32 Phân tích phổ tín hiệu dòng điện điện áp đầu mạch nghịch lưu 71 Hình 5.33 Đồ thị cường độ ánh sáng vào hệ thống pin 71 Hình 5.34 Đồ thị điện áp UPV hệ thống pin 72 Hình 5.35 Đồ thị so sánh dòng điện Ipv dòng điện iL chảy qua cuộn cảm L1 72 Hình 5.36 Đồ thị điện áp tụ 73 iii Danh mục hình vẽ Hình 5.37 Đồ thi điện áp đầu vào mạch nghịch lưu 73 Hình 5.38 Đồ thi phóng to điện áp đầu vào mạch nghịch lưu 73 Hình 5.39 Đồ thị hệ số shoot – through 74 Hình 5.40 Đồ thị điện áp lưới dòng điện sau nghịch lưu 74 Hình 5.41 Đồ thị dòng điện sau nghịch lưu 75 Hình 5.42 Đồ thi dòng công suất tác dụng đưa lưới 75 Hình 5.43 Đồ thị dòng công suất phản kháng đưa lưới 75 Hình Lưu đồ cài đặt thuật toán cho DSP 82 Hình 6.2 Cấu trúc lập trình DSP 83 Hình 6.3 Khởi tạo tần số xung nhịp hệ thống 84 Hình 6.4 Khởi tạo tần số xung nhịp cho đếm GPTimer1 EVA 85 Hình 6.5 Khối Compare Units Block 86 Hình 6.6 Up/Down counting mode 86 Hình 6.7 Lựa chọn tần số trính mẫu 88 Hình 6.8 Cấu trúc thực nghiệm 89 Hình 6.9 Mô hình hệ thống thực tế 89 Hình 6.10 Kết chạy thực nghiệm 91 iv Danh mục bảng số liệu DANH MỤC BẢNG SỐ LIỆU Bảng 1.1 Tiêu chuẩn IEEE 1547 cho hệ thống PV điện áp thay đổi Bảng 1.2 Tiêu chuẩn IEEE 1547 cho hệ thống PV tần số thay đổi Bảng 1.3 Giới hạn thành phần sóng hài dòng điện theo tiêu chuẩn IEEE 1547 Bảng 2.1 Bảng chọn hai vector biên chuẩn 18 Bảng 2.2 Tỷ số thời gian đóng cắt sector 20 Bảng 5.1 Tham số mô mô hình mạch chiều 54 Bảng 5.2 Tham số mô mạch với nguồn chiều không đổi 56 Bảng 5.3 Tham số mô ZSI 61 Bảng 5.4 Tham số mô điều khiển phía chiêu hệ PV 63 Bảng 5.5 Tham số mô phía xoay chiều 64 Bảng 1.Các hệ số điều khiển điện áp tụ C sau chuẩn hóa 78 Bảng Các hệ số điều khiển áp xoay chiều sau chuẩn hóa 80 ii Danh mục từ viết tắt DANH MỤC TỪ VIẾT TẮT NLNZ Nghịch lưu nguồn Z Z-Source Inverter PV Pin mặt trời Photovoltaics MPPT Thuật toán xác định điểm làm việc có công xuất lớn Maximum power point tracking ĐCVTKG Điều chế vector không gian Space Vector Modulation DSP Xử lý tín hiệu số Digital Signal Processing IGBT Van điều khiển hoàn toàn IGBT Insulated Gate Bipolar Transistor DC Dòng chiều Direct Current EMI Nhiễu điện tử Electron Magnetic Interference PLL Vòng khóa pha Phase locked Loop HSCS Hệ số công suất MBA Máy biến áp Transformer ADC Chuyển đổi tương tự sang số Analoge to Digital Converter iii Chương Mô nghịch lưu nguồn Z hệ thống điều khiển 6.3 Kết thực nghiệm Z-source Inverter L1 380V / 50Hz S1 C1 S3 S5 C2 Zt L S4 L L S6 S2 C L2 iL 15VDC C ut Uc Driver EXB 840 Mạch đo lường Fault VDC C PWM DSP TMS 320 ADC JTAG XDS 510 USB Hình 6.8 Cấu trúc thực nghiệm Hình 6.9 Mô hình hệ thống thực tế 89 15 VDC Chương Mô nghịch lưu nguồn Z hệ thống điều khiển Tham số thực nghiệm : Nguồn Z L = 1,4 mH , C =235 uF van IGBT FGA25N120 Tải inverter R = 64 ohm/ pha Vdc 65 V Lf =0.8mH, Cf=40uF Điện áp chiều tụ 160 VDC Diode MUR3060 Điện áp dây đỉnh tải 150 VAC Driver EXB 840 Lọc đầu nghịch lưu  Kết thực nghiệm ZSI ba pha Tỉ số biến điệu (Graph F2812) Mẫu xung nhánh van Điện áp Udc UC Điện áp UC điện áp Ui đặt lên Inverter 90 Chương Mô nghịch lưu nguồn Z hệ thống điều khiển Điện áp đầu nghịch lưu ZSI Điện áp dây tải I inverter 50 us 200 us I tải Dòng điện Inverter dòng tải Thời gian thực tính toán Hình 6.10 Kết chạy thực nghiệm 6.4 Kết luận chương : Kết nhận từ thực nghiệm hệ thống xây dựng cho thấy tính đắn thuật toán điều khiển cho nguồn Z source inverter 91 Kết luận KẾT LUẬN Trong khuôn khổ luận văn, sau tìm hiểu phân tính vai trò thiết bị điện tử công suất hệ nguồn phân tán, đặc biệt hệ nguồn lượng mặt trời, phân tích yêu cầu, tính cấp bách cần có nguồn chất lượng tốt cho hệ nguồn phát dùng lượng tái tạo Luận văn đưa cấu hình nghịch lưu nguồn Z ứng dụng cho nguồn lượng mặt trời Những đóng góp luận văn: Đưa giải pháp điều chế vector không gian ứng dụng cho nghịch lưu nguồn Z pha Mô hình hóa nghịch lưu nguồn Z với nguồn sơ cấp đầu vào nguồn áp Thiết kế điều chỉnh ổn định điện áp tụ (C1&C2) số Đối với ứng dụng biến đổi dùng nguồn đầu vào lượng mặt trời, xây dựng mạch vòng phía xoay chiều để đảm bảo ổn định điện áp xoay chiều tải chế độ làm việc độc lập điều khiển trình trao đổi công suất chế độ làm việc nối lưới Mô hệ thống Matlab – Simulink Đề xuất hướng nghiên cứu tiếp theo: Nghiên cứu tính ổn định hệ thống điều khiển NLNZ tải thay đổi bất thường, cân hay lưới điện xuất trạng thái không bình thường với NLNZ nối lưới 92 Tài liệu tham khảo TÀI LIỆU THAM KHẢO [1] Ali Keyhani, Mohammad N.Marwali, Min Dai (2010), Intergration of Green and Renewable energy in electric power systems, John Wiley & Sons, Inc., Hoboken, New Jersey [2] BinWu (2006), High – power Converter and ac Drives, The intitute of Electrical and Electronic Engineers Inc [3] Fang Zheng Peng (2003) “Z-source inverter”, IEEE Transactions on Industry Applications, pp 504-510, vol.39, no.2, March/April, 2003 [4] Gokhan Sen (2008),Voltage and Current progammed mode in control of the Zsource Inverter, The graduate Falcuty of the University of Akron, In partial Fulfillment of the requirements for the Degree Master of Science [5] Jingbo Liu, Jiangang Hu and longya Xu (2007) , “Dynamic modeling and Analysis of Z Source Converter – Derivation of AC Small Signal model and Design – Oriented Analysis”, IEEE Transactions on power electronics , vol.22 ,No.5 , September 2007 [6] Trần Trọng Minh (2008), Giáo trình điện tử công suất dung cho trường cao đẳng, trung cấp chuyên nghiệp –dạy nghề, Nhà xuất giáo dục [7] Moritz von Zimmermann, Martin Lechler, Bernhard Piepenbreier (2009), “Zsource drive inverter using modified SVPWM for low Output Voltage and regenerating Operation”, European Conference on Power Electronics and Applications, pp.1-10 [8] Omar Ellabban, Student member IEEE ,Joeri Van Mierlo and Philippe Lataire (2009), “Voltage Mode and Current Control for a 30 kHz High- performance Zsource Inverter”, IEEE Electric power & Energy Conference ,978-1-4244-4509 7,September-seventh- 2009 [9] Nguyễn Phùng Quang (2006) , Truyền động điện thông minh, Nhà xuất khoa học kỹ thuật Hà Nội Tài liệu tham khảo [10] Remus Teodorescu, Marco Liserre, Pedro Rodríıguez (2011), Grid converters for photovoltaic and wind power systems, 2011 John Wiley & Sons, Ltd [11] Robinson F de Camargo, Humberto Pinheiro (2005), “Comparison of Six Digital Current Control Techniques for Three-Phase Voltage-Fed PWM Converters Connected to the Utility Grid”, Conference on Power Electronics Specialists, pp.1422 - 1428 [12] Ryszard Strzelecki, Grzegorz Benysek (2008), Power electronics in Smart electrical Energy network, Spinger [13] Shuitao Yang, Xinping Ding, Fan Zhang, F.Z.Peng and Zhaoming Qian (2008), “Unifed Control Technique for Z - Source Inverter”, Conference on Power Electronics Specialists , pp 3236 – 3242 [14] S.Thangaprakash and A.Krishnan, “Modifiled Space Vector pulse Width Modulation for Z-Source Inverters”, International Journal of Recent Trends in Engineering , Vol2, No6, November 2009 Phụ lục PHỤ LỤC Phụ lục : Code mô MPPT #define S_FUNCTION_NAME mppt_IC #define S_FUNCTION_LEVEL #include "simstruc.h" #include #define U(element) (*uPtrs[element]) /* Pointer to Input Port0 */ #define NUM_PAR #define SAMPLE_TIME (mxGetPr(ssGetSFcnParam(S, 0))[0]) /*********************************************************/ static void mdlInitializeSizes(SimStruct *S) { ssSetNumSFcnParams(S, NUM_PAR); if (ssGetNumSFcnParams(S) != ssGetSFcnParamsCount(S)) { return; } ssSetNumContStates( S, 0); ssSetNumDiscStates( S, 0); ssSetNumInputPorts( S, 1); ssSetNumOutputPorts( S, 1); ssSetInputPortWidth( S, 0, 6); ssSetOutputPortWidth( S, 0, 1); ssSetInputPortDirectFeedThrough( S, 0, 1); ssSetNumSampleTimes( S, 1); ssSetNumIWork( S, 0); ssSetNumRWork( S, 0); ssSetNumPWork( S, 0); } /********************************************/ static void mdlInitializeSampleTimes(SimStruct *S) { real_T sampleTime = (real_T) SAMPLE_TIME; /* set sample time from parameter list */ if (sampleTime == -1.0) /* inherited */ { ssSetSampleTime(S, 0, INHERITED_SAMPLE_TIME); ssSetOffsetTime(S, 0, FIXED_IN_MINOR_STEP_OFFSET); } else if ((sampleTime == 0.0)) /* continuous */ { ssSetSampleTime(S, 0, CONTINUOUS_SAMPLE_TIME); ssSetOffsetTime(S, 0, FIXED_IN_MINOR_STEP_OFFSET); } else /* discrete */ Phụ lục { ssSetSampleTime(S, 0, sampleTime); ssSetOffsetTime(S, 0, 0.0); } } /****************************************/ #define MDL_INITIALIZE_CONDITIONS #if defined(MDL_INITIALIZE_CONDITIONS) static void mdlInitializeConditions(SimStruct *S) { } #endif /********************************************/ static void mdlOutputs(SimStruct *S, int_T tid) { real_T *y = ssGetOutputPortRealSignal(S,0); InputRealPtrsType uPtrs = ssGetInputPortRealSignalPtrs(S,0); real_T dI,dV; dI=U(0)-U(2); dV=U(1)-U(3); if(U(1)!=0) { if(dV!=0) { if((dI/dV+U(0)/U(1))!=0) { if (dI/dV+U(0)/U(1)>0) /*nua trai*/ { y[0]=U(5)+U(4); } else /*nua phai*/ y[0]=U(5)-U(4); } else y[0]=U(5); /*MPP*/ } else { if(dI!=0) { if(dI>0) { y[0]=U(5)+U(4); } else y[0]=U(5)-U(4); Phụ lục } else y[0]=U(5); } } else y[0]=U(4); } /*************************************************/ #define MDL_UPDATE #if defined(MDL_UPDATE) static void mdlUpdate(SimStruct *S, int_T tid) { } #endif /****************************************/ static void mdlTerminate(SimStruct *S) { } /***********************************************/ #ifdef MATLAB_MEX_FILE # include "simulink.c" #else # include "cg_sfun.h" #endif Phụ lục : Code mô điều chế vectơ không gian /*************************************************************************** / /* Chuong trinh tinh thoi gian dong ngat Van IGBT */ /* SPACE VECTOR MODULATION pwm2 */ /* */ /*************************************************************************** / #define S_FUNCTION_NAME SVM_z_converter #define S_FUNCTION_LEVEL #include "simstruc.h" #include #ifndef MATLAB_MEX_FILE # include # include #endif Phụ lục #ifdef MATLAB_MEX_FILE static char *RCSfile = "$Workfile: SVM.c $"; static char *RCSrev = "$Revision: $"; static char *RCSdate = "$Date: 28.7.02 9:51 $"; #endif /* input argument access macros */ #define NUM_IN_ARGS #define SAMPLE_TIME (mxGetPr(ssGetSFcnParam(S, 0))[0]) static void mdlInitializeSizes(SimStruct *S) { ssSetNumSFcnParams(S, NUM_IN_ARGS); if (ssGetNumSFcnParams(S) != ssGetSFcnParamsCount(S)) { # ifndef MATLAB_MEX_FILE rti_msg_error_set(RTI_SFUNCTION_PARAM_ERROR); # endif return; } ssSetNumContStates( S, 0); ssSetNumDiscStates( S, 1); ssSetNumInputPorts( S, 1); ssSetNumOutputPorts( S, 1); ssSetInputPortWidth( S, 0, 4); /*Number of Input :4 */ ssSetOutputPortWidth( S, 0, 6); /*Number of Output :6 */ ssSetInputPortDirectFeedThrough( S, 0, 1); ssSetNumSampleTimes( S, 1); ssSetNumIWork( S, 2); ssSetNumRWork( S, 1); ssSetNumPWork( S, 0); } static void mdlInitializeSampleTimes(SimStruct *S) { real_T sampleTime = (real_T) SAMPLE_TIME; /* set sample time from parameter list */ if (sampleTime == -1.0) /* inherited */ { ssSetSampleTime(S, 0, INHERITED_SAMPLE_TIME); ssSetOffsetTime(S, 0, FIXED_IN_MINOR_STEP_OFFSET); } else if ((sampleTime == 0.0)) /* continuous */ { ssSetSampleTime(S, 0, CONTINUOUS_SAMPLE_TIME); Phụ lục ssSetOffsetTime(S, 0, FIXED_IN_MINOR_STEP_OFFSET); } else /* discrete */ { ssSetSampleTime(S, 0, sampleTime); ssSetOffsetTime(S, 0, 0.0); } } #define MDL_INITIALIZE_CONDITIONS #if defined(MDL_INITIALIZE_CONDITIONS) static void mdlInitializeConditions(SimStruct *S) { } #endif static void mdlOutputs(SimStruct *S, int_T tid) { InputRealPtrsType uPtrs = ssGetInputPortRealSignalPtrs(S,0); real_T *y = ssGetOutputPortRealSignal(S,0); real_T Ua,Ub,absUa,absUb,Umc,Uu,Uv,Uw,d1,d2,dz,D,S1,S2,S3,S4,S5,S6,Ts; /*************************************************************************** / /* (*uPtrs[0])==Ua ; (*uPtrs[1])==Ub ; (*uPtrs[2])== Umc *uPtrs[3])==D */ /*************************************************************************** / Ua=(*uPtrs[0]); Ub=(*uPtrs[1]); Umc=(*uPtrs[2]); D=(*uPtrs[3]); // duty cycle of shoot - through state Ts=1; /* Calculates asbsolute of voltage anphal */ if(Ua>=0) absUa=Ua; else absUa=-Ua; if(absUa>Umc) absUa=Umc; /*Limiting*/ Phụ lục /* Calculates asbsolute of voltage betta */ if(Ub>=0) absUb=Ub; else absUb=-Ub; if(absUb>Umc) absUb=Umc; // Calculates phase-neutral voltage Uu=Ua; Uv=-0.5*Ua+sqrt(3)*Ub/2; Uw=-0.5*Ua-sqrt(3)*Ub/2; if(Uu>=Uv) { if (Uv>=Uw) { //sector //(can doi dong // calculate upper cho // calculate lower (must invert logic state)) d1=(1.5*Ua-sqrt(3)*Ub/2)/Umc; d2=(sqrt(3)*Ub)/Umc; dz=1-d1-d2; // calculate upper S4= Ts*(dz/4-D/12); S6= Ts*(dz/4+d1/2+D/12); S2= Ts*(dz/4+d1/2+d2/2+D/4); // calculate lower (must invert logic state) S1= Ts*(dz/4-D/4); S3= Ts*(dz/4+d1/2-D/12); S5= Ts*(dz/4+d1/2+d2/2+D/12); } else if (Uw>=Uu) { //sector d1=(-1.5*Ua-sqrt(3)*Ub/2)/Umc; d2=(1.5*Ua-sqrt(3)*Ub/2)/Umc; dz=1-d1-d2; // calculate upper S4= Ts*(dz/4+d1/2+D/12); S6= Ts*(dz/4+d1/2+d2/2+D/4); S2= Ts*(dz/4-D/12); // calculate lower (must invert logic state) Phụ lục S1= Ts*(dz/4+d1/2-D/12); S3= Ts*(dz/4+d1/2+d2/2+D/12); S5= Ts*(dz/4-D/4); } else { //sector d1=(1.5*Ua+sqrt(3)*Ub/2)/Umc; d2=(-sqrt(3)*Ub)/Umc; dz=1-d1-d2; // calculate upper S4= Ts*(dz/4-D/12); S6= Ts*(dz/4+d1/2+d2/2+D/4); S2= Ts*(dz/4+d1/2+D/12); // calculate lower (must invert logic state) S1= Ts*(dz/4-D/4); S3= Ts*(dz/4+d1/2+d2/2+D/12); S5= Ts*(dz/4+d1/2-D/12); } } else { if(Uv

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

Từ khóa liên quan

Mục lục

  • Trang bia

  • Loi cam doan

  • Muc luc

  • Danh muc hinh ve

  • Danh muc bang so lieu

  • Danh muc tu viet tat

  • Loi noi dau

  • Chuong 1

  • Chuong 2

  • Chuong 3

  • Chuong 4

  • Chuong 5

  • Chuong 6

  • Ket luan

  • Tai lieu tham khao

  • Phu luc

Tài liệu cùng người dùng

Tài liệu liên quan