Em xin cam đoan bản đồ án tốt nghiệp Thiết kế hệ điều khiển và giám sát cho bộ điều áp liên tục do em tự thiết kế dưới sự hướng dẫn của thầy giáo PGS.TS. Trần Trọng Minh. Các số liệu và kết quả là hoàn toàn đúng với thực tế. Để hoàn thành đồ án này em chỉ sử dụng những tài liệu được ghi trong danh mục tài liệu tham khảo và không sao chép hay sử dụng bất kỳ tài liệu nào khác. Nếu phát hiện có sự sao chép em xin chịu hoàn toàn trách nhiệm. Hà Nội, ngày 01 tháng 01 năm 2018 Sinh viên thực hiện Phạm Quang Huy
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN BỘ MƠN TỰ ĐỘNG HỐ CƠNG NGHIỆP ====o0o==== ĐỒ ÁN TỐT NGHIỆP Hà Nội, 1-2018 TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN BỘ MƠN TỰ ĐỘNG HỐ CƠNG NGHIỆP ====o0o==== ĐỒ ÁN TỐT NGHIỆP ĐỀ TÀI: THIẾT KẾ HỆ ĐIỀU KHIỂN VÀ GIÁM SÁT CHO BỘ ĐIỀU ÁP LIÊN TỤC Trưởng môn: PGS.TS Trần Trọng Minh Giáo viên hướng dẫn: PGS.TS Trần Trọng Minh Sinh viên thực hiện: Phạm Quang Huy Lớp: KT ĐK & TĐH 01 - K58 MSSV: 20131789 Hà Nội, 1-2018 Lời cam đoan LỜI CAM ĐOAN Em xin cam đoan đồ án tốt nghiệp Thiết kế hệ điều khiển giám sát cho điều áp liên tục em tự thiết kế hướng dẫn thầy giáo PGS.TS Trần Trọng Minh Các số liệu kết hoàn toàn với thực tế Để hoàn thành đồ án em 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 em xin chịu hồn toàn trách nhiệm Hà Nội, ngày 01 tháng 01 năm 2018 Sinh viên thực Phạm Quang Huy i Mục lục MỤC LỤC LỜI CAM ĐOAN i MỤC LỤC ii DANH MỤC HÌNH VẼ .v DANH MỤC BẢNG BIỂU viii DANH MỤC TỪ VIẾT TẮT ix LỜI NÓI ĐẦU x CHƯƠNG TỔNG QUAN VỀ BỘ ĐIỀU ÁP LIÊN TỤC VÀ TÍNH TỐN THƠNG SỐ MẠCH LỰC 1.1 Một số vấn đề vè chất lượng điện tượng lõm/lồi điện áp .1 1.1.1 Một số vấn đề vê chất lượng điện .1 1.1.2 Hiện tượng lõm/lồi điện áp a) Định nghĩa lõm/lồi điện áp b) Nguyên nhân tượng lõm/lồi điện áp 1.2 Giới thiệu điều áp liên tục 1.2.1 Nguyên lý hoạt động điều áp liên tục 1.2.2 Cấu trúc điều áp liên tục 1.2.3 Tính tốn mạch lực cho điều áp liên tục a) Tính tốn mạch lọc LCL cho biến đổi Shunt b) Tính chọn IGBT cho BBĐ Shunt .11 c) Tính tốn thơng số máy biến áp nối tiếp 15 d) Tính tốn thơng số mạch lọc cho biến đổi Series 17 e) Tích chọn IGBT cho biến đổi Series .18 ii Mục lục f) Tính chọn giá trị tụ DC-link .22 CHƯƠNG THIẾT KẾ CẤU TRÚC ĐIỀU KHIỂN CHO BỘ ĐIỀU ÁP LIÊN TỤC 24 2.1 Yêu cầu thiết kế cấu trúc điều khiển cho điều áp liên tục 24 2.2 Xây dựng phương pháp điều chế đơn cực cho mạch nghịch lưu cầu H 25 2.2.1 Mơ tả tốn học nghịch lưu nguồn áp pha 25 2.2.2 Phương pháp điều chế đơn cực cho cầu H BBĐ Series 27 2.3 Vịng khóa pha 28 2.3.1 Cấu trúc vịng khóa pha 28 2.3.2 Vịng khóa pha pha 29 a) Cấu trúc nguyên lý thực 29 b) Khối tạo điện áp trực giao ảo .30 2.3.3 Tuyến tính hóa vịng khóa pha .31 2.3.4 Tổng hợp tham số cho PLL 31 2.4 Thiết kế khâu tính tốn lượng đặt .33 2.5 Tổng hợp tham số điều khiển 33 2.5.1 Mạch vòng điều chỉnh dòng điện 33 2.5.2 Mạch vòng điều chỉnh điện áp 36 2.6 Mô cấu trúc điều khiển điều áp liên tục 37 2.6.1 Tham số sơ đồ mô điều áp liên tục .37 a) Tham số mô .37 b) Sơ đồ mô 39 2.6.2 Kết mô biến đổi Series .39 2.6.3 Kết luận .42 iii Mục lục CHƯƠNG THIẾT KẾ HỆ ĐIỀU KHIỂN GIÁM SÁT CHO BỘ ĐIỀU ÁP LIÊN TỤC 43 3.1 Nhiệm vụ hệ điều khiển giám sát điều áp liên tục 43 3.2 Xây dựng hệ điều khiển giám sát .44 3.3 Chế độ điều khiển trường 46 3.3.1 Truyền thông điều khiển 46 a) Giới thiệu giao thức truyền thông CAN 46 b) Lưu đồ thuật tốn truyền thơng CAN 51 3.3.2 Truyền thông điều khiển trung tâm HMI 52 a) Giới thiệu truyền thông giao thức Modbus RTU .52 b) Lưu đồ thuật tốn truyền thơng Modbus 55 c) Truyền thông Modbus RTU hệ thống AVC .56 3.4 Chế độ điều khiển từ xa 59 3.5 Kết thực nghiệm 63 3.5.1 Truyền tin khối đo lường điều khiển 64 3.5.2 Truyền tin điều khiển .65 3.5.3 Truyền tin điều khiển trung tâm HMI .66 KẾT LUẬN 69 TÀI LIỆU THAM KHẢO 70 PHỤ LỤC 72 iv Danh mục hình vẽ DANH MỤC HÌNH VẼ Hình 1.1 Sơ đồ mơ tả nguyên tắc hoạt động AVC Hình 1.2 AVC bảo vệ tải nhạy cảm Hình 1.3 Đồ thị vector thể nguyên lý bù điện áp AVC Hình 1.4 Cấu trúc điều áp liên tục AVC Hình 1.5 Đáp ứng miền tần số hàm truyền dòng điện điện áp .11 Hình 1.6 Van bán dẫn IGBT FF400R17KE4 .12 Hình 1.7 Dịng điện qua van IGBT BBĐ Shunt 13 Hình 1.8 Dịng điện qua Diode BBĐ Shunt .13 Hình 1.9 Lựa chọn cấu trúc nhập tham số cho BBĐ Shunt 14 Hình 1.10 Lựa chọn van IGBT cho BBĐ Shunt 14 Hình 1.11 Lựa chọn phương pháp tản nhiệt cho BBĐ Shunt 14 Hình 1.12 Kết tổn thất nhiệt độ van BBĐ Shunt 15 Hình 1.13 Mạch điện thay đơn giản máy biến áp tụ lọc 17 Hình 1.14 Dịng điện qua van BBĐ Series 19 Hình 1.15 Dịng điện qua Diode BBĐ Series 20 Hình 1.16 Lựa chọn cấu trúc mạch lực nhập tham số cơng cụ IPOSIM 20 Hình 1.17 Lựa chọn van bán dẫn cho BBĐ Series .21 Hình 1.18 Lựa chọn phương pháp làm mát cho BBĐ Series .21 Hình 1.19 Kết tổn thất nhiệt độ van BBĐ Series 22 Hình 2.1 Cấu trúc điều khiển cho biến đổi Series 24 Hình 2.2 Mơ hình nghịch lưu nguồn áp pha mơ tả khóa chuyển mạch .26 v Danh mục hình vẽ Hình 2.3 Điều chế đơn cực cho cầu H 27 Hình 2.4 Dạng sóng điều chế theo phương pháp đơn cực 28 Hình 2.5 Cấu trúc vịng khóa pha 28 Hình 2.6 Cấu trúc vịng khóa pha pha 29 Hình 2.7 Thuật tốn tính thành phần điện áp 𝛼𝛽 từ điện áp lưới .30 Hình 2.8 Mạch vịng điều chỉnh thuật tốn vịng khóa pha 31 Hình 2.9 Mơ hình tuyến tính hóa vịng khóa pha 31 Hình 2.10 Sơ đồ cấu trúc khối tính điện áp đỉnh 33 Hình 2.11 Sơ đồ thay mạch vòng dòng điện nghịch lưu nguồn áp pha 33 Hình 2.12 Mơ tả tốn học mạch vòng điều khiển dòng điện .34 Hình 2.13 Mơ tả tốn học mạch vịng điều chỉnh điện áp 36 Hình 2.14 Sơ đồ mô biến đổi Series 39 Hình 2.15 Kết mơ trường hợp 39 Hình 2.16 Kết mơ trường hợp 40 Hình 2.17 Kết mô trường hợp 40 Hình 2.18 Kết mơ trường hợp 41 Hình 2.19 Kết phân tích Fourier điện áp pha A trường hợp 41 Hình 2.20 Sai lệch điện áp BBĐ Series so với lượng đặt pha trường hợp 42 Hình 3.1 Sơ đồ tổng quan hệ thống AVC 43 Hình 3.2 Cấu trúc hệ điều khiển giám sát điều áp liên tục 46 Hình 3.3 Phạm vi định nghĩa CAN mơ hình OSI [10] .47 Hình 3.4 Lưu đồ thuật tốn chương trình truyền thơng CAN 51 Hình 3.5 Lưu đồ thuật tốn chương trình truyền thơng Modbus RTU 55 vi Danh mục hình vẽ Hình 3.6 Các phần tử xây dựng giao diện 56 Hình 3.7 Các phần tử điều hành hoạt động hình 57 Hình 3.8 Các phần tử quản lý liệu hình 57 Hình Giao diện làm việc phần mềm NB Designer .58 Hình 3.10 Ethernet/IEEE 802.3 tập chuẩn IEEE 802 [10] .59 Hình 3.11 Lưu đồ thuật toán truyền tin Ethernet (TCP/IP) 62 Hình 3.12 Hình ảnh thực tế điều khiển cấp 63 Hình 3.13 Hình ảnh thực tế điều khiển trung tâm 64 Hình 3.14 Cài đặt thơng số kỹ thuật cho kênh ADC 64 Hình 3.15 Cài đặt thơng số kỹ thuật cho truyền tin CAN 65 Hình 3.16 Cài đặt thông số kỹ thuật cho kênh UART .66 Hình 3.17 Cài đặt driver truyền tin cho HMI .67 Hình 3.18 Thiết lập thơng số kỹ thuật cho cổng COM2 HMI .67 Hình 3.19 Màn hình HMI 68 Hình 3.20 Màn hình cài đặt HMI 68 vii Danh mục bảng biểu DANH MỤC BẢNG BIỂU Bảng 1.1 Phân loại tượng lõm/lồi điện áp Bảng 1.2 Thông số van IGBT FF400R17KE4 12 Bảng 1.3 Thông số máy biến áp nối tiếp 16 Bảng 1.4 Bảng thông số mạch lực điều áp liên tục AVC .23 Bảng 2.1 Tham số mạch lực điều áp liên tục 37 Bảng 2.2 Bảng thơng số điều khiển dịng điện 38 Bảng 2.3 Bảng thông số điều khiển điện áp 38 Bảng 3.1 Thông số hai chế độ truyền thông CAN .49 Bảng 3.2 Khung tin liệu CAN chế độ chuẩn .50 Bảng 3.3 Hàm tiêu biểu Modbus [15] .53 Bảng 3.4 Bộ nhớ hình NB7W-TW00B Modbus RTU Slave 58 Bảng 3.5 Cáp truyền Ethernet thông dụng [10] 59 viii Chương 3: Thiết kế hệ điều khiển giám sát cho điều áp liên tục Hình 3.19 Màn hình HMI Hình 3.20 Màn hình cài đặt HMI Kết đánh giá + Sử dụng truyền tin nối tiếp UART, với chuẩn kết nối RS-485, giao thức Modbus RTU cho thấy kết ổn định điều khiển trung tâm HMI + Thông tin truyền xác, khơng xảy lỗi 68 Kết luận KẾT LUẬN Sau trình nghiên cứu, thực đề tài “Thiết kế hệ điều khiển giám sát cho điều áp liên tục” chúng em đạt số kết sau: Nắm ảnh hưởng cố lồi,lõm điện áp vai trò bù điện áp động lưới điện Đưa cấu trúc mạch lực hệ thống tính tốn phần tử mạch lực Thiết kế mô cấu trúc điều khiển cho điều áp liên tục Xây dựng hệ thống điều khiển, giám sát cho điều áp liên tục chế độ chỗ chế độ từ xa Để hoàn thành đồ án cố gắng em thành viên nhóm, em có hướng dẫn tận tụy, bảo nhiệt tình PGS.TS Trần Trọng Minh, TS Vũ Hoàng Phương Đề tài cấp Khoa học cấp Nhà nước mã số KC05.03/16-20 tạo điều kiện cho chúng em thực đề tài này Mặc dù cố gắng để thực đề tài, nhiên khả hạn chế nên báo cáo cịn thiếu sót Chúng em mong nhận góp ý để báo cáo trở nên hoàn thiện Em xin chân thành cảm ơn Hà Nội, ngày 01 tháng 01 năm 2018 Sinh viên thực Phạm Quang Huy 69 Tài liệu tham khảo TÀI LIỆU THAM KHẢO [1] Trần Trọng Minh, Vũ Hoàng Phương, Thiết Kế Điều Khiển Cho Các Bộ Biến Đổi Điện Tử Công Suất, Đại học Bách Khoa Hà Nội, 2014 [2] Võ Minh Chính, Phạm Quốc Hải, Trần Trọng Minh, Điện Tử Công Suất, NXB Khoa Học Và Kỹ Thuật, 2007 [3] Nguyễn Phùng Quang, MATLAB & SIMULINK Dành Cho Kỹ Sư Điều Khiển Tự Động, NXB Khoa Học Và Kỹ Thuật, 2006 [4] Trần Duy Trinh, Nghiên cứu điều khiển khôi phục điện áp động (DVR) để bù lõm điện áp cho phụ tải quan trong xí nghiệp cơng nghiệp, Luận án tiến sỹ điều khiển tự động hóa, Trường Đại Học Bách Khoa Hà Nội, 2014 [5] John Go dsk Nielsen, Design and Control of a Dynamic Voltage Restorer, Dissertation submitted to the Faculty of Engineering & Science at Aalborg University [6] Remus Teodorescu, Marco Liserre, Pedro Rodr´ıguez, Grid Converters For Photovoltaic And Wind Power Systems, This edition first published 2011 [7] Nguyễn Doãn Phước (2005) Lý thuyết điều khiển tuyến tính NXB Khoa học & Kỹ thuật [8] Ciobotaru and Mihai (2009), “Reliable Grid Condition Detection and Control of Single-Phase Distribution Power Generation Sistem”, Aalborg: Institut for Energiteknik, Aalborg Universitet [9] Remus Teodorescu, Macro Liserre and Pedro Rodríguez (2011), “Grid Converters for Photovoltaic and Wind Power Systems” John Wiley & Sons, Ltd [10] Hoàng Minh Sơn (2006) Mạng truyền thông công nghiệp NXB Khoa học & Kỹ thuật [11] Tạ Đức Anh Controller Area Network (CAN) Đại học Bách khoa thành phố Hồ Chí Minh [12] http://www.modbus.org, (2012) Modbus Application Protocol Specification V1.1b3 [13] Honeywell Process Solutions (2013) Modbus® RTU Serial communication User Manual 51-52-25-66 Revision T, printed in U.S.A - © Copyright 2010 by Honeywell 70 Tài liệu tham khảo [14] OMRON (2016) NB-Designer Operation Manual Cat No V106-E1-14 [15] OMRON (2016) Host Connection Manual Cat No V108-E1-13 [16] A.E.W.H Kahlane, L.Hassaine, M Kherchi, LCL filter design for photovoltic grid connected systems, Centre de Développement des Energies Renouvelables, CDER B.P.62, Route de l’Observatoire, Bouzaréah, 16340, Algiers, Algeria, 2014 [17] Gabriel Olguin (2005), Voltage Dip (Sag) Estimation in Power Systems based on Stochastic Assessment and Optimal Monitoring, Thesis for the degree of doctor of philosophy, Electric Power Engineering Chalmers University of Technology 71 Phụ lục PHỤ LỤC A Chương trình mơ Matlab/Simulink, tham số cài đặt m-file %Tinh toan mach loc LC fs=5e3; ws=2*pi*fs; wlc=1000*2*pi; R1=0.009; R2=0.002; L1=0.21e-3; L2=0.012e-3; X1=L1*2*pi*50; X2=L2*2*pi*50; X=X1+4*X2; L=X/(2*pi*50); C=1/(L*wlc*wlc); R=R1+4*R2; fc1 = 1/(2*pi*sqrt(L*C)); Vo = 700; %tham so mach nghich luu nguon ap mot pha Cf_series=C; Lf_series = L; fc=1/(2*pi*sqrt(Cf_series*Lf_series)); %Tan so cat rL = R; w1 = 2*pi*50; %Tan so co ban 50Hz %tham so mach vong dong dien wii = 2*pi*500; %Bang thong nho nhat 500Hz wfi = 2*pi*600; %Bang thong lon nhat 600Hz Kpc_series = rL + sqrt(((Lf_series*wii)^2) + 2*(rL^2)); Kic_series = ((wfi^2) - (w1^2))*(sqrt((rL+Kpc_series)^2 + 2*(Lf_series*wfi)^2 - 2*(Kpc_series^2)) + Lf_series*wfi)/wfi; Gk_i=tf([Kpc_series Kic_series Kpc_series*w1^2],[Lf_series (Kpc_series+rL) (Kic_series+(w1^2)*Lf_series) (Kpc_series*(w1^2)+(w1^2)*rL)]); %tham so mach vong dien ap wiv = 2*pi*200; %Bang thong nho nhat 200Hz 72 Phụ lục wfv = 2*pi*300; %Bang thong lon nhat 300Hz Kpv_series = Cf_series*wiv; Kiv_series = ((wfv^2) - (w1^2))*(sqrt(2*(Cf_series*wfv)^2 - (Kpv_series^2)) + Cf_series*wfv)/wfv; Gk_u=tf([Kpv_series Kiv_series Kpv_series*(w1^2)],[Cf_series Kpv_series (Kiv_series+Cf_series*(w1^2)) Kpv_series*(w1^2)]); 73 Phụ lục B Định nghĩa tin CAN a) Ma ̣ch Master gửi ID bit bit Tên cao thấ p RUN_SHUNT_COMMAND 001 0x01 RUN_SERIES_COMMAND 001 0x02 ON_BYPASS_THY_COMMAND 001 0x03 STOP_SHUNT_COMMAND 001 0x04 STOP_SERIES_COMMAND 001 0x05 OFF_BYPASS_COMMAND 001 0x06 CONFIG_SHUNT_COMAND 001 0x07 CONFIG_SERIES_COMAND 001 0x08 CONFIG_BYPASS_THY_COMMAND 001 0x09 RESET_SHUNT 001 0x0A RUN_MODE_STOP_CMD_SHUNT 001 0x0B RESET_SERIES 001 0x0C RUN_MODE_STOP_CMD_SERIES 001 0x0D RESET_BYPASS 001 0x0E RUN_MODE_STOP_ALL_SLAVE 001 0x0F 2byte 0x00FF 0x00FF 0x00FF 0x00FF 0x00FF 0x00FF 0x00FF 0x00FF 0x00FF 0x00FF 0x00FF 0x00FF 0x00FF 0x00FF 0x00FF REQUEST_STATUS_SHUNT REQUEST_STATUS_SERIES REQUEST_STATUS_BYPASS_THY 001 001 001 0x10 0x11 0x12 0x00FF 0x00FF 0x00FF CHECKING_SHUNT_COMMAND CHECKING_SERIES_COMMAND CHECKING_BYPASS_COMMAND 001 001 001 0x13 0x14 0x15 SET_DELAY_START_SHUNT SET_DELAY_START_SERIES SET_DELAY_START_BYPASS 001 001 001 SET_MODE_INJECTION_SERIES Data byte - byte - byte - - - - 0x00FF 0x00FF 0x00FF - - - 0x16 0x17 0x18 t_delay t_delay t_delay - - - 001 0x19 (1) - - - SET_V_DC_REF_RUN_SHUNT 001 0x1A U_dc_ref SET_GRID_VOLTAGLE_SHUNT SET_GRID_FREQUENCY_SHUNT SET_V_DC_REF_SHUNT SET_T_START_UP_SHUNT 001 001 001 001 0x40 0x41 0x42 0x43 - - - 74 V_grid f_grid U_dc_ref t_startup Phụ lục SET_LIMIT_VGRID_MIN_SHUNT SET_LIMIT_VGRID_MAX_SHUNT SET_LIMIT_VDC_MIN_SHUNT SET_LIMIT_VDC_MAX_SHUNT SET_LIMIT_I_GRID_MAX_SHUNT SET_LIMIT_TEMP_MAX_SHUNT 001 001 001 001 001 001 0x44 0x45 0x46 0x47 0x48 0x49 V_grid_min V_grid_max V_vdc_min V_vdc_max I_grid_max Nhiê ̣t đô ̣ van - - - SET_VOLTAGE_SERIES SET_FREQUENCY_SERIES SET_POWER_SERIES SET_HS_POWER_SERIES SET_CURRENT_SERIES SET_LIMIT_V_INV_MAX_SERIES SET_LIMIT_I_INV_MAX_SERIES SET_LIMIT_V_GRID_MIN_SERIES SET_LIMIT_V_GRID_MAX_SERIES SET_LIMIT_TEMP_MAX_SERIES 001 001 001 001 001 001 001 001 001 001 0x60 0x61 0x62 0x63 0x64 0x65 0x66 0x67 0x68 0x69 Uđm F P_đm (x10) Hê ̣ số (x10) Idm (x10) V_bu I_inv (x10) V_grid_min V_grid_max Nhiê ̣t đô ̣ van - - - REQUEST_V_DC_SHUNT REQUEST_V_GRID_ALL_SHUNT REQUEST_V_GRID_A_SHUNT REQUEST_V_GRID_B_SHUNT REQUEST_V_GRID_C_SHUNT REQUEST_V_GRID ALL_SERIES REQUEST_V_GRID_A_SERIES REQUEST_V_GRID_B_ SERIES REQUEST_V_GRID_C_ SERIES REQUEST_V_LOAD ALL_SERIES REQUEST_V_LOAD_A_SERIES REQUEST_V_LOAD_B_SERIES REQUEST_V_LOAD_C_SERIES REQUEST_FREQUENCY_SERIES REQUEST_FREQUENCY_SHUNT 001 001 001 001 001 001 001 001 001 001 001 001 001 001 001 0x80 0x81 0x82 0x83 0x84 0x85 0x86 0x87 0x88 0x89 0x8A 0x8B 0x8C 0x8D 0x8E 0x00FF 0x00FF 0x00FF 0x00FF 0x00FF 0x00FF 0x00FF 0x00FF 0x00FF 0x00FF 0x00FF 0x00FF 0x00FF 0x00FF 0x00FF - - - - - - - - - Chú thı́ch: (1): Cài đă ̣t chế đô ̣ bù liên tu ̣c hay không Có = 0x01, Không = 0x00 75 Phụ lục b) Ma ̣ch Slave Shunt gửi ID Tên STATUS_SHUNT_RESPONSE START_SHUNT_RESPONSE_OK START_SHUNT_RESPONSE_ERROR CHEKING_SHUNT_RESPONSE_OK CHEKING_SHUNT_RESPONSE_ERROR RUN_ERROR_SHUNT RESPONSE_V_DC_SEND_SHUNT bit cao 010 010 010 010 010 010 010 bit thấ p 0x01 0x02 0x03 0x04 0x05 0x06 0x07 RESPONSE_V_GRID_SEND_SHUNT 010 0x08 RESPONSE_V_A_GRID_SEND_SHUNT RESPONSE_V_B_GRID_SEND_SHUNT RESPONSE_V_C_GRID_SEND_SHUNT 010 010 010 0x09 0x0A 0x0B RESPONSE_FREQ_GRID_SEND_SHUNT 010 0x0C Data 2 2 byte byte byte byte (1) 0x00FF 0x00FF 0x00FF (2) (3) Udc Va Vb Vc Freq _grid _grid _grid (x10) Va_grid Vb_grid Vc_grid freq (x10) Chú thıć h: (1): Gửi dữ liê ̣u chı̉ trạng thái bô ̣ Shunt: STOP =0x00, RUN = 0x01 (2): Gửi dữ liê ̣u báo loa ̣i lỗi checking bô ̣ Shunt bi ̣lỗi: + Đo lường : 0x01 + chân Fault IGBT: 0x02 + Thứ tự pha: 0x03 (3): Gửi dữ liê ̣u báo lỗi cha ̣y Shunt xảy lỗi + Lỗi điê ̣n áp Vdc thấ p: 0x01 + Lỗi quá điê ̣n áp Vdc cao (vươ ̣t quá dải cho phép): 0x02 + Lỗi điê ̣n áp lưới thấ p: 0x03 + Lỗi quá điê ̣n áp lưới : 0x04 + Lỗi quá dòng: 0x05 + Lỗi quá nhiê ̣t đô ̣: 0x06 + Lỗi van IGBT (xảy ngắ n ma ̣ch): 0x07 c) Ma ̣ch Slave Series gửi 76 Phụ lục ID Tên bit bit cao thấ p STATUS_SERIES_RESPONSE 011 0x01 RUN_ERROR_SERIES 011 0x02 CHECKING_SERIER_RESPONSE_ERROR 011 0x03 CHECKING_SERIER_RESPONSE_OK 011 0x04 RESPONSE_V_LOAD_SEND_SERIES 011 0x05 RESPONSE_V_A_LOAD_SEND_SERIES 011 0x06 RESPONSE_V_B_LOAD_SEND_SERIES 011 0x07 RESPONSE_V_C_LOAD_SEND_SERIES 011 0x08 RESPONSE_V_GRID_SEND_SERIES 011 0x09 RESPONSE_V_A_GRID_SEND_SERIES 011 0x0A RESPONSE_V_B_GRID_SEND_SERIES 011 0x0B RESPONSE_V_C_GRID_SEND_SERIES 011 0x0C Data byte byte byte (1) (2) (3) 0x00FF Va_out Vb_out Vc_out Va_out Vb_out Vc_out Va_grid Vb_grid Vc_grid Va_grid Vb_grid Vc_grid - byte - Chú thıć h: (1): Gửi tra ̣ng thái làm viê ̣c Series: STOP = 0x0000, RUN = 0x00FF (2): Gửi tra ̣ng thái lỗi Series cha ̣y xảy lỗi: + Lỗi điê ̣n áp lưới thấ p: 0x01 + Lỗi quá điê ̣n áp lưới : 0x02 + Lỗi quá dòng nghich ̣ lưu : 0x03 + Lỗi quá nhiê ̣t đô ̣ van: 0x04 + Lỗi van IGBT (xảy ngắ n ma ̣ch): 0x05 (3): Gửi tra ̣ng thái lỗi Series checking lỗi: + Đo lường : 0x01 + chân Fault IGBT: 0x02 d) Ma ̣ch Slave Bypass gửi ID Tên Data bit bit cao thấ p STATUS_BYPASS_THY_RESPONSE 111 0x01 OPEN_BYPASS_THY_RESPONSE_OK 111 OPEN_BYPASS_THY_RESPONSE_ERROR 111 77 2byte (1) 2 byte byte byte - - - 0x02 0x00FF - - - 0x03 0x00FF - - - Phụ lục CLOSE_BYPASS_THY_RESPONSE_OK 111 0x04 0x00FF - - - CLOSE_BYPASS_THY_RESPONSE_ERROR 111 0x05 0x00FF - - - CHECKING_BYPASS_THY_RESPONSE_OK 111 0x06 0x00FF - - - CHECKING_BYPASS_THY_RESPONSE_ERROR 111 0x07 0x00FF - - - Chú thı́ch: (1): Gửi trạng thái Thyritor dẫn hay khóa OPEN = 0x00 (dẫn), CLOSE = 0xFF (khóa) 78 Phụ lục C Code chương trình Khởi tạo kênh truyền thông CAN: /* CAN1 init function */ static void MX_CAN1_Init(void) { hcan1.Instance = CAN1; hcan1.Init.Prescaler = 4; hcan1.Init.Mode = CAN_MODE_NORMAL; hcan1.Init.SJW = CAN_SJW_1TQ; hcan1.Init.BS1 = CAN_BS1_6TQ; hcan1.Init.BS2 = CAN_BS2_3TQ; hcan1.Init.TTCM = DISABLE; hcan1.Init.ABOM = ENABLE; hcan1.Init.AWUM = ENABLE; hcan1.Init.NART = DISABLE; hcan1.Init.RFLM = DISABLE; hcan1.Init.TXFP = DISABLE; if (HAL_CAN_Init(&hcan1) != HAL_OK) { _Error_Handler( FILE , LINE ); } } Cấu hình tin: hcan1.pTxMsg = &TxMsg; hcan1.pRxMsg = &RxMsg; // - CAU HINH BAN TIN TRUYEN NHAN -hcan1.pTxMsg->StdId=0x09; hcan1.pTxMsg->RTR=CAN_RTR_DATA; hcan1.pTxMsg->IDE=CAN_ID_STD; 79 Phụ lục hcan1.pTxMsg->DLC=8; // - KHOI TAO BO LOC CHO CAN1 -sFilterConfig.BankNumber=14; sFilterConfig.FilterMode= CAN_FILTERMODE_IDMASK; sFilterConfig.FilterScale=CAN_FILTERSCALE_32BIT; sFilterConfig.FilterFIFOAssignment=0; sFilterConfig.FilterActivation= ENABLE; sFilterConfig.FilterNumber=0; sFilterConfig.FilterIdLow=0x63StdId == 0xAF) hcan1.pTxMsg->StdId = 0x09; hcan1.pTxMsg->Data[0] = Msg_Tx[0]; hcan1.pTxMsg->Data[1] = Msg_Tx[1]; hcan1.pTxMsg->Data[2] = Msg_Tx[2]; error_code_tx = HAL_CAN_Transmit_IT(&hcan1); Hàm ghi tin MODBUS void MB_write_mulRegister(uint16_t address, uint8_t quantity_of_reg, unsigned char *data, UART_HandleTypeDef *huart) { unsigned char crc[2]; uint8_t k; uint8_t length = + 2*quantity_of_reg; 80 Phụ lục unsigned char buf[length]; buf[0] = 1; buf[1] = 0x10; buf[2] = address >> 8; buf[3] = address; buf[4] = 0; buf[5] = quantity_of_reg; buf[6] = 2*quantity_of_reg; for (k = 0; k < 2*quantity_of_reg; k++) { buf[k+7] = data[k]; } calculate_CRC(buf, length - 2, crc); buf[length - 2] = crc[0]; buf[length - 1] = crc[1]; HAL_UART_Transmit(huart, buf, length, 10); } //================================================================== ========================================================================= ====================== void MB_write_oneRegister(uint16_t address, uint16_t value, UART_HandleTypeDef *huart) { unsigned char crc[2]; unsigned char buf[8]; buf[0] = 1; buf[1] = 6; buf[2] = address >> 8; buf[3] = address; 81 Phụ lục buf[4] = value >> 8; buf[5] = value; calculate_CRC(buf, 6, crc); buf[6] = crc[0]; buf[7] = crc[1]; HAL_UART_Transmit(huart, buf, 8, 10); } Hàm đọc tin MODBUS void MB_read_mulRegister(uint16_t UART_HandleTypeDef *huart) address, { unsigned char crc[2]; unsigned char buf[8]; buf[0] = 1; buf[1] = 3; buf[2] = address >> 8; buf[3] = address; buf[4] = 0; buf[5] = quantity_of_reg; calculate_CRC(buf, 6, crc); buf[6] = crc[0]; buf[7] = crc[1]; HAL_UART_Transmit(huart, buf, 8, 10); } 82 uint8_t quantity_of_reg,