Luận án Nghiên cứu giải pháp nâng cao chất lượng điện năng của lưới điện phân phối có kết nối nguồn điện gió sử dụng máy điện không đồng bộ

Năng lượng gió là nguồn năng lượng tái tạo nhận được sự quan tâm của Chính
phủ Việt Nam từ rất sớm. Đến nay số lượng dự án điện gió được phát triển tăng rất
nhanh, đặc biệt là khi Chính phủ ban hành cơ chế khuyến khích phát triển điện gió
(Quyết định số 37/2011/QĐ-TTg ngày 29/6/2011 và Quyết định số 39/2018/QĐ-TTg
ngày 10/9/2018). Đến thời điểm tháng 2/2020, mới chỉ có 13 dự án điện gió với tổng
công suất đặt khoảng 419,55 MW được đưa vào vận hành trên toàn quốc. Tuy nhiên
khá nhiều dự án đã khởi công xây dựng với tổng công suất nguồn điện gió đã ký hợp
đồng mua bán điện với Tập đoàn Điện lực Việt Nam hơn 700MW.
Để thúc đẩy phát triển điện gió theo mục tiêu của Chính phủ đề ra, Bộ Công
Thương đã ban hành Văn bản số 4308/BCT-TCNL ngày 17/5/2013 đề nghị 24
tỉnh/thành phố dự báo có tiềm năng tốt cho phát triển điện gió tổ chức lập quy hoạch
phát triển điện gió cấp tỉnh. Hiện nay đã có 11/24 tỉnh thực hiện Quy hoạch phát triển
điện gió và đã được Bộ Công Thương phê duyệt. Theo đó, tổng công suất điện gió
quy hoạch tại các tỉnh này khoảng 2.511 MW cho giai đoạn đến năm 2020 và khoảng
15.380,9 MW cho giai đoạn đến năm 2030
pdf 156 trang phubao 26/12/2022 4140
Bạn đang xem 20 trang mẫu của tài liệu "Luận án Nghiên cứu giải pháp nâng cao chất lượng điện năng của lưới điện phân phối có kết nối nguồn điện gió sử dụng máy điện không đồng bộ", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdfluan_an_nghien_cuu_giai_phap_nang_cao_chat_luong_dien_nang_c.pdf
  • pdfQD HD cap truong-Ng.Cong Cuong.pdf
  • pdfThong tin ve KL moi cua LATS.pdf
  • pdfTóm tắt luận án (Tiếng Anh).pdf
  • pdfTóm tắt luận án (Tiếng Việt).pdf

Nội dung text: Luận án Nghiên cứu giải pháp nâng cao chất lượng điện năng của lưới điện phân phối có kết nối nguồn điện gió sử dụng máy điện không đồng bộ

  1. 110 công suất phát của máy phát điện lúc này sẽ đạt giá trị 1,25MW. Như vậy, hệ thống thiếu hụt công suất so với ban đầu là không lớn (0,25MW). Lượng công suất này được xem là khá bé so với công suất hệ thống cũng như công suất các máy biến áp, trong khi máy biến áp đều có khả năng vận hành quá tải đến 40% trong 1 khoảng thời gian cho phép. Lượng thiếu hụt công suất phản kháng cũng không nhiều (nếu giả thiết coi hệ số công suất của máy phát điện không đổi) so với công suất phụ tải với diễn biến điện áp tại nút 22kV (nút tải địa phương), với ảnh hưởng nhưng không nhiều giảm từ mức 1,018pu xuống 0,991pu (hình 4.21), tương ứng với đó là điện áp trên các cuộn dây của máy biến áp tăng áp (hình 4.27). Đối tượng ảnh hưởng cần quan tâm ở đây sẽ là tốc độ rotor, điện áp tại máy biến áp tăng áp, cũng như các đáp ứng tín hiệu điều khiển dòng điện, điện áp ở các trục tọa độ. BUS-22kV Nut cuon day 22kV 22 kV 22 kV He thong u=98,58 % P=-2,987 MW Nut he thong TR2 u=99,52 % Q=-2,606 Mvar 110 kV Tap=0 u=100,00 % Duong day P=1,513 MW Q=-0,019 Mvar P=1,493 MW P=-1,493 MW Q=1,303 Mvar Q=-1,260 Mvar Tai dia phuong P=-1,493 MW P=4,500 MW P=-1,528 MW P=1,493 MW Q=-1,260 Mvar Q=2,500 Mvar Q=0,000 Mvar Q=1,303 Mvar TR2-1230796893 Tap=0 TR3 Tap=0 P=1,500 MW P=0,028 MW Q=0,200 Mvar Q=-0,175 Mvar U11 WT 0,69 kV 3,3 kV u=99,56 % u=99,58 % P=-0,028 MW Q=0,175 Mvar L1 P=0,028 MW U12 Q=-0,170 Mvar 0,69 kV u=96,78 % P=-1,500 MW Q=-0,200 Mvar DC NODE-R 1,15 kV u=115,00 % P=-0,028 MW 3,3 kV Q=0,170 Mvar u=8,09 % DFIG P=-0,114 MW P=0,114 MW P=-0,114 MW P=0,114 MW Q=-0,215 Mvar Q=0,215 Mvar Q=0,000 Mvar Q=0,000 Mvar PWM-G TURBINE PWM-R Rotor Side PWM Grid Side PWM Controller Controller CAP windspeed P=0,000 MW PWM-ROTOR-CTRL PWM-GRID-CTRL Hình 4.20 Phân bố công suất trong hệ thống khi tốc độ gió giảm
  2. 112 Hình 4.23 Đáp ứng công suất của máy phát điện phía rotor và stator khi tốc độ gió giảm Hình 4.24 Diễn biến thay đổi biên độ công suất của bộ biến đổi khi tốc độ gió giảm Hình 4.25 Điện áp trên tụ và trên bộ DC-link khi tốc độ gió giảm
  3. 114 Như vậy, với cả 3 kịch bản đã nêu, kịch bản mất 1 máy biến áp sẽ gây ảnh hưởng nhiều nhất đến chất lượng điện áp của hệ thống, đặc biệt có thể gây quá tải cho tuabin gió, dẫn đến máy phát điện bị nóng nếu thời gian sự cố kéo dài. Nếu phụ tải gia tăng hoặc khi công suất hệ thống giảm, sẽ cần phải tách tuabin gió ra khỏi lưới. Trường hợp tốc độ gió giảm, điện áp tại một số vị trí: đầu cực tuabin, máy biến áp tăng áp bị ảnh hưởng, tuy nhiên mức độ ảnh hưởng là không lớn, do phụ tải vẫn được cung cấp năng lượng từ phía lưới điện. Hơn nữa, với mức giảm xuống 10 m/s, tuabin gió vẫn duy trì trạng thái làm việc tuy rằng công suất phát có bị suy giảm theo đặc tính công suất. Lúc này, vai trò của bộ tham số KP, KI của bộ biến đổi phát huy tác dụng trong việc tối ưu công suất cho tuabin gió, duy trì trạng thái làm việc bám theo dải công suất đặt ban đầu. 4.5 Đặc tính ổn định điện áp Hình 4.28 mô tả đặc tính ổn định điện áp tại nút tải địa phương 22 kV (công suất phụ tải ban đầu 4,5MW+ j2,5MVAr) ở 3 kịch bản đã xét (đường màu xanh thể hiện kịch bản 1, đường màu cam thể hiện kịch bản 2 và đường màu xám thể hiện kịch bản 3). Như vậy có thể thấy, khi tốc độ gió ở mức 13 m/s và 10 m/s thì đặc tính ổn định điện áp nút tải địa phương có sự sai khác không lớn (gần như trùng nhau), nghĩa là mức giảm công suất phát của điện gió khi tốc độ gió thay đổi không làm ảnh hưởng nhiều đến ổn định điện áp tải địa phương, với mức dự trữ ổn định điện áp chỉ là 2% (mặc dù phân bố công suất và chất lượng điện áp ở chế độ xác lập có sự thay đổi). Đặc tính PV chỉ thể hiện khác biệt trong kịch bản 2, chất lượng điện áp giảm nhanh khi tăng công suất phụ tải địa phương, tuy nhiên trong trường hợp này, nó lại có mức dự trữ ổn định điện áp 3,7% và mất ổn định điện áp tại 0,95pu. Hình 4.29 biểu diễn đặc tính PV tại nút kết nối nguồn điện gió, đồ thị này thể hiện rõ nhất sự khác biệt về diễn biến ổn định điện áp, bởi đây là nút “yếu hơn” so với nút 22 kV, mỗi sự thay đổi về tốc độ gió hay công suất phụ tải đều dẫn đến sự tăng/giảm điện áp tại đầu cực máy phát DFIG (phía stator). Trong đặc tính PV tại nút này, rõ ràng quá trình mất ổn định điện áp diễn ra nhanh hơn so với nút 22kV khi với cùng một công suất giới hạn. Mức dự trữ ổn định điện áp tại nút kết nối nguồn điện gió trong 3 kịch bản lần lượt là: 1,7%; 3,63% và 1,73%.
  4. 116 160 140 120 100 80 60 40 20 0 -20 0 20 40 60 80 100 120 140 160 -40 -60 Hình 4.30 Đặc tính QV nút 22 kV trong các kịch bản Thực tế, nút kết nối nguồn điện gió trong hệ thống vẫn là nút “yếu” hơn so với nút 22kV, trong trường hợp này, khi nút kết nối nguồn điện gió phải mang tải ở mức 6,8MW sẽ là ngưỡng giới hạn (nhận thêm công suất từ lưới điện), tức khi máy phát quá tải 50% sẽ là giới hạn ổn định điện áp. Điều này cũng gián tiếp nói lên khả năng, vai trò tự điều chỉnh của các tham số điều khiển trong bộ điều khiển PI có khả năng nhất định khi tốc độ gió thay đổi hay sự cố trên lưới điện. Tuy nhiên, nếu hệ thống mất đi một lượng công suất đủ lớn, máy phát sẽ mất ổn định và buộc phải cắt ra khỏi lưới điện. Giải pháp trong trường hợp này là: điều độ lại công suất phụ tải, điều chỉnh đầu phân áp cho MBA trung gian và bù công suất phản kháng tại nút máy điện DFIG. Hình 4.31 trình bày kết quả phân tích trạng thái ổn định của máy điện bằng phân tích giá trị riêng. 0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 -2000 KB1 KB2 KB3 -4000 -6000 -8000 -10000 -12000 Hình 4.31 Phần thực giá trị riêng
  5. 118 KẾT LUẬN VÀ KIẾN NGHỊ Kết luận Luận án đã nghiên cứu giải pháp nâng cao chất lượng điện năng của lưới điện phân phối có kết nối tuabin gió sử dụng máy phát điện không đồng bộ nguồn kép. Những kết quả nghiên cứu chính của Luận án được thể hiện ở các điểm sau đây: 1. Giới thiệu hiện trạng và tiềm năng về năng lượng gió ở thế giới và Việt Nam; giới thiệu tổng quan về nguồn năng lượng gió; tình hình nghiên cứu trong và ngoài nước; phân tích các tồn tại và đề xuất giải pháp khắc phục. 2. Mô tả về mặt toán học một cách chặt chẽ mối quan hệ giữa tham số bộ điều khiển PI với thông số máy phát điện DFIG. Các mô tả này làm tiền đề cho việc xây dựng các cấu trúc điều khiển phía máy phát và phía lưới điện, các đại lượng được kiểm soát độc lập nhau bất kể sai số trong ước lượng tham số. Do đó có thể tách riêng để điều khiển độc lập hoặc kết hợp các bộ điều khiển đề điều khiển tổng thể hệ thống. 3. Xây dựng mô hình cấu trúc máy phát điện không đồng bộ nguồn kép DFIG trong các hệ trục tọa độ tham chiếu: hệ trục tọa độ tĩnh (α-β) và hệ tọa độ dq để làm cơ sở để xây dựng thuật toán điều khiển tối ưu, với mục đích điều khiển độc lập công suất tác dụng và công suất phản kháng với các kênh điều khiển phía rotor và phía lưới. 4. Luận án là công trình khoa học đầu tiên áp dụng thành công thuật toán CRO để tối ưu tham số bộ điều khiển PI trong hệ thống năng lượng gió sử dụng máy phát điện nguồn kép DFIG. Luận án cũng chứng minh được ưu điểm của thuật toán này so với các thuật toán thông minh khác qua các thông tin về: sai số đáp ứng, khả năng bám tín hiệu đặt và chất lượng điều khiển. Kết quả này cũng làm tiền đề cho các ứng dụng trong năng lượng ở một số lĩnh vực khác 5. Luận án cũng đã nghiên cứu mô phỏng hệ thống máy phát điện DFIG nối lưới trong thực tế ở một số kịch bản làm việc điển hình. Qua kết quả mô phỏng nhận thấy các tham số tối ưu của thuật toán CRO đã góp phần khôi phục nhanh máy điện trở về trạng thái làm việc bình thường; công suất phát từ phía rotor máy phát làm việc ổn
  6. 120 DANH MỤC CÁC CÔNG TRÌNH ĐÃ CÔNG BỐ CỦA LUẬN ÁN 1. Bùi Đình Thanh, Nguyễn Công Cường, Nguyễn Văn Đoài, Đỗ Duy Hợp, Trịnh Trọng Chưởng (2016),“ Nghiên cứu các đặc tính quá độ và thiết lập thời gian chỉnh định rơle điện áp thấp cho máy phát điện gió kết nối hệ thống điện”, Tạp chí Công nghiệp Mỏ, số 2, trang 77-82. 2. Cuong Nguyen Cong, Nghia Nguyen Anh, Chuong Trinh Trong, Nghien Nguyen Ba (2019),“Tuning Pi Controller Bases on Chemical Reaction Optimization Algorithm”, American Journal of Electrical and Computer Engineering, Vol 3, No 1, pp. 46-52 3. Cuong Nguyen Cong, Ricardo Rodriguez-Jorge, Nghien Nguyen Ba, Chuong Trinh Trong, Nghia Nguyen Anh (2020), “Design of Optimal PI Controllers Using the Chemical Reaction Optimization Algorithm for Indirect Power Control of a DFIG Model with MPPT”, Workshops of the International Conference on Advanced Information Networking and Applications. Springer: pp. 1250-1260. 4. Nguyen Cong Cuong, Trinh Trong Chuong, Nguyen Anh Nghia (2021), “Methods of determination of PI controller parameter for wind generator”, National Conference on Mechanical, Electrical, Automation Engineering (MEAE – 2021):pp. 78-87. 5. Nguyễn Công Cường, Nguyễn Bá Nghiễn, Phạm Thị Bích Huệ, Trịnh Trọng Chưởng (2022), “Xác định tham số điều khiển cho bộ biến đổi của máy điện không đồng bộ nguồn kép trong điều kiện vận tốc gió biến thiên”, Tạp chí Khoa học và Công nghệ, trường Đại học Công nghiệp Hà Nội, Số 11/2022/GCN-TCKHCN.
  7. 122 phát điện chạy sức gió. in The 6th Vietnam Conference on Automation (6th VICA). 2005. Việt Nam. 12. Cao Xuân Tuyển and N.P. Quang., Kết quả thực nghiệm điều khiển máy điện không đồng bộ nguồn kép trong hệ thống phát điện chạy sức gió áp dụng phương pháp thiết kế phi tuyến backstepping. Tự động hóa ngày nay, 2006: p. 3-12. 13. Đặng Danh Hoằng, N.P.Q., Điều khiển phi tuyến hệ thống phát điện chạy sức gió sử dụng máy phát không đồng bộ nguồn kép trên cơ sở hệ thụ động Euler - Lagrange và Hamilton. Tạp chí tin học và điều khiển, 2012. 1(28): p. 9-19. 14. Trần Xuân Minh, Đ.D.H., Điều khiển bám lưới hệ thống phát điện sức gió sử dụng máy phát không đồng bộ nguồn kép bằng phương pháp điều khiển tựa theo thụ động. Tạp chí Khoa học & Công nghệ các trường đại học kỹ thuật, 2013. số 97: p. 8-14. 15. Trương Công Hùng, Nghiên cứu phương pháp điều chỉnh ổn định điện áp ra của trạm phát điện chạy sức gió thuộc đề tài KC06.20.CN. 2005: Trường Đại học Bách Khoa Hà Nội. 16. Tuyển, C.X. and N.P. Quang, Vấn đề khử sai lệch tĩnh và các kết quả thực nghiệm về áp dụng các thuật toán phi tuyến trên cơ sở kỹ thuật Backstepping điều khiển máy điện dị bộ nguồn kép trong hệ thống phát điện chạy sức gió. Tạp chí Khoa học và Công nghệ các trường đại học, 2007. 59: p. 39-44. 17. Tuyển, C.X. and N.P. Quang, Điều khiển máy điện dị bộ nguồn kép trong hệ thống phát điện chạy sức gió với bộ điều khiển dòng thích nghi bền vững trên cơ sở kỹ thuật Backstepping. Tạp chí Khoa học và Công nghệ - Đại học Thái Nguyên, 2007. 1(3): p. 115-120. 18. Nguyễn Xuân Tùng, Trịnh Trọng Chưởng, Ảnh hưởng của sự suy giảm điện áp tới quá trình quá độ của máy phát điện gió và các giá trị chỉnh định áp dụng cho hệ thống bảo vệ kém áp, Tạp chí khoa học và công nghệ các trường Đại học kỹ thuật, Số 62/2007.
  8. 124 28. Hyong Sik Kim and Dylan Dah-Chuan Lu, “Wind Energy Conversion System from Electrical Perspective - A Survey,” Smart Grid and Renewable Energy, vol. 1, no. 3, pp.119-131, Nov. 2010. 29. Pokharel, B., Modeling, control and analysis of a doubly fed induction generator based wind turbine system with voltage regulation. 2011: Tennessee Technological University. 30. Hernández, C.V., T. Telsnig, and A.V. Pradas, JRC wind energy status report 2016 edition. Market, Technology and Regulatory Aspects of Wind Energy, 2017. 31. Zheng, X., et al. Sliding mode MPPT control of variable speed wind power system. in 2009 Asia-Pacific Power and Energy Engineering Conference. 2009. IEEE, pp: 1-4 32. Abdin, E.S. and W. Xu, Control design and dynamic performance analysis of a wind turbine-induction generator unit. IEEE Transactions on energy conversion, 2000. 15(1): p. 91-96. 33. Michalke, G., Variable speed wind turbines-modelling, control, and impact on power systems. 2008, Technische Universität. 34. Morren, J. and S.W. De Haan, Ridethrough of wind turbines with doubly-fed induction generator during a voltage dip. IEEE Transactions on energy conversion, 2005. 20(2): p. 435-441. 35. Pena, R., J. Clare, and G. Asher, Doubly fed induction generator using back- to-back PWM converters and its application to variable-speed wind-energy generation. IEE Proceedings-Electric power applications, 1996. 143(3): p. 231-241. 36. Tapia, A., et al., Modeling and control of a wind turbine driven doubly fed induction generator. IEEE Transactions on energy conversion, 2003. 18(2): p. 194-204.
  9. 126 45. Behera, S., B. Subudhi, and B.B. Pati, Design of PI controller in pitch control of wind turbine: A comparison of PSO and PS algorithm. International Journal of Renewable Energy Research (IJRER), 2016. 6(1): p. 271-281. 46. Sitharthan, R. and M. Geethanjali, An adaptive Elman neural network with C- PSO learning algorithm based pitch angle controller for DFIG based WECS. Journal of Vibration and Control, 2017. 23(5): p. 716-730. 47. Nagaria, D., G. Pillai, and H. Gupta, A particle swarm optimization approach for controller design in WECS equipped with DFIG. Journal of Electrical Systems, 2010. 6(2): p. 2-17. 48. Qiao, W., G.K. Venayagamoorthy, and R.G. Harley. Design of optimal PI controllers for doubly fed induction generators driven by wind turbines using particle swarm optimization. in The 2006 IEEE International Joint Conference on Neural Network Proceedings. 2006. IEEE. 49. Tang, Y., et al., Optimized control of DFIG-based wind generation using sensitivity analysis and particle swarm optimization. IEEE Transactions on Smart Grid, 2013. 4(1): p. 509-520. 50. Albatran, S., M.I. Alomoush, and A.M. Koran, Gravitational-search algorithm for optimal controllers design of doubly-fed induction generator. International Journal of Electrical and Computer Engineering, 2018. 8(2): p. 780. 51. Optimizer, W., Optimal Tuning of PI Controllers for Doubly-Fed Induction Generator-Based Wind Energy Conversion System using Grey. Journal of Engineering Research and Applications, 2015. 5(11): p. 81-87. 52. Barbade, S.A. and P. Kasliwal, Neural network based control of Doubly Fed Induction Generator in wind power generation. International Journal of Advancements in Research & Technology, 2012. 1(2): p. 83-88. 53. Wu, F., et al., Small signal stability analysis and optimal control of a wind turbine with doubly fed induction generator. IET Generation, Transmission & Distribution, 2007. 1(5): p. 751-760.
  10. 128 65. Solihin, M.I., L.F. Tack, and M.L. Kean. Tuning of PID controller using particle swarm optimization (PSO). in Proceeding of the International Conference on Advanced Science, Engineering and Information Technology. 2011. 66. Holland, J., Adaptation in natural and artificial systems. MIL University of Michigan Press. Ann Arbor, 1975. 67. Zeng, N., et al., A novel switching delayed PSO algorithm for estimating unknown parameters of lateral flow immunoassay. Cognitive Computation, 2016. 8(2): p. 143-152. 68. Eiben, A.E. and J.E. Smith, Introduction to evolutionary computing. Vol. 53. 2003: Springer. 69. Wu, Z., W. Pang, and G.M. Coghill, An integrated qualitative and quantitative biochemical model learning framework using evolutionary strategy and simulated annealing. Cognitive computation, 2015. 7(6): p. 637-651. 70. Siddique, N. and H. Adeli, Simulated annealing, its variants and engineering applications. International Journal on Artificial Intelligence Tools, 2016. 25(06): p. 1630001. 71. Siddique, N. and H. Adeli, Gravitational search algorithm and its variants. International Journal of Pattern Recognition and Artificial Intelligence, 2016. 30(08): p. 1639001. 72. Siddique, N. and H. Adeli, Harmony search algorithm and its variants. International Journal of Pattern Recognition and Artificial Intelligence, 2015. 29(08): p. 1539001. 73. Lam, A.Y. and V.O. Li, Chemical reaction optimization: a tutorial. Memetic Computing, 2012. 4(1): p. 3-17. 74. Sun, Y., et al. Chemical reaction optimization for the optimal power flow problem. in 2012 IEEE Congress on Evolutionary Computation. 2012. IEEE. 75. Ni, L., P. ManMan, and L. KenLi, Chemical Reaction Algorithm for Expectation Maximization Clustering. International Journal of Computer and Information Engineering, 2016. 10(11): p. 1983-1987.
  11. 130 PHỤ LỤC Code CRO import numpy as np import random as rd import matplotlib.pyplot as plt from scipy.integrate import odeint #define model def machine_model(v,t,urd,urq): #v vector value of process #t vector time at k at k+1 #u vector controler value ird = v[0] irq = v[1] Urd = urd Urq = urq #delta = 1-(M^2/Ls*Lr) where M = 0.15H, Ls = 0.1554H, Lr = 0.1568H M = 0.15 delta = 1 - (0.15*0.15)/(0.1554*0.1568) Lr = 0.1568 Ls = 0.1554 #g = (ws-w)/ws where ws and w is stator and rotor d-q reference axes speed g = -0.015 Rr = 1.8 ws = 314 w = 310.86 phis = 0.01 #Vs = ws*phis Vs = 220 dirddt = Urd/(delta*Lr) + g*ws/Lr*irq - Rr/(delta*Lr)*ird dirqdt = Urq/(delta*Lr) - g*M/Ls*Vs/(delta*Lr)- g*ws*ird - Rr/(delta*Lr)*irq vdot = np.zeros(2) vdot[0] = dirddt
  12. 132 sp1[0:] = Vs/M/314; #pv[0] = -Ls/(M*Vs)*Ps v0 = np.empty(2) v0[0] = pv1[0] v0[1] = pv[0] itae = 0 op_hi =100 op_lo = -100 for i in range(len(t)-1): delta_t = t[i+1]-t[i] e[i] = sp[i] - pv[i] itae = itae + t[i]*abs(e[i]) e1[i] = sp1[i] - pv1[i] if i>=1:#calcualte for second cycle ie[i] = ie[i-1] + delta_t*e[i] ie1[i] = ie1[i-1] + delta_t*e1[i] P[i] = Kp*e[i] I[i] = Ki*ie[i] P1[i] = Kp*e1[i] I1[i] = Ki*ie1[i] op[i] = op[0]+P[i]+I[i] op1[i] = op1[0]+P1[i]+I1[i] if op[i]>op_hi: op[i] = op_hi ie[i] = ie[i] - e[i]*delta_t if op[i] op_hi: op1[i] = op_hi ie1[i] = ie1[i] - e1[i]*delta_t if op1[i]<op_lo: op1[i] = op_lo ie1[i] = ie1[i] - e1[i]*delta_t ts = [t[i],t[i+1]]
  13. 134 plt.plot(t,pv,'b ',linewidth=1,label='process value') plt.ylabel('Irq') plt.xlabel('Time') plt.legend(['setpoint','process'],loc='best') plt.subplot(3,1,3) plt.plot(t,op,'r ',linewidth=1) plt.ylabel('controller Urq') plt.xlabel('Time') plt.legend(['controller'],loc='best') plt.show() plt.figure(2) plt.subplot(3,1,1) plt.plot(t,e1,'b ',linewidth=1) plt.ylabel('Error') plt.xlabel('Time') plt.legend(['error'],loc='best') plt.subplot(3,1,2) plt.plot(t,sp1,'r ',linewidth=1,label='set point') plt.plot(t,pv1,'b ',linewidth=1,label='process value') plt.ylabel('Ird') plt.xlabel('Time') plt.legend(['setpoint','process'],loc='best') plt.subplot(3,1,3) plt.plot(t,op,'r ',linewidth=1) plt.ylabel('controller Urd') plt.xlabel('Time') plt.legend(['controller'],loc='best') plt.show() plt.figure(2) plt.subplot(2,1,1) plt.plot(t,ap,'b ',linewidth=1) plt.ylabel('Active power') plt.xlabel('Time') plt.legend(['Active power'],loc='best') plt.subplot(2,1,2)
  14. 136 sp[300:600] = -Ls/(M*Vs)*Ps Ps = 3250 sp[600:] = -Ls/(M*Vs)*Ps sp1[0:] = 1.4 #pv[0] = -Ls/(M*Vs)*Ps v0 = np.empty(2) v0[0] = pv1[0] v0[1] = pv[0] iae = 0 op_hi =100 op_lo = -100 for i in range(len(t)-1): delta_t = t[i+1]-t[i] e[i] = sp[i] - pv[i] iae = iae + abs(e[i]) e1[i] = sp1[i] - pv1[i] if i>=1:#calcualte for second cycle ie[i] = ie[i-1] + delta_t*e[i] ie1[i] = ie1[i-1] + delta_t*e1[i] P[i] = Kp*e[i] I[i] = Ki*ie[i] P1[i] = Kp*e1[i] I1[i] = Ki*ie1[i] op[i] = op[0]+P[i]+I[i] op1[i] = op1[0]+P1[i]+I1[i] if op[i]>op_hi: op[i] = op_hi ie[i] = ie[i] - e[i]*delta_t if op[i] op_hi: op1[i] = op_hi ie1[i] = ie1[i] - e1[i]*delta_t if op1[i]<op_lo:
  15. 138 plt.xlabel('Time') plt.legend(['controller'],loc='best') plt.subplot(5,1,4) plt.plot(t,op1,'r ',linewidth=1) plt.ylabel('controller Urd') plt.xlabel('Time') plt.legend(['controller'],loc='best') plt.subplot(5,1,5) plt.plot(t,sp1,'r ',linewidth=1,label='set point') plt.plot(t,pv1,'b ',linewidth=1,label='process value') plt.ylabel('Ird') plt.xlabel('Time') plt.legend(['setpoint','process'],loc='best') plt.show() return iae def pi_controller_ise(Kp,Ki,draw): Ls = 0.1554 Ps = 1200 M = 0.15 Vs = 220 phis = 0.7 t = np.linspace(0,9,901) u_ss = Ls/(M*Vs)*Ps + 2.0 u_ss1 = phis/M + 2.0 # storage for recording values op = np.ones(len(t))*u_ss # controller output op1 = np.ones(len(t))*u_ss1 # controller output pv = np.zeros(len(t)) # process variable rp[i+1] = 220*220/(314*0.1554)-220*0.15/0.1554*pv1[i+1] v0[0] = pv1[i+1] v0[1] = pv[i+1] #print(v0) e[len(t)-1] = e[len(t)-2] sp[len(t)-1] = sp[len(t)-2]
  16. 140 Anpha = 500 Beta = 10 Buffer = 0 PopGen = 100 MinGold = 1100 lo = 0 hi = 100 #create initila population for x in range(1,PopSize+1): omega = [[rd.uniform(lo,hi),rd.uniform(lo,hi)]] print(omega) pe = pi_controller(omega[0][0],omega[0][1],0) while pe<0: omega = [[rd.uniform(lo,hi),rd.uniform(lo,hi)]] pe = pi_controller(omega[0][0],omega[0][1],0) print(omega) ke = InitialKe numHit = 0 minPe = pe minStruct = omega minHit = 0 mol1 = Molecule(omega,pe,ke,numHit,minPe,minStruct,minHit,lo,hi) print(mol1.lo) pop.append(mol1) #find best mole in initial population def findBestMole(pop): min = pop[0].minPe; min_mole = pop[0]; for x in range(1,len(pop)): if pop[x].minPe<min: min = pop[x].minPe min_mole = pop[x] return min_mole